Google's VirusTotal now picks out suspicious firmware
- 28 January, 2016 15:30
Google's VirusTotal service has added a new tool that analyzes firmware, the low-level code that bridges a computer's hardware and operating system at startup.
Advanced attackers, including the U.S. National Security Agency, have targeted firmware as a place to embed malware since it's a great place to hide.
Since antivirus programs "are not scanning this layer, the compromise can fly under the radar," wrote Francisco Santos, an IT security engineer with VirusTotal, in a blog post on Wednesday.
Also, malware hidden in firmware often can't be easily erased and can survive reboots and fresh installs of an OS, Santos wrote.
VirusTotal's scanning service allows researchers and analysts to upload malware. The service indicates if antivirus products detect a sample of malware and other technical information.
The new tool will label firmware images as either legitimate or suspicious. It can also extract certificates attached to firmware and if there are other executable files inside of it.
Santos wrote that the tool can extract portable executables (PEs) inside firmware since these could sometimes be a source of malicious behavior.
"These executables are extracted and submitted individually to VirusTotal, such that the user can eventually see a report for each one of them and perhaps get a notion of whether there is something fishy in their BIOS image," Santos wrote.
Some portable executables will run on Windows rather than within the firmware. It could be a sign of bad behavior, but on occasion it is legitimate. Santos linked to an example in which a PE prove to be an antitheft feature designed to stay in place even if a computer was wiped.
It will now be possible for people to extract their own firmware and submit it to VirusTotal, which has the potential to create a database of various firmware images that could contribute to research into bad ones.
Santos included tips for extracting a firmware image without revealing sensitive information that may be contained in the code.