Countdown to Zero Day Stuxnet and the launch of the world's first digital weapon

Kim Zetter

Book - 2014

"This story of the virus that destroyed Iran's nuclear centrifuges, by top cybersecurity journalist Kim Zetter, shows that the door has been opened on a new age of warfare--one in which a digital attack can have the same destructive capability as a megaton bomb dropped from an airplane"--

Saved in:

2nd Floor Show me where

355.02/Zetter
1 / 1 copies available
Location Call Number   Status
2nd Floor 355.02/Zetter Checked In
  • Prologue: The Case of the Centrifuges
  • 1. Early Warning
  • 2. 500 Kilobytes of Mystery
  • 3. Natanz
  • 4. Stuxnet Deconstructed
  • 5. Springtime for Ahmadinejad
  • 6. Digging for Zero Days
  • 7. Zero-Day Paydays
  • 8. The Payload
  • 9. Industrial Controls Out of Control
  • 10. Precision Weapon
  • 11. A Digital Plot Is Hatched
  • 12. A New Fighting Domain
  • 13. Digital Warheads
  • 14. Son of Stuxnet
  • 15. Flame
  • 16. Olympic Games
  • 17. The Mystery of the Centrifuges
  • 18. Qualified Success
  • 19. Digital Pandora
  • Acknowledgments
  • Index
Review by Library Journal Review

"Zero Day" refers to a threat or attack upon a computer system during which programmers have no time to detect it or protect the system. Stuxnet is the virus that attacked the centrifuges at Iran's uranium enrichment facilities in 2009. Zetter, a reporter for Wired with wide interests in civil liberties, privacy, and security, describes how the digital warhead causes equipment to be physically-as opposed to technologically-damaged by manipulating its operating system. The author provides background information on how this virus was supposedly developed by the United States to disrupt Iran's nuclear weapons program. Lots of technical terms abound, but the book is written so that general readers can understand what is going on. It doesn't include a bibliography, photos, or charts, but the many footnotes reference personal interviews, news and research articles, official documents, and specialized news websites. VERDICT Read this not only for the purported history but also to understand the very real threat to the complicated yet vulnerable and delicate infrastructure that is the basis of interconnected modern society.-Daniel Blewett, Coll. of DuPage Lib., Glen Ellyn, IL (c) Copyright 2014. Library Journals LLC, a wholly owned subsidiary of Media Source, Inc. No redistribution permitted.

(c) Copyright Library Journals LLC, a wholly owned subsidiary of Media Source, Inc. No redistribution permitted.
Review by Kirkus Book Review

Iran's nuclear program spills out into the world's computers in this true techno-whodunit by Wired senior reporter Zetter.In the weird world of atomic policing, international agencies have only limited access to information under the best of circumstancesand still more limited when the regime is secretive. When Iran began to replace components at an unusually fast pace a few years ago, inspectors noticed. They had no way of knowing why, and the Iranians weren't talking, but the cause was devilish: "Months earliersomeone had quietly unleashed a destructive digital warhead on computers in Iranto sabotage Iran's uranium enrichment program and prevent President Mahmoud Ahmadinejad from building a nuclear bomb." That "someone" is the object of Zetter's quest, and it would spoil her fun to tell who it turned out to be. Suffice it to say that, as she notes, there's a whole Pandora's box effect to the business of digital warfare and that once the identity of the aggressor was established, it became difficult for that party to cry out in moral aggrievement when other parties began to unleash similar warheads. Zetter writes lucidly about mind-numbingly technical matters, reveling in the geekery of malware and espionage, and she takes the narrative down some dark electronic corridors, as when she describes the deployment of a hidden Trojan horse designed to harvest transactional information specifically from Lebanese banks suspected of being involved in laundering Iranian funds. Readers don't have to know steganography from a stegosaurus to follow the discussion, though some programming background is surely of help in following some of the more arcane details. Governments, hackers and parties unknown are launching ticking computer time bombs every day, all coming to a laptop near you. Zetter's well-paced study offers a sharp account of past mischief and a glimpse of things to come. Copyright Kirkus Reviews, used with permission.

Copyright (c) Kirkus Reviews, used with permission.

CHAPTER 1 EARLY WARNING Sergey Ulasen is not the sort of person you'd expect to find at the center of an international incident. The thirty-one-year-old Belarusian has close-cropped blond hair, a lean boyish frame, and the open face and affable demeanor of someone who goes through life attracting few enemies and even fewer controversies. One of his favorite pastimes is spending the weekend at his grandmother's country house outside Minsk, where he decompresses from weekday stresses, far from the reach of cell phones and the internet. But in June 2010, Ulasen encountered something unusual that soon propelled him into the international spotlight and into a world of new stress.1 It was a warm Thursday afternoon, and Ulasen, who headed the antivirus division of a small computer security firm in Belarus called Virus-BlokAda, was seated with his colleague Oleg Kupreev in their lab in downtown Minsk inside a drab, Soviet-era building about a block from the Svisloch River. They were sifting methodically through suspicious computer files they had recently found on a machine in Iran when something striking leapt out at Kupreev. He sat back in his chair and called Ulasen over to take a look. Ulasen scrolled through the code once, then again, to make sure he was seeing what he thought he saw. A tiny gasp escaped his throat. The code they had been inspecting the past few days, something they had until now considered a mildly interesting but nonetheless run-of-the-mill virus, had just revealed itself to be a work of quiet and diabolical genius. Not only was it using a skillful rootkit to cloak itself and make it invisible to antivirus engines, it was using a shrewd zero-day exploit to propagate from machine to machine--an exploit that attacked a function so fundamental to the Windows operating system, it put millions of computers at risk of infection. Exploits are attack code that hackers use to install viruses and other malicious tools onto machines. They take advantage of security vulnerabilities in browser software like Internet Explorer or applications like Adobe PDF Reader to slip a virus or Trojan horse onto a system, like a burglar using a crowbar to pry open a window and break into a house. If a victim visits a malicious website where the exploit lurks or clicks on a malicious e‑mail attachment containing an exploit, the exploit uses the security hole in the software to drop a malicious file onto their system. When software makers learn about such holes in their products, they generally produce "patches" to close them up and seal the intruders out, while antivirus firms like Ulasen's add signatures to their scanners to detect any exploits that try to attack the vulnerabilities. Zero-day exploits, however, aren't ordinary exploits but are the hacking world's most prized possession because they attack holes that are still unknown to the software maker and to the antivirus vendors--which means there are no antivirus signatures yet to detect the exploits and no patches available to fix the holes they attack. But zero-day exploits are rarely found in the wild. It takes time and skill for hackers to discover new holes and write workable exploits to attack them, so the vast majority of hackers simply rely on old vulnerabilities and exploits to spread their malware, counting on the fact that most computer users don't often patch their machines or have up-to-date antivirus software installed, and that it can take vendors weeks or months to produce a patch for a known hole. Although more than 12 million viruses and other malicious files are captured each year, only about a dozen or so zero-days are found among them. Yet here the attackers were using an extremely valuable zero-day exploit, and a skillful rootkit, for a virus that, as far as Ulasen and Kupreev could tell, had only been found on machines in Iran so far. Something didn't add up. THE MYSTERY FILES had come to their attention a week earlier when a reseller of VirusBlokAda's security software in Iran reported a persistent problem with a customer's machine in that country. The computer was caught in a reboot loop, crashing and rebooting repeatedly while defying the efforts of technicians to control it.2 VirusBlokAda's tech-support team had scanned the system remotely from Minsk to look for any malware their antivirus software might have missed, but came up with nothing. That's when they called in Ulasen. Ulasen had been hired by the antivirus firm while still in college. He was hired to be a programmer, but the staff at VirusBlokAda was so small, and Ulasen's skills so keen, that within three years, at the age of twenty-six, he found himself leading the team that developed and maintained its antivirus engine. He also occasionally worked with the research team that deconstructed malicious threats. This was his favorite part of the job, though it was something he rarely got to do. So when the tech-support team asked him to weigh in on their mystery from Iran, he was happy to help.3 Ulasen assumed the problem must be a misconfiguration of software or an incompatibility between an application installed on the machine and the operating system. But then he learned it wasn't just one machine in Iran that was crashing but multiple machines, including ones that administrators had wiped clean and rebuilt with a fresh installation of the operating system. So he suspected the culprit might be a worm lurking on the victim's network, reinfecting scrubbed machines each time they were cleaned. He also suspected a rootkit was hiding the intruder from their antivirus engine. Ulasen had written anti-rootkit tools for his company in the past, so he was confident he'd be able to hunt this one down if it was there. After getting permission to connect to one of the machines in Iran and remotely examine it, Ulasen and Kupreev zeroed in on six suspicious files--two modules and four other files--they thought were the source of the problem.4 Then with help from several colleagues in their lab, they spent the next several days picking at the files in fits and starts, hurling curses at times as they struggled to decipher what turned out to be surprisingly sophisticated code. As employees of a small firm that mostly developed antivirus products for government customers, they weren't accustomed to taking on such complex challenges: they spent most of their days providing routine tech support to customers, not analyzing malicious threats. But they pressed forward nonetheless and eventually determined that one of the modules, a driver, was actually a "kernel-level" rootkit, as Ulasen had suspected.5 Rootkits come in several varieties, but the most difficult to detect are kernel-level rootkits, which burrow deep into the core of a machine to set up shop at the same privileged level where antivirus scanners work. If you think of a computer's structure like the concentric circles of an archer's target, the kernel is the bull's eye, the part of the operating system that makes everything work. Most hackers write rootkits that operate at a machine's outer layers--the user level, where applications run--because this is easier to do. But virus scanners can detect these--so a truly skilled hacker places his rootkit at the kernel level of the machine, where it can subvert the scanner. There, it serves as a kind of wingman for malicious files, running interference against scanners so the malware can do its dirty work unhindered and undetected. Kernel-level rootkits aren't uncommon, but it takes sophisticated knowledge and a deft touch to build one that works well. And this one worked very well.6 Kupreev determined that the rootkit was designed to hide four malicious .LNK files--the four other suspicious files they'd found on the system in Iran. The malware appeared to be using an exploit composed of these malicious files to spread itself via infected USB flash drives, and the rootkit prevented the .LNK files from being seen on the flash drive. That's when Kupreev called Ulasen over to have a look. Exploits that spread malware via USB flash drives aren't as common as those that spread them over the internet through websites and e‑mail attachments, but they aren't unheard of, either. All of the USB exploits the two researchers had seen before, however, used the Autorun feature of the Windows operating system, which allowed malicious programs on a USB flash drive to execute as soon as the drive was inserted in a machine. But this exploit was more clever.7 Windows .LNK files are responsible for rendering the icons for the contents of a USB flash drive or other portable media device when it's plugged into a PC. Insert a USB flash drive into a PC, and Windows Explorer or a similar tool automatically scans it for .LNK files to display the icon for a music file, Word document, or program stored on the flash drive.8 But in this case, the attackers embedded an exploit in a specially crafted .LNK file so that as soon as Windows Explorer scanned the file, it triggered the exploit to spring into action to surreptitiously deposit the USB's malicious cargo onto the machine, like a military transport plane dropping camouflaged paratroopers onto enemy territory. The .LNK exploit attacked such a fundamental feature of the Windows system that Ulasen wondered why no one had thought of it before. It was much worse than Autorun exploits, because those could be easily thwarted by disabling the Autorun feature on machines--a step many network administrators take as a matter of course because of Autorun's known security risk. But there is no way to easily disable the .LNK function without causing other problems for users. Ulasen searched a registry of exploits for any others that had used .LNK files in the past, but came up with nothing. That was when he suspected he was looking at a zero-day. He took a USB flash drive infected with the malicious files and plugged it into a test machine running Windows 7, the newest version of the Microsoft operating system. The machine was fully patched with all the latest security updates. If the .LNK exploit was already known to Microsoft, patches on the system would prevent it from dropping the malicious files onto the machine. But if the .LNK exploit was a zero-day, nothing would stop it. He waited a few minutes to examine the computer and, sure enough, the malicious files were there. He couldn't believe it. VirusBlokAda, a tiny security firm that few in the world had ever heard of, had just discovered that rarest of trophies for a virus hunter. But this wasn't just any zero-day exploit; it was one that worked against every version of the Windows operating system released since Windows 2000: the attackers had bundled four versions of their exploit together--in four different .LNK files--to make sure their attack worked against every version of Windows it was likely to encounter.9 Ulasen tried to wrap his head around the number of machines that were at risk of infection from this. But then something equally troubling struck him. The malicious driver module, and another driver module that got dropped onto targeted machines as part of the malicious cargo, had installed themselves seamlessly on their test machine, without any warning notice popping up on-screen to indicate they were doing so. Windows 7 had a security feature that was supposed to tell users if an unsigned driver, or one signed with an untrusted certificate, was trying to install itself on their machine. But these two drivers had loaded with no problem. That was because, Ulasen realized with alarm, they were signed with what appeared to be a legitimate digital certificate from a company called RealTek Semiconductor.10 Digital certificates are trusted security documents, like digital passports, that software makers use to sign their programs to authenticate them as legitimate products of their company. Microsoft digitally signs its programs and software updates, as do antivirus firms. Computers assume that a file signed with a legitimate digital certificate is trustworthy. But if attackers steal a Microsoft certificate and the private cryptographic "key" that Microsoft uses with the certificate to sign its files, they can fool a computer into thinking their malicious code is Microsoft code. Attackers had used digital certificates to sign malicious files before. But they had used fake, self-signed certificates masquerading as legitimate ones, or had obtained real certificates through fraudulent means, such as creating a shell company to trick a certificate authority into issuing them a certificate under the shell company's name.11 In both scenarios, attackers ran the risk that machines would view their certificate as suspicious and reject their file. In this case, the attackers had used a valid certificate from RealTek--a trusted hardware maker in Taiwan--to fool computers into thinking the drivers were legitimate RealTek drivers. It was a tactic Ulasen had never seen before and it raised a lot of questions about how the attackers had pulled it off. One possibility was that they had hijacked the computer of a RealTek software developer and used his machine and credentials to get their code secretly signed.12 But it was also possible the attackers had simply stolen the signing key and certificate, or cert. For security reasons, smart companies store their certs and keys on offline servers or in hardware security modules that offered extra protection. But not everyone did this, and there were possible clues to suggest that RealTek's cert had indeed been nabbed. A timestamp on the certificates showed that both of the drivers had been signed on January 25, 2010. Although one of the drivers had been compiled a year earlier on January 1, 2009, the other one was compiled just six minutes before it was signed. The rapid signing suggested the attackers might have had the RealTek key and cert in their possession. There was something notable about the compilation date of this driver, however. When hackers ran their source code through a compiler to translate it into the binary code that a machine could read, the compiler often placed a timestamp in the binary file. Though attackers could manipulate the timestamp to throw researchers off, this one appeared to be legitimate. It indicated that the driver had been compiled on July 14, two days after VirusBlokAda had gone public with news of Stuxnet. The implications were disturbing. The use of a legitimate digital certificate to authenticate malicious files undermined the trustworthiness of the computer world's signing architecture and called into question the legitimacy of any file signed with digital certificates thereafter. It was only a matter of time before other attackers copied the tactic and began stealing certificates as well.13 Ulasen needed to get the word out. Responsible disclosure dictated that researchers who find vulnerabilities in software notify the relevant vendors before going public with the news to give the vendors time to patch the holes, so Ulasen dashed off e‑mails to both RealTek and Microsoft, notifying them of what his team had found. But after two weeks passed with no response from either company, Ulasen and Kupreev decided they couldn't keep quiet.14 The rest of the security community needed to know about the .LNK exploit. They had already added signatures to VirusBlokAda's antivirus engine to detect the malicious files and were seeing infections pop up on machines all over the Middle East and beyond. The worm/virus was on the run and spreading quickly. They had to go public with the news.15 1 Ulasen and his team encountered the malware the week of June 24, 2010. 2 Ulasen has never disclosed the name of the reseller, but a link on VirusBlokAda's website for its distributor in Iran points to vba32-ir.com, a site owned by the Deep Golden Recovery Corporation, a data-recovery firm in Iran. 3 Information about VirusBlokAda's encounter with the malware comes from interviews with Sergey Ulasen and Oleg Kupreev, as well as from an account published by Kaspersky Lab in 2011, after the Russian antivirus firm hired Ulasen away from VirusBlokAda. That interview, "The Man Who Found Stuxnet--Sergey Ulasen in the Spotlight," was published November 2, 2011, at eugene.kaspersky.com/2011/11/02/the-man-who-found-stuxnet-sergey-ulasen-in-the-spotlight. 4 A module is a stand-alone component. It is often interchangeable and can be used with various programs. 5 Drivers are software programs that are used as interfaces between a device and a computer to make the device work with the machine. For example, a driver is required to allow a computer to communicate with a printer or digital camera that is connected to it--different drivers are available for different operating systems so that the same device will work with any computer. In this case the drivers were actually rootkits designed to install and conceal malicious files on the machine. 6 The reboot problem didn't occur on other machines later found to be infected by the malware. So some researchers suspect the problem may have been an incompatibility between one of the malware's drivers and VirusBlokAda's antivirus software. The malware used the driver to install itself, and researchers at Kaspersky Lab in Russia suspected that when the driver injected the malware's main file into the memory of the machines in Iran, this caused some machines to crash. Researchers at Kaspersky Lab later tried to reproduce the problem but got inconsistent results--sometimes a machine crashed, sometimes it didn't. The irony is that the attackers had put a lot of effort into testing their malware against antivirus scanners from Kaspersky, Symantec, McAfee, and others, precisely to make sure their code wouldn't be detected by the scanners or crash machines. But they apparently hadn't tested it against VirusBlokAda's scanning software. So if VBA's scanner was the problem, it meant this tiny Belarusian firm had been their undoing in more ways than one. 7 Autorun is a convenience feature in Windows that allows programs on a USB flash drive, CD-ROM, or DVD, to automatically launch when the devices are inserted into a computer. It's a known security risk, however, because any malicious program on the device will automatically launch as well. 8 If Autorun is disabled for security reasons, the malicious code on the flash drive that exploits this feature will not be able to launch automatically but will only launch if users specifically click on the file to open it. 9 The exploit worked against seven versions of Windows: Windows 2000, WinXP, Windows 2003, Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2. 10 With Windows Vista and Windows 7, a driver that isn't signed with a trusted digital certificate that Microsoft recognizes will have trouble installing on the machine. On 32-bit Windows machines that have Vista or Windows 7 installed, a warning will display, telling the user the file is not signed or is not signed with a trusted certificate, forcing the user to make a decision about whether to let it install. On 64-bit Windows machines using either operating system, a file not signed with a trusted certificate simply won't install at all. The malware VirusBlokAda found only worked on 32-bit Windows machines. 11 Certificate authorities dole out the signing certificates that companies use to sign their code and websites. The CAs are supposed to verify that an entity requesting a certificate has the authority to do so--to prevent someone other than Microsoft from obtaining a code-signing certificate in Microsoft's name, for example--and to ensure that if someone applies for a signing certificate for a company they claim is theirs, it's a real company producing real code. Some certificate authorities don't do due diligence, however, and certificates are sometimes issued to malicious actors. There are also companies that, for a fee, will use their key and certificate to sign code for others. Hackers have used these companies in the past to sign their malware. 12 In September 2012, this is exactly what happened to Adobe. The software giant, which distributes the popular Adobe Reader and Flash Player programs, announced that attackers had breached its code-signing server to sign two malicious files with an Adobe certificate. Adobe stored its private signing keys in a device called a hardware security module, which should have prevented the attackers from accessing the keys to sign their malicious files. But they compromised a build server--a server used for developing software--which had the ability to interact with the code-signing system and get it to sign their files. 13 Ironically, on July 12, 2010, the day Ulasen went public with news about the malware, a researcher with the Finnish security firm F-Secure published a conference presentation about digital certificates, stating that, as of then, malware using stolen certificates had yet to be discovered. He noted, however, that this would inevitably happen now that new versions of Windows treated unsigned drivers with suspicion, pushing hackers to steal legitimate certificates to sign their malware. (See Jarno Niemela, "It's Signed, Therefore It's Clean, Right?" presented at the CARO conference in Helsinki, Finland; available at f‑secure.com/weblog/archives/Jarno_Niemela_its_signed.pdf.) Indeed, not long after VirusBlokAda's discovery of the RealTek certificate, other hackers were already attempting to use the same tactic. In September 2010, antivirus firms discovered Infostealer.Nimkey, a Trojan horse specifically designed to steal private key certificates from computers. This was followed over the next two years by a number of malicious programs signed with certificates apparently stolen from various trusted companies. 14 Ulasen contacted Microsoft through a general e‑mail address used for its security team. But Microsoft's security response team receives more than 100,000 e‑mails a year, so it was understandable that an e‑mail sent to its general mailbox from an obscure antivirus firm in Belarus got lost in the queue. 15 The malware, researchers would later discover, was a combination of a worm and virus. The worm portion allowed it to spread autonomously without user action, but once it was on a system, other components infected files, like a virus would, and required user action to spread. Excerpted from Countdown to Zero Day: Stuxnet and the Launch of the World's First Digital Weapon by Kim Zetter All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.