SlideShare a Scribd company logo
SOFTWARE ENGINEERING
GROUP
SECURE
From reactive to

proactive mobile security
Eric Bodden

with Siegfried Rasthofer, Steven Arzt,

Marc Miltenberger and Michael Pradel
SOFTWARE ENGINEERING
GROUP
SECURE2
reactive security proactive security
•Find vulnerabilities
•React to disclosures
•Fix vulnerabilities
•Static analysis
•Dynamic analysis
•Bug bounty
•…
•Accept that vulnerabilities

are a part of life
•Proactively contain

their effect
•Proactively reason about

those effects (risk analysis)
•Principle of least privilege
•Distrustful decomposition
SOFTWARE ENGINEERING
GROUP
SECURE
Past work on

Android analysis
3
Soot
FlowDroid
StubDroidSuSi
Custom Analysis
HarvesterFuzzDroid ICCTA
see invited paper in proceedings!
sources
sinks code analysis
report potential
privacy leaks
sources
sinks code analysis
report potential
privacy leaks
SMS/MMS Location Calendar Contact
SuSi [NDSS’14]
sources
sinks code analysis
report potential
privacy leaks
SMS/MMS Bluetooth NFC Email Internet
SuSi [NDSS’14]
•Found that many previous

lists missed 90% of sources

and sinks
•Also found that definition of

sources/sinks is not trivial
sources
sinks code analysis
report potential
privacy leaks
FlowDroid[PLDI’14]
sources
sinks code analysis
report potential
privacy leaks
ICCTA[ICSE’15]
sources
sinks code analysis
report potential
privacy leaks
StubDroid[ICSE’16]
sources
sinks code analysis
report potential
privacy leaks
StubDroid[ICSE’16]
sources
sinks code analysis
report potential
privacy leaks
StubDroid[ICSE’16]
StubDroid
data-flow

summaries
parameters

and field reads
parameters

and field writes
12
Harvester
sendTextMessage(num, text)
Class.forName(className)
sendTextMessage(“004242“, “loc_Other“)
sendTextMessage(“008888“, “loc_US“)
Class.forName(“SmsManager“)
Harvester[NDSS’16]
13
if(Build.FINGERPRINT.startsWith("generic"))
nr	=	"00"
if(simCountryIso().equals("US"))
nr	+=	"4242" nr	+=	"8888"
sendTextMessage(nr,	msg)
...
Environment
msg	=	AES.decrypt("1234","fri$ds&S")
Step 1:

static

slicing
14
if(Build.FINGERPRINT.startsWith("generic"))
nr	=	"00"
if(simCountryIso().equals("US"))
nr	+=	"4242" nr	+=	"8888"
sendTextMessage(nr,	msg)
...
Environment
xmsg	=	AES.decrypt("1234","fri$ds&S")
Step 1:

static

slicing
if(simCountryIso().equals("US"))
x
15
if(Build.FINGERPRINT.startsWith("generic"))
nr	=	"00"
nr	+=	"4242" nr	+=	"8888"
sendTextMessage(nr,	msg)
...
Environment
msg	=	AES.decrypt("1234","fri$ds&S")
Step 1:

static

slicing
x
16
if(Build.FINGERPRINT.startsWith("generic"))
nr	=	"00"
nr	+=	"4242" nr	+=	"8888"
sendTextMessage(nr,	msg)
...
Environment
if(EXECUTOR_1)
msg	=	AES.decrypt("1234","fri$ds&S")
Step 1:

static

slicing
17
nr	=	"00"
nr	+=	"4242" nr	+=	"8888"
Log(nr,	msg)
if(EXECUTOR_1)
sendTextMessage(nr,	msg)
main()	{	
		Callee1(false);	
		Callee1(true);	
}
Callee1(boolean	EXECUTOR_1)	{
}
msg	=	AES.decrypt("1234","fri$ds&S")
Step 2:

concrete

dynamic

execution



(not symbolic

nor concolic)
Even works for…
18
public static void gdadbjrj(String paramString1,
String paramString2) throws Exception{
// Get class instance
Class clz = Class.forName(
gdadbjrj.gdadbjrj("VRIf3+In9a.aTA3RYnD1BcVRV]af") );
Object localObject = clz.getMethod(
gdadbjrj.gdadbjrj("]a9maFVM.9")).invoke(null);
// Get method name
String s = gdadbjrj.gdadbjrj(“BaRIta*9caBBV]a");
// Build parameter list
Class c = Class.forName(
gdadbjrj.gdadbjrj("VRIf3+InVTTnSaRI+R]KR9aR9"));
Class[] arr = new Class[] {
nglpsq.cbhgc, nglpsq.cbhgc, nglpsq.cbhgc, c, c };
// Get method and invoke it
clz.getMethod(s, arr).invoke(localObject, paramString1,
null, paramString2, null, null);
}
SmsManager.sendTextMessage(...)
Harvester enables de-obfuscation
19
Class c = Class.forName(gdadbjrj.gdadbjrj(„VRIf3+InVTTnSaRI+R]KR9aR9“));
...
Class c = Class.forName("SmsManager");
...
SmsManager.sendTextMessage(a, b, c, d, e);SmsManager
...
SOFTWARE ENGINEERING
GROUP
SECURE20
FuzzDroid
Code

target
send premium
SMS msg.
Environment that

provably reaches target
• DeviceID:	12345	
• Incoming	SMS:

		“startAttack”
FuzzDroid [ICSE 2017]
Slides on FuzzDroid courtesy of Michael Pradel
SOFTWARE ENGINEERING
GROUP
SECURE
FuzzDroid - Algorithm
Repeat until code target reached
• Static pre-analysis
• Execute in controlled environment
Intercept and modify environment values
Record trace
• Refine environment
21
• DeviceID:	00000
1st environment:
Miss most code
SOFTWARE ENGINEERING
GROUP
SECURE
FuzzDroid - Algorithm
Repeat until code target reached
• Static pre-analysis
• Execute in controlled environment
Intercept and modify environment values
Record trace
• Refine environment
22
• DeviceID:	12345	
• SMS:	“”
2nd environment:
Miss code targetReach reading of SMS
SOFTWARE ENGINEERING
GROUP
SECURE
FuzzDroid - Algorithm
Repeat until code target reached
• Static pre-analysis
• Execute in controlled environment
Intercept and modify environment values
Record trace
• Refine environment
23
• DeviceID:	12345	
• SMS:	“startAttack”
3rd environment:
Reach code target
SOFTWARE ENGINEERING
GROUP
SECURE
Extensible set of

value providers
24
t inference
Application + Target Locations + Fuzzed APIs
Fuzzing Framework
Constant Value Provider
Symbolic Value Provider
File Value Provider
...
Environment to reach
target location
Figure 12: Overview of the FuzzDroid approach
p checks whether the user’s network operator is part of a pre-defined list of
(lines 13 to 28). This kind of technique is usually used in cases of targeted
where only specific users are attacked, e.g., only users located in a certain
DeviceID:	12345
SMS:	“startAttack”
SOFTWARE ENGINEERING
GROUP
SECURE
Example Malware:

Commerzbank Phishing App
25
FuzzDroid
circumvents
integrity check and
makes malware
believe that
Commerzbank
Banking App was
started
SOFTWARE ENGINEERING
GROUP
SECURE26
SuSi
FuzzDroid
FlowDroid
ICCTA
Harvester StubDroid
Sources/Sinks
Sources/Sinks
Sources/Sinks
Flows
Summaries
Flows
Flows
ValuesValues
Static Analysis
Hybrid Analysis
SOFTWARE ENGINEERING
GROUP
SECURE
Further Reading
27
+ Ph.D. theses by Siegfried Rasthofer & Steven Arzt
all available at: http://bodden.de/pubs
Our paper in the proceedings
SOFTWARE ENGINEERING
GROUP
SECURE28
reactive security proactive security
•Find vulnerabilities
•React to disclosures
•Fix vulnerabilities
•Static analysis
•Dynamic analysis
•Bug bounty
•…
•Accept that vulnerabilities

are a part of life
•Proactively contain

their effect
•Proactively reason about

those effects (risk analysis)
•Principle of least privilege
•Distrustful decomposition
SOFTWARE ENGINEERING
GROUP
SECURE
StagefrightVulnerability
• Buffer overflow in video transcoding function that
produces a preview thumbnail on Android text
messages
• Send a crafted video to a phone arbitrary code
execution
29
• Process listening to text messages requires root
privileges
• Process for producing thumbnails also ran as root
• Ergo:Arbitrary code execution as root!
SOFTWARE ENGINEERING
GROUP
SECURE30
what if vulnerable?
what if malicious?
Problem grows large very quickly!
SOFTWARE ENGINEERING
GROUP
SECURE
Other problem:

data protection
• German law prohibits any usage of personal data
without explicit (!) consent
• Purpose of usage must be clear, and must be clearly
related to the customer’s business
• Hence: current data-sharing practices used by most
ad frameworks are illegal in Germany
• Will become illegal EU-wide on May 25th, 2018
31
SOFTWARE ENGINEERING
GROUP
SECURE32
Problem:
Currently single

protection domain
Solution 1: Solution 2:
In-process

solution
Multi-process

solution
SOFTWARE ENGINEERING
GROUP
SECURE
In-process solution
• Advantage: still one process per
app, no need for IPC with libs
• Drawback: weak isolation
• Could allow for permission
assignment to individual libraries
• Possible implementation:

piggyback on Java security manager

if it only were available (it’s not)
33
SOFTWARE ENGINEERING
GROUP
SECURE
Multi-process solution
• Advantages:
strong process isolation
Permission assignment to individual
libraries could probably be done
through standard Android means
• Drawback: libraries must
communicate with app via IPC
• Tool support could alleviate this
problem
34
SOFTWARE ENGINEERING
GROUP
SECURE
What will this take?
• Changes to the Android OS
• Developer support: must be able to master
permission assignment to libraries
• Usability research: Do we want to show
library permissions to users? Do we want to
allow them to even change them?
• App-store support: Can one use additional
permission info during triaging?
35
SOFTWARE ENGINEERING
GROUP
SECURE36
Prof. Dr. Eric Bodden
Chair for Software Engineering
Heinz Nixdorf Institut

Zukunftsmeile 1

33102 Paderborn
Telefon: +49 5251 60-3313

eric.bodden@uni-paderborn.de
https://www.hni.uni-paderborn.de/swt/
https://blogs.uni-paderborn.de/sse/
SOFTWARE ENGINEERING
GROUP
SECURE37

More Related Content

PDF
IoT Malware: Comprehensive Survey, Analysis Framework and Case Studies
PDF
The Finest Penetration Testing Framework for Software-Defined Networks
PDF
(Sacon) Sumanth Naropanth - IoT network & ecosystem security attacks & secur...
PDF
Slide Deck Class Session 8 – FRSecure CISSP Mentor Program
PPTX
Slide Deck – Session 8 – FRSecure CISSP Mentor Program 2017
PDF
Track 5 session 2 - st dev con 2016 - security iot best practices
PPTX
Security in the Age of Open Source
PDF
Survey of Rootkit Technologies and Their Impact on Digital Forensics
IoT Malware: Comprehensive Survey, Analysis Framework and Case Studies
The Finest Penetration Testing Framework for Software-Defined Networks
(Sacon) Sumanth Naropanth - IoT network & ecosystem security attacks & secur...
Slide Deck Class Session 8 – FRSecure CISSP Mentor Program
Slide Deck – Session 8 – FRSecure CISSP Mentor Program 2017
Track 5 session 2 - st dev con 2016 - security iot best practices
Security in the Age of Open Source
Survey of Rootkit Technologies and Their Impact on Digital Forensics

What's hot (20)

PPTX
Open Source and Cyber Security: Open Source Software's Role in Government Cyb...
PDF
DDOS ATTACK DETECTION ON INTERNET OF THINGS USING UNSUPERVISED ALGORITHMS
PDF
Open Source in Application Security
PPTX
Slide Deck – Session 7 – FRSecure CISSP Mentor Program 2017
PPTX
Cloud-based IDS architectures : APPLYING THE IDS APPROACHES INTO THE CLOUD EN...
PDF
Issa jason dablow
PDF
AI & ML in Cyber Security - Why Algorithms are Dangerous
PPT
Finding Diversity In Remote Code Injection Exploits
PDF
BlueHat v18 || Dep for the app layer - time for app sec to grow up
PDF
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
PPTX
September 13, 2016: Security in the Age of Open Source:
PPTX
Solving ICS Cybersecurity Challenges in the Electric Industry
PDF
2013 Toorcon San Diego Building Custom Android Malware for Penetration Testing
PDF
How to secure HCE
PPTX
Secure application deployment in the age of continuous delivery
PPT
Testbed For Ids
PPTX
Exploiting Redundancy Properties of Malicious Infrastructure for Incident Det...
PDF
festival ICT 2013: Gli attacchi mirati e la Difesa Personalizzata Trend Micro
PPTX
Secure application deployment in Apache CloudStack
PPTX
Using hypervisor and container technology to increase datacenter security pos...
Open Source and Cyber Security: Open Source Software's Role in Government Cyb...
DDOS ATTACK DETECTION ON INTERNET OF THINGS USING UNSUPERVISED ALGORITHMS
Open Source in Application Security
Slide Deck – Session 7 – FRSecure CISSP Mentor Program 2017
Cloud-based IDS architectures : APPLYING THE IDS APPROACHES INTO THE CLOUD EN...
Issa jason dablow
AI & ML in Cyber Security - Why Algorithms are Dangerous
Finding Diversity In Remote Code Injection Exploits
BlueHat v18 || Dep for the app layer - time for app sec to grow up
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
September 13, 2016: Security in the Age of Open Source:
Solving ICS Cybersecurity Challenges in the Electric Industry
2013 Toorcon San Diego Building Custom Android Malware for Penetration Testing
How to secure HCE
Secure application deployment in the age of continuous delivery
Testbed For Ids
Exploiting Redundancy Properties of Malicious Infrastructure for Incident Det...
festival ICT 2013: Gli attacchi mirati e la Difesa Personalizzata Trend Micro
Secure application deployment in Apache CloudStack
Using hypervisor and container technology to increase datacenter security pos...
Ad

Similar to From reactive toproactive mobile security (20)

PPTX
session_4_-_defender_defends5456445.pptx
PDF
Brief Tour about Android Security
PDF
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
PPTX
Application security meetup k8_s security with zero trust_29072021
PDF
Хакеро-машинный интерфейс
PPTX
Proactive Approach to OT incident response - HOUSECCON 2023
PDF
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
PDF
Custom defense - Blake final
PDF
cb-EDR-V7_a4_Digital
PPTX
Security in Android Application
PPTX
SDL: Secure design principles
PDF
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
PDF
Insecure magazine - 52
PPTX
Inria Tech Talk IoT - 28 Mars 2018
PPTX
Isaca atlanta ulf mattsson - do you have a roadmap for eu gdpr
PPT
Information Security Management. Security solutions copy
PDF
Azure 101: Shared responsibility in the Azure Cloud
PDF
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
PDF
PCI and Vulnerability Assessments - What’s Missing
PDF
Securing your Cloud Environment
session_4_-_defender_defends5456445.pptx
Brief Tour about Android Security
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
Application security meetup k8_s security with zero trust_29072021
Хакеро-машинный интерфейс
Proactive Approach to OT incident response - HOUSECCON 2023
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Custom defense - Blake final
cb-EDR-V7_a4_Digital
Security in Android Application
SDL: Secure design principles
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
Insecure magazine - 52
Inria Tech Talk IoT - 28 Mars 2018
Isaca atlanta ulf mattsson - do you have a roadmap for eu gdpr
Information Security Management. Security solutions copy
Azure 101: Shared responsibility in the Azure Cloud
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
PCI and Vulnerability Assessments - What’s Missing
Securing your Cloud Environment
Ad

More from MobileSoft (20)

PPTX
Investigating Decreasing Energy Usage in Mobile Apps via Indistinguishable Co...
PPTX
Predicting Android Application Security and Privacy Risk With Static Code Met...
PDF
A Framework for Regression Testing of Outdoor Mobile Applications
PDF
Who Changed You? Obfuscator Identification for Android
PPT
Mobile App Development and Management: Results from a Qualitative Investigation
PPTX
Towards Mobile Twin Peaks for App Development
PDF
Leafactor: Improving Energy Efficiency of Android Apps via Automatic Refactoring
PDF
Same App, Different App Stores: A comparative Study
PDF
Performance-based Guidelines for Energy-efficient Mobile Applications
PDF
Towards Native Code Offloading Platforms for Image Processing in Mobile Appli...
PDF
Assessing the Impact of Service Workers on the Energy Efficiency of Progressi...
PDF
Leafactor: Improving Energy Efficiency of Android Apps via Automatic Refactoring
PDF
IFMLEdit.org: Model Driven Rapid Prototyping of Mobile Apps
PDF
Performance-based Guidelines for Energy Efficient Mobile Applications
PDF
Towards Architectural Styles for Android App Software Product Lines
PDF
CheckDroid: A Tool for Automated Detection of Bad Practices in Android Applic...
PDF
Authoring Tool for Location-based Learning Experiences
PDF
ACCUSE: Helping Users to minimize Android App Privacy Concerns
PDF
Automatically Locating Malicious Packages in Piggybacked Android Apps
PDF
Processing in Mobile Applications: A Case Study
Investigating Decreasing Energy Usage in Mobile Apps via Indistinguishable Co...
Predicting Android Application Security and Privacy Risk With Static Code Met...
A Framework for Regression Testing of Outdoor Mobile Applications
Who Changed You? Obfuscator Identification for Android
Mobile App Development and Management: Results from a Qualitative Investigation
Towards Mobile Twin Peaks for App Development
Leafactor: Improving Energy Efficiency of Android Apps via Automatic Refactoring
Same App, Different App Stores: A comparative Study
Performance-based Guidelines for Energy-efficient Mobile Applications
Towards Native Code Offloading Platforms for Image Processing in Mobile Appli...
Assessing the Impact of Service Workers on the Energy Efficiency of Progressi...
Leafactor: Improving Energy Efficiency of Android Apps via Automatic Refactoring
IFMLEdit.org: Model Driven Rapid Prototyping of Mobile Apps
Performance-based Guidelines for Energy Efficient Mobile Applications
Towards Architectural Styles for Android App Software Product Lines
CheckDroid: A Tool for Automated Detection of Bad Practices in Android Applic...
Authoring Tool for Location-based Learning Experiences
ACCUSE: Helping Users to minimize Android App Privacy Concerns
Automatically Locating Malicious Packages in Piggybacked Android Apps
Processing in Mobile Applications: A Case Study

Recently uploaded (20)

PPTX
assetexplorer- product-overview - presentation
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
AutoCAD Professional Crack 2025 With License Key
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Transform Your Business with a Software ERP System
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Download FL Studio Crack Latest version 2025 ?
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Operating system designcfffgfgggggggvggggggggg
assetexplorer- product-overview - presentation
Advanced SystemCare Ultimate Crack + Portable (2025)
AutoCAD Professional Crack 2025 With License Key
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
CHAPTER 2 - PM Management and IT Context
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Complete Guide to Website Development in Malaysia for SMEs
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Reimagine Home Health with the Power of Agentic AI​
Salesforce Agentforce AI Implementation.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Transform Your Business with a Software ERP System
Autodesk AutoCAD Crack Free Download 2025
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Download FL Studio Crack Latest version 2025 ?
Odoo Companies in India – Driving Business Transformation.pdf
Digital Systems & Binary Numbers (comprehensive )
Operating system designcfffgfgggggggvggggggggg

From reactive toproactive mobile security