mobile application penetration testing tools service providers
Podrobný sprievodca testovaním mobilných aplikácií perom (s nástrojmi a poskytovateľmi služieb):
Pred desiatimi rokmi sme vďaka vývoju technológií začali všetci rozumieť IT odvetviu a v tom čase sme sa všetci dozvedeli, ako a čo je možné urobiť pomocou počítačových systémov.
Pomaly bolo možné prevádzať peniaze online pomocou internetu namiesto toho, aby ste osobne navštívili banku a čakali vo fronte na vykonanie transakcie. Z dôvodu tohto dopytu začali všetky banky pôsobiť online.
Ale cítili sme sa všetci pohodlne a bezpečne pomocou tejto funkcie hneď na začiatku, odpoveď, ktorú by väčšina z nás povedala, je „NIE“.
Pokiaľ ide o finančné záležitosti, všetci si to dobre rozmyslíme.
Keď je niečo novo spustené, chceme zaistiť, aby to bolo zabezpečené po všetkých stránkach, všetky webové stránky, ktoré dnes používame, prechádzajú niekoľkými vrstvami bezpečnostných kontrol, kým nebudú zverejnené. Teraz sa trend opäť mení a my chceme, aby sa všetko udialo kliknutím na tlačidlo, ktoré je možné len pomocou mobilných aplikácií.
Ako zaistíte, aby boli všetky mobilné aplikácie, ktoré si stiahnete z obchodu Play alebo iStore, bezpečné? S každým sťahovaním prichádza riziko škodlivých útokov. Z rovnakého dôvodu a aby sa zaistilo, že ich aplikácia bude uprednostňovaná pred ostatnými, mali by sa vývojári aplikácií ubezpečiť, že ich aplikácie sú úspešne testované na zabezpečenie skôr, ako ich skutočne zverejnia na stiahnutie.
Tento článok vás oboznámi s typmi mobilných aplikácií, čo by sa malo od penetračného testovania mobilných aplikácií očakávať, ako sa dá testovanie vykonať, poskytovateľmi služieb ponúkajúcich služby na testovanie mobilných aplikácií a zoznamom niektorých nástrojov, ktoré je možné použiť testovanie.
Čo sa dozviete:
- Mobilné aplikácie a ich typy
- Poskytovatelia služieb testovania prieniku mobilných aplikácií
- Nástroje na testovanie prieniku mobilných aplikácií
- Niekoľko populárnych fiktívnych zraniteľných mobilných aplikácií
- Čo by ste mali od testu očakávať?
- Kroky k penetračnému testu mobilných aplikácií
- Záver
- Odporúčané čítanie
Mobilné aplikácie a ich typy
Predtým, ako prejdeme hlboko ďalej ako test perom mobilná aplikácia , je veľmi dôležité zabezpečiť, aby ste mali základné vedomosti o mobilných aplikáciách.
Poďme pochopiť rôzne typy mobilných aplikácií.
rozdiel v zabezpečovaní a kontrole kvality
# 1) Natívna mobilná aplikácia
Natívna aplikácia znamená aplikácie vytvorené pre konkrétnu platformu, ako sú iOS alebo Android, konkrétne napísané v konkrétnom programovacom jazyku, ktoré je možné nainštalovať z príslušných obchodov, ako je obchod Play alebo Google App Store. Ponúkajú užívateľsky najpríjemnejší zážitok a dajú sa ovládať jednoducho kliknutím na ikonu.
Niektoré dobré príklady natívnych aplikácií sú Facebook, Instagram, Angry Birds atď.
Jediným problémom je, že tieto aplikácie nepracujú so všetkými typmi zariadení, napríklad ak je aplikácia vytvorená pre Android, nebude fungovať v systéme iOS a naopak. Natívne aplikácie môžu fungovať aj bez pripojenia k internetu.
# 2) Aplikácia založená na mobilnom prehliadači / mobilné webové aplikácie
Mobilné webové aplikácie sú v zásade aplikácie, ktoré bežia v prehliadači a nezávisia od zariadenia.
Rovnakú aplikáciu je možné spustiť pomocou zariadenia so systémom iOS alebo smartphonu so systémom Android. Tieto aplikácie sú väčšinou písané v jazyku HTML5. Ľahko sa zverejňujú, pretože na ich ukladanie nie je potrebné žiadne povolenie od spoločnosti Google alebo Apple.
Webové aplikácie je možné sťahovať priamo pomocou tlačidla sťahovania dostupného na príslušných webových stránkach. Typickým príkladom by boli naše nákupné stránky ako Flipkart, Amazon atď.
# 3) Mobilná hybridná aplikácia
Jedná sa o aplikácie, ktoré sú čiastočne natívne a čiastočne nepôvodné. Dajú sa stiahnuť z obchodov aj spustiť v prehliadači.
Výhodou vývoja týchto typov aplikácií je, že podporuje vývoj na viacerých platformách, a tým znižuje celkové náklady na vývoj, čo znamená, že umožňuje opätovné použitie toho istého komponentu kódu na inom zariadení. Tieto aplikácie je tiež možné rýchlo vyvinúť.
Hybridné mobilné aplikácie vám navyše umožňujú získať funkcie natívnych aj webových aplikácií.
Poskytovatelia služieb testovania prieniku mobilných aplikácií
Naše odporúčanie
# 1) Šifra
Šifra je jedným z najlepších poskytovateľov služieb testovania pera mobilných aplikácií. Je známa ako globálna bezpečnostná spoločnosť, ktorá ponúka vysoko efektívne riadené bezpečnostné a poradenské služby s certifikátom SOC I a SOC II Typ 2.
Ústredie: Miami, USA
Založenie: 2000
Zamestnanci: 300
Príjmy: 20 - 50 miliónov dolárov
Základné služby: Penetračné testovanie a etické hackerské služby, hodnotenie zraniteľnosti, riziká a hodnotenie, hodnotenie a konzultácie PCI, zaistenie bezpečnosti softvéru, monitorovanie hrozieb atď.
Vlastnosti:
- Pomáha systému brániť sa proti pokročilým hrozbám pri zvládaní rizík.
- Cipher ponúka efektívne a inovatívne riešenia na zabezpečenie súladu systému.
- Poskytuje proprietárne a špecializované bezpečnostné služby pre každú pridruženú organizáciu.
Niekoľko ďalších poskytovateľov služieb:
- Appsec
- Procheckup
- Pretoriánsky
- Cigital
- Wesecureapp
- Netspi
- CyberChopy
- Lúč aplikácie
- Jumpsec
- Sciencesoft
Nástroje na testovanie prieniku mobilných aplikácií
- Core Impact Pro (Android, iOS a Windows)
- zANTI (Android)
- Ianalyzer (iOS)
- DVIA (iOS)
Ostatné nástroje:
- Port Scanner (Android)
- Fing (Android a iOS)
- DroidSheep (Android)
- Intercepter-NG (Android)
- Nessus (Android)
- Droid SQLi (Android)
- Orweb (Android)
Niekoľko populárnych fiktívnych zraniteľných mobilných aplikácií
Všeobecne existujú niektoré dobre známe zraniteľné mobilné aplikácie, ktoré sú vytvárané s cieľom poskytnúť používateľom predstavu o testovaní mobilných zariadení. Tieto aplikácie majú chyby zabezpečenia, ktoré majú zámerne pomôcť používateľom / testerom precvičiť si a rozšíriť ich znalosti testovania perom.
Môžete sa obrátiť na iMAS, GoatDroid, DVIA, MobiSec:
Čo by ste mali od testu očakávať?
Dôvodom testovania je zistiť čo najviac problémov a zaistiť ich nájdenie skôr, ako to skutočne ovplyvní koncových používateľov. Hlavným dôvodom získania problému so zabezpečením mobilných zariadení je skutočnosť, že vývojári chcú vytvárať užitočnejšie aplikácie ako zabezpečené aplikácie a existuje pravdepodobnosť, že pri vývoji aplikácií nebude dostatok informácií o zabezpečení.
V tejto časti vás prevediem niekoľkými zraniteľnosťami / bezpečnostnými chybami, na ktoré by ste si mali v rámci testovania dávať pozor.
Bežné chyby v zabezpečení, ktoré treba hľadať:
1) Formát ukladania údajov :Všetko závisí od formátu, v ktorom sú údaje uložené. Či už v obyčajnom texte alebo v iných formátoch. Pre Napr ., Android ukladá používateľské meno a heslo v obyčajnom texte, čo ho zase robí zraniteľnejším.
2) Uložené citlivé údaje :Niekedy vývojári pevne zakódujú heslá alebo uložia citlivé informácie, ktoré môžu byť ľahko kompromitované.
3) Metódy nesprávneho kódovania: Jednou z vecí, ktorú treba skontrolovať, je použitie otvorenej knižnice SSL, ktorá je zraniteľná voči FREAK útoku.
4) Šifrovanie údajov: Je dôležité zabezpečiť, aby sa prenos údajov uskutočňoval bezpečným spôsobom a aby sa uložené údaje šifrovali.
5) Slabé vytvorenie hesla: Aplikácie by mali mať mechanizmus na kontrolu sily hesla. Slabé heslá sú vždy zraniteľné voči útokom.
6) Synchronizácia údajov: Prenos údajov alebo synchronizácia údajov by sa mali uskutočňovať bezpečným spôsobom. Spôsob, akým sa údaje prenášajú alebo synchronizujú s cloudom, môže viesť k útokom, a tým spôsobiť stratu údajov.
Testovanie mobilnej aplikácie stále zostáva výzvou v porovnaní s webovým testovaním, pretože mobilné aplikácie sú na trhu pomerne nové a nemáme k dispozícii niekoľko skenerov ako na webe a stále vytvárame podvádzacie listy alebo prichádzame s spôsobmi skenovania a skenovania. mať vytvorené bezpečnejšie mobilné aplikácie pre koncových používateľov.
Kroky k penetračnému testu mobilných aplikácií
Testovanie mobilných aplikácií pomocou pera zahŕňa určité kroky.
Oni sú:
# 1) Testujte nastavenie prostredia
Nastavenie testovacieho prostredia je proces sám o sebe a môže byť samostatnou témou na čítanie :)
Neuviedol som tu veľa podrobností o nastavení testovacieho prostredia, pretože sa bude líšiť v závislosti od testovania. Práve som to sem zahrnul, pretože som nechcel tento krok úplne prehliadnuť.
Niektoré testovania sa dajú vykonať na skutočnom zariadení, zatiaľ čo iné sa dajú vykonať na emulátoroch. Líši sa tiež podľa toho, ktorú platformu plánujeme testovať. Pre aplikácie pre Android budeme musieť nainštalovať súpravy SDK a pre iOS budeme vyžadovať útek z väzenia.
ľavé vonkajšie spojenie vs ľavé spojenie
# 2) Objavenie / porozumenie aplikácií
Každá mobilná aplikácia bude fungovať inak, takže prvým krokom pri testovaní by malo byť objavenie alebo zistenie ďalších informácií o testovanej aplikácii. To by malo tiež zahŕňať identifikáciu spôsobu, akým sa aplikácia pripája k OS a serveru typu back-end.
Mal by obsahovať kontrolu použitých knižníc, lepšie pochopenie platformy a zistenie, či je aplikácia natívny / webový / hybridný typ. Tento krok možno nazvať aj ako Krok zhromažďovania informácií .
# 3) Analýza / hodnotenie aplikácie
V rámci tohto kroku nainštalujte aplikáciu do mobilného zariadenia a pred a po inštalácii urobte snímku súborového systému a registra.
Analyzujte dostupné informácie, aby ste určili oblasti slabosti, ktoré je možné využiť, napríklad pochopenie toho, ako sú uložené citlivé informácie, ako sa prenášajú údaje, ako prebieha interakcia s treťou stranou atď.
# 4) Reverzné inžinierstvo
Toto bude potrebné, ak tester nemá zdrojový kód. Budú sa plánovať kontroly kódu, aby sa pochopilo, ako aplikácia interne funguje. Zámerom je vyhľadať chyby zabezpečenia.
# 5) Zachytávanie dopravy
V tomto kroku nakonfigurujte zariadenie tak, aby smerovalo cez server proxy, čo by malo pomôcť pri zachytávaní prenosu a zisťovaní chýb, ako sú problémy s injekciou alebo autorizáciou.
# 6) Prevádzka
Po vykonaní analýzy a nastavení servera proxy môžete vykonať exploitáciu, keď sa budete správať ako hacker, simulovať útoky a pokúsiť sa kompromitovať systém.
Využite systém a vykonávajte škodlivé činnosti.
# 7) Podávanie správ
Vyššie uvedený krok by tvoril hlavný testovací krok, takže posledným krokom by malo byť zostavenie správy obsahujúcej všetky zistenia. Dobrá správa by mala pozostávať z podrobností o všetkých zistených slabých miestach spolu s hodnotením obchodných a technických rizík.
Ďalším dôležitým bodom, ktorý je možné spomenúť, je odporúčanie opravy.
Záver
Dúfam, že ste si všetci užili čítanie tohto článku o testovaní perom v mobilných aplikáciách. Podľa môjho názoru je testovanie mobility stále oblasťou, ktorá nebola úplne preskúmaná.
Môžeme to však považovať za skutočnosť, ktorá priniesla zmenu a dala nám príležitosť prehodnotiť naše schopnosti a začať myslieť po vybalení z krabice a odlišne od nášho tradičného testovacieho prístupu. Vývojári vkladajú svoju kreativitu a prichádzajú s rôznymi variáciami aplikácií, takže aj my ako testeri máme toho ešte veľa!
Dúfam, že by ste mali prehľad o nástrojoch a poskytovateľoch služieb na testovanie penetrácie mobilných aplikácií !!
Odporúčané čítanie
- Testovanie cloudového výkonu: Poskytovatelia služieb testovania zaťaženia na základe cloudu
- TOP 10 spoločností spravujúcich testovacie služby v roku 2021
- Sprievodca pre začiatočníkov k testovaniu penetrácie webových aplikácií
- Sprievodca testovaním výkonu mobilných aplikácií
- Cloudové testovanie mobilných aplikácií: Kompletný prehľad
- Top 10 spoločností poskytujúcich testovacie mobilné služby
- Najlepšie nástroje na testovanie softvéru 2021 [QA Test Automation Tools]
- Rozdiel medzi počítačom, klientskym serverom a webom