
Link: https://www.ictbusiness.info / kolumne / vasa-mobilna-aplikacija-cesto-je-prvi-vektor-kibernetickog-napada
Vaša mobilna aplikacija često je prvi vektor kibernetičkog napada
Iako se u javnosti najčešće govori o napadima na poslužitelje i API-je, u praksi napadači vrlo često ne kreću od same poslužiteljske infrastrukture već od mobilne aplikacije. Budući da se mobilna aplikacija može preuzeti, analizirati i izvršavati u kontroliranom okruženju ona predstavlja najdostupniju komponentu cijelog sustava, a to napadačima otvara brojne mogućnosti.
Analizom aplikacije moguće je otkriti hardkodirane URL-ove, razvojne ili zaboravljene API-je, konfiguracijske datoteke, identifikatore servisa, pa čak i dijelove poslovne logike koji nikada nisu trebali biti dostupni krajnjem korisniku. Takve informacije često služe kao polazište za daljnje napade na poslužiteljske sustave.
Upravo je taj problem jedan od mogućnih uzroka sve većeg broja sigurnosnih incidenata povezanih s tzv. Shadow API-jima spomenutima između ostalog i u nedavnom članku. Shadow API-ji predstavljaju sučelja koja su ostala aktivna nakon razvoja ili nadogradnje aplikacije, ali više nisu dokumentirana niti ih organizacije aktivno nadziru. Kada napadač kroz reverzno inženjerstvo mobilne aplikacije otkrije reference na takve skrivene ili zastarjele API-je oni mogu postati ulazna točka za pristup osjetljivim podacima ili poslužiti za zaobilaženje sigurnosnih kontrola.
Dodatni izazov posljednjih godina predstavlja sve brži razvoj aplikacija potaknut umjetnom inteligencijom. Prema Akamaijevom izvještaju o trendovima sigurnosti u financijskom sektoru, AI značajno ubrzava razvoj novih funkcionalnosti i API-ja, ali istodobno povećava rizik da u produkciji ostanu razvojni endpointi, stare verzije API-ja, testna sučelja ili privremene integracije koje nikada nisu uklonjene.
Iako mobilna aplikacija napadačima često služi kao izvor informacija o poslužiteljskoj infrastrukturi, primjerice za pronalazak hardkodiranih endpointa ili tzv. shadow API-ja, ona je vrlo često i sama primarna meta napada. Naime, za ostvarivanje financijske prijevare ili krađu osjetljivih podataka napadač ne mora nužno kompromitirati poslužitelj. Dovoljno je preuzeti kontrolu nad aplikacijom tijekom njezina izvođenja, zaobići sigurnosne provjere ili izmijeniti način na koji obrađuje podatke. Time je moguće presresti mrežni promet, pronaći kriptografske ključeve, manipulirati transakcijama, zaobići ograničenja ili pristupiti podacima koji se nalaze u memoriji uređaja, a sve bez izravnog napada na poslužiteljsku infrastrukturu.
Jaibreak i root - prvi korak prema kompromitaciji
Bankarske, ali i druge aplikacije, redovito su meta napada koji koriste rootane Android uređaje ili jailbreakane iPhone uređaje. Takva okruženja omogućuju pristup dijelovima operacijskog sustava koji su inače zaštićeni te olakšavaju krađu osjetljivih podataka ili zaobilaženje sigurnosnih mehanizama.
U takvim nesigurnim okolinama poseban izazov predstavljaju alati za dinamičku instrumentaciju i hooking poput Fride, koji omogućuju promjenu ponašanja aplikacije bez pristupa njenom izvornom kodu. Upravo su takvi alati posljednjih godina postali standardni dio arsenala sigurnosnih istraživača, ali i kriminalnih skupina koje razvijaju financijski malware.
Jednako česta tehnika je debugging. Napadači pomoću alata poput GDB-a ili LLDB-a zaustavljaju aplikaciju tijekom izvođenja, analiziraju memoriju i promatraju kako aplikacija obrađuje autentifikacijske tokene, kriptografske ključeve ili osjetljive podatke.
Zbog toga moderna zaštita više se ne može osloniti samo na implementaciju autentifikacijskih mehanizama za provjeru identiteta korisnika. Sve veći broj organizacija implementira Runtime Application Self-Protection (RASP) tehnologije koje mogu prepoznati jailbreak, root, debugging, hooking ili pokretanje aplikacije u emulatoru te odmah reagirati, primjerice upozorenjem korisniku, prekidom rada aplikacije ili onemogućavanjem pristupa osjetljivim funkcijama.
Reverzno inženjerstvo više nije rezervirano samo za velike napadače
Nekada je analiza mobilnih aplikacija zahtijevala veliko iskustvo. Danas su alati za dekompilaciju Android i iOS aplikacija dostupni gotovo svakome, a razvoj umjetne inteligencije dodatno je spustio prag za provođenje takvih analiza. AI alati mogu pomoći u prepoznavanju poslovne logike i pronalaženju potencijalno zanimljivih dijelova aplikacije, čime se značajno ubrzava proces reverznog inženjerstva.
Napadači tako mogu analizirati aplikaciju, pronaći poslovnu logiku, API pozive, ugrađene ključeve ili način na koji aplikacija komunicira s poslužiteljem. Nakon toga često izrađuju modificirane verzije aplikacija s uklonjenim sigurnosnim provjerama te ih koriste za prijevare.
To nije problem samo za banke. Gaming industrija godinama vodi borbu protiv modificiranih aplikacija koje omogućuju varanje, dok fintech tvrtke nastoje spriječiti izradu "kloniranih" aplikacija koje se korisnicima predstavljaju kao legitimne.
Upravo zato obfuskacija izvornog koda postaje standardna komponenta razvoja mobilnih aplikacija. Cilj nije učiniti aplikaciju "neprobojnom", nego maksimalno otežati analizu da napadač, čak i uz pomoć suvremenih AI alata, mora uložiti znatno više vremena i resursa čime se značajno povećava cijena napada i smanjuje njegova isplativost.
Integritet aplikacije kao posljednja linija obrane
Jedan od češćih oblika napada jest izmjena same aplikacije. Napadači mogu ukloniti sigurnosne provjere, dodati vlastiti zlonamjerni kod ili distribuirati modificirane verzije aplikacije izvan službenih trgovina.
Takvi napadi poznati su kao tampering ili repackaging i predstavljaju ozbiljan rizik jer korisnik često nije svjestan da koristi kompromitiranu verziju aplikacije. Zbog toga je upravo zaštita integriteta aplikacije jedna od ključnih obrana protiv takvih scenarija.
Provjera integriteta omogućuje aplikaciji da tijekom izvođenja potvrdi kako njezin kod nije izmijenjen te da se izvršava upravo ona verzija koju je proizvođač objavio. Ako se otkrije manipulacija, aplikacija može odbiti daljnji rad ili ograničiti pristup osjetljivim funkcijama.
Vishing - napadi usmjereni na korisnike mobilnih uređaja
Phishing napadi odavno su prerasli lažne e-mailove. Sve češći oblik prijevare, posebno u financijskom sektoru, uključuje telefonske pozive u kojima se napadači predstavljaju kao djelatnici banke, tehničke podrške ili državnih institucija. Tijekom razgovora pokušavaju uvjeriti korisnika da hitno potvrdi transakciju, promijeni sigurnosne postavke ili podijeli jednokratni autentifikacijski kod. Takvi napadi, poznati kao vishing (voice phishing), oslanjaju se na psihološki pritisak i osjećaj hitnosti kako bi korisnik donio pogrešnu odluku.
Jedan od načina smanjenja rizika jest da mobilna aplikacija prepozna kada se koristi tijekom aktivnog telefonskog poziva. U tom slučaju može korisniku prikazati dodatno sigurnosno upozorenje, zatražiti dodatnu potvrdu za osjetljive radnje ili privremeno ograničiti izvršavanje transakcija visokog rizika. Takav pristup ne sprječava sam telefonski poziv, ali korisniku daje dodatni trenutak za provjeru legitimnosti zahtjeva i značajno otežava uspjeh napada koji se oslanjaju na socijalni inženjering.
Sigurnost kao kombinacija više slojeva
Iako je poznato da ne postoji jedna tehnologija koja može zaustaviti sve napade uspješnu zaštitu mobilnih aplikacija moguće je postići kombinacijom više obrambenih slojeva.
Jedno od rješenja koje koristi višeslojni pristup zaštiti je i ASEE Mobile Application Security Suite, koji objedinjuje tri međusobno komplementarne komponente.
App Protector SDK implementira Runtime Application Self-Protection i tijekom izvođenja može detektirati jailbreak, root, debugging, hooking, aktivan poziv, snimanje zaslona te druge pokušaje kompromitacije aplikacije, uz mogućnost automatske reakcije na prijetnju.
Drugi sloj čini obfuskacija koda kojom se značajno otežava reverzno inženjerstvo i analiza poslovne logike aplikacije, dok treći sloj predstavlja provjera integriteta aplikacije koja otkriva pokušaje izmjene ili repakiranja aplikacije prije nego što kompromitirana verzija može ugroziti korisnike.
Takav višeslojni pristup danas je sve češći u financijskom sektoru, telekomunikacijama, javnoj upravi i svim organizacijama koje kroz mobilne aplikacije obrađuju osjetljive podatke.
Kako mobilne aplikacije sve više postaju glavni kanal komunikacije s korisnicima, sigurnost više nije pitanje samo zaštite poslužiteljske infrastrukture. Sve češće upravo aplikacije postaju prva crta obrane, ali i prvo mjesto na kojem napadači pokušavaju pronaći svoju priliku.

Autor: Rino Rodin
Senior Software Developer u ASEE Hrvatska i certificirani etički haker (CEH)
Rino je usmjeren na razvoj rješenja za zaštitu mobilnih aplikacija od suvremenih kibernetičkih prijetnji. Njegovo područje rada obuhvaća zaštitu aplikacija tijekom izvođenja (RASP), obranu od reverznog inženjerstva, API sigurnost te mehanizme za sprječavanje manipulacije mobilnih aplikacija. Uz rad u industriji, kao naslovni asistent na Tehničkom fakultetu Sveučilišta u Rijeci (RITEH) izvodi nastavu iz vještine Sigurnost mobilnih aplikacija, kroz koju studentima prenosi praktična znanja o razvoju sigurnijih mobilnih rješenja i zaštiti aplikacija od suvremenih oblika napada. Diplomirao je računarstvo na RITEH-u, a informacijsku sigurnost specijalizirao na FER-u.
