SlideShare a Scribd company logo
User Expectations
in Mobile App Security
Tao Xie
Joint Work w/ Wesley Brooks, Wing Lam, Davis Li, David Yang, Carl Gunter, ChengXiang Zhai (Illinois)
Benjamin Andow, William Enck (NCSU)
Collaborating SoS Lablet PIs:
Sean Smith (Dartmouth), Ross Koppel (U Penn),
Jim Blythe (USC)
NSA SoS Lablet, NSF Medium CNS-1513939,
Google Faculty Research Award
Mobile App Markets
Apple App Store Google Play Microsoft Windows Phone
App Store beyond Mobile Apps!
+++++++++++++++++++++
++
• tempMobile apps can access a wealth
of sensitive data and sensors
Acknowledgment: Slide adapted from Haoyu Wang’s
“Conceptual” Model
5
APP DEVELOPERS
APP USERS
App
Functional
Requirements
App Security
Requirements
User
Functional
Requirements
User Security
Requirements
informal: app description, etc. permission list, etc.
App Code
App Code
Informal App Functional Requirements:
App Description
6
App
Code
App
Permissions
App Security Requirements:
Permission List
7
“Conceptual” Model
8
APP DEVELOPERS
APP USERS
App
Functional
Requirements
App Security
Requirements
User
Functional
Requirements
User Security
Requirements
informal: app description, etc. permission list, etc.
App Code
Example Andriod App: Angry Birds
9
It is NOT that People Don’t Care
http://www.businessinsider.com/app-permission-agreements-privacy-video-2015-2
“Conceptual” Model
11
APP DEVELOPERS
APP USERS
App
Functional
Requirements
App Security
Requirements
User
Functional
Requirements
User Security
Requirements
informal: app description, etc. permission list, etc.
App Code
oFocus on permission  app descriptions
o permissions (protecting user understandable resources)
should be discussed
o What does the users expect (w.r.t. app functionalities)?
o GPS Tracker: record and send location
o Phone-Call Recorder: record audio during phone call
WHYPER: Text Analytics for Mobile Security
12
App Description Sentence
Permission
Linkage
Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013
WHYPER Overview
Application
Market
WHYPER
DEVELOPERS
USERS 13Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013
http://web.engr.illinois.edu/~taoxie/publications/usenixsec13-whyper.pdf
• Enhance user experience while installing apps
• Enforce functionality disclosure on developers
• Complement program analysis to ensure justifications
Natural Language Processing on App Description
14
• “Also you can share the yoga exercise to your friends via Email and SMS.”
– Implication of using the contact permission
– Permission sentences
• Confounding effects:
– Certain keywords such as “contact” have a confounding meaning
– E.g., “... displays user contacts, ...” vs “... contact me at abc@xyz.com”.
• Semantic inference:
– Sentences describe a sensitive action w/o referring to keywords
– E.g., “share yoga exercises with your friends via Email and SMS”
NLP + Semantic Graphs/Ontologies Derived from Android API Documents
• Synonym analysis
• Ex non-permission sentence: “You can now turn recordings into
ringtones.”
• functionality that allows users to create ringtones from previously recorded
sounds but NOT requiring permission to record audio
• false positive due to using synonym: (turn, start)
• Limitations of Semantic Graphs
• Ex. permission sentence: “blow into the mic to extinguish the
flame like a real candle”
• false negative due to failing to associate “blow into” with “record”
• Automatic mining from user comments and forums
Challenges
15
Not All Malware Developers Are “Dumb” or “Lazy”
16
Example Malicious App
17
http://www.which.co.uk/consumer-rights/problem/im-being-charged-for-unwanted-premium-rate-text-messages
Example Malicious App
18
http://www.which.co.uk/consumer-rights/problem/im-being-charged-for-unwanted-premium-rate-text-messages
Example Malicious App
19
Not All Malware Developers Are “Dumb” or “Lazy”
Benign? Malicious?
Insight by Other Researchers
• Stealthy behaviors in Android apps
Premium rate
Phone number
Malicious Web
site
Send SMS to
Send request to
Respond with
malicious app
You didn’t
see me
Huang et al. AsDroid: Detecting Stealthy Behaviors in Android Applications by User Interface and Program Behavior Contradiction. ICSE 2014.
https://www.cs.purdue.edu/homes/xyzhang/Comp/icse14_2.pdf Acknowledgment: slide adapted from AsDroid authors’
Motivation: Stealthy App Behaviors
• 52-64% of existing malwares send stealthy premium rate
SMS messages or make phone calls [Felt et al. SPSM’11, Zhou et
al. S&P’12]
• Stealthy HTTP requests are also very common
undesirable behaviors in malware [Felt et al. SPSM’11]
– A kind of malware making stealthy HTTP connections caused
8 million dollars loss in March 2010 in China [news in SINA.com]
Acknowledgment: slide adapted from AsDroid authors’
Motivating Example
public class RegLoginListener implements OnClickListener {
public void onClick(View view) {
String uid = ...;
String pass = ...;
if (pref. getBoolean("registered", false)) {
LoginTask.doLogin(uid, pass);
} else {
sendRegisterSms(getPhoneNumber());
doRegister(uid, pass);
...
}
}
}
Acknowledgment: slide adapted from AsDroid authors’
Motivating Example
public class RegLoginListener implements OnClickListener {
public void onClick(View view) {
String uid = ...;
String pass = ...;
if (pref. getBoolean("registered", false)) {
LoginTask.doLogin(uid, pass);
} else {
sendRegisterSms(getPhoneNumber());
doRegister(uid, pass);
...
}
}
private void sendRegisterSms(String phoneNum) {
String msg = String.format("Register Phone: %s",
phoneNum);
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage("106053", null, msg, null, null);
}
}
public class LoginTask extends AsyncTask {
protected String doInBackground(String... params) {
http.execute(get); // http & get are fields
}
public static void doLogin(String uid, String pass) {
LoginTask login = new LoginTask();
String[] params = new String[] { uid, pass };
login.execute(params);
}
}
RegLoginListener.onClick()
LoginTask.doLogin() sendRegisterSms()
LoginTask.execute()
SmsManager.sendTextMessage()
LoginTask.doInBackground()
indirect call
Acknowledgment: slide adapted from AsDroid authors’
HttpClient.execute()
AsDroid Approach
RegLoginListener.onClick()
HttpAccess
SendSms
Code
behaviors
Correlation Analysis
UI Text
HttpAccess
SendSms
Acknowledgment: slide adapted from AsDroid authors’
Our Own Insight
Different goals of benign apps vs. malware.
• Benign apps
– Meet requirements from users (as delivering utility)
• Malware
– Trigger malicious behaviors frequently (as maximizing profits)
– Evade detection (as prolonging lifetime)
26
Differentiating characteristics
Mobile malware (vs. benign apps)
– Frequently enough to meet the need: frequent occurrences
of imperceptible system events;
• E.g., many malware families trigger malicious behaviors via
background events.
– Not too frequently for users to notice anomaly: indicative
states of external environments
• E.g., Send premium SMS every 12 hours
Balance!!!
ActionReceiver.OnReceive()
Date date = new Date();
if(data.getHours>23 || date.getHours< 5 ){
ContextWrapper.StartService(MainService);
…
MainService.OnCreate()
DummyMainMethod()
SendTextActivity$4.onClick()
SplashActivity.OnCreate()
SmsManager.sendTextMessage()
long last = db.query(“LastConnectTime");
long current = System.currentTimeMillis();
if(current – last > 43200000 ){
SmsManager.sendTextMessage();
db.save(“LastConnectTime”, current);
…
SendTextActivity$5.run()
MainService.b()
ContextWrapper.StartService()
The app will send an SMS when
• user clicks a button in the app
Example of malicious app
SendTextActivity$4.onClick
SmsManager.sendTextMessage
ActionReceiver.OnReceive()
Date date = new Date();
if(data.getHours>23 || date.getHours< 5 ){
ContextWrapper.StartService(MainService);
…
MainService.OnCreate()
DummyMainMethod()
SendTextActivity$4.onClick()
SplashActivity.OnCreate()
SmsManager.sendTextMessage()
long last = db.query(“LastConnectTime");
long current = System.currentTimeMillis();
if(current – last > 43200000 ){
SmsManager.sendTextMessage();
db.save(“LastConnectTime”, current);
…
SendTextActivity$5.run()MainService.b()
ContextWrapper.StartService()
The app will send an SMS when
• phone signal strength changes
(frequent)
• current time is within 11PM-5 AM
(not too frequent, User not around)
Example of malicious app
if(data.getHours>23 || date.getHours< 5 ){
Android.intent.action.SIG_STR
ActionReceiver.OnReceive()
Date date = new Date();
if(data.getHours>23 || date.getHours< 5 ){
ContextWrapper.StartService(MainService);
…
MainService.OnCreate()
DummyMainMethod()
SendTextActivity$4.onClick()
SplashActivity.OnCreate()
SmsManager.sendTextMessage()
long last = db.query(“LastConnectTime");
long current = System.currentTimeMillis();
if(current – last > 43200000 ){
SmsManager.sendTextMessage();
db.save(“LastConnectTime”, current);
…
SendTextActivity$5.run()
MainService.b()
ContextWrapper.StartService()
The app will send an SMS when
• user enters the app (frequent)
• (current time – time when last msg
sent) >12 hours (not too frequent)
Example
if(current – last > 43200000 ){
AppContext
• Capture differentiating characteristics
with contexts of security-sensitive
behavior.
• Leverage contexts in machine
learning (classification) to differentiate
malware and benign apps.
Yang et al. AppContext: Differentiating Malicious and Benign Mobile App Behavior Under Contexts. ICSE 2015.
http://taoxie.cs.illinois.edu/publications/icse15-appcontext.pdf
Different Insight by Other Researchers
Attackers like to piggyback the same attack
payload to different legitimate apps.
Chen et al. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. USENIX Security
2015. https://www.usenix.org/node/190925 Acknowledgment: slide adapted from Kai Chen’s
http://www.appomicsec.com
Results of Repackaging
Compare related apps,
check “different” code
Acknowledgment: slide adapted from Kai Chen’s
Results of Repackaging
Detect code intersection
in apps with unrelated
apps
Acknowledgment: slide adapted from Kai Chen’s
MassVet approach: DiffCom Analysis
Sim-View
Analysis
No
Yes Diff Analysis
Com Analysis
Suspicious?
Acknowledgment: slide adapted from Kai Chen’s
MassVet: Diff Analysis
• For apps having the same view and different signatures,
the different methods between the two apps may be
malicious
• Challenge 1: How to quickly compare two apps and find
the different methods?
• Challenge 2: Are the different methods malicious?
Chen et al. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. USENIX Security
2015. https://www.usenix.org/node/190925 Acknowledgment: slide adapted from Kai Chen’s
MassVet: Com Analysis
• For the apps with different views, find the common code
• Challenge 1: Are the two apps really unrelated?
• Challenge 2: Is the common code really malicious?
Chen et al. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. USENIX Security
2015. https://www.usenix.org/node/190925 Acknowledgment: slide adapted from Kai Chen’s
Putting Pieces Together
39
APP DEVELOPERS
APP USERS
App
Functional
Requirements
App Security
Requirements
User
Functional
Requirements
User Security
Requirements
informal: app description, etc. permission list, etc.
App Code
App Code
WHYPER
AsDroid
AppContext
MassVet
http://www.scmagazineuk.com/chinese-android-smartphones-now-shipping-
with-pre-installed-malware/article/436631/
Pre-Installed Apps/Malware
http://thehackernews.com/2015/09/android-smartphone-malware.html
Pre-Installed Apps/Malware: Middlemen
• “According to the G Data researchers, there is unlikely to have
been anything accidental about the malware it discovered pre-
installed on at least 26 different smartphones from
manufacturers including Huawei, Lenovo and Xiaomi.”
• “Which isn't to say the security firm thinks that the
manufacturers are the perpetrators here, far from it. In fact, G
Data reckons it is down to 'middlemen' in the distribution
chain who are looking to add to their revenue by making
"additional financial gains from stolen user data and enforced
advertising".”
http://www.scmagazineuk.com/chinese-android-smartphones-now-shipping-
with-pre-installed-malware/article/436631/
Pre-Installed Apps/Malware: Removal
http://www.gsmarena.com/samsung_lets_users_delete_preinstalled_apps_in_china_in_light_of_lawsuit-blog-13348.php
http://thehackernews.com/2015/09/android-smartphone-malware.html
Internet of Things Security: Mobile or Not
http://arstechnica.com/security/2016/01/how-to-search-the-internet-of-things-for-photos-of-sleeping-babies/
Internet of Things Security: Mobile or Not
• “The cameras are vulnerable because they use the Real Time
Streaming Protocol (RTSP, port 554) to share video but have
no password authentication in place. The image feed is
available to paid Shodan members at images.shodan.io. Free
Shodan accounts can also search using the filter port:554
has_screenshot:true.”
• “Shodan crawls the Internet at random looking for IP
addresses with open ports. If an open port lacks
authentication and streams a video feed, the new script takes
a snap and moves on.”
http://arstechnica.com/security/2016/01/how-to-search-the-internet-of-things-for-photos-of-sleeping-babies/
Internet of Things Security:
The curse of the minimum viable product
• “Tentler told Ars that webcam manufacturers are in a race to
bottom. Consumers do not perceive value in security and
privacy. As a rule, many have not shown a willingness to pay
for such things. As a result, webcam manufacturers slash
costs to maximize their profit, often on narrow margins. Many
webcams now sell for as little as £15 or $20.”
• “"The consumers are saying 'we're not supposed to know
anything about this stuff [cybersecurity]," he said. "The
vendors don't want to lift a finger to help users because it
costs them money."”
http://arstechnica.com/security/2016/01/how-to-search-the-internet-of-things-for-photos-of-sleeping-babies/
(Mobile) Privacy vs. Utility: A Balancing Act
• A likely scenario for a professor
– Student A: “May I record our 1-on-1 meeting so that I don’t miss anything?”
– Professor: “Hmmhh… OK… but please don’t post it on public domain or
redistribute it…”
– Hopefully….
• Mobile utility apps: app store management, Input method,
IME (input method editor)
– even non-mobile ones: medical devices, search engines, ….
• Assurance case for privacy policy compliance by app or
service providers
Sen et al. Bootstrapping Privacy Compliance in Big Data Systems, Oakland 2013.
http://research.microsoft.com/apps/pubs/default.aspx?id=208626
User Expectations in Mobile App Security
47
APP DEVELOPERS
APP USERS
App
Functional
Requirements
App Security
Requirements
User
Functional
Requirements
User Security
Requirements
informal: app description, etc. permission list, etc.
App Code
App Code
WHYPER
AsDroid
AppContext
MassVet
User Expectations in Mobile App Security
48
APP DEVELOPERS
APP USERS
App
Functional
Requirements
App Security
Requirements
User
Functional
Requirements
User Security
Requirements
informal: app description, etc. permission list, etc.
App Code
App Code
WHYPER
AsDroid
AppContext
MassVet
taoxie@illinois.edu
NSA SoS Lablet, NSF Medium CNS-1513939,
Google Faculty Research Award

More Related Content

PPTX
Transferring Software Testing Tools to Practice
PDF
Software Analytics: Data Analytics for Software Engineering
PPTX
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
PDF
Software Mining and Software Datasets
PDF
Software Analytics - Achievements and Challenges
PDF
Software Analytics: Towards Software Mining that Matters
PDF
Software Analytics: Data Analytics for Software Engineering and Security
PDF
Planning and Executing Practice-Impactful Research
Transferring Software Testing Tools to Practice
Software Analytics: Data Analytics for Software Engineering
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
Software Mining and Software Datasets
Software Analytics - Achievements and Challenges
Software Analytics: Towards Software Mining that Matters
Software Analytics: Data Analytics for Software Engineering and Security
Planning and Executing Practice-Impactful Research

What's hot (20)

PDF
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
PPTX
Intelligent Software Engineering: Synergy between AI and Software Engineering
PPTX
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
PDF
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
PDF
On Impact in Software Engineering Research (HU Berlin 2021)
PDF
On Impact in Software Engineering Research (Dagstuhl 2020)
PDF
PDF
Applying Machine Learning to Network Security Monitoring - BayThreat 2013
PDF
On Impact in Software Engineering Research
PDF
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
PDF
My life as a cyborg
PPTX
About Dewey Hong
PDF
Empirical evaluation in 2020: how big, how beautiful?
PDF
BSidesLV 2013 - Using Machine Learning to Support Information Security
PDF
Three Interviews About Static Code Analyzers
PDF
Jgl_webinar_1_lf
PPTX
Databases, Web Services and Tools For Systems Immunology
PDF
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
PDF
Analytics for software development
PDF
Sharing is Caring: Understanding and Measuring Threat Intelligence Sharing Ef...
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
Intelligent Software Engineering: Synergy between AI and Software Engineering
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On Impact in Software Engineering Research (HU Berlin 2021)
On Impact in Software Engineering Research (Dagstuhl 2020)
Applying Machine Learning to Network Security Monitoring - BayThreat 2013
On Impact in Software Engineering Research
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
My life as a cyborg
About Dewey Hong
Empirical evaluation in 2020: how big, how beautiful?
BSidesLV 2013 - Using Machine Learning to Support Information Security
Three Interviews About Static Code Analyzers
Jgl_webinar_1_lf
Databases, Web Services and Tools For Systems Immunology
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
Analytics for software development
Sharing is Caring: Understanding and Measuring Threat Intelligence Sharing Ef...
Ad

Viewers also liked (19)

PPTX
Transferring Software Testing and Analytics Tools to Practice
PDF
Common Technical Writing Issues
PDF
Electro mechanical split pad disc brake using solenoid valve
PPTX
NUEVAS TECNOLOGIAS IE RURAL
PPTX
Amit K Sawant - C.V. - Presentation
PDF
Martin Junker - Portfolio
PDF
Risks of non compliance of cl.19.7 cl.20 under BPVOY4.
PDF
Julio cesar perea actividad1 2_mapac
PPTX
Impact-Driven Research on Software Engineering Tooling
PDF
PPTX
Advances in Unit Testing: Theory and Practice
PPTX
PDF
Plagio en internet
PDF
Final Slide Design Project
PPTX
Mobile App Security: A Review
PPTX
Meniere disease
PPTX
Transmission and transnational gas pipelines
PDF
Mobile_app_security
Transferring Software Testing and Analytics Tools to Practice
Common Technical Writing Issues
Electro mechanical split pad disc brake using solenoid valve
NUEVAS TECNOLOGIAS IE RURAL
Amit K Sawant - C.V. - Presentation
Martin Junker - Portfolio
Risks of non compliance of cl.19.7 cl.20 under BPVOY4.
Julio cesar perea actividad1 2_mapac
Impact-Driven Research on Software Engineering Tooling
Advances in Unit Testing: Theory and Practice
Plagio en internet
Final Slide Design Project
Mobile App Security: A Review
Meniere disease
Transmission and transnational gas pipelines
Mobile_app_security
Ad

Similar to User Expectations in Mobile App Security (20)

PDF
Evolving your Data Access with MongoDB Stitch
PPT
Owasp Top 10 - Owasp Pune Chapter - January 2008
PPT
Php & Web Security - PHPXperts 2009
PPTX
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
PPT
Andrew and Zac RVA-Beyond-Automated-Testing-2016.ppt
PPT
Sudden Impact - Designing LAMP Applications for High Loads
PPT
Starwest 2008
PDF
[OPD 2019] Threat modeling at scale
PDF
Having Fun Building Web Applications (Day 1 Slides)
PDF
XXE Exposed: SQLi, XSS, XXE and XEE against Web Services
PPTX
Identifying Users Across Platforms with a Universal ID Webinar Slides
PPT
BSidesDC 2016 Beyond Automated Testing
PPT
Beyond Automated Testing - RVAsec 2016
PPTX
Evolving your Data Access with MongoDB Stitch - Drew Di Palma
KEY
Mobile optimization
PPTX
Security testing for web developers
PDF
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
PPT
ESW #1 - Developing For Android
PPTX
Building Your First App with MongoDB Stitch
PDF
Gradle for Android Developers
Evolving your Data Access with MongoDB Stitch
Owasp Top 10 - Owasp Pune Chapter - January 2008
Php & Web Security - PHPXperts 2009
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
Andrew and Zac RVA-Beyond-Automated-Testing-2016.ppt
Sudden Impact - Designing LAMP Applications for High Loads
Starwest 2008
[OPD 2019] Threat modeling at scale
Having Fun Building Web Applications (Day 1 Slides)
XXE Exposed: SQLi, XSS, XXE and XEE against Web Services
Identifying Users Across Platforms with a Universal ID Webinar Slides
BSidesDC 2016 Beyond Automated Testing
Beyond Automated Testing - RVAsec 2016
Evolving your Data Access with MongoDB Stitch - Drew Di Palma
Mobile optimization
Security testing for web developers
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
ESW #1 - Developing For Android
Building Your First App with MongoDB Stitch
Gradle for Android Developers

More from Tao Xie (17)

PDF
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
PPTX
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
PPTX
Intelligent Software Engineering: Synergy between AI and Software Engineering
PDF
Diversity and Computing/Engineering: Perspectives from Allies
PDF
Intelligent Software Engineering: Synergy between AI and Software Engineering...
PDF
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
PDF
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
PDF
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
PDF
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
PPTX
Next Generation Developer Testing: Parameterized Testing
PPTX
Csise15 codehunt
PDF
Text Analytics for Security
PPTX
Gamifying Teaching and Learning of Software Engineering and Programming
PPTX
Towards Mining Software Repositories Research that Matters
PDF
Tutorial: Text Analytics for Security
PPTX
Software Analytics: Towards Software Mining that Matters (2014)
PPTX
Teaching and Learning Programming and Software Engineering via Interactive Ga...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
Intelligent Software Engineering: Synergy between AI and Software Engineering
Diversity and Computing/Engineering: Perspectives from Allies
Intelligent Software Engineering: Synergy between AI and Software Engineering...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Next Generation Developer Testing: Parameterized Testing
Csise15 codehunt
Text Analytics for Security
Gamifying Teaching and Learning of Software Engineering and Programming
Towards Mining Software Repositories Research that Matters
Tutorial: Text Analytics for Security
Software Analytics: Towards Software Mining that Matters (2014)
Teaching and Learning Programming and Software Engineering via Interactive Ga...

Recently uploaded (20)

PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Transform Your Business with a Software ERP System
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
ai tools demonstartion for schools and inter college
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
System and Network Administration Chapter 2
PDF
System and Network Administraation Chapter 3
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Introduction to Artificial Intelligence
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
How Creative Agencies Leverage Project Management Software.pdf
Transform Your Business with a Software ERP System
CHAPTER 2 - PM Management and IT Context
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Design an Analysis of Algorithms II-SECS-1021-03
How to Choose the Right IT Partner for Your Business in Malaysia
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Which alternative to Crystal Reports is best for small or large businesses.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Design an Analysis of Algorithms I-SECS-1021-03
ai tools demonstartion for schools and inter college
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
System and Network Administration Chapter 2
System and Network Administraation Chapter 3
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Navsoft: AI-Powered Business Solutions & Custom Software Development
Understanding Forklifts - TECH EHS Solution
Introduction to Artificial Intelligence
How to Migrate SBCGlobal Email to Yahoo Easily

User Expectations in Mobile App Security

  • 1. User Expectations in Mobile App Security Tao Xie Joint Work w/ Wesley Brooks, Wing Lam, Davis Li, David Yang, Carl Gunter, ChengXiang Zhai (Illinois) Benjamin Andow, William Enck (NCSU) Collaborating SoS Lablet PIs: Sean Smith (Dartmouth), Ross Koppel (U Penn), Jim Blythe (USC) NSA SoS Lablet, NSF Medium CNS-1513939, Google Faculty Research Award
  • 2. Mobile App Markets Apple App Store Google Play Microsoft Windows Phone
  • 3. App Store beyond Mobile Apps!
  • 4. +++++++++++++++++++++ ++ • tempMobile apps can access a wealth of sensitive data and sensors Acknowledgment: Slide adapted from Haoyu Wang’s
  • 5. “Conceptual” Model 5 APP DEVELOPERS APP USERS App Functional Requirements App Security Requirements User Functional Requirements User Security Requirements informal: app description, etc. permission list, etc. App Code App Code
  • 6. Informal App Functional Requirements: App Description 6 App Code App Permissions
  • 8. “Conceptual” Model 8 APP DEVELOPERS APP USERS App Functional Requirements App Security Requirements User Functional Requirements User Security Requirements informal: app description, etc. permission list, etc. App Code
  • 9. Example Andriod App: Angry Birds 9
  • 10. It is NOT that People Don’t Care http://www.businessinsider.com/app-permission-agreements-privacy-video-2015-2
  • 11. “Conceptual” Model 11 APP DEVELOPERS APP USERS App Functional Requirements App Security Requirements User Functional Requirements User Security Requirements informal: app description, etc. permission list, etc. App Code
  • 12. oFocus on permission  app descriptions o permissions (protecting user understandable resources) should be discussed o What does the users expect (w.r.t. app functionalities)? o GPS Tracker: record and send location o Phone-Call Recorder: record audio during phone call WHYPER: Text Analytics for Mobile Security 12 App Description Sentence Permission Linkage Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013
  • 13. WHYPER Overview Application Market WHYPER DEVELOPERS USERS 13Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013 http://web.engr.illinois.edu/~taoxie/publications/usenixsec13-whyper.pdf • Enhance user experience while installing apps • Enforce functionality disclosure on developers • Complement program analysis to ensure justifications
  • 14. Natural Language Processing on App Description 14 • “Also you can share the yoga exercise to your friends via Email and SMS.” – Implication of using the contact permission – Permission sentences • Confounding effects: – Certain keywords such as “contact” have a confounding meaning – E.g., “... displays user contacts, ...” vs “... contact me at abc@xyz.com”. • Semantic inference: – Sentences describe a sensitive action w/o referring to keywords – E.g., “share yoga exercises with your friends via Email and SMS” NLP + Semantic Graphs/Ontologies Derived from Android API Documents
  • 15. • Synonym analysis • Ex non-permission sentence: “You can now turn recordings into ringtones.” • functionality that allows users to create ringtones from previously recorded sounds but NOT requiring permission to record audio • false positive due to using synonym: (turn, start) • Limitations of Semantic Graphs • Ex. permission sentence: “blow into the mic to extinguish the flame like a real candle” • false negative due to failing to associate “blow into” with “record” • Automatic mining from user comments and forums Challenges 15
  • 16. Not All Malware Developers Are “Dumb” or “Lazy” 16
  • 20. Not All Malware Developers Are “Dumb” or “Lazy” Benign? Malicious?
  • 21. Insight by Other Researchers • Stealthy behaviors in Android apps Premium rate Phone number Malicious Web site Send SMS to Send request to Respond with malicious app You didn’t see me Huang et al. AsDroid: Detecting Stealthy Behaviors in Android Applications by User Interface and Program Behavior Contradiction. ICSE 2014. https://www.cs.purdue.edu/homes/xyzhang/Comp/icse14_2.pdf Acknowledgment: slide adapted from AsDroid authors’
  • 22. Motivation: Stealthy App Behaviors • 52-64% of existing malwares send stealthy premium rate SMS messages or make phone calls [Felt et al. SPSM’11, Zhou et al. S&P’12] • Stealthy HTTP requests are also very common undesirable behaviors in malware [Felt et al. SPSM’11] – A kind of malware making stealthy HTTP connections caused 8 million dollars loss in March 2010 in China [news in SINA.com] Acknowledgment: slide adapted from AsDroid authors’
  • 23. Motivating Example public class RegLoginListener implements OnClickListener { public void onClick(View view) { String uid = ...; String pass = ...; if (pref. getBoolean("registered", false)) { LoginTask.doLogin(uid, pass); } else { sendRegisterSms(getPhoneNumber()); doRegister(uid, pass); ... } } } Acknowledgment: slide adapted from AsDroid authors’
  • 24. Motivating Example public class RegLoginListener implements OnClickListener { public void onClick(View view) { String uid = ...; String pass = ...; if (pref. getBoolean("registered", false)) { LoginTask.doLogin(uid, pass); } else { sendRegisterSms(getPhoneNumber()); doRegister(uid, pass); ... } } private void sendRegisterSms(String phoneNum) { String msg = String.format("Register Phone: %s", phoneNum); SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage("106053", null, msg, null, null); } } public class LoginTask extends AsyncTask { protected String doInBackground(String... params) { http.execute(get); // http & get are fields } public static void doLogin(String uid, String pass) { LoginTask login = new LoginTask(); String[] params = new String[] { uid, pass }; login.execute(params); } } RegLoginListener.onClick() LoginTask.doLogin() sendRegisterSms() LoginTask.execute() SmsManager.sendTextMessage() LoginTask.doInBackground() indirect call Acknowledgment: slide adapted from AsDroid authors’ HttpClient.execute()
  • 25. AsDroid Approach RegLoginListener.onClick() HttpAccess SendSms Code behaviors Correlation Analysis UI Text HttpAccess SendSms Acknowledgment: slide adapted from AsDroid authors’
  • 26. Our Own Insight Different goals of benign apps vs. malware. • Benign apps – Meet requirements from users (as delivering utility) • Malware – Trigger malicious behaviors frequently (as maximizing profits) – Evade detection (as prolonging lifetime) 26
  • 27. Differentiating characteristics Mobile malware (vs. benign apps) – Frequently enough to meet the need: frequent occurrences of imperceptible system events; • E.g., many malware families trigger malicious behaviors via background events. – Not too frequently for users to notice anomaly: indicative states of external environments • E.g., Send premium SMS every 12 hours Balance!!!
  • 28. ActionReceiver.OnReceive() Date date = new Date(); if(data.getHours>23 || date.getHours< 5 ){ ContextWrapper.StartService(MainService); … MainService.OnCreate() DummyMainMethod() SendTextActivity$4.onClick() SplashActivity.OnCreate() SmsManager.sendTextMessage() long last = db.query(“LastConnectTime"); long current = System.currentTimeMillis(); if(current – last > 43200000 ){ SmsManager.sendTextMessage(); db.save(“LastConnectTime”, current); … SendTextActivity$5.run() MainService.b() ContextWrapper.StartService() The app will send an SMS when • user clicks a button in the app Example of malicious app SendTextActivity$4.onClick SmsManager.sendTextMessage
  • 29. ActionReceiver.OnReceive() Date date = new Date(); if(data.getHours>23 || date.getHours< 5 ){ ContextWrapper.StartService(MainService); … MainService.OnCreate() DummyMainMethod() SendTextActivity$4.onClick() SplashActivity.OnCreate() SmsManager.sendTextMessage() long last = db.query(“LastConnectTime"); long current = System.currentTimeMillis(); if(current – last > 43200000 ){ SmsManager.sendTextMessage(); db.save(“LastConnectTime”, current); … SendTextActivity$5.run()MainService.b() ContextWrapper.StartService() The app will send an SMS when • phone signal strength changes (frequent) • current time is within 11PM-5 AM (not too frequent, User not around) Example of malicious app if(data.getHours>23 || date.getHours< 5 ){ Android.intent.action.SIG_STR
  • 30. ActionReceiver.OnReceive() Date date = new Date(); if(data.getHours>23 || date.getHours< 5 ){ ContextWrapper.StartService(MainService); … MainService.OnCreate() DummyMainMethod() SendTextActivity$4.onClick() SplashActivity.OnCreate() SmsManager.sendTextMessage() long last = db.query(“LastConnectTime"); long current = System.currentTimeMillis(); if(current – last > 43200000 ){ SmsManager.sendTextMessage(); db.save(“LastConnectTime”, current); … SendTextActivity$5.run() MainService.b() ContextWrapper.StartService() The app will send an SMS when • user enters the app (frequent) • (current time – time when last msg sent) >12 hours (not too frequent) Example if(current – last > 43200000 ){
  • 31. AppContext • Capture differentiating characteristics with contexts of security-sensitive behavior. • Leverage contexts in machine learning (classification) to differentiate malware and benign apps. Yang et al. AppContext: Differentiating Malicious and Benign Mobile App Behavior Under Contexts. ICSE 2015. http://taoxie.cs.illinois.edu/publications/icse15-appcontext.pdf
  • 32. Different Insight by Other Researchers Attackers like to piggyback the same attack payload to different legitimate apps. Chen et al. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. USENIX Security 2015. https://www.usenix.org/node/190925 Acknowledgment: slide adapted from Kai Chen’s http://www.appomicsec.com
  • 33. Results of Repackaging Compare related apps, check “different” code Acknowledgment: slide adapted from Kai Chen’s
  • 34. Results of Repackaging Detect code intersection in apps with unrelated apps Acknowledgment: slide adapted from Kai Chen’s
  • 35. MassVet approach: DiffCom Analysis Sim-View Analysis No Yes Diff Analysis Com Analysis Suspicious? Acknowledgment: slide adapted from Kai Chen’s
  • 36. MassVet: Diff Analysis • For apps having the same view and different signatures, the different methods between the two apps may be malicious • Challenge 1: How to quickly compare two apps and find the different methods? • Challenge 2: Are the different methods malicious? Chen et al. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. USENIX Security 2015. https://www.usenix.org/node/190925 Acknowledgment: slide adapted from Kai Chen’s
  • 37. MassVet: Com Analysis • For the apps with different views, find the common code • Challenge 1: Are the two apps really unrelated? • Challenge 2: Is the common code really malicious? Chen et al. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. USENIX Security 2015. https://www.usenix.org/node/190925 Acknowledgment: slide adapted from Kai Chen’s
  • 38. Putting Pieces Together 39 APP DEVELOPERS APP USERS App Functional Requirements App Security Requirements User Functional Requirements User Security Requirements informal: app description, etc. permission list, etc. App Code App Code WHYPER AsDroid AppContext MassVet
  • 40. Pre-Installed Apps/Malware: Middlemen • “According to the G Data researchers, there is unlikely to have been anything accidental about the malware it discovered pre- installed on at least 26 different smartphones from manufacturers including Huawei, Lenovo and Xiaomi.” • “Which isn't to say the security firm thinks that the manufacturers are the perpetrators here, far from it. In fact, G Data reckons it is down to 'middlemen' in the distribution chain who are looking to add to their revenue by making "additional financial gains from stolen user data and enforced advertising".” http://www.scmagazineuk.com/chinese-android-smartphones-now-shipping- with-pre-installed-malware/article/436631/
  • 42. Internet of Things Security: Mobile or Not http://arstechnica.com/security/2016/01/how-to-search-the-internet-of-things-for-photos-of-sleeping-babies/
  • 43. Internet of Things Security: Mobile or Not • “The cameras are vulnerable because they use the Real Time Streaming Protocol (RTSP, port 554) to share video but have no password authentication in place. The image feed is available to paid Shodan members at images.shodan.io. Free Shodan accounts can also search using the filter port:554 has_screenshot:true.” • “Shodan crawls the Internet at random looking for IP addresses with open ports. If an open port lacks authentication and streams a video feed, the new script takes a snap and moves on.” http://arstechnica.com/security/2016/01/how-to-search-the-internet-of-things-for-photos-of-sleeping-babies/
  • 44. Internet of Things Security: The curse of the minimum viable product • “Tentler told Ars that webcam manufacturers are in a race to bottom. Consumers do not perceive value in security and privacy. As a rule, many have not shown a willingness to pay for such things. As a result, webcam manufacturers slash costs to maximize their profit, often on narrow margins. Many webcams now sell for as little as £15 or $20.” • “"The consumers are saying 'we're not supposed to know anything about this stuff [cybersecurity]," he said. "The vendors don't want to lift a finger to help users because it costs them money."” http://arstechnica.com/security/2016/01/how-to-search-the-internet-of-things-for-photos-of-sleeping-babies/
  • 45. (Mobile) Privacy vs. Utility: A Balancing Act • A likely scenario for a professor – Student A: “May I record our 1-on-1 meeting so that I don’t miss anything?” – Professor: “Hmmhh… OK… but please don’t post it on public domain or redistribute it…” – Hopefully…. • Mobile utility apps: app store management, Input method, IME (input method editor) – even non-mobile ones: medical devices, search engines, …. • Assurance case for privacy policy compliance by app or service providers Sen et al. Bootstrapping Privacy Compliance in Big Data Systems, Oakland 2013. http://research.microsoft.com/apps/pubs/default.aspx?id=208626
  • 46. User Expectations in Mobile App Security 47 APP DEVELOPERS APP USERS App Functional Requirements App Security Requirements User Functional Requirements User Security Requirements informal: app description, etc. permission list, etc. App Code App Code WHYPER AsDroid AppContext MassVet
  • 47. User Expectations in Mobile App Security 48 APP DEVELOPERS APP USERS App Functional Requirements App Security Requirements User Functional Requirements User Security Requirements informal: app description, etc. permission list, etc. App Code App Code WHYPER AsDroid AppContext MassVet taoxie@illinois.edu NSA SoS Lablet, NSF Medium CNS-1513939, Google Faculty Research Award