More importantly, can you trust that file’s source? Learning to suspect the source and being cautious (see Can You Trust That Web Site) is crucial.
Sometimes you want to confirm the source or authorship of a program, document, spreadsheet, or PDF file. Unfortunately, developers are not required to digitally sign executables (it is recommended, but not enforced). Confirmation of a certificate would help establish trust for a program. Similarly, persons rarely add digital signatures to documents, spreadsheets or PDF files. Again, this would help confirm its source. We don’t get the digital signature mechanism, so we need ways to make informed decisions (educated guesses) about whether programs and other files are trustworthy.
If you’re running anti-virus software, then you already have its opinion. You can be too careful, to point that it interferes with your responsibilities, but it is healthy to be suspicious.
Finding suspicious programs is covered in Simple Malware Discovery Measures.
Send the sample to your anti-virus vendor. They have the analysis procedures and expertise; you don’t. It doesn’t hurt to get a second opinion, though. I use VirusTotal to test a suspicious file against multiple anti-virus vendors. Expect some vendors to report that a file is malicious while others do not; this does not necessarily indicate that some vendors are more effective than others. For example, Sunbelt Software reports that FlashGet is a Trojan horse program because it contains support for the bittorrent protocol. This, like other peer-to-peer file sharing schemes, introduces a remote control mechanism. If you are unaware of this feature it can be used to compromise your system and Sunbelt appropriately warns you.
Alternatives to VirusTotal (test a suspicious files against multiple anti-virus vendors):
VirSCAN Submit suspicious file, up to 20 MB (even password protected ZIP or RAR files)
Anubis Iseclab Anubis is a service for detecting and analyzing web-based malware. It currently handles executable files as uploads and as URLs.
Information Technology Information Sharing and Analysis Center (IT-ISAC) Public section with best practices, news, references and a suspicious file submission vehicle. Private section for organizations
Offensive Computing Submit a suspicious file. Almost, news about real threats that mainstream media doesn’t cover.
ThreatExpert Submit a suspicious file.
UploadMalware Submit up to six suspicious files.
Sandbox utilities, analyze the program’s behavior for signs of maliciousness
InMAS CW-Sandbow Internet Malware Analysis System – submit W32 samples up to 16MB
Norman Sandbox Upload suspicious executable to be run and monitored for suspicious behavior (not just scanned). Archive files will not be unpacked, they are only scanned.
Sunbelt CWSandbox
Special purpose analysis sites
jsunpack jsunpack is a service for detecting and analyzing web-based malware. It currently handles Flash, JavaScript, and PDF files.
wepawet Wepawet is a service for detecting and analyzing web-based malware. It currently handles Flash, JavaScript, and PDF files.
Reverse engineering
Really? You want to spend your time on this? What are you trying to find?
VirSCAN and PEiD can be used to identify which packer, cryptor or compiler was used (if any). Then use an appropriate unpacker:
- Ollydbg with the Ollydump plugin
- IDAPro with the “Universal Unpacker”
- Generic Unpacker Win32 by Christop Gabler
- To be practical, use the latest PEiD and Google for the packer it finds along with the word “unpacker.”
Once unpacked and unencrypted, use strings (from Sysinternals). You may find a URL that the program connects to. When you encounter a suspicious URL, you have learned you cannot trust that file.