Mobile Application Penetration Testing

 
 
Packt Publishing Limited
  • 1. Auflage
  • |
  • erschienen am 11. März 2016
  • |
  • 312 Seiten
 
E-Book | ePUB mit Adobe DRM | Systemvoraussetzungen
E-Book | PDF mit Adobe DRM | Systemvoraussetzungen
E-Book | ePUB mit Adobe DRM | Systemvoraussetzungen
978-1-78588-869-4 (ISBN)
 
Explore real-world threat scenarios, attacks on mobile applications, and ways to counter themAbout This BookGain insights into the current threat landscape of mobile applications in particularExplore the different options that are available on mobile platforms and prevent circumventions made by attackersThis is a step-by-step guide to setting up your own mobile penetration testing environmentWho This Book Is ForIf you are a mobile application evangelist, mobile application developer, information security practitioner, penetration tester on infrastructure web applications, an application security professional, or someone who wants to learn mobile application security as a career, then this book is for you. This book will provide you with all the skills you need to get started with Android and iOS pen-testing.What You Will LearnGain an in-depth understanding of Android and iOS architecture and the latest changesDiscover how to work with different tool suites to assess any applicationDevelop different strategies and techniques to connect to a mobile deviceCreate a foundation for mobile application security principlesGrasp techniques to attack different components of an Android device and the different functionalities of an iOS deviceGet to know secure development strategies for both iOS and Android applicationsGain an understanding of threat modeling mobile applicationsGet an in-depth understanding of both Android and iOS implementation vulnerabilities and how to provide counter-measures while developing a mobile appIn DetailMobile security has come a long way over the last few years. It has transitioned from "should it be done?" to "it must be done!"Alongside the growing number of devises and applications, there is also a growth in the volume of Personally identifiable information (PII), Financial Data, and much more. This data needs to be secured.This is why Pen-testing is so important to modern application developers. You need to know how to secure user data, and find vulnerabilities and loopholes in your application that might lead to security breaches.This book gives you the necessary skills to security test your mobile applications as a beginner, developer, or security practitioner. You'll start by discovering the internal components of an Android and an iOS application. Moving ahead, you'll understand the inter-process working of these applications. Then you'll set up a test environment for this application using various tools to identify the loopholes and vulnerabilities in the structure of the applications. Finally, after collecting all information about these security loop holes, we'll start securing our applications from these threats.Style and approachThis is an easy-to-follow guide full of hands-on examples of real-world attack simulations. Each topic is explained in context with respect to testing, and for the more inquisitive, there are more details on the concepts and techniques used for different platforms.
  • Englisch
  • Birmingham
  • |
  • Großbritannien
978-1-78588-869-4 (9781785888694)
1785888692 (1785888692)
weitere Ausgaben werden ermittelt
Vijay Kumar Velu is a passionate information security practitioner, speaker, and blogger, currently working as a cyber security technical manager at one of the Big4 consultancies based in India. He has more than 10 years of IT industry experience, is a licensed penetration tester, and has specialized in providing technical solutions to a variety of cyber problems, ranging from simple security configuration reviews to cyber threat intelligence. Vijay holds multiple security qualifications including Certified Ethical Hacker, EC-council Certified Security Analyst, and Computer Hacking Forensics Investigator. He loves hands-on technological challenges.
Vijay was invited to speak at the National Cyber Security Summit (NCSS), Indian Cyber Conference (InCyCon), Open Cloud Conference, and Ethical Hacking Conference held in India, and he has also delivered multiple guest lectures and training on the importance of information security at various business schools in India. He also recently reviewed Learning Android Forensics, Packt Publishing.
For the information security community, Vijay serves as the director of the Bangalore chapter of the Cloud Security Alliance (CSA) and chair member of the National Cyber Defence and Research Center (NCDRC).
  • Cover
  • Copyright
  • Credits
  • About the Author
  • About the Reviewers
  • www.PacktPub.com
  • Table of Contents
  • Preface
  • Chapter 1: The Mobile Application Security Landscape
  • The smartphone market share
  • The android operating system
  • The iPhone operating system (iOS)
  • Different types of mobile applications
  • Native apps
  • Mobile web apps
  • Hybrid apps
  • Public Android and iOS vulnerabilities
  • Android vulnerabilities
  • iOS vulnerabilities
  • The key challenges in mobile application security
  • The impact of mobile application security
  • The need for mobile application penetration testing
  • Current market reaction
  • The mobile application penetration testing methodology
  • Discovery
  • Analysis/assessment
  • Exploitation
  • Reporting
  • The OWASP mobile security project
  • OWASP mobile top 10 risks
  • Vulnerable applications to practice
  • Summary
  • Chapter 2: Snooping Around the Architecture
  • The importance of architecture
  • The Android architecture
  • The Linux kernel
  • Confusion between Linux and the Linux kernel
  • Android runtime
  • The java virtual machine
  • The Dalvik virtual machine
  • Zygote
  • Core Java libraries
  • ART
  • Native libraries
  • The application framework
  • The applications layer
  • Native Android or system apps
  • User-installed or custom apps
  • The Android software development kit
  • Android application packages (APK)
  • Android application components
  • Intent
  • Activity
  • Services
  • Broadcast receivers
  • Content providers
  • Android Debug Bridge
  • Application sandboxing
  • Application signing
  • Secure inter-process communication
  • The Binder process
  • The Android permission model
  • The Android application build process
  • Android rooting
  • iOS architecture
  • Cocoa Touch
  • Media
  • Core services
  • Core OS
  • iOS SDK and Xcode
  • iOS application programming languages
  • Objective-C
  • The Objective-C runtime
  • Swift
  • Understanding application states
  • Apple's iOS security model
  • Device-level security
  • System-level security
  • An introduction to the secure boot chain
  • System software authorization
  • Secure Enclave
  • Data-level security
  • Data-protection classes
  • Keychain data protection
  • Changes in iOS 8 and 9
  • Network-level security
  • Application-level security
  • Application code signing
  • The iOS app sandbox
  • iOS isolation
  • Process isolation
  • Filesystem isolation
  • ASLR
  • Stack protection (non-executable stack and heap)
  • Hardware-level security
  • iOS permissions
  • The iOS application structure
  • Jailbreaking
  • Why jailbreak a device?
  • Types of jailbreaks
  • Untethered jailbreaks
  • Tethered jailbreaks
  • Semi-tethered jailbreaks
  • Jailbreaking tools at a glance
  • The Mach-O binary file format
  • Inspecting a Mach-O binary
  • Property lists
  • Exploring the iOS filesystem
  • Summary
  • Chapter 3: Building a Test Environment
  • Mobile app penetration testing environment setup
  • Android Studio and SDK
  • The Android SDK
  • The Android Debug Bridge
  • Connecting to the device
  • Getting access to the device
  • Installing an application to the device
  • Extracting files from the device
  • Storing files to the device
  • Stopping the service
  • Viewing the log information
  • Sideloading apps
  • Monkeyrunner
  • Genymotion
  • Creating an Android virtual emulator
  • Installing an application to the Genymotion emulator
  • Installing the vulnerable app to Genymotion
  • Installing the Genymotion plugin to Android Studio
  • ARM apps and Play Store in Genymotion
  • Configuring the emulator for HTTP proxy
  • Setting up the proxy in Wi-Fi settings
  • Setting up the proxy on mobile carrier settings
  • Google Nexus 5 - configuring the physical device
  • The iOS SDK (Xcode)
  • Setting up iPhone/iPad with necessary tools
  • Cydia
  • BigBoss tools
  • Darwins CC tools
  • iPA Installer
  • Tcpdump
  • iOS SSL kill-switch
  • Cycript, Clutch, and class-dump
  • SSH clients - PuTTy and WinSCP
  • iFunbox at glance
  • Accessing SSH without Wi-Fi
  • Accessing SSH with Wi-Fi
  • Installing DVIA to the device
  • Configuring the HTTP proxy in Apple devices
  • Emulator, simulators, and real devices
  • Simulators
  • Emulators
  • Pros
  • Cons
  • Real devices
  • Pros
  • Cons
  • Summary
  • Chapter 4: Loading up - Mobile Pentesting Tools
  • Android security tools
  • APKAnalyser
  • The drozer tool
  • Installing drozer on Genymotion
  • APKTool
  • How to make apps debuggable?
  • The dex2jar API
  • JD-GUI
  • Androguard
  • Isn't Androguard only a malware analysis tool?
  • Androguard's androlyze shell environment
  • Automating the analysis of multiple files
  • Introducing Java Debugger
  • Debugging
  • Attaching
  • Installing Burp CA certificate to the device
  • The list of other tools
  • iOS security tools
  • oTool
  • SSL Kill Switch
  • The keychain dumper
  • LLDB
  • Clutch
  • Class-dump-z
  • Instrumenting with Cycript
  • Instrumentation using Frida
  • Hopper
  • Snoop-it
  • Installing Burp CA certificate to an iOS device
  • Summary
  • Chapter 5: Building Attack Paths - Threat Modeling an Application
  • Assets
  • Threats
  • Threat agents
  • Vulnerabilities
  • Risk
  • Approach to threat models
  • Threat modeling a mobile application
  • Mobile application architecture
  • Mobile applications and device data
  • Identifying threat agents
  • Modes of attacks
  • Security controls
  • How to create a threat model?
  • The attacker view
  • The device or system view
  • Discovering potential threats
  • Threat modeling methodologies
  • STRIDE
  • PASTA
  • Trike
  • Using STRIDE to classify threats
  • Spoofing
  • Tampering
  • Repudiation
  • Information disclosure
  • Denial of service (DoS)
  • Elevation of privilege
  • A typical mobile application threat model
  • Building attack plans and attack trees
  • Attack scenarios
  • A sample attack tree for a stolen or missing device
  • A list of free tools
  • A commercial tool
  • Threat model outcomes
  • Risk assessment models
  • Business risk
  • Technical risk
  • Summary
  • Chapter 6: Full Steam Ahead - Attacking Android Applications
  • Setting up the target app
  • Backend server setup
  • Analyzing the app using drozer
  • Android components
  • Attacking activities
  • Attacking services
  • Attacking broadcast receivers
  • Attacking content providers
  • Attacking WebViews
  • SQL injection
  • Man-in-the-Middle (MitM) attacks
  • SSL pinning
  • Hardcoded credentials
  • Encryption and decryption on the client side
  • Runtime manipulation using JDWP
  • Storage/archive analysis
  • Log analysis
  • Assessing implementation vulnerabilities
  • Binary patching
  • Summary
  • Chapter 7: Full Steam Ahead - Attacking iOS Applications
  • Setting up the target
  • Storage/archive analysis
  • Plist files
  • Client-side data stores
  • The keychain data
  • HTTP response caching
  • Reverse engineering
  • Extracting the class information
  • Strings
  • Memory management
  • Stack smashing protection
  • Static code analysis
  • OpenURL schemes
  • App patching using Hopper
  • Hardcoded username and password
  • Runtime manipulation using Cycript
  • The Bypass login method
  • Sensitive information in the memory
  • Dumpdecrypted
  • Client-side injections
  • SQL injection
  • UIWebView injections
  • Man-in-the-Middle attacks
  • Beating the SSL cert pinning
  • Implementation vulnerabilities
  • Pasteboard information leakage
  • Keyboard logs
  • App state preservation
  • Building a remote tracer using LLDB
  • Snoop-IT for assessment
  • Summary
  • Chapter 8: Securing Your Android and iOS Applications
  • Secure by design
  • Security mind map for developers (iOS and Android)
  • Device level
  • Platform (OS) level
  • Screenshots/snapshots
  • System caching and logs
  • Cut, copy, and paste
  • iOS cookie and keychains
  • Application level
  • App storage protection
  • Binary protection
  • Network level
  • Certificate pinning
  • Cipher suites
  • CFNetwork usage
  • Secure caching
  • Server level
  • Authentication
  • Authorization
  • Input/output validations
  • Injection flaws
  • Session management
  • Information leakage
  • OWASP mobile app security checklist
  • Mobile app developers checklist
  • Secure coding best practices
  • Android
  • iOS
  • Vendor-neutral advice
  • Developer cheat sheet
  • Developer policies
  • Post-production protection
  • Keeping up to date
  • Summary
  • Index

Dateiformat: EPUB
Kopierschutz: Adobe-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Dateiformat: PDF
Kopierschutz: Adobe-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

40,53 €
inkl. 19% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe DRM
siehe Systemvoraussetzungen
PDF mit Adobe DRM
siehe Systemvoraussetzungen
Hinweis: Die Auswahl des von Ihnen gewünschten Dateiformats und des Kopierschutzes erfolgt erst im System des E-Book Anbieters
E-Book bestellen

Unsere Web-Seiten verwenden Cookies. Mit der Nutzung dieser Web-Seiten erklären Sie sich damit einverstanden. Mehr Informationen finden Sie in unserem Datenschutzhinweis. Ok