Plan Szkolenia
Dzień 1: Wprowadzenie do bezpieczeństwa systemu Android
- wprowadzenie do systemu Android
- model bezpieczeństwa Androida: izolacja aplikacji, system uprawnień
- Android z punktu widzenia programisty: Java, Kotlin, manifest, zasoby, komponenty IPC, web API
- aplikacje od środka: formaty plików dex i apk
- Android a Linux: z punktu widzenia programisty i z punktu widzenia badacza bezpieczeństwa
- bezpieczeństwo Androida od środka: DAC, SELinux, montowanie partycji, dm-verity
- rootowanie
- podstawowe narzędzia: Android Studio, ADB, logcat
- bezpieczeństwo aplikacji Androidowych w teorii: CVSS, MASVS, MSTG
Dzień 2: Inżynieria wsteczna aplikacji Androidowych, analiza statyczna i bezpieczeństwo IPC
- co to jest inżynieria wsteczna (rewersowanie)
- inżynieria wsteczna przy pomocy programu apktool: dekodowanie zasobów, deasemblacja kodu
- maszyna wirtualna Dalvik, bajtkod dex i język Smali
- dekompilacja kodu do języka Java: Bytecode Viewer
- praca ze zdekompilowanym kodem w Android Studio
- analiza manifestu pod kątem IPC
- automatyczna analiza statyczna przy pomocy MobSF
- dynamiczna analiza powierzchni ataku IPC przy pomocy Drozera
- podatności w IPC
- przygotowywanie proof of concept: am, Drozer, Java/Kotlin
Dzień 3: Analiza dynamiczna, repacking i instrumentacja
- analiza logów aplikacji
- analiza zawartości systemu plików
- debugowalne i backupowalne aplikacje
- praca z debuggerem
- analiza ruchu sieciowego: tcpdump, Burp Proxy
- zaufane certyfikaty i certificate pinning
- repacking: modyfikowanie kodu lub manifestu aplikacji, ziapligner, jarsigner
- instrumentacja: Frida i Objection
Dzień 4: WebView, aplikacje cross-platform, biblioteki natywne
- WebView: HTML i JavaScript w aplikacjach Androidowych
- interakcje między WebView a Javą: dostęp do filesystemu i JavascriptInterface
- podatności w WebView: uzyskanie dostępu przez ucieczkę, XSS lub debugowalne WebView
- podatności w WebView: eskalacja przez JavascriptInterface
- aplikacje cross-platform: teoria
- inżynieria wsteczna aplikacji C# (Xamarin) przy pomocy dotPeek i ILSpy
- inżynieria wsteczna aplikacji JavaScript (React Native) przy pomocy react-native-decompiler
- pozostałe frameworki cross-platform: Flutter (Dart), Ionic/Angular (JavaScript) i inne
- biblioteki natywne: C, C++ i kod maszynowy w aplikacjach Androidowych
- JNI: System.loadLibrary() i metody ze słowem kluczowym native
- inżynieria wsteczna bibliotek natywnych przy pomocy narzędzia Ghidra
Dzień 5: Bezpieczeństwo API webowego
- API webowe w aplikacjach Androidowych
- protokoły do API webowego: SOAP, REST, JSON-RPC, GraphQL i inne
- OWASP API Top 10
- przechwytywanie komunikacji z API przy użyciu Burp Proxy
- Burp Repeater: modyfikacja zapytań do API
- podatności związane z uwierzytelnianiem: credential stuffing, login SQL injection, podatności w JWT
- podatności związane z kontrolą dostępu: IDOR, mass assignment, dostęp do funkcji administracyjnych i debugowych
- inne podatności: SSRF, injection, nadmiarowe dane w wiadomościach o błędach, podatności serwera
- odkrywanie dodatkowych funkcji API w plikach definicji: WSDL, Swagger/OpenAPI, GraphQL SDL itp.
- automatyczne generowanie zapytań API: SoapUI, Postman
Wymagania
Podstawowa wiedza z zakresu bezpieczeństwa.
Wiedza na temat systemu Android.
Opinie uczestników (5)
Wiele przykładów dla każdego modułu i duża wiedza trenera.
Sebastian - BRD
Szkolenie - Secure Developer Java (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję
Moduł3 Ataki i exploity na aplikacje, XSS, SQL wstrzyknięcie Moduł4 Ataki i exploity na serwery, DOS, BOF
Tshifhiwa - Vodacom
Szkolenie - How to Write Secure Code
Przetłumaczone przez sztuczną inteligencję
Wiedza trenera na temat przedmiotu była wysoce pozioma, a sposób przeprowadzania sesji, który umożliwiał uczestnikom podążanie za prezentacjami, naprawdę pomógł zconsolidować tę wiedzę, porównywalnie do prostego siedzenia i słuchania.
Jack Allan - RSM UK Management Ltd.
Szkolenie - Secure Developer .NET (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję
Zakres wiedzy, jaki został poruszony. Na pewno nie wszystko udało się w dogłębny sposób wytłumaczyć, ale to pewnie kwestia czasu. Szkolenie trwa 3 dni. W ciągu tych 3 dni poruszone zostały różne zagadnienia, które po szkoleniu można bardziej zbadać. Szkolenie jak najbardziej na plus. Dużo wiedzy, zagadnień w skuulowanej formie.
Pawel Sitarz - Icotera sp. z o.o.
Szkolenie - C/C++ Secure Coding
Nic nie było doskonałe.
Zola Madolo - Vodacom
Szkolenie - Android Security
Przetłumaczone przez sztuczną inteligencję