informa
Commentary

DIY Whitelisting

I've received several good questions about Microsoft software restriction policies. It's one of those features included in Windows that most people seem to have heard of once, but can't recall where and don't remember what it does. One of the e-mail messages asked about how to know which files are good.
I've received several good questions about Microsoft software restriction policies. It's one of those features included in Windows that most people seem to have heard of once, but can't recall where and don't remember what it does. One of the e-mail messages asked about how to know which files are good.It's a great question -- one that could even be worded to ask, "How do I keep from whitelisting something bad?" The reader who asked the question said he was running into issues with identifying the good applications on his system in order to whitelist them. Microsoft's Autoruns weren't always showing Microsoft files as signed, and the Microsoft site provided very little information about which were known good files and which files were included in every patch cycle.

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.

Recommended Reading: