mobile application penetration testing tools service providers
Navodila po korakih za testiranje pisala za mobilne aplikacije (z orodji in ponudniki storitev):
Pred desetletjem smo zaradi razvoja tehnologije vsi začeli razumeti informacijsko industrijo in takrat je bil čas, ko smo vsi spoznali, kako in kaj lahko naredimo z uporabo računalniških sistemov.
Počasi je postalo možno nakazilo denarja prek spleta prek interneta, namesto da bi osebno obiskali banko in čakali v čakalni vrsti za izvedbo transakcije. Zaradi takega povpraševanja so vse banke začele poslovati prek spleta.
Toda, ali smo se vsi že od začetka počutili udobno in varno z uporabo te funkcije, bi odgovor večina od nas rekel 'NE'.
Ko gre za denarne zadeve, vsi dvakrat premislimo.
Ko se nekaj na novo zažene, želimo zagotoviti, da je zaščiteno v vseh pogledih, vsa spletna mesta, ki jih danes uporabljamo, opravijo več plasti varnostnih pregledov, preden so izpostavljena javnosti. Zdaj se trend spet spreminja in želimo, da se vse zgodi s klikom na gumb, ki je mogoč samo z mobilnimi aplikacijami.
Kako zagotovite, da so vse mobilne aplikacije, ki jih prenesete iz trgovine za predvajanje ali iStore, varne za uporabo? Ob vsakem prenosu obstaja nevarnost zlonamernih napadov. Iz istega razloga in da bi zagotovili, da ima njihova aplikacija prednost pred drugimi, bi morali razvijalci aplikacij zagotoviti, da so njihove aplikacije uspešno preizkušene, preden jih dejansko objavijo za prenos.
Ta članek vas bo seznanil z vrstami mobilnih aplikacij, kaj lahko pričakujete od penetracijskega testiranja mobilnih aplikacij, kako lahko poteka testiranje, ponudniki storitev, ki ponujajo storitve za testiranje mobilnih aplikacij, in seznam nekaterih orodij, ki jih lahko uporabite za testiranje.
Kaj se boste naučili:
- Mobilne aplikacije in njihove vrste
- Ponudniki storitev testiranja penetracije mobilnih aplikacij
- Orodja za testiranje penetracije mobilne aplikacije
- Nekaj priljubljenih lažnih ranljivih mobilnih aplikacij
- Kaj morate pričakovati od testa?
- Koraki za preizkus penetracije za mobilne aplikacije
- Zaključek
- Priporočeno branje
Mobilne aplikacije in njihove vrste
Preden nadaljujemo globoko kako test peresa mobilna aplikacija , zelo pomembno je zagotoviti, da imate nekaj predznanja o mobilnih aplikacijah.
Razumejmo različne vrste aplikacij za mobilne naprave.
c ++ pretvori char * v int
# 1) Izvorna mobilna aplikacija
Native App pomeni aplikacije, ustvarjene za določeno platformo, kot sta iOS ali Android, posebej napisane v določenem programskem jeziku in jih je mogoče namestiti iz ustreznih trgovin, kot je Googlova trgovina z igrami ali Appleova trgovina z aplikacijami. Ponujajo uporabniku najbolj prijazno izkušnjo, upravljate pa jih lahko s klikom na ikono.
Nekaj dobrega primeri Native apps so Facebook, Instagram, Angry Birds itd.
Edina težava je, da te aplikacije ne delujejo z vsemi vrstami naprav, na primer, če je aplikacija ustvarjena za Android, ne bo delovala v iOS-u in obratno. Native Apps lahko delujejo tudi brez internetne povezave.
# 2) Mobilne brskalniške aplikacije / mobilne spletne aplikacije
Mobilne spletne aplikacije so v bistvu aplikacije, ki se izvajajo v brskalniku in niso odvisne od naprave.
Isto aplikacijo lahko zaženete z napravo iOS ali pametnim telefonom Android. Te aplikacije so večinoma napisane v HTML5. Lahko jih je objaviti, ker za njihovo dovoljenje v njihovi trgovini ne potrebuje dovoljenja Googla ali Applea.
Spletne aplikacije je mogoče neposredno prenesti z gumbom za prenos, ki je na voljo na njihovih spletnih mestih. Tipičen primer so naša spletna mesta za nakupovanje, kot so Flipkart, Amazon itd.
# 3) Mobilna hibridna aplikacija
To so aplikacije, ki so deloma izvorne in deloma tujerodne. Lahko jih prenesete iz trgovin in jih zaženete v brskalniku.
Prednost razvoja aplikacij te vrste je v tem, da podpira razvoj več platform in s tem zmanjšuje skupne razvojne stroške, kar pomeni, da omogoča ponovno uporabo iste komponente kode v drugi napravi. Tudi te aplikacije je mogoče hitro razviti.
Poleg tega hibridne mobilne aplikacije omogočajo uporabo funkcij domačih in spletnih aplikacij.
Ponudniki storitev testiranja penetracije mobilnih aplikacij
Naše priporočilo
# 1) Šifra

Šifra je eden najboljših ponudnikov storitev testiranja pisala za mobilne aplikacije. Znano je kot globalno varnostno podjetje, ki ponuja visoko učinkovite upravljane varnostne in svetovalne storitve s certifikatom SOC I in SOC II tipa 2.
Sedež: Miami, ZDA
Ustanovljeno: 2000
Zaposleni: 300
Prihodki: 20–50 dolarjev M
Osnovne storitve: Storitve testiranja prodora in etičnega vdora, ocene ranljivosti, tveganja in ocene, ocenjevanje in svetovanje PCI, zagotavljanje varnosti programske opreme, spremljanje nevarnosti itd.
Lastnosti:
- Sistemu pomaga pri obrambi pred naprednimi grožnjami, hkrati pa obvladuje tveganja.
- Cipher ponuja učinkovite in inovativne rešitve za zagotavljanje skladnosti sistema.
- Zagotavlja lastniške in specializirane varnostne storitve za vse povezane organizacije.
Le malo drugih ponudnikov storitev:
- Appsec
- Procheckup
- Pretorijanski
- Cigital
- Wesecureapp
- Netspi
- CyberCops
- App ray
- Jumpsec
- Scienceoft
Orodja za testiranje penetracije mobilne aplikacije
- Core Impact Pro (Android, iOS in Windows)
- zANTI (Android)
- Analizator (iOS)
- DVIA (iOS)
Druga orodja:
- Port Scanner (Android)
- Fing (Android in iOS)
- DroidSheep (Android)
- Intercepter-NG (Android)
- Nessus (Android)
- Droid SQLi (Android)
- Orweb (Android)
Nekaj priljubljenih lažnih ranljivih mobilnih aplikacij
Na splošno obstaja nekaj dobro znanih ranljivih mobilnih aplikacij, ki so ustvarjene tako, da uporabnikom predstavijo mobilno testiranje. Te aplikacije imajo ranljivosti, s katerimi želijo uporabnikom / preizkuševalcem pomagati pri vadbi in izboljšati njihovo znanje o preizkusu pisala.
Lahko se sklicujete na iMAS, GoatDroid, DVIA, MobiSec:
Kaj morate pričakovati od testa?
Razlog za testiranje je ugotoviti čim več težav in zagotoviti, da se težave najdejo, še preden to dejansko vpliva na končne uporabnike. Glavni razlog za težavo z mobilno varnostjo je v tem, da želijo razvijalci ustvariti bolj uporabne aplikacije kot zavarovane aplikacije in obstaja možnost, da med razvojem aplikacij ne bo dovolj zavedanja o varnosti.
V tem poglavju vas bom popeljal skozi nekatere ranljivosti / varnostne pomanjkljivosti, na katere morate biti pozorni kot del testiranja.
Pogoste varnostne pomanjkljivosti, ki jih je treba iskati:
1) Oblika shranjevanja podatkov :Vse je odvisno od oblike, v kateri so podatki shranjeni. Bodisi v navadnem besedilu ali drugih oblikah. Za Npr ., Android shrani uporabniško ime in geslo v navadnem besedilu, zaradi česar je bolj ranljiv.
2) Shranjeni občutljivi podatki :Včasih razvijalci gesla s trdo kodo ali shranjujejo občutljive podatke, ki jih lahko zlahka ogrozijo.
3) Slabe metode kodiranja: Uporaba odprte knjižnice SSL, ki je ranljiva za napad FREAK, je ena izmed stvari, ki jo je treba preveriti.
4) Šifriranje podatkov: Pomembno je zagotoviti, da se prenos podatkov izvaja na varen način in da so shranjeni podatki šifrirani.
5) Šibko ustvarjanje gesla: Aplikacije bi morale imeti mehanizem za preverjanje moči gesla. Šibka gesla so vedno izpostavljena napadom.
6) sinhronizacija podatkov: Prenos podatkov ali sinhronizacija podatkov je treba opraviti po varni metodi. Način, kako se podatki prenašajo ali sinhronizirajo z oblakom, lahko vodi do napadov in s tem povzroči izgubo podatkov.
Testiranje mobilne aplikacije še vedno ostaja izziv v primerjavi s spletnim testiranjem, saj so mobilne aplikacije na trgu dokaj nove in nimamo na voljo več optičnih bralnikov kot v spletu in še vedno ustvarjamo goljufive liste ali pripravljamo načine za skeniranje in imajo varnejše mobilne aplikacije, ustvarjene za končne uporabnike.
Koraki za preizkus penetracije za mobilne aplikacije
Obstajajo določeni koraki pri testiranju pisala za mobilne aplikacije.
To so:
# 1) Preizkusite nastavitev okolja
Nastavitev testnega okolja je sam po sebi postopek in je lahko ločena tema za branje :)
Tu nisem omenil veliko podrobnosti o nastavitvi testnega okolja, ker se bo to razlikovalo glede na testiranje. Pravkar sem ga vključil sem, ker nisem želel popolnoma izpustiti tega koraka.
Nekatere preskuse je mogoče izvesti na resnični napravi, druge pa na emulatorjih. Prav tako se razlikuje glede na to, katero platformo nameravamo preizkusiti, za aplikacije Android bomo morda morali namestiti SDK-je, za iOS pa bomo potrebovali jailbreaking.
# 2) Odkrivanje / Razumevanje aplikacij
Vsaka mobilna aplikacija bo delovala drugače, zato bi moral biti prvi korak pri preizkušanju odkriti ali izvedeti več informacij o preizkušeni aplikaciji. To bi moralo vključevati tudi ugotavljanje, kako se aplikacija poveže z operacijskim sistemom in zalednim strežnikom.
Vključevati mora preverjanje uporabljenih knjižnic, boljše razumevanje platforme in ugotavljanje, ali je aplikacija izvornega / spletnega / hibridnega tipa. Ta korak lahko imenujemo tudi Korak zbiranja informacij .
kako ustvariti vrsto generičnega tipa v javi
# 3) Analiza / ocenjevanje aplikacij
Kot del tega koraka namestite aplikacijo na mobilno napravo in naredite posnetek datotečnega sistema in registra pred in po namestitvi.
Analizirajte razpoložljive informacije za prepoznavanje področij šibkosti, ki jih je mogoče izkoristiti, na primer razumevanje, kako se hranijo občutljivi podatki, kako se prenašajo podatki, kako poteka interakcija s tretjo osebo itd.
# 4) Povratni inženiring
To bo potrebno, če preskuševalec nima izvorne kode. Načrtovani bodo pregledi kode, da se bo razumelo, kako aplikacija deluje notranje. Namen tega je iskanje ranljivosti.
# 5) Prestrezanje prometa
V tem koraku konfigurirajte napravo za usmerjanje prek strežnika proxy, kar naj bi pomagalo pri prestrezanju prometa in odkrivanju napak, kot so težave z vbrizgom ali avtorizacijo.
# 6) Delovanje
Po končani nastavitvi analize in proxyja lahko izkoristite tam, kjer se obnašate kot heker, simulirate napade in poskusite ogrožati sistem.
Izkoriščajte sistem in izvajajte zlonamerne dejavnosti.
# 7) Poročanje
Zgornji korak bi bil glavni korak testiranja, zato bi moral biti zadnji korak sestaviti poročilo, ki omenja vse ugotovitve. Dobro poročilo mora vsebovati podrobnosti o vseh ugotovljenih ranljivostih skupaj z oceno ocene poslovnega in tehničnega tveganja.
Druga pomembna točka, ki jo lahko omenimo, je priporočilo za popravek.
Zaključek
Upam, da ste vsi uživali v branju tega članka o testiranju pisala za mobilne aplikacije. Po mojem mnenju je testiranje mobilnosti še vedno področje, ki še ni bilo popolnoma raziskano.
Vendar lahko menimo, da je to prineslo spremembo in nam da priložnost, da premislimo o svojih zmožnostih in začnemo razmišljati nenavadno in drugače od našega tradicionalnega pristopa k testiranju. Razvijalci ustvarjajo svojo ustvarjalnost in prihajajo z različnimi različicami aplikacij, zato moramo tudi mi kot preizkuševalci še veliko storiti!
Upam, da bi dobili odličen vpogled v orodja in ponudnike storitev za testiranje penetracije mobilnih aplikacij !!
Priporočeno branje
- Preskušanje zmogljivosti v oblaku: ponudniki storitev za preskušanje obremenitve v oblaku
- 10 najboljših podjetij za vodenje preskusnih storitev v letu 2021
- Priročnik za začetnike do testiranja prodora spletnih aplikacij
- Vodič za preizkušanje zmogljivosti mobilne aplikacije
- Testiranje mobilnih aplikacij v oblaku: popoln pregled
- 10 najboljših podjetij za ponudnike storitev mobilnega testiranja
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Razlika med testiranjem namizja, odjemalskega strežnika in spletnim preskušanjem