Mobilné aplikácie ponúkajú takú úroveň pohodlia, ktorú svet nikdy nepoznal. Z domova, v kancelárii, na cestách a dokonca aj zo svojej hotelovej izby v inej krajine na dovolenke – môžete sa prihlásiť do hlasovej schránky v práci, skontrolovať váš zostatok na kreditnej karte, zobraziť zostatok na bankovom účte, nakupovať nové oblečenie, knihy, cestovať a iné.
Táto extrémna úroveň pohodlia so sebou priniesla extrémne množstvo bezpečnostných rizík, ako informácie o vašich kreditných kartách, o bankových prihláseniach, heslách a podobne “poletujúce” medzi zariadeniami, koncovými databázami a systémami v sieti.
Nižšie nájdete 10 najväčších mobilných bezpečnostných rizík. Pochopenie týchto rizík vám pomôže pripraviť vašu aplikáciu a chrániť vaše dáta a vaše užívateľské kontá.
1. Nebezpečné ukladanie dát
Nebezbečné ukladanie dát môže viesť k ich strate pre používateľa, ktorý stratí svoj telefón; alebo pre viac používateľov, ak je napríklad aplikácia nesprávne zabezpečená, takže riziko sa dotýka všetkých používateľov.
Tu sú bežné dáta, ktoré sa ukladajú a sú potenciálne ohrozené:
- používateľské mená
- identifikačné tokeny
- heslá
- coockies
- miesto pobytu
- UDID / EMEI, názov zariadenia, názov sieťového pripojenia
- osobné údaje: dátum narodenia, adresa, sociálne údaje, kreditné karty
- Dáta aplikácií:
- uložené záznamy aplikácie
- informácie o nastavení
- správy vyrovnávacej pamäte aplikácie
- história transakcií
2. Slabá kontrola zo strany serveru
Toto riziko je pomerne jednoduché: servery, na ktoré vaše aplikácie pristupujú by mali mať bezpečnostné opatrenia, ktoré majú zabrániť neoprávneným používateľom v prístupe k dátam. To zahŕňa svoje vlastné servery aj servery akýchkoľvek tretích strán, ku ktorým môže mať vaša aplikácia prístup.
3. Nedostatočná ochrana vrstvy prenosu
Pri navrhovaní mobilných aplikácií bežne dochádzalo k výmene údajov v móde klient – server. K tejto výmene údajov prichádza prostredníctvom sieti operátora a internetu. Ak je aplikácia zle nakódovaná a nie je zabezpečená, prostriedky hrozby môžu použiť rôzne techniky na zobrazenie citlivých dát, zatiaľ čo tieto “cestujú” sieťou.
Prostriedky ohrození môžu obsahovať:
- Používateľov miestnej siete (ohrozená alebo monitorovaná wifi)
- Nosné alebo sieťové zariadenia (routery, prístupové body, proxy servery atď)
- Už existujúci malware na telefóne užívateľa
4. Útok vsunutím kódu na strane klienta
Aplikácia Androidu je stiahnutá a spustená „na strane klienta“. To znamená, že kód aplikácie je už v skutočnosti uložený v zariadení užívateľa.
Útočníci by mohli nahrať jednoduché textové útoky, ktoré zneužívajú syntax cieleného interpretera. Takmer každý zdroj dát môže byť miestom “injektáže”, vrátane zdrojových súborov alebo samotnej aplikácie.
Útoky injektážou, ako je SQL Injection na klientskych zariadeniach, môžu byť ťažké, ak vaša aplikácia narába s viac ako jedným užívateľským účetom na jednej aplikácii, so zdieľaným zariadeniím alebo s plateným obsahom. Ďalšie injekčné body sú určené na preťaženiu zložiek aplikácie, ale je menej pravdepodobné, že dosiahnú veľký vplyv, vďaka spravovaným ochranám kódu aplikačných jazykov.
5. Slabá autorizácia a identifikácia
Aplikácie a systémy, s ktorými sa spájajú, musia byť primerane chránené autorizáciou a osvedčenými postupmi overovania. Tým je zaistené, že zariadenie, užívatelia aj systémy oprávnení k prenosu dát v aplikácii môžu pracovať a nepovolené zariadenia, používatelia a skripty sú identifikované a blokované.
6. Nevhodné správanie sa v priebehu relácie
Už ste niekedy boli v polovici on-line kontroly svojho bankového účtu, keď vás niečo prerušilo a odpútalo vašu pozornosť? Vrátite sa k počítaču, zobrazí sa správa ako „relácia vypršala – prihláste sa prosím znova„.
To je príklad bežnej praxe. V priebehu stanovenej doby ste boli neaktívny a systém to zaznamenal. To zabraňuje hrozbám, ako napr. že sa niekto posadí k vášmu PC a prezrie si váš bankový účet.
Tieto a ďalšie odporúčané postupy pre manipuláciu by mali byť zavedené pre všetky aplikácie, ktoré pristupujú k citlivým údajom.
7. Bezpečnostné rozhodnutia prostredníctvom nedôveryhodným vstupom
Dalo by sa predpokladať, že vstupy, ako sú cookies, premenné prostredia a skryté polia formulárov nie je možné zmeniť. Útočník ich však môže meniť pomocou prispôsobeného klienta alebo iným útokom. Táto zmena môže ostať úplne nespozorovaná. Ak sa vykonávajú bezpečenostné rozhodnutia, ako je autorizácia či identifikácia na základe hodnôt týchto vstupov, môžu útočníci obísť zabezpečenie softvéru.
Bez dostatočného šifrovania, kontroly integrity alebo iného mechanizmu je každý vstup, ktorý by mohol pochádzať zvonku, považovaný za nedôveryhodný.
8. Únik dát postrannými kanálmi
V kryptografii – stratégii používanej na šifrovanie kódu, znamená útok postrannými kanálmi akýkoľvek útok, ktorý sa na rozdiel od klasickej kryptoanalýzy nesnaží nájsť nedostatky v štruktúre algoritmu, ale pokúša sa zneužiť informácie priamo z fyzickej implementácie systému počas behu šifrovacieho algoritmu.
Sledovaním ako, kedy a kde sa dáta presúvajú môže útočník nájsť a využiť bezpečnostnú dieru.
9. Prelomenie kryptografie
Šifrovacie systémy sa neustále vyvíjajú – pretože sú neustále „vyriešené“ alebo prelomené.
Uistite sa, že kryptografia, ktorú využívate, je stabilná a doteraz nebola zlomená. Tento nedostatok môže byť detekovaný pomocou nástrojov a techník, ktoré vyžadujú manuálne (ľudské) analýzy, ako sú penetračné testovanie, modelovanie hrozieb a interaktívne nástroje, ktoré umožňujú testeru záznam a zmenu aktívnej relácie.
10. Zverejňovanie citlivých informácií
Hoci je uvedené ako posledné, je to jedno z najzraniteľnejších miest v bezpečnosti mobilných aplikácií, pretože je mimo vašu kontrolu.
Ak budú aplikácie, systémy alebo kryptografie vyvinuté alebo použité inými spoločnosťami napadnuté alebo prelomené, vaše údaje budú v ohrození. Akonáhle sú časti týchto citlivých údajov sprístupnené, môžu byť použité na prelomenie iných databáz a systémov pre prístup k účtom, kreditným kartám, používateľským menám a heslám a podobne.
Skenovaním svojich dát na zraniteľnosť spôsobenú prienikom do iných aplikácií alebo spoločností získate náskok pred týmto rizikom.