Hackovanie nie je akčný film. Je to zdĺhavá manuálna robota, hovorí etický hacker

Ďalší článok
blog_banner_eset_banner

Odhaľujú slabé miesta stránok, sietí a aplikácií ešte pred tým, ako ich zneužijú hackeri. Ich služby sú vo svete i na Slovensku čoraz žiadanejšie. Etickí hackeri používajú techniky skutočných zločincov, aby odhalili systémové zraniteľnosti. S Tomášom Ležovičom, etickým hackerom spoločnosti ESET, sme sa rozprávali o tom, ako táto práca vyzerá v realite.

V rozhovore sa dozviete:

  • Čo robí etický hacker?
  • Ako prebieha hackerský útok?
  • Kam sa dá preniknúť cez obyčajnú webstránku?
  • Aké percento e-shopov obsahuje zraniteľnosti?
  • Je na internete bezpečnejšie ako v minulosti?

Názov tvojej pozície je penetračný tester. Čo si pod tým mám predstaviť?

Vo svete je taktiež známe pomenovanie etický hacker. V podstate je našou prácou nájsť zraniteľnosti v rôznych systémoch. Vo väčšine prípadov sme zašití niekde v bankách, alebo iných finančných inštitúciach, pretože ich systémy majú legislatívnu povinnosť prejsť penetračným testom, aby neobsahoval diery, ktoré by mohli zneužiť zlí hackeri. Samozrejme, nerobíme iba pre banky, ale aj pre iné súkromné či štátne subjekty. Takéto testy robíme aj interne pre naše vlastné produkty a služby v rámci ESETu.

 

Ako taký test vyzerá v praxi?

V rámci penetračného testovania existuje viac oblastí, ktorým sa vieme venovať. Najčastejšie sú to napríklad sociálne inžinierstvo,  webové alebo mobilné aplikácie a poprípade nejaká infraštruktúra a sieť. V rámci nich skúšame nájsť slabé miesta, ktoré by sa dali zneužiť.

 

Skúsme si tieto tri oblasti priblížiť, začnime sociálny inžinierstvom.

Pri sociálnom inžinierstve sa chce zákazník, povedzme nejaká banka, uistiť, že má dobre nastavené procesy. Na zamestnancov napríklad posielame podvodné e-maily, skúšame ich zamestnancov telefonicky kontaktovať, prípadne vyskúšať aj fyzický prienik, čo je však skôr výnimočné. Najzábavnejšie sú asi tie telefonáty. Cieľom týchto akcií je presvedčiť zamestnanca, aby s vami spolupracoval. Môže vám dať napríklad prístup do počítača alebo prezradiť citlivé údaje.

 

Druhou kategóriou boli webové a mobilné aplikácie, o čo ide?

Ide o najčastejšiu kategóriou, kam spadajú aj e-shopy. Nedávno vstúpilo do platnosti nariadenie GDPR, takže si chcú byť firmy isté, že im neuniknú citlivé údaje o používateľoch. V tomto prípade sú jasne dané metodológie, čo má takýto web spĺňať. Ide však aj o interné firemné aplikácie, rôzne mobilné aplikácie, či jednoduché webové produktové podstránky. Všetky tieto veci nazývame webovými alebo mobilnými aplikáciami.

 

Poslednou spomenutou oblasťou bola infraštruktúra a sieť.

Táto oblasť sa trochu kríži so sociálnym inžinierstvom a niekedy aj s fyzickým prístupom. Firmy chcú vlastne zistiť, či sú dobre zabezpečené z hľadiska infraštruktúry. Väčšinou to vyzerá tak, že prídeme s notebookom k nim do kancelárie, pripojíme sa na sieť a skúšame, kam sa až dostaneme. Občas hráme účastníkov pracovného pohovoru, ktorí sa pripoja do siete pre návštevy. Chvíľu sme teda sami v miestnosti, máme tam zásuvku na internet, kde sa pripojíme a skúšame. Nedávno sa nám z jednej zasadačky podarilo dostať do siete medzinárodnej spoločnosti z finančného prostredia až na globálnej úrovni. Mali sme prístup aj do jej zahraničných pobočiek, dostali sme sa k dátam, kamerovým záznamom a podobne. Na takýto útok však treba mať už nejakú technologickú znalosť a v prípade reálneho útoku aj odvahu, keďže tam človek musel fyzicky sedieť.

 

Koľko trvá takýto penetračný test?

Je to veľmi individuálne, no skúsim dať aspoň približné odhady. Pri bežnom e-shope, ktorý nie je zložitý, je to tak päť až sedem dní pokiaľ sa rozprávame o teste webovej aplikácie. Ak by sme k tomu pridali aj sociálne inžinierstvo, tak na prípravu podvodných e-mailov či telefonátov treba ďalšie tri až štyri dni a pri testovaní infraštruktúry je to na približne dva až tri dni, keďže človek musí najskôr fyzicky prísť k zadávateľovi a potom ešte zanalyzovať získané dáta.

 

Ako často ste pri týchto testoch úspešní?

To záleží od toho, ako si zadefinujeme cieľ. To, že sa napríklad cez e-shop dostaneme priamo do admin systému sa nestáva až tak často. Je to možno jeden z desiatich prípadov. Väčšinou nachádzame bežnejšie zraniteľnosti, ktoré nie sú až tak závažné, avšak útočník by ich mohol aj tak zneužiť. Úspešnosť testu teda závisí od zadefinovaných cieľov. Ak si zadefinujeme infiltráciu tak, že cez e-shop získam prístup do siete a kompletný prístup k nejakému serveru, to je zriedkavé. Nastáva to možno v 5 % prípadov.

 

To nie je malá úspešnosť. Ak v 5% prípadov dokážem získať plnú kontrolu nad serverom, alebo v jednom z desiatich prípadoch získam nejaké dáta, to vôbec nie je málo.

Áno, je to tak. Etický hacking je navyše o tom, že máme cieľ a snažíme sa ho infiltrovať. Z pohľadu útočníka však nie je ani tak dôležité, na koho útočí, ale akú zraniteľnosť pri tom použije. Totižto, veľa e-shopov používa voľne šíriteľné frameworky a keď sa tam objaví chyba, útočníkovi stačí vyhľadať e-shopy s konkrétnou verziou tohto frameworku. Google mu jednoducho vyhľadá zoznam takýchto e-shopov a útočník má ihneď k dispozícií zoznam potenciálnych cieľov, na ktoré môže útočiť a bude úspešný. Reálne útoky sa najčastejšie dejú práve takto.

 

Stalo sa, že nejaký projekt prešiel tvojim testom s tým, že je bezpečný a následne ho niekto hackol?

Nám sa to našťastie ešte nestalo a držíme si v tomto smere čistý štít. No teoreticky je to samozrejme možné. Je to z časti dané aj zadaním testu. Ak sa jedná o tzv. blackbox test, máme v zadaní len url adresu a nevidíme do vnútra systému. Tu je šanca nájsť zraniteľnosť po našom teste vačsia, hlavne ak je útočník niekto, kto daný systém pozná dlhší čas aj z vnútra. Ak však získame aj prístup k systémovým zdrojovým kódom, ktoré bežný používateľ nevidí, tak si tam tú cestičku často nájdeme. Potom ju už len vyskúšame z používateľského hľadiska a ono to funguje. Ak teda napríklad nejaký vývojár dostane výpoveď, a vie, čo sa nachádza vo vnútri, môže po čase prísť na to, ako sa dá nejaké slabé miesto zneužiť.

 

Ako si máme vôbec predstaviť tvoju prácu? Bežný človek si asi predstaví človeka za počítačom, ktorý dokáže z jednej miestnosti na počkanie hacknúť štátne inštitúcie, ako tomu býva v hollywoodskych filmoch.

Táto predstava je bežná, ale samozrejme je dosť mimo reality. Skúsim to ilustrovať na príklade e-shopu, pretože s tým sa ľudia stretávajú bežne. Ako som spomínal, väčšinou dostaneme iba url adresu obchodu, aby sme simulovali scenár bežného užívateľa. Potom začína veľmi nezaujímavá práca, je to strašná „piplačka“. Prechádzanie zdrojového kódu stránky, analýza jednej podstránky za druhou, vyplňovanie všetkých formulárov na stránke a skúšanie všetkej možnej funkcionality tak, ako by použiť nemala ísť. Nie je to teda tak, že si sadnem za počítač a začnem búchať do klávesnice, vybehne mi „Prístup Povolený“. Je to zdĺhavá manuálna práca.

 

Predstava, že hacker píše do príkazového riadku príkazy a popri tom hovorí, že prešiel prvú či druhú vrstvu je teda ilúzia.

Povedal by som, že áno. Toto sa deje skôr pri teste infraštruktúry, kde sa naozaj snažíme dostať cez nejaké vrstvy, firewall a podobne. Pripojíme sa do dostupnej siete a snažíme sa cez ňu dostať do vnútorných systémov, kam by sme prístup mať nemali. Nie je to však časté a bežných ľudí sa to veľmi nedotýka. 

Základným zraniteľnostiam sa dá vyvarovať ľahko

Skúsme byť teraz konkrétnejší. Dá sa cez jednoduchú podstránku dostať do systému firmy?

Nie je to tak časté, ale áno. Práve teraz riešime jeden prípad, kedy sa nám z jedinej jednoduchej podstránky podarilo dostať do celého serveru. V rámci pravidiel etického hackingu by sme sa v tomto bode mali zastaviť, pretože sme už mimo testovaného predmetu - webovej stránky v infraštruktúre, teda v ďalšej oblasti. Kontaktovali sme však klienta, či môžeme pokračovať a on nám to povolil. Skúšame sa teda dostať ešte ďalej. 

 

Z jednoduchej produktovej podstránky sa dá dostať na server firmy? To je šokujúca informácia. Sú tvorcovia stránok takí nepozorní?

Aj pre mňa bolo toto zistenie šokujúce, keď som začínal s etickým hackovaním. Dnes vidím, že je to celkom bežné. Určite za to môže aj nepozornosť vývojárov, no podľa mňa ide hlavne o nevedomosť. Firmy si často najímajú vývojárov z radov absolventov vysokých škôl, pretože ich je málo a títo ľudia často nemajú skúsenosti z hľadiska bezpečnosti. Väčšinou dostanú zadanie, aby niečo fungovalo určitým spôsobom, čo aj urobia. Navyše to chcú nadriadení čo najrýchlejšie a najlacnejšie. Neuvedomujú si pri tom, čo všetko za tým je. My vyhľadávame zraniteľnosti, teda slabé miesta, ktoré sa dajú zneužiť. Tie najčastejšie sa opakujú už niekoľko desiatok rokov. Odkedy vznikla iniciatíva OWASP, približne každé dva roky vychádza rebríček najčastejších zraniteľnosti a takmer vždy sú tam tie isté veci. Mení sa prakticky len ich poradie.

 

Ak by si teda vývojár pozrel tento zoznam, dokázal by predísť množstvu chýb?

Určite. Minimálne tých základných chýb, ktoré nám dovoľujú dostať sa k ďalším chýbám. Ono je to väčšinou reťazová reakcia. Na začiatku stačí malá chybička, od ktorej sa dostaneme ďalej. Ak by vývojári eliminovali aspoň tieto základné chyby a možno mali pár školení na túto tému, určite by to zvýšilo bezpečnosť týchto aplikácií a stránok.

 

Skúsme si to vysvetliť na príklade. Dá sa cez stránku obyčajného e-shopu dostať do systému prevádzkovateľa a získať dáta o užívateľoch ako osobné údaje, či údaje o platobných kartách?

Zovšeobecniť sa to samozrejme nedá. Väčšie e-shopy aj u nás na Slovensku už postupne prechádzajú penetračnými testami a dávajú si na to pozor. Majú veľké tímy a bezpečnosti venujú nemalé ľudské a finančné prostriedky. Napriek tomu sa stane, že niekto nájde aj jednoduchú zraniteľnosť. Práve včera vyšla správa, že jeden známy slovenský obchod, ktorý nemôžem menovať, obsahoval základnú zraniteľnosť, ktorú by vedel zneužiť aj dobre informovaný užívateľ internetu. Nemusel by to byť ani hacker.

 

Vieš to jednoducho popísať tak, aby to pochopil aj bežný užívateľ?

Po platbe sa zákazníkovi štandardne vygeneruje faktúra alebo potvrdenie objednávky v PDF, ktorá obsahuje údaje zákazníka. Vygenerovaný dokument sa nachádza na url adrese, ktorá sa končí číslom. Ak si niekto toto číslo upravil, napr. od neho odčítal jednotku, dostal sa k údajom predchádzajúceho zákazníka.

 

Z tvojich príkladov mám pocit, že nie je náročné ani vzácne infiltrovať sa do firemných systémov.

Žiaľ, je to tak. Nie je to nič zvláštne. Človek, ktorý sa tomu začne venovať, po nejakom čase získa určitú znalosť o zraniteľnostiach a sleduje, čo sa deje vo svete, vie pomerne jednoducho zneužiť tieto vedomosti.

 

Netrpíš profesionálnou deformáciou? Keď nakupuješ na internete, hľadáš chyby a potom kontaktuješ zákaznícky servis daného obchodu?

Deformácia tam určite je a minimálne tie základné reťazce zraniteľností si vyskúšam vždy. Na druhej strane s písaním na zákaznícky servis je to zložité, pretože je tam otázna hranica legálnosti. Akonáhle by som sa reálne dostal do systému a aj to nahlásil, môžu sa k tomu postaviť dvojako. Buď sa mi poďakujú a opravia to, na čo sú aj tzv. bug bounty, čiže odmeny za nájdenie zraniteľností. Ale môžu sa do toho zapojiť aj právnici. Myslím, že v Maďarsku bol aj prípad, kedy sa jeden hacker dostal za niečo podobné do vezenia aj napriek tomu, že zraniteľnosť hneď nahlásil.

 

Robil si v rámci penetračného testovania aj útoky na konkrétneho človeka? Napríklad, dostať sa do počítača konkrétneho CEO?

V rámci sociálneho inžinierstva máme aj cielené útoky. Väčšinou to ale nie je jeden človek. Skôr dostaneme zoznam napríklad piatich ľudí a na nich skúšame techniky sociálneho inžinierstva. Paradoxne to často nebýva CEO, alebo top manažment, ale ľudia, ktorí majú určité oprávnenia v systémoch. Neraz to býva HR oddelenie, ktoré má prístup k ľuďom a ich osobným údajom. Niekedy nám to je aj ľúto, pretože ideme volať človeku s tým, že ho ideme oklamať. Na druhej strane je lepšie, ak to spravíme my. Skutočný útočník by získané dáta zneužil.

 

Vieme pomenovať najčastejší spôsob útoku? Spomínal si využitie zraniteľností, je aj nejaká ďalšia aktívna taktika, ako sa dostať do systému firmy či štátnej inštitúcie?

Ak teda opomenieme zraniteľnosti, potom ide asi najmä o  techniky sociálneho inžinierstva a úplne najbežnejším spôsobom je spam alebo niekedy zložitejší phishing. S ním sa stretol asi každý človek, ktorý má e-mailovú schránku. Keď človeku príde takýto e-mail, pravdepodobne sa zasmeje a vôbec si neuvedomí, že je to v podstate útok. Mali sme prípad, kedy pani na obecnom úrade reagovala na e-mail v lámanej Slovenčine, ktorý mal v hlavičke podpis nadriadeného. Vymenili si pár správ a skončilo to tak, že pani účtovníčka poslala 38 tisíc eur útočníkovi. Spam alebo phising je teda problémom fyzických osôb, firiem, aj štátnych inštitúcií a sú v tom nemalé peniaze.

 

Rozprávali sme sa o infiltráciách do firiem. Existujú nejaké praktické pravidlá aj pre bežných používateľov?

V prvom rade sa zamyslieť, či ten, kto odo mňa žiada nejaké údaje, ich aj naozaj potrebuje. Ak si chcem niečo kúpiť na e-shope, na čo potrebujú moje rodné číslo? Ďalším odporúčaním je mať v každej službe iné heslo, pretože úniky prístupových dát sú naozaj bežné. Toto opakujeme pravidelne, napriek tomu to patrí k najčastejším problémom. Ak mám v každej službe rovnaké prístupové údaje, stačí jediný únik a útočník má prístup do celého môjho života. Ideálne by bolo meniť si nie len prístupové heslo, ale vytvoriť si aj samostatný e-mail pre každú službu. Dobré je aj nezverejňovať zbytočne svoju e-mailovú adresu, aj keď samá o sebe nie je použiteľná. No ak ju útočníci nebudú poznať, nemôžu na ňu posielať podvodné e-maily. Treba si dávať pozor aj na odosielateľov e-mailov. Nestačí sa pozrieť iba na meno odosielateľa, ale aj na e-mailovú adresu a podobne. Toto sú také najčastejšie odporúčania. Vo všeobecnosti platí, že treba byť ostražitý.

 

Rozprávali sme sa najmä o hrozbách. Vidíš však aj pozitívny trend v bezpečnosti či už vo firmách, alebo pri bežných používateľoch?

Firmy si určite dávajú väčší pozor. Čím ďalej tým viac využívajú aj penetračné testovanie a záleží im na bezpečnosti svojich systémov. Na druhej strane nevidím zlepšenie na strane vývojárov. Tam je to, žiaľbohu, asi stále o tom istom. Určite sa zlepšujú technické zabezpečenia iných strán, ktoré ľudia ani nevnímajú, napríklad zabezpečenie webového prehliadača. V minulosti prešlo veľa útokov bez problémov práve cez prehliadač. Dnes vás prehliadač aspoň upozorní, že je nejaká akcia nebezpečná, alebo konkrétna stránka podvodná. Technické veci sa teda zlepšujú, ale ľudia zostanú ľuďmi a s tým treba počítať. 

Tomáš Ležovič

V minulosti IT-čkár, vývojár webových a mobilných aplikácii pre medzinárodnú leteckú spoločnosť. Práve tam prvýkrát podľahol čaru internetovej bezpečnosti. Tá ho zaujala natoľko, že sa dnes venuje internetovej bezpečnosti ako penetračný tester v spoločnosti ESET.