7. Projekt Atropa: Ako sa brániť?
Raspberry Pi Hacks – Facebook – V predchádzajúcich šiestich dieloch tohto seriálu sme si ukázali, ako za pomoci Raspberry Pi, Raspbian Linuxu a ASP.NET 5 rozbehnúť Honeypot. Teda “zlé” Wi-Fi AP, ku ktorému sa ktokoľvek môže pripojiť, ale bude vyzvaný na zadanie hesla do niektorej z populárnych služieb, či sietí. Heslo bude zaznamenané, ale užívateľ sa nikam nepripojí – zariadenie ani nemusí mať prístup k Internetu. Záverečný diel ukáže, ako sa podobným útokom brániť.
Obrana z pozície postytovateľa servera
Tento útok je zákerný tým, že útočí na mäso, nie na kremík. Snažíme sa zmiasť používateľa, nie počítač. A z toho vyplýva, že v podstate jediný, kto sa môže brániť, je užívateľ, nie prevádzkovateľ cieľovej služby (teda tej, ktorej heslo sa snažíme vylákať). Po čisto technologickej stránke prevádzkovateľ služby, ktorej heslo sa snažíme získať, nemôže urobiť vôbec nič, aby nám v tom zabránil. Jedinou obranou je zavedenie nejakej inej formy autentizácie, než je meno a heslo. Napr. klientské certifikáty cez HTTPS. Ale to je u služieb, na ktoré sa týmto štýlom dá útočiť, v podstate nemožné.
Môžu tu pomôcť jednorazové heslá, ale len obmedzene. V prvom rade, program nie je navrhnutý na to, aby sa na jednorazové heslá písal, ale je možné ho takto ľahko upraviť. Zneužiteľnosť takto získaného hesla je však dosť obmedzená, pretože heslo platí typicky len desiatky sekúnd až jednotky minút. Honeypot teda nebude možné použiť štýlom “nasadiť, zabudnúť a potom si prísť pre úlovky”. Pre zneužitia vrátane jednorazových hesiel by musel byť vyťažovaný priebežne. Takže jednorazová hesla je možné považovať za celkom dobrú obranu.
Jedinou skutočne spoľahlivú obranou je vzdelať užívateľa, aby jednoducho nezadalo heslo inde, než na tej správnej doméne a aby si skontrolovali, že na neho pristupujú cez HTTPS, najlepšie podporené HSTS. Napríklad tak, ako to robí slovenská Azet.sk:
To však môže byť trochu komplikované. Po prvé, vizuálna podoba notifikácií sa v jednotlivých verziách prehliadačov mení a ako vidíte, napríklad s Microsoft Edge si Azet.sk ešte úplne neporadil. A za druhé, keď to užívateľa naučíte, musíte to dodržať. Čo sa Azet.sk nedarí už vôbec. Dá sa predpokladať, že veľa užívateľov bude zadávať meno a heslo na homepage, ktorá je však dostupná výhradne cez HTTP (ak sa pripojíte na HTTPS, budete presmerovaný na nezabezpečenú verziu):
Český Seznam.cz na to ide zase trochu opačne. Na homepage (konečne, hurá) už nejakú dobu zelený certifikát, HTTP a HSTS má, avšak prihlasovací formulár odosiela na nie príliš dôveryhodne vyzerajúce doménu szn.cz:
Na tú istú doménu budete presmerovaný tiež, ak sa pokúsite pristúpiť napríklad priamo k e-mailovej službe na doméne email.seznam.cz:
Všetky uvedené adresy sú síce zabezpečené cez HTTPS, ale len www.seznam.cz má EV certifikát, prihlasovací server nie a chýba v ňom tá známa značka “seznam.cz”.
Ako sa brániť z pozície užívateľa
Základné pravidlo je, zadávať meno a heslo k službe iba v prípade, že ste si istí, že sa pozeráte na web danej služby. Teda vidíte tú správnu doménu druhej úrovne a zároveň komunikácie beží cez HTTPS. Ak sa niekde používa prihlasovanie pomocou externých identity providerov, tak sa dnes užíva výhradne protokolov ako je OAuth, ktoré zabezpečia, že heslo zadávate priamo pri cieľovej služby a nie na stránkach nejakej tretej strany.
Je pravdepodobné, že útokov na užívateľov bude pribúdať, pretože je to proste jednoduchšie a ľahšie. Obrana je, všeobecne, iba jedna. Ako hovoril Mad-Eye Moody, “constant výstražnému”.
Odkaz na nasledujúci – budúci článok.
- Projekt Artropa: Ako vyrobiť z Raspberry Pi zlé zariadenie s NETom
- Projekt Atropa: Sprevádzkovanie Raspberry Pi a Raspbian Linuxu
- Projekt Atropa: Ako spojazdniť ASP.NET 5 na Linuxe
- Projekt Atropa: Automaticé spustenie webu a publikaci prostredníctvom nginx
- Projekt Atropa: Vytvárame Honeypot
- Projekt Atropa: Vytvárame captive portál
- Projekt Atropa: Ako sa brániť?