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.
Testimonials (5)
Multiple examples for each module and great knowledge of the trainer.
Sebastian - BRD
Course - Secure Developer Java (Inc OWASP)
Module3 Applications Attacks and Exploits, XSS, SQL injection Module4 Servers Attacks and Exploits, DOS, BOF
Tshifhiwa - Vodacom
Course - How to Write Secure Code
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.
Jack Allan - RSM UK Management Ltd.
Course - Secure Developer .NET (Inc OWASP)
Scope of knowledge covered. Not everything was explained in depth, but that is probably a matter of time. The training lasts 3 days. During these 3 days, various topics were covered, which can be explored further after the training. The training was definitely beneficial. A lot of knowledge and topics were presented in an engaging way.
Pawel Sitarz - Icotera sp. z o.o.
Course - C/C++ Secure Coding
Machine Translated
Nothing it was perfect.