Razmišljanje hakera za bolju bezbednost aplikacija
Samo neko ko razmišlja kao haker može da predvidi njegove korake. Zato, kada želite da postignete visok nivo otpornosti na hakerske napade, možda je vreme da angažujete – hakera.
Bezbednost aplikacija je oduvek bila aktuelna tema, a s vremenom postaje sve važnija.
I pored mnoštva odbrambenih mehanizama i praksi (firewall-ovi, SSL, asimetrična kriptografija, itd.), nijedna web aplikacija ne može sa sigurnošću tvrditi da je potpuno zaštićena od hakera.
Zašto je to tako?
Jednostavan razlog je kompleksnost procesa izrade softvera. U samim temeljima softvera koji programeri koriste postoje greške, kako poznate tako i nepoznate, a nove se javljaju sa svakim novim softverom i bibliotekom. Čak se i najpoznatije tehnološke kompanije povremeno nađu u neugodnim situacijama, i to s dobrim razlogom.
Zapošljavanje hakera: novi pristup bezbednosti
Ako su greške i ranjivosti stalna pojava u softveru, kako kompanije koje zavise od njega mogu da se zaštite? Kako, na primer, nova aplikacija za digitalni novčanik može biti sigurna od zlonamernih hakerskih pokušaja?
Odgovor je jednostavan: angažovanjem hakera da pokušaju da provale u tu novu aplikaciju! Zašto? Zato što je na stolu dovoljno primamljiva nagrada – nagrada za pronalaženje grešaka!
Ako vas termin „nagrada“ podseća na Divlji zapad, to je upravo ta ideja. Potrebno je motivisati najtalentovanije i najobučenije hakere (eksperte za bezbednost) da testiraju vašu aplikaciju, a ako otkriju nešto sporno, biće nagrađeni.
Postoje dva načina za to: 1) sami organizujte program za nagrađivanje grešaka; 2) koristite specijalizovanu platformu za takve programe.
Platforme za nagrađivanje grešaka: Zašto su one bolje od samostalnog organizovanja?
Zašto biste koristili platformu za nagrađivanje grešaka i plaćali je, kada možete sami da organizujete sve? Možete jednostavno kreirati stranicu sa detaljima i objaviti sve na društvenim mrežama. Ne može to biti loše, zar ne?
To jeste dobra ideja, ali pogledajmo to iz ugla hakera. Lov na greške je zahtevan posao. Potrebne su godine obuke, veliko znanje o svim aspektima tehnologije, puno odlučnosti i više kreativnosti od mnogih „vizuelnih dizajnera“. (Izvinite, nisam odoleo da ovo kažem! :-P).
Haker vas ne poznaje i nije siguran da ćete mu zaista platiti. Možda nije dovoljno motivisan. Samostalni programi za nagrađivanje grešaka funkcionišu za velike kompanije kao što su Google, Apple, Facebook, čija imena ljudi s ponosom navode u svojim biografijama. „Otkrivena kritična ranjivost u HRMS aplikaciji koju je razvila XYZ Tech Systems“ ne zvuči tako impresivno, zar ne? (Uz izvinjenje svakoj kompaniji koja se možda pronalazi u ovom nazivu!).
Postoje i mnogi drugi praktični (i važni) razlozi da ne idete sami kada su u pitanju programi za nagrađivanje grešaka.
Nedostatak infrastrukture
„Hakeri“ o kojima govorimo nisu oni koji se kriju na dark webu.
Oni nemaju vremena i strpljenja za naš „civilizovani“ svet. Ovde govorimo o istraživačima računarstva, koji su ili na univerzitetu ili se duže vreme bave traženjem ranjivosti. Ti ljudi šalju informacije u određenom formatu, na koji se nije lako navići.
Čak i vaši najbolji programeri će imati problema da to sve prate, a oportunitetni trošak može biti previsok.
Rešavanje podnesaka
Na kraju, tu je i pitanje validacije dokaza. Softver je izgrađen na determinističkim pravilima, ali se često raspravlja o tome da li je neki zahtev zaista ispunjen. Hajde da objasnimo to na primeru.
Pretpostavimo da ste pokrenuli program za nagrađivanje grešaka u autentifikaciji i autorizaciji. To jest, tvrdite da je vaš sistem siguran od prevare, koju hakeri moraju da provere.
Sada haker pronađe slabost zasnovanu na načinu na koji određeni pretraživač funkcioniše, što im omogućava da ukradu korisnikov token sesije i lažno se predstave kao taj korisnik.
Da li je ovo validno otkriće?
Iz hakerske perspektive, to je definitivno proboj. Iz vaše perspektive možda i nije, jer smatrate da ovo spada u odgovornost korisnika ili da vas pretraživač jednostavno ne zanima kao ciljno tržište.
Da se ova situacija odigrala na platformi za nagrađivanje grešaka, postojali bi arbitri da odluče o uticaju otkrića i reše problem.
Sada, pogledajmo neke od popularnih platformi za nagrađivanje grešaka.
YesWeHack
YesWeHack je globalna platforma za nagrađivanje grešaka koja nudi otkrivanje ranjivosti i bezbednost korisnika u mnogim zemljama kao što su Francuska, Nemačka, Švajcarska i Singapur. Predstavlja disruptivno rešenje za nagrađivanje grešaka, koje odgovara na povećane pretnje koje prate ubrzanje poslovnih procesa, gde tradicionalni alati više ne ispunjavaju očekivanja.
YesWeHack vam omogućava pristup virtuelnoj grupi etičkih hakera i maksimalno iskorišćava potencijal testiranja. Odaberite hakere koje želite i pošaljite im obim testiranja ili podelite obim sa YesWeHack zajednicom. Platforma prati stroge propise i standarde kako bi zaštitila interese hakera, kao i vaše.
Poboljšajte bezbednost aplikacije koristeći ekspertizu hakera i smanjite vreme potrebno za sanaciju i otkrivanje ranjivosti. Videćete razliku kada pokrenete program.
Open Bug Bounty
Da li plaćate previše za nagrade u programima za pronalaženje grešaka?
Isprobajte Open Bug Bounty za testiranje bezbednosti od strane velikog broja ljudi.
Ovo je otvorena, besplatna i direktna platforma za nagrađivanje grešaka, koju vodi zajednica. Pored toga, nudi odgovorno i koordinisano otkrivanje ranjivosti u skladu sa ISO 29147. Do danas je pomogla da se popravi preko 641 hiljada ranjivosti.
Bezbednosni istraživači i profesionalci sa vodećih sajtova kao što su WikiHow, Twitter, Verizon, IKEA, MIT, Univerzitet Berkli, Philips, Yamaha i drugi su koristili platformu Open Bug Bounty kako bi rešili svoje bezbednosne probleme, kao što su XSS ranjivosti, SQL injekcije itd. Možete pronaći visoko obrazovane i odgovorne profesionalce koji će brzo obaviti posao.
HackerOne
Među programima za nagrađivanje grešaka, HackerOne je vodeći kada je u pitanju pristup hakerima, kreiranje vaših programa za nagrade, širenje informacija i procena doprinosa.
Postoje dva načina da koristite HackerOne: koristite platformu za prikupljanje izveštaja o ranjivostima i sami se pobrinite za njih ili prepustite stručnjacima iz HackerOne da odrade teži deo posla (trijazu). Trijaza je jednostavno proces sastavljanja izveštaja o ranjivostima, njihove verifikacije i komunikacije sa hakerima.
HackerOne koriste velika imena kao što su Google Play, PayPal, GitHub, Starbucks i slični, tako da je ovo, naravno, za one koji imaju ozbiljne greške i duboke džepove. 😉
Bugcrowd
Bugcrowd nudi nekoliko rešenja za procenu bezbednosti, a jedno od njih je i nagrađivanje grešaka. Pruža SaaS rešenje koje se lako integriše u vaš postojeći životni ciklus softvera i omogućava brzo pokretanje uspešnog programa za otkrivanje grešaka.
Možete odabrati da imate privatni program nagrađivanja grešaka koji uključuje nekoliko odabranih hakera ili javni koji okuplja hiljade ljudi.
SafeHats
Ako ste kompanija koja ne želi da javno objavljuje svoj program za nagrađivanje grešaka, a u isto vreme vam je potrebno više pažnje nego što tipična platforma za nagrađivanje grešaka može da ponudi, onda je SafeHats vaš najbolji izbor (loša igra reči, zar ne?).
Namenski bezbednosni savetnik, detaljni profili hakera, učešće samo po pozivu – sve je omogućeno u skladu sa vašim potrebama i nivoom zrelosti vašeg bezbednosnog modela.
Intigriti
Intigriti je sveobuhvatna platforma za otkrivanje grešaka koja vas povezuje sa etičkim hakerima, bilo da želite da pokrenete privatni ili javni program.
Za hakere, postoji mnogo prilika koje mogu da iskoriste. U zavisnosti od veličine kompanije i industrije, nagrade se kreću od 1.000 do 20.000 evra.
Synack
Čini se da je Synack jedan od onih izuzetaka na tržištu koji su razbili kalup i postigli velike stvari. Njihov bezbednosni program Hack the Pentagon bio je veliki uspeh, što je dovelo do otkrivanja nekoliko kritičnih ranjivosti.
Dakle, ako ne tražite samo otkrivanje grešaka, već i smernice o bezbednosti i obuku na najvišem nivou, onda je Synack pravi izbor.
Zaključak
Baš kao što izbegavate lekare koji nude „čudotvorne lekove“, klonite se i web stranica ili usluga koje tvrde da mogu da obezbede potpunu bezbednost. Sve što možemo da uradimo je da se korak po korak približavamo tom idealu. Zato ne očekujte da će programi nagrađivanja grešaka proizvesti aplikacije bez grešaka, već na njih gledajte kao na ključnu strategiju za uklanjanje onih najgorih ranjivosti.
Pogledajte ovaj kurs za lov na greške da učite, postanete poznati i zaslužite priznanje i nagrade.
Saznajte više o najvećim programima za nagrađivanje grešaka na svetu.
Nadam se da ćete uništiti mnoge greške! 🙂