SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Security testing in mobile
applications
José Manuel Ortega Candel
About me
 Centers Technician at Everis
 Computer engineer by Alicante University
 Frontend and backend developer in Java/J2EE
 Speaker site with some presentations in
mobile and security
https://speakerdeck.com/jmortega
Index
Security Testing for Mobile Apps
Risk Management & Security Threads
Vulnerabilities & Mobile Security Risks
Testing Components Security & Tools
Security Test Plan & Best Practices
Security Testing for Mobile Apps
Security Testing for Mobile Apps
White Box Testing
Static Analysis Code
Black Box Testing
Dinamyc Analysis at
Runtime
Static Application Security Testing
Source code Review Reverse engineering
Lint for Android
Studio
Sonar Plugins for
mobile
http://www.sonarqube.org
Static Application Security Testing
Static Application Security Testing
https://github.com/SonarCommunity/sonar-android
Static Application Security Testing
http://sourceforge.net/projects/agnitiotool
You can decompile APKs and
search calls dangerous functions.
Reverse engineering on Android
APK Tool /Dex2jar/Java Decompiler
Static analysis on iOS
Xcode Development environment
Apple Developer Tools
‘otool’ command provided by XCode can be used to
get information from iOS application binaries and can
be used to support security analysis.
Static analysis on iOS
Detect memory leaks with XCode
Clang Static Analyzer
http://clang-analyzer.llvm.org
Flawfinder(Security weakness in C/C++)
http://www.dwheeler.com/flawfinder
Dynamic Application Security Testing
Analyze Network
Traffic at runtime
Analyze Remote
Services
DroidBox for Android
Instruments for iOS
Discovering logical
vulnerabilities
Dynamic Application Security Testing
 https://code.google.com/p/droidbox
Monitoring Actions
 Information leaks Network IO and File IO
 Cryptography operations SMS and Phone calls
Dynamic Application Security Testing
Instruments for iOS applications
File Activity Monitoring
Memory Monitoring Process Monitoring
Network Monitoring
Application Security Analyser
python androwarn.py -i my_apk.apk -r html -v 3
Telephony identifiers exfiltration: IMEI, IMSI, MCC, MNC, LAC, CID, operator's
name...
Device settings exfiltration: software version, usage statistics, system settings, logs...
Geolocation information leakage: GPS/WiFi geolocation... Connection interfaces
information exfiltration: WiFi credentials, Bluetooth MAC adress...
Telephony services abuse: premium SMS sending, phone call composition...
Audio/video flow interception: call recording, video capture... Remote connection
establishment: socket open call, Bluetooth pairing, APN settings edit...
PIM data leakage: contacts, calendar, SMS, mails...
External memory operations: file access on SD card...
PIM data modification: add/delete contacts, calendar events... Arbitrary code
execution: native code using JNI, UNIX command, privilege escalation...
Denial of Service: event notification deactivation, file deletion, process killing, virtual
keyboard disable, terminal shutdown/reboot...
Risk Management
Intelligence
Gathering
Threat model
Vulnerabilities
OWASP
Security risks
Security
threads
Intelligence Gathering
Environmental
Analysis
Architectural
Analysis
Analyze internal
processes and structures
App [network interfaces, used
data, communication with other
resources, session management]
Runtime environment [MDM,
jailbreak/rooting, OS version]
Backend services [application
server, databases]
Intelligence Gathering
What type of device is it?
Determine Operating System version
Is the device already rooted?
Is the device passcode enabled?
What key applications are installed?
Is the device connected to network?
Thread model in Mobile applications
Functional Security threads
Authentication
Session
Management
Access Control
Input Validation
Cryptography
Error Handling and
Logging
Data Protection
Communication
Security
Security issues
Malicious Applications
– Rooting Exploits
– SMS Fraud
– Rapid Malware Production
Dynamic Analysis
– Sandbox
– Real-time Monitoring
– Mobile Specific Features
Static Analysis
– Permissions
– Data Flow
– Control Flow
Browser Attacks
– Phishing
– Click Through
Mobile Botnets
– Epidemic Spread
– Attacking Network Services
– Tracking Uninfected Devices
User Education
– Ignoring Permissions
– Phishing
– Improperly Rooting Devices
– Alternative Markets
Vulnerabilities
Third party
libraries
Components
WebView
[JavaScript+Cache]
SQLite DataBase
Multiplaftorm
libraries for hybrid apps
Shared Preferences
Vulnerabilities
1. Activity monitoring and
data retrieval
2. Unauthorized dialing,
SMS, and payments
3. Unauthorized network
connectivity (exfiltration or
command & control)
4. UI Impersonation
5. System modification
(rootkit, APN proxy config)
6. Logic or Time bomb
7. Sensitive data leakage
(inadvertent or side
channel)
8. Unsafe sensitive data
storage
9. Unsafe sensitive data
transmission
10. Hardcoded
password/keys
Vulnerabilities Analysis
Static methods
Dynamic
methods
Automatic and manual
source code analysis
Reverse Engineering
Forensic
methods
Network monitoring and
trafic analyzing
Runtime analysis
Log analysis
File permission analysis
File content analysis
Dynamic methods tools
Network monitoring and
traffic analyzing
Runtime analysis
Wireshark, BurpSuite
GNU debugger,
Snoop-it, Cycript
Mercury, Intent Sniffer,
Intent Fuzzer
File analysis androidAuditTools
Testing vulnerabilities
Data flow
Data Storage
Data leakage
Authentication
Authorization
Server-side
OWASP Mobile Security Risks
Insecure Data
Storage
Transport Layer
Protection,
HTTP/SSL
Authorization and
Authentication
Cryptography /
Encrypting data
Session handling
Weak Server Side
Controls in backend
services
Sensitive information
[passwords,API
keys,code ofuscation]
Data Leakage [cache,
logging, temp
directories]
Testing components security
Content Providers Data Storage
WebViewServices
NetWork Connections
[HTTP / SSL]
Certificates
Data Encryption
SQLite
Shared Preferences
File storage
HTTPS and SSL can protect against Man in the Middle
attacks and prevent casual snooping
Data Storage
Encrypt data
Never store user credentials
Tools like SQLCipher for storing
database in applications
No global permissions granted to
applications, using the principle of
"least privilege".
Secure Storage on Android
The access permission of the created file was set to
WORLD_READABLE / WORLD_WRITABLE
Other app could read /write the file if the file path is known.
Application data (private files) should be created
with the access permission MODE_PRIVATE
FileOutputStream fos = openFileOutput(“MyFile",
Context.MODE_PRIVATE);
fos.write(“contenido”.getBytes());
fos.close();
Insecure Data on Android
Look for file open operations using
Context.MODE_WORLD_READABLE
(translates to “1”)
Secure Storage on iOS
NSFileManager class
NSFileProtectionKey attribute
 NSFileProtectionNone – Always accessible
 NSFileProtectionComplete – Encrypted on disk
when device is locked or booting
[[NSFileManager defaultManager] createFileAtPath:[self
filePath]
contents:[@"super secret file contents“
dataUsingEncoding:NSUTF8StringEncoding]
attributes:[NSDictionary
dictionaryWithObject:NSFileProtectionComplete
forKey:NSFileProtectionKey]];
DataBase Storage
Support iOS / Android
https://www.zetetic.net/sqlcipher/open-source
256-bit AES Encrypt SQLite database
Secure Preferences on Android
https://github.com/scottyab/secure-preferences
3rd-party extensions
Secure Shared Preferences
Cryptography
Android and iOS implement standard crypto libraries such as AES
algorithm
try{
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray(), salt,
PBE_ITERATION_COUNT, 256);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(PBE_ALGORITHM);
SecretKey tmp = keyFactory.generateSecret(keySpec);
// Encrypt
SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES");
Cipher encryptionCipher = Cipher.getInstance(CIPHER_ALGORITHM);
IvParameterSpec ivspec = new IvParameterSpec(initVector);
encryptionCipher.init(Cipher.ENCRYPT_MODE, secret, ivspec);
encryptedText = encryptionCipher.doFinal(cleartext.getBytes());
// Encode encrypted bytes to Base64 text to save in text file
result = Base64.encodeToString(encryptedText, Base64.DEFAULT);
} catch (Exception e) {
e.printStackTrace()
}
Android provides the javax.crypto.spec.PBEKeySpec
and javax.crypto.SecretKeyFactory classes to facilitate
the generation of the password-based encryption key.
Avoid Data Leackage on Android
public static final boolean SHOW_LOG =
BuildConfig.DEBUG;
public static void d(final String tag, final String msg) {
if (SHOW_LOG)
Log.d(tag, msg);
}
Don't expose data through logcat on production
-assumenosideeffects class android.util.Log
{
public static *** d(...);
public static *** v(...);
public static *** i(...);
public static *** e(...);
}
Proguard configuration
Permissions in mobile apps
AndroidManifest.xml on Android
 Try to minimize permissions
<manifest package="com.example.android" …>
<uses-permission android:name=“android.permission.
ACCESS_FINE_LOCATION"/>
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.READ_CONTACTS" />
…
</manifest>
Permissions in mobile apps
info.plist on iOS
Vulnerability scanner on Android
Vulnerability scanner on Android
Vulnerability scanner on Android
Tools / Santoku Linux
Security test plan
Test cases Example
Test Title /level Encryption /critical
Test
Description
When connections are used encryption
is used for sending / receiving sensitive
data.
Details and
tools
All sensitive information (personal data,
credit card & banking information etc.)
must be encrypted during transmission
over any network or communication
link.
Expected
result
It has been declared that the
Application uses encryption when
communicating sensitive data.
Security test plan
Test cases Example
Test Title /level Passwords /critical
Test
Description
Passwords and sensitive data are not
stored in the device and not echoed
when entered into the App, sensitive
data is always protected by password.
Details and
tools
The objective of the test is to minimize
the risk of access to sensitive
information should the device be lost,
by ensuring that no authentication data
can be re-used by simply re-opening
the application
Security test plan
Test cases Example
Test Title /level Passwords /critical
Expected
result
1. Entering a password or other
sensitive data will not leave it in
clear text if completion of the fields
is interrupted but not exited.
2. Passwords, credit card details, or
other sensitive data do not remain
in clear text in the fields where they
were previously entered, when the
application is reentered.
3. Sensitive personal data should
always need entry of a password
before it can be accessed.
Best Practices
Integrate security in Continuous
Integration (CI) process
Apply encryption /decryption techniques
used for sensitive data communication
Detect areas in tested application that have
more risks to detect vulnerabilities
Install an automated security vulnerability
scanner, integrated with your continuous
integration tool
Attacker vs Defenders
Defenders Attackers
Often have limited time to
put defences in place
Can take time to plan their
attack
Have limited opportunities
to improve their defences
Can invent new ways to
attack
Need to defend against a
range of possible attacks
Need only pick the most
effective one
Need to defend all entry
points
Can choose where to
attack
Has limited resources to
defend
Can be multiple attackers
References
https://www.owasp.org/index.php/OWASP_Mobile_Security_
Project
http://developer.android.com/training/articles/security-
tips.html
OWASP Mobile Security Project
Android Security Best Practices
References
https://github.com/secmobi/wiki.secmobi.com
Tools
IOS Application Security Testing
https://www.owasp.org/index.php/IOS_Application_Security_
Testing_Cheat_Sheet
Books
Thank You,
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Getting started with Android pentesting
Getting started with Android pentestingGetting started with Android pentesting
Getting started with Android pentestingMinali Arora
 
APIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
APIsecure 2023 - Android Applications and API Hacking, Gabrielle BotbolAPIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
APIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbolapidays
 
API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and GuidelinesWSO2
 
Owasp mobile top 10
Owasp mobile top 10Owasp mobile top 10
Owasp mobile top 10Pawel Rzepa
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Ajin Abraham
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityMohammed Fazuluddin
 
IBM AppScan - the total software security solution
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solutionhearme limited company
 
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadavMobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadavRomansh Yadav
 
Android Device Hardening
Android Device HardeningAndroid Device Hardening
Android Device Hardeninganupriti
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & GuidelinesPrabath Siriwardena
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarOWASP Delhi
 
Rest API Security
Rest API SecurityRest API Security
Rest API SecurityStormpath
 
Hacking and securing ios applications
Hacking and securing ios applicationsHacking and securing ios applications
Hacking and securing ios applicationsSatish b
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewMichael Furman
 

Was ist angesagt? (20)

Api security-testing
Api security-testingApi security-testing
Api security-testing
 
Getting started with Android pentesting
Getting started with Android pentestingGetting started with Android pentesting
Getting started with Android pentesting
 
APIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
APIsecure 2023 - Android Applications and API Hacking, Gabrielle BotbolAPIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
APIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
 
API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
 
Owasp mobile top 10
Owasp mobile top 10Owasp mobile top 10
Owasp mobile top 10
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
 
Mobile security
Mobile securityMobile security
Mobile security
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API Security
 
API Security Fundamentals
API Security FundamentalsAPI Security Fundamentals
API Security Fundamentals
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
 
IBM AppScan - the total software security solution
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solution
 
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadavMobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
 
Android Device Hardening
Android Device HardeningAndroid Device Hardening
Android Device Hardening
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang Bhatnagar
 
Burp suite
Burp suiteBurp suite
Burp suite
 
Rest API Security
Rest API SecurityRest API Security
Rest API Security
 
Hacking and securing ios applications
Hacking and securing ios applicationsHacking and securing ios applications
Hacking and securing ios applications
 
Mobile Apps Security Testing -1
Mobile Apps Security Testing -1Mobile Apps Security Testing -1
Mobile Apps Security Testing -1
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 

Andere mochten auch

Bridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingBridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingRoberto Suggi Liverani
 
Rajasekar R_resume_Mobile Testing
Rajasekar R_resume_Mobile TestingRajasekar R_resume_Mobile Testing
Rajasekar R_resume_Mobile TestingRajasekar Dpi
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration TestingSubho Halder
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingSoftheme
 
Manoj resume
Manoj resumeManoj resume
Manoj resumetekwissen
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati Madad
 
How to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineHow to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineChun-Yu Wang
 

Andere mochten auch (9)

Bridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingBridging the gap - Security and Software Testing
Bridging the gap - Security and Software Testing
 
Rajasekar R_resume_Mobile Testing
Rajasekar R_resume_Mobile TestingRajasekar R_resume_Mobile Testing
Rajasekar R_resume_Mobile Testing
 
Mobile Security
Mobile SecurityMobile Security
Mobile Security
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
 
Hijack rat android malware
Hijack rat android malwareHijack rat android malware
Hijack rat android malware
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Manoj resume
Manoj resumeManoj resume
Manoj resume
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_Resume
 
How to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineHow to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machine
 

Ähnlich wie Security testing in mobile applications

6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jail6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jaildefconmoscow
 
Mobile Application Pentest [Fast-Track]
Mobile Application Pentest [Fast-Track]Mobile Application Pentest [Fast-Track]
Mobile Application Pentest [Fast-Track]Prathan Phongthiproek
 
[CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst
[CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst [CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst
[CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst PROIDEA
 
Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018Henry Stamerjohann
 
Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?
Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?
Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?BeyondTrust
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...Fedir RYKHTIK
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxFernandoVizer
 
Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...
Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...
Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...MrityunjayaHikkalgut1
 
Stop pulling the plug
Stop pulling the plugStop pulling the plug
Stop pulling the plugKamal Rathaur
 
Android App Hacking - Erez Metula, AppSec
Android App Hacking - Erez Metula, AppSecAndroid App Hacking - Erez Metula, AppSec
Android App Hacking - Erez Metula, AppSecDroidConTLV
 
Tips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management ProgramTips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management ProgramBeyondTrust
 
Integrate Security into DevOps - SecDevOps
Integrate Security into DevOps - SecDevOpsIntegrate Security into DevOps - SecDevOps
Integrate Security into DevOps - SecDevOpsUlf Mattsson
 
Sumo Logic Cert Jam - Security Analytics
Sumo Logic Cert Jam - Security AnalyticsSumo Logic Cert Jam - Security Analytics
Sumo Logic Cert Jam - Security AnalyticsSumo Logic
 
Application and Website Security -- Fundamental Edition
Application and Website Security -- Fundamental EditionApplication and Website Security -- Fundamental Edition
Application and Website Security -- Fundamental EditionDaniel Owens
 
Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Toni de la Fuente
 
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...RootedCON
 

Ähnlich wie Security testing in mobile applications (20)

6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jail6.3. How to get out of an inprivacy jail
6.3. How to get out of an inprivacy jail
 
Mobile Application Pentest [Fast-Track]
Mobile Application Pentest [Fast-Track]Mobile Application Pentest [Fast-Track]
Mobile Application Pentest [Fast-Track]
 
[CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst
[CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst [CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst
[CONFidence 2016] Jacek Grymuza - From a life of SOC Analyst
 
Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018
 
Cyber tooth briefing
Cyber tooth briefingCyber tooth briefing
Cyber tooth briefing
 
Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?
Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?
Eyes Wide Shut: What Do Your Passwords Do When No One is Watching?
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...
Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...
Cyber Crime / Cyber Secuity Testing Architecture by MRITYUNJAYA HIKKALGUTTI (...
 
Websecurity
Websecurity Websecurity
Websecurity
 
Stop pulling the plug
Stop pulling the plugStop pulling the plug
Stop pulling the plug
 
Android App Hacking - Erez Metula, AppSec
Android App Hacking - Erez Metula, AppSecAndroid App Hacking - Erez Metula, AppSec
Android App Hacking - Erez Metula, AppSec
 
Overview of Information Security & Privacy
Overview of Information Security & PrivacyOverview of Information Security & Privacy
Overview of Information Security & Privacy
 
Super1
Super1Super1
Super1
 
Tips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management ProgramTips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management Program
 
Integrate Security into DevOps - SecDevOps
Integrate Security into DevOps - SecDevOpsIntegrate Security into DevOps - SecDevOps
Integrate Security into DevOps - SecDevOps
 
Sumo Logic Cert Jam - Security Analytics
Sumo Logic Cert Jam - Security AnalyticsSumo Logic Cert Jam - Security Analytics
Sumo Logic Cert Jam - Security Analytics
 
Application and Website Security -- Fundamental Edition
Application and Website Security -- Fundamental EditionApplication and Website Security -- Fundamental Edition
Application and Website Security -- Fundamental Edition
 
Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017
 
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
 

Mehr von Jose Manuel Ortega Candel

Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfJose Manuel Ortega Candel
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfJose Manuel Ortega Candel
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfJose Manuel Ortega Candel
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfJose Manuel Ortega Candel
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudJose Manuel Ortega Candel
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Jose Manuel Ortega Candel
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Jose Manuel Ortega Candel
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sJose Manuel Ortega Candel
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Jose Manuel Ortega Candel
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanJose Manuel Ortega Candel
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamJose Manuel Ortega Candel
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsJose Manuel Ortega Candel
 
Python memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorPython memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorJose Manuel Ortega Candel
 

Mehr von Jose Manuel Ortega Candel (20)

Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdf
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8s
 
Implementing cert-manager in K8s
Implementing cert-manager in K8sImplementing cert-manager in K8s
Implementing cert-manager in K8s
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)
 
Python para equipos de ciberseguridad
Python para equipos de ciberseguridad Python para equipos de ciberseguridad
Python para equipos de ciberseguridad
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue Team
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source tools
 
Python Memory Management 101(Europython)
Python Memory Management 101(Europython)Python Memory Management 101(Europython)
Python Memory Management 101(Europython)
 
SecDevOps containers
SecDevOps containersSecDevOps containers
SecDevOps containers
 
Python memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorPython memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collector
 

Kürzlich hochgeladen

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Kürzlich hochgeladen (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

Security testing in mobile applications

  • 1. Security testing in mobile applications José Manuel Ortega Candel
  • 2. About me  Centers Technician at Everis  Computer engineer by Alicante University  Frontend and backend developer in Java/J2EE  Speaker site with some presentations in mobile and security https://speakerdeck.com/jmortega
  • 3. Index Security Testing for Mobile Apps Risk Management & Security Threads Vulnerabilities & Mobile Security Risks Testing Components Security & Tools Security Test Plan & Best Practices
  • 4. Security Testing for Mobile Apps
  • 5. Security Testing for Mobile Apps White Box Testing Static Analysis Code Black Box Testing Dinamyc Analysis at Runtime
  • 6. Static Application Security Testing Source code Review Reverse engineering Lint for Android Studio Sonar Plugins for mobile http://www.sonarqube.org
  • 8. Static Application Security Testing https://github.com/SonarCommunity/sonar-android
  • 9. Static Application Security Testing http://sourceforge.net/projects/agnitiotool You can decompile APKs and search calls dangerous functions.
  • 10. Reverse engineering on Android APK Tool /Dex2jar/Java Decompiler
  • 11. Static analysis on iOS Xcode Development environment Apple Developer Tools ‘otool’ command provided by XCode can be used to get information from iOS application binaries and can be used to support security analysis.
  • 12. Static analysis on iOS Detect memory leaks with XCode Clang Static Analyzer http://clang-analyzer.llvm.org Flawfinder(Security weakness in C/C++) http://www.dwheeler.com/flawfinder
  • 13. Dynamic Application Security Testing Analyze Network Traffic at runtime Analyze Remote Services DroidBox for Android Instruments for iOS Discovering logical vulnerabilities
  • 14. Dynamic Application Security Testing  https://code.google.com/p/droidbox Monitoring Actions  Information leaks Network IO and File IO  Cryptography operations SMS and Phone calls
  • 16. Instruments for iOS applications File Activity Monitoring Memory Monitoring Process Monitoring Network Monitoring
  • 17. Application Security Analyser python androwarn.py -i my_apk.apk -r html -v 3 Telephony identifiers exfiltration: IMEI, IMSI, MCC, MNC, LAC, CID, operator's name... Device settings exfiltration: software version, usage statistics, system settings, logs... Geolocation information leakage: GPS/WiFi geolocation... Connection interfaces information exfiltration: WiFi credentials, Bluetooth MAC adress... Telephony services abuse: premium SMS sending, phone call composition... Audio/video flow interception: call recording, video capture... Remote connection establishment: socket open call, Bluetooth pairing, APN settings edit... PIM data leakage: contacts, calendar, SMS, mails... External memory operations: file access on SD card... PIM data modification: add/delete contacts, calendar events... Arbitrary code execution: native code using JNI, UNIX command, privilege escalation... Denial of Service: event notification deactivation, file deletion, process killing, virtual keyboard disable, terminal shutdown/reboot...
  • 19. Intelligence Gathering Environmental Analysis Architectural Analysis Analyze internal processes and structures App [network interfaces, used data, communication with other resources, session management] Runtime environment [MDM, jailbreak/rooting, OS version] Backend services [application server, databases]
  • 20. Intelligence Gathering What type of device is it? Determine Operating System version Is the device already rooted? Is the device passcode enabled? What key applications are installed? Is the device connected to network?
  • 21. Thread model in Mobile applications
  • 22. Functional Security threads Authentication Session Management Access Control Input Validation Cryptography Error Handling and Logging Data Protection Communication Security
  • 23. Security issues Malicious Applications – Rooting Exploits – SMS Fraud – Rapid Malware Production Dynamic Analysis – Sandbox – Real-time Monitoring – Mobile Specific Features Static Analysis – Permissions – Data Flow – Control Flow Browser Attacks – Phishing – Click Through Mobile Botnets – Epidemic Spread – Attacking Network Services – Tracking Uninfected Devices User Education – Ignoring Permissions – Phishing – Improperly Rooting Devices – Alternative Markets
  • 25. Vulnerabilities 1. Activity monitoring and data retrieval 2. Unauthorized dialing, SMS, and payments 3. Unauthorized network connectivity (exfiltration or command & control) 4. UI Impersonation 5. System modification (rootkit, APN proxy config) 6. Logic or Time bomb 7. Sensitive data leakage (inadvertent or side channel) 8. Unsafe sensitive data storage 9. Unsafe sensitive data transmission 10. Hardcoded password/keys
  • 26. Vulnerabilities Analysis Static methods Dynamic methods Automatic and manual source code analysis Reverse Engineering Forensic methods Network monitoring and trafic analyzing Runtime analysis Log analysis File permission analysis File content analysis
  • 27. Dynamic methods tools Network monitoring and traffic analyzing Runtime analysis Wireshark, BurpSuite GNU debugger, Snoop-it, Cycript Mercury, Intent Sniffer, Intent Fuzzer File analysis androidAuditTools
  • 28. Testing vulnerabilities Data flow Data Storage Data leakage Authentication Authorization Server-side
  • 29. OWASP Mobile Security Risks Insecure Data Storage Transport Layer Protection, HTTP/SSL Authorization and Authentication Cryptography / Encrypting data Session handling Weak Server Side Controls in backend services Sensitive information [passwords,API keys,code ofuscation] Data Leakage [cache, logging, temp directories]
  • 30. Testing components security Content Providers Data Storage WebViewServices NetWork Connections [HTTP / SSL] Certificates Data Encryption SQLite Shared Preferences File storage
  • 31. HTTPS and SSL can protect against Man in the Middle attacks and prevent casual snooping
  • 32. Data Storage Encrypt data Never store user credentials Tools like SQLCipher for storing database in applications No global permissions granted to applications, using the principle of "least privilege".
  • 33. Secure Storage on Android The access permission of the created file was set to WORLD_READABLE / WORLD_WRITABLE Other app could read /write the file if the file path is known. Application data (private files) should be created with the access permission MODE_PRIVATE FileOutputStream fos = openFileOutput(“MyFile", Context.MODE_PRIVATE); fos.write(“contenido”.getBytes()); fos.close();
  • 34. Insecure Data on Android Look for file open operations using Context.MODE_WORLD_READABLE (translates to “1”)
  • 35. Secure Storage on iOS NSFileManager class NSFileProtectionKey attribute  NSFileProtectionNone – Always accessible  NSFileProtectionComplete – Encrypted on disk when device is locked or booting [[NSFileManager defaultManager] createFileAtPath:[self filePath] contents:[@"super secret file contents“ dataUsingEncoding:NSUTF8StringEncoding] attributes:[NSDictionary dictionaryWithObject:NSFileProtectionComplete forKey:NSFileProtectionKey]];
  • 36. DataBase Storage Support iOS / Android https://www.zetetic.net/sqlcipher/open-source 256-bit AES Encrypt SQLite database Secure Preferences on Android https://github.com/scottyab/secure-preferences 3rd-party extensions
  • 38. Cryptography Android and iOS implement standard crypto libraries such as AES algorithm try{ PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray(), salt, PBE_ITERATION_COUNT, 256); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(PBE_ALGORITHM); SecretKey tmp = keyFactory.generateSecret(keySpec); // Encrypt SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher encryptionCipher = Cipher.getInstance(CIPHER_ALGORITHM); IvParameterSpec ivspec = new IvParameterSpec(initVector); encryptionCipher.init(Cipher.ENCRYPT_MODE, secret, ivspec); encryptedText = encryptionCipher.doFinal(cleartext.getBytes()); // Encode encrypted bytes to Base64 text to save in text file result = Base64.encodeToString(encryptedText, Base64.DEFAULT); } catch (Exception e) { e.printStackTrace() } Android provides the javax.crypto.spec.PBEKeySpec and javax.crypto.SecretKeyFactory classes to facilitate the generation of the password-based encryption key.
  • 39. Avoid Data Leackage on Android public static final boolean SHOW_LOG = BuildConfig.DEBUG; public static void d(final String tag, final String msg) { if (SHOW_LOG) Log.d(tag, msg); } Don't expose data through logcat on production -assumenosideeffects class android.util.Log { public static *** d(...); public static *** v(...); public static *** i(...); public static *** e(...); } Proguard configuration
  • 40. Permissions in mobile apps AndroidManifest.xml on Android  Try to minimize permissions <manifest package="com.example.android" …> <uses-permission android:name=“android.permission. ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> … </manifest>
  • 41. Permissions in mobile apps info.plist on iOS
  • 46. Security test plan Test cases Example Test Title /level Encryption /critical Test Description When connections are used encryption is used for sending / receiving sensitive data. Details and tools All sensitive information (personal data, credit card & banking information etc.) must be encrypted during transmission over any network or communication link. Expected result It has been declared that the Application uses encryption when communicating sensitive data.
  • 47. Security test plan Test cases Example Test Title /level Passwords /critical Test Description Passwords and sensitive data are not stored in the device and not echoed when entered into the App, sensitive data is always protected by password. Details and tools The objective of the test is to minimize the risk of access to sensitive information should the device be lost, by ensuring that no authentication data can be re-used by simply re-opening the application
  • 48. Security test plan Test cases Example Test Title /level Passwords /critical Expected result 1. Entering a password or other sensitive data will not leave it in clear text if completion of the fields is interrupted but not exited. 2. Passwords, credit card details, or other sensitive data do not remain in clear text in the fields where they were previously entered, when the application is reentered. 3. Sensitive personal data should always need entry of a password before it can be accessed.
  • 49. Best Practices Integrate security in Continuous Integration (CI) process Apply encryption /decryption techniques used for sensitive data communication Detect areas in tested application that have more risks to detect vulnerabilities Install an automated security vulnerability scanner, integrated with your continuous integration tool
  • 50.
  • 51. Attacker vs Defenders Defenders Attackers Often have limited time to put defences in place Can take time to plan their attack Have limited opportunities to improve their defences Can invent new ways to attack Need to defend against a range of possible attacks Need only pick the most effective one Need to defend all entry points Can choose where to attack Has limited resources to defend Can be multiple attackers
  • 53. References https://github.com/secmobi/wiki.secmobi.com Tools IOS Application Security Testing https://www.owasp.org/index.php/IOS_Application_Security_ Testing_Cheat_Sheet
  • 54. Books