SlideShare a Scribd company logo
1 of 55
Download to read offline
TRUESEEING:
EFFECTIVE
DATAFLOW ANALYSIS
OVER DALVIK
OPCODES
Takahiro / Ken-ya Yoshimura
(@alterakey / @ad3liae)
WHO WE ARE
➤ Takahiro Yoshimura

(@alterakey)
➤ CTO, Monolith Works Inc.
➤ Keybase: 

https://keybase.io/alterakey
➤ Ken-ya Yoshimura

(@ad3liae)
➤ CEO, Monolith Works Inc.
➤ Keybase:

https://keybase.io/ad3liae

➤ Monolith Works Inc.

http://monolithworks.co.jp/

➤ Talks: DEF CON 25 Demo Labs
WHAT WE DO
➤ alterakey
➤ Security Researcher
➤ iOS/Android
➤ Network pentesting
➤ ad3liae
➤ Security Researcher
➤ iOS/Android
FINDING VULNERABILITIES
➤ Static Analysis
➤ Reversing the target and deriving its behavior
➤ Reversing data flow is important
➤ Dynamic Analysis
➤ Running the target and seeing its behavior

PROBLEMS
➤ Obfuscation
➤ Common practice
➤ Hinders decompilers
➤ Dynamic Analysis
➤ Often unwanted :(

RELATED WORKS
➤ Mixing multiple decompilers

(QARK et al.)
➤ Speed: even more time
➤ Fragility

➤ Mixing alone does not answer the
question, IMHO..
WHY IS DECOMPILING HARD?
➤ Decompiling requires…
➤ Accurate disassembling
➤ Common code pattern

(e.g. function prologue)
➤ Obfuscaters disrupt these
GO DIRECT
➤ Trueseeing
➤ Capable of
➤ Reversing data flow
➤ Loosely guessing constants/typesets/…
➤ Manifest analysis
➤ Uses no decompilers
➤ Speed
➤ Resiliency
➤ D8-ready
➤ Readily available on PyPI!
DISASSEMBLING
➤ Toolchain
➤ apktool
➤ SQLite3 DB
MARKING UP
➤ Parsing
➤ Regular mnemonics (op)
➤ Directives
➤ .class / .method
➤ .implements / .super etc.
➤ Annotations
➤ Marking
➤ methods
➤ classes
GO FASTER
➤ Mapping codebase
➤ Constants
➤ Invocations
➤ sput
➤ iput
➤ Names (method, class)
➤ Class relationships
➤ Why SQL?

— Complex queries matter
➤ Make DBs “think”
DATAFLOW TRACING (1)
➤ Lenient Backtracking
➤ From “interest”s to the args
➤ Attempt to trace “interests” back to
some constant

(“solving” constant)
➤ Interests
➤ API call arguments etc.
➤ Match register refs/writes
➤ move*, const*
DATAFLOW TRACING (2)
➤ Call tracing
➤ From args to the callers
➤ Climbing call stacks up
➤ Special case for handling p*
➤ Not always
➤ Currently R8 aggressively reuse p*
➤ WIP, soon to be fixed
DATAFLOW TRACING (3)
➤ Static trace
➤ Matching sget/sput
➤ Solving constants in sput
DATAFLOW TRACING (4)
➤ Instansic trace
➤ Matching iget/iput
➤ Ignoring instance identity

(WIP)
➤ Solving constants in iput
PATCH AND TIDY
➤ Partial update
➤ Disassemble
➤ Patch codebase/DB
➤ Re-assemble
BINARY PATCHING
➤ Removing (in smali)
➤ Removing insn
➤ Patch DB
AS AN EXPLOITATION TOOL
➤ Enabling debug
➤ Enabling full backup
➤ Replacing signature
➤ TLS un-pinning (WIP)
REPORTING
➤ Scoring vulnerabilities
➤ HTML: Readable, comprehensive report
➤ Text: CI-friendly report
SCORING VULNERABILITIES
➤ CVSS 3.0 Temporal
➤ Profile based fine-tuning
➤ Importance of vuln. classes
REPORTING IN HTML
➤ Comprehensive, crisp report
➤ Summary
➤ Description
➤ Solution
➤ Risk Factor
➤ CVSS score
➤ Instances
➤ For humans
REPORTING IN TEXT
➤ gcc-like
➤ For CI system or something
➤ Continuous security
CAPABILITY
➤ Most of OWASP Mobile Top 10 (2016)
➤ M1: Improper Platform Usage
➤ M2: Insecure Data Storage
➤ M3: Insecure Communication
➤ M4: Insecure Authentication
➤ M5: Insufficient Cryptography
➤ M6: Insecure Authorization
➤ M7: Client Code Quality Issues
➤ M8: Code Tampering
➤ M9: Reverse Engineering
➤ M10: Extraneous Functionality
CASE STUDY
➤ #1: InsecureBankV2

(DEFCON 25)
➤ #2: (CENSORED)
➤ #3: (CENSORED)
paper stack 1 SQ SEPIA 500X by wintersoul1 on flickr, CC-BY-NC-ND 2.0
CASE STUDY #1
➤ InsecureBankV2 (obfuscated)
➤ Announced at DEF CON 25
➤ Excellent ‘hack-me’ challenge
➤ Originally not obfuscated
➤ ProGuard rule based on:

“proguard-android-optimize”
➤ More passes: 5 -> 8
➤ Allow all optimizations

(i.e. HV class merging etc.)
M1: IMPROPER PLATFORM USAGE
➤ Insecure BroadcastReceiver
➤ Published with seemingly private
action name
➤ Backup-able
M3: INSECURE COMMUNICATION
➤ TLS interception
➤ Lack of certificate pinning
M5: INSUFFICIENT CRYPTOGRAPHY
➤ App is using cryptographic functions
with constant keys
CASE STUDY #2
➤ CENSORED:

This page is unintentionally blank.
Blue Static by get directly down on flickr, CC-BY 2.0
M1: IMPROPER PLATFORM USAGE
➤ Massive privacy concerns
➤ Massive permission requests
Blue Static by get directly down on flickr, CC-BY 2.0
M2: INSECURE STORAGE
➤ Something written in world readable
manner
➤ Massive logging
➤ Kind of classical no-no
Blue Static by get directly down on flickr, CC-BY 2.0
M3: INSECURE COMMUNICATION
➤ Not certain, but yields strong indication
of cleartext HTTP
➤ Location?
Blue Static by get directly down on flickr, CC-BY 2.0
M5: INSUFFICIENT CRYPTOGRAPHY
➤ App is using cryptographic functions
with constant keys
Blue Static by get directly down on flickr, CC-BY 2.0
M8: CODE TAMPERING
➤ Embedded public keys
➤ What if we replace them?
Blue Static by get directly down on flickr, CC-BY 2.0
CASE STUDY #3
➤ CENSORED:

This page is unintentionally blank.
static by Trevor Bashnick on flickr, CC-BY-NC 2.0
M7: CLIENT CODE QUALITY
➤ App is registering custom JS interface
with addJavascriptInterface()
➤ in API < 17, JS interfaces could be
exploited to arbitrary OS command
execution
➤ Condition:
➤ Controlling content
➤ Targets or runs API < 17
static by Trevor Bashnick on flickr, CC-BY-NC 2.0
GO FURTHER
➤ Roadmaps, TBDs
➤ Further binary patching mode
➤ Further accuracy
➤ Further signatures
➤ Further exploitation mode
➤ ARM code analysis
➤ MSIL code analysis
➤ iOS support
➤ True symbolic exec.
➤ Automatic dynamic analysis
摩周湖 by Sendai Blog on flickr, CC-BY 2.0
FURTHER BINARY PATCHING
➤ Status: Mostly done (PR soon)
➤ Introducing variable (in smali)
➤ Allocate a local
➤ Assign constant
➤ Replace offending arg.
➤ Patch DB
➤ Introducing function (in smali)
➤ Introduce templated function
➤ Introduce calls
➤ Patch DB
➤ Opens the way to more automatic code fixes
FURTHER ACCURACY
➤ Status: Mostly done (PR soon)
➤ Zoning storage

(e.g. external as insecure)
➤ Solving only interesting args
➤ Selectively emulate API

(e.g. StringBuilder)
➤ Recognizing more TLS pinning modes
➤ Carefully evaluate confidence
FURTHER SIGNATURES
➤ Status: WIP
➤ HTTP parameter injection
➤ Path traversal
➤ Client-side XSS/SQLi
➤ Weak crypto algorithms
➤ Insufficient root detection
➤ Questionable use of sensitive data
➤ Taint analysis
➤ File I/O
➤ Network I/O
FURTHER EXPLOITS
➤ Status: WIP
➤ TLS Unpinning
➤ Forcefully enabling logging
➤ Exploit generation on issues
➤ Reversing API spec?
ARM CODE ANALYSIS
➤ Status: WIP
➤ Native code analysis
➤ Considering radare2 (r2) and/or VEX IR
➤ Problem:
➤ r2 takes time
➤ r2 seemingly cannot disassemble the
whole executable at once

(cf. Produce File in IDA)
MSIL CODE ANALYSIS
➤ Status: WIP
➤ Mainly old versions of Unity (Mono)
➤ Considering use of CoreCLR
IOS
➤ Status: WIP
➤ Swift, Objective-C, bitcode analysis
➤ Considering use of radare2, VEX IR and
LLVM tools
➤ Problems:

Much as same as ARM code analysis
TRUE SYMBOLIC EXEC.
➤ Status: In Research
➤ Symbolic exec. will help
➤ Forward analysis
➤ Evaluating reachability
➤ With it, we might be able to do..?
➤ Partial evaluation

(e.g. Reversing transforms)
➤ Gaining more accuracy
➤ Gaining resiliency against more
advanced obfuscaters
➤ Considering use of VEX IR
AUTOMATIC DYNAMIC ANALYSIS
➤ Status: In Research
➤ Similar to MobSF
CONCLUSION
➤ We saw it is…
➤ Fast
➤ Accurate
➤ Intuitive
➤ Free as freedom
IMG_2988s by 不憂照相館 on flickr, CC-BY-NC-ND 2.0
FAST
➤ No decompiling
➤ Fast lookup with SQL
➤ Because complex query matters
ACCURATE (1)
➤ We derive data flow directly over Dalvik
opcodes
➤ Lenient Backtracking
➤ Call stack tracing
➤ Static tracing
➤ Instansic tracing
ACCURATE (2)
➤ We can detect issues in (obfuscated) apps
➤ M1: inappropriate CP/BR exports,
privacy concerns, enabled debug/backup
bit etc.
➤ M2: insecure file permissions, logging
etc.
➤ M3: cleartext HTTP, TLS non-pinning etc.
➤ M5: static keys etc.
➤ M7: WebView insecurities etc.
➤ M8: embedded public keys etc.
➤ M9: non-obfuscation
INTUITIVE
➤ Comprehensive reporting
➤ HTML for humans
➤ Text for CI
➤ Continuous security
FREE AS FREEDOM
➤ GPL-3
➤ https://github.com/monolithworks/
trueseeing
➤ It remains free for good
➤ More fixes and sigs to come
➤ We are striving to make it not only useful
but also essential
Freedom by Mochamad Arief on flickr, CC-BY-NC-ND 2.0
QUESTIONS?
BRING YOUR APK!
FIN.
9.11.2017 Monolith Works Inc.

More Related Content

What's hot

Статический анализ кода в контексте SSDL
Статический анализ кода в контексте SSDLСтатический анализ кода в контексте SSDL
Статический анализ кода в контексте SSDLPositive Hack Days
 
Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...
Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...
Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...Ivan Piskunov
 
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershellCSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershellCanSecWest
 
syzbot and the tale of million kernel bugs
syzbot and the tale of million kernel bugssyzbot and the tale of million kernel bugs
syzbot and the tale of million kernel bugsDmitry Vyukov
 
syzkaller: the next gen kernel fuzzer
syzkaller: the next gen kernel fuzzersyzkaller: the next gen kernel fuzzer
syzkaller: the next gen kernel fuzzerDmitry Vyukov
 
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?inaz2
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareCylance
 
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...CanSecWest
 
[COSCUP 2021] A trip about how I contribute to LLVM
[COSCUP 2021] A trip about how I contribute to LLVM[COSCUP 2021] A trip about how I contribute to LLVM
[COSCUP 2021] A trip about how I contribute to LLVMDouglas Chen
 
Di shen pacsec_final
Di shen pacsec_finalDi shen pacsec_final
Di shen pacsec_finalPacSecJP
 
Power of linked list
Power of linked listPower of linked list
Power of linked listPeter Hlavaty
 
Алексей Старов - Как проводить киберраследования?
Алексей Старов - Как проводить киберраследования?Алексей Старов - Как проводить киберраследования?
Алексей Старов - Как проводить киберраследования?HackIT Ukraine
 
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in LinuxSelf Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linuxinaz2
 
Developer support/process automation tools
Developer support/process automation toolsDeveloper support/process automation tools
Developer support/process automation toolsDmitry Vyukov
 
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...Felipe Prado
 
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...RootedCON
 
DeathNote of Microsoft Windows Kernel
DeathNote of Microsoft Windows KernelDeathNote of Microsoft Windows Kernel
DeathNote of Microsoft Windows KernelPeter Hlavaty
 
ZeroNights - SmartTV
ZeroNights - SmartTV ZeroNights - SmartTV
ZeroNights - SmartTV Sergey Belov
 
Hiding in plain sight
Hiding in plain sightHiding in plain sight
Hiding in plain sightRob Gillen
 

What's hot (20)

Статический анализ кода в контексте SSDL
Статический анализ кода в контексте SSDLСтатический анализ кода в контексте SSDL
Статический анализ кода в контексте SSDL
 
Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...
Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...
Современные технологии и инструменты анализа вредоносного ПО_PHDays_2017_Pisk...
 
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershellCSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
 
syzbot and the tale of million kernel bugs
syzbot and the tale of million kernel bugssyzbot and the tale of million kernel bugs
syzbot and the tale of million kernel bugs
 
syzkaller: the next gen kernel fuzzer
syzkaller: the next gen kernel fuzzersyzkaller: the next gen kernel fuzzer
syzkaller: the next gen kernel fuzzer
 
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
 
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
 
[COSCUP 2021] A trip about how I contribute to LLVM
[COSCUP 2021] A trip about how I contribute to LLVM[COSCUP 2021] A trip about how I contribute to LLVM
[COSCUP 2021] A trip about how I contribute to LLVM
 
Di shen pacsec_final
Di shen pacsec_finalDi shen pacsec_final
Di shen pacsec_final
 
Power of linked list
Power of linked listPower of linked list
Power of linked list
 
Алексей Старов - Как проводить киберраследования?
Алексей Старов - Как проводить киберраследования?Алексей Старов - Как проводить киберраследования?
Алексей Старов - Как проводить киберраследования?
 
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in LinuxSelf Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
 
Developer support/process automation tools
Developer support/process automation toolsDeveloper support/process automation tools
Developer support/process automation tools
 
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
 
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
 
DeathNote of Microsoft Windows Kernel
DeathNote of Microsoft Windows KernelDeathNote of Microsoft Windows Kernel
DeathNote of Microsoft Windows Kernel
 
Nginx warhead
Nginx warheadNginx warhead
Nginx warhead
 
ZeroNights - SmartTV
ZeroNights - SmartTV ZeroNights - SmartTV
ZeroNights - SmartTV
 
Hiding in plain sight
Hiding in plain sightHiding in plain sight
Hiding in plain sight
 

Similar to [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes

CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...sparkfabrik
 
JavaScript All The Things
JavaScript All The ThingsJavaScript All The Things
JavaScript All The ThingsJordan Yaker
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseNetSPI
 
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...confluent
 
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...confluent
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedYury Chemerkin
 
OceanLotus Ships New Backdoor Using Old Tricks
OceanLotus Ships New Backdoor Using Old TricksOceanLotus Ships New Backdoor Using Old Tricks
OceanLotus Ships New Backdoor Using Old TricksESET Middle East
 
theVIVI-AD-Security-Workshop_AfricaHackon2019.pdf
theVIVI-AD-Security-Workshop_AfricaHackon2019.pdftheVIVI-AD-Security-Workshop_AfricaHackon2019.pdf
theVIVI-AD-Security-Workshop_AfricaHackon2019.pdfGabriel Mathenge
 
powershell-is-dead-epic-learnings-london
powershell-is-dead-epic-learnings-londonpowershell-is-dead-epic-learnings-london
powershell-is-dead-epic-learnings-londonnettitude_labs
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseScott Sutherland
 
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP EcosystemWhat is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP Ecosystemsparkfabrik
 
EMBA - Firmware analysis - Black Hat Arsenal USA 2022
EMBA - Firmware analysis - Black Hat Arsenal USA 2022EMBA - Firmware analysis - Black Hat Arsenal USA 2022
EMBA - Firmware analysis - Black Hat Arsenal USA 2022MichaelM85042
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Velocidex Enterprises
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudVelocidex Enterprises
 
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLRecon
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLReconBlack Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLRecon
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLReconSanjiv Kawa
 
Program Analysis: a security perspective
Program Analysis: a security perspectiveProgram Analysis: a security perspective
Program Analysis: a security perspectiveAntonio Parata
 
Hacktivity2011 be ef-preso_micheleorru
Hacktivity2011 be ef-preso_micheleorruHacktivity2011 be ef-preso_micheleorru
Hacktivity2011 be ef-preso_micheleorruMichele Orru
 
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...Aditya K Sood
 

Similar to [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes (20)

CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
 
JavaScript All The Things
JavaScript All The ThingsJavaScript All The Things
JavaScript All The Things
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
 
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learned
 
OceanLotus Ships New Backdoor Using Old Tricks
OceanLotus Ships New Backdoor Using Old TricksOceanLotus Ships New Backdoor Using Old Tricks
OceanLotus Ships New Backdoor Using Old Tricks
 
Debugging ZFS: From Illumos to Linux
Debugging ZFS: From Illumos to LinuxDebugging ZFS: From Illumos to Linux
Debugging ZFS: From Illumos to Linux
 
theVIVI-AD-Security-Workshop_AfricaHackon2019.pdf
theVIVI-AD-Security-Workshop_AfricaHackon2019.pdftheVIVI-AD-Security-Workshop_AfricaHackon2019.pdf
theVIVI-AD-Security-Workshop_AfricaHackon2019.pdf
 
powershell-is-dead-epic-learnings-london
powershell-is-dead-epic-learnings-londonpowershell-is-dead-epic-learnings-london
powershell-is-dead-epic-learnings-london
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
 
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP EcosystemWhat is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
 
EMBA - Firmware analysis - Black Hat Arsenal USA 2022
EMBA - Firmware analysis - Black Hat Arsenal USA 2022EMBA - Firmware analysis - Black Hat Arsenal USA 2022
EMBA - Firmware analysis - Black Hat Arsenal USA 2022
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLRecon
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLReconBlack Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLRecon
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLRecon
 
Program Analysis: a security perspective
Program Analysis: a security perspectiveProgram Analysis: a security perspective
Program Analysis: a security perspective
 
Hacktivity2011 be ef-preso_micheleorru
Hacktivity2011 be ef-preso_micheleorruHacktivity2011 be ef-preso_micheleorru
Hacktivity2011 be ef-preso_micheleorru
 
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
 

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 NohlCODE 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 PupilloCODE 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

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes

  • 1. TRUESEEING: EFFECTIVE DATAFLOW ANALYSIS OVER DALVIK OPCODES Takahiro / Ken-ya Yoshimura (@alterakey / @ad3liae)
  • 2. WHO WE ARE ➤ Takahiro Yoshimura
 (@alterakey) ➤ CTO, Monolith Works Inc. ➤ Keybase: 
 https://keybase.io/alterakey ➤ Ken-ya Yoshimura
 (@ad3liae) ➤ CEO, Monolith Works Inc. ➤ Keybase:
 https://keybase.io/ad3liae
 ➤ Monolith Works Inc.
 http://monolithworks.co.jp/
 ➤ Talks: DEF CON 25 Demo Labs
  • 3. WHAT WE DO ➤ alterakey ➤ Security Researcher ➤ iOS/Android ➤ Network pentesting ➤ ad3liae ➤ Security Researcher ➤ iOS/Android
  • 4. FINDING VULNERABILITIES ➤ Static Analysis ➤ Reversing the target and deriving its behavior ➤ Reversing data flow is important ➤ Dynamic Analysis ➤ Running the target and seeing its behavior

  • 5. PROBLEMS ➤ Obfuscation ➤ Common practice ➤ Hinders decompilers ➤ Dynamic Analysis ➤ Often unwanted :(

  • 6. RELATED WORKS ➤ Mixing multiple decompilers
 (QARK et al.) ➤ Speed: even more time ➤ Fragility
 ➤ Mixing alone does not answer the question, IMHO..
  • 7. WHY IS DECOMPILING HARD? ➤ Decompiling requires… ➤ Accurate disassembling ➤ Common code pattern
 (e.g. function prologue) ➤ Obfuscaters disrupt these
  • 8. GO DIRECT ➤ Trueseeing ➤ Capable of ➤ Reversing data flow ➤ Loosely guessing constants/typesets/… ➤ Manifest analysis ➤ Uses no decompilers ➤ Speed ➤ Resiliency ➤ D8-ready ➤ Readily available on PyPI!
  • 10. MARKING UP ➤ Parsing ➤ Regular mnemonics (op) ➤ Directives ➤ .class / .method ➤ .implements / .super etc. ➤ Annotations ➤ Marking ➤ methods ➤ classes
  • 11. GO FASTER ➤ Mapping codebase ➤ Constants ➤ Invocations ➤ sput ➤ iput ➤ Names (method, class) ➤ Class relationships ➤ Why SQL?
 — Complex queries matter ➤ Make DBs “think”
  • 12. DATAFLOW TRACING (1) ➤ Lenient Backtracking ➤ From “interest”s to the args ➤ Attempt to trace “interests” back to some constant
 (“solving” constant) ➤ Interests ➤ API call arguments etc. ➤ Match register refs/writes ➤ move*, const*
  • 13. DATAFLOW TRACING (2) ➤ Call tracing ➤ From args to the callers ➤ Climbing call stacks up ➤ Special case for handling p* ➤ Not always ➤ Currently R8 aggressively reuse p* ➤ WIP, soon to be fixed
  • 14. DATAFLOW TRACING (3) ➤ Static trace ➤ Matching sget/sput ➤ Solving constants in sput
  • 15. DATAFLOW TRACING (4) ➤ Instansic trace ➤ Matching iget/iput ➤ Ignoring instance identity
 (WIP) ➤ Solving constants in iput
  • 16. PATCH AND TIDY ➤ Partial update ➤ Disassemble ➤ Patch codebase/DB ➤ Re-assemble
  • 17. BINARY PATCHING ➤ Removing (in smali) ➤ Removing insn ➤ Patch DB
  • 18. AS AN EXPLOITATION TOOL ➤ Enabling debug ➤ Enabling full backup ➤ Replacing signature ➤ TLS un-pinning (WIP)
  • 19. REPORTING ➤ Scoring vulnerabilities ➤ HTML: Readable, comprehensive report ➤ Text: CI-friendly report
  • 20. SCORING VULNERABILITIES ➤ CVSS 3.0 Temporal ➤ Profile based fine-tuning ➤ Importance of vuln. classes
  • 21. REPORTING IN HTML ➤ Comprehensive, crisp report ➤ Summary ➤ Description ➤ Solution ➤ Risk Factor ➤ CVSS score ➤ Instances ➤ For humans
  • 22. REPORTING IN TEXT ➤ gcc-like ➤ For CI system or something ➤ Continuous security
  • 23. CAPABILITY ➤ Most of OWASP Mobile Top 10 (2016) ➤ M1: Improper Platform Usage ➤ M2: Insecure Data Storage ➤ M3: Insecure Communication ➤ M4: Insecure Authentication ➤ M5: Insufficient Cryptography ➤ M6: Insecure Authorization ➤ M7: Client Code Quality Issues ➤ M8: Code Tampering ➤ M9: Reverse Engineering ➤ M10: Extraneous Functionality
  • 24. CASE STUDY ➤ #1: InsecureBankV2
 (DEFCON 25) ➤ #2: (CENSORED) ➤ #3: (CENSORED) paper stack 1 SQ SEPIA 500X by wintersoul1 on flickr, CC-BY-NC-ND 2.0
  • 25. CASE STUDY #1 ➤ InsecureBankV2 (obfuscated) ➤ Announced at DEF CON 25 ➤ Excellent ‘hack-me’ challenge ➤ Originally not obfuscated ➤ ProGuard rule based on:
 “proguard-android-optimize” ➤ More passes: 5 -> 8 ➤ Allow all optimizations
 (i.e. HV class merging etc.)
  • 26. M1: IMPROPER PLATFORM USAGE ➤ Insecure BroadcastReceiver ➤ Published with seemingly private action name ➤ Backup-able
  • 27. M3: INSECURE COMMUNICATION ➤ TLS interception ➤ Lack of certificate pinning
  • 28. M5: INSUFFICIENT CRYPTOGRAPHY ➤ App is using cryptographic functions with constant keys
  • 29. CASE STUDY #2 ➤ CENSORED:
 This page is unintentionally blank. Blue Static by get directly down on flickr, CC-BY 2.0
  • 30. M1: IMPROPER PLATFORM USAGE ➤ Massive privacy concerns ➤ Massive permission requests Blue Static by get directly down on flickr, CC-BY 2.0
  • 31. M2: INSECURE STORAGE ➤ Something written in world readable manner ➤ Massive logging ➤ Kind of classical no-no Blue Static by get directly down on flickr, CC-BY 2.0
  • 32. M3: INSECURE COMMUNICATION ➤ Not certain, but yields strong indication of cleartext HTTP ➤ Location? Blue Static by get directly down on flickr, CC-BY 2.0
  • 33. M5: INSUFFICIENT CRYPTOGRAPHY ➤ App is using cryptographic functions with constant keys Blue Static by get directly down on flickr, CC-BY 2.0
  • 34. M8: CODE TAMPERING ➤ Embedded public keys ➤ What if we replace them? Blue Static by get directly down on flickr, CC-BY 2.0
  • 35. CASE STUDY #3 ➤ CENSORED:
 This page is unintentionally blank. static by Trevor Bashnick on flickr, CC-BY-NC 2.0
  • 36. M7: CLIENT CODE QUALITY ➤ App is registering custom JS interface with addJavascriptInterface() ➤ in API < 17, JS interfaces could be exploited to arbitrary OS command execution ➤ Condition: ➤ Controlling content ➤ Targets or runs API < 17 static by Trevor Bashnick on flickr, CC-BY-NC 2.0
  • 37. GO FURTHER ➤ Roadmaps, TBDs ➤ Further binary patching mode ➤ Further accuracy ➤ Further signatures ➤ Further exploitation mode ➤ ARM code analysis ➤ MSIL code analysis ➤ iOS support ➤ True symbolic exec. ➤ Automatic dynamic analysis 摩周湖 by Sendai Blog on flickr, CC-BY 2.0
  • 38. FURTHER BINARY PATCHING ➤ Status: Mostly done (PR soon) ➤ Introducing variable (in smali) ➤ Allocate a local ➤ Assign constant ➤ Replace offending arg. ➤ Patch DB ➤ Introducing function (in smali) ➤ Introduce templated function ➤ Introduce calls ➤ Patch DB ➤ Opens the way to more automatic code fixes
  • 39. FURTHER ACCURACY ➤ Status: Mostly done (PR soon) ➤ Zoning storage
 (e.g. external as insecure) ➤ Solving only interesting args ➤ Selectively emulate API
 (e.g. StringBuilder) ➤ Recognizing more TLS pinning modes ➤ Carefully evaluate confidence
  • 40. FURTHER SIGNATURES ➤ Status: WIP ➤ HTTP parameter injection ➤ Path traversal ➤ Client-side XSS/SQLi ➤ Weak crypto algorithms ➤ Insufficient root detection ➤ Questionable use of sensitive data ➤ Taint analysis ➤ File I/O ➤ Network I/O
  • 41. FURTHER EXPLOITS ➤ Status: WIP ➤ TLS Unpinning ➤ Forcefully enabling logging ➤ Exploit generation on issues ➤ Reversing API spec?
  • 42. ARM CODE ANALYSIS ➤ Status: WIP ➤ Native code analysis ➤ Considering radare2 (r2) and/or VEX IR ➤ Problem: ➤ r2 takes time ➤ r2 seemingly cannot disassemble the whole executable at once
 (cf. Produce File in IDA)
  • 43. MSIL CODE ANALYSIS ➤ Status: WIP ➤ Mainly old versions of Unity (Mono) ➤ Considering use of CoreCLR
  • 44. IOS ➤ Status: WIP ➤ Swift, Objective-C, bitcode analysis ➤ Considering use of radare2, VEX IR and LLVM tools ➤ Problems:
 Much as same as ARM code analysis
  • 45. TRUE SYMBOLIC EXEC. ➤ Status: In Research ➤ Symbolic exec. will help ➤ Forward analysis ➤ Evaluating reachability ➤ With it, we might be able to do..? ➤ Partial evaluation
 (e.g. Reversing transforms) ➤ Gaining more accuracy ➤ Gaining resiliency against more advanced obfuscaters ➤ Considering use of VEX IR
  • 46. AUTOMATIC DYNAMIC ANALYSIS ➤ Status: In Research ➤ Similar to MobSF
  • 47. CONCLUSION ➤ We saw it is… ➤ Fast ➤ Accurate ➤ Intuitive ➤ Free as freedom IMG_2988s by 不憂照相館 on flickr, CC-BY-NC-ND 2.0
  • 48. FAST ➤ No decompiling ➤ Fast lookup with SQL ➤ Because complex query matters
  • 49. ACCURATE (1) ➤ We derive data flow directly over Dalvik opcodes ➤ Lenient Backtracking ➤ Call stack tracing ➤ Static tracing ➤ Instansic tracing
  • 50. ACCURATE (2) ➤ We can detect issues in (obfuscated) apps ➤ M1: inappropriate CP/BR exports, privacy concerns, enabled debug/backup bit etc. ➤ M2: insecure file permissions, logging etc. ➤ M3: cleartext HTTP, TLS non-pinning etc. ➤ M5: static keys etc. ➤ M7: WebView insecurities etc. ➤ M8: embedded public keys etc. ➤ M9: non-obfuscation
  • 51. INTUITIVE ➤ Comprehensive reporting ➤ HTML for humans ➤ Text for CI ➤ Continuous security
  • 52. FREE AS FREEDOM ➤ GPL-3 ➤ https://github.com/monolithworks/ trueseeing ➤ It remains free for good ➤ More fixes and sigs to come ➤ We are striving to make it not only useful but also essential Freedom by Mochamad Arief on flickr, CC-BY-NC-ND 2.0