Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Day 1: Introduction to Android Security
- introduction to the Android system
- Android security model: application isolation, permission system
- Android from a developer's perspective: Java, Kotlin, manifest, resources, IPC components, web API
- applications from the inside: dex and apk file formats
- Android and Linux: from a developer’s and a security researcher’s perspective
- inside Android security: DAC, SELinux, partition mounting, dm-verity
- rooting
- basic tools: Android Studio, ADB, logcat
- Android application security in theory: CVSS, MASVS, MSTG
Day 2: Reverse Engineering of Android Applications, Static Analysis, and IPC Security
- what is reverse engineering (reversing)
- reverse engineering using apktool: decoding resources, deassembling code
- Dalvik virtual machine, dex bytecode, and Smali language
- decompiling code to Java: Bytecode Viewer
- working with decompiled code in Android Studio
- analyzing the manifest for IPC
- automated static analysis using MobSF
- dynamic analysis of IPC attack surface using Drozer
- vulnerabilities in IPC
- preparing proof of concept: am, Drozer, Java/Kotlin
Day 3: Dynamic Analysis, Repacking, and Instrumentation
- analyzing application logs
- analyzing file system content
- debuggable and backupable applications
- working with a debugger
- network traffic analysis: tcpdump, Burp Proxy
- trusted certificates and certificate pinning
- repacking: modifying application code or manifest, ziapligner, jarsigner
- instrumentation: Frida and Objection
Day 4: WebView, Cross-Platform Applications, Native Libraries
- WebView: HTML and JavaScript in Android applications
- interactions between WebView and Java: filesystem access and JavascriptInterface
- vulnerabilities in WebView: gaining access through escapes, XSS, or debuggable WebView
- vulnerabilities in WebView: escalation through JavascriptInterface
- cross-platform applications: theory
- reverse engineering C# (Xamarin) applications using dotPeek and ILSpy
- reverse engineering JavaScript (React Native) applications using react-native-decompiler
- other cross-platform frameworks: Flutter (Dart), Ionic/Angular (JavaScript), and others
- native libraries: C, C++, and machine code in Android applications
- JNI: System.loadLibrary() and methods with the native keyword
- reverse engineering native libraries using Ghidra
Day 5: Web API Security
- web APIs in Android applications
- API protocols: SOAP, REST, JSON-RPC, GraphQL, and others
- OWASP API Top 10
- intercepting communication with APIs using Burp Proxy
- Burp Repeater: modifying API requests
- vulnerabilities related to authentication: credential stuffing, login SQL injection, vulnerabilities in JWT
- vulnerabilities related to access control: IDOR, mass assignment, access to administrative and debug functions
- other vulnerabilities: SSRF, injection, excessive data in error messages, server vulnerabilities
- discovering additional API features in definition files: WSDL, Swagger/OpenAPI, GraphQL SDL, etc.
- automatically generating API requests: SoapUI, Postman
Requirements
Basic knowledge of security.
Knowledge about the Android system.
35 Hours
Testimonials (3)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
the knowledge of the trainer was very high - he knew what he was talking about, and knew the answers to our questions
Adam - Fireup.PRO
Course - Advanced Java Security
The topic is current and I needed to be updated