SlideShare une entreprise Scribd logo
1  sur  72
Hacker-Machine Interface
State of SCADA HMI Vulnerabilities
Copyright 2017 Trend Micro Inc.2
Introduction
Copyright 2017 Trend Micro Inc.3
Trend Micro Zero Day Initiative
• Fritz Sands - @FritzSands
– Security Researcher – Zero Day Initiative
– Root cause analysis and vulnerability discovery
– Focused on SCADA HMI vulnerability analysis
• Brian Gorenc - @maliciousinput
– Director - Zero Day Initiative
– Root cause analysis and vulnerability discovery
– Organizer of Pwn2Own hacking competitions
Copyright 2017 Trend Micro Inc.4
SCADA Industry
Copyright 2017 Trend Micro Inc.5
Marketplace Overview
• Focused on ICS equipment sales over software sales
• Active merger and acquisition activity
• Highly regionalized
Copyright 2017 Trend Micro Inc.6
What is the Human Machine Interface?
• Main hub for managing and operating control systems
• Collects data from the control systems
• Presents visualization of the system architecture
• Alarms operator/sends notifications
• Should be operated on isolated and trusted networks
– …but it usually isn’t!
Copyright 2017 Trend Micro Inc.7
Why target the Human Machine Interface?
• Control the targeted critical infrastructure
• Harvest information about architecture
• Disable or deceive the alarm and notification systems
• Physically damage SCADA equipment
Copyright 2017 Trend Micro Inc.8
Malware Targeting HMI Solutions
• Stuxnet
– First malware created to target ICS environments
– Abused vulnerabilities
• Siemems SIMATIC STEP 7 DLL Hijacking Vulnerability (ICSA-12-205-02)
• Siemens WinCC Insecure SQL Server Authentication (ICSA-12-205-01)
• BlackEnergy
– Ongoing sophisticated malware campaign compromising ICS environments
– Abused vulnerabilities
• GE CIMIPCITY Path Traversal Vulnerabilities (ICSA-14-023-01)
• Siemens WinCC Remote Code Execution Vulnerabilities (ICSA-14-329-02D)
• Advantech WebAccess (ICS-ALERT-14-281-01B)
Copyright 2017 Trend Micro Inc.9
ICS-CERT
• Organization within United States Department of Homeland
Security
• Focuses on:
– Responding to and analyzing control systems-related incidents
– Conducting vulnerability and malware analysis
– Providing onsite incident response services
– Coordinating the responsible disclosure of vulnerabilities and
associated mitigations
• For 2015, ICS-CERT responded to 295 incidents and handled
486 vulnerability disclosures
Copyright 2017 Trend Micro Inc.10
Critical Infrastructure Attacks
Copyright 2017 Trend Micro Inc.11
Targeting Water Utilities
• Compromised internet-facing AS/400 system responsible for:
– Network routing
– Manipulation of Programmable Logic Controllers (PLC)
– Management of customer PII and billing information
• Altered settings related to water flow and amount of
chemicals that went into the water supply
• Four separate connections to the AS/400 over a 60-day
period
• Actors IP tied to previous hacktivist activities
Copyright 2017 Trend Micro Inc.12
Targeting Power Plants
• On December 24, 2015, Ukrainian companies experienced
unscheduled power outages impacting 225,000+ customers.
– Caused by external malicious actors
– Multiple coordinated attacks within 30 minutes of each other
• Used remote administration tools and/or remote industrial
control system (ICS) client software to control breakers.
• Used KillDisk to overwrite Windows-based human-machine
interface system.
– Disrupt restoration efforts
Copyright 2017 Trend Micro Inc.13
Targeting Railway and Mining Industry
• Malware similar to the power incident found in the attacks
against a Ukrainian rail and a Ukrainian mining company
– November – December 2015
• Overlap between the samples found in the Ukrainian power
incident and those apparently used against the Ukrainian
mining company
– Malware leveraged (BlackEnergy/KillDisk)
– Infrastructure
– Naming Conventions
Copyright 2017 Trend Micro Inc.14
Prevalent Vulnerability Types
Copyright 2017 Trend Micro Inc.15
Current State of HMI Solutions
• Not built with security in mind
• Seen no benefit of the evolution of the secure SDL
• Mitigations against advanced attacks are disabled
– ASLR, SafeSEH, Stack Cookies
• Poor design/developer assumptions
• Lack of understanding of real operating environment
– Not on isolated or trusted networks
– Continually being interconnected
Copyright 2017 Trend Micro Inc.16
Common Problems with HMI
Memory Corruption
Credential Management
Insecure Defaults
Authentication/Authorization
Injection
Other
Source: 2015-2016 ICS-CERT Advisories
Copyright 2017 Trend Micro Inc.17
Now let’s get down and dirty!
CASE STUDIES
Copyright 2017 Trend Micro Inc.18
Injections
• 9% of identified vulnerabilities
• Common vulnerability types
– SQL Injection
– Code Injection
– OS Command Injection
– Command Injection
• Zero Day Initiative case study
– Cogent DataHub Gamma
Command Injection
Remote Code Execution Vulnerability
Copyright 2017 Trend Micro Inc.19
Cogent DataHub Case Study
• ICS-CERT states:
– “allow an attacker to turn on an insecure processing mode in the
web server, which subsequently allows the attacker to send arbitrary
script commands to the server”
• Identifiers
– CVE-2015-3789
– ZDI-15-438
– ICSA–15–246–01
• CVSS
– 7.5
• Disclosure Timeline
– 2015–06–02 - Reported to vendor
2015–09–08 – Coordinated release
• Credit
– Discovered by: Anonymous
– Disclosed by: Zero Day Initiative
Copyright 2017 Trend Micro Inc.20
Cogent DataHub Overview
Copyright 2017 Trend Micro Inc.21
Gamma Script Overview
• Gamma is DataHub’s scripting language
• Dynamically-typed interpreted programming language
specifically designed to allow rapid development of control
and user interface applications
• Gamma has a syntax similar to C and C++, but has a range of
built-in features that make it a far better language for
developing sophisticated real-time systems
Copyright 2017 Trend Micro Inc.22
Attacker-Supplied Script Evaluation
• Flaw exists within the EvalExpression method
– Allows for execution of attacker controlled code
• Remotely accessible through the AJAX facility
– Listening on TCP port 80
• Supplying a specially formatted Gamma script allows for the
execution of arbitrary OS commands
Copyright 2017 Trend Micro Inc.23
Vulnerable Code
Copyright 2017 Trend Micro Inc.24
Exploitation Steps
1. Send a request to any Gamma script to load necessary
libraries
2. Call AJAXSupport.AllowExpressions and set
allow_any_expression to True
3. Call AJAXSupport.EvalExpression method and pass in the
script that you want executed
Copyright 2017 Trend Micro Inc.25
Exploitation Demo
Copyright 2017 Trend Micro Inc.26
Patch Analysis
Copyright 2017 Trend Micro Inc.27
Authentication/Authorization
• 12% of identified vulnerabilities
• Common vulnerability types
– Authentication Bypass Issues
– Improper Access Control
– Improper Privilege Management
– Improper Authentication
• Zero Day Initiative case study
– Advantech WebAccess upAdminPg
Information Disclosure Vulnerability
Copyright 2017 Trend Micro Inc.28
Advantech WebAccess Case Study
• ICS-CERT states:
– “A properly authenticated administrator can view passwords for
other administrators.”
• Identifiers
– CVE-2016-5810
– ZDI-16-429
– ICSA-16-173-01
• CVSS
– 6.8
• Disclosure Timeline
– 2016–05–11 - Reported to vendor
2016–07–18 – Coordinated release
• Credit
– Discovered by: Zhou Yu
– Disclosed by: Zero Day Initiative
Copyright 2017 Trend Micro Inc.29
Update your password…and view others!
• Specific flaw exists within upAdminPg.asp
– /broadWeb/user/upAdminPg.asp
• Used to update user configurations
– User Name/Password
– Description of Account
Copyright 2017 Trend Micro Inc.30
Easy steps to exploitation
1. Login known account and click ‘Project user property’.
– http://<ip>/broadWeb/user/upAdminPg.asp?uname=known&return=bwpro
2. Set uname to victim account name.
– http://<ip>/broadWeb/user/upAdminPg.asp?uname=victim&return=bwproj
3. View the source in page return and examine the password
of the user.
<tr bgcolor="#C9C9CB”>
<td width="30%" align="right"><font class=e3>Password</font></td>
<td width="70%" align="left" valign="middle”>
<input type="password" name="Password" maxlength="8" size="8" value=”secret”>
</td>
</tr>
Copyright 2017 Trend Micro Inc.31
Exploitation Demo
Copyright 2017 Trend Micro Inc.32
Insecure Defaults
• 12% of identified vulnerabilities
• Common vulnerability types
– Cleartext Transmission of Sensitive
Information
– Missing Encryption of Sensitive Info
– Unsafe ActiveX Control Marked
Safe For Scripting
• Zero Day Initiative case study
– Schneider Electric DS-NVs
Rvctl.RVControl.1 SetText
Remote Code Execution Vulnerability
– Siemens SINEMA Server Insecure File
Permissions Privilege Escalation Vulnerability
Copyright 2017 Trend Micro Inc.33
Schneider Electric Pelco DS-NVs
• ICS-CERT states:
– “products contain vulnerable DLL”
• Identifiers
– CVE-2015-0982
– ZDI-15-090
– ICSA-15-071-01
• CVSS
– 7.5
• Disclosure Timeline
– 2014–08–13 - Reported to vendor
2015–03–12 – Coordinated release
• Credit
– Discovered by: rgod and kimiya
– Disclosed by: Zero Day Initiative
Copyright 2017 Trend Micro Inc.34
ActiveX Control Settings
Copyright 2017 Trend Micro Inc.35
Proof of Concept Demo
Copyright 2017 Trend Micro Inc.36
Siemens SINEMA Server
• ICS-CERT states:
– “allow users to escalate their privileges under certain conditions”
• Identifiers
– CVE-2016-6486
– ZDI-16-478
– ICSA-16-215-02A
• CVSS
– 7.2
• Disclosure Timeline
– 2016-04-05 - Reported to vendor
2016-08-17 – Coordinated release
• Credit
– Discovered by: rgod
– Disclosed by: Zero Day Initiative
Copyright 2017 Trend Micro Inc.37
Program Files Standard Permissions
Copyright 2017 Trend Micro Inc.38
SINEMA Server Weak Permissions
Copyright 2017 Trend Micro Inc.39
Credential Management
• 19% of identified vulnerabilities
• Common vulnerability types
– Use of Hard-coded Credentials
– Storing Passwords in a Recoverable
Format
– Insufficiently Protected Credentials
• Zero Day Initiative case study
– GE MDS PulseNET Hidden Support Account
Remote Code Execution Vulnerability
Copyright 2017 Trend Micro Inc.40
GE MDS PulseNET Case Study
• ICS-CERT states:
– “The affected products contain a hard-coded support account with
full privileges.”
• Identifiers
– CVE-2015-6456
– ZDI-15-440
– ICSA-15-258-03
• CVSS
– 9.0
• Disclosure Timeline
– 2015–05–14 - Reported to vendor
2015–09–16 – Coordinated release
• Credit
– Discovered by: Andrea Micalizzi (rgod)
Disclosed by: Zero Day Initiative
Copyright 2017 Trend Micro Inc.41
User Management Panel
Copyright 2017 Trend Micro Inc.42
Actual User Database
Copyright 2017 Trend Micro Inc.43
Undocumented ge_support Account
• Exists in the sec_user table by default
• Password for this account:
– <![HDATA[MD5$8af7e0cd2c76d2faa98b71f8ca7923f9
– “Pu1seNET”
• Account offers full privileges
Copyright 2017 Trend Micro Inc.44
Exploitation Demo
Copyright 2017 Trend Micro Inc.45
Memory Corruption
• 20% of identified vulnerabilities
• Common vulnerability types
– Stack-based Buffer Overflow
– Heap-based Buffer Overflow
– Out-of-bounds Read/Write
• Zero Day Initiative case study
– Advantech WebAccess webvrpcs Service
BwOpcSvc.dll WindowName
sprintf Stack-Based Buffer Overflow
Remote Code Execution Vulnerability
Copyright 2017 Trend Micro Inc.46
Advantech WebAccess Case Study
• ICS-CERT states:
– “There are many instances where the buffer on the stack can be
overwritten”
• Identifiers
– CVE-2016-0856
– ZDI-16-048
– ICSA-16-014-01
• CVSS
– 9.3
• Disclosure Timeline
– 2015–09–17 - Reported to vendor
2016–02–05 – Coordinated release
• Credit
– Discovered by: Anonymous
– Disclosed by: Zero Day Initiative
Copyright 2017 Trend Micro Inc.47
Advantech WebAccess HMI Solution
Copyright 2017 Trend Micro Inc.48
Remotely Accessible Services
• Launches a service, webvrpcs.exe, in the context of a local
administrative users
• Services listens on TCP port 4592, by default, and may be
accessed over an RPC-based protocol
• Application interface is structured to resemble the Windows
Device IoControl function
– Each function contains a field similar to an IOCTL
Copyright 2017 Trend Micro Inc.49
Prototype of RPC function
Copyright 2017 Trend Micro Inc.50
IOCTL 0x0001388B
• Inside BwOpcSvc.dll (which is loaded into webvrpc.exe),
routine with an exported entry name of BwSvcFunction
which processes a number of entry points, using a jump
table.
• Flaw exists within the implementation of IOCTL 0x0001388B
• Stack-based buffer overflow exists in a call to sprintf using
WindowsName parameter
Copyright 2017 Trend Micro Inc.51
Vulnerable Code
Copyright 2017 Trend Micro Inc.52
Stack Layout
Copyright 2017 Trend Micro Inc.53
Application Crash
Copyright 2017 Trend Micro Inc.54
Exploitation Demo
Copyright 2017 Trend Micro Inc.55
Patch Analysis
• _sprintf is in the list of Microsoft banned APIs list
– First published in 2007
– https://msdn.microsoft.com/en-us/library/bb288454.aspx
• Advantech should implement Microsoft banned APIs and
remove all of them from shipping code
• What did they do…
Copyright 2017 Trend Micro Inc.56
Patch Analysis
• WindowName field in the stack buffer is 0x80 bytes
• _snprintf Length parameter is 0x7f bytes
Copyright 2017 Trend Micro Inc.57
Variant Analysis
1. ZDI-16-049 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
2. ZDI-16-050 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
3. ZDI-16-051 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
4. ZDI-16-052 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll sprintf Uncontrolled Format String Remote Code Execution Vulnerability
5. ZDI-16-053 - Advantech WebAccess webvrpcs Service BwBASScdDl.dll TargetHost strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
6. ZDI-16-054 - Advantech WebAccess webvrpcs Service WaDBS.dll TagName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
7. ZDI-16-055 - Advantech WebAccess webvrpcs Service BwpAlarm.dll sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
8. ZDI-16-056 - Advantech WebAccess webvrpcs Service BwpAlarm.dll sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
9. ZDI-16-057 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
10. ZDI-16-058 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName strcpy Globals Overflow Remote Code Execution Vulnerability
11. ZDI-16-059 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability
12. ZDI-16-060 - Advantech WebAccess webvrpcs Service BwpAlarm.dll HostName/ProjectName/NodeName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
13. ZDI-16-061 - Advantech WebAccess webvrpcs Service BwpAlarm.dll sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
14. ZDI-16-062 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName/NodeName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
15. ZDI-16-063 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
16. ZDI-16-064 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
17. ZDI-16-065 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
18. ZDI-16-066 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
19. ZDI-16-067 - Advantech WebAccess webvrpcs Service BwpAlarm.dll Backup RPC Hostname strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
20. ZDI-16-068 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
21. ZDI-16-069 - Advantech WebAccess webvrpcs Service BwpAlarm.dll NewPointValue strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
22. ZDI-16-070 - Advantech WebAccess webvrpcs Service BwpAlarm.dll Primary RPC Hostname strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
23. ZDI-16-071 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
24. ZDI-16-072 - Advantech WebAccess webvrpcs Service BwpAlarm.dll Backup RPC Hostname strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
Copyright 2017 Trend Micro Inc.58
Variant Analysis
25. ZDI-16-073 - Advantech WebAccess webvrpcs Service BwpAlarm.dll memcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
26. ZDI-16-074 - Advantech WebAccess webvrpcs Service BwpAlarm.dll memcpy Globals Overflow Remote Code Execution Vulnerability
27. ZDI-16-075 - Advantech WebAccess webvrpcs Service BwpAlarm.dll memcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
28. ZDI-16-076 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
29. ZDI-16-077 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
30. ZDI-16-078 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
31. ZDI-16-079 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
32. ZDI-16-080 - Advantech WebAccess webvrpcs Service ViewSrv.dll TagName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
33. ZDI-16-081 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
34. ZDI-16-082 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
35. ZDI-16-083 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
36. ZDI-16-084 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
37. ZDI-16-085 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
38. ZDI-16-086 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
39. ZDI-16-087 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
40. ZDI-16-088 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
41. ZDI-16-089 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
42. ZDI-16-090 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
43. ZDI-16-091 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
44. ZDI-16-092 - Advantech WebAccess webvrpcs Service BwKrlApi.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
45. ZDI-16-093 - Advantech WebAccess webvrpcs Service DrawSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
46. ZDI-16-094 - Advantech WebAccess webvrpcs Service DrawSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability
47. ZDI-16-095 - Advantech WebAccess webvrpcs Service DrawSrv.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
48. ZDI-16-096 - Advantech WebAccess webvrpcs Service ViewDll.dll TagGroup strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability
Copyright 2017 Trend Micro Inc.59
Variant Analysis
49. ZDI-16-097 - Advantech WebAccess webvrpcs Service ViewDll.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
50. ZDI-16-099 - Advantech WebAccess webvrpcs Service DrawSrv.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
51. ZDI-16-100 - Advantech WebAccess webvrpcs Service DrawSrv.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
52. ZDI-16-101 - Advantech WebAccess datacore Service datacore.exe Path strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability
53. ZDI-16-102 - Advantech WebAccess datacore Service datacore.exe Path strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
54. ZDI-16-103 - Advantech WebAccess datacore Service datacore.exe Path strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability
55. ZDI-16-104 - Advantech WebAccess datacore Service datacore.exe ExtDataSize Integer Overflow Remote Code Execution Vulnerability
56. ZDI-16-105 - Advantech WebAccess datacore Service datacore.exe strcpy Shared Virtual Memory Overflow Remote Code Execution Vulnerability
57. ZDI-16-106 - Advantech WebAccess datacore Service datacore.exe sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
58. ZDI-16-107 - Advantech WebAccess datacore Service datacore.exe strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
59. ZDI-16-108 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
60. ZDI-16-109 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
61. ZDI-16-110 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
62. ZDI-16-111 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
63. ZDI-16-112 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
64. ZDI-16-113 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
65. ZDI-16-114 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
66. ZDI-16-115 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
67. ZDI-16-116 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
68. ZDI-16-117 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
69. ZDI-16-118 - Advantech WebAccess datacore Service datacore.exe strncpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
70. ZDI-16-119 - Advantech WebAccess datacore Service datacore.exe AlarmMessage strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
71. ZDI-16-120 - Advantech WebAccess datacore Service datacore.exe AlarmMessage sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
72. ZDI-16-121 - Advantech WebAccess datacore Service datacore.exe AlarmMessage strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
Copyright 2017 Trend Micro Inc.60
Researcher Guidance
Copyright 2017 Trend Micro Inc.61
Basic Fuzzing
• Simple bit-flipping fuzzing is highly effective against HMI
– Look for new file associations during installations
• Don’t forget to enable page heap to find heap corruption
– gflags.exe /i hmi.exe +hpa +ust
• Leverage existing tools and frameworks
– radamsa
– sqlmap
Copyright 2017 Trend Micro Inc.62
Microsoft’s Attack Surface Analyzer
• Released in 2012
• Creates snapshots before and after installation
• Highlights security misconfigurations
– Registry settings and file permissions
• Provides a list of auditable system modifications
– COM objects
– ActiveX controls
– File associations
– RPC endpoints
Copyright 2017 Trend Micro Inc.63
Attack Surface Analyzer Report
Copyright 2017 Trend Micro Inc.64
Attack Surface Analyzer Report
Copyright 2017 Trend Micro Inc.65
Audit for Banned APIs
• C runtime has many APIs with serious security programs
• Microsoft banned use of problematic C library functions
– “The Security Development Lifecycle” (Microsoft, 2006)
– Security Development Lifecycle Banned Function Calls
https://msdn.microsoft.com/en-us/library/bb288454.aspx
• Depressingly common in HMI code, with predictable
negative impacts
• IDA is extremely valuable tool for auditing for inappropriate
uses
Copyright 2017 Trend Micro Inc.66
Disclosure Statistics
Copyright 2017 Trend Micro Inc.67
Vulnerability Exposure Windows
0
20
40
60
80
100
120
140
160
180
2013 2014 2015 2016
Copyright 2017 Trend Micro Inc.68
Vendor Response Times
0
50
100
150
200
250
ABB Advantech Codesys Cogent
Real-Time
Systems
Ecava GE Honeywell Indusoft MICROSYS PTC Rockwell
Automation
Schneider
Electric
Tibbo Trihedral
Engineering
Ltd
Unitronics WellinTech
Copyright 2017 Trend Micro Inc.69
Industry by Industry Comparison
0
20
40
60
80
100
120
140
160
180
200
Business Highly-Deployed SCADA Security
Copyright 2017 Trend Micro Inc.70
Conclusions
Copyright 2017 Trend Micro Inc.71
Go find bugs!
• ICS-focused malware actively exploiting HMI vulnerabilities
• HMI codebases plagued with critical vulnerabilities
• Simple techniques can be used to find vulnerabilities
• Exposure windows is ~150 days leaving critical infrastructure
vulnerable
https://documents.trendmicro.com/assets/wp/wp-hacker-machine-interface.pdf
Copyright 2017 Trend Micro Inc.72
Questions?
www.zerodayinitiative.com
@thezdi

Contenu connexe

Tendances

Inherent Security Design Patterns for SDN/NFV Deployments
Inherent Security Design Patterns for SDN/NFV DeploymentsInherent Security Design Patterns for SDN/NFV Deployments
Inherent Security Design Patterns for SDN/NFV DeploymentsOPNFV
 
Industrial Threats Landscape, H2'2017
Industrial Threats Landscape, H2'2017Industrial Threats Landscape, H2'2017
Industrial Threats Landscape, H2'2017Kaspersky
 
BGA SOME/SOC Etkinliği - Tehdit Odaklı Güvenlik Mimarisinde Sourcefire Yakla...
BGA SOME/SOC Etkinliği - Tehdit  Odaklı Güvenlik Mimarisinde Sourcefire Yakla...BGA SOME/SOC Etkinliği - Tehdit  Odaklı Güvenlik Mimarisinde Sourcefire Yakla...
BGA SOME/SOC Etkinliği - Tehdit Odaklı Güvenlik Mimarisinde Sourcefire Yakla...BGA Cyber Security
 
«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...
«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...
«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...Mail.ru Group
 
Standards and methodology for application security assessment
Standards and methodology for application security assessment Standards and methodology for application security assessment
Standards and methodology for application security assessment Mykhailo Antonishyn
 
McAfee MOVE & Endpoint Security
McAfee MOVE & Endpoint SecurityMcAfee MOVE & Endpoint Security
McAfee MOVE & Endpoint Securitynetlogix
 
Hacking IoT with EXPLIoT Framework
Hacking IoT with EXPLIoT FrameworkHacking IoT with EXPLIoT Framework
Hacking IoT with EXPLIoT FrameworkPriyanka Aash
 
Microsoft Avanced Threat Analytics
Microsoft Avanced Threat AnalyticsMicrosoft Avanced Threat Analytics
Microsoft Avanced Threat AnalyticsAdeo Security
 
TRISIS in Perspective
TRISIS in PerspectiveTRISIS in Perspective
TRISIS in PerspectiveDragos, Inc.
 
New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever
 New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever
New OSSIM v5.0 - Get Security Visibility Faster & Easier Than EverAlienVault
 
Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...
Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...
Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...Symantec
 
VMUGIT UC 2013 - 03b Trend Micro
VMUGIT UC 2013 - 03b Trend MicroVMUGIT UC 2013 - 03b Trend Micro
VMUGIT UC 2013 - 03b Trend MicroVMUG IT
 
Mobile Security at OWASP - MASVS and MSTG
Mobile Security at OWASP - MASVS and MSTGMobile Security at OWASP - MASVS and MSTG
Mobile Security at OWASP - MASVS and MSTGRomuald SZKUDLAREK
 
8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...
8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...
8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...BGA Cyber Security
 
Certificate Pinning in Mobile Applications
Certificate Pinning in Mobile ApplicationsCertificate Pinning in Mobile Applications
Certificate Pinning in Mobile ApplicationsLuca Bongiorni
 
【HITCON FreeTalk 2021 - SolarWinds 供應鏈攻擊事件分析】
【HITCON FreeTalk 2021 -  SolarWinds 供應鏈攻擊事件分析】【HITCON FreeTalk 2021 -  SolarWinds 供應鏈攻擊事件分析】
【HITCON FreeTalk 2021 - SolarWinds 供應鏈攻擊事件分析】Hacks in Taiwan (HITCON)
 

Tendances (20)

Inherent Security Design Patterns for SDN/NFV Deployments
Inherent Security Design Patterns for SDN/NFV DeploymentsInherent Security Design Patterns for SDN/NFV Deployments
Inherent Security Design Patterns for SDN/NFV Deployments
 
Industrial Threats Landscape, H2'2017
Industrial Threats Landscape, H2'2017Industrial Threats Landscape, H2'2017
Industrial Threats Landscape, H2'2017
 
BGA SOME/SOC Etkinliği - Tehdit Odaklı Güvenlik Mimarisinde Sourcefire Yakla...
BGA SOME/SOC Etkinliği - Tehdit  Odaklı Güvenlik Mimarisinde Sourcefire Yakla...BGA SOME/SOC Etkinliği - Tehdit  Odaklı Güvenlik Mimarisinde Sourcefire Yakla...
BGA SOME/SOC Etkinliği - Tehdit Odaklı Güvenlik Mimarisinde Sourcefire Yakla...
 
«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...
«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...
«Product Security Incident Response Team (PSIRT) - Изнутри Cisco PSIRT», Алек...
 
Standards and methodology for application security assessment
Standards and methodology for application security assessment Standards and methodology for application security assessment
Standards and methodology for application security assessment
 
McAfee MOVE & Endpoint Security
McAfee MOVE & Endpoint SecurityMcAfee MOVE & Endpoint Security
McAfee MOVE & Endpoint Security
 
Hacking IoT with EXPLIoT Framework
Hacking IoT with EXPLIoT FrameworkHacking IoT with EXPLIoT Framework
Hacking IoT with EXPLIoT Framework
 
Microsoft Avanced Threat Analytics
Microsoft Avanced Threat AnalyticsMicrosoft Avanced Threat Analytics
Microsoft Avanced Threat Analytics
 
TRISIS in Perspective
TRISIS in PerspectiveTRISIS in Perspective
TRISIS in Perspective
 
New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever
 New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever
New OSSIM v5.0 - Get Security Visibility Faster & Easier Than Ever
 
Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...
Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...
Simplifying Security for SMBs: Introducing Symantec Endpoint Protection Small...
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Owasp masvs spain 17
Owasp masvs spain 17Owasp masvs spain 17
Owasp masvs spain 17
 
VMUGIT UC 2013 - 03b Trend Micro
VMUGIT UC 2013 - 03b Trend MicroVMUGIT UC 2013 - 03b Trend Micro
VMUGIT UC 2013 - 03b Trend Micro
 
Mobile Security at OWASP - MASVS and MSTG
Mobile Security at OWASP - MASVS and MSTGMobile Security at OWASP - MASVS and MSTG
Mobile Security at OWASP - MASVS and MSTG
 
8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...
8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...
8 Ocak 2015 SOME Etkinligi - A10 Networks - Accelerating and Securing Applica...
 
Ecosystem
EcosystemEcosystem
Ecosystem
 
Certificate Pinning in Mobile Applications
Certificate Pinning in Mobile ApplicationsCertificate Pinning in Mobile Applications
Certificate Pinning in Mobile Applications
 
【HITCON FreeTalk 2021 - SolarWinds 供應鏈攻擊事件分析】
【HITCON FreeTalk 2021 -  SolarWinds 供應鏈攻擊事件分析】【HITCON FreeTalk 2021 -  SolarWinds 供應鏈攻擊事件分析】
【HITCON FreeTalk 2021 - SolarWinds 供應鏈攻擊事件分析】
 
Check point response to Cisco NGFW competitive
Check point response to Cisco NGFW competitiveCheck point response to Cisco NGFW competitive
Check point response to Cisco NGFW competitive
 

Similaire à HMI Vulnerabilities Explained

How to protect my cloud workload from Ransomware?
How to protect my cloud workload from Ransomware?How to protect my cloud workload from Ransomware?
How to protect my cloud workload from Ransomware?Raphael Bottino
 
Solvay secure application layer v2015 seba
Solvay secure application layer v2015   sebaSolvay secure application layer v2015   seba
Solvay secure application layer v2015 sebaSebastien Deleersnyder
 
Cyber security for business
Cyber security for businessCyber security for business
Cyber security for businessDaniel Thomas
 
Custom defense - Blake final
Custom defense  - Blake finalCustom defense  - Blake final
Custom defense - Blake finalMinh Le
 
Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...Cenzic
 
CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...
CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...
CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...TI Safe
 
Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)
Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)
Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)Shah Sheikh
 
Automating Event Driven Security in the AWS Cloud
Automating Event Driven Security in the AWS CloudAutomating Event Driven Security in the AWS Cloud
Automating Event Driven Security in the AWS CloudAmazon Web Services
 
2016, A New Era of OS and Cloud Security - Tudor Damian
2016, A New Era of OS and Cloud Security - Tudor Damian2016, A New Era of OS and Cloud Security - Tudor Damian
2016, A New Era of OS and Cloud Security - Tudor DamianITCamp
 
CyberCrime in the Cloud and How to defend Yourself
CyberCrime in the Cloud and How to defend Yourself CyberCrime in the Cloud and How to defend Yourself
CyberCrime in the Cloud and How to defend Yourself Alert Logic
 
2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud Security2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud SecurityTudor Damian
 
Symantec Webinar: What Cyber Threats Are Lurking in Your Network?
Symantec Webinar: What Cyber Threats Are Lurking in Your Network?Symantec Webinar: What Cyber Threats Are Lurking in Your Network?
Symantec Webinar: What Cyber Threats Are Lurking in Your Network?Symantec
 
Security Breakout Session
Security Breakout Session Security Breakout Session
Security Breakout Session Splunk
 
Security in the age of open source - Myths and misperceptions
Security in the age of open source - Myths and misperceptionsSecurity in the age of open source - Myths and misperceptions
Security in the age of open source - Myths and misperceptionsTim Mackey
 
Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017TriNimbus
 
The New Security Practitioner
The New Security PractitionerThe New Security Practitioner
The New Security PractitionerAdrian Sanabria
 
PT-DTS SCADA Security using MaxPatrol
PT-DTS SCADA Security using MaxPatrolPT-DTS SCADA Security using MaxPatrol
PT-DTS SCADA Security using MaxPatrolShah Sheikh
 
TrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data CenterTrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data CenterVMUG IT
 
Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?
Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?
Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?360mnbsu
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecLalit Kale
 

Similaire à HMI Vulnerabilities Explained (20)

How to protect my cloud workload from Ransomware?
How to protect my cloud workload from Ransomware?How to protect my cloud workload from Ransomware?
How to protect my cloud workload from Ransomware?
 
Solvay secure application layer v2015 seba
Solvay secure application layer v2015   sebaSolvay secure application layer v2015   seba
Solvay secure application layer v2015 seba
 
Cyber security for business
Cyber security for businessCyber security for business
Cyber security for business
 
Custom defense - Blake final
Custom defense  - Blake finalCustom defense  - Blake final
Custom defense - Blake final
 
Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...
 
CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...
CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...
CLASS 2018 - Palestra de Shad Harris (Senior Subject Matter Expert on Securit...
 
Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)
Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)
Cyber Security 101 - Back to Basics (HP Secure Print Event 2018)
 
Automating Event Driven Security in the AWS Cloud
Automating Event Driven Security in the AWS CloudAutomating Event Driven Security in the AWS Cloud
Automating Event Driven Security in the AWS Cloud
 
2016, A New Era of OS and Cloud Security - Tudor Damian
2016, A New Era of OS and Cloud Security - Tudor Damian2016, A New Era of OS and Cloud Security - Tudor Damian
2016, A New Era of OS and Cloud Security - Tudor Damian
 
CyberCrime in the Cloud and How to defend Yourself
CyberCrime in the Cloud and How to defend Yourself CyberCrime in the Cloud and How to defend Yourself
CyberCrime in the Cloud and How to defend Yourself
 
2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud Security2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud Security
 
Symantec Webinar: What Cyber Threats Are Lurking in Your Network?
Symantec Webinar: What Cyber Threats Are Lurking in Your Network?Symantec Webinar: What Cyber Threats Are Lurking in Your Network?
Symantec Webinar: What Cyber Threats Are Lurking in Your Network?
 
Security Breakout Session
Security Breakout Session Security Breakout Session
Security Breakout Session
 
Security in the age of open source - Myths and misperceptions
Security in the age of open source - Myths and misperceptionsSecurity in the age of open source - Myths and misperceptions
Security in the age of open source - Myths and misperceptions
 
Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017
 
The New Security Practitioner
The New Security PractitionerThe New Security Practitioner
The New Security Practitioner
 
PT-DTS SCADA Security using MaxPatrol
PT-DTS SCADA Security using MaxPatrolPT-DTS SCADA Security using MaxPatrol
PT-DTS SCADA Security using MaxPatrol
 
TrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data CenterTrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data Center
 
Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?
Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?
Brian Isle: The Internet of Things: Manufacturing Panacea - or - Hacker's Dream?
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSec
 

Plus de Positive Hack Days

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Positive Hack Days
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для ApproofPositive Hack Days
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Positive Hack Days
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложенийPositive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложенийPositive Hack Days
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application SecurityPositive Hack Days
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОPositive Hack Days
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CorePositive Hack Days
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опытPositive Hack Days
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterPositive Hack Days
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиPositive Hack Days
 

Plus de Positive Hack Days (20)

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 

Dernier

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Dernier (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

HMI Vulnerabilities Explained

  • 1. Hacker-Machine Interface State of SCADA HMI Vulnerabilities
  • 2. Copyright 2017 Trend Micro Inc.2 Introduction
  • 3. Copyright 2017 Trend Micro Inc.3 Trend Micro Zero Day Initiative • Fritz Sands - @FritzSands – Security Researcher – Zero Day Initiative – Root cause analysis and vulnerability discovery – Focused on SCADA HMI vulnerability analysis • Brian Gorenc - @maliciousinput – Director - Zero Day Initiative – Root cause analysis and vulnerability discovery – Organizer of Pwn2Own hacking competitions
  • 4. Copyright 2017 Trend Micro Inc.4 SCADA Industry
  • 5. Copyright 2017 Trend Micro Inc.5 Marketplace Overview • Focused on ICS equipment sales over software sales • Active merger and acquisition activity • Highly regionalized
  • 6. Copyright 2017 Trend Micro Inc.6 What is the Human Machine Interface? • Main hub for managing and operating control systems • Collects data from the control systems • Presents visualization of the system architecture • Alarms operator/sends notifications • Should be operated on isolated and trusted networks – …but it usually isn’t!
  • 7. Copyright 2017 Trend Micro Inc.7 Why target the Human Machine Interface? • Control the targeted critical infrastructure • Harvest information about architecture • Disable or deceive the alarm and notification systems • Physically damage SCADA equipment
  • 8. Copyright 2017 Trend Micro Inc.8 Malware Targeting HMI Solutions • Stuxnet – First malware created to target ICS environments – Abused vulnerabilities • Siemems SIMATIC STEP 7 DLL Hijacking Vulnerability (ICSA-12-205-02) • Siemens WinCC Insecure SQL Server Authentication (ICSA-12-205-01) • BlackEnergy – Ongoing sophisticated malware campaign compromising ICS environments – Abused vulnerabilities • GE CIMIPCITY Path Traversal Vulnerabilities (ICSA-14-023-01) • Siemens WinCC Remote Code Execution Vulnerabilities (ICSA-14-329-02D) • Advantech WebAccess (ICS-ALERT-14-281-01B)
  • 9. Copyright 2017 Trend Micro Inc.9 ICS-CERT • Organization within United States Department of Homeland Security • Focuses on: – Responding to and analyzing control systems-related incidents – Conducting vulnerability and malware analysis – Providing onsite incident response services – Coordinating the responsible disclosure of vulnerabilities and associated mitigations • For 2015, ICS-CERT responded to 295 incidents and handled 486 vulnerability disclosures
  • 10. Copyright 2017 Trend Micro Inc.10 Critical Infrastructure Attacks
  • 11. Copyright 2017 Trend Micro Inc.11 Targeting Water Utilities • Compromised internet-facing AS/400 system responsible for: – Network routing – Manipulation of Programmable Logic Controllers (PLC) – Management of customer PII and billing information • Altered settings related to water flow and amount of chemicals that went into the water supply • Four separate connections to the AS/400 over a 60-day period • Actors IP tied to previous hacktivist activities
  • 12. Copyright 2017 Trend Micro Inc.12 Targeting Power Plants • On December 24, 2015, Ukrainian companies experienced unscheduled power outages impacting 225,000+ customers. – Caused by external malicious actors – Multiple coordinated attacks within 30 minutes of each other • Used remote administration tools and/or remote industrial control system (ICS) client software to control breakers. • Used KillDisk to overwrite Windows-based human-machine interface system. – Disrupt restoration efforts
  • 13. Copyright 2017 Trend Micro Inc.13 Targeting Railway and Mining Industry • Malware similar to the power incident found in the attacks against a Ukrainian rail and a Ukrainian mining company – November – December 2015 • Overlap between the samples found in the Ukrainian power incident and those apparently used against the Ukrainian mining company – Malware leveraged (BlackEnergy/KillDisk) – Infrastructure – Naming Conventions
  • 14. Copyright 2017 Trend Micro Inc.14 Prevalent Vulnerability Types
  • 15. Copyright 2017 Trend Micro Inc.15 Current State of HMI Solutions • Not built with security in mind • Seen no benefit of the evolution of the secure SDL • Mitigations against advanced attacks are disabled – ASLR, SafeSEH, Stack Cookies • Poor design/developer assumptions • Lack of understanding of real operating environment – Not on isolated or trusted networks – Continually being interconnected
  • 16. Copyright 2017 Trend Micro Inc.16 Common Problems with HMI Memory Corruption Credential Management Insecure Defaults Authentication/Authorization Injection Other Source: 2015-2016 ICS-CERT Advisories
  • 17. Copyright 2017 Trend Micro Inc.17 Now let’s get down and dirty! CASE STUDIES
  • 18. Copyright 2017 Trend Micro Inc.18 Injections • 9% of identified vulnerabilities • Common vulnerability types – SQL Injection – Code Injection – OS Command Injection – Command Injection • Zero Day Initiative case study – Cogent DataHub Gamma Command Injection Remote Code Execution Vulnerability
  • 19. Copyright 2017 Trend Micro Inc.19 Cogent DataHub Case Study • ICS-CERT states: – “allow an attacker to turn on an insecure processing mode in the web server, which subsequently allows the attacker to send arbitrary script commands to the server” • Identifiers – CVE-2015-3789 – ZDI-15-438 – ICSA–15–246–01 • CVSS – 7.5 • Disclosure Timeline – 2015–06–02 - Reported to vendor 2015–09–08 – Coordinated release • Credit – Discovered by: Anonymous – Disclosed by: Zero Day Initiative
  • 20. Copyright 2017 Trend Micro Inc.20 Cogent DataHub Overview
  • 21. Copyright 2017 Trend Micro Inc.21 Gamma Script Overview • Gamma is DataHub’s scripting language • Dynamically-typed interpreted programming language specifically designed to allow rapid development of control and user interface applications • Gamma has a syntax similar to C and C++, but has a range of built-in features that make it a far better language for developing sophisticated real-time systems
  • 22. Copyright 2017 Trend Micro Inc.22 Attacker-Supplied Script Evaluation • Flaw exists within the EvalExpression method – Allows for execution of attacker controlled code • Remotely accessible through the AJAX facility – Listening on TCP port 80 • Supplying a specially formatted Gamma script allows for the execution of arbitrary OS commands
  • 23. Copyright 2017 Trend Micro Inc.23 Vulnerable Code
  • 24. Copyright 2017 Trend Micro Inc.24 Exploitation Steps 1. Send a request to any Gamma script to load necessary libraries 2. Call AJAXSupport.AllowExpressions and set allow_any_expression to True 3. Call AJAXSupport.EvalExpression method and pass in the script that you want executed
  • 25. Copyright 2017 Trend Micro Inc.25 Exploitation Demo
  • 26. Copyright 2017 Trend Micro Inc.26 Patch Analysis
  • 27. Copyright 2017 Trend Micro Inc.27 Authentication/Authorization • 12% of identified vulnerabilities • Common vulnerability types – Authentication Bypass Issues – Improper Access Control – Improper Privilege Management – Improper Authentication • Zero Day Initiative case study – Advantech WebAccess upAdminPg Information Disclosure Vulnerability
  • 28. Copyright 2017 Trend Micro Inc.28 Advantech WebAccess Case Study • ICS-CERT states: – “A properly authenticated administrator can view passwords for other administrators.” • Identifiers – CVE-2016-5810 – ZDI-16-429 – ICSA-16-173-01 • CVSS – 6.8 • Disclosure Timeline – 2016–05–11 - Reported to vendor 2016–07–18 – Coordinated release • Credit – Discovered by: Zhou Yu – Disclosed by: Zero Day Initiative
  • 29. Copyright 2017 Trend Micro Inc.29 Update your password…and view others! • Specific flaw exists within upAdminPg.asp – /broadWeb/user/upAdminPg.asp • Used to update user configurations – User Name/Password – Description of Account
  • 30. Copyright 2017 Trend Micro Inc.30 Easy steps to exploitation 1. Login known account and click ‘Project user property’. – http://<ip>/broadWeb/user/upAdminPg.asp?uname=known&return=bwpro 2. Set uname to victim account name. – http://<ip>/broadWeb/user/upAdminPg.asp?uname=victim&return=bwproj 3. View the source in page return and examine the password of the user. <tr bgcolor="#C9C9CB”> <td width="30%" align="right"><font class=e3>Password</font></td> <td width="70%" align="left" valign="middle”> <input type="password" name="Password" maxlength="8" size="8" value=”secret”> </td> </tr>
  • 31. Copyright 2017 Trend Micro Inc.31 Exploitation Demo
  • 32. Copyright 2017 Trend Micro Inc.32 Insecure Defaults • 12% of identified vulnerabilities • Common vulnerability types – Cleartext Transmission of Sensitive Information – Missing Encryption of Sensitive Info – Unsafe ActiveX Control Marked Safe For Scripting • Zero Day Initiative case study – Schneider Electric DS-NVs Rvctl.RVControl.1 SetText Remote Code Execution Vulnerability – Siemens SINEMA Server Insecure File Permissions Privilege Escalation Vulnerability
  • 33. Copyright 2017 Trend Micro Inc.33 Schneider Electric Pelco DS-NVs • ICS-CERT states: – “products contain vulnerable DLL” • Identifiers – CVE-2015-0982 – ZDI-15-090 – ICSA-15-071-01 • CVSS – 7.5 • Disclosure Timeline – 2014–08–13 - Reported to vendor 2015–03–12 – Coordinated release • Credit – Discovered by: rgod and kimiya – Disclosed by: Zero Day Initiative
  • 34. Copyright 2017 Trend Micro Inc.34 ActiveX Control Settings
  • 35. Copyright 2017 Trend Micro Inc.35 Proof of Concept Demo
  • 36. Copyright 2017 Trend Micro Inc.36 Siemens SINEMA Server • ICS-CERT states: – “allow users to escalate their privileges under certain conditions” • Identifiers – CVE-2016-6486 – ZDI-16-478 – ICSA-16-215-02A • CVSS – 7.2 • Disclosure Timeline – 2016-04-05 - Reported to vendor 2016-08-17 – Coordinated release • Credit – Discovered by: rgod – Disclosed by: Zero Day Initiative
  • 37. Copyright 2017 Trend Micro Inc.37 Program Files Standard Permissions
  • 38. Copyright 2017 Trend Micro Inc.38 SINEMA Server Weak Permissions
  • 39. Copyright 2017 Trend Micro Inc.39 Credential Management • 19% of identified vulnerabilities • Common vulnerability types – Use of Hard-coded Credentials – Storing Passwords in a Recoverable Format – Insufficiently Protected Credentials • Zero Day Initiative case study – GE MDS PulseNET Hidden Support Account Remote Code Execution Vulnerability
  • 40. Copyright 2017 Trend Micro Inc.40 GE MDS PulseNET Case Study • ICS-CERT states: – “The affected products contain a hard-coded support account with full privileges.” • Identifiers – CVE-2015-6456 – ZDI-15-440 – ICSA-15-258-03 • CVSS – 9.0 • Disclosure Timeline – 2015–05–14 - Reported to vendor 2015–09–16 – Coordinated release • Credit – Discovered by: Andrea Micalizzi (rgod) Disclosed by: Zero Day Initiative
  • 41. Copyright 2017 Trend Micro Inc.41 User Management Panel
  • 42. Copyright 2017 Trend Micro Inc.42 Actual User Database
  • 43. Copyright 2017 Trend Micro Inc.43 Undocumented ge_support Account • Exists in the sec_user table by default • Password for this account: – <![HDATA[MD5$8af7e0cd2c76d2faa98b71f8ca7923f9 – “Pu1seNET” • Account offers full privileges
  • 44. Copyright 2017 Trend Micro Inc.44 Exploitation Demo
  • 45. Copyright 2017 Trend Micro Inc.45 Memory Corruption • 20% of identified vulnerabilities • Common vulnerability types – Stack-based Buffer Overflow – Heap-based Buffer Overflow – Out-of-bounds Read/Write • Zero Day Initiative case study – Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability
  • 46. Copyright 2017 Trend Micro Inc.46 Advantech WebAccess Case Study • ICS-CERT states: – “There are many instances where the buffer on the stack can be overwritten” • Identifiers – CVE-2016-0856 – ZDI-16-048 – ICSA-16-014-01 • CVSS – 9.3 • Disclosure Timeline – 2015–09–17 - Reported to vendor 2016–02–05 – Coordinated release • Credit – Discovered by: Anonymous – Disclosed by: Zero Day Initiative
  • 47. Copyright 2017 Trend Micro Inc.47 Advantech WebAccess HMI Solution
  • 48. Copyright 2017 Trend Micro Inc.48 Remotely Accessible Services • Launches a service, webvrpcs.exe, in the context of a local administrative users • Services listens on TCP port 4592, by default, and may be accessed over an RPC-based protocol • Application interface is structured to resemble the Windows Device IoControl function – Each function contains a field similar to an IOCTL
  • 49. Copyright 2017 Trend Micro Inc.49 Prototype of RPC function
  • 50. Copyright 2017 Trend Micro Inc.50 IOCTL 0x0001388B • Inside BwOpcSvc.dll (which is loaded into webvrpc.exe), routine with an exported entry name of BwSvcFunction which processes a number of entry points, using a jump table. • Flaw exists within the implementation of IOCTL 0x0001388B • Stack-based buffer overflow exists in a call to sprintf using WindowsName parameter
  • 51. Copyright 2017 Trend Micro Inc.51 Vulnerable Code
  • 52. Copyright 2017 Trend Micro Inc.52 Stack Layout
  • 53. Copyright 2017 Trend Micro Inc.53 Application Crash
  • 54. Copyright 2017 Trend Micro Inc.54 Exploitation Demo
  • 55. Copyright 2017 Trend Micro Inc.55 Patch Analysis • _sprintf is in the list of Microsoft banned APIs list – First published in 2007 – https://msdn.microsoft.com/en-us/library/bb288454.aspx • Advantech should implement Microsoft banned APIs and remove all of them from shipping code • What did they do…
  • 56. Copyright 2017 Trend Micro Inc.56 Patch Analysis • WindowName field in the stack buffer is 0x80 bytes • _snprintf Length parameter is 0x7f bytes
  • 57. Copyright 2017 Trend Micro Inc.57 Variant Analysis 1. ZDI-16-049 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 2. ZDI-16-050 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 3. ZDI-16-051 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll WindowName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 4. ZDI-16-052 - Advantech WebAccess webvrpcs Service BwOpcSvc.dll sprintf Uncontrolled Format String Remote Code Execution Vulnerability 5. ZDI-16-053 - Advantech WebAccess webvrpcs Service BwBASScdDl.dll TargetHost strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 6. ZDI-16-054 - Advantech WebAccess webvrpcs Service WaDBS.dll TagName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 7. ZDI-16-055 - Advantech WebAccess webvrpcs Service BwpAlarm.dll sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 8. ZDI-16-056 - Advantech WebAccess webvrpcs Service BwpAlarm.dll sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 9. ZDI-16-057 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 10. ZDI-16-058 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName strcpy Globals Overflow Remote Code Execution Vulnerability 11. ZDI-16-059 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability 12. ZDI-16-060 - Advantech WebAccess webvrpcs Service BwpAlarm.dll HostName/ProjectName/NodeName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 13. ZDI-16-061 - Advantech WebAccess webvrpcs Service BwpAlarm.dll sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 14. ZDI-16-062 - Advantech WebAccess webvrpcs Service BwpAlarm.dll ProjectName/NodeName sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 15. ZDI-16-063 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 16. ZDI-16-064 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 17. ZDI-16-065 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 18. ZDI-16-066 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 19. ZDI-16-067 - Advantech WebAccess webvrpcs Service BwpAlarm.dll Backup RPC Hostname strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 20. ZDI-16-068 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 21. ZDI-16-069 - Advantech WebAccess webvrpcs Service BwpAlarm.dll NewPointValue strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 22. ZDI-16-070 - Advantech WebAccess webvrpcs Service BwpAlarm.dll Primary RPC Hostname strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 23. ZDI-16-071 - Advantech WebAccess webvrpcs Service BwpAlarm.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 24. ZDI-16-072 - Advantech WebAccess webvrpcs Service BwpAlarm.dll Backup RPC Hostname strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability
  • 58. Copyright 2017 Trend Micro Inc.58 Variant Analysis 25. ZDI-16-073 - Advantech WebAccess webvrpcs Service BwpAlarm.dll memcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 26. ZDI-16-074 - Advantech WebAccess webvrpcs Service BwpAlarm.dll memcpy Globals Overflow Remote Code Execution Vulnerability 27. ZDI-16-075 - Advantech WebAccess webvrpcs Service BwpAlarm.dll memcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 28. ZDI-16-076 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 29. ZDI-16-077 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 30. ZDI-16-078 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 31. ZDI-16-079 - Advantech WebAccess webvrpcs Service ViewSrv.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 32. ZDI-16-080 - Advantech WebAccess webvrpcs Service ViewSrv.dll TagName strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 33. ZDI-16-081 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 34. ZDI-16-082 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 35. ZDI-16-083 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 36. ZDI-16-084 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 37. ZDI-16-085 - Advantech WebAccess webvrpcs Service ViewSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 38. ZDI-16-086 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 39. ZDI-16-087 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 40. ZDI-16-088 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 41. ZDI-16-089 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 42. ZDI-16-090 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 43. ZDI-16-091 - Advantech WebAccess webvrpcs Service BwKrlApi.dll strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 44. ZDI-16-092 - Advantech WebAccess webvrpcs Service BwKrlApi.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 45. ZDI-16-093 - Advantech WebAccess webvrpcs Service DrawSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 46. ZDI-16-094 - Advantech WebAccess webvrpcs Service DrawSrv.dll Path BwBuildPath Stack-Based Buffer Overflow Remote Code Execution Vulnerability 47. ZDI-16-095 - Advantech WebAccess webvrpcs Service DrawSrv.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 48. ZDI-16-096 - Advantech WebAccess webvrpcs Service ViewDll.dll TagGroup strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability
  • 59. Copyright 2017 Trend Micro Inc.59 Variant Analysis 49. ZDI-16-097 - Advantech WebAccess webvrpcs Service ViewDll.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 50. ZDI-16-099 - Advantech WebAccess webvrpcs Service DrawSrv.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 51. ZDI-16-100 - Advantech WebAccess webvrpcs Service DrawSrv.dll TagGroup strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 52. ZDI-16-101 - Advantech WebAccess datacore Service datacore.exe Path strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability 53. ZDI-16-102 - Advantech WebAccess datacore Service datacore.exe Path strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 54. ZDI-16-103 - Advantech WebAccess datacore Service datacore.exe Path strcat Stack-Based Buffer Overflow Remote Code Execution Vulnerability 55. ZDI-16-104 - Advantech WebAccess datacore Service datacore.exe ExtDataSize Integer Overflow Remote Code Execution Vulnerability 56. ZDI-16-105 - Advantech WebAccess datacore Service datacore.exe strcpy Shared Virtual Memory Overflow Remote Code Execution Vulnerability 57. ZDI-16-106 - Advantech WebAccess datacore Service datacore.exe sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 58. ZDI-16-107 - Advantech WebAccess datacore Service datacore.exe strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 59. ZDI-16-108 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 60. ZDI-16-109 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 61. ZDI-16-110 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 62. ZDI-16-111 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 63. ZDI-16-112 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 64. ZDI-16-113 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 65. ZDI-16-114 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 66. ZDI-16-115 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 67. ZDI-16-116 - Advantech WebAccess datacore Service datacore.exe strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 68. ZDI-16-117 - Advantech WebAccess datacore Service datacore.exe Username strcpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 69. ZDI-16-118 - Advantech WebAccess datacore Service datacore.exe strncpy Stack-Based Buffer Overflow Remote Code Execution Vulnerability 70. ZDI-16-119 - Advantech WebAccess datacore Service datacore.exe AlarmMessage strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability 71. ZDI-16-120 - Advantech WebAccess datacore Service datacore.exe AlarmMessage sprintf Stack-Based Buffer Overflow Remote Code Execution Vulnerability 72. ZDI-16-121 - Advantech WebAccess datacore Service datacore.exe AlarmMessage strcpy Heap-Based Buffer Overflow Remote Code Execution Vulnerability
  • 60. Copyright 2017 Trend Micro Inc.60 Researcher Guidance
  • 61. Copyright 2017 Trend Micro Inc.61 Basic Fuzzing • Simple bit-flipping fuzzing is highly effective against HMI – Look for new file associations during installations • Don’t forget to enable page heap to find heap corruption – gflags.exe /i hmi.exe +hpa +ust • Leverage existing tools and frameworks – radamsa – sqlmap
  • 62. Copyright 2017 Trend Micro Inc.62 Microsoft’s Attack Surface Analyzer • Released in 2012 • Creates snapshots before and after installation • Highlights security misconfigurations – Registry settings and file permissions • Provides a list of auditable system modifications – COM objects – ActiveX controls – File associations – RPC endpoints
  • 63. Copyright 2017 Trend Micro Inc.63 Attack Surface Analyzer Report
  • 64. Copyright 2017 Trend Micro Inc.64 Attack Surface Analyzer Report
  • 65. Copyright 2017 Trend Micro Inc.65 Audit for Banned APIs • C runtime has many APIs with serious security programs • Microsoft banned use of problematic C library functions – “The Security Development Lifecycle” (Microsoft, 2006) – Security Development Lifecycle Banned Function Calls https://msdn.microsoft.com/en-us/library/bb288454.aspx • Depressingly common in HMI code, with predictable negative impacts • IDA is extremely valuable tool for auditing for inappropriate uses
  • 66. Copyright 2017 Trend Micro Inc.66 Disclosure Statistics
  • 67. Copyright 2017 Trend Micro Inc.67 Vulnerability Exposure Windows 0 20 40 60 80 100 120 140 160 180 2013 2014 2015 2016
  • 68. Copyright 2017 Trend Micro Inc.68 Vendor Response Times 0 50 100 150 200 250 ABB Advantech Codesys Cogent Real-Time Systems Ecava GE Honeywell Indusoft MICROSYS PTC Rockwell Automation Schneider Electric Tibbo Trihedral Engineering Ltd Unitronics WellinTech
  • 69. Copyright 2017 Trend Micro Inc.69 Industry by Industry Comparison 0 20 40 60 80 100 120 140 160 180 200 Business Highly-Deployed SCADA Security
  • 70. Copyright 2017 Trend Micro Inc.70 Conclusions
  • 71. Copyright 2017 Trend Micro Inc.71 Go find bugs! • ICS-focused malware actively exploiting HMI vulnerabilities • HMI codebases plagued with critical vulnerabilities • Simple techniques can be used to find vulnerabilities • Exposure windows is ~150 days leaving critical infrastructure vulnerable https://documents.trendmicro.com/assets/wp/wp-hacker-machine-interface.pdf
  • 72. Copyright 2017 Trend Micro Inc.72 Questions? www.zerodayinitiative.com @thezdi