SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Targeted Industrial Control
     Process Attacks –
   Lessons from Stuxnet
     Felix ‘FX’ Lindner
About
 Founder and technical lead of
  Recurity Labs GmbH
 Over 20 years within the computer
  industry
 Specialized in attack methodologies and
  techniques
 Published first exploits against Cisco IOS
  and RIM BlackBerry
 Reverse Engineer by heart
Agenda
   Goals of attacks on ICS
   Standard attack patterns
   Technical review of Stuxnet
   Stuxnet prerequisites
   Reusable techniques and patterns
   Current defense strategies
   Alternative defense strategies
Goals of ICS Attacks
 ICS attacks that where documented:
   Demonstration purposes
     Power grid
     Chemical industry
     Rail Road management
   Detonating a Trans-Siberian natural gas
    pipeline (disputed)
   Delaying a Uranium enrichment program
    suspected to be used for nuclear weapons
Goals of ICS Attacks
Goals of ICS Attacks
 Commonly suspected goals in the future:
   Harming the competition
     Delaying production of competing vendor
     Primarily aimed at Just-in-Time suppliers
   Blackmailing ICS owners
     Similar to documented cases of network blackmail,
      e.g. City of San Francisco vs. Terry Childs
   Industrial espionage
     Extraction of ICS programming in order to reverse
      engineer recipes and algorithms
Challenges of ICS Security
Topic                       Office IT            Control Systems
Availability                Planned downtimes    24 x 7 x 365 x forever
Anti-Virus                  Widely used          Uncommon / impossible
Lifetime                    3-5 years            Up to 20 years
Outsourcing                 Common               Becomes common
Software patching           Regular, scheduled   Slow, vendor specific
Change management           Common               Rare
Real-time performance       Best effort          Critical (safety, process)
Security awareness          Good                 Poor (only physical)
Security testing + audits   Regular, scheduled   None
Physical security           Difficult            Good if local
                                                 Hard if remote
Time / Log correlation      Common               Often ignored
STANDARD ATTACK PATTERNS
Internal Attack Patterns
 Direct manipulation through means of
  subverted / bribed / disgruntled employees
   Removal of control system source codes from
    site
   Configuration of various access restrictions using
    passwords not communicated
 Compromise of upstream management
  systems
   Preferred method for people without ICS
    knowledge
   SAP Plant Management and similar homegrown
    tools with no or very little access controls
External Attack Patterns
 Pre-compromise of production
  components
   Logic bombs or intentional vulnerabilities in
    components acquired by the victim
   Recommending or providing software with
    “side effects” to suppliers
      Especially well-suited for expensive software
       components
      Method occasionally used within the network
       community
External Attack Patterns
External Attack Patterns (cont.)
1. Compromise workstation computer in
   office network of target
2. Compromise server with control systems
   connection within target office network
3. Establish Man-in-the-Middle point of
   control between operator and ICS
   network
4. Modify control system
The State of the Art in 2005
Evolvement of Standard Patterns
 Most ICS environments used to be equipment
  vendor specific
   In some industries, the production process is
    completely dependent on the vendors
   Solutions are homogeneous inside heterogeneous
    outside of a particular process
 The landscape changes rapidly
   Component based procurement standardizes the
    production equipment
   Semi-standardized protocols are used to improve
    interoperability
   Wireless protocols get introduced to improve flexibility
A TECHNICAL REVIEW OF STUXNET
Features of Stuxnet
 Multiple spreading mechanisms:
    CVE-2010-2568 Windows LNK Vulnerability local code
     execution
    CVE-2010-3888 Windows Task Scheduler local privilege
     escalation
    CVE-2010-2743 Windows Keyboard Layout local privilege
     escalation
    CVE-2010-2729 Windows Print Spooler Service remote code
     execution
    CVE-2008-4250 Windows Server Service RPC handling remote
     code execution
    Self-copying to remote network shares
    Self-copying to remote Siemens WinCC servers
    Infection of Siemens STEP7 project files for automatic launch
     upon load
Features of Stuxnet (2)
 Peer-to-peer updating mechanism in LANs
 Contacting two predefined C&C (command and
  control) servers
 Windows rootkit driver covering all Windows
  versions since 2000
    Driver file is signed with valid Code Signing certificate
 Circumvention and corruption of 10 different client
  security products
    Special treatment for 3 additional ones
 DLL loading routine that fools behavior based
  HIDS detection mechanisms
Features of Stuxnet (3)
 Fingerprinting an industrial control process
  through documented and undocumented
  data structures in programmable logic
  controllers (PLCs)
 Backdoors all instances of Siemens WinCC
  and STEP7 through patching it’s
  communication DLL in order to hide its
  presence on the PLC
 Virtualizes the PLC on the PLC itself, in order
  to modify input and output controls without
  the legitimate code on the PLC knowing
CVE-2010-2568: LNK
 Uses a special feature of .LNK files
 Explorer needs the icon of the target of the LNK
  file in order to render it
 LNK uses “dynamic icons” when pointing to a
  control panel entry
 Dynamic icons use an alternative handling where
  Explorer.exe will call the LoadLibrary API on the
  destination
 LoadLibrary causes the DLL’s DllMain function to
  be executed during load
  100% reliable code execution within the context
  of the user’s Explorer.exe
CVE-2010-3888: Task Scheduler
 Uses CRC32 compensation attack to exploit design flaw in
  Task Scheduler
 When creating a scheduled task, the scheduler creates an
  XML file for it
    The XML file contains the user the task is executed under
    The XML file is writable to the user creating the task
 Scheduler runs a CRC32 on it and stores the checksum in the
  registry
    When the execution time arrives, the CRC32 is validated against
     the file
 Stuxnet modifies the user context of the scheduled task and
  performs a CRC32 compensation
  100% reliable code execution as LocalSystem on Windows
  Vista and above
CVE-2010-2743: Keyboard Layout
 Windows XP and lower allows keyboard layouts to
  be loaded from anywhere
 A (not validated) index is loaded from the layout
  file in Kernel mode and used as an index to a
  function pointer table with 3 entries
 Exploit scans the memory past the function pointer
  table for DWORDs that are suitable memory
  addresses in userland
   When one is found (<0x80000000), allocates memory
    there and triggers the vulnerability
  100% reliable code execution as Kernel on
  Windows XP and below
CVE-2010-2729: Print Spooler
 Enumerates printer spool shares on the network,
  connects as Guest account
 Print job requests to print an EXE and MOF file,
  requesting to print to file in %SYSTEM32%
 When printing for Guest, spooler does not
  impersonate the remote user but runs as System, so
  writing to %SYSTEM32% is allowed
 MOF files are compiled scripts that are placed below
  %SYSTEM32%
    Windows monitors the creation and executes the MOF
     file’s instructions, running the EXE file
  100% reliable remote code execution as System
CVE-2008-4250: Server Service
 Known vulnerability, found being exploited in the wild
  by W32/Gimmiv.A
    Interesting to note: Gimmiv.A reports installed security
     products back to the C&C server
 Exploits a vulnerability in the RPC path
  canonicalization within the remote service
    Patched since 2008 (MS08-067)
    Actually turns out to be a sister vulnerability to MS06-040
 Gains code execution as System
 Widely used exploit in the Metasploit Framework,
  including a large number of target Windows versions
  and circumvention of DEP on Windows XP and 2003
  Fair chance remote code execution as System
Special DLL Loading
 Host IDS behavior monitoring usually
  looks at LoadLibrary API calls
 Stuxnet hooks file handling routines in
  NTDLL.DLL in order redirect them into
  memory areas when special filenames are
  encountered
 When Stuxnet uses LoadLibrary, the
  special filenames are invalid on the file
  system, so HIDS will ignore the call
Corrupting the Watchers
Security Software     Infected Process
KAV v1 to v7          LSASS.EXE
KAV v8 to v9          KAV Process
McAfee                Winlogon.exe
AntiVir               LSASS.EXE
BitDefender           LSASS.EXE
ETrust v5 to v6       (fail)
ETrust (Other)        LSASS.EXE
F-Secure              LSASS.EXE
Symantec              LSASS.EXE
ESET NOD32            LSASS.EXE
Trend PC Cillin       Trend Process
Siemens STEP7 Project Infection
 Stuxnet patches the STEP7 project file handling
  routines to modify any project opened in the
  development or management IDE
    Ignores projects older than 3.5 years
    Ignores projects that appear to be examples
 A specific DLL is placed in the directory “hOmSave7”
  of the STEP7 project
 STEP7 specific data in “Apilogtypes” is modified that
  causes the DLL from “hOmSave7” to be loaded when
  the project file is opened
    The DLL is searched for in %SYSTEM32% and the STEP7
     directories first, but when not found is loaded afterwards
     from the project’s directory
Siemens STEP7 Project Infection (2)
 Similar to STEP7 project infections, Stuxnet
  also infects MCP files, used by Siemens
  WinCC
   WinCC databases are accessed through a
    hardcoded username/password combination for
    an administrative user that cannot be changed
   Stuxnet uses remote SQL commands to transfer
    itself to the server and execute there
 Project files (even locally) are infected with
  itself and a cabinet file in “GracScc_tlg7.sav”
   Such projects, if loaded into a WinCC server
    manually, may execute Stuxnet as well
Siemens PLC Infection
 On Windows PCs with Siemens PLC software, the
  DLL “s7otbxdx.dll” is replaced by a wrapper
   The original version is kept for functionality
 The wrapper ensures that:
   When writing to the PLC, the Stuxnet PLC payload is
    added in transit
   When reading from the PLC, the Stuxnet PLC
    payload is removed and hence hidden from view
   An additional thread runs, monitoring the PLC and
    verifying target properties
   A second additional thread controls a Data Block on
    the PLC, remotely managing its behavior
Siemens PLC Infection (2)
 Before infecting any PLC, the injected code
  on the Windows PC verifies properties
   PLC CPU type 6ES7-417 or 6ES7-315-2
   CP 342-5 Profibus interface module is present
   At least 33 devices with Profibus identification
    number 0x7050 or 0x9500 are present
      Identification numbers are assigned globally unique by
       vendors and Profinet International, comparable to IANA
      The devices are Variable Frequency Drives (VFDs)
       from Fararo Paya (Iran), and Vacon (Finland)
Stuxnet MC7 Payload
 Three payloads are delivered with Stuxnet
    Two almost identical payloads for 315-2 CPUs
        Called Block A and B by Symantec
    One larger payload for 417 CPUs
        Called Block C by Symantec
 Replacement of DP_RECV
    DP_RECV is responsible for the processing of received Profibus
     messages on the PLC
    Original Function Code is moved and a malicious replacement is
     embedded
 Organizational Block (OB) 1 (cyclic execution) is patched with
  call to Stuxnet MC7 payload
 OB35 (timed execution) is patched with call to Stuxnet MC7
  payload (watchdog function)
Binary Comparison of Block A and B
Stuxnet MC7 Payload (2)
 Block A/B implement a state machine
  1.       Record frames via DP_RECV and monitor values of the
           VFD, until enough events are recorded
  2.       Wait 2 hours
  3.       Send bursts of Profibus frames to the VFDs (Phase I)
             145 or 127 frames (Vacon VFDs)
             34 or 32 frames (Fararo Paya VFDs)
  4.       Send bursts (Phase II)
             2 or 36 frames (Vacon VFDs)
             23 or 27 (Fararo Paya VFDs)
  5.       Reset internal values and reinitialize internal structures
 State 0 is the global error handler.
Stuxnet MC7 Payload Code
ADD_AC:                          // CODE XREF: S7_LV+94p
            OPN DB888
            L DBW10h             //   word 888.16
            L W#16#3             //   word 3
            <I                   //   ACCU2 is less than ACCU1
                                 //   3 > 888.16
            JC loc_2840          //   jump if RLO=1 (DW888.16 < 3)
                                 //   (do not jump if DW888.16 is 3 or more)
            TAK                  //   exchange ACCU1 and ACCU2
            L W#16#4             //   ACCU1 = 4
            >I                   //   ACCU2 is greater than ACCU1
                                 //   4 < 888.16
            JC loc_2840          //   jump if RLO=1 (DW888.16 > 4 )
                                 //   (do not jump if DW888.16 is 4 or less)
            L DW#16#0DEADF007h
            PUSH                 // copy ACCU1 into ACCU2
            BE

loc_2840:                        // CODE XREF: ADD_AC+Ej
                                 // ADD_AC+1Aj
            L DW#16#0
            PUSH                 // copy ACCU1 into ACCU2
            BE
Timing of the MC7 Payload
   Recording takes place for 13 days
   Wait 2 hours (fixed)
   Pause after first burst is 27 days
   Pause after second burst is 27 days
    67 days for one cycle of attack
     Wearing out was the goal, not destruction
     The product of the attacked process was the
      target, not the production equipment
PLC Virtualization / Decoupling
 PLCs, including Siemens S7, execute in cycles
    Read all input signals and set input table
    Execute OB1
    Write all output Bits to output table and generate signals
 Stuxnet disables the automatic update of the Process
  Image Input and Output Table
    Essentially decoupling the entire PLC from its sensor
     array, virtualizing it
    Allows the Stuxnet payload to modify input and output Bits
     (corresponding to signals) so the original code doesn’t
     notice any changes
  No explicit operator spoofing required! This method
  may even fool people manually debugging the PLC.
PLC Input / Output Decoupling
        L        LW0
        BLD      +7
        =        L 14h.0
        L        B#16#0
        T        LB15h
        UC       SFC1Ah       // Update Process Image Input Table
        JU       loc_24
        (arg)    P# L 15h.0
        (arg)    P# L 0.0
        (arg)    P# L 0.0

  loc_24:
         BLD     +8
         BLD     +7
         =       L 14h.0
         L       B#16#0
         T       LB15h
         UC      SFC1Bh       // Update Process Image Ouput Table
         JU      loc_46
         (arg)   P# L 15h.0
         (arg)   P# L 0.0
         (arg)   P# L 0.0

  loc_46:
         BLD     +8
         T       LW0
BLD: A Trick Not Used
 STEP7 engineers frequently use a simple trick to hide code
 The BLD instruction is used as a marker around blocks of
  code
    The instruction has no effect on the PLC, but is interpreted by
     the Siemens editors. Known combinations are:
          BLD 1 / 2 (FC with parameters)
          BLD 3 / 4 (FB with parameters)
          BLD 7 / 8
          BLD 14 / 15 (FC without parameters)
          BLD 103 / 104
          BLD 130 / 131 / 132 / 133 / 255
 The STUXNET code does not make use of this trick
    It actually keeps the original BLD instructions, wasting space
     and simplifying analysis using Siemens tools
BLD Hiding

BLD +7

A "Always ON"   // When being nasty, use this snippet
JC Run
UC SFC 46       // Stops the CPU
Run: NOP 0

... your code
... CC or UC of your FC's
BLD +8

 Call SFC46
REUSABLE TECHNIQUES AND PATTERNS
How Much Was Required?
Attack Capability                  Required for Targeted Attack?
CVE-2010-2568 LNK                  No
CVE-2010-3888 Task Scheduler       No
CVE-2010-2743 Keyboard Layout      No
CVE-2010-2729 Print Spooler        No
CVE-2008-4250 Server Service RPC   No
Self-copying to network share      No
Peer-to-peer updating              No
C&C Servers                        No
Windows rootkit & certificates     No
10 AV product circumventions       No
Behavioral detection evasion       No
How Much Was Required?
Attack Capability              Required for Targeted Attack?
Self-copying to WinCC          Optional
STEP7 project file infection   Yes
ICS process fingerprinting     Yes
STEP7 DLL Backdoor             Optional
PLC Virtualization             Yes
Relevant Techniques
 Most of Stuxnet’s functionality is spreading,
  survival and persistence oriented
    The measures taken are extreme
 Targeted attacks on an industrial process only
  need a few key technologies
 If the infection can be accomplished by human
  means, only the PLC payload stays relevant
    Stuxnet demonstrates how it is done
    There is still significant room for advancements,
     considering the complexity of Siemens S7
    Similar attacks are very likely to be possible with any
     other PLC vendor’s equipment
Only In Siemens-Land
 Dillon Beresford showed another way at
  BlackHat USA 2011:
   Username: basisk
   Password: basisk
 Compromised OS
  below the MC7 layer
  is obviously a game
  over scenario for any
  security within the
  PLC network.
CURRENT AND FUTURE DEFENSES
Current Defenses
 Siemens still postulates it’s the customer’s job to secure its
  automation process
    Code execution upon STEP7 project loading not considered a
     vulnerability. No fix.
    Code execution through fixed passwords on WinCC servers not
     fixed. The password is publicly known since 2008.
    At least the fixed username and password in PLC OS is
     supposedly removed since 2009
 Air gaps? Don’t help, don’t exist.
    Infected consultants and service engineers
    Process performance dashboards for management
    Agile production environments in supplier fabs
 Virus scanners?
    Have not protected anything since 1970.
Future Defenses
 Frequent reprogramming of the entire automation
  environment
    Proposed by process engineers
    May actually be the best option today
 Langner Controller Integrity Checker (CIC)
    Developed as response to Stuxnet
    Promising first attempt on solving some of the problems
       Evasion obviously possible, as it suffers from the detection
        paradigm (AV software) problem
    Siemens specific, doesn’t help with other automation
     environments
 Both don’t help when the underlying OS is infected
Future Defenses
 Future defenses can only get developed with a better
  understanding of the offense
    Stuxnet targets a very specific environment
    Currently flourishing research is completely utility centric
     (power, water, waste, railway)
 Industrial Control Systems are extremely environment
  specific by nature
 The best protection is to evaluate your own
  environment’s vulnerability
    Based on a solid threat model, developed around your
     business and your likely adversaries
    The only approach that has been shown to work in other
     emerging threat areas before
Thank You!


               Felix ´FX´ Lindner
                        Head

                 fx@recurity-labs.com




Recurity Labs GmbH, Berlin, Germany
   http://www.recurity-labs.com

Weitere ähnliche Inhalte

Was ist angesagt?

Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...
Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...
Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...ESS BILBAO
 
A Secure Software Engineering Perspective
A Secure Software Engineering PerspectiveA Secure Software Engineering Perspective
A Secure Software Engineering Perspectiveidescitation
 
Frank Migge It Security Patch Monitoring With Nagios 02
Frank Migge It Security Patch Monitoring With Nagios 02Frank Migge It Security Patch Monitoring With Nagios 02
Frank Migge It Security Patch Monitoring With Nagios 02frank4dd
 
IT6701-Information Management Unit 2
IT6701-Information Management Unit 2IT6701-Information Management Unit 2
IT6701-Information Management Unit 2SIMONTHOMAS S
 
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...IJITCA Journal
 
Using Massively Distributed Malware in APT-Style Attacks
Using Massively Distributed Malware in APT-Style AttacksUsing Massively Distributed Malware in APT-Style Attacks
Using Massively Distributed Malware in APT-Style AttacksIBM Security
 
Mission Impact Assessment for Industrial Control Systems
Mission Impact Assessment for Industrial Control SystemsMission Impact Assessment for Industrial Control Systems
Mission Impact Assessment for Industrial Control SystemsMarina Krotofil
 
Mitigating Rapid Cyberattacks
Mitigating Rapid CyberattacksMitigating Rapid Cyberattacks
Mitigating Rapid CyberattacksErdem Erdogan
 
A Stuxnet for Mainframes
A Stuxnet for MainframesA Stuxnet for Mainframes
A Stuxnet for MainframesCheryl Biswas
 
Nist 800 82 ICS Security Auditing Framework
Nist 800 82 ICS Security Auditing FrameworkNist 800 82 ICS Security Auditing Framework
Nist 800 82 ICS Security Auditing FrameworkMarcoAfzali
 
14_4_13548_1453905899_ICS-VLP Certificate
14_4_13548_1453905899_ICS-VLP Certificate14_4_13548_1453905899_ICS-VLP Certificate
14_4_13548_1453905899_ICS-VLP Certificatenullcodecomar
 
DHS ICS Security Presentation
DHS ICS Security PresentationDHS ICS Security Presentation
DHS ICS Security Presentationguest85a34f
 
Engineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacyEngineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacysoftware-engineering-book
 

Was ist angesagt? (20)

DSDConference07
DSDConference07DSDConference07
DSDConference07
 
Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...
Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...
Update On The Cern. Computing And Network Infrastructure For Controls. (Cnic)...
 
A Secure Software Engineering Perspective
A Secure Software Engineering PerspectiveA Secure Software Engineering Perspective
A Secure Software Engineering Perspective
 
Frank Migge It Security Patch Monitoring With Nagios 02
Frank Migge It Security Patch Monitoring With Nagios 02Frank Migge It Security Patch Monitoring With Nagios 02
Frank Migge It Security Patch Monitoring With Nagios 02
 
IT6701-Information Management Unit 2
IT6701-Information Management Unit 2IT6701-Information Management Unit 2
IT6701-Information Management Unit 2
 
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
 
Bizhub v care security white paper version 2
Bizhub v care security white paper version 2Bizhub v care security white paper version 2
Bizhub v care security white paper version 2
 
Using Massively Distributed Malware in APT-Style Attacks
Using Massively Distributed Malware in APT-Style AttacksUsing Massively Distributed Malware in APT-Style Attacks
Using Massively Distributed Malware in APT-Style Attacks
 
Mission Impact Assessment for Industrial Control Systems
Mission Impact Assessment for Industrial Control SystemsMission Impact Assessment for Industrial Control Systems
Mission Impact Assessment for Industrial Control Systems
 
RF_NEC
RF_NECRF_NEC
RF_NEC
 
Andrey Bogdanov, Dmitry Khovratovich, and Christian Rechberger
Andrey Bogdanov, Dmitry Khovratovich, and Christian RechbergerAndrey Bogdanov, Dmitry Khovratovich, and Christian Rechberger
Andrey Bogdanov, Dmitry Khovratovich, and Christian Rechberger
 
Mitigating Rapid Cyberattacks
Mitigating Rapid CyberattacksMitigating Rapid Cyberattacks
Mitigating Rapid Cyberattacks
 
A Stuxnet for Mainframes
A Stuxnet for MainframesA Stuxnet for Mainframes
A Stuxnet for Mainframes
 
Scs.pptx repaired
Scs.pptx repairedScs.pptx repaired
Scs.pptx repaired
 
Nist 800 82 ICS Security Auditing Framework
Nist 800 82 ICS Security Auditing FrameworkNist 800 82 ICS Security Auditing Framework
Nist 800 82 ICS Security Auditing Framework
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
 
14_4_13548_1453905899_ICS-VLP Certificate
14_4_13548_1453905899_ICS-VLP Certificate14_4_13548_1453905899_ICS-VLP Certificate
14_4_13548_1453905899_ICS-VLP Certificate
 
C90 Security Service
C90 Security ServiceC90 Security Service
C90 Security Service
 
DHS ICS Security Presentation
DHS ICS Security PresentationDHS ICS Security Presentation
DHS ICS Security Presentation
 
Engineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacyEngineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacy
 

Ähnlich wie hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attacks - Lessons from Stuxnet

Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008
Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008
Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008ClubHack
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testingankitmehta21
 
Secure architecture-industrial-control-systems-36327
Secure architecture-industrial-control-systems-36327Secure architecture-industrial-control-systems-36327
Secure architecture-industrial-control-systems-36327vimal Kumar Gupta
 
Automated defense from rootkit attacks
Automated defense from rootkit attacksAutomated defense from rootkit attacks
Automated defense from rootkit attacksUltraUploader
 
Cybersecurity concepts & Defense best practises
Cybersecurity concepts & Defense best practisesCybersecurity concepts & Defense best practises
Cybersecurity concepts & Defense best practisesWAJAHAT IQBAL
 
Ch08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System VulnerabilitiesCh08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System Vulnerabilitiesphanleson
 
Microsoft Operating System Vulnerabilities
Microsoft Operating System VulnerabilitiesMicrosoft Operating System Vulnerabilities
Microsoft Operating System VulnerabilitiesInformation Technology
 
Microsoft OS Vulnerabilities
Microsoft OS VulnerabilitiesMicrosoft OS Vulnerabilities
Microsoft OS VulnerabilitiesSecurityTube.Net
 
Addressing New Challenges in Software Protection for .NET
Addressing New Challenges in Software Protection for .NETAddressing New Challenges in Software Protection for .NET
Addressing New Challenges in Software Protection for .NETLicensingLive! - SafeNet
 
Kunal - Introduction to BackTrack - ClubHack2008
Kunal - Introduction to BackTrack - ClubHack2008Kunal - Introduction to BackTrack - ClubHack2008
Kunal - Introduction to BackTrack - ClubHack2008ClubHack
 
Kunal - Introduction to backtrack - ClubHack2008
Kunal - Introduction to backtrack - ClubHack2008Kunal - Introduction to backtrack - ClubHack2008
Kunal - Introduction to backtrack - ClubHack2008ClubHack
 
Workshop on BackTrack live CD
Workshop on BackTrack live CDWorkshop on BackTrack live CD
Workshop on BackTrack live CDamiable_indian
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners Checkmarx
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessMicrosoft Tech Community
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left SecurityBATbern
 
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
Next Generation Embedded Systems Security for IOT:  Powered by KasperskyNext Generation Embedded Systems Security for IOT:  Powered by Kaspersky
Next Generation Embedded Systems Security for IOT: Powered by KasperskyL. Duke Golden
 
Kl iot cebit_dg_200317_finalmktg
Kl iot cebit_dg_200317_finalmktgKl iot cebit_dg_200317_finalmktg
Kl iot cebit_dg_200317_finalmktgL. Duke Golden
 

Ähnlich wie hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attacks - Lessons from Stuxnet (20)

Stuxnet dc9723
Stuxnet dc9723Stuxnet dc9723
Stuxnet dc9723
 
Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008
Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008
Chris - Network Vulnerability Assessments: Lessons Learned - ClubHack2008
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testing
 
Secure architecture-industrial-control-systems-36327
Secure architecture-industrial-control-systems-36327Secure architecture-industrial-control-systems-36327
Secure architecture-industrial-control-systems-36327
 
Automated defense from rootkit attacks
Automated defense from rootkit attacksAutomated defense from rootkit attacks
Automated defense from rootkit attacks
 
Cybersecurity concepts & Defense best practises
Cybersecurity concepts & Defense best practisesCybersecurity concepts & Defense best practises
Cybersecurity concepts & Defense best practises
 
Ch08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System VulnerabilitiesCh08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System Vulnerabilities
 
Microsoft Operating System Vulnerabilities
Microsoft Operating System VulnerabilitiesMicrosoft Operating System Vulnerabilities
Microsoft Operating System Vulnerabilities
 
Microsoft OS Vulnerabilities
Microsoft OS VulnerabilitiesMicrosoft OS Vulnerabilities
Microsoft OS Vulnerabilities
 
Addressing New Challenges in Software Protection for .NET
Addressing New Challenges in Software Protection for .NETAddressing New Challenges in Software Protection for .NET
Addressing New Challenges in Software Protection for .NET
 
Commix
Commix Commix
Commix
 
Kunal - Introduction to BackTrack - ClubHack2008
Kunal - Introduction to BackTrack - ClubHack2008Kunal - Introduction to BackTrack - ClubHack2008
Kunal - Introduction to BackTrack - ClubHack2008
 
Kunal - Introduction to backtrack - ClubHack2008
Kunal - Introduction to backtrack - ClubHack2008Kunal - Introduction to backtrack - ClubHack2008
Kunal - Introduction to backtrack - ClubHack2008
 
Workshop on BackTrack live CD
Workshop on BackTrack live CDWorkshop on BackTrack live CD
Workshop on BackTrack live CD
 
ICS Threat Scenarios
ICS Threat ScenariosICS Threat Scenarios
ICS Threat Scenarios
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment Success
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
 
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
Next Generation Embedded Systems Security for IOT:  Powered by KasperskyNext Generation Embedded Systems Security for IOT:  Powered by Kaspersky
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
 
Kl iot cebit_dg_200317_finalmktg
Kl iot cebit_dg_200317_finalmktgKl iot cebit_dg_200317_finalmktg
Kl iot cebit_dg_200317_finalmktg
 

Mehr von Area41

Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...Area41
 
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old DiseaseJuriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old DiseaseArea41
 
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...Area41
 
Rob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost StoriesRob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost StoriesArea41
 
Halvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromisedHalvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromisedArea41
 
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...Area41
 
hashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - Keynotehashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - KeynoteArea41
 
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...Area41
 
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with Treeshashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with TreesArea41
 
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...Area41
 
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Realityhashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. RealityArea41
 

Mehr von Area41 (11)

Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
 
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old DiseaseJuriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
 
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
 
Rob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost StoriesRob "Mubix" Fuller: Attacker Ghost Stories
Rob "Mubix" Fuller: Attacker Ghost Stories
 
Halvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromisedHalvar Flake: Why Johnny can’t tell if he is compromised
Halvar Flake: Why Johnny can’t tell if he is compromised
 
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
 
hashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - Keynotehashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Mikko Hypponen - Keynote
 
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
 
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with Treeshashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
 
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
 
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Realityhashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality
 

Kürzlich hochgeladen

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Kürzlich hochgeladen (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attacks - Lessons from Stuxnet

  • 1. Targeted Industrial Control Process Attacks – Lessons from Stuxnet Felix ‘FX’ Lindner
  • 2. About  Founder and technical lead of Recurity Labs GmbH  Over 20 years within the computer industry  Specialized in attack methodologies and techniques  Published first exploits against Cisco IOS and RIM BlackBerry  Reverse Engineer by heart
  • 3. Agenda  Goals of attacks on ICS  Standard attack patterns  Technical review of Stuxnet  Stuxnet prerequisites  Reusable techniques and patterns  Current defense strategies  Alternative defense strategies
  • 4. Goals of ICS Attacks  ICS attacks that where documented:  Demonstration purposes  Power grid  Chemical industry  Rail Road management  Detonating a Trans-Siberian natural gas pipeline (disputed)  Delaying a Uranium enrichment program suspected to be used for nuclear weapons
  • 5. Goals of ICS Attacks
  • 6. Goals of ICS Attacks  Commonly suspected goals in the future:  Harming the competition  Delaying production of competing vendor  Primarily aimed at Just-in-Time suppliers  Blackmailing ICS owners  Similar to documented cases of network blackmail, e.g. City of San Francisco vs. Terry Childs  Industrial espionage  Extraction of ICS programming in order to reverse engineer recipes and algorithms
  • 7. Challenges of ICS Security Topic Office IT Control Systems Availability Planned downtimes 24 x 7 x 365 x forever Anti-Virus Widely used Uncommon / impossible Lifetime 3-5 years Up to 20 years Outsourcing Common Becomes common Software patching Regular, scheduled Slow, vendor specific Change management Common Rare Real-time performance Best effort Critical (safety, process) Security awareness Good Poor (only physical) Security testing + audits Regular, scheduled None Physical security Difficult Good if local Hard if remote Time / Log correlation Common Often ignored
  • 8.
  • 10. Internal Attack Patterns  Direct manipulation through means of subverted / bribed / disgruntled employees  Removal of control system source codes from site  Configuration of various access restrictions using passwords not communicated  Compromise of upstream management systems  Preferred method for people without ICS knowledge  SAP Plant Management and similar homegrown tools with no or very little access controls
  • 11. External Attack Patterns  Pre-compromise of production components  Logic bombs or intentional vulnerabilities in components acquired by the victim  Recommending or providing software with “side effects” to suppliers  Especially well-suited for expensive software components  Method occasionally used within the network community
  • 13. External Attack Patterns (cont.) 1. Compromise workstation computer in office network of target 2. Compromise server with control systems connection within target office network 3. Establish Man-in-the-Middle point of control between operator and ICS network 4. Modify control system
  • 14. The State of the Art in 2005
  • 15. Evolvement of Standard Patterns  Most ICS environments used to be equipment vendor specific  In some industries, the production process is completely dependent on the vendors  Solutions are homogeneous inside heterogeneous outside of a particular process  The landscape changes rapidly  Component based procurement standardizes the production equipment  Semi-standardized protocols are used to improve interoperability  Wireless protocols get introduced to improve flexibility
  • 16. A TECHNICAL REVIEW OF STUXNET
  • 17. Features of Stuxnet  Multiple spreading mechanisms:  CVE-2010-2568 Windows LNK Vulnerability local code execution  CVE-2010-3888 Windows Task Scheduler local privilege escalation  CVE-2010-2743 Windows Keyboard Layout local privilege escalation  CVE-2010-2729 Windows Print Spooler Service remote code execution  CVE-2008-4250 Windows Server Service RPC handling remote code execution  Self-copying to remote network shares  Self-copying to remote Siemens WinCC servers  Infection of Siemens STEP7 project files for automatic launch upon load
  • 18. Features of Stuxnet (2)  Peer-to-peer updating mechanism in LANs  Contacting two predefined C&C (command and control) servers  Windows rootkit driver covering all Windows versions since 2000  Driver file is signed with valid Code Signing certificate  Circumvention and corruption of 10 different client security products  Special treatment for 3 additional ones  DLL loading routine that fools behavior based HIDS detection mechanisms
  • 19. Features of Stuxnet (3)  Fingerprinting an industrial control process through documented and undocumented data structures in programmable logic controllers (PLCs)  Backdoors all instances of Siemens WinCC and STEP7 through patching it’s communication DLL in order to hide its presence on the PLC  Virtualizes the PLC on the PLC itself, in order to modify input and output controls without the legitimate code on the PLC knowing
  • 20. CVE-2010-2568: LNK  Uses a special feature of .LNK files  Explorer needs the icon of the target of the LNK file in order to render it  LNK uses “dynamic icons” when pointing to a control panel entry  Dynamic icons use an alternative handling where Explorer.exe will call the LoadLibrary API on the destination  LoadLibrary causes the DLL’s DllMain function to be executed during load   100% reliable code execution within the context of the user’s Explorer.exe
  • 21. CVE-2010-3888: Task Scheduler  Uses CRC32 compensation attack to exploit design flaw in Task Scheduler  When creating a scheduled task, the scheduler creates an XML file for it  The XML file contains the user the task is executed under  The XML file is writable to the user creating the task  Scheduler runs a CRC32 on it and stores the checksum in the registry  When the execution time arrives, the CRC32 is validated against the file  Stuxnet modifies the user context of the scheduled task and performs a CRC32 compensation   100% reliable code execution as LocalSystem on Windows Vista and above
  • 22. CVE-2010-2743: Keyboard Layout  Windows XP and lower allows keyboard layouts to be loaded from anywhere  A (not validated) index is loaded from the layout file in Kernel mode and used as an index to a function pointer table with 3 entries  Exploit scans the memory past the function pointer table for DWORDs that are suitable memory addresses in userland  When one is found (<0x80000000), allocates memory there and triggers the vulnerability   100% reliable code execution as Kernel on Windows XP and below
  • 23. CVE-2010-2729: Print Spooler  Enumerates printer spool shares on the network, connects as Guest account  Print job requests to print an EXE and MOF file, requesting to print to file in %SYSTEM32%  When printing for Guest, spooler does not impersonate the remote user but runs as System, so writing to %SYSTEM32% is allowed  MOF files are compiled scripts that are placed below %SYSTEM32%  Windows monitors the creation and executes the MOF file’s instructions, running the EXE file   100% reliable remote code execution as System
  • 24. CVE-2008-4250: Server Service  Known vulnerability, found being exploited in the wild by W32/Gimmiv.A  Interesting to note: Gimmiv.A reports installed security products back to the C&C server  Exploits a vulnerability in the RPC path canonicalization within the remote service  Patched since 2008 (MS08-067)  Actually turns out to be a sister vulnerability to MS06-040  Gains code execution as System  Widely used exploit in the Metasploit Framework, including a large number of target Windows versions and circumvention of DEP on Windows XP and 2003   Fair chance remote code execution as System
  • 25. Special DLL Loading  Host IDS behavior monitoring usually looks at LoadLibrary API calls  Stuxnet hooks file handling routines in NTDLL.DLL in order redirect them into memory areas when special filenames are encountered  When Stuxnet uses LoadLibrary, the special filenames are invalid on the file system, so HIDS will ignore the call
  • 26. Corrupting the Watchers Security Software Infected Process KAV v1 to v7 LSASS.EXE KAV v8 to v9 KAV Process McAfee Winlogon.exe AntiVir LSASS.EXE BitDefender LSASS.EXE ETrust v5 to v6 (fail) ETrust (Other) LSASS.EXE F-Secure LSASS.EXE Symantec LSASS.EXE ESET NOD32 LSASS.EXE Trend PC Cillin Trend Process
  • 27. Siemens STEP7 Project Infection  Stuxnet patches the STEP7 project file handling routines to modify any project opened in the development or management IDE  Ignores projects older than 3.5 years  Ignores projects that appear to be examples  A specific DLL is placed in the directory “hOmSave7” of the STEP7 project  STEP7 specific data in “Apilogtypes” is modified that causes the DLL from “hOmSave7” to be loaded when the project file is opened  The DLL is searched for in %SYSTEM32% and the STEP7 directories first, but when not found is loaded afterwards from the project’s directory
  • 28. Siemens STEP7 Project Infection (2)  Similar to STEP7 project infections, Stuxnet also infects MCP files, used by Siemens WinCC  WinCC databases are accessed through a hardcoded username/password combination for an administrative user that cannot be changed  Stuxnet uses remote SQL commands to transfer itself to the server and execute there  Project files (even locally) are infected with itself and a cabinet file in “GracScc_tlg7.sav”  Such projects, if loaded into a WinCC server manually, may execute Stuxnet as well
  • 29. Siemens PLC Infection  On Windows PCs with Siemens PLC software, the DLL “s7otbxdx.dll” is replaced by a wrapper  The original version is kept for functionality  The wrapper ensures that:  When writing to the PLC, the Stuxnet PLC payload is added in transit  When reading from the PLC, the Stuxnet PLC payload is removed and hence hidden from view  An additional thread runs, monitoring the PLC and verifying target properties  A second additional thread controls a Data Block on the PLC, remotely managing its behavior
  • 30. Siemens PLC Infection (2)  Before infecting any PLC, the injected code on the Windows PC verifies properties  PLC CPU type 6ES7-417 or 6ES7-315-2  CP 342-5 Profibus interface module is present  At least 33 devices with Profibus identification number 0x7050 or 0x9500 are present  Identification numbers are assigned globally unique by vendors and Profinet International, comparable to IANA  The devices are Variable Frequency Drives (VFDs) from Fararo Paya (Iran), and Vacon (Finland)
  • 31. Stuxnet MC7 Payload  Three payloads are delivered with Stuxnet  Two almost identical payloads for 315-2 CPUs  Called Block A and B by Symantec  One larger payload for 417 CPUs  Called Block C by Symantec  Replacement of DP_RECV  DP_RECV is responsible for the processing of received Profibus messages on the PLC  Original Function Code is moved and a malicious replacement is embedded  Organizational Block (OB) 1 (cyclic execution) is patched with call to Stuxnet MC7 payload  OB35 (timed execution) is patched with call to Stuxnet MC7 payload (watchdog function)
  • 32. Binary Comparison of Block A and B
  • 33. Stuxnet MC7 Payload (2)  Block A/B implement a state machine 1. Record frames via DP_RECV and monitor values of the VFD, until enough events are recorded 2. Wait 2 hours 3. Send bursts of Profibus frames to the VFDs (Phase I)  145 or 127 frames (Vacon VFDs)  34 or 32 frames (Fararo Paya VFDs) 4. Send bursts (Phase II)  2 or 36 frames (Vacon VFDs)  23 or 27 (Fararo Paya VFDs) 5. Reset internal values and reinitialize internal structures  State 0 is the global error handler.
  • 34. Stuxnet MC7 Payload Code ADD_AC: // CODE XREF: S7_LV+94p OPN DB888 L DBW10h // word 888.16 L W#16#3 // word 3 <I // ACCU2 is less than ACCU1 // 3 > 888.16 JC loc_2840 // jump if RLO=1 (DW888.16 < 3) // (do not jump if DW888.16 is 3 or more) TAK // exchange ACCU1 and ACCU2 L W#16#4 // ACCU1 = 4 >I // ACCU2 is greater than ACCU1 // 4 < 888.16 JC loc_2840 // jump if RLO=1 (DW888.16 > 4 ) // (do not jump if DW888.16 is 4 or less) L DW#16#0DEADF007h PUSH // copy ACCU1 into ACCU2 BE loc_2840: // CODE XREF: ADD_AC+Ej // ADD_AC+1Aj L DW#16#0 PUSH // copy ACCU1 into ACCU2 BE
  • 35. Timing of the MC7 Payload  Recording takes place for 13 days  Wait 2 hours (fixed)  Pause after first burst is 27 days  Pause after second burst is 27 days   67 days for one cycle of attack  Wearing out was the goal, not destruction  The product of the attacked process was the target, not the production equipment
  • 36. PLC Virtualization / Decoupling  PLCs, including Siemens S7, execute in cycles  Read all input signals and set input table  Execute OB1  Write all output Bits to output table and generate signals  Stuxnet disables the automatic update of the Process Image Input and Output Table  Essentially decoupling the entire PLC from its sensor array, virtualizing it  Allows the Stuxnet payload to modify input and output Bits (corresponding to signals) so the original code doesn’t notice any changes   No explicit operator spoofing required! This method may even fool people manually debugging the PLC.
  • 37. PLC Input / Output Decoupling L LW0 BLD +7 = L 14h.0 L B#16#0 T LB15h UC SFC1Ah // Update Process Image Input Table JU loc_24 (arg) P# L 15h.0 (arg) P# L 0.0 (arg) P# L 0.0 loc_24: BLD +8 BLD +7 = L 14h.0 L B#16#0 T LB15h UC SFC1Bh // Update Process Image Ouput Table JU loc_46 (arg) P# L 15h.0 (arg) P# L 0.0 (arg) P# L 0.0 loc_46: BLD +8 T LW0
  • 38. BLD: A Trick Not Used  STEP7 engineers frequently use a simple trick to hide code  The BLD instruction is used as a marker around blocks of code  The instruction has no effect on the PLC, but is interpreted by the Siemens editors. Known combinations are:  BLD 1 / 2 (FC with parameters)  BLD 3 / 4 (FB with parameters)  BLD 7 / 8  BLD 14 / 15 (FC without parameters)  BLD 103 / 104  BLD 130 / 131 / 132 / 133 / 255  The STUXNET code does not make use of this trick  It actually keeps the original BLD instructions, wasting space and simplifying analysis using Siemens tools
  • 39. BLD Hiding BLD +7 A "Always ON" // When being nasty, use this snippet JC Run UC SFC 46 // Stops the CPU Run: NOP 0 ... your code ... CC or UC of your FC's BLD +8  Call SFC46
  • 41. How Much Was Required? Attack Capability Required for Targeted Attack? CVE-2010-2568 LNK No CVE-2010-3888 Task Scheduler No CVE-2010-2743 Keyboard Layout No CVE-2010-2729 Print Spooler No CVE-2008-4250 Server Service RPC No Self-copying to network share No Peer-to-peer updating No C&C Servers No Windows rootkit & certificates No 10 AV product circumventions No Behavioral detection evasion No
  • 42. How Much Was Required? Attack Capability Required for Targeted Attack? Self-copying to WinCC Optional STEP7 project file infection Yes ICS process fingerprinting Yes STEP7 DLL Backdoor Optional PLC Virtualization Yes
  • 43. Relevant Techniques  Most of Stuxnet’s functionality is spreading, survival and persistence oriented  The measures taken are extreme  Targeted attacks on an industrial process only need a few key technologies  If the infection can be accomplished by human means, only the PLC payload stays relevant  Stuxnet demonstrates how it is done  There is still significant room for advancements, considering the complexity of Siemens S7  Similar attacks are very likely to be possible with any other PLC vendor’s equipment
  • 44. Only In Siemens-Land  Dillon Beresford showed another way at BlackHat USA 2011:  Username: basisk  Password: basisk  Compromised OS below the MC7 layer is obviously a game over scenario for any security within the PLC network.
  • 45. CURRENT AND FUTURE DEFENSES
  • 46. Current Defenses  Siemens still postulates it’s the customer’s job to secure its automation process  Code execution upon STEP7 project loading not considered a vulnerability. No fix.  Code execution through fixed passwords on WinCC servers not fixed. The password is publicly known since 2008.  At least the fixed username and password in PLC OS is supposedly removed since 2009  Air gaps? Don’t help, don’t exist.  Infected consultants and service engineers  Process performance dashboards for management  Agile production environments in supplier fabs  Virus scanners?  Have not protected anything since 1970.
  • 47. Future Defenses  Frequent reprogramming of the entire automation environment  Proposed by process engineers  May actually be the best option today  Langner Controller Integrity Checker (CIC)  Developed as response to Stuxnet  Promising first attempt on solving some of the problems  Evasion obviously possible, as it suffers from the detection paradigm (AV software) problem  Siemens specific, doesn’t help with other automation environments  Both don’t help when the underlying OS is infected
  • 48. Future Defenses  Future defenses can only get developed with a better understanding of the offense  Stuxnet targets a very specific environment  Currently flourishing research is completely utility centric (power, water, waste, railway)  Industrial Control Systems are extremely environment specific by nature  The best protection is to evaluate your own environment’s vulnerability  Based on a solid threat model, developed around your business and your likely adversaries  The only approach that has been shown to work in other emerging threat areas before
  • 49. Thank You! Felix ´FX´ Lindner Head fx@recurity-labs.com Recurity Labs GmbH, Berlin, Germany http://www.recurity-labs.com