Real world example: Stuxnet Worm. Overview Primary target: industrial control systems –Reprogram Industrial Control Systems (ICS) –On Programmable Logic.

Slides:



Advertisements
Similar presentations
By Hiranmayi Pai Neeraj Jain
Advertisements

Operating System Security : David Phillips A Study of Windows Rootkits.
Securing. Agenda  Hard Drive Encryption  User Account Permissions  Root Level Access  Firewall Protection  Malware Protection.
How Stuxnet Spreads: A Study of Infection Paths in Best Practice Systems Joel Langill Chief Security Officer Eric Byres Chief Technology Officer Andrew.
Real world example: Stuxnet Worm. Stuxnet: Overview June 2010: A worm targeting Siemens WinCC industrial control system. Targets high speed variable-frequency.
 Population: N=100,000  Scan rate  = 4000/sec, Initially infected: I 0 =10  Monitored IP space 2 20, Monitoring interval:  = 1 second Infected hosts.
Stuxnet Malware Attribution Mike Albright CS 591 Fall 2010.
Novel Information Attacks From “Carpet Bombings” to “Smart Bombs”
The MS Blaster worm Presented by: Zhi-Wen Ouyang.
Malicious Attacks. Introduction Commonly referred to as: malicious software/ “malware”, computer viruses Designed to enter computers without the owner’s.
Lesson 9-Securing a Network. Overview Identifying threats to the network security. Planning a secure network.
Stuxnet – Getting to the target Liam O Murchu Operations Manager, Symantec Security Response 1 Feb 2011.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing software on personal computer
Slide 1 Vitaly Shmatikov (based on Symantec’s “Stuxnet Dossier”) CS 361S Stuxnet.
STUXNET. Summary What is Stuxnet? Industial Control Systems The target/s of Stuxnet. How Stuxnet spreads. The impact of Stuxnet on PLC’s.
 Discovered in June/July 2010  Targeted Siemens software and equipment running Microsoft Windows  First malware for SCADA systems to spy and subvert.
Advanced Persistent Threats CS461/ECE422 Spring 2012.
How Stuxnet changed the landscape for plant engineers Richard Trout, Director for Client Solutions, Trout I.T.
MSIT 458 – The Chinchillas. Offense Overview Botnet taxonomies need to be updated constantly in order to remain “complete” and are only as good as their.
Stuxnet The first cyber weapon.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Basic Security Networking for Home and Small Businesses – Chapter 8.
By Lance Westberg. How does Stuxnet infect industrial control systems? Stuxnet is a complex piece of malware with many different components and functionalities.
A sophisticated Malware Arpit Singh CPSC 420
By: Sharad Sharma, Somya Verma, and Taranjit Pabla.
Mr. Mark Welton.  The five game changing viruses  Security best practices that deal with the problems.
BY ANDREA ALMEIDA T.E COMP DON BOSCO COLLEGE OF ENGINEERING.
Jonathan Baulch  A worm that spreads via USB drives  Exploits a previously unknown vulnerability in Windows  Trojan backdoor that looks for a specific.
Lecture 14 Overview. Program Flaws Taxonomy of flaws: – how (genesis) – when (time) – where (location) the flaw was introduced into the system 2 CS 450/650.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
A virus is software that spreads from program to program, or from disk to disk, and uses each infected program or disk to make copies of itself. Basically.
MALWARE : STUXNET CPSC 420 : COMPUTER SECURITY PRINCIPLES Somya Verma Sharad Sharma Somya Verma Sharad Sharma.
Lessons from Stuxnet Matthew McNeill. Quick Overview Discovered in July 2011 Sophisticated worm - many zero-day exploits, Siemens programmable logic controller.
VirusesViruses HackingHacking Back upsBack ups Stuxnet Stuxnet.
Recent Internet Viruses & Worms By Doppalapudi Raghu.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
Rootkits What are they? What do they do? Where do they come from?
Malicious Software.
Flame: Modern Warfare Matthew Stratton. What is Flame? How it was found What are its capabilities How it is similar to Stuxnet and Duqu Implications.
Stuxnet.
Lecture 7 Rootkits Hoglund/Butler (Chapter 5-6). Avoiding detection Two ways rootkits can avoid detection –Modify execution path of operating system to.
Battles in Cyber Space Dr Richard E Overill Department of Informatics.
Chapter 6 Discovering the Scope of the Incident Spring Incident Response & Computer Forensics.
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
Page 1 Viruses. Page 2 What Is a Virus A virus is basically a computer program that has been written to perform a specific set of tasks. Unfortunately,
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (2) Utility Software.
By the end of this lesson you will be able to explain: 1. Identify the support categories for reported computer problems 2. Use Remote Assistance to connect.
Information Systems CS-507 Lecture 32. Physical Intrusion The intruder could physically enter an organization to steal information system assets or carry.
NEXT GENERATION ATTACKS & EXPLOIT MITIGATIONS TECHNIQUES ID No: 1071 Name: Karthik GK ID: College: Sathyabama university.
Securing a Host Computer BY STEPHEN GOSNER. Definition of a Host  Host  In networking, a host is any device that has an IP address.  Hosts include.
BY: AUSTIN NEIGH. WHAT IS CYBER WARFARE? Hacking that is politically motivated to conduct sabotage or espionage Form of information warfare Typically.
Antivirus Software Technology By Mitchell Zell. Intro  Computers are vulnerable to attack  Most common type of attack is Malware  Short for malicious.
SemiCorp Inc. Presented by Danu Hunskunatai GGU ID #
History The worm was at first identified by the security company VirusBlokAda in mid-June Journalist Brian Krebs's blog posting on 15 July 2010.
11 DEPLOYING AN UPDATE MANAGEMENT INFRASTRUCTURE Chapter 6.
How a presumably military grade malware sabotaged the Iranian nuclear program W32.Stuxnet Presenter: Dolev Farhi |
Security on the Internet Norman White ©2001. Security What is it? Confidentiality – Can my information be stolen? Integrity – Can it be changed? Availability.
Industrial Control System Cybersecurity
W32.Stuxnet How a presumably military grade malware sabotaged the Iranian nuclear program Presenter: Dolev Farhi |
Stuxnet By Shane Serafin.
How SCADA Systems Work?.
Cybersecurity Case Study STUXNET worm
Chapter 3: Windows7 Part 4.
SPRING DRAGON APT - A CASE STUDY OF TARGETED ATTACKS IN APAC COUNTRIES
Chap 10 Malicious Software.
Propagation, behavior, and countermeasures
Object Oriented Programming and Software Engineering CIS016-2
Chap 10 Malicious Software.
CS-695 Host Forensics Georgios Portokalidis
Presentation transcript:

Real world example: Stuxnet Worm

Overview Primary target: industrial control systems –Reprogram Industrial Control Systems (ICS) –On Programmable Logic Controllers (PLCs) Specific Siemens Simatic (Step 7) PLC Code changes are hidden Vast array of components used: –Zero-day exploits –Windows rootkit –PLC rootkit (first ever) –Antivirus evasion –Peer-to-Peer updates –Signed driver with a valid certificate Command and control interface

History 2009 June: Earliest Stuxnet seen –Does not use MS –Does not have signed drivers 2010 Jan: Stuxnet driver signed –With a valid certificate belonging to Realtek Semiconductors 2010 June: Virusblokada reports W32.Stuxnet –Stuxnet use MS10-46 –Verisign revokes Realtek certificate 2010 July: Eset identify new Stuxnet driver – With a valid certificate belonging to JMicron Technology Corp 2010 July: Siemens report they are investigating malware SCADA systems –Verisign revokes JMicron certificate

History (2) 2010 Aug: Microsoft issues MS –Patches windows shell shortcut vulnerability 2010 Sept: Microsoft issues MS –Patches Printer Spooler Vulnerability 2010 Sept: Iran nuclear plant hit by delay –Warm weather blamed –Measured temperatures were at historical averages 2010 Oct: Iran arrest “spies” –Spies who attempted to sabotage the country's nuclear programme –Russian nuclear nuclear experts flee Iran

Possible Attack Scenario (Conjecture) Industrial control systems (ICS) are operated by a specialized assembly like code on programmable logic controllers (PLCs). The PLCs are programmed typically from Windows computers The ICS are not connected to the Internet ICS usually consider availability and ease of maintenance first and security last ICS usually consider the “airgap” as sufficient security

Scenario (2) Reconnaissance –As each PLC is configured in a unique manner –Targeted ICS’s schematics needed –Possible methods: Design documents may have been stolen by an insider Retrieved by an early version of Stuxnet –Stuxnet could only be developed with the goal of sabotaging a specific set of ICS.

Scenario (2) Development –Mirrored development Environment needed ICS Hardware PLC modules PLC development software –Estimation 6+ man-years by an experienced and well funded development team

Scenario (3) The malicious binaries need to be signed to avoid suspicion –Two digital certificates were compromised –High probability that the digital certificates/keys were physically stolen from the companies premises –Realtek and JMicron are in close proximity

Scenario (4) Initial Infection –Stuxnet needed to be introduced to the targeted environment Insider Willing third party Unwilling third party such as a contractor –Delivery method USB drive Windows Maintenance Laptop

Scenario (5) Infection Spread –Look for Windows computer that program the PLC’s (Called Field PG) The Field PG are typically not network Spread the Infection on computers on the local LAN –Zero-day vulnerabilities –Two-year old vulnerability –Spread to all available USB drives –When a USB drive is connected to the Field PG, the Infection jumps to the Field PG The “airgap” is thus breached

Scenario (6) Target Infection –Look for Specific PLC Running Step 7 Operating System –Change PLC code Sabotage system Hide modifications –Command and Control may not be possible Due to the “airgap” Functionality already embedded

Infection Statistics 29 September 2010, From Symantic Infected Hosts

Infection Statistics 2 Infected Organizations (By WAN IP)

Infection Statistics 3 Geographic Distribution of Infections

Infection Statistics 4 Percentage of Stuxnet infected Hosts with Siemens Software installed

Stuxnet Architecture Organization –Stuxnet consists of a large.dll file –32 Exports (Function goals) –15 Resources (Function methods)

Export #Function 1 Infect connected removable drives, Starts remote procedure call (RPC) server 2 Hooks APIs for Step 7 project file infections 4 Calls the removal routine (export 18) 5 Verifies if the threat is installed correctly 6 Verifies version information 7 Calls Export 6 9 Updates itself from infected Step 7 projects 10 Updates itself from infected Step 7 projects 14 Step 7 project file infection routine 15 Initial entry point 16 Main installation 17 Replaces Step 7 DLL 18 Uninstalls Stuxnet 19 Infects removable drives 22 Network propagation routines 24 Check Internet connection 27 RPC Server 28 Command and control routine 29 Command and control routine 31 Updates itself from infected Step 7 projects 32 Same as 1

Resource IDFunction 201 MrxNet.sys load driver, signed by Realtek 202 DLL for Step 7 infections 203 CAB file for WinCC infections 205Data file for Resource Autorun version of Stuxnet 208 Step 7 replacement DLL 209Data file (%windows%\help\winmic.fts) 210 Template PE file used for injection 221 Exploits MS to spread via SMB. 222 Exploits MS Print Spooler Vulnerability 231Internet connection check 240LNK template file used to build LNK exploit 241USB Loader DLL ~WTR4141.tmp 242MRxnet.sys rootkit driver 250 Exploits undisclosed win32k.sys vulnerability

Bypassing Intrusion Detection Stuxnet calls LoadLibrary –With a specially crafted file name that does not exist –Which causes LoadLibrary to fail. However, W32.Stuxnet has hooked Ntdll.dll –To monitor for requests to load specially crafted file names. –These specially crafted filenames are mapped to another location instead –A location specified by W32.Stuxnet. –Where a.dll file has been decrypted and stored by the Stuxnet previously.

Code Injection Stuxnet use trusted Windows processes or security products –Lsass.exe –Winlogin.exe –Svchost.exe –Kaspersky KAV (avp.exe) –Mcafee (Mcshield.exe) –AntiVir (avguard.exe) –BitDefender (bdagent.exe) –Etrust (UmxCfg.exe) –F-Secure (fsdfwd.exe) –Symantec (rtvscan.exe) –Symantec Common Client (ccSvcHst.exe) –Eset NOD32 (ekrn.exe) –Trend Pc-Cillin (tmpproxy.exe) Stuxnet detects the version of the security product and based on the version number adapts its injection process

Configuration Stuxnet collects and store the following information: –Major OS Version and Minor OS Version –Flags used by Stuxnet –Flag specifying if the computer is part of a workgroup or domain –Time of infection –IP address of the compromised computer –file name of infected project file

Installation: Control Flow

Installation: OS Win 2K WinXP Windows 200 Vista Windows Server 2008 Windows 7 Windows Server 2008 R2

Installation: Infection routine flow

Command & Control Stuxnet contacts the command and control server –Test if can connect to: –On port 80 –Sends some basic information about the compromised computer to the attacker – – –The two URLs above previously pointed to servers in Malaysia and Denmark

Command & Control (2)

Command & Control payload Part 1 0x00 byte 1, fixed value 0x01 byte from Configuration Data 0x02 byte OS major version 0x03 byte OS minor version 0x04 byte OS service pack major version 0x05 byte size of part 1 of payload 0x06 byte unused, 0 0x07 byte unused, 0 0x08 dword from C. Data 0x0C word unknown 0x0E word OS suite mask 0x10 byte unused, 0 0x11 byte flags 0x12 string computer name, null-terminated 0xXX string domain name, null-terminated Part 2 0x00 dword IP address of interface 1, if any 0x04 dword IP address of interface 2, if any 0x08 dword IP address of interface 3, if any 0x0C dword from Configuration Data 0x10 byte unused 0x11 string copy of S7P string from C. Data (418h)

Windows Rootkit Functionality Stuxnet has the ability to hide copies of its files copied to removable drives Stuxnet extracts Resource 201 as MrxNet.sys. –The driver is registered as a service creating the following registry entry: –HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxNet\”I magePath” = “%System%\drivers\mrxnet.sys” –The driver file is a digitally signed with a legitimate Realtek digital certificate. –The driver then filters(hides) files that : Files with a “.LNK” extension having a size of 4,171 bytes. Files named “~WTR[FOUR NUMBERS].TMP”, –whose size is between 4Kb and 8Mb; the sum of the four numbers, modulo 10 is null. For example, =10=0 mod 10 Examples: –Copy of Copy of Copy of Copy of Shortcut to.lnk –Copy of Shortcut to.lnk –~wtr4141.tmp

Propagation Methods: Network Peer-to-peer communication and updates Infecting WinCC machines via a hardcoded database server password Propagating through network shares Propagating through the MS Print Spooler Zero- Day Vulnerability Propagating through the MS Windows Server Service Vulnerability

Propagation Methods: USB LNK Vulnerability (CVE ) AutoRun.Inf

Modifying PLC’s The end goal of Stuxnet is to infect specific types of Simatic programmable logic controller (PLC) devices. PLC devices are loaded with blocks of code and data written in STL The compiled code is an assembly called MC7. –These blocks are then run by the PLC, in order to execute, control, and monitor an industrial process. The original s7otbxdx.dll is responsible for handling PLC block exchange between the programming device and the PLC. –By replacing this.dll file with its own, Stuxnet is able to perform the following actions: Monitor PLC blocks being written to and read from the PLC. Infect a PLC by inserting its own blocks

Modifying PLC’s

What was the target? Bushehr Nuclear Plant in Iran –60% Infections in Iran –No other commercial gain –Stuxnet complexity –Stuxnet self destruct date –Siemens specific PLC’s

Who did it? Best guess –Israel A safe code that prevents infection –Where is this code already in ICS coded? May 9,1979: Habib Elghanian was executed by a firing squad in Tehran He was the first Jew and one of the first civilians to be executed by the new Islamic government –USA –Russia –UK –China

Propaganda Iran –Iran blames Stuxnet worm on Western plot (Ministry of Foreign Affairs) –"Western states are trying to stop Iran's (nuclear) activities by embarking on psychological warfare and aggrandizing, but Iran would by no means give up its rights by such measures,“ –"Nothing would cause a delay in Iran's nuclear activities“ –"enemy spy services" were responsible for Stuxnet (Minister of intelligence)

Propaganda (2) Israel (DEBKA file) –An alarmed Iran asks for outside help to stop rampaging Stuxnet malworm –Not only have their own attempts to defeat the invading worm failed, but they made matters worse: The malworm became more aggressive and returned to the attack on parts of the systems damaged in the initial attack. –One expert said: "The Iranians have been forced to realize that they would be better off not 'irritating' the invader because it hits back with a bigger punch.“ –These statements were copied verbatim by mayor news services

Conclusion Stuxnet represents the first of many milestones in malicious code history –It is the first to exploit multiple 0-day vulnerabilities, –Compromise two digital certificates, –And inject code into industrial control systems –and hide the code from the operator. Stuxnet is of such great complexity –Requiring significant resources to develop –That few attackers will be capable of producing a similar threat Stuxnet has highlighted direct-attack attempts on critical infrastructure are possible and not just theory or movie plotlines.