A Study of Android Application Security
|
|
|
- Kelley Scott
- 10 years ago
- Views:
Transcription
1 A Study of Android Application Security William Enck, Damien Octeau, Patrick McDaniel, and Swarat Chaudhuri USENIX Security Symposium August 2011 Systems and Internet Infrastructure Security Laboratory (SIIS) 1
2 2 New Dominant Player
3 2 New Dominant Player Nobody is looking at all the apps (250K and growing) What would you look for if you did?
4 Studying Applications Goal: Study a breadth of security properties in a large set of popular Android smartphone applications. How do you get the applications and source code? How to retrieve application packages (.apk files)? How to retrieving application source code? How do you go about studying the source code? What do you look for? How do you look for it? How do you know what s actually there? Systems and Internet Infrastructure Security Laboratory (SIIS) 3
5 Dalvik EXecutables Android applications written Java, compiled to Java bytecode, and translated into DEX bytecode (Dalvik VM) Java Compiler Class1.class Constant Pool dx.dex file Header Java Source Code (.java files) Class Info Data ClassN.class Constant Pool Class1 definition Constant Pool Class Info ClassN definition Data Data We want to work with Java, not DEX bytecode There are a lot of existing program analysis tools for Java We want to see what the developer was doing (i.e., confirmation) Non-trivial to retarget back to Java: register vs. stack architecture, constant pools, ambiguous scalar types, null references, etc. Systems and Internet Infrastructure Security Laboratory (SIIS) 4
6 5 Getting back to the Source The ded decompiler (1) DEX Parsing Retargeting Process CFG Construction Refers to both the entire process and the.dex.class retargeting tool Multi-stage process with many sub-stages (2) Java.class Conversion (3) Java.class Optimization Missing Type Inference Constant Pool Conversion Method Code Retargeting Type Inference Processing Constant Identification Constant Pool Translation Bytecode Reorganization Instruction Set Translation ded recovers source code from application package Retargeting: type inference, instruction translation, etc Optimization: use Soot to re-optimize for Java bytecode Decompilation: standard Java decompilation (Soot)
7 6 Type Inference START double return_a_double(int a) { if(a!= 1) return 2.5; else return 1.2; Source code false 0 const/4 1 if-eq true 3 constwide/high16 6 const-wide double return_a_double(int) 0: const/4 v0,1 1: if-eq v3,v0,6 3: const-wide/high16 v0, : return-wide v0 6: const-wide v0, : goto 5 5 returnwide EXIT 11 goto DEX bytecode CFG
8 Type Inference double return_a_double(int a) { if(a!= 1) return 2.5; else return 1.2; START 0 const/4 1 if-eq Ambiguous assignment to v0 Source code false true 3 constwide/high16 6 const-wide double return_a_double(int) 0: const/4 v0,1 1: if-eq v3,v0,6 3: const-wide/high16 v0, : return-wide v0 6: const-wide v0, : goto 5 5 returnwide EXIT 11 goto DEX bytecode CFG Systems and Internet Infrastructure Security Laboratory (SIIS) 6
9 6 Type Inference START double return_a_double(int a) { if(a!= 1) return 2.5; else return 1.2; Source code false 0 const/4 1 if-eq true Ambiguous assignment to v0 Uses v0 3 constwide/high16 6 const-wide double return_a_double(int) 0: const/4 v0,1 1: if-eq v3,v0,6 3: const-wide/high16 v0, : return-wide v0 6: const-wide v0, : goto 5 5 returnwide EXIT 11 goto DEX bytecode CFG
10 7 Recovering Types ded dex2jar double return_a_double(int var1) { double var2; if(var1!= 1) { var2 = 2.5D; else { var2 = 1.2D; double return_a_double(int var1) { long var2; if(var1!= 1) { var2 = L; else { var2 = L; return var2; return (double)var2;
11 8 Optimization by Soot
12 8 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);
13 8 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);.class files.dex file
14 8 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);.class files.dex file ded New.class files
15 8 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);.class files.dex file public void cleartiles() { int var1 = 0; while(true) { int var2 = mxtilecount; if(var1 >= var2) { return; int var3 = 0; while(true) { var2 = mytilecount; if(var3 >= var2) { ++var1; break; byte var4 = 0; this.settile(var4, var1, var3); ++var3; New.class files ded
16 9 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);.class files.dex file ded New.class files
17 9 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);.class files.dex file ded Optimized.class files New.class files Soot
18 9 Optimization by Soot public void cleartiles() { for (int x = 0; x < mxtilecount; x++) { for (int y = 0; y < mytilecount; y++) { settile(0, x, y);.class files.dex file ded public void cleartiles() { for(int var1 = 0; var1 < mxtilecount; ++var1) { for(int var2 = 0; var2 < mytilecount; ++var2) { this.settile(0, var1, var2); Optimized.class files Soot New.class files
19 10 Studying Apps Decompiled top 1,100 free apps from Android market: over 21 million lines of source code We use static analysis to identify both dangerous behavior and vulnerabilities followed by inspection Must identify specific properties for analysis Note: Static analysis says what can happen not what does
20 11 Analysis Framework Using Fortify SCA custom rules let you focus on the what, not the how Control flow analysis: e.g., look at API options Data flow analysis: e.g., information leaks, injection attacks Structural analysis: grep on steroids Semantic analysis: look at possible variable values
21 12 Analysis Overview Analysis for Dangerous Behavior Misuse of Phone Identifiers Exposure of Physical Location Abuse of Telephony Services Eavesdropping on Video Eavesdropping on Audio Botnet Characteristics (Sockets) Havesting Installed Applications Data flow analysis Data flow analysis Semantic analysis Control flow analysis Structural analysis (+CG) Structural analysis Structural analysis Also studied inclusion of advertisement and analytics libraries and associated properties Analysis for Vulnerabilities Leaking Information to Logs Data flow analysis Leaking Information to IPC Control flow analysis Unprotected Broadcast Receivers Control flow analysis Intent Injection Vulnerabilities Control flow analysis Delegation Vulnerabilities Control flow analysis Null Checks on IPC Input Control flow analysis Password Management* Data flow analysis Cryptography Misuse* Structural analysis Injection Vulnerabilities* Data flow analysis * included with analysis framework Existing Java analysis rules aren t sufficient FSMs and other details in Tech Report:
22 13 Phone Identifiers We ve seen phone identifiers (Ph.#, IMEI, IMSI, etc) sent to network servers, but how are they used? Program analysis pin-pointed 33 apps leaking Phone IDs Finding 2 - device fingerprints Finding 3 - tracking actions Finding 4 - along with registration and login
23 14 Device Fingerprints (1) com.eoeandroid.ewallpapers.cartoon - SyncDeviceInfosService.getDevice_info() r1.append((new StringBuilder("device_id=")).append(tm.getDeviceId()).toString()).append((new StringBuilder ("&device_software_version=")).append(tm.getdevicesoftwareversion()).tostring()); r1.append((new StringBuilder("&build_board=")).append(Build.BOARD).toString()).append((new StringBuilder("&build_brand=")).append (Build.BRAND).toString()).append((new StringBuilder("&build_device=")).append(Build.DEVICE).toString()).append((new StringBuilder ("&build_display=")).append(build.display).tostring()).append((new StringBuilder("&build_fingerprint=")).append (Build.FINGERPRINT).toString()).append((new StringBuilder("&build_model=")).append(Build.MODEL).toString()).append((new StringBuilder ("&build_product=")).append(build.product).tostring()).append((new StringBuilder("&build_tags=")).append(Build.TAGS).toString()).append ((new StringBuilder("&build_time=")).append(Build.TIME).toString()).append((new StringBuilder("&build_user=")).append (Build.USER).toString()).append((new StringBuilder("&build_type=")).append(Build.TYPE).toString()).append((new StringBuilder ("&build_id=")).append(build.id).tostring()).append((new StringBuilder("&build_host=")).append(Build.HOST).toString()).append((new StringBuilder("&build_version_release=")).append(Build$VERSION.RELEASE).toString()).append((new StringBuilder ("&build_version_sdk_int=")).append(build$version.sdk).tostring()).append((new StringBuilder("&build_version_incremental=")).append(Build $VERSION.INCREMENTAL).toString()); r5 = mcontext.getapplicationcontext().getresources().getdisplaymetrics(); r1.append((new StringBuilder("&density=")).append(r5.density).toString()).append((new StringBuilder("&height_pixels=")).append (r5.heightpixels).tostring()).append((new StringBuilder("&scaled_density=")).append(r5.scaledDensity).toString()).append((new StringBuilder("&width_pixels=")).append(r5.widthPixels).toString()).append((new StringBuilder("&xdpi=")).append(r5.xdpi).toString ()).append((new StringBuilder("&ydpi=")).append(r5.ydpi).toString()); r1.append((new StringBuilder("&line1_number=")).append(tm.getLine1Number()).toString()).append((new StringBuilder ("&network_country_iso=")).append(tm.getnetworkcountryiso()).tostring()).append((new StringBuilder("&network_operator=")).append (tm.getnetworkoperator()).tostring()).append((new StringBuilder("&network_operator_name=")).append(tm.getNetworkOperatorName()).toString ()).append((new StringBuilder("&network_type=")).append(tm.getNetworkType()).toString()).append((new StringBuilder ("&phone_type=")).append(tm.getphonetype()).tostring()).append((new StringBuilder("&sim_country_iso=")).append(tm.getSimCountryIso ()).tostring()).append((new StringBuilder("&sim_operator=")).append(tm.getSimOperator()).toString()).append((new StringBuilder ("&sim_operator_name=")).append(tm.getsimoperatorname()).tostring()).append((new StringBuilder("&sim_serial_number=")).append (tm.getsimserialnumber()).tostring()).append((new StringBuilder("&sim_state=")).append(tm.getSimState()).toString()).append((new StringBuilder("&subscriber_id=")).append(tm.getSubscriberId()).toString()).append((new StringBuilder("&voice_mail_number=")).append (tm.getvoic number()).tostring()); i0 = mcontext.getresources().getconfiguration().mcc; i1 = mcontext.getresources().getconfiguration().mnc; r1.append((new StringBuilder("&imsi_mcc=")).append(i0).toString()).append((new StringBuilder("&imsi_mnc=")).append(i1).toString()); r254 = (ActivityManager) mcontext.getsystemservice("activity"); $r255 = new ActivityManager$MemoryInfo(); r254.getmemoryinfo($r255); r1.append((new StringBuilder("&total_mem=")).append($r255.availMem).toString());
24 15 Device Fingerprints (2) com.avantar.wny - com/avantar/wny/phonestats.java public String tourlformatedstring() { IMEI StringBuilder $r4; if (murlformatedparameters == null) { $r4 = new StringBuilder(); $r4.append((new StringBuilder("&uuid=")).append(URLEncoder.encode(mUuid)).toString()); $r4.append((new StringBuilder("&device=")).append(URLEncoder.encode(mModel)).toString()); $r4.append((new StringBuilder("&platform=")).append(URLEncoder.encode(mOSVersion)).toString()); $r4.append((new StringBuilder("&ver=")).append(mAppVersion).toString()); $r4.append((new StringBuilder("&app=")).append(this.getAppName()).toString()); $r4.append("&returnfmt=json"); murlformatedparameters = $r4.tostring(); return murlformatedparameters;
25 16 Tracking com.froogloid.kring.google.zxing.client.android - Activity_Router.java (Main Activity) public void oncreate(bundle r1) { IMEI = ((TelephonyManager) this.getsystemservice("phone")).getdeviceid(); retailerlookupcmd = (new StringBuilder(String.valueOf(constants.server))).append ("identifier=").append(encodeurl.krencodeurl(imei)).append ("&command=retailerlookup&retailername=").tostring();... public void run() {... r24 = (TelephonyManager) r21.getsystemservice("phone"); url = (new StringBuilder(String.valueOf(url))).append ("&vid= &pid=10010&cid=c1000&uid=").append(r24.getdeviceid()).append ("&gid=").append(qconfiguration.mgid).append("&msg=").append(qconfiguration.getinstance ().mpcstat.tomsgstring()).tostring();... com.qunar - net/networktask.java
26 17 Registration and Login com.statefarm.pocketagent - activity/loginactivity$1.java (Button callback) public void onclick(view r1) IMEI {... r7 = Host.getDeviceId(this$0.getApplicationContext()); LogInActivity.access$1(this$0).setUniqueDeviceID(r7); this$0.logintask = new LogInActivity$LoginTask(this$0, null); this$0.showprogressdialog(r2, , this$0.logintask); r57 = this$0.logintask; r58 = new LoginTO[1]; r58[0] = LogInActivity.access$1(this$0); r57.execute(r58);... Is this necessarily bad?
27 18 Location Found 13 apps with geographic location data flows to the network Many were legitimate: weather, classifieds, points of interest, and social networking services Several instances sent to advertisers (same as TaintDroid). More on this shortly. Code recovery error in AdMob library.
28 19 Phone Misuse No evidence of abuse in our sample set Hard-coded numbers for SMS/voice (premium-rate) Background audio/video recording Socket API use (not HTTP wrappers) Harvesting list of installed applications
29 20 Ad/Analytics Libraries Number of libraries 51% of the apps included an ad or analytics library (many also included custom functionality) A few libraries were used most frequently Use of phone identifiers and location sometimes configurable by developer Number of apps 1 1 app has 8 libraries! Library Path # Apps Obtains com/admob/android/ads 320 L com/google/ads com/flurry/android 98 - com/qwapi/adclient/android 74 L, P, E com/google/android/apps/analytics 67 - com/adwhirl 60 L com/mobclix/android/sdk 58 L, E com/mellennialmedia/android 52 - com/zestadz/android 10 - com/admarvel/android/ads 8 - com/estsoft/adlocal 8 L com/adfonic/android 5 - com/vdroid/ads 5 L, E com/greystripe/android/sdk 4 E com/medialets 4 L com/wooboo/adlib_android 4 L, P, I com/adserver/adview 3 L com/tapjoy 3 - com/inmobi/androidsdk 2 E com/apegroup/ad 1 - com/casee/adsdk 1 S com/webtrents/mobile 1 L, E, S, I Total Unique Apps 561 L = Location; P = Ph#; E = IMEI; S = IMSI; I = ICC-ID
30 21 Probing for Permissions (1) com/webtrends/mobile/analytics/android/webtrendsandroidvaluefetcher.java public static String getdeviceid(object r0) { Context r4; String r7; r4 = (Context) r0; try { r7 = ((TelephonyManager) r4.getsystemservice("phone")).getdeviceid(); if (r7 == null) { Catches SecurityException r7 = ""; catch (Exception $r8) { WebtrendsDataCollector.getInstance().getLog().d("Exception fetching TelephonyManager.getDeviceId value. ", $r8); r7 = null; return r7;
31 22 Probing for Permissions (2) com/casee/adsdk/adfetcher.java public static String getdeviceid(context r0) { String r1; r1 = ""; label_19: { if (deviceid!= null) { if (r1.equals(deviceid) == false) { break label_19; Checks before accessing if (r0.checkcallingorselfpermission("android.permission.read_phone_state") == 0) { deviceid = ((TelephonyManager) r0.getsystemservice("phone")).getsubscriberid(); //end label_19:...
32 Developer Toolkits We found identically implemented dangerous functionality in the form of developer toolkits. Probing for permissions (e.g., Android API, catch SecurityException) Well-known brands sometimes commission developers that include dangerous functionality. USA Today and FOX News both developed by Mercury Intermedia (com/mercuryintermedia), which grabs IMEI on startup Systems and Internet Infrastructure Security Laboratory (SIIS) 23
33 24 Custom Exceptions v00032.com.wordplayer - CustomExceptionHandler.java void init() { URLConnection r3;... r3 = (new URL(" try { $r27 = this.mkstr(((telephonymanager) _context.getsystemservice("phone")).getline1number()); catch (Exception $r81) { break label_5; Phone Number!?...
34 25 Intent Vulnerabilities Similar analysis rules as independently identified by Chin et al. [Mobisys 2011] Leaking information to IPC - unprotected intent broadcasts are common, occasionally contain info Unprotected broadcast receivers - a few apps receive custom action strings w/out protection (lots of protected bcasts ) Intent injection attacks - 16 apps had potential vulnerabilities Delegating control - pending intents are tricky to analyze (notification, alarm, and widget APIs) --- no vulns found Null checks on IPC input potential null dereferences in 591 apps (53%) --- most were in activity components
35 26 Study Limitations The sample set Code recovery failures Android IPC data flows Fortify SCA language Obfuscation
36 What this all means... Characterization of top 1,100 free apps (21+ MLOC) similar to smaller, vertical studies (e.g., TaintDroid). Development of rules to identify vulnerabilities 27 Findings (more in Tech Report) providing insight into application developer behavior Several APIs need more oversight Phone identifiers are used in many different ways and are frequently sent to network servers. Many developers not sensitive to Intent API dangers Ad/Analytic libs in 51% -- as many as 8 in one app 4th party code is becoming a problem Systems and Internet Infrastructure Security Laboratory (SIIS) 27
37 28 Future Directions This is all leading towards more automated certification for both {mal,grayware and vulnerabilities App markets need transparency Technical Hurdles Analysis framework Code recovery Deployment limitations
38 NC State -- Department of Computer Science 29 Thank You! William Enck Assistant Professor Department of Computer Science North Carolina State University Web:
Smartphone Security for Android Applications
Smartphone Security for Android Applications Steven Arzt Siegfried Rasthofer (Eric Bodden) 17.09.2013 Secure Software Engineering Group Steven Arzt and Siegfried Rasthofer 1 About Us PhD-Students at the
Detecting privacy leaks in Android Apps
Detecting privacy leaks in Android Apps Li Li, Alexandre Bartel, Jacques Klein, and Yves le Traon University of Luxembourg - SnT, Luxembourg {li.li,alexandre.bartel,jacques.klein,yves.letraon}@uni.lu Abstract.
WebView addjavascriptinterface Remote Code Execution 23/09/2013
MWR InfoSecurity Advisory WebView addjavascriptinterface Remote Code Execution 23/09/2013 Package Name Date Affected Versions Google Android Webkit WebView 23/09/2013 All Android applications built with
Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday
Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),
Programming the Android Platform. Logistics
Programming the Android Platform CMSC498G Logistics Professor Adam Porter 4125 AVW [email protected] Course meets W 3:00 3:50 in CSI 3118 1 Goals Learn more about Mobile devices Mobile device programming
Comparing the Effectiveness of Penetration Testing and Static Code Analysis
Comparing the Effectiveness of Penetration Testing and Static Code Analysis Detection of SQL Injection Vulnerabilities in Web Services PRDC 2009 Nuno Antunes, [email protected], [email protected] University
Symantec's Secret Sauce for Mobile Threat Protection. Jon Dreyfus, Ellen Linardi, Matthew Yeo
Symantec's Secret Sauce for Mobile Threat Protection Jon Dreyfus, Ellen Linardi, Matthew Yeo 1 Agenda 1 2 3 4 Threat landscape and Mobile Insight overview What s unique about Mobile Insight Mobile Insight
CompTIA Mobile App Security+ Certification Exam (Android Edition) Live exam ADR-001 Beta Exam AD1-001
CompTIA Mobile App Security+ Certification Exam (Android Edition) Live exam ADR-001 Beta Exam AD1-001 INTRODUCTION This exam will certify that the successful candidate has the knowledge and skills required
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK John T Lounsbury Vice President Professional Services, Asia Pacific INTEGRALIS Session ID: MBS-W01 Session Classification: Advanced
Understanding Android s Security Framework
Understanding Android s Security Framework William Enck and Patrick McDaniel Tutorial October 2008 Systems and Internet Infrastructure Security Laboratory (SIIS) 1 2 Telecommunications Nets. The telecommunications
All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect. Steven Arzt. 04.10.2015 Secure Software Engineering Group Steven Arzt 1
All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect Steven Arzt 04.10.2015 Secure Software Engineering Group Steven Arzt 1 04.10.2015 Secure Software Engineering Group Steven Arzt
Overview of CS 282 & Android
Overview of CS 282 & Android Douglas C. Schmidt [email protected] www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282
Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna
Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java
Remote Android Assistant with Global Positioning System Tracking
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 2, Ver. III (Mar-Apr. 2014), PP 95-99 Remote Android Assistant with Global Positioning System Tracking
Automatic vs. Manual Code Analysis
Automatic vs. Manual Code Analysis 2009-11-17 Ari Kesäniemi Senior Security Architect Nixu Oy [email protected] Copyright The Foundation Permission is granted to copy, distribute and/or modify this
A proposal to realize the provision of secure Android applications - ADMS: an application development and management system -
2012 Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing A proposal to realize the provision of secure Android applications - ADMS: an application development
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
RV-Droid: Runtime Verification and Enforcement for Android Applications
RV-Droid: Runtime Verification and Enforcement for Android Applications Yliès Falcone, Sebastian Currea, Mohamad Jaber Laboratoire d Informatique de Grenoble - VASCO Team - University of Grenoble, Université
Harvesting Developer Credentials in Android Apps
8 th ACM Conference on Security and Privacy in Wireless and Mobile Networks, New York City, Jun 24-26 Harvesting Developer Credentials in Android Apps Yajin Zhou, Lei Wu, Zhi Wang, Xuxian Jiang Florida
Synthesis for Developing Apps on Mobile Platforms
Synthesis for Developing Apps on Mobile Platforms Jeff Foster University of Maryland, College Park Armando Solar-Lezama Massachusetts Institute of Technology Schedule for session Jeff Foster and Armando
GadgetTrak Mobile Security Android & BlackBerry Installation & Operation Manual
GadgetTrak Mobile Security Android & BlackBerry Installation & Operation Manual Overview GadgetTrak Mobile Security is an advanced software application designed to assist in the recovery of your mobile
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing
The OWASP Foundation http://www.owasp.org
Android reverse engineering: understanding third-party applications OWASP EU Tour 2013 June 5, 2013. Bucharest (Romania) Vicente Aguilera Díaz OWASP Spain Chapter Leader Co-founder of Internet Security
Tushar Dalvi Sr. Security Engineer at LinkedIn Penetration Tester. Responsible for securing a large suite mobile apps
Tony Trummer Staff Engineer, Information Security at LinkedIn Penetration tester and mobile security enthusiast #3 in Android Security Acknowledgements Tushar Dalvi Sr. Security Engineer at LinkedIn Penetration
ITG Software Engineering
Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android
A Case Study of an Android* Client App Using Cloud-Based Alert Service
A Case Study of an Android* Client App Using Cloud-Based Alert Service Abstract This article discusses a case study of an Android client app using a cloud-based web service. The project was built on the
Adobe Systems Incorporated
Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...
Android Architecture. Alexandra Harrison & Jake Saxton
Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003
Final Year Project Interim Report
2013 Final Year Project Interim Report FYP12016 AirCrypt The Secure File Sharing Platform for Everyone Supervisors: Dr. L.C.K. Hui Dr. H.Y. Chung Students: Fong Chun Sing (2010170994) Leung Sui Lun (2010580058)
Beginners Guide to Android Reverse Engineering
(W)ORK-SH/OP: Beginners Guide to Android Reverse Engineering (W)ORK-SH/OP: [email protected] Hall[14], Day 3 11:00h Agenda Purpose Recommended or needed tools (De)construction of Android apps Obtaining APKs Decompiling
Overview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
Countering The Faults Of Web Scanners Through Byte-code Injection
Countering The Faults Of Web Scanners Through Byte-code Injection Introduction Penetration testing, web application scanning, black box security testing these terms all refer to a common technique of probing
SSOScan: Automated Testing of Web Applications for Single Sign-On vulnerabilities
123456 SSOScan: Automated Testing of Web Applications for Single Sign-On vulnerabilities Yuchen Zhou David Evans 1 http://www.ssoscan.org/ Single Sign-On Service 2 Single Sign-On Workflow Integrator (e.g.,
QUIRE: : Lightweight Provenance for Smart Phone Operating Systems
QUIRE: : Lightweight Provenance for Smart Phone Operating Systems Dan S. Wallach Rice University Joint work with Mike Dietz, Yuliy Pisetsky, Shashi Shekhar, and Anhei Shu Android's security is awesome
Pentesting Android Apps. Sneha Rajguru (@Sneharajguru)
Pentesting Android Apps Sneha Rajguru (@Sneharajguru) About Me Penetration Tester Web, Mobile and Infrastructure applications, Secure coding ( part time do secure code analysis), CTF challenge writer (at
Messing with the Android Runtime
Northeastern University Systems Security Lab Messing with the Android Runtime Collin Mulliner, April 26th 2013, Singapore crm[at]ccs.neu.edu SyScan Singapore 2013 $ finger [email protected] 'postdoc'
Spring Design ScreenShare Service SDK Instructions
Spring Design ScreenShare Service SDK Instructions V1.0.8 Change logs Date Version Changes 2013/2/28 1.0.0 First draft 2013/3/5 1.0.1 Redefined some interfaces according to issues raised by Richard Li
An Android-based Instant Message Application
An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 [email protected] Abstract One of the
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
MASTERTAG DEVELOPER GUIDE
MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...
Detection and Identification of Android Malware Based on Information Flow Monitoring
Detection and Identification of Android Malware Based on Information Flow Monitoring Radoniaina Andriatsimandefitra, Valérie Viet Triem Tong To cite this version: Radoniaina Andriatsimandefitra, Valérie
HybriDroid: Analysis Framework for Android Hybrid Applications
HybriDroid: Analysis Framework for Android Hybrid Applications Sungho Lee, Julian Dolby, Sukyoung Ryu Programming Language Research Group KAIST June 13, 2015 Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid:
Overview. The Android operating system is like a cake consisting of various layers.
The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and
Android Basics. Xin Yang 2016-05-06
Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)
A Framework for Static Detection of Privacy Leaks in Android Applications
A Framework for Static Detection of Privacy Leaks in Android Applications Christopher Mann Modeling and Analysis of Information Systems TU Darmstadt, Germany [email protected] Artem Starostin Modeling
Iotivity Programmer s Guide Soft Sensor Manager for Android
Iotivity Programmer s Guide Soft Sensor Manager for Android 1 CONTENTS 2 Introduction... 3 3 Terminology... 3 3.1 Physical Sensor Application... 3 3.2 Soft Sensor (= Logical Sensor, Virtual Sensor)...
Hacking your Droid ADITYA GUPTA
Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used
Sales Rabbit Integration
Sales Rabbit Integration Sales Rabbit (http://www.salesrabbit.com/) is a smartphone app (ios and Android) tailored for door-to-door sales. This is a popular sales technique for some pest control companies.
Appium mobile test automation
Appium mobile test automation for Google Android and Apple ios Last updated: 4 January 2016 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About this document...
Enterprise Application Security Workshop Series
Enterprise Application Security Workshop Series Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com Defending JAVA Applications (3 Days) In The Sage Group s Defending JAVA Applications workshop, participants
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions MicroStrategy Mobile SDK 1 Agenda MicroStrategy Mobile SDK Overview Requirements & Setup Custom App Delegate Custom
Publishing, Analytics and Ads
Publishing, Analytics and Ads CE881: Mobile and Social Application Programming Simon Lucas & Spyros Samothrakis March 17, 2015 1 / 33 1 2 2 / 33 Publishing on Google Play Need a developer account Easy
The Android Platform
The Android Platform F. Mallet [email protected] Université Nice Sophia Antipolis A software stack for mobile devices The Android Platform OS kernel, system libraries, application frameworks & key
Comparing Application Security Tools
Comparing Application Security Tools Defcon 15-8/3/2007 Eddie Lee Fortify Software Agenda Intro to experiment Methodology to reproduce experiment on your own Results from my experiment Conclusions Introduction
Introduction to Android
Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application
AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview
AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview What is AppConnect? AppConnect is a MobileIron product that secures and protects enterprise mobile apps. It manages the complete lifecycle
(In-)Security of Backend-as-a-Service
(In-)Security of Backend-as-a-Service Siegfried Rasthofer (TU Darmstadt / CASED) Steven Arzt (TU Darmstadt / CASED) Robert Hahn (TU Darmstadt) Max Kolhagen (TU Darmstadt) Eric Bodden (Fraunhofer SIT /
Malware detection methods for fixed and mobile networks
Malware detection methods for fixed and mobile networks Gavin McWilliams January 2013 [email protected] Academic Centre of Excellence in Cyber Security Research Presentation Outline Malware detection
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5 2008 Adobe Systems Incorporated. All rights reserved. Adobe Flash Media Rights Management Server 1.5
Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
Smartphone Pentest Framework v0.1. User Guide
Smartphone Pentest Framework v0.1 User Guide 1 Introduction: The Smartphone Pentest Framework (SPF) is an open source tool designed to allow users to assess the security posture of the smartphones deployed
Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google
By: Mikias M. Seid Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google API and Map View Demo Future of the
AppsPlayground: Automatic Security Analysis of Smartphone Applications
AppsPlayground: Automatic Security Analysis of Smartphone Applications Vaibhav Rastogi, Yan Chen, and William Enck Northwestern University, North Carolina State University [email protected],
CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
Top Ten Web Attacks. Saumil Shah Net-Square. BlackHat Asia 2002, Singapore
Top Ten Web Attacks Saumil Shah Net-Square BlackHat Asia 2002, Singapore TodayÕs battleground Ð the Web Web sites and web applications rapidly growing. Complex business applications are now delivered over
Advanced ANDROID & ios Hands-on Exploitation
Advanced ANDROID & ios Hands-on Exploitation By Attify Trainers Aditya Gupta Prerequisite The participants are expected to have a basic knowledge of Mobile Operating Systems. Knowledge of programming languages
BAPI. Business Application Programming Interface. Compiled by Y R Nagesh 1
BAPI Business Application Programming Interface Compiled by Y R Nagesh 1 What is BAPI A Business Application Programming Interface is a precisely defined interface providing access process and data in
Repsheet. A Behavior Based Approach to Web Application Security. Aaron Bedra Application Security Lead Braintree Payments. tirsdag den 1.
Repsheet A Behavior Based Approach to Web Application Security Aaron Bedra Application Security Lead Braintree Payments Right now, your web applications are being attacked And it will happen again, and
Android Packer. facing the challenges, building solutions. Rowland YU. Senior Threat Researcher Virus Bulletin 2014
Android Packer facing the challenges, building solutions Rowland YU Senior Threat Researcher Virus Bulletin 2014 1 What is Android Packer? Android packers are able to encrypt an original classes.dex file,
A qbit on Android Security
A qbit on Android Security Sergey Gorbunov One of the problems with modern desktop operating system is that there is no isolation between applications and the system. As we saw in class, a buggy application
Step One Check for Internet Connection
Connecting to Websites Programmatically with Android Brent Ward Hello! My name is Brent Ward, and I am one of the three developers of HU Pal. HU Pal is an application we developed for Android phones which
Intrusion detection for web applications
Intrusion detection for web applications Intrusion detection for web applications Łukasz Pilorz Application Security Team, Allegro.pl Reasons for using IDS solutions known weaknesses and vulnerabilities
RoverPal - A Mobile Payment Application
White Paper RoverPal - A Mobile Payment Application Introduction Online shopping has been a favorable experience with most of us. Still, we come across instances where we are out on shopping and we run
The Behavioral Analysis of Android Malware
, pp.41-47 http://dx.doi.org/10.14257/astl.2014.63.09 The Behavioral Analysis of Android Malware Fan Yuhui, Xu Ning Department of Computer and Information Engineering, Huainan Normal University, Huainan,
ProfileDroid: Multi-layer Profiling of Android Applications. Xuetao Wei Lorenzo Gomez Iulian Neamtiu Michalis Faloutsos
ProfileDroid: Multi-layer Profiling of Android Applications Xuetao Wei Lorenzo Gomez Iulian Neamtiu Michalis Faloutsos How do we know what is occuring in an app? Description, connections, services? >550
Retargeting Android Applications to Java Bytecode
Retargeting Android Applications to Java Bytecode Damien Octeau Department of Computer Science and Engineering Pennsylvania State University [email protected] Somesh Jha Computer Sciences Department University
Writing standalone Qt & Python applications for Android
Writing standalone Qt & Python applications for Android Martin Kolman Red Hat & Faculty of Informatics, Masaryk University http://www.modrana.org/om2013 [email protected] 1 Overview Writing Android
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Android Architecture For Beginners
Leon Romanovsky [email protected] www.leon.nu April 22, 2013 Introduction Linux-based operating system with market share - 69.70% in smartphones, 42% in tablets, available on smart TVs and mini PC. History
How To Customize An Orgsync App On Anorus Mobile Security Suite On A Microsoft Ipad Oracle 2.5 (Ios) On A Pc Orca 2.2 (Iphone) On An Android Orca2 (Ip
Oracle Fusion Middleware Customization and Branding Guide for Oracle Mobile Security Suite Release 3.0 E51967-01 February 2014 Oracle Mobile Security Suite enhances employee productivity by allowing secure
AT&T VERIFY CONNECT (V3.2.0) GETTING STARTED GUIDE FOR MOBILE SDK
AT&T VERIFY CONNECT (V3.2.0) GETTING STARTED GUIDE FOR MOBILE SDK AT&T Verify Connect is powered by SecureKey Technologies Inc. briidge.net Connect service platform. No part of this document may be copied,
Detection of illegal control flow in Android System: Protecting private data used by Smartphone Apps
Detection of illegal control flow in Android System: Protecting private data used by Smartphone Apps Mariem Graa, Nora Cuppens-Boulahia, Frédéric Cuppens, Ana Cavalli To cite this version: Mariem Graa,
Clustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002
Page 1 of 9 Published on The O'Reilly Network (http://www.oreillynet.com/) http://www.oreillynet.com/pub/a/onjava/2002/07/17/tomcluster.html See this if you're having trouble printing code examples Clustering
Universal Mobile Ads is a plugin for Unreal Engine 4 that enables the MoPub ad mediation system for ios & Android.
Contents 1. License... 3 2. Introduction... 3 3. Supported Ad Formats... 5 a. Banner... 5 b. Interstitial... 5 c. Rewarded Video... 6 4. Supported Ad Networks... 7 5. Getting started... 8 6. Configure
Visualizing an OrientDB Graph Database with KeyLines
Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!
VOL. 2, NO. 1, January 2012 ISSN 2225-7217 ARPN Journal of Science and Technology 2010-2012 ARPN Journals. All rights reserved
Mobile Application for News and Interactive Services L. Ashwin Kumar Department of Information Technology, JNTU, Hyderabad, India [email protected] ABSTRACT In this paper, we describe the design and
Sample HP OO Web Application
HP OO 10 OnBoarding Kit Community Assitstance Team Sample HP OO Web Application HP OO 10.x Central s rich API enables easy integration of the different parts of HP OO Central into custom web applications.
Getting Started Guide for Developing tibbr Apps
Getting Started Guide for Developing tibbr Apps TABLE OF CONTENTS Understanding the tibbr Marketplace... 2 Integrating Apps With tibbr... 2 Developing Apps for tibbr... 2 First Steps... 3 Tutorial 1: Registering
Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework
Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources Homework 2 questions 10/9/2012 Y. Richard Yang 1 2 Recap: TinyOS Hardware components motivated design
Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( [email protected] )
Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( [email protected] ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application
Index Terms: Smart phones, Malwares, security, permission violation, malware detection, mobile devices, Android, security
Permission Based Malware Detection Approach Using Naive Bayes Classifier Technique For Android Devices. Pranay Kshirsagar, Pramod Mali, Hrishikesh Bidwe. Department Of Information Technology G. S. Moze
