SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Richie Bonett,
Kaushal Kafle,
Kevin Moran,
Adwait Nadkarni &
Denys Poshyvanyk
Discovering Flaws in Security-Focused
Static AnalysisTools for Android using
Systematic Mutation
Friday,Aug 17th, 2018
MOTIVATION
2
MOTIVATION
Flowdroid
IccTA
DroidSafe
CryptoLint
MalloDroid
Argus-SAF
Taintdroid
DidFail
BlueSeal
End User
Safer Apps
2
Detecting	SSL	
Vulnerabilities
OAuth-token	
Tracking Data	Leak	
Detection
Intent	
spoofing
Permission	
misuse
Password	
tracking
• Security tools have diverse
security goals
• Security analysis of apps is highly
beneficial to end users
• Keeps the ecosystem clear of
malicious or vulnerable apps
SECURITY ANALYSIS OF APPLICATIONS
3
Detecting	SSL	
Vulnerabilities
OAuth-token	
Tracking Data	Leak	
Detection
Intent	
spoofing
Permission	
misuse
Password	
tracking
• Security tools have diverse
security goals
• Security analysis of apps is highly
beneficial to end users
• Keeps the ecosystem clear of
malicious or vulnerable apps
Q: Do we really know how well these tools work?
SECURITY ANALYSIS OF APPLICATIONS
3
• 2015: Soundiness manifesto1
• Static analysis tools are implicitly expected to be sound (i.e.,
they over-approximate)
• In practice, all tools are soundy:A sound core, but with
some unsound assumptions to be practical; e.g. JNI, Reflection
• Soundy tools are practical
• However, developers might not document unsound choices
for various reasons
SOUNDINESS
[1] Livshits, Benjamin, et al. "In defense of soundiness: a manifesto." Communications of the ACM 58.2 (2015): 44-46.
Static
Analysis
tool t
Sound
core
Dynamic	code	
loading
…JNI
Java	Reflection
4
• 2015: Soundiness manifesto1
• Static analysis tools are implicitly expected to be sound (i.e.,
they over-approximate)
• In practice, all tools are soundy:A sound core, but with
some unsound assumptions to be practical; e.g. JNI, Reflection
• Soundy tools are practical
• However, developers might not document unsound choices
for various reasons
SOUNDINESS
[1] Livshits, Benjamin, et al. "In defense of soundiness: a manifesto." Communications of the ACM 58.2 (2015): 44-46.
Static
Analysis
tool t
Sound
core
Dynamic	code	
loading
…JNI
Java	Reflection
• We want to discover the extent of the unsound decisions
4
• The scope of the soundiness manifesto is language features
• We target security analysis of mobile apps (e.g., data leak
detection, SSL vuln, etc. )
• This paper:A general discussion on the design/
implementation choices in the context of the target platform,
i.e.,Android, and its unique abstractions:
• Application model
• Inter-component communication
• Asynchronous invocation and component lifecycles
SOUNDINESS OF MOBILE SECURITY TOOLS
Activities
Intent	
messages
BroadcastReceiver
Fragments
XML	Resource	
Files
Callbacks
5
A framework that enables systematic evaluation of
existing security tools to identify and document unsound
decisions, eventually expanding the sound core
OUR VISION
• Benefits:
• Researchers: discover undocumented flaws in tools
• Developers: build more effective tools by discovering easily fixed but evasive bugs
• Users: benefit from better detection, and hence a better application ecosystem
6
μSE: MUTATION-BASED SOUNDNESS EVALUATION
• μSE leverages mutation analysis for systematic evaluation
of security tools
• Contextualizes mutation analysis to security
• Develops the abstractions of
1. Security operators and
2. Mutation schemes
7
MUTATION ANALYSIS BACKGROUND
Mutation
Engine
Mutation
operators
Test Suite
to evaluate
Mutated Apks
Killed Mutants
Unkilled Mutants
8
μSE OVERVIEW
• μSE leverages mutation analysis for systematic evaluation of
security tools
Static
Analysis
tool t
Sound
core
9
μSE OVERVIEW
• μSE leverages mutation analysis for systematic evaluation of
security tools
Analyze
Apps
App 1 App 2
….
App nStatic
Analysis
tool t
Sound
core
9
μSE OVERVIEW
• μSE leverages mutation analysis for systematic evaluation of
security tools
Analyze
Apps
App 1 App 2
….
App nStatic
Analysis
tool t
Sound
core
Mutate apps
μSE
Mutants
Mutation
Scheme
Security
Operators
9
μSE OVERVIEW
• μSE leverages mutation analysis for systematic evaluation of
security tools
Analyze
Apps
App 1 App 2
….
App n Analyze
Uncaught
Mutants
Improved
tool t’
Sound
core
Static
Analysis
tool t
Sound
core
Mutate apps
μSE
Mutants
Mutation
Scheme
Security
Operators
9
μSE DESIGN
• Basic Components and their definitions:
• Security operator: What anomaly/mutation to insert
in the app
• Mutation scheme: Where to place/seed it
10
μSE DESIGN: SECURITY OPERATORS
• Challenges:
• Too fine-grained —> Not scalable
• Too generic —> Not effective as different tools have different
security focus
• μSE defines security operator in terms of security goals of the tools
• Scalable to tools with similar security goals (e.g., data leak detection)
11
μSE DESIGN: SECURITY OPERATORS
boolean isServerTrusted() {
return true }
dataLeak = Location.read()
log.d(dataLeak)
1. Operator for data leak detectors
2. Operator for SSL vulnerability detectors
12
• Multiple strategies with different objectives
1. Reachability analysis
2. Android Abstractions
3. Security goals
μSE DESIGN: MUTATION SCHEME
13
1. Reachability analysis
• Placing operator at the start of every method
• Helps in the evaluation of the coverage of flaws
• Simplest mutation scheme for operator placement
μSE DESIGN: MUTATION SCHEME
14
2. Android abstractions
• Model unique aspects of Android platform
• Mutants are built specifically for Android by choosing its unique
abstractions as the starting point
• Activity & Fragment Lifecycles
• Callbacks
• Intent messages
• Android Resource files
μSE DESIGN: MUTATION SCHEME
15
2. Android abstractions
• Model unique aspects of Android platform
• Mutants are built specifically for Android by choosing its unique
abstractions as the starting point
• Activity & Fragment Lifecycles
• Callbacks
• Intent messages
• Android Resource files
μSE DESIGN: MUTATION SCHEME
BroadcastReceiver
Leak
onReceive()
15
2. Android abstractions
• Model unique aspects of Android platform
• Mutants are built specifically for Android by choosing its unique
abstractions as the starting point
• Activity & Fragment Lifecycles
• Callbacks
• Intent messages
• Android Resource files
onReceive()
BroadcastReceiver
μSE DESIGN: MUTATION SCHEME
BroadcastReceiver
Leak
onReceive()
15
3. Security goal
• Accounting for the specific objective of the tool under scrutiny
• Can be applied to other tools with similar goals
• E.g., a taint-based scheme for data leak detection tools
μSE DESIGN: MUTATION SCHEME
16
3. Security goal
• Accounting for the specific objective of the tool under scrutiny
• Can be applied to other tools with similar goals
• E.g., a taint-based scheme for data leak detection tools
μSE DESIGN: MUTATION SCHEME
onStart()
Source
onResume()
Sink
16
IMPLEMENTATION
Security
operator(s)
Mutation
scheme(s)
Step 1: Specification
Android
Abstractions
Security
Goals
17
IMPLEMENTATION
Mutation
Engine
Step 2: Mutation
Security
operator(s)
Mutation
scheme(s)
Step 1: Specification
Android
Abstractions
Security
Goals
17
IMPLEMENTATION
Mutation
Engine
Step 2: Mutation
Test tool(s)
on mutants
Manual
analysis
Vulnerability
Documentation
Software
Patches
Step 3: Analysis
Security
operator(s)
Mutation
scheme(s)
Step 1: Specification
Android
Abstractions
Security
Goals
17
IMPLEMENTATION
Mutation
Engine
Step 2: Mutation
Test tool(s)
on mutants
Manual
analysis
Vulnerability
Documentation
Software
Patches
Step 3: Analysis
Mutation
Engine
Execution
Engine
Non-executing
mutants
Security
operator(s)
Mutation
scheme(s)
Step 1: Specification
Android
Abstractions
Security
Goals
17
IMPLEMENTATION
Mutation
Engine
Step 2: Mutation
Test tool(s)
on mutants
Manual
analysis
Vulnerability
Documentation
Software
Patches
Step 3: Analysis
Mutation
Engine
Execution
Engine
Non-executing
mutants
Generated Mutants
Execution Engine
Security Tool
Manual
Analysis
NumberofMutants
Security
operator(s)
Mutation
scheme(s)
Step 1: Specification
Android
Abstractions
Security
Goals
17
EVALUATION
• We evaluate the effectiveness of μSE using a case study
•Security goal we chose for our case study: Data leak
detection
18
EVALUATION:TESTING DATA LEAK DETECTORS
• 7,584 mutants in total, 2,026 verified as executable
• 3 data leak detection tools evaluated using 2,026 mutants
TOOLS UNDETECTED LEAKS
Flowdroid 2.0 987/2026 (48.7%)
Argus-SAF 1480/2026 (73.1%)
DroidSafe 83/2026 (4.1%)
19
EVALUATION:TESTING DATA LEAK DETECTORS
• 7,584 mutants in total, 2,026 verified as executable
• 3 data leak detection tools evaluated using 2,026 mutants
TOOLS UNDETECTED LEAKS
Flowdroid 2.0 987/2026 (48.7%)
Argus-SAF 1480/2026 (73.1%)
DroidSafe 83/2026 (4.1%)
• Impact: Cited over 900
times
• Immediate response
and benefits:
Flowdroid is actively
being maintained
19
EVALUATION: FLAWS DISCOVERED
VULNERABILITY CLASS (VC) EXAMPLE FLAW IN VC DESCRIPTION OF THE FLAW
1 Missing Callbacks (5 flaws) Fragments Doesn't model Android Fragments correctly.
2
Missing Implicit Calls (2
flaws)
RunOnUIThread
Misses a path to Runnable.run()for runnables
passed into Activity.runOnUIThread()
3
Incorrect Modeling of
Anonymous Classes (2 flaws)
BroadcastReceiver
Misses the onReceive() callback of a
BroadcastReceiver implemented
programmatically and registered within another
programmatically defined BroadcastReceiver's
onReceive() callback.
4
Incorrect Modeling of
Asynchronous Methods (4
flaws)
LocationListenerTaint
Misses the flow from a source in the
onStatusChanged() callback to a sink in the
onLocationChanged() callback of the
LocationListener interface, despite recognizing
leaks wholly contained in either.
20
EVALUATION: FLAW PROPAGATION
FLAW FD 2.5.1 FD 2.5.0 FD 2.0 BLUESEAL ICCTA HORNDROID ARGUS DROIDSAFE DIDFAIL
1 DialogFragmentShow ✘ ✘ ✘ ✓ ✘ ✘ ✓ ✓ ✘
2 PhoneStateListener ✘ ✘ ✘ ✓ ✘ ✘ ✓ ✓ ✘
3 NavigationView ✘ ✘ ✘ - ✘ - ✘ - ✘
4 SQLiteOpenHelper ✘ ✘ ✘ ✓ ✘ ✘ ✘ ✓ ✘
5 Fragments ✘ ✘ ✘ ✘ ✘ ✘ ✘ - ✘
6 RunOnUIThread ✘ ✘ ✘ ✓ ✘ ✘ ✘ ✓ ✘
7 ExecutorService ✘ ✘ ✘ ✓ ✘ ✘ ✘ ✓ ✘
8 ButtonOnClickToDialogOnClick ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✘ ✘
9 BroadcastReceiver ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘
10 LocationListenerTaint ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘
11 NSDManager ✘ ✘ ✘ ✓ ✘ ✓ ✘ ✓ ✘
12 ListViewCallbackSequential ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘
13 ThreadTaint ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘
• Inheriting flowdroid as a black box - IccTA (13/13), DidFail (13/13)
• Motivated by flowdroid’s design (but augmented to their need) - Argus-SAF (6/13)
• Implementing their own methodologies - BlueSeal (1/13), HornDroid (6/13), DroidSafe (1/13)
✘ - Fails to detect
21
RECALL: EXPANDING THE SOUND CORE
• We could fix one of the problems (fragment, FlowDroid 2.0)
• However, fixing flaws is significantly challenging
• Some flaws are design-choices that are hard to immediately fix
(e.g. Runnable)
• Some are unsolved research challenges (e.g., BroadcastReceiver)
• μSE effectively serves the function of discovering/documenting these for
future research
22
CAVEATS
• μSE doesn’t claim soundness
• Aims to increase the confidence in the results of soundy tools by
discovering and documenting unsound choices
• μSE doesn’t replace formal verification
• Rather a framework for systematically uncovering flaws in
security tools
• Significant advancement over manually curated toolkits
23
CONCLUDING REMARKS
• μSE demonstrates the effectiveness of mutation analysis at
discovering undocumented flaws in security tools
• Flaws not only affect individual tools, but propagate to future research
• Android evolves, and μSE is a significant improvement over manually
curated benchmarks that need keep up with Android’s fast-paced
evolution
• μSE allows patching of easily fixable but evasive flaws; however, this is
a hard problem in general
24
Thank you!
Kaushal Kafle
William & Mary
kkafle@cs.wm.edu
Code and data at:
https://muse-security-evaluation.github.io/
25
ADDITIONAL SLIDES
26
• 92 minutes total time
• Crashcope: systematic exploration of the
application
27
EVALUATION FLAWS DISCOVERED
28
CONCLUDING REMARKS
• μSE demonstrates the effectiveness of mutation analysis at
discovering undocumented flaws in security tools
• Flaws not only affect individual tools, but propagate to future
research
• Android evolves, and μSE is a significant improvement over
manually curated benchmarks that need keep up with Android’s
fast-paced evolution
• μSE allows patching of easily fixable but evasive flaws. However,
this is a hard problem in general.29

Más contenido relacionado

La actualidad más candente

Bug Bounties and The Path to Secure Software by 451 Research
Bug Bounties and The Path to Secure Software by 451 ResearchBug Bounties and The Path to Secure Software by 451 Research
Bug Bounties and The Path to Secure Software by 451 ResearchHackerOne
 
Codebits 2014 - Secure Coding - Gamification and automation for the win
Codebits 2014 - Secure Coding - Gamification and automation for the winCodebits 2014 - Secure Coding - Gamification and automation for the win
Codebits 2014 - Secure Coding - Gamification and automation for the winTiago Henriques
 
ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...
ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...
ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...Lili Wei
 
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...Lili Wei
 
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
Benchpress:  Analyzing Android App Vulnerability Benchmark SuitesBenchpress:  Analyzing Android App Vulnerability Benchmark Suites
Benchpress: Analyzing Android App Vulnerability Benchmark SuitesVenkatesh Prasad Ranganath
 
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...XebiaLabs
 
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...IOSR Journals
 
Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Rogue Wave Software
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Sigma Software
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Klocwork
 
Videos about static code analysis
Videos about static code analysisVideos about static code analysis
Videos about static code analysisPVS-Studio
 
Owasp appsensor self-protecting applications
Owasp appsensor self-protecting applicationsOwasp appsensor self-protecting applications
Owasp appsensor self-protecting applicationsRaphaël Taban
 
Agile Mobile Testing Workshop
Agile Mobile Testing WorkshopAgile Mobile Testing Workshop
Agile Mobile Testing WorkshopNaresh Jain
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionLemi Orhan Ergin
 
COVERT app
COVERT appCOVERT app
COVERT appitba9
 
Application Inspector SSDL Edition product
Application Inspector SSDL Edition productApplication Inspector SSDL Edition product
Application Inspector SSDL Edition productValery Boronin
 
EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersPeter Bittner
 
Findings Revealed: 2015 State of the Software Supply Chain
Findings Revealed: 2015 State of the Software Supply Chain Findings Revealed: 2015 State of the Software Supply Chain
Findings Revealed: 2015 State of the Software Supply Chain Sonatype
 

La actualidad más candente (20)

Bug Bounties and The Path to Secure Software by 451 Research
Bug Bounties and The Path to Secure Software by 451 ResearchBug Bounties and The Path to Secure Software by 451 Research
Bug Bounties and The Path to Secure Software by 451 Research
 
Codebits 2014 - Secure Coding - Gamification and automation for the win
Codebits 2014 - Secure Coding - Gamification and automation for the winCodebits 2014 - Secure Coding - Gamification and automation for the win
Codebits 2014 - Secure Coding - Gamification and automation for the win
 
ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...
ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...
ICSE 2019 - PIVOT: Learning API-Device Correlations to Facilitate Android Com...
 
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
 
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
Benchpress:  Analyzing Android App Vulnerability Benchmark SuitesBenchpress:  Analyzing Android App Vulnerability Benchmark Suites
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
 
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
 
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
 
Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009
 
Dw testing
Dw testingDw testing
Dw testing
 
Videos about static code analysis
Videos about static code analysisVideos about static code analysis
Videos about static code analysis
 
Owasp appsensor self-protecting applications
Owasp appsensor self-protecting applicationsOwasp appsensor self-protecting applications
Owasp appsensor self-protecting applications
 
Agile Mobile Testing Workshop
Agile Mobile Testing WorkshopAgile Mobile Testing Workshop
Agile Mobile Testing Workshop
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
 
COVERT app
COVERT appCOVERT app
COVERT app
 
PNSQC 2021 January 28 Culture Jam
PNSQC 2021 January 28 Culture JamPNSQC 2021 January 28 Culture Jam
PNSQC 2021 January 28 Culture Jam
 
Application Inspector SSDL Edition product
Application Inspector SSDL Edition productApplication Inspector SSDL Edition product
Application Inspector SSDL Edition product
 
EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python Developers
 
Findings Revealed: 2015 State of the Software Supply Chain
Findings Revealed: 2015 State of the Software Supply Chain Findings Revealed: 2015 State of the Software Supply Chain
Findings Revealed: 2015 State of the Software Supply Chain
 

Similar a Discovering Flaws in Security-Focused Static Analysis Tools for Android using Systematic Mutation

AI on Spark for Malware Analysis and Anomalous Threat Detection
AI on Spark for Malware Analysis and Anomalous Threat DetectionAI on Spark for Malware Analysis and Anomalous Threat Detection
AI on Spark for Malware Analysis and Anomalous Threat DetectionDatabricks
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Mykhailo Antonishyn
 
7 Reasons Your Applications are Attractive to Adversaries
7 Reasons Your Applications are Attractive to Adversaries7 Reasons Your Applications are Attractive to Adversaries
7 Reasons Your Applications are Attractive to AdversariesDerek E. Weeks
 
From reactive toproactive mobile security
From reactive toproactive mobile securityFrom reactive toproactive mobile security
From reactive toproactive mobile securityMobileSoft
 
PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?Black Duck by Synopsys
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Protecting microservices using secure design patterns 1.0
Protecting microservices using secure design patterns 1.0Protecting microservices using secure design patterns 1.0
Protecting microservices using secure design patterns 1.0Trupti Shiralkar, CISSP
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...Agile Testing Alliance
 
Automating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSourceAutomating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSourceWhiteSource
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecurityTao Xie
 
ATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real WorldATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real WorldAgile Testing Alliance
 
How to Use Open Source Tools to Improve Network Security
How to Use Open Source Tools to Improve Network SecurityHow to Use Open Source Tools to Improve Network Security
How to Use Open Source Tools to Improve Network SecurityMohammed Almusaddar
 
MICRE: Microservices In MediCal Research Environments
MICRE: Microservices In MediCal Research EnvironmentsMICRE: Microservices In MediCal Research Environments
MICRE: Microservices In MediCal Research EnvironmentsMartin Chapman
 
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitationDEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitationFelipe Prado
 
PCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s MissingPCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s MissingBlack Duck by Synopsys
 

Similar a Discovering Flaws in Security-Focused Static Analysis Tools for Android using Systematic Mutation (20)

Humla workshop on Android Security Testing - null Singapore
Humla workshop on Android Security Testing - null SingaporeHumla workshop on Android Security Testing - null Singapore
Humla workshop on Android Security Testing - null Singapore
 
AI on Spark for Malware Analysis and Anomalous Threat Detection
AI on Spark for Malware Analysis and Anomalous Threat DetectionAI on Spark for Malware Analysis and Anomalous Threat Detection
AI on Spark for Malware Analysis and Anomalous Threat Detection
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.
 
7 Reasons Your Applications are Attractive to Adversaries
7 Reasons Your Applications are Attractive to Adversaries7 Reasons Your Applications are Attractive to Adversaries
7 Reasons Your Applications are Attractive to Adversaries
 
From reactive toproactive mobile security
From reactive toproactive mobile securityFrom reactive toproactive mobile security
From reactive toproactive mobile security
 
PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Protecting microservices using secure design patterns 1.0
Protecting microservices using secure design patterns 1.0Protecting microservices using secure design patterns 1.0
Protecting microservices using secure design patterns 1.0
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
 
Automating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSourceAutomating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSource
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
ATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real WorldATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real World
 
How to Use Open Source Tools to Improve Network Security
How to Use Open Source Tools to Improve Network SecurityHow to Use Open Source Tools to Improve Network Security
How to Use Open Source Tools to Improve Network Security
 
MICRE: Microservices In MediCal Research Environments
MICRE: Microservices In MediCal Research EnvironmentsMICRE: Microservices In MediCal Research Environments
MICRE: Microservices In MediCal Research Environments
 
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitationDEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
 
PCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s MissingPCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s Missing
 
FALCON.pptx
FALCON.pptxFALCON.pptx
FALCON.pptx
 
2019 10-app gate sdp 101 09a
2019 10-app gate sdp 101 09a2019 10-app gate sdp 101 09a
2019 10-app gate sdp 101 09a
 

Más de Kevin Moran

Assessing Test Case Prioritization on Real Faults and Mutants
Assessing Test Case Prioritization on Real Faults and MutantsAssessing Test Case Prioritization on Real Faults and Mutants
Assessing Test Case Prioritization on Real Faults and MutantsKevin Moran
 
Detecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile AppsDetecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile AppsKevin Moran
 
On-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android ApplicationsOn-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android ApplicationsKevin Moran
 
Auto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android ApplicationsAuto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android ApplicationsKevin Moran
 
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...Kevin Moran
 
How do Developers Test Android Applications?
How do Developers Test Android Applications?How do Developers Test Android Applications?
How do Developers Test Android Applications?Kevin Moran
 
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Kevin Moran
 
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...Kevin Moran
 

Más de Kevin Moran (8)

Assessing Test Case Prioritization on Real Faults and Mutants
Assessing Test Case Prioritization on Real Faults and MutantsAssessing Test Case Prioritization on Real Faults and Mutants
Assessing Test Case Prioritization on Real Faults and Mutants
 
Detecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile AppsDetecting and Summarizing GUI Changes in Evolving Mobile Apps
Detecting and Summarizing GUI Changes in Evolving Mobile Apps
 
On-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android ApplicationsOn-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android Applications
 
Auto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android ApplicationsAuto-completing Bug Reports for Android Applications
Auto-completing Bug Reports for Android Applications
 
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
 
How do Developers Test Android Applications?
How do Developers Test Android Applications?How do Developers Test Android Applications?
How do Developers Test Android Applications?
 
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
 
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
 

Último

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Último (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Discovering Flaws in Security-Focused Static Analysis Tools for Android using Systematic Mutation

  • 1. Richie Bonett, Kaushal Kafle, Kevin Moran, Adwait Nadkarni & Denys Poshyvanyk Discovering Flaws in Security-Focused Static AnalysisTools for Android using Systematic Mutation Friday,Aug 17th, 2018
  • 4. Detecting SSL Vulnerabilities OAuth-token Tracking Data Leak Detection Intent spoofing Permission misuse Password tracking • Security tools have diverse security goals • Security analysis of apps is highly beneficial to end users • Keeps the ecosystem clear of malicious or vulnerable apps SECURITY ANALYSIS OF APPLICATIONS 3
  • 5. Detecting SSL Vulnerabilities OAuth-token Tracking Data Leak Detection Intent spoofing Permission misuse Password tracking • Security tools have diverse security goals • Security analysis of apps is highly beneficial to end users • Keeps the ecosystem clear of malicious or vulnerable apps Q: Do we really know how well these tools work? SECURITY ANALYSIS OF APPLICATIONS 3
  • 6. • 2015: Soundiness manifesto1 • Static analysis tools are implicitly expected to be sound (i.e., they over-approximate) • In practice, all tools are soundy:A sound core, but with some unsound assumptions to be practical; e.g. JNI, Reflection • Soundy tools are practical • However, developers might not document unsound choices for various reasons SOUNDINESS [1] Livshits, Benjamin, et al. "In defense of soundiness: a manifesto." Communications of the ACM 58.2 (2015): 44-46. Static Analysis tool t Sound core Dynamic code loading …JNI Java Reflection 4
  • 7. • 2015: Soundiness manifesto1 • Static analysis tools are implicitly expected to be sound (i.e., they over-approximate) • In practice, all tools are soundy:A sound core, but with some unsound assumptions to be practical; e.g. JNI, Reflection • Soundy tools are practical • However, developers might not document unsound choices for various reasons SOUNDINESS [1] Livshits, Benjamin, et al. "In defense of soundiness: a manifesto." Communications of the ACM 58.2 (2015): 44-46. Static Analysis tool t Sound core Dynamic code loading …JNI Java Reflection • We want to discover the extent of the unsound decisions 4
  • 8. • The scope of the soundiness manifesto is language features • We target security analysis of mobile apps (e.g., data leak detection, SSL vuln, etc. ) • This paper:A general discussion on the design/ implementation choices in the context of the target platform, i.e.,Android, and its unique abstractions: • Application model • Inter-component communication • Asynchronous invocation and component lifecycles SOUNDINESS OF MOBILE SECURITY TOOLS Activities Intent messages BroadcastReceiver Fragments XML Resource Files Callbacks 5
  • 9. A framework that enables systematic evaluation of existing security tools to identify and document unsound decisions, eventually expanding the sound core OUR VISION • Benefits: • Researchers: discover undocumented flaws in tools • Developers: build more effective tools by discovering easily fixed but evasive bugs • Users: benefit from better detection, and hence a better application ecosystem 6
  • 10. μSE: MUTATION-BASED SOUNDNESS EVALUATION • μSE leverages mutation analysis for systematic evaluation of security tools • Contextualizes mutation analysis to security • Develops the abstractions of 1. Security operators and 2. Mutation schemes 7
  • 11. MUTATION ANALYSIS BACKGROUND Mutation Engine Mutation operators Test Suite to evaluate Mutated Apks Killed Mutants Unkilled Mutants 8
  • 12. μSE OVERVIEW • μSE leverages mutation analysis for systematic evaluation of security tools Static Analysis tool t Sound core 9
  • 13. μSE OVERVIEW • μSE leverages mutation analysis for systematic evaluation of security tools Analyze Apps App 1 App 2 …. App nStatic Analysis tool t Sound core 9
  • 14. μSE OVERVIEW • μSE leverages mutation analysis for systematic evaluation of security tools Analyze Apps App 1 App 2 …. App nStatic Analysis tool t Sound core Mutate apps μSE Mutants Mutation Scheme Security Operators 9
  • 15. μSE OVERVIEW • μSE leverages mutation analysis for systematic evaluation of security tools Analyze Apps App 1 App 2 …. App n Analyze Uncaught Mutants Improved tool t’ Sound core Static Analysis tool t Sound core Mutate apps μSE Mutants Mutation Scheme Security Operators 9
  • 16. μSE DESIGN • Basic Components and their definitions: • Security operator: What anomaly/mutation to insert in the app • Mutation scheme: Where to place/seed it 10
  • 17. μSE DESIGN: SECURITY OPERATORS • Challenges: • Too fine-grained —> Not scalable • Too generic —> Not effective as different tools have different security focus • μSE defines security operator in terms of security goals of the tools • Scalable to tools with similar security goals (e.g., data leak detection) 11
  • 18. μSE DESIGN: SECURITY OPERATORS boolean isServerTrusted() { return true } dataLeak = Location.read() log.d(dataLeak) 1. Operator for data leak detectors 2. Operator for SSL vulnerability detectors 12
  • 19. • Multiple strategies with different objectives 1. Reachability analysis 2. Android Abstractions 3. Security goals μSE DESIGN: MUTATION SCHEME 13
  • 20. 1. Reachability analysis • Placing operator at the start of every method • Helps in the evaluation of the coverage of flaws • Simplest mutation scheme for operator placement μSE DESIGN: MUTATION SCHEME 14
  • 21. 2. Android abstractions • Model unique aspects of Android platform • Mutants are built specifically for Android by choosing its unique abstractions as the starting point • Activity & Fragment Lifecycles • Callbacks • Intent messages • Android Resource files μSE DESIGN: MUTATION SCHEME 15
  • 22. 2. Android abstractions • Model unique aspects of Android platform • Mutants are built specifically for Android by choosing its unique abstractions as the starting point • Activity & Fragment Lifecycles • Callbacks • Intent messages • Android Resource files μSE DESIGN: MUTATION SCHEME BroadcastReceiver Leak onReceive() 15
  • 23. 2. Android abstractions • Model unique aspects of Android platform • Mutants are built specifically for Android by choosing its unique abstractions as the starting point • Activity & Fragment Lifecycles • Callbacks • Intent messages • Android Resource files onReceive() BroadcastReceiver μSE DESIGN: MUTATION SCHEME BroadcastReceiver Leak onReceive() 15
  • 24. 3. Security goal • Accounting for the specific objective of the tool under scrutiny • Can be applied to other tools with similar goals • E.g., a taint-based scheme for data leak detection tools μSE DESIGN: MUTATION SCHEME 16
  • 25. 3. Security goal • Accounting for the specific objective of the tool under scrutiny • Can be applied to other tools with similar goals • E.g., a taint-based scheme for data leak detection tools μSE DESIGN: MUTATION SCHEME onStart() Source onResume() Sink 16
  • 28. IMPLEMENTATION Mutation Engine Step 2: Mutation Test tool(s) on mutants Manual analysis Vulnerability Documentation Software Patches Step 3: Analysis Security operator(s) Mutation scheme(s) Step 1: Specification Android Abstractions Security Goals 17
  • 29. IMPLEMENTATION Mutation Engine Step 2: Mutation Test tool(s) on mutants Manual analysis Vulnerability Documentation Software Patches Step 3: Analysis Mutation Engine Execution Engine Non-executing mutants Security operator(s) Mutation scheme(s) Step 1: Specification Android Abstractions Security Goals 17
  • 30. IMPLEMENTATION Mutation Engine Step 2: Mutation Test tool(s) on mutants Manual analysis Vulnerability Documentation Software Patches Step 3: Analysis Mutation Engine Execution Engine Non-executing mutants Generated Mutants Execution Engine Security Tool Manual Analysis NumberofMutants Security operator(s) Mutation scheme(s) Step 1: Specification Android Abstractions Security Goals 17
  • 31. EVALUATION • We evaluate the effectiveness of μSE using a case study •Security goal we chose for our case study: Data leak detection 18
  • 32. EVALUATION:TESTING DATA LEAK DETECTORS • 7,584 mutants in total, 2,026 verified as executable • 3 data leak detection tools evaluated using 2,026 mutants TOOLS UNDETECTED LEAKS Flowdroid 2.0 987/2026 (48.7%) Argus-SAF 1480/2026 (73.1%) DroidSafe 83/2026 (4.1%) 19
  • 33. EVALUATION:TESTING DATA LEAK DETECTORS • 7,584 mutants in total, 2,026 verified as executable • 3 data leak detection tools evaluated using 2,026 mutants TOOLS UNDETECTED LEAKS Flowdroid 2.0 987/2026 (48.7%) Argus-SAF 1480/2026 (73.1%) DroidSafe 83/2026 (4.1%) • Impact: Cited over 900 times • Immediate response and benefits: Flowdroid is actively being maintained 19
  • 34. EVALUATION: FLAWS DISCOVERED VULNERABILITY CLASS (VC) EXAMPLE FLAW IN VC DESCRIPTION OF THE FLAW 1 Missing Callbacks (5 flaws) Fragments Doesn't model Android Fragments correctly. 2 Missing Implicit Calls (2 flaws) RunOnUIThread Misses a path to Runnable.run()for runnables passed into Activity.runOnUIThread() 3 Incorrect Modeling of Anonymous Classes (2 flaws) BroadcastReceiver Misses the onReceive() callback of a BroadcastReceiver implemented programmatically and registered within another programmatically defined BroadcastReceiver's onReceive() callback. 4 Incorrect Modeling of Asynchronous Methods (4 flaws) LocationListenerTaint Misses the flow from a source in the onStatusChanged() callback to a sink in the onLocationChanged() callback of the LocationListener interface, despite recognizing leaks wholly contained in either. 20
  • 35. EVALUATION: FLAW PROPAGATION FLAW FD 2.5.1 FD 2.5.0 FD 2.0 BLUESEAL ICCTA HORNDROID ARGUS DROIDSAFE DIDFAIL 1 DialogFragmentShow ✘ ✘ ✘ ✓ ✘ ✘ ✓ ✓ ✘ 2 PhoneStateListener ✘ ✘ ✘ ✓ ✘ ✘ ✓ ✓ ✘ 3 NavigationView ✘ ✘ ✘ - ✘ - ✘ - ✘ 4 SQLiteOpenHelper ✘ ✘ ✘ ✓ ✘ ✘ ✘ ✓ ✘ 5 Fragments ✘ ✘ ✘ ✘ ✘ ✘ ✘ - ✘ 6 RunOnUIThread ✘ ✘ ✘ ✓ ✘ ✘ ✘ ✓ ✘ 7 ExecutorService ✘ ✘ ✘ ✓ ✘ ✘ ✘ ✓ ✘ 8 ButtonOnClickToDialogOnClick ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✘ ✘ 9 BroadcastReceiver ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘ 10 LocationListenerTaint ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘ 11 NSDManager ✘ ✘ ✘ ✓ ✘ ✓ ✘ ✓ ✘ 12 ListViewCallbackSequential ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘ 13 ThreadTaint ✘ ✘ ✘ ✓ ✘ ✓ ✓ ✓ ✘ • Inheriting flowdroid as a black box - IccTA (13/13), DidFail (13/13) • Motivated by flowdroid’s design (but augmented to their need) - Argus-SAF (6/13) • Implementing their own methodologies - BlueSeal (1/13), HornDroid (6/13), DroidSafe (1/13) ✘ - Fails to detect 21
  • 36. RECALL: EXPANDING THE SOUND CORE • We could fix one of the problems (fragment, FlowDroid 2.0) • However, fixing flaws is significantly challenging • Some flaws are design-choices that are hard to immediately fix (e.g. Runnable) • Some are unsolved research challenges (e.g., BroadcastReceiver) • μSE effectively serves the function of discovering/documenting these for future research 22
  • 37. CAVEATS • μSE doesn’t claim soundness • Aims to increase the confidence in the results of soundy tools by discovering and documenting unsound choices • μSE doesn’t replace formal verification • Rather a framework for systematically uncovering flaws in security tools • Significant advancement over manually curated toolkits 23
  • 38. CONCLUDING REMARKS • μSE demonstrates the effectiveness of mutation analysis at discovering undocumented flaws in security tools • Flaws not only affect individual tools, but propagate to future research • Android evolves, and μSE is a significant improvement over manually curated benchmarks that need keep up with Android’s fast-paced evolution • μSE allows patching of easily fixable but evasive flaws; however, this is a hard problem in general 24
  • 39. Thank you! Kaushal Kafle William & Mary kkafle@cs.wm.edu Code and data at: https://muse-security-evaluation.github.io/ 25
  • 41. • 92 minutes total time • Crashcope: systematic exploration of the application 27
  • 43. CONCLUDING REMARKS • μSE demonstrates the effectiveness of mutation analysis at discovering undocumented flaws in security tools • Flaws not only affect individual tools, but propagate to future research • Android evolves, and μSE is a significant improvement over manually curated benchmarks that need keep up with Android’s fast-paced evolution • μSE allows patching of easily fixable but evasive flaws. However, this is a hard problem in general.29