SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

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
CanSecWest
 
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
 
Алексей Старов - Как проводить киберраследования?
Алексей Старов - Как проводить киберраследования?Алексей Старов - Как проводить киберраследования?
Алексей Старов - Как проводить киберраследования?
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 Linux
inaz2
 

Was ist angesagt? (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
 

Ähnlich wie [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes

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
NetSPI
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learned
Yury Chemerkin
 
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
MichaelM85042
 
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
Velocidex Enterprises
 
Hacktivity2011 be ef-preso_micheleorru
Hacktivity2011 be ef-preso_micheleorruHacktivity2011 be ef-preso_micheleorru
Hacktivity2011 be ef-preso_micheleorru
Michele Orru
 

Ähnlich wie [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...
 

Mehr von 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] 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] 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
 

Mehr von 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...
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

[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