Bezpečnost mobilních aplikací v praxi
Lukáš Bláha
AEC, spol. s r.o.
OWASP Mobile Top Ten
18. února 2015
AEC Mobile Top Eleven
18. února 2015
A1 - Business Logic
Statistiky za rok 2014
18. února 2015
58
6
4
3
4
6
0 10 20 30 40 50 60 70
Banking
Insurance
Energy
Telco
Retail
Pharma
Oblasti testovaných aplikací
Celkový počet aplikací: 81
Statistiky za rok 2014
18. února 2015
827
136
408
76
0
50
100
150
200
250
300
350
400
450
Zranitelnosti dle rizika
Critical High Medium Low Info
655 zranitelností 81 aplikací V průměru 8 zranitelností na aplikaci
Statistiky za rok 2014
18. února 2015
32 39
287
84
27
523
2
36
104
16
0
50
100
150
200
250
300
350
Rozdělení dle kategorií
Statistiky za rok 2014
18. února 2015
32 39
287
84
27
523
2
36
104
16
0
50
100
150
200
250
300
350
Rozdělení dle kategorií
Insufficient Transport Layer Protection 44% 3,5/8
Unintended Data Leakage 13% 1,0/8
Lack of Binary Protections 16% 1,3/873% 5,8/8
Insufficient Transport Layer Protection
18. února 2015
Špatná konfigurace serveru Únik informací (HTTP Headers, Error Pages, …)
Zastaralé verze technologií
Špatná konfigurace SSL/TLS Verze, certifikáty, algoritmy, klíče
Certificate Pinning
SSL Strip (HSTS)
Injection SQL
XML/XXE
Unintended Data Leakage
18. února 2015
Cache
Logs
Debug mode
GPS
RAM
Crash logs
Screenshots
Keyboard cache
Copy & Paste
Lack of Binary Protections
18. února 2015
Zdrojové kódy Obfuskace kódu Hardcoded informace
Aplikační balík Nastavení kompilátoru Citlivé/testovací soubory
Anti-tamper techniky Debuggers Restricting Trace Checking Binaries Stripping Integrity Checks (checksums, signatures)
Root/Jailbreak detekce Vlastní klávesnice
Z čeho chyby nejčastěji plynou? Rychlost uvedení produktu na trh
Neznalost bezpečnostních specifik jednotlivých jazyků SDK platforem či nových verzí OS
Neexistence, špatná kvalita nebo nedodržování metodik pro bezpečnývývoj
Mylný předpoklad, že mobilní OS nese plnou odpovědnost za bezpečnost
Outsourcing vývoje – kontrola třetí strany
Nižší budget pro vývoj/bezpečnost mobilních aplikací
Využití frameworků, které nedbají na bezpečnost
18. února 2015
Jak to tedy vylepšit?
Zahrnutí bezpečnostních specialistů již do návrhu
Metodiky pro bezpečný vývoj Vytvoření / aktualizace Vynucování jejich dodržování
Vzdělávání vývojářů Školení
Penetrační testy Quick Scan v průběhu vývoje?
Source Code Review
18. února 2015
Budoucnost?
18. února 2015