it-swarm-eu.dev

Jak spolehlivá je kontrola síly hesla?

Testoval jsem tento nástroj od společnosti Microsoft, který je k dispozici zde který testuje sílu hesla a hodnotí je. U hesla, jako je „Dnes večer budu na oběd“, nástroj hodnotí jeho sílu jako „NEJLEPŠÍ“ a pro heslo, jako je „th1 $ .v4l“, hodnotí to jako „Střední“.

Zajímalo by mě, jak důležitá je délka hesla. V tomto případě je první heslo lepší podle jejich nástroje, ale je to opravdu lepší? Je založen na slovnících slov a kromě mezer nemá žádnou kombinaci čísel a jiných znaků a zdá se být velmi snadno crackovat (nebere v úvahu hrubou sílu).

Poskytuje tento nástroj přednost před délkou namísto skutečné síly?

74
iijj

„Nezohledňuje hrubou sílu“ - přesně to měří tyto nástroje.
Je zřejmé, že nezkoušejí sociální inženýrství nebo se snaží zjistit, zda se jedná o narozeniny psa první přítelkyně uživatele. Útočník by to mohl vědět, ale tyto nástroje ne.

To, co dělají, je jednoduše obtížnost nástroje pro broušení. Ani entropie hesla, která je atributem metody generování, je to jen odhad toho, jak dlouho by bruteforcingovému nástroji trvalo úspěšné nalezení správného hesla.
Entropie na to samozřejmě působí, ale záleží pouze na entropii , ne entropii na znak. Takže ano, mít spoustu rovnoměrně pravděpodobných možností pro každou postavu se přidává k entropii, ale délka může hrát ještě důležitější roli při vytváření hesla, které nelze zrušit, zvýšením entropie na znak na vyšší sílu, podle charakteru počet. To vede k mnohem vyšší celkové entropii , což je jediné, na čem záleží.

Takže ve vašem případě - ano, 32-znaková, pouze alfa přístupová fráze je mnohem silnější než heslo s 8 znaky interpunkce.


Pokusím se tu trochu udělat matematiku: (opravte mě, když se mýlím):

Předpokládáme-li standardní klávesnici ve stylu USA, existuje 85 možných tisknutelných znaků (možná bude možné seškrábat několik dalších, ale teď to necháme jít): malá písmena + velká písmena + číslice + standardní interpunkce + mezera.
To poskytuje ~ 6,3 bitové síly na znak; při délce 8 znaků heslo vám dává sílu ~ 50,4 bitů.
Všimněte si opravdu velmi silného ... I když hodíme několik dalších „speciálních“ postav, nebudete to moc upgradovat.

Nyní, pro vaši 32 postavu, alfa-přístupové fráze ...
Předpokládejme pouze malá a velká písmena (i když jste je nepoužívali), plus mezeru (U + 32). Ani číslice ...
Takto získáte 54 možných znaků, přibližně ~ 5,8 bitů na znak. Při délce 32 znaků to je přes 185 bitů. Podstatně silnější. A to i bez číslic, které jsou obvykle přijímány i v „jednoduchých“ schématech hesel.


Bruce Schneier často hovoří o tom, jak by přechod na dlouhé zapamatovatelné přístupové fráze byl mnohem bezpečnější než krátká náhodná podivná hesla.
Nyní vidíte proč.

60
AviD

Bojíte se, že protože přístupové fráze používají slovníky, může být snazší crackovat než něco, co musí být brutálně vynuceno.

tl; dr: Toto je platný teoretický strach, ale právě teď to není praktické.

„Dnes večer budu na oběd“ je pětikvětová fráze používající slova z nejběžnějších 5000 v anglickém jazyce. Naivně, hádat, že je izomorfní uhodnout 5místné heslo v 5000místné abecedě, což je 3x10 ^ 18 možností. To je stejné jako heslo s 10 znaky pomocí velkých a malých písmen, čísel a symbolů.

Samozřejmě, dostatečně chytrý krakovací program by to mohl značně snížit. Věta je standardní anglická próza, která se řídí tak přísnými pravidly, že má rychlost informační entropie asi 1 bit na dopis . To znamená, že vaše věta má 33 bitů entropie, takže je složitá pouze jako naprosto náhodné heslo s 5 tisknutelnými ASCII znaků).

To není příliš složité.

Chcete-li však využít tento nedostatek složitosti, potřebujete specializovaný „anglický passphrase cracker“, který by mohl optimalizovat něco jako modelování řetězců markovů do jader pro zpracování GPGPU. Podle mého nejlepšího vědomí, nic takového se v tuto chvíli ani nevyvíjí. Pokud tedy někdo, kdo má prostředky k vytvoření tohoto softwaru, nechce vaši přístupovou frázi, měli byste být na chvíli v bezpečí.

17
user502

Entropie je zvláštní věc měřit.

Speciální publikace NIST 800-63, Pokyny pro elektronické ověřování nezahrnuje návody pro odhad síly hesla:

Entropie se velmi liší v závislosti na tom, zda je heslo vybráno uživatelem nebo zda je generováno náhodně. Statisticky je uhodnutí prvního znaku hesla vybraného uživatelem obtížné, ale uhodnutí druhého je snazší a třetí je snazší. Pokyny NIST dávají prvním znakům 4 bity entropie při použití 94 znaků dostupných na standardních klávesnicích, ale pouze 2 bity pro každý z následujících sedmi znaků atd.

Náhodně vybraná hesla nezobrazují vzory, takže každý znak nese stejnou úroveň entropie, asi 6,6 bitů.

To znamená, že osmimístné heslo vybrané uživatelem má 18 bitů entropie, zatímco náhodné heslo stejné délky má asi 52,7 bitů.

Jinými slovy, pokud můžete určit první 3 znaky mého hesla, jsou

Hrůza

Pak jsou šance na další znak s mnohem vyšší, než je *.

Když tedy řekneme, že znak hesla může být libovolný znak, není to pravda; většina lidí používá slova, která v nich mají silné vzorce a implicitně redukuje možnou sadu následujících znaků - čímž vytváří heslo s nižší entropií (náhodnost).

15
Jeff Atwood

Nejsem si jistý, jak je „dnes večer na oběd“ zranitelný slovník, jeho fráze v sedmi slovech. Kde "th1 $ .v4l" je dvě slovní spojení s připojením znaku a nahrazování znaků něco, s čím se crackery zabývaly od té doby, co se zdá navždy.

Několik testerů hesel používá cracklib + ajax jako testy s malou základnou pravidel k vyřazení vašeho hesla „this.val“.

14
hpavc

Otázka spolehlivosti kontrolerů síly hesla se také vztahuje na bezpečnost kontroléru obecně. Je strašidelné vidět nárůst online měřičů síly hesla. Zbytečně vystavujete své heslo některým webům na internetu! Dokonce i místní aplikace pro kontrolu hesla mohou být nebezpečné. Nelze věřit tvrzením, že web používá javascript a nikdy nepřenáší heslo přes internet. Některé weby pro testování síly hesla jsou určitě provozovány černými klobouky, které je prostě přidávají do svých slovníků, spolu s dalšími informacemi, které o vás mohou získat. Ostatní weby provozují lidé s dobrými úmysly, ale pravděpodobně se špatnými implementacemi, jako je zranitelný server nebo nedostatek https. A ještě jiní jsou zranitelní vůči útokům „úřadů“, kteří mají způsoby, jak přimět web, aby odhalil např. hesla zadaná v určitých rozsazích IP adres.

Navrhuji, aby každý, kdo takový web používá, nikdy neodeslal heslo, které skutečně zamýšlí použít.

8
nealmcb

Délka je téměř všechno, když se pokoušíte bránit proti útokům brutální síly.

Dokonce i základní crackery na hesla umožňují substituce ve stylu 1337, takže ve vašem příkladu efektivně porovnáváte přístupové fráze se 7 slovy a 2 slovní přístupové fráze.

Pokud máte dlouhé přístupové fráze (kde přesná definice dlouhého slova se může lišit v závislosti na vašich potřebách, ale měla by být alespoň 13 znaků, aby se šance na útok na stůl Rainbow minimalizovaly), nutíte útočníka, aby vyzkoušel jiné formy útoku , jako je sociální inženýrství; zjistit, kde jste napsali přístupové heslo; drží vaše kočka jako rukojmí atd.

7
Rory Alsop

Teoreticky „měřiče síly hesla“ nemohou fungovat . Nástroj vidí pouze výsledek procesu generování hesla, zatímco heslo „síla“ je vlastně vlastnictvím procesu. Viz tato odpověď a pak tato odpověď pro podrobnosti.

Nejlepší aplikace pro měření síly hesla vám může poskytnout, kolik času by trvalo, než by se vaše heslo rozbilo - jinými slovy se předpokládá, že útočník spustí přesně stejný kód a o vás nic neví. V praxi to není rozumný předpoklad: útočník, když na vás útočí, je, konkrétně, konkrétně po vás. Spoléhat se na zabezpečení heslem je jako modlitba, aby všichni útočníci nebyli nekompetentní: to je druh „skoku víry“.

7
Thomas Pornin

Při pohledu na Javascript pro tento nástroj společnosti Microsoft se zdá, že má pouze omezený seznam slov slovníku (viz řádky 264 a další v souboru js soubor ), což by mohlo vysvětlit, proč vaše přístupová fráze získává vyšší hodnocení než by to mělo být.

Osobně bych doporučil tento tester síly hesla dává dobrý přehled prvků, které tvoří vaše heslo, a řekne vám, jak jej lze vylepšit. Hodnotí vaše heslo „Dnes večer budu na oběd“ na 56% a vaše druhé heslo „th1 $ .v4l“ na 74%, což se zdá být realističtější.

Tento nástroj však vůbec nepoužívá žádný seznam slov - vaše přístupová fráze je označena pouze proto, že se jedná o malá písmena, zatímco „dnes večer budu na oběd!“. získá 98%. Můžete si vyvodit své vlastní závěry o tom, jak užitečné jsou% věkové hodnocení.

Pokud jde o vliv na délku doby krakování --- tento článek . Všimněte si však, že jeho cesta z roku 2009 a crackery na bázi hesla založené na GPGPU nyní mohou spravovat 10 ^ 9/s (nejvyšší úroveň útoku v tomto článku „třídy F“) na jednom herním/pracovním počítači s 500 USD GPU Kartu.

5
Mark Davidson

Nedávno jsem viděl v novinách komiks. Nebo možná to byla digitální kopie komiksu, nepamatuji si.

To ilustrovalo právě tuto debatu. A nyní vám vysvětlím, na co poukázal:

To, že heslo je krátké, neznamená jeho snadné uhodnutí, jako v případě „th1 $ .v4l“. Ale jen proto, že heslo je dlouhé, neznamená, že je snadné jej snadno uhádnout, jako v případě „Dnes večer budu na oběd“.

Skutečností je, že žádný vážný lidský hacker tam nebude sedět a hádat své heslo. Mohou používat slova slovníku, ale tyto slovníky neobsahují všechny možné věty. Jen slova.

Ne, co hackeři dělají (když vyčerpali typický slovník WORDS), je to, že obvykle mají počítač systematicky procházet každou možnou kombinací. Začátek končí. Pokud jsou nuceni touto cestou, čím kratší je heslo, tím horší. Čím déle, tím lépe. Bez ohledu na to, zda existují číslice nebo symboly. Číslice a symboly záleží pouze na paměti lidí a hádání lidí. Pro počítač jsou to samé ... posloupnost 1 a 0 ... a nezáleží na tom.

Udělejte si laskavost. Udržujte to dlouhé, ale jednoduché. Krátký a složitý by mohl stát hackerovi čas, ale dlouhý a jednoduchý udělá totéž. Otázkou je, zda chcete heslo, které je snadno zapamatovatelné nebo těžko zapamatovatelné?

4

Síla hesla může být odhadnuta pouze vy sami nebo někým jiným, pokud jim řeknete, jak si vytvoříte vaše hesla. Pokud například použiji generátor náhodných hesel, který používá sadu 50 znaků a moje heslo je dlouhé 8 znaků, bude moje heslo 1 z přibližně 3,9 × 1013 nebo 245. Pokud používám hesla založená na čínském pchin-jinu a moje heslo je věta 4 slov, za předpokladu, že každé slovo je z možných 2 05 , moje heslo je 1 z možných 1,8 × 1013. Průměrná pinyinská romanizace čínského znaku je asi 3 až 4 znaky dlouhá, takže heslo „4-slovo“ je asi 16 znaků. Přesto je toto heslo Pinyin slabší než osmimístné heslo generované ze znakové sady 50.

Pokud útočník ví, jak bylo vygenerováno heslo (řekněme zkoumáním hesel prostého textu odcizených z několika nezabezpečených webů) určitou osobou, mají znalosti potřebné ke snížení obtížnosti nucení násilím o hodně ! Protože vědí, že na klávesnici již nepoužíváte všechny možné znaky, mohou eliminovat nemožné kombinace a šetřit čas.

Při příštím vygenerování hesla přemýšlejte o algoritmu/metodě, kterou používáte k vygenerování hesla. Pomocí Password Safe vygenerujete 21 znakové heslo ze 72 znakové sady ([email protected]#$%^&<>/~\?abcdefghijkmnopqrstuvwxyzandABCDEFGHJKLMNPQRTUVWXY346789), dostanete přibližně 1,0 × 1039 možné kombinace nebo 130 bitů zabezpečení.

3
Kevin Li

Všechny nástroje pro kontrolu síly hesla ověřují, kolik úsilí bude potřeba k nalezení hesla pomocí útoku hrubou silou a slovníkem.

jako kdybyste zde porovnali své výsledky obou hesel.

http://www.passwordmeter.com/

"th1 $ .v4l" je

Silné heslo s 74%

„Dnes večer budu na oběd“

Dobré heslo 56%

toto heslo zabere méně času, než se praskne hrubou silou.

3
mr_eclair

Pokud tedy definujete sílu hesla jako jeho obtížnost nebo pravděpodobnost prasknutí, pak téměř proti intuitivně je síla hesla spíše funkcí jeho délky, než je obtížné si zapamatovat.

Pokud potenciální útočník nic neví o vašem hesle a může použít k rozlomení hesla pouze hrubou silou, delší heslo, které je mnohem snadněji zapamatovatelné, jako je

"Dnes večer budu na oběd"

zabere více času než

"th1 $ .v4l"

jednoduše proto, že existuje více znaků, které by útočník musel správně odhadnout, aby rozbil heslo. Delší hesla představují větší hledaný prostor k vyčerpání, dávají jehlu (heslo) mnohem větší kupce sena , ve které se skrývají.

3
Daniel Miladinov

Kontrola síly hesla není zpravidla příliš spolehlivá. Mají tendenci spoléhat se na příliš zjednodušené výpočty, které předpokládají, že se útočníci pokusí uhodnout své heslo vyzkoušením každé možné kombinace postav, což je v praxi jen zřídka pravda.

Ve skutečnosti může motivovaný útočník přijít s nejrůznějšími různými strategiemi pro uhodnutí hesla, z nichž některé nebyly naprogramovány, aby žádný program na kontrolu síly hesla nikdy nebyl naprogramován.

Například heslo „! QAZXSW @ # EDC“ může vypadat docela náhodně, dokud si neuvědomíte, že jsem jej nenapsal stisknutím jednoduchého vzoru kláves na standardní anglické klávesnici. Útočník, který používá program určený k hádání hesel založených na rozložení klávesnice, by takové heslo mohl snadno rozbít za několik minut. (A opravdu, už jsem byl Pwnedem Pwned Passwords Checker znamená, že toto přesné heslo již bylo použito a prasklo několikrát.) Podobně by se zdálo, že „dnes večer budu na oběd“ Kontrola síly hesla, ale útočník by ji mohl snadno popraskat pomocí programu určeného k hádání běžných anglických vět.

Existují kontrolory síly hesla, které jsou v tomto druhu lepší než ostatní ( ZXCVBN , například, dokážu detekovat heslo založené na vzorci klávesnice, které jsem dal výše, a dát realističtější odhad síly), ale nakonec není vždy možné říct, jak silné je heslo, jen analýzou samotného hesla . Není bezpečné předpokládat, že právě proto, že používáte kontrolu síly hesla, nemůžete uhodnout, jakou metodou jste si vybrali heslo, že útočník, který se snaží uhodnout heslo, nebude. Tento předpoklad je známý jako „bezpečnost pomocí zatemnění“ a je považováno za špatnou praxi spoléhat se na komunitu informační bezpečnosti.

Co byste měli místo toho udělat? Vyberte si hesla náhodně , nejlépe pomocí zdroje náhodnosti, jako jsou kostky, které nemohou být oslabeny přirozenými lidskými předpojatostmi. Tímto způsobem, i když předpokládáte, že útočník ví přesně , jak jste vygenerovali své heslo, můžete stále snadno spočítat, kolik odhadů by útočník musel vyzkoušet, než správně uhodne heslo.

Diceware je dobrým příkladem takové metody pro generování hesel. Čtyři náhodná slova Diceware budou trvat 77764/ 2 = ~ 1,83 kvadrilionu odhadů, které by útočník mohl hádat, i když znají přesný seznam slov, ze kterých jste si vybrali heslo. Hesla generovaná správcem hesel jsou z podobných důvodů silná.

Pro více informací o tom, jak si bezpečně vybírat hesla, doporučuji odpověď Thomasa Pornina na „XKCD # 936: Krátké složité heslo nebo dlouhé heslo ve slovníku?“, Které jde do podrobností o entropii hesel a jak vypočítat síla náhodně vygenerovaného hesla.

1
Ajedi32