SlideShare a Scribd company logo
1
Reverse Engineering Archeology:
Multiple Devices, Multiple
Versions
CODE BLUE 2020 @Tokyo
1
Who are we?
2
JSOF is a software security consultancy
• Shlomi Oberman, co-founder, JSOF
• Moshe Kol, Security researcher, JSOF; Finder of Ripple20
• Ariel Schön, Security researcher, JSOF
Agenda
• Ripple20
• Reverse engineering process:
• Multiple binaries
• Wrap-up
4
Ripple20
5
• Series of 19 zero-day vulnerabilities in Treck TCP/IP*
• Amplified by the supply chain
• 100’s of millions of devices
• Medical, ICS, Home, Enterprise, Transportation, Utilities
Ripple20
6
CVE-2020-11896
CVE-2020-11897
CVE-2020-11898
CVE-2020-11899
CVE-2020-11900
CVE-2020-11901
CVE-2020-11902
CVE-2020-11903
CVE-2020-11904
CVE-2020-11905
CVE-2020-11906
CVE-2020-11907
CVE-2020-11908
CVE-2020-11909
CVE-2020-11910
CVE-2020-11911
CVE-2020-11912
CVE-2020-11913
CVE-2020-11914
• 4 critical remote code execution vulnerabilities
100’s of Millions of Devices Affected
7
And many more...
Ripple20 Research
8
• Reverse engineering 7 different devices with multiple versions
• Every device has a different configuration
• Ongoing research Sep’19 - Jun’20 ( 9 months )
• Some strange architectures and firmwares involved
2 whitepapers released (CVE-2020-11896/CVE-2020-11901)
Challenge
• 1 library many versions
• Little did we know…
• Need symbols, debug, binary…
• Multiple data points
• Lots of history
9
Challenge
• Multiple firmwares/binaries
• Security/Archeology project
• Library dating to pre-2000
10
How did we start?
• Browsing to Treck’s website
• Looking for datasheets, manuals, demos
11
12
Binary #1 – Freescale demo
Freescale 5280 demo
• Contains headers and static library
• The headers provide useful comments and structure definitions.
13
Freescale 5280 demo
• Static library contains 202 object files:
tr8023.o
trarp.o
trarpchk.o
trautoip.o
trbase64.o
trbootp.o
trbtdhcp.o
trbuffer.o
trcmplib.o
trdevice.o
trdhcp.o
trdialer.o
trdsplib.o
treap.o
trethcom.o
trether.o
trethtag.o
trfs.o
trftp.o
trftpd.o
trhttp.o
trhttpd.o
tricmp.o
trigmp.o
trindrmc.o
trindrv.o
trinscdr.o
trip.o
tripfrag.o
triphc.o
triptunl.o
trlist.o
trlock.o
trlog.o
trloop.o
trlqm.o
trmime.o
trmoblip.o
trmschap.o
trnat.o
trnetid.o
trntstat.o
trping.o
trpop3.o
trppp.o
trramfs.o
trrelay.o
trresolv.o
trrip.o
trromfs.o
…
• Architecture: Motorola 68030 big-endian
14
Freescale 5280 demo
• Object files have function names:
trip.o15
Freescale 5280 demo
• But non-local function calls are missing:
16
Freescale 5280 demo
• Some can be recovered using the relocation table:
17
Freescale 5280 demo
• In summary:
• Useful data point
• Cannot be debugged easily
18
19
Binary #2 – Win32 demo
Win32 Demo
• Treck (used to)
offer Windows
32-bit demo app
20
Win32 Demo
• Supports many
useful features:
• IPv4
• IPv6
• DHCP client
• TCP
• UDP
• ICMP
• IPSEC
• Mobile IPv6
21
Win32 Demo: Finding Treck
• No debug symbols.
• Able to recover some function names using debug strings:
• Applies mostly to IPv6 functions 
22
Win32 Demo: Finding Treck
• To locate the IPv4 code base, we searched for EtherType constants in
the binary.
• Recall Ethernet packet format:
EtherType Protocol
0x0800 IPv4
0x0806 ARP
0x86dd IPv6
23
Win32 Demo: Finding Treck
• Using this technique we were able to locate tfEtherRecv.
x86 is little-endian
architecture!
24
Win32 Demo: Results
• We reverse engineer large parts of the network stack
• We found some vulnerabilities
• We wanted to test if other devices are affected
25
26
Binary #3 - Digi dev board
Digi Connect ME 9210
• A “Veteran of the Digi Community” mentioned online that Digi
Connect ships with Treck TCP/IP stack in Digi forum:
27
Digi Connect ME 9210
• Digi Connect ME devices come in two
flavors:
• Running embedded Linux
• Running proprietary NET+OS
• The network stack of NET+OS 7.5 is Treck
TCP/IP.
• We bought the Connect ME 9210
development kit.
28
Digi Connect ME 9210
• Runs Digi's new 32-bit NS9210 processor (ARM9).
• Have debugging capabilities using JTAG.
• Comes with eclipse-based IDE to write software:
29
Digi Connect ME 9210
• We compiled some basic example and examined the resulting ELF file.
• ELF comes with debug symbols!
• We developed an exploit for CVE-2020-11896 on this device.
• Disadvantage: relatively old Treck version (4.7).
30
31
Binary #4 – Intel AMT
Intel ME
• In a quest for newer versions, we looked at Intel ME.
• Treck powers the AMT module.
• We speculated that since Intel is a security-aware
company, they must have updated their Treck software.
32
We thought we had 1-days
• Intel binary had some “defensive programming”
• We thought we had 1-days that still existed in the
wild (we were mostly wrong)
• Maybe fixes, maybe ifdef, maybe they are paranoid
33
Intel ME: Patch-diffing
• INTEL-SA-00241 describes a vulnerability that looks related:
• We wanted to patch-diff AMT versions to find it.
34
Intel ME: Patch-diffing
• We obtained two ME firmware versions:
• Intel ME 12.0.32.1421 Corporate/5MB
• Intel ME 12.0.55.1521 Corporate/5MB
• Used the ME Analyzer tool to unpack the firmware and extract the
AMT module.
35
Intel ME: Patch-diffing
• We used BinDiff as our patch-diffing tool.
• Challenge:
• diff is large.
• We want to focus on Treck-related code only.
36
Intel ME: Finding Treck
• tfUseEthernet initializes the Ethernet link layer.
Two references
for the string
“ETHDIX”.
Initializes a struct
with function
pointers –
tfEtherRecv
among them.
*Decompiled code taken from
the Digi Connect device
37
Intel ME: Finding Treck
• We signed the tfUseEthernet function structure.
• Using the “ETHDIX” string we found the image base address.
• We developed a Ghidra script to mark Treck-related code, then
extracted Ghidra symbols to IDA for diffing.
38
Marking Treck-related code
• Traverse call-graph from known-
Treck entry points.
• Function pointers in
tfUseEthernet as entry points.
• Luckily, library functions reside in
separate module(s).
• To gain more coverage we
considered parents of functions
with many xrefs (e.g. tfLock).
tfEtherRecv
tfFreePacket
tfFreeSharedBuf
fer
tfArpIncomingPa
cket
tfFreePacket
tfArpResolveSea
rch
tfLock
…
tfIpIncomingPac
ket
…
tf6IpIncomingPa
cket
…
39
Intel ME: A vulnerability
• A fixed bug was found in the DHCPv6 client:
• During option 24 processing in tf6DhcpSaveReplyInfo.
• Function accepts single argument (buff) and computes the total
label length.
• Matches the description of CVE-2019-0131 shown earlier:
• Adjacent access
• Infoleak/DoS
40
Intel ME: A vulnerability
• We also found that Treck got the fix wrong:
• Still OOB access.
• We reported the issue to Treck. This is CVE-2020-11905.
41
1 days, 0 days, Any-days
• Some of the vulnerabilities fixed only in Intel. Also, Intel has exploit
mitigations.
• Digi had old code; Intel had new code. Intel had some code (no DNS)
• Until disclosure, we thought some bugs were 1-days and Intel was
most updated.
• Treck told us they are 0-days. The story of AMT is unclear.
42
1 days, 0 days, Any-days
• Few types of Treck supply-chain vulnerabilities:
• True 0-days
• 0-days only fixed in AMT code (to our knowledge)
• N-days that exist in the wild and fixed upstream - Any-days
• Never publicly reported as far as we know
• We don’t know if considered security fix previously
• Support package → updates
• No support → no security
43
44
Binary #5 – HP printer
HP OfficeJet Pro 8720
• Searching for some common Treck
function names on Google yields
interesting results.
• We found that some HP printers run Treck.
• We wanted to check if they are affected by
the vulnerabilities.
45
HP firmware unpacking
• RFU (remote firmware update) file
obtained from HP’s public FTP server.
• Multi–stage unpacking.
• Bizarre file formats.
• Whole process is described in our
blog.
Unpacking PJL/PCL
layer
Unpacking binary S-
Records layer
Removing Flash OOB
data
Locating firmware
section table
Dump decompressed
section
46
HP OfficeJet Pro 8720: A crash
• We found that CVE-2020-11896 crashes the printer.
• Apparently, there is an ifdef that disallows fragmented data over an
IP-in-IP tunnel.
• However, sending those packets cause tfKernelError to run.
• Vulnerability variant.
Crash!
47
48
Binary #6 – APC UPS
Schneider Electric APC UPS
• Downloaded firmware update files from APC
website.
• Not encrypted/compressed.
• Reverse engineered some parts of the file
format:
• Image base address
• CRC16 fields
49
The AOS binary
Header crcfile crc
Image
base
Image
base +
0x400
File
size
0x400
50
The AOS binary: Which processor?
• Loaded into Ghidra.
• Choosing 16-bit x86 protected mode “kind of” works.
• Disassembler cannot resolve far-calls.
• Obscure architecture.
51
The AOS binary: Which processor?
• Strange memory addressing.
• Can’t be protected mode - too many segments, no GDT.
• Can’t be real mode - shifting by 4 does not work.
• We opened the old books to find olden x86 witchcraft – no luck.
• Do you have a moment to learn about unreal mode?
52
The AOS binary: Which processor?
• A pattern emerges when looking at the
strings/function calls (but mostly
strings).
• LSB of a pushed string corresponds to
LSB of the offset of the string within the
binary.
• Shifting the segment word by 8 does the
trick. We saw that we always land on a
function this way. LinearAddress = (segment << 8) + offset
push cs
push 0xf2e
push cs
push 0xf1b
call 0xc466:0x382 tfKernelError
53
The AOS binary: Loading into RE tool
• We must fix the far-call issue to reverse engineer the firmware.
• We tried to change Ghidra’s processor module, recompile it.
• Only partial success, no strings.
• We tried to specify the segment granularity on radare2 – better, still
lacks strings.
54
The AOS binary: Loading into RE tool
• We found someone who faced the same issue on
http://www.openrce.org/forums/posts/753.
• Mystery solved: Turbo186!
• Solution: use IDA’s segment
selectors.
• Thanks igor skochinsky.
55
The AOS binary: Loading into IDA
• We wrote an IDA python script to create segment selectors which
emulate the “shifting by 8”.
• Now we have strings, switch statements, far-calls working.
• We can start reverse engineering.
• No decompiler for 16-bit x86.
56
The AOS binary: Heap Functions
57
• Even after segment fixing, many far-calls point to non-mapped regions
• Comparing with Digi firmware, we concluded these are far-calls to heap
utility functions
• malloc(), free(), etc.
• The binary contains debug strings with the function names
• But without references…
• Because of the 8-bit segment shift, we can search for undefined push
instructions
• Found and re-mapped these functions to their proper dynamic location
New Vulnerability
• Found newer Treck version than Digi’s.
• Also new vulnerability (CVE-2020-11901: Bad RDLENGTH).
• Bad fix for a previously found vulnerability.
• Didn’t exist in AMT because they don’t use this feature.
58
59
Binary #7 – GE MDS
Bonus Binary: GE MDS
• General Electric communication device for utilities (water/power).
• Used Google search + n-gram slices to find the architecture
• cpu_rec works too!
• Runs Blackfin processor and uses Treck.
• Didn’t use extensively, didn’t teach us anything new.
60
61
Wrap-up
Take-aways
• Supply chain is complicated
• Obscurity doesn’t work
• Well, mostly.
• Know your upstream, patch your upstream
• Deeper in the supply-chain → higher impact
62
Take-aways
• Software providers security SLA
• Report security issues?
• Timeline?
• Product support vs security support?
• Two way? What if user finds a vulnerability?
• Proprietary vs. OSS?
63
Inconsistent patching
• One vendor patches and another doesn’t.
• Patch-gapping on steroids!
64
Conclusions
• Complex reverse engineering process
• Forks in software library can unveil more vulnerabilities
• Supply chain makes security difficult
• Proprietary update process is obscure
65
66
Thanks for listening!
info@jsof-tech.com
www.jsof-tech.com

More Related Content

What's hot

Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Priyanka Aash
 
Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation  Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation
Sergey Gordeychik
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentestersAleksandr Timorin
 
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOTAndrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Codemotion
 
Scada Strangelove - 29c3
Scada Strangelove - 29c3Scada Strangelove - 29c3
Scada Strangelove - 29c3qqlan
 
SCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architectureSCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architecture
qqlan
 
D1 t1 t. yunusov k. nesterov - bootkit via sms
D1 t1   t. yunusov k. nesterov - bootkit via smsD1 t1   t. yunusov k. nesterov - bootkit via sms
D1 t1 t. yunusov k. nesterov - bootkit via sms
qqlan
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяEkaterina Melnik
 
Home Automation Benchmarking Report
Home Automation Benchmarking ReportHome Automation Benchmarking Report
Home Automation Benchmarking Report
Synack
 
DEF CON 27- JISKA FABIAN - vacuum cleaning security
DEF CON 27- JISKA FABIAN - vacuum cleaning securityDEF CON 27- JISKA FABIAN - vacuum cleaning security
DEF CON 27- JISKA FABIAN - vacuum cleaning security
Felipe Prado
 
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...
mjos
 
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
CODE BLUE
 
Parrot Drones Hijacking
Parrot Drones HijackingParrot Drones Hijacking
Parrot Drones Hijacking
Priyanka Aash
 
A2: Analog Malicious Hardware
A2: Analog Malicious HardwareA2: Analog Malicious Hardware
A2: Analog Malicious Hardware
yeokm1
 
Kaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the CloudKaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the Cloud
qqlan
 
The New Landscape of Airborne Cyberattacks
The New Landscape of Airborne CyberattacksThe New Landscape of Airborne Cyberattacks
The New Landscape of Airborne Cyberattacks
Priyanka Aash
 
Open Source Home Automation with LinkSprite.IO
Open Source Home Automation with LinkSprite.IOOpen Source Home Automation with LinkSprite.IO
Open Source Home Automation with LinkSprite.IO
Jingfeng Liu
 
CODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak Guilfanov
CODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak GuilfanovCODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak Guilfanov
CODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak Guilfanov
CODE BLUE
 

What's hot (19)

Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
 
Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation  Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
 
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOTAndrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
 
Scada Strangelove - 29c3
Scada Strangelove - 29c3Scada Strangelove - 29c3
Scada Strangelove - 29c3
 
SCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architectureSCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architecture
 
D1 t1 t. yunusov k. nesterov - bootkit via sms
D1 t1   t. yunusov k. nesterov - bootkit via smsD1 t1   t. yunusov k. nesterov - bootkit via sms
D1 t1 t. yunusov k. nesterov - bootkit via sms
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имя
 
Home Automation Benchmarking Report
Home Automation Benchmarking ReportHome Automation Benchmarking Report
Home Automation Benchmarking Report
 
DEF CON 27- JISKA FABIAN - vacuum cleaning security
DEF CON 27- JISKA FABIAN - vacuum cleaning securityDEF CON 27- JISKA FABIAN - vacuum cleaning security
DEF CON 27- JISKA FABIAN - vacuum cleaning security
 
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...
 
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
 
Parrot Drones Hijacking
Parrot Drones HijackingParrot Drones Hijacking
Parrot Drones Hijacking
 
A2: Analog Malicious Hardware
A2: Analog Malicious HardwareA2: Analog Malicious Hardware
A2: Analog Malicious Hardware
 
Kaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the CloudKaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the Cloud
 
M3
M3M3
M3
 
The New Landscape of Airborne Cyberattacks
The New Landscape of Airborne CyberattacksThe New Landscape of Airborne Cyberattacks
The New Landscape of Airborne Cyberattacks
 
Open Source Home Automation with LinkSprite.IO
Open Source Home Automation with LinkSprite.IOOpen Source Home Automation with LinkSprite.IO
Open Source Home Automation with LinkSprite.IO
 
CODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak Guilfanov
CODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak GuilfanovCODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak Guilfanov
CODE BLUE 2014 : [Keynote] IDA and digital security by Ilfak Guilfanov
 

Similar to [CB20] Reverse Engineering archeology : Reverse engineering multiple devices with multiple versions , to put together a complex puzzle by Shlomi Oberman, Moshe Kol and Ariel Schöncb20

SCADA Software or Swiss Cheese Software - CODE BLUE, Japan
SCADA Software or Swiss Cheese Software - CODE BLUE, JapanSCADA Software or Swiss Cheese Software - CODE BLUE, Japan
SCADA Software or Swiss Cheese Software - CODE BLUE, Japan
SignalSEC Ltd.
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
idsecconf
 
Feasibility of Security in Micro-Controllers
Feasibility of Security in Micro-ControllersFeasibility of Security in Micro-Controllers
Feasibility of Security in Micro-Controllers
ardiri
 
Accelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slidesAccelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slides
Dmitry Vostokov
 
Cracking Wep And Wpa Wireless Networks
Cracking Wep And Wpa Wireless NetworksCracking Wep And Wpa Wireless Networks
Cracking Wep And Wpa Wireless Networksguestf2e41
 
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
Edge AI and Vision Alliance
 
Fundamentals of network hacking
Fundamentals of network hackingFundamentals of network hacking
Fundamentals of network hacking
Pranshu Pareek
 
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
PROIDEA
 
Scada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanismsScada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanismsAleksandr Timorin
 
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
Santhosh Kumar
 
Memory, IPC and L4Re
Memory, IPC and L4ReMemory, IPC and L4Re
Memory, IPC and L4Re
Vasily Sartakov
 
Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)
Nate Lawson
 
Vulnerability Inheritance in ICS (English)
Vulnerability Inheritance in ICS (English)Vulnerability Inheritance in ICS (English)
Vulnerability Inheritance in ICS (English)
Digital Bond
 
One library for all Java encryption
One library for all Java encryptionOne library for all Java encryption
One library for all Java encryption
Dan Cvrcek
 
Report (Auto Capture Camera Sensing System)
Report (Auto Capture Camera Sensing System)Report (Auto Capture Camera Sensing System)
Report (Auto Capture Camera Sensing System)Siang Wei Lee
 
Flash security past_present_future_final_en
Flash security past_present_future_final_enFlash security past_present_future_final_en
Flash security past_present_future_final_en
Sunghun Kim
 
Affordable trustworthy-systems
Affordable trustworthy-systemsAffordable trustworthy-systems
Affordable trustworthy-systems
microkerneldude
 
IoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution by Marco RomanoIoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution by Marco Romano
Codemotion
 
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
IoT exploitation: from memory corruption to code execution - Marco Romano - C...IoT exploitation: from memory corruption to code execution - Marco Romano - C...
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
Codemotion
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
brouer
 

Similar to [CB20] Reverse Engineering archeology : Reverse engineering multiple devices with multiple versions , to put together a complex puzzle by Shlomi Oberman, Moshe Kol and Ariel Schöncb20 (20)

SCADA Software or Swiss Cheese Software - CODE BLUE, Japan
SCADA Software or Swiss Cheese Software - CODE BLUE, JapanSCADA Software or Swiss Cheese Software - CODE BLUE, Japan
SCADA Software or Swiss Cheese Software - CODE BLUE, Japan
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
 
Feasibility of Security in Micro-Controllers
Feasibility of Security in Micro-ControllersFeasibility of Security in Micro-Controllers
Feasibility of Security in Micro-Controllers
 
Accelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slidesAccelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slides
 
Cracking Wep And Wpa Wireless Networks
Cracking Wep And Wpa Wireless NetworksCracking Wep And Wpa Wireless Networks
Cracking Wep And Wpa Wireless Networks
 
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
 
Fundamentals of network hacking
Fundamentals of network hackingFundamentals of network hacking
Fundamentals of network hacking
 
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
 
Scada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanismsScada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanisms
 
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
 
Memory, IPC and L4Re
Memory, IPC and L4ReMemory, IPC and L4Re
Memory, IPC and L4Re
 
Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)
 
Vulnerability Inheritance in ICS (English)
Vulnerability Inheritance in ICS (English)Vulnerability Inheritance in ICS (English)
Vulnerability Inheritance in ICS (English)
 
One library for all Java encryption
One library for all Java encryptionOne library for all Java encryption
One library for all Java encryption
 
Report (Auto Capture Camera Sensing System)
Report (Auto Capture Camera Sensing System)Report (Auto Capture Camera Sensing System)
Report (Auto Capture Camera Sensing System)
 
Flash security past_present_future_final_en
Flash security past_present_future_final_enFlash security past_present_future_final_en
Flash security past_present_future_final_en
 
Affordable trustworthy-systems
Affordable trustworthy-systemsAffordable trustworthy-systems
Affordable trustworthy-systems
 
IoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution by Marco RomanoIoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution by Marco Romano
 
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
IoT exploitation: from memory corruption to code execution - Marco Romano - C...IoT exploitation: from memory corruption to code execution - Marco Romano - C...
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
 

More from CODE BLUE

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
CODE BLUE
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl
CODE BLUE
 
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
CODE BLUE
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
CODE BLUE
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
CODE BLUE
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
CODE BLUE
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
CODE BLUE
 
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
CODE BLUE
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
CODE BLUE
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
CODE BLUE
 
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
CODE BLUE
 
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
CODE BLUE
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
CODE BLUE
 

More from CODE BLUE (20)

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl
 
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
 
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
 
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
 
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
 

Recently uploaded

AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AwangAniqkmals
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Matjaž Lipuš
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
IP ServerOne
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
Vladimir Samoylov
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
OWASP Beja
 

Recently uploaded (20)

AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
 

[CB20] Reverse Engineering archeology : Reverse engineering multiple devices with multiple versions , to put together a complex puzzle by Shlomi Oberman, Moshe Kol and Ariel Schöncb20

  • 1. 1 Reverse Engineering Archeology: Multiple Devices, Multiple Versions CODE BLUE 2020 @Tokyo 1
  • 2. Who are we? 2 JSOF is a software security consultancy • Shlomi Oberman, co-founder, JSOF • Moshe Kol, Security researcher, JSOF; Finder of Ripple20 • Ariel Schön, Security researcher, JSOF
  • 3. Agenda • Ripple20 • Reverse engineering process: • Multiple binaries • Wrap-up 4
  • 4. Ripple20 5 • Series of 19 zero-day vulnerabilities in Treck TCP/IP* • Amplified by the supply chain • 100’s of millions of devices • Medical, ICS, Home, Enterprise, Transportation, Utilities
  • 6. 100’s of Millions of Devices Affected 7 And many more...
  • 7. Ripple20 Research 8 • Reverse engineering 7 different devices with multiple versions • Every device has a different configuration • Ongoing research Sep’19 - Jun’20 ( 9 months ) • Some strange architectures and firmwares involved 2 whitepapers released (CVE-2020-11896/CVE-2020-11901)
  • 8. Challenge • 1 library many versions • Little did we know… • Need symbols, debug, binary… • Multiple data points • Lots of history 9
  • 9. Challenge • Multiple firmwares/binaries • Security/Archeology project • Library dating to pre-2000 10
  • 10. How did we start? • Browsing to Treck’s website • Looking for datasheets, manuals, demos 11
  • 11. 12 Binary #1 – Freescale demo
  • 12. Freescale 5280 demo • Contains headers and static library • The headers provide useful comments and structure definitions. 13
  • 13. Freescale 5280 demo • Static library contains 202 object files: tr8023.o trarp.o trarpchk.o trautoip.o trbase64.o trbootp.o trbtdhcp.o trbuffer.o trcmplib.o trdevice.o trdhcp.o trdialer.o trdsplib.o treap.o trethcom.o trether.o trethtag.o trfs.o trftp.o trftpd.o trhttp.o trhttpd.o tricmp.o trigmp.o trindrmc.o trindrv.o trinscdr.o trip.o tripfrag.o triphc.o triptunl.o trlist.o trlock.o trlog.o trloop.o trlqm.o trmime.o trmoblip.o trmschap.o trnat.o trnetid.o trntstat.o trping.o trpop3.o trppp.o trramfs.o trrelay.o trresolv.o trrip.o trromfs.o … • Architecture: Motorola 68030 big-endian 14
  • 14. Freescale 5280 demo • Object files have function names: trip.o15
  • 15. Freescale 5280 demo • But non-local function calls are missing: 16
  • 16. Freescale 5280 demo • Some can be recovered using the relocation table: 17
  • 17. Freescale 5280 demo • In summary: • Useful data point • Cannot be debugged easily 18
  • 18. 19 Binary #2 – Win32 demo
  • 19. Win32 Demo • Treck (used to) offer Windows 32-bit demo app 20
  • 20. Win32 Demo • Supports many useful features: • IPv4 • IPv6 • DHCP client • TCP • UDP • ICMP • IPSEC • Mobile IPv6 21
  • 21. Win32 Demo: Finding Treck • No debug symbols. • Able to recover some function names using debug strings: • Applies mostly to IPv6 functions  22
  • 22. Win32 Demo: Finding Treck • To locate the IPv4 code base, we searched for EtherType constants in the binary. • Recall Ethernet packet format: EtherType Protocol 0x0800 IPv4 0x0806 ARP 0x86dd IPv6 23
  • 23. Win32 Demo: Finding Treck • Using this technique we were able to locate tfEtherRecv. x86 is little-endian architecture! 24
  • 24. Win32 Demo: Results • We reverse engineer large parts of the network stack • We found some vulnerabilities • We wanted to test if other devices are affected 25
  • 25. 26 Binary #3 - Digi dev board
  • 26. Digi Connect ME 9210 • A “Veteran of the Digi Community” mentioned online that Digi Connect ships with Treck TCP/IP stack in Digi forum: 27
  • 27. Digi Connect ME 9210 • Digi Connect ME devices come in two flavors: • Running embedded Linux • Running proprietary NET+OS • The network stack of NET+OS 7.5 is Treck TCP/IP. • We bought the Connect ME 9210 development kit. 28
  • 28. Digi Connect ME 9210 • Runs Digi's new 32-bit NS9210 processor (ARM9). • Have debugging capabilities using JTAG. • Comes with eclipse-based IDE to write software: 29
  • 29. Digi Connect ME 9210 • We compiled some basic example and examined the resulting ELF file. • ELF comes with debug symbols! • We developed an exploit for CVE-2020-11896 on this device. • Disadvantage: relatively old Treck version (4.7). 30
  • 30. 31 Binary #4 – Intel AMT
  • 31. Intel ME • In a quest for newer versions, we looked at Intel ME. • Treck powers the AMT module. • We speculated that since Intel is a security-aware company, they must have updated their Treck software. 32
  • 32. We thought we had 1-days • Intel binary had some “defensive programming” • We thought we had 1-days that still existed in the wild (we were mostly wrong) • Maybe fixes, maybe ifdef, maybe they are paranoid 33
  • 33. Intel ME: Patch-diffing • INTEL-SA-00241 describes a vulnerability that looks related: • We wanted to patch-diff AMT versions to find it. 34
  • 34. Intel ME: Patch-diffing • We obtained two ME firmware versions: • Intel ME 12.0.32.1421 Corporate/5MB • Intel ME 12.0.55.1521 Corporate/5MB • Used the ME Analyzer tool to unpack the firmware and extract the AMT module. 35
  • 35. Intel ME: Patch-diffing • We used BinDiff as our patch-diffing tool. • Challenge: • diff is large. • We want to focus on Treck-related code only. 36
  • 36. Intel ME: Finding Treck • tfUseEthernet initializes the Ethernet link layer. Two references for the string “ETHDIX”. Initializes a struct with function pointers – tfEtherRecv among them. *Decompiled code taken from the Digi Connect device 37
  • 37. Intel ME: Finding Treck • We signed the tfUseEthernet function structure. • Using the “ETHDIX” string we found the image base address. • We developed a Ghidra script to mark Treck-related code, then extracted Ghidra symbols to IDA for diffing. 38
  • 38. Marking Treck-related code • Traverse call-graph from known- Treck entry points. • Function pointers in tfUseEthernet as entry points. • Luckily, library functions reside in separate module(s). • To gain more coverage we considered parents of functions with many xrefs (e.g. tfLock). tfEtherRecv tfFreePacket tfFreeSharedBuf fer tfArpIncomingPa cket tfFreePacket tfArpResolveSea rch tfLock … tfIpIncomingPac ket … tf6IpIncomingPa cket … 39
  • 39. Intel ME: A vulnerability • A fixed bug was found in the DHCPv6 client: • During option 24 processing in tf6DhcpSaveReplyInfo. • Function accepts single argument (buff) and computes the total label length. • Matches the description of CVE-2019-0131 shown earlier: • Adjacent access • Infoleak/DoS 40
  • 40. Intel ME: A vulnerability • We also found that Treck got the fix wrong: • Still OOB access. • We reported the issue to Treck. This is CVE-2020-11905. 41
  • 41. 1 days, 0 days, Any-days • Some of the vulnerabilities fixed only in Intel. Also, Intel has exploit mitigations. • Digi had old code; Intel had new code. Intel had some code (no DNS) • Until disclosure, we thought some bugs were 1-days and Intel was most updated. • Treck told us they are 0-days. The story of AMT is unclear. 42
  • 42. 1 days, 0 days, Any-days • Few types of Treck supply-chain vulnerabilities: • True 0-days • 0-days only fixed in AMT code (to our knowledge) • N-days that exist in the wild and fixed upstream - Any-days • Never publicly reported as far as we know • We don’t know if considered security fix previously • Support package → updates • No support → no security 43
  • 43. 44 Binary #5 – HP printer
  • 44. HP OfficeJet Pro 8720 • Searching for some common Treck function names on Google yields interesting results. • We found that some HP printers run Treck. • We wanted to check if they are affected by the vulnerabilities. 45
  • 45. HP firmware unpacking • RFU (remote firmware update) file obtained from HP’s public FTP server. • Multi–stage unpacking. • Bizarre file formats. • Whole process is described in our blog. Unpacking PJL/PCL layer Unpacking binary S- Records layer Removing Flash OOB data Locating firmware section table Dump decompressed section 46
  • 46. HP OfficeJet Pro 8720: A crash • We found that CVE-2020-11896 crashes the printer. • Apparently, there is an ifdef that disallows fragmented data over an IP-in-IP tunnel. • However, sending those packets cause tfKernelError to run. • Vulnerability variant. Crash! 47
  • 47. 48 Binary #6 – APC UPS
  • 48. Schneider Electric APC UPS • Downloaded firmware update files from APC website. • Not encrypted/compressed. • Reverse engineered some parts of the file format: • Image base address • CRC16 fields 49
  • 49. The AOS binary Header crcfile crc Image base Image base + 0x400 File size 0x400 50
  • 50. The AOS binary: Which processor? • Loaded into Ghidra. • Choosing 16-bit x86 protected mode “kind of” works. • Disassembler cannot resolve far-calls. • Obscure architecture. 51
  • 51. The AOS binary: Which processor? • Strange memory addressing. • Can’t be protected mode - too many segments, no GDT. • Can’t be real mode - shifting by 4 does not work. • We opened the old books to find olden x86 witchcraft – no luck. • Do you have a moment to learn about unreal mode? 52
  • 52. The AOS binary: Which processor? • A pattern emerges when looking at the strings/function calls (but mostly strings). • LSB of a pushed string corresponds to LSB of the offset of the string within the binary. • Shifting the segment word by 8 does the trick. We saw that we always land on a function this way. LinearAddress = (segment << 8) + offset push cs push 0xf2e push cs push 0xf1b call 0xc466:0x382 tfKernelError 53
  • 53. The AOS binary: Loading into RE tool • We must fix the far-call issue to reverse engineer the firmware. • We tried to change Ghidra’s processor module, recompile it. • Only partial success, no strings. • We tried to specify the segment granularity on radare2 – better, still lacks strings. 54
  • 54. The AOS binary: Loading into RE tool • We found someone who faced the same issue on http://www.openrce.org/forums/posts/753. • Mystery solved: Turbo186! • Solution: use IDA’s segment selectors. • Thanks igor skochinsky. 55
  • 55. The AOS binary: Loading into IDA • We wrote an IDA python script to create segment selectors which emulate the “shifting by 8”. • Now we have strings, switch statements, far-calls working. • We can start reverse engineering. • No decompiler for 16-bit x86. 56
  • 56. The AOS binary: Heap Functions 57 • Even after segment fixing, many far-calls point to non-mapped regions • Comparing with Digi firmware, we concluded these are far-calls to heap utility functions • malloc(), free(), etc. • The binary contains debug strings with the function names • But without references… • Because of the 8-bit segment shift, we can search for undefined push instructions • Found and re-mapped these functions to their proper dynamic location
  • 57. New Vulnerability • Found newer Treck version than Digi’s. • Also new vulnerability (CVE-2020-11901: Bad RDLENGTH). • Bad fix for a previously found vulnerability. • Didn’t exist in AMT because they don’t use this feature. 58
  • 59. Bonus Binary: GE MDS • General Electric communication device for utilities (water/power). • Used Google search + n-gram slices to find the architecture • cpu_rec works too! • Runs Blackfin processor and uses Treck. • Didn’t use extensively, didn’t teach us anything new. 60
  • 61. Take-aways • Supply chain is complicated • Obscurity doesn’t work • Well, mostly. • Know your upstream, patch your upstream • Deeper in the supply-chain → higher impact 62
  • 62. Take-aways • Software providers security SLA • Report security issues? • Timeline? • Product support vs security support? • Two way? What if user finds a vulnerability? • Proprietary vs. OSS? 63
  • 63. Inconsistent patching • One vendor patches and another doesn’t. • Patch-gapping on steroids! 64
  • 64. Conclusions • Complex reverse engineering process • Forks in software library can unveil more vulnerabilities • Supply chain makes security difficult • Proprietary update process is obscure 65