Vitajte pri úplne netradičnom blogu na Pseudocaste. Tentokrát sa budem venovať IT, v princípe tomu, čo robím každý deň. Pozrieme sa na počítačovú bezpečnosť, konkrétne na to, ako zistiť, či naše heslo bolo hacknuté alebo je v zoznamoch už uniknutých hesiel a teda nie je bezpečné ho ďalej používať. Nápad na tento blog som dostal potom, čo pár známym prišlo na ich mailové adresy vydieranie v štýle: Toto je heslo, ktoré ste použili pre niektorý z Vašich účtov a máme Vás nasnímaného pri súkromných aktivitách cez vašu webkameru. Ak nepošlete určitú sumu Bitcoinov na danú adresu, všetko zverejníme.
V prvom prípade netreba robiť paniku. V žiadnom prípade neposielajte peniaze, lebo ich už nikdy neuvidíte. A aj keby náhodou na vás útočníci mali nejaké kompromitujúce dáta, tak vám zaplatenie ani zďaleka nezaručí, že ich nezverejnia.
V prípade seriózneho a opakovaného vydierania, by bolo vhodné asi kontaktovať políciu.
Poďme sa pozrieť na to, ako si overiť, či heslo už bolo zverejnené v niektorých zoznamoch a vo veľkých hackoch/únikoch.
Existuje na to úplne úžasná stránka: https://haveibeenpwned.com/
Autor pripravil zoznam všetkých uniknutých účtov, hesiel, emailov a podobne. Na stránke si môžete overiť, či váš účet používa heslo ktoré je s veľkou pravdepodobnosťou súčasťou slovníkov používaných pri takzvanom slovníkovom útoku (dictionary attack). Pre osoby rovnako alebo ešte viac paranoidné ako som ja, je určený nasledujúci krátky návod, ako využiť API stránky, ktoré sú fakt bezpečné a veľmi dobre zvládnuté po technickej stránke, za čo autorovi patrí neskutočná vďaka. Ak by ste ho chceli podporiť, informácie ako na to sú na jeho webe.
Najprv si trochu popíšeme, ako to funguje pre heslá:
Autor má na stránke uložené všetky heslá, ktoré unikli a boli zverejnené na torrentoch. Zoznam uniknutých hesiel si môžeme stiahnuť aj priamo z torrentov. Viac informácií je dostupných na spomenutej stránke.
Heslá sú zašifrované SHA-1 algoritmom. Autor rozdelil každý jeden hash uniknutých hesiel na dve časti. Prvá časť pozostáva z reťazca o dĺžke 5 znakov zo začiatku hashu (prefix). Druhá časť je tá, ktorú nám API pošle späť, a to je 6-ty až posledný znak hashu (suffix), potom nasleduje dvojbodka a počet koľkokrát sa heslo nachádza v uniknutých dátach.
Takže pomocou API vieme získať všetky hacknuté heslá, ale iba ich poslednú časť (suffix). Na základe reťazca piatich znakov, ktorý posielame, autor nevie presne naše heslo a my dostaneme v priemere okolo 300 až 500 záznamov späť (pri aktuálnej veľkosti databázy). Potom z odpovedí si môžeme na základe nami vygenerované hashu vyhľadať, či naše heslo bolo vyzradené. A teraz už k technickej časti. Pre nasledujúci postup odporúčam mať nainštalovaný Linux alebo Cygwin na Windowse, nakoľko je to pohodlnejšie. V Cygwine budeme potrebovať nasledujúce príkazy: curl, sha1sum, echo, tr a grep.
Vzorový postup:
Zakryptujeme heslo Start123 pomocou SHA-1 a zmeníme všetky písmena na veľké:
$ echo -n „Start123“ | sha1sum | tr [a-z] [A-Z]
0F8C3907779FA0A1B6247CD751EA6C26FBE8E445 *-
Vezmeme prvých 5 znakov hashu, v mojom prípade 0F8C3.
Pomocou príkazu curl spravíme GET z nasledujúcej adresy, prípadne môžete použiť prehliadač a potom vyhľadávať v ňom.
https://api.pwnedpasswords.com/range/0F8C3
Vzorový príkaz s presmerovaním výstupu do súboru hash_test.txt:
curl https://api.pwnedpasswords.com/range/0F8C3 > hash_test.txt
Výstup:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 22621 0 22621 0 0 53736 0 –:–:– –:–:– –:–:– 53731
Ak sme dostali správnu odpoveď, tak súbor hash_test.txt bude obsahovať suffixy pre náš rozsah. Pár vzorových riadkov:
FB1E2D017E6EDDCDB6D2D1EA3F91829C7EB:2
FCD83A615B5D8F16065E700A92E05600038:2
FD36176BBDF4140574CEBC153F56B4F03C2:1
FD585EC1BEE116475E02C24A6606FD21AEF:2
FE574E898FD1515A3B27D21378657D3E8E9:1
FE6A39C5566F199ACD36542428E51A4A6A1:2
FE6D61694E682C26716FDDC07FBFEE80E79:2
FE9EE57EB5DDCDE94500584B03D07F9C2E4:1
FF822E69C0D65BA2927B2E90C20D3E3217E:3
FFCF2797D488D97683F916B5D7637D8A5ED:1
Overíme si, či náš suffix je v súbore:
grep 907779FA0A1B6247CD751EA6C26FBE8E445 hash_test.txt
907779FA0A1B6247CD751EA6C26FBE8E445:2814
Tu môžeme vidieť, že heslo Start123 sa našlo v zverejnených heslách až 2814-krát, a teda nebude vhodné takéto heslo používať.
A keďže už vieme, ako zistiť, ktoré hesla boli uniknuté, tak si v skratke môžeme povedať, ako si vytvárať heslá pre svoje účty. Žiaľ, tu musím povedať, že bezpečnosť väčšiny inštitúcií žije 30 rokov v minulosti, a to sú všetky tie stránky, ktoré si od vás vynucujú heslá vo formáte veľké písmeno, malé písmeno, špeciálny znak, číslo a maximálne 10 znakov. Keďže komplexnosť hesla stúpa exponenciálne s každým ďalším pridaným znakom, ideálnym nástrojom na tvorbu hesiel je náš vlastný život, lebo také heslo jednoducho nezabudneme. Čím je heslo dlhšie, tým je náročnejšie rozlúsknuť ho pomocou nástrojov na automatické hádanie hesiel. Heslo si môžeme vytvoriť nasledovne. Vezmeme si každodennú činnosť, ktorú robíme dlhú dobu a poskladáme jednoduchú vetu, napríklad:
Každé ráno vstávam do práce cez pracovný týždeň o 6:00.
Alebo:
Autobus do práce mi odchádza zo zastávky „doplňte názov zastávky“ (môžete pridať aj čas) o 7 20.
Heslo by malo byť vytvorené bez diakritiky, lebo veľa služieb má s našimi háky báky problém. Zopár ďalších príkladov:
Svadbu sme mali v Hornej Dolnej v kalvinskom kostole svateho Jana
Promoval som v statnom divadle s cervenym diplomom v maji
Ako dieta som chodil do Zakladnej skoly Mudreho Rafaja
Fantázii sa medze nekladú. Hlavné je, aby heslo bolo ľahko zapamätateľné. Ideálne je niečo, čo si už pamätáte. Treba dodržať aj maximálny počet znakov, čo platí obzvlášť pre staršie stránky.
Ak by ste mali akékoľvek otázky, tak nás neváhajte kontaktovať.
Zdroje :
Používaš na každú službu iné heslo? Často sa odporúča mať rôzne heslá, ale bez LastPassu alebo iného správcu mi to príde nereálne. Som zaregistrovaný do rôznych fór a obchodov, kde chodím tak raz za rok a nie je šanca si to zapamätať. Na druhú stranu, používať jedno heslo alebo malú skupinu, je pri frekvencii únikov databáz otrava, keď potom treba všetko meniť. Je podľa teba správca hesiel tá najlepšia cesta. Čo radíš?
Ked uz spravcu tak vyber z tych offline napr KeePass.
Ja pouzivam rozne hesla vsade. A presne koli roznym obchodom pouzivam KeePass na ukladanie keby som náhodou zabudol kde co mam.