SlideShare a Scribd company logo
1 of 56
Download to read offline
Ch 6: Mobile Services and
Mobile Web (Part 2)
CNIT 128:
Hacking Mobile
Devices
Updated 3-13-17
SAML

Security Assertion Markup Language
What SAML Does
• XML-based framework
• Exchanges authentication and
authorization data between
– An identity provider (IdP) and
– A service provider (SP)
• Used by many organizations and mobile
web apps for single sign-on (SSO)
Three Use Cases for SAML
• Single sign-on
– User logs into one system
– Other systems share the authentication/
authorization information
– No need to log in again
• Federated identity
– Multiple systems agree to use the same name
identifier for a user
• Web service security
– SAML can be used to protect SOAP-based Web
services
SAML SP-Initiated Web Browser SSO
Details of SSO
• 2. is a HTTP redirect (302 or 303) that
redirects to the IdP
• 5. After successful authentication, the IdP
builds a SAML assertion
– Describing who the user is and relevant
authorization information
– Signed via XML Signature specification
General SAML Threats
• Collusion
– Two or more systems (such as SPs) may
collude against users or the IdP
• Denial of Service
– XML-based attacks could bring down the
servers
General SAML Threats
• Man-in-the-middle
– Attacker could intercept SAML assertions,
user credentials, or session identifiers and
hijack accounts
– Mitigation: use TLS or IPsec, or
– Message-level encryption and integrity
General SAML Threats
• Replay attacks
– Hostile SP could replay a received SAML assertion
from a user/IdP to a second SP
– If the second SP accepts the assertion, the hostile
SP can impersonate the victim
• Session hijacking
– Attacker acquires or predicts the session identifier
– May steal session identifier with MITM or XSS
– Session fixation vulnerability may allow an
attacker to fixate the session identifier to a fixed
value
Modified SAML Assertion
• Attacker changes a SAML assertion passed
to a SP
• Normally, SP can detect this by verifying
the XML signature
• SP may have implementation bugs that
weaken signature validation and processing
• Such as XML Signature Wrapping (XSW)
vulnerabilities
XML Signature Wrapping (XSW) Attacks
• Attacker modifies SAML assertion, such as
– Modifying Subject portion to be an
administrator
• In 2012, most popular SAML frameworks
had this vulnerability (11 out of 14)
Structure of a Normal SAML Response
XML Signature Processing
• Signature validation module
– Is the assertion properly signed?
– Test requires the IdP's public key
• Business logic processing module
– Extracts the assertion
– Provides the app with identification
information contained within the signed
assertion
Signature Exclusion Attack
• Remove signature element
• Easiest attack
• Apache Axis 2 and OpenAthens were
vulnerable
– Missing signature was interpreted as a valid
signature
Adding Assertions
• Attacker adds more assertions
– They are not signed at all
• Vulnerable frameworks will report them as
signed because the original assertion's
signature was valid
• Vulnerable systems
– Higgins
– Apache Axis2
– IBM XS 40 Security Gateway
Safest Systems
• In the 2012 study, only two systems were
not vulnerable
– Microsoft's Windows Identity Foundation
– SimpleSAMLphp
• SimpleSAMLphp
– Extracts each assertion into a separate DOM
tree
– Verifies signature for every assertion
XML Signature Wrapping
Countermeasures
• Use the latest version of your framework
• These vulnerabilities were patched
Mobile Web Browser and
WebView Security
Cross-Platform Development
Frameworks
• Each device has its own mobile web browser
– Android and iOS both use the WebView component
• Organizations often wish to support many
platforms
– iOS, Android, Blackberry, Windows Mobile
• Developers seek cross-platform development
frameworks, such as HTML 5 and JavaScript
bridges (see Ch. 8)
URI Schemes
• Web pages use http: or https:
• Other schemes are provided by the OS,
such as tel:
– Launches a dialer for a telephone call
– From within a web page in the mobile web
browser
– Both iOS and Android require a click from the
user before actually making a call
tel: on iOS
<html><body>
<iframe
src="tel:5555555555">
</iframe>
</body></html>
tel: on Android
<html><body>
<iframe
src="tel:5555555555">
</iframe>
</body></html>
Exploiting Custom URI Schemes
• iOS and Android allow apps to define
custom URI schemes
– Can be triggered within mobile browser
– Or within another app, such as an email
client
– As an IPC (Inter-Process Communication)
mechanism
• Over 600 custom URI schemes are known
Exploiting Custom URI Schemes
• Malicious JavaScript or HTML code can
invoke native mobile functionality
– Exploits trust between the browser and the
target mobile app
• Similar to Cross-Site Request Forgery
(CSRF)
– Exploits trust between browser and the target
site
Exploiting Custom URI Schemes
• Attacker may send an email or SMS
– Containing a malicious URL
• May use this functionality when crafting
an XSS exploit
Abusing Custom URI Schemes via Skype
• In 2010, Skype supported a custom URI
scheme skype:
• But failed to prompt user before dialing a
phone number, so this web page placed a
call immediately
<html><body>
<iframe src="skype:15555555555?call">
</iframe></body></html>
Abusing USSD (Unstructured
Supplementary Service Data) Codes
• USSD codes are used to communicate with
manufacturers and Mobile Network
Operators (MNOs)
• T-Mobile uses these USSD codes:
– #686# returns your phone number
– #225# returns your account balance
– #793# resets your voicemail password to the
last four digits of your phone number
Testing for USSD Vulnerability
• Type this into your
mobile browser
tel:*%2309%23
– %23 is URL-encoding for
#
• See if it dials without
user interaction
• It will display your IMEI
#
Exploits Abusing USSD Codes
• Factory reset on some Samsung devices
<html><body>
<iframe
src="tel:*2767*3855%23">
</iframe>
</body></html>
Custom URI Schemes in Android
• Intents are the primary IPC (Inter-Process
Communication) method
• Apps can declare custom URI schemes in
the AndroidManifest.xml file
• The new activity is available to other apps
on the system, not just the browser
– Unless android:exported is set to false
• New activity could send an SMS, for
example
Defines a someapp: Scheme
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category andriod:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category andriod:name="android.intent.category.DEFAULT" />
<category andriod:name="android.intent.category.BROWSABLE" />
<data andriod:scheme="someapp" />
</intent-filter>
</activity>
Malicious Webpage to Send an SMS
<html><body>
<iframe
src="someapp://junk/junk?
mdn=5555555555&msg=Hello%20World!" width="1"
height="1">
</iframe>
</body></html>
Android Custom URI Scheme
Countermeasures
• Similar to preventing intent-based attacks
• Restrict access to the component via the
android:exported attribute in the
AndroidManifest.xml file
• Perform input validation on all data received
from intents
• Use signature-level permissions if you need to
allow an IPC mechanism between two trusted
apps
Custom URI Schemes on iOS
• Custom URI schemes are the primary means
of IPC on iOS
• To see custom URI schemes, look at Info.plist
CFBundleURLTypes = (
{
CFBundleURLSchemes = (
someapp
);
}
);
Effects of the Custom Scheme
• If an app defines a handleOpenURL method
that creates a new file
• Attacker can trick a user into visiting a
hostile Web page and create a new file
<html><body>
<iframe
src="someapp://junk/junk?path=/tmp/
lulz&contents=pwned" width="1" height="1">
</iframe>
</body></html>
iOS Custom URI Scheme
Countermeasures
• Input validation on the provided URL
• Move away from deprecated
handleOpenURL method
– Use openURL method instead, which has two
additional arguments that could be validated
– sourceApplication (bundle identifier of the
requesting app)
– annotation (a propertylist object defined by
the requesting app_
Exploiting JavaScript Bridges
WebView
• Both Android and iOS apps often use
WebView
• To display mobile web content within an app
• This code displays Google on Android
WebView webView = new WebView(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.google.com");
JavaScript Bridges
• Both iOS and Android allow developers
• To adjust WebView's settings and expose
native mobile functionality to JavaScript
executing within WebView
• These bridges can be exploited with
– XSS, URL redirection, MiTM, or IPC
Android addJavaScriptInterface
WebView Injection
• The addJavaScriptInterface function
– Injects Java objects into WebView
– Allows JavaScript to call the public methods of
the injected Java object
• Could allow JavaScript to invoke native
phone functionality
– Sending SMS messages
– Accessing account information
– Etc.
Same Origin Policy
• Browsers restrict content by the domain
name
– A yahoo.com cookie can't be read by
microsoft.com
• JavaScript can be used to subvert the
same origin policy
FileUtils Object
• If an app injects a FileUtils object into
JavaScript
• That allows JavaScript to write to the file
system
• 30% of Android apps use
addJavaScriptInterface
– Android documentation warns against using
this feature
Severity of the Risk
• Prior to Android 4.2, no
addJavaScriptInterface is safe
• Attacker can write an arbitrary ARM
executable to the target app's data
directory and execute it
– A "reflection" attack
• Could root the device
• Therefore, could break out of sandbox and
do anything
Reflection
• A form of self-modifying code
• A class or object can examine itself
• And alter itself at runtime
• Powerful but dangerous
– Link Ch 6j
Android WebView Injection
Countermeasures
• Android 4.2 and later require
programmers to annotate exposed
functions, lowering this risk
– This was about half of Android devices in 2014
• Only use addJavaScriptInterface to
load trusted content, not anything
acquired over the network or via an IPC
mechanism
Android WebView Injection
Countermeasures
• Use the shouldOverrideUrlLoading
function to limit bridging
• Avoid bridging JavaScript and Java
altogether
Android WebView JavaScript Bridge Exploitation
via shouldInterceptRequest
• An app can override the WebViewClient's
shouldInterceptRequest function
• If the URI scheme matches the target,
• App can use reflection to acquire an
instance of an object
• Invoke a function using parameters from
the query string
Exploit Code
• Writes to the SD card
<html><body><iframe src="someapp://junk/
junk?
c=java.lang.Runtime&m1=getRuntime&m2=exec&
a=touch%20%2fmnt%2fsdcard%2fhello"
width="1" height="1">
</iframe></body></html>
Android WebView JavaScript Bridge
Exploitation Countermeasures
• An app that uses a custom URI scheme
should be careful about what functionality
is exposed
• Use input validation and output encoding
to prevent injection attacks
• Exposing the ability to use reflection to
untrusted content is very dangerous
iOS UIWebView JavaScript
Bridge Exploitation
• iOS doesn't support explicit JavaScript
bridges like Android
• But an iOS app can intercept URL requests
by defining a
shouldStartLoadWithRequest
method
• Can use reflection to acquire an instance
of a class
Reflection Attack
• An app can use data from the URL, such
as JSON payload, in the reflection
• Allows the attacker to execute commands
injected into the JSON payload
Exploit Code
• Adds records into a SQLite database
<html><body><iframe src="someapp://junk/
junk?("cn":"cigObAccess",
"mn":"executeQuery:", "args":["INSERT INTO
someTable(col1,col2) VALUES("Wee an
insert",667);"]}' />
</iframe></body></html>
iOS UIWebView JavaScript Bridge
Countermeasures
• Input validation and output encoding of
user input
• Be wary of code that performs reflection
using tainted input
Mozilla Rhino JavaScript Bridges
• Developers want to use the same codebase for
iOS, Android, and BlackBerry
• One way to do that is to use JavaScript
• One way to use JavaScript is with the Mozilla
Rhino JavaScript engine
– Licensed to Sun
– Has LiveConnect which allows JavaScript to
interact with Java objects directly
– Convenient but insecure; can run code based on
user inputs
Mozilla Rhino JavaScript Bridges
Countermeasures
• Developers who use Rhino must sandbox
their code
• It's possible to whitelist based on full class
names, and to limit accessible fields
• But developers have to include custom
code to do it

More Related Content

What's hot

Defcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-t
Defcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-tDefcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-t
Defcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-tPriyanka Aash
 
Automation In Android & iOS Application Review
Automation In Android & iOS 	Application Review�Automation In Android & iOS 	Application Review�
Automation In Android & iOS Application ReviewBlueinfy Solutions
 
Mobile application security
Mobile application securityMobile application security
Mobile application securityShubhneet Goel
 
Vices & Devices - How IoT & Insecure APIs Became the New Cyber Battlefront
Vices & Devices - How IoT & Insecure APIs Became the New Cyber BattlefrontVices & Devices - How IoT & Insecure APIs Became the New Cyber Battlefront
Vices & Devices - How IoT & Insecure APIs Became the New Cyber BattlefrontOry Segal
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application SecurityDirk Nicol
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppAppsecco
 
Mobile Application Security – Effective methodology, efficient testing!
Mobile Application Security – Effective methodology, efficient testing!Mobile Application Security – Effective methodology, efficient testing!
Mobile Application Security – Effective methodology, efficient testing!espheresecurity
 
Security testing in mobile applications
Security testing in mobile applicationsSecurity testing in mobile applications
Security testing in mobile applicationsJose Manuel Ortega Candel
 
Securing Microservices with Spring Cloud Security
Securing Microservices with Spring Cloud SecuritySecuring Microservices with Spring Cloud Security
Securing Microservices with Spring Cloud SecurityWill Tran
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)Sam Bowne
 
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationSam Bowne
 
Security Testing Mobile Applications
Security Testing Mobile ApplicationsSecurity Testing Mobile Applications
Security Testing Mobile ApplicationsDenim Group
 
Beyond the OWASP Top 10
Beyond the OWASP Top 10Beyond the OWASP Top 10
Beyond the OWASP Top 10iphonepentest
 
Two Factor Authentication and You
Two Factor Authentication and YouTwo Factor Authentication and You
Two Factor Authentication and YouChris Stone
 
Mobile Apps Security Testing -1
Mobile Apps Security Testing -1Mobile Apps Security Testing -1
Mobile Apps Security Testing -1Krisshhna Daasaarii
 
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...Ajin Abraham
 

What's hot (20)

Defcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-t
Defcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-tDefcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-t
Defcon 22-alex zacharis-nikolaos-tsagkarakis-po s-attacking-t
 
Automation In Android & iOS Application Review
Automation In Android & iOS 	Application Review�Automation In Android & iOS 	Application Review�
Automation In Android & iOS Application Review
 
Two-factor Authentication
Two-factor AuthenticationTwo-factor Authentication
Two-factor Authentication
 
Mobile_app_security
Mobile_app_securityMobile_app_security
Mobile_app_security
 
Android attacks
Android attacksAndroid attacks
Android attacks
 
Mobile application security
Mobile application securityMobile application security
Mobile application security
 
Vices & Devices - How IoT & Insecure APIs Became the New Cyber Battlefront
Vices & Devices - How IoT & Insecure APIs Became the New Cyber BattlefrontVices & Devices - How IoT & Insecure APIs Became the New Cyber Battlefront
Vices & Devices - How IoT & Insecure APIs Became the New Cyber Battlefront
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application Security
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your App
 
Mobile Application Security – Effective methodology, efficient testing!
Mobile Application Security – Effective methodology, efficient testing!Mobile Application Security – Effective methodology, efficient testing!
Mobile Application Security – Effective methodology, efficient testing!
 
Security testing in mobile applications
Security testing in mobile applicationsSecurity testing in mobile applications
Security testing in mobile applications
 
Securing Microservices with Spring Cloud Security
Securing Microservices with Spring Cloud SecuritySecuring Microservices with Spring Cloud Security
Securing Microservices with Spring Cloud Security
 
Android secure coding
Android secure codingAndroid secure coding
Android secure coding
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
 
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
 
Security Testing Mobile Applications
Security Testing Mobile ApplicationsSecurity Testing Mobile Applications
Security Testing Mobile Applications
 
Beyond the OWASP Top 10
Beyond the OWASP Top 10Beyond the OWASP Top 10
Beyond the OWASP Top 10
 
Two Factor Authentication and You
Two Factor Authentication and YouTwo Factor Authentication and You
Two Factor Authentication and You
 
Mobile Apps Security Testing -1
Mobile Apps Security Testing -1Mobile Apps Security Testing -1
Mobile Apps Security Testing -1
 
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
 

Viewers also liked

CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)
CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)
CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)Sam Bowne
 
CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)Sam Bowne
 
CNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection MechanismsCNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection MechanismsSam Bowne
 
CNIT 126 5: IDA Pro
CNIT 126 5: IDA Pro CNIT 126 5: IDA Pro
CNIT 126 5: IDA Pro Sam Bowne
 
CISSP Prep: Ch 3. Asset Security
CISSP Prep: Ch 3. Asset SecurityCISSP Prep: Ch 3. Asset Security
CISSP Prep: Ch 3. Asset SecuritySam Bowne
 
CISSP Prep: Ch 2. Security and Risk Management I (part 2)
CISSP Prep: Ch 2. Security and Risk Management I (part 2)CISSP Prep: Ch 2. Security and Risk Management I (part 2)
CISSP Prep: Ch 2. Security and Risk Management I (part 2)Sam Bowne
 
Ch 13: Network Protection Systems
Ch 13: Network Protection SystemsCh 13: Network Protection Systems
Ch 13: Network Protection SystemsSam Bowne
 
Practical Malware Analysis: Ch 15: Anti-Disassembly
Practical Malware Analysis: Ch 15: Anti-DisassemblyPractical Malware Analysis: Ch 15: Anti-Disassembly
Practical Malware Analysis: Ch 15: Anti-DisassemblySam Bowne
 
CNIT 128 5: Mobile malware
CNIT 128 5: Mobile malwareCNIT 128 5: Mobile malware
CNIT 128 5: Mobile malwareSam Bowne
 
CNIT 126 9: OllyDbg
CNIT 126 9: OllyDbgCNIT 126 9: OllyDbg
CNIT 126 9: OllyDbgSam Bowne
 
CNIT 127: Ch 8: Windows overflows (Part 1)
CNIT 127: Ch 8: Windows overflows (Part 1)CNIT 127: Ch 8: Windows overflows (Part 1)
CNIT 127: Ch 8: Windows overflows (Part 1)Sam Bowne
 
CISSP Prep: Ch 4. Security Engineering (Part 2)
CISSP Prep: Ch 4. Security Engineering (Part 2)CISSP Prep: Ch 4. Security Engineering (Part 2)
CISSP Prep: Ch 4. Security Engineering (Part 2)Sam Bowne
 
CISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access ManagementCISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access ManagementSam Bowne
 
CISSP Prep: Ch 4. Security Engineering (Part 1)
CISSP Prep: Ch 4. Security Engineering (Part 1)CISSP Prep: Ch 4. Security Engineering (Part 1)
CISSP Prep: Ch 4. Security Engineering (Part 1)Sam Bowne
 
CISSP Prep: Ch 5. Communication and Network Security (Part 1)
CISSP Prep: Ch 5. Communication and Network Security (Part 1)CISSP Prep: Ch 5. Communication and Network Security (Part 1)
CISSP Prep: Ch 5. Communication and Network Security (Part 1)Sam Bowne
 
CISSP Prep: Ch 5. Communication and Network Security (Part 2)
CISSP Prep: Ch 5. Communication and Network Security (Part 2)CISSP Prep: Ch 5. Communication and Network Security (Part 2)
CISSP Prep: Ch 5. Communication and Network Security (Part 2)Sam Bowne
 
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic AnalysisCNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic AnalysisSam Bowne
 
CISSP Prep: Ch 1: Security Governance Through Principles and Policies
CISSP Prep: Ch 1: Security Governance Through Principles and PoliciesCISSP Prep: Ch 1: Security Governance Through Principles and Policies
CISSP Prep: Ch 1: Security Governance Through Principles and PoliciesSam Bowne
 
Ch 4: Footprinting and Social Engineering
Ch 4: Footprinting and Social EngineeringCh 4: Footprinting and Social Engineering
Ch 4: Footprinting and Social EngineeringSam Bowne
 
CNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on LinuxCNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on LinuxSam Bowne
 

Viewers also liked (20)

CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)
CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)
CNIT 127 Lecture 7: Intro to 64-Bit Assembler (not in book)
 
CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)CNIT 127: Ch 8: Windows overflows (Part 2)
CNIT 127: Ch 8: Windows overflows (Part 2)
 
CNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection MechanismsCNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection Mechanisms
 
CNIT 126 5: IDA Pro
CNIT 126 5: IDA Pro CNIT 126 5: IDA Pro
CNIT 126 5: IDA Pro
 
CISSP Prep: Ch 3. Asset Security
CISSP Prep: Ch 3. Asset SecurityCISSP Prep: Ch 3. Asset Security
CISSP Prep: Ch 3. Asset Security
 
CISSP Prep: Ch 2. Security and Risk Management I (part 2)
CISSP Prep: Ch 2. Security and Risk Management I (part 2)CISSP Prep: Ch 2. Security and Risk Management I (part 2)
CISSP Prep: Ch 2. Security and Risk Management I (part 2)
 
Ch 13: Network Protection Systems
Ch 13: Network Protection SystemsCh 13: Network Protection Systems
Ch 13: Network Protection Systems
 
Practical Malware Analysis: Ch 15: Anti-Disassembly
Practical Malware Analysis: Ch 15: Anti-DisassemblyPractical Malware Analysis: Ch 15: Anti-Disassembly
Practical Malware Analysis: Ch 15: Anti-Disassembly
 
CNIT 128 5: Mobile malware
CNIT 128 5: Mobile malwareCNIT 128 5: Mobile malware
CNIT 128 5: Mobile malware
 
CNIT 126 9: OllyDbg
CNIT 126 9: OllyDbgCNIT 126 9: OllyDbg
CNIT 126 9: OllyDbg
 
CNIT 127: Ch 8: Windows overflows (Part 1)
CNIT 127: Ch 8: Windows overflows (Part 1)CNIT 127: Ch 8: Windows overflows (Part 1)
CNIT 127: Ch 8: Windows overflows (Part 1)
 
CISSP Prep: Ch 4. Security Engineering (Part 2)
CISSP Prep: Ch 4. Security Engineering (Part 2)CISSP Prep: Ch 4. Security Engineering (Part 2)
CISSP Prep: Ch 4. Security Engineering (Part 2)
 
CISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access ManagementCISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access Management
 
CISSP Prep: Ch 4. Security Engineering (Part 1)
CISSP Prep: Ch 4. Security Engineering (Part 1)CISSP Prep: Ch 4. Security Engineering (Part 1)
CISSP Prep: Ch 4. Security Engineering (Part 1)
 
CISSP Prep: Ch 5. Communication and Network Security (Part 1)
CISSP Prep: Ch 5. Communication and Network Security (Part 1)CISSP Prep: Ch 5. Communication and Network Security (Part 1)
CISSP Prep: Ch 5. Communication and Network Security (Part 1)
 
CISSP Prep: Ch 5. Communication and Network Security (Part 2)
CISSP Prep: Ch 5. Communication and Network Security (Part 2)CISSP Prep: Ch 5. Communication and Network Security (Part 2)
CISSP Prep: Ch 5. Communication and Network Security (Part 2)
 
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic AnalysisCNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
 
CISSP Prep: Ch 1: Security Governance Through Principles and Policies
CISSP Prep: Ch 1: Security Governance Through Principles and PoliciesCISSP Prep: Ch 1: Security Governance Through Principles and Policies
CISSP Prep: Ch 1: Security Governance Through Principles and Policies
 
Ch 4: Footprinting and Social Engineering
Ch 4: Footprinting and Social EngineeringCh 4: Footprinting and Social Engineering
Ch 4: Footprinting and Social Engineering
 
CNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on LinuxCNIT 127 Ch 2: Stack overflows on Linux
CNIT 127 Ch 2: Stack overflows on Linux
 

Similar to Ch 6 Mobile Services and Mobile Web (Part 2

Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Blueinfy Solutions
 
Pentesting Mobile Applications (Prashant Verma)
Pentesting Mobile Applications (Prashant Verma)Pentesting Mobile Applications (Prashant Verma)
Pentesting Mobile Applications (Prashant Verma)ClubHack
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10bilcorry
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelinesZakaria SMAHI
 
Post XSS Exploitation : Advanced Attacks and Remedies
Post XSS Exploitation : Advanced Attacks and RemediesPost XSS Exploitation : Advanced Attacks and Remedies
Post XSS Exploitation : Advanced Attacks and RemediesAdwiteeya Agrawal
 
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...IBM Security
 
Ch 13: Attacking Users: Other Techniques (Part 2)
Ch 13: Attacking Users: Other Techniques (Part 2)Ch 13: Attacking Users: Other Techniques (Part 2)
Ch 13: Attacking Users: Other Techniques (Part 2)Sam Bowne
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalAkshata Sawant
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applicationsGTestClub
 
128-ch4.pptx
128-ch4.pptx128-ch4.pptx
128-ch4.pptxSankalpKabra
 
Web Application Firewall
Web Application FirewallWeb Application Firewall
Web Application FirewallChandrapal Badshah
 
Integration & Microservices
Integration & Microservices Integration & Microservices
Integration & Microservices Amr Salah
 
Windows Server 2008 for Developers - Part 1
Windows Server 2008 for Developers - Part 1Windows Server 2008 for Developers - Part 1
Windows Server 2008 for Developers - Part 1ukdpe
 
Windows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 AppsWindows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 AppsJorge Orchilles
 
Unified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebUnified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebAkana
 
Unified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebUnified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebAkana
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Jay Nagar
 
Single sign on using SAML
Single sign on using SAML Single sign on using SAML
Single sign on using SAML Programming Talents
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 

Similar to Ch 6 Mobile Services and Mobile Web (Part 2 (20)

Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
 
Pentesting Mobile Applications (Prashant Verma)
Pentesting Mobile Applications (Prashant Verma)Pentesting Mobile Applications (Prashant Verma)
Pentesting Mobile Applications (Prashant Verma)
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
 
Post XSS Exploitation : Advanced Attacks and Remedies
Post XSS Exploitation : Advanced Attacks and RemediesPost XSS Exploitation : Advanced Attacks and Remedies
Post XSS Exploitation : Advanced Attacks and Remedies
 
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
 
Ch 13: Attacking Users: Other Techniques (Part 2)
Ch 13: Attacking Users: Other Techniques (Part 2)Ch 13: Attacking Users: Other Techniques (Part 2)
Ch 13: Attacking Users: Other Techniques (Part 2)
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_final
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applications
 
128-ch4.pptx
128-ch4.pptx128-ch4.pptx
128-ch4.pptx
 
Web Application Firewall
Web Application FirewallWeb Application Firewall
Web Application Firewall
 
Integration & Microservices
Integration & Microservices Integration & Microservices
Integration & Microservices
 
Untitled 1
Untitled 1Untitled 1
Untitled 1
 
Windows Server 2008 for Developers - Part 1
Windows Server 2008 for Developers - Part 1Windows Server 2008 for Developers - Part 1
Windows Server 2008 for Developers - Part 1
 
Windows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 AppsWindows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 Apps
 
Unified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebUnified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the Web
 
Unified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebUnified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the Web
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )
 
Single sign on using SAML
Single sign on using SAML Single sign on using SAML
Single sign on using SAML
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 

More from Sam Bowne

Cyberwar
CyberwarCyberwar
CyberwarSam Bowne
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities Sam Bowne
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development SecuritySam Bowne
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the ApplicationSam Bowne
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)Sam Bowne
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic CurvesSam Bowne
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-HellmanSam Bowne
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1Sam Bowne
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android ApplicationsSam Bowne
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)Sam Bowne
 
10 RSA
10 RSA10 RSA
10 RSASam Bowne
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3Sam Bowne
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard ProblemsSam Bowne
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)Sam Bowne
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis MethodologySam Bowne
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated EncryptionSam Bowne
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)Sam Bowne
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)Sam Bowne
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream CiphersSam Bowne
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data CollectionSam Bowne
 

More from Sam Bowne (20)

Cyberwar
CyberwarCyberwar
Cyberwar
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
 
10 RSA
10 RSA10 RSA
10 RSA
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
 

Recently uploaded

Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 

Recently uploaded (20)

Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 

Ch 6 Mobile Services and Mobile Web (Part 2

  • 1. Ch 6: Mobile Services and Mobile Web (Part 2) CNIT 128: Hacking Mobile Devices Updated 3-13-17
  • 3. What SAML Does • XML-based framework • Exchanges authentication and authorization data between – An identity provider (IdP) and – A service provider (SP) • Used by many organizations and mobile web apps for single sign-on (SSO)
  • 4. Three Use Cases for SAML • Single sign-on – User logs into one system – Other systems share the authentication/ authorization information – No need to log in again • Federated identity – Multiple systems agree to use the same name identifier for a user • Web service security – SAML can be used to protect SOAP-based Web services
  • 5. SAML SP-Initiated Web Browser SSO
  • 6. Details of SSO • 2. is a HTTP redirect (302 or 303) that redirects to the IdP • 5. After successful authentication, the IdP builds a SAML assertion – Describing who the user is and relevant authorization information – Signed via XML Signature specification
  • 7. General SAML Threats • Collusion – Two or more systems (such as SPs) may collude against users or the IdP • Denial of Service – XML-based attacks could bring down the servers
  • 8. General SAML Threats • Man-in-the-middle – Attacker could intercept SAML assertions, user credentials, or session identifiers and hijack accounts – Mitigation: use TLS or IPsec, or – Message-level encryption and integrity
  • 9. General SAML Threats • Replay attacks – Hostile SP could replay a received SAML assertion from a user/IdP to a second SP – If the second SP accepts the assertion, the hostile SP can impersonate the victim • Session hijacking – Attacker acquires or predicts the session identifier – May steal session identifier with MITM or XSS – Session fixation vulnerability may allow an attacker to fixate the session identifier to a fixed value
  • 10. Modified SAML Assertion • Attacker changes a SAML assertion passed to a SP • Normally, SP can detect this by verifying the XML signature • SP may have implementation bugs that weaken signature validation and processing • Such as XML Signature Wrapping (XSW) vulnerabilities
  • 11. XML Signature Wrapping (XSW) Attacks • Attacker modifies SAML assertion, such as – Modifying Subject portion to be an administrator • In 2012, most popular SAML frameworks had this vulnerability (11 out of 14)
  • 12. Structure of a Normal SAML Response
  • 13. XML Signature Processing • Signature validation module – Is the assertion properly signed? – Test requires the IdP's public key • Business logic processing module – Extracts the assertion – Provides the app with identification information contained within the signed assertion
  • 14. Signature Exclusion Attack • Remove signature element • Easiest attack • Apache Axis 2 and OpenAthens were vulnerable – Missing signature was interpreted as a valid signature
  • 15. Adding Assertions • Attacker adds more assertions – They are not signed at all • Vulnerable frameworks will report them as signed because the original assertion's signature was valid • Vulnerable systems – Higgins – Apache Axis2 – IBM XS 40 Security Gateway
  • 16.
  • 17. Safest Systems • In the 2012 study, only two systems were not vulnerable – Microsoft's Windows Identity Foundation – SimpleSAMLphp • SimpleSAMLphp – Extracts each assertion into a separate DOM tree – Verifies signature for every assertion
  • 18. XML Signature Wrapping Countermeasures • Use the latest version of your framework • These vulnerabilities were patched
  • 19. Mobile Web Browser and WebView Security
  • 20. Cross-Platform Development Frameworks • Each device has its own mobile web browser – Android and iOS both use the WebView component • Organizations often wish to support many platforms – iOS, Android, Blackberry, Windows Mobile • Developers seek cross-platform development frameworks, such as HTML 5 and JavaScript bridges (see Ch. 8)
  • 21. URI Schemes • Web pages use http: or https: • Other schemes are provided by the OS, such as tel: – Launches a dialer for a telephone call – From within a web page in the mobile web browser – Both iOS and Android require a click from the user before actually making a call
  • 24. Exploiting Custom URI Schemes • iOS and Android allow apps to define custom URI schemes – Can be triggered within mobile browser – Or within another app, such as an email client – As an IPC (Inter-Process Communication) mechanism • Over 600 custom URI schemes are known
  • 25. Exploiting Custom URI Schemes • Malicious JavaScript or HTML code can invoke native mobile functionality – Exploits trust between the browser and the target mobile app • Similar to Cross-Site Request Forgery (CSRF) – Exploits trust between browser and the target site
  • 26. Exploiting Custom URI Schemes • Attacker may send an email or SMS – Containing a malicious URL • May use this functionality when crafting an XSS exploit
  • 27. Abusing Custom URI Schemes via Skype • In 2010, Skype supported a custom URI scheme skype: • But failed to prompt user before dialing a phone number, so this web page placed a call immediately <html><body> <iframe src="skype:15555555555?call"> </iframe></body></html>
  • 28. Abusing USSD (Unstructured Supplementary Service Data) Codes • USSD codes are used to communicate with manufacturers and Mobile Network Operators (MNOs) • T-Mobile uses these USSD codes: – #686# returns your phone number – #225# returns your account balance – #793# resets your voicemail password to the last four digits of your phone number
  • 29. Testing for USSD Vulnerability • Type this into your mobile browser tel:*%2309%23 – %23 is URL-encoding for # • See if it dials without user interaction • It will display your IMEI #
  • 30. Exploits Abusing USSD Codes • Factory reset on some Samsung devices <html><body> <iframe src="tel:*2767*3855%23"> </iframe> </body></html>
  • 31. Custom URI Schemes in Android • Intents are the primary IPC (Inter-Process Communication) method • Apps can declare custom URI schemes in the AndroidManifest.xml file • The new activity is available to other apps on the system, not just the browser – Unless android:exported is set to false • New activity could send an SMS, for example
  • 32. Defines a someapp: Scheme <activity android:name=".MainActivity" android:label="@string/title_activity_main"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category andriod:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category andriod:name="android.intent.category.DEFAULT" /> <category andriod:name="android.intent.category.BROWSABLE" /> <data andriod:scheme="someapp" /> </intent-filter> </activity>
  • 33. Malicious Webpage to Send an SMS <html><body> <iframe src="someapp://junk/junk? mdn=5555555555&msg=Hello%20World!" width="1" height="1"> </iframe> </body></html>
  • 34. Android Custom URI Scheme Countermeasures • Similar to preventing intent-based attacks • Restrict access to the component via the android:exported attribute in the AndroidManifest.xml file • Perform input validation on all data received from intents • Use signature-level permissions if you need to allow an IPC mechanism between two trusted apps
  • 35. Custom URI Schemes on iOS • Custom URI schemes are the primary means of IPC on iOS • To see custom URI schemes, look at Info.plist CFBundleURLTypes = ( { CFBundleURLSchemes = ( someapp ); } );
  • 36. Effects of the Custom Scheme • If an app defines a handleOpenURL method that creates a new file • Attacker can trick a user into visiting a hostile Web page and create a new file <html><body> <iframe src="someapp://junk/junk?path=/tmp/ lulz&contents=pwned" width="1" height="1"> </iframe> </body></html>
  • 37. iOS Custom URI Scheme Countermeasures • Input validation on the provided URL • Move away from deprecated handleOpenURL method – Use openURL method instead, which has two additional arguments that could be validated – sourceApplication (bundle identifier of the requesting app) – annotation (a propertylist object defined by the requesting app_
  • 39. WebView • Both Android and iOS apps often use WebView • To display mobile web content within an app • This code displays Google on Android WebView webView = new WebView(R.id.webView1); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("http://www.google.com");
  • 40. JavaScript Bridges • Both iOS and Android allow developers • To adjust WebView's settings and expose native mobile functionality to JavaScript executing within WebView • These bridges can be exploited with – XSS, URL redirection, MiTM, or IPC
  • 41. Android addJavaScriptInterface WebView Injection • The addJavaScriptInterface function – Injects Java objects into WebView – Allows JavaScript to call the public methods of the injected Java object • Could allow JavaScript to invoke native phone functionality – Sending SMS messages – Accessing account information – Etc.
  • 42. Same Origin Policy • Browsers restrict content by the domain name – A yahoo.com cookie can't be read by microsoft.com • JavaScript can be used to subvert the same origin policy
  • 43. FileUtils Object • If an app injects a FileUtils object into JavaScript • That allows JavaScript to write to the file system • 30% of Android apps use addJavaScriptInterface – Android documentation warns against using this feature
  • 44. Severity of the Risk • Prior to Android 4.2, no addJavaScriptInterface is safe • Attacker can write an arbitrary ARM executable to the target app's data directory and execute it – A "reflection" attack • Could root the device • Therefore, could break out of sandbox and do anything
  • 45. Reflection • A form of self-modifying code • A class or object can examine itself • And alter itself at runtime • Powerful but dangerous – Link Ch 6j
  • 46. Android WebView Injection Countermeasures • Android 4.2 and later require programmers to annotate exposed functions, lowering this risk – This was about half of Android devices in 2014 • Only use addJavaScriptInterface to load trusted content, not anything acquired over the network or via an IPC mechanism
  • 47. Android WebView Injection Countermeasures • Use the shouldOverrideUrlLoading function to limit bridging • Avoid bridging JavaScript and Java altogether
  • 48. Android WebView JavaScript Bridge Exploitation via shouldInterceptRequest • An app can override the WebViewClient's shouldInterceptRequest function • If the URI scheme matches the target, • App can use reflection to acquire an instance of an object • Invoke a function using parameters from the query string
  • 49. Exploit Code • Writes to the SD card <html><body><iframe src="someapp://junk/ junk? c=java.lang.Runtime&m1=getRuntime&m2=exec& a=touch%20%2fmnt%2fsdcard%2fhello" width="1" height="1"> </iframe></body></html>
  • 50. Android WebView JavaScript Bridge Exploitation Countermeasures • An app that uses a custom URI scheme should be careful about what functionality is exposed • Use input validation and output encoding to prevent injection attacks • Exposing the ability to use reflection to untrusted content is very dangerous
  • 51. iOS UIWebView JavaScript Bridge Exploitation • iOS doesn't support explicit JavaScript bridges like Android • But an iOS app can intercept URL requests by defining a shouldStartLoadWithRequest method • Can use reflection to acquire an instance of a class
  • 52. Reflection Attack • An app can use data from the URL, such as JSON payload, in the reflection • Allows the attacker to execute commands injected into the JSON payload
  • 53. Exploit Code • Adds records into a SQLite database <html><body><iframe src="someapp://junk/ junk?("cn":"cigObAccess", "mn":"executeQuery:", "args":["INSERT INTO someTable(col1,col2) VALUES("Wee an insert",667);"]}' /> </iframe></body></html>
  • 54. iOS UIWebView JavaScript Bridge Countermeasures • Input validation and output encoding of user input • Be wary of code that performs reflection using tainted input
  • 55. Mozilla Rhino JavaScript Bridges • Developers want to use the same codebase for iOS, Android, and BlackBerry • One way to do that is to use JavaScript • One way to use JavaScript is with the Mozilla Rhino JavaScript engine – Licensed to Sun – Has LiveConnect which allows JavaScript to interact with Java objects directly – Convenient but insecure; can run code based on user inputs
  • 56. Mozilla Rhino JavaScript Bridges Countermeasures • Developers who use Rhino must sandbox their code • It's possible to whitelist based on full class names, and to limit accessible fields • But developers have to include custom code to do it