1. Bezpečnosť mobilných
aplikácií
ISACA Slovensko - ABIT 2011
Martin Zajíček, CISA, CRISC
zajicek@dcit-consulting.sk
DCIT Consulting
http://www.dcit-consulting.sk
2. Prehľad prednášky
1. Intro do problematiky
2. Základná architektúra/princíp mobilnej
aplikácie
3. Okruhy slabín
4. Potenciálne problémové oblasti
5. Stručné resumé bezpečnej aplikácie
2 http://www.dcit-consulting.sk
3. 1. Intro do problematiky
Čo považujeme za mobilnú aplikáciu?
• samostatná aplikácia bežiaca na mobilnom (SMART)
telefóne
História mobilných aplikácií..
• v minulosti sa vyskytovali a vyvíjali aplikácie takmer
výhradne v JAVA-e – spravidla išlo o primitívne
aplikácie s nie veľmi „cool“ vzhľadom
• rozkvet mobilných aplikácii nastal až po štarte iPhone
platformy spoločne s App Store
• iPhone spoločne s Androidom najpoužívanejšia
platforma
3 http://www.dcit-consulting.sk
4. 1. Intro do problematiky (2)
• mimo iPhone a Androidu sú používané Symbian,
Windows Mobile a ďalšie ako napr. BADU, atď.
• aj naďalej existencia JAVA aplikácií
• z pohľadu bezpečnosti a testovania je potrebné
venovať sa samostatne každej platforme – spravidla
sú vyvíjané inými spoločnosťami alebo skupinami
programátorov!
4 http://www.dcit-consulting.sk
5. 2. Základná architektúra/princíp
• sú používané rôzne prístupy
• spravidla sieťová aplikácia komunikujúca so serverom
(protokol HTTPS + JSON) – výmena dát
• pri zabezpečení sa treba orientovať na bezpečnosť,
ktorá je podobná viac bezpečnosti web služieb (web
services - napr. SOAP) ako web aplikácií
5 http://www.dcit-consulting.sk
6. 3. Okruhy slabín
• podobnosť so štandardnými aplikáciami –
klient/server, vstupy/výstupy
• na strane servera
− verejne prístupná služba HTTPS – prístup nielen pre
mobilné aplikácie
− nefunkčný update manažment, chybná implementácia
SSL, chybná konfigurácia
− špecifický middleware napr. pre podporu JSON a pod. –
väčší potenciálny priestor existenciu slabín
• na strane aplikácie
− ošetrenie vstupov (SQL Injection!)
− session manažment
6 http://www.dcit-consulting.sk
7. 3. Okruhy slabín (2)
• špecifické slabiny
− oblasti, ktoré pri štandardných web aplikáciách sú
podporované natívne internetovým prehliadačom a
službami
• cookies
• chybové stavy
− ukončenie činnosti aplikácie – je potrebné riešiť na strane
servera (time-out + logout) i na strane klienta (odlogovanie
+ zmazanie informácií z pamäte)
7 http://www.dcit-consulting.sk
8. 4. Potenciálne problémové oblasti
• návrat do minulosti
• spoliehanie sa na to, že aplikácia je „nedobytná“ a
dostatočné chránená samotnou platformou– veľmi
častý výskyt jailbreakingu/rootingu
− filesystém – spôsob ukladania užívateľských a
aplikačných dát (sandboxy)
− cachovanie prihlasovacích parametrov a ich zmazanie pri
ukončení práce
• spoliehanie sa na to, že mobilné platformy
nedisponujú hacking nástrojmi
• sieťový prístup prostredníctvom nedôveryhodných
sietí – možnosť odpočutia komunikácie, útoky MITM
8 http://www.dcit-consulting.sk
9. 4. Potenciálne problémové oblasti (2)
• výskyt malwaru (najmä Android) – asistencia
užívateľa
• častý výskyt mladých vývojárov bez dostatočného
bezpečnostného backround-u
• spôsob distribúcie a aktualizácie aplikácie
• spôsob aktivácie aplikácie (odporúča sa)
• výskyt SW, kopírujúceho funkcionalitu pôvodného
SW, ktorý býva častokrát viac „cool“
9 http://www.dcit-consulting.sk
10. 5. Stručné resumé bezpečnej
aplikácie
Je potrebné venovať pozornosť
• serverovej časti aplikácie
• klientskej časti aplikácie
• možnostiam prelomenia ochrany na úrovni OS,
odpočúvania, či zmeny komunikácie
• distribúcii SW
• každej platforme samostatne
Nezabúdať na možnosť a schopnosť zabezpečenia
infraštruktúry po posledný firewall – za ním je
prostredie mimo kontroly...
10 http://www.dcit-consulting.sk