You can tackle this issue a couple of ways. The first is by using a whitelisting vendor that does the work for you. Companies like Lumension and Bit9 come to mind, but that obviously won't work if you're going the do-it-yourself route; however, Bit9 does provide a valuable online resource for identifying files. The Bit9 FileAdvisor search engine allows you to search its database using the file name or hash of the file. Its search engine supports MD5 and SHA1 hashes.
NIST (National Institute of Standards and Technology) publishes a set of CDs containing hashes of known software files called the National Software Reference Library (NSRL). The NSRL is very useful in forensic investigations because it can help investigators sift out known good files that do not need to be analyzed. Similarly, if you're looking to whitelist applications based on the file's hash value, then you can use a tool like md5deep or HashTab to calculate the hash and compare it against the NSRL repository.
The NSRL data has a couple of limitations. The major issue is it does not contain hashes of patched versions of files, so if you're checking a fully patched Windows system, the patched Microsoft binaries won't be in the NSRL. Not all files included in the NSRL are "good." The other issue is the data is a couple of gigs uncompressed. If you don't want to download the entire NSRL CD set and search through them, the SANS Internet Storm Center released an online search that uses the NSRL as one of the data sources.
You can also make your own hash collection based on a "gold" image that you maintain and can ensure hasn't been compromised, containing only the patches you know you've applied. NSRL provides a custom Knoppix Linux boot CD ISO "for collecting metadata, hashing, and storing in NIST NSRL format." Just be ready to update your hashed every month when Adobe, Microsoft, and other vendors release updates...a task that could prove to be quite tedious.
John H. Sawyer is a senior security engineer on the IT Security Team at the University of Florida. The views and opinions expressed in this blog are his own and do not represent the views and opinions of the UF IT Security Team or the University of Florida. When John's not fighting flaming, malware-infested machines or performing autopsies on blitzed boxes, he can usually be found hanging with his family, bouncing a baby on one knee and balancing a laptop on the other. Special to Dark Reading.