Otázka:
Dělají znaky bez klávesnice mé heslo méně náchylné k hrubému vynucování?
jnm2
2011-06-19 03:58:37 UTC
view on stackexchange narkive permalink

Mohu do hesla vložit znaky, pro které na klávesnici nejsou žádné klávesy. Ve Windows Alt + #### (s numerickou klávesnicí) vloží znak pro jakýkoli kód, do kterého zadáte.

Když to vložím do hesla, je to do značné míry zárukou, že to nikdy nebude vynucené ? Pravděpodobně nejsem první, kdo o tom přemýšlí, ale mám pravdu, když hádám, že útočníci nikdy nepovažují za to, aby jejich čas zkontroloval znaky, které nejsou klávesnicí? Je to vůbec něco, o čem vědí?

Pokud tomu tak je, s jediným znakem, který není klávesnicí, někde ve vašem hesle, byste se nikdy nemuseli starat o to, aby zbytek hesla zůstal silný.

Nezapomeňte, že sada znaků *, které máte * na klávesnici, není stejná jako sada *, kterou mám * na klávesnici ... což není totéž, co mají Evropané na * svých * klávesnicích ... a Britové se od všech ostatních ještě více liší. Přesto je to zajímavý nápad, zejména s ohledem na to, že * existují * znaky, které nejsou na žádné klávesnici - existují dokonce i „netisknutelné“ znaky.
Je to roztomilý trik, ale nenechte se unést sebevědomím ohledně své celkové bezpečnosti. Je váš účet jediným způsobem, jak získat přístup k vašim datům? Máte ve svém počítači jiný účet pro správu? Jak je chráněn protokol Remote Destop?
@this.josh, myslím, že je jasné, že se to týká pouze síly hesla, a ne celkové bezpečnosti. Přesto je to správná námitka, i když zde platí pro většinu otázek ...
@AviD Aktuální odpovědi berou v úvahu pouze duhové tabulky, kde skutečné brutální vynucování zkouší všechny možné vstupy. Použití znaku bez klávesnice neposkytuje žádnou výhodu proti skutečnému útoku hrubou silou. Chtěl bych tedy odpovědět ne, ale mám pocit, že pravděpodobnost útoku skutečnou hrubou silou versus pravděpodobnost útoku duhového stolu je malá. Takže můj kompromis byl říci pěkný trik, ale buďte opatrní.
@this.josh: Ptám se, zda by někdo zahrnul do své hrubé síly znak, který není klávesnicí?
@jnm2 - pokud jste byli terčem, který chtěli, a mysleli si, že jste použili jiné než klávesové znaky nebo jste již použili jiné znaky, pak ano. Ale realisticky - budete muset být velmi žádaným cílem, protože to hodně prodlouží čas :-)
Měli by někdy podezření, že používám jiné než klávesové znaky? Má někdo jiný?
@jnm2 - teď dělají;)
Budou však k dispozici omezený počet, pokud považujete za velmi špatný nápad „uniknout“ znakům hesla a implementace SSO mohou mít pravidla týkající se rozsahů znakových sad. Delší hesla pomáhají, smíšená písmena pomáhají. Nyní docela marní si můžeme pronajmout tisíce jader za hodinu nebo minutu. Odpověď nemusí nutně být „nízko visícím ovocem“, ale najít úplně jinou cestu kromě hesel.
Bezpečné - ne, méně náchylné - rozhodně! Kdybych byl hackerem, pak bych neplýtval zpracovatelským výkonem za prolomení hesel, která mají podpisy používané s největší pravděpodobností mnohem méně než 1% uživatelů.
Používáte Windows? Pokud ano, mohu připojit flash disk spuštěný: pogostick.net/~pnh/ntpasswd/ a přihlásit se, aniž bych musel hrubě vynucovat vaše heslo. Šifrujte data odděleně od Windows (nepoužívejte vestavěné šifrování). Přepněte na bezpečnější operační systém pro skutečné zabezpečení (a neříkej, že potřebuji Windows), pokud opravdu potřebujete Windows, spusťte jej ve VirtualBoxu nebo VMWare nebo v něčem podobném (můžete Windows úplně vypnout a použít Wine), ale ne dual boot a zničit nově nalezené zabezpečení.
Devět odpovědi:
this.josh
2011-06-20 10:48:52 UTC
view on stackexchange narkive permalink

Když to vložím do hesla, je to do značné míry zárukou, že to nikdy nebude vynuceno hrubou silou?

K útoku hrubou silou na heslo obvykle dojde k jednomu z dvěma způsoby: buď útočník získá hašovanou databázi hesel, nebo se útočník pokusí přihlásit do živého systému pomocí uživatelského jména (nebo jiného identifikátoru účtu) a hesla. Běžnou metodou útoku na databáze s hašovaným heslem je použití předpočítané sady hodnot a hashů nazývané duhová tabulka. Viz Co jsou duhové tabulky a jak se používají? Duhová tabulka není útok čistou hrubou silou, protože využívá méně než celou doménu možných vstupů. Protože skutečná hrubá síla používá útok na všechny možné vstupy, bez ohledu na to, zda se jedná o útok na databázi hashovaných hesel nebo živé přihlášení do systému, žádný výběr znakové sady nebo kombinace různých sad nezmění útok brutální síly. Prakticky pravdivé útoky hrubou silou jsou vzácné. Častější jsou útoky na duhový stůl a použití hodnoty z neobvyklé sady bude efektivní obranou proti mnoha útokům na duhový stůl.

Mám pravdu v hádání, že útočníci nikdy nepovažují za vhodné zkontrolovat znaky bez klávesnice? Je to vůbec něco, čeho si jsou vědomi?

Existují útočníci, kteří budou používat neobvyklé vstupní sady k pokusům o napadení hesel, ale domnívám se, že jsou vzácní. Každý rozumně sofistikovaný útočník přemýšlel o věcech, jako jsou znaky, které nejsou klávesové, a většina z nich učinila ekonomické rozhodnutí jít za snazšími cíli. Existuje spousta cílů se špatnými a slabými hesly, takže útočníci navrhují útoky na tato slabá hesla. Ano, mnoho (ale ne všichni) útočníci považují silná hesla za „nestojí za to“.

s jediným znakem, který není klávesnicí, někde ve vašem hesle, o které byste se nikdy nemuseli starat zbytek hesla bude silný.

Ne. Síla je míra nebo odolnost vůči útokům. Pokud je vaše heslo jediným znakem, který není klávesnicí, je slabší než heslo s 33 malými písmeny. Délka v bitech je důležitým měřítkem síly hesla. Bity místo znaků, protože kryptografické výpočty, jako jsou hashe, se provádějí v bitech, nikoli ve znacích. Znaková sada, stejně jako sada znaků bez klávesnice, je pouze jedním prvkem při vytváření silných hesel, sama o sobě není silná.

Zde je ukázána elegance krátké stručné odpovědi, dobře řečeno tj.
Dobrá odpověď. Také @jnm2 wrt síla znakových sad vs délka (a bruteforcability), viz moje odpověď na [Jak spolehlivá je kontrola síly hesla?] (Http://security.stackexchange.com/q/2687/33)
A co [~ 200 000] (https://stackoverflow.com/a/3770541/1397555) znaků?Nebo `/ 1000` pro [~ 2 000] (https://gist.githubusercontent.com/ivandrofly/0fe20773bd712b303f78/raw/9e68c4067c886dc2428820c09fd2e36df16bf69d/Unicode%2520table),` / 2` (průměrný čas do brutální síly), `/ 2` (průměrná doba do brutální síly)znovu (předpokládejme další libovolná omezení) = 500 znaků? 12 znaků v tomto prostoru má [~ 244 nonillion] (http://www.wolframalpha.com/input/?i=500%5E12) permutací.Je to hodně nemožné (za předpokladu náhodného rozdělení char v řetězci, které poruší heuristiku a vynutí hrubou sílu)?Nebo co mi chybí?
Pokud to pomůže, viděl jsem v některých velkých seznamech hesel širokou škálu znaků, které nejsou klávesnicí, a téměř všechny seznamy hesel, které nejsou v angličtině.[Útok maskou Hashcat] (https://hashcat.net/wiki/doku.php?id=mask_attack) navíc podporuje --hex-charset, což umožňuje každému útočníkovi použít jakoukoli hexadecimální hodnotu pro svou masku / hrubou sílu / markov /atd.pokusy.
Ori
2011-06-19 05:02:22 UTC
view on stackexchange narkive permalink

Takže protože jsem musel vědět, vygeneroval jsem duhovou tabulku NTLM pomocí netisknutelného znaku alt 0160 (a bez klávesnice) 0161-0164. Tabulka rozpoznala netištěný znak v hexadecimálním formátu.

enter image description here

Tabulka dokázala rozpoznat netisknutelný znak po vyhodnocení hodnoty hash. (Byl to fiktivní účet se čtyřmístným heslem pro demonstrační účely)

Vypadá to asi takto:

enter image description here

Takže i když to není nemožné, ve své sadě nástrojů jsem neměl nic, co by to poznalo. Většina lidí s duhovými stoly nakopávajícími se buď pochází z komunitního zdroje, nebo má konkrétní důvod pro jejich vytvoření.

Zřídka jsem viděl lidi, kteří používají tyto znaky, ale dává smysl vytvořit několik dalších tabulek, které budou zahrnuty v závislosti na zapojení: £ ¥ ¡a několik dalších interpunkčních znamének, které se používají pouze v anglické jazyky. Hledání nejběžnějších klávesnic po celém světě a hledání postav, které v USA 104 nejsou zastoupeny, mi dá dobrý začátek. Ale znovu, tato sada tabulek, když je vytvořena, je založena na jedné věci: běžné použití. Pokud se to běžně nedělá, pak je pravděpodobně snazší najít jiný způsob, jak obejít ovládání.

Chcete-li mluvit přímou hrubou silou založenou na vstupu, platí totéž. Kdokoli, kdo to zahrnuje do znakové sady pro vstup, to mohl udělat. Prostě to není normální.

Takže v kruhovém objezdu tak trochu říkám, že ano, takže je méně náchylný k brutálnímu vynucování, i když ne nemožné.

- Upravit -

Z pohledu reálných čísel na generování tabulek:

Základní znaková sada, kterou jsem nashromáždil pro NTLM, se vejde do 750Gb disku, čísla, která jsem Dostal jsem se na to, kdybych chtěl vytvořit nový: (horní + dolní + počet + tisk znaků = zhruba 96 znaků)
Generační čas 9 d 22 h (pokud je příliš vysoký, zvýšit počet tabulek)
Unikátní řetězec počet 6 094 373 862
Velikost tabulky 90,81 GiB (97 509 981 789 bajtů)
Celková velikost 726,51 GiB (780 079 854 310 bytů)

Nyní to není optimální, ale pro srovnání použijte stejné nastavení (ve skutečnosti trochu laskavějšího nastavení 8 tabulek místo 4 pomocí rtc) na celý tisk + netisk + sada ascii bez klávesnice (191 znaků) odpovídá (s kompresí)
Čas generování 395 let (pokud je příliš vysoký, zvýšit počet tabulek)
Unikátní počet řetězců 4 823 766 839 375
Velikost tabulky 57,03 TiB (62 708 968 911 909 bajtů) Celková velikost 14,20 PiB (15 990 787 072 536 668 bajtů

V zásadě o 2 řády více, pokud používáte celý znakový prostor ASCII, okna přijmou jako zadání hesla. Na těch 20 petabajtů si chvíli počkám Seagate před zahájením cesty k tomuto stolu. A procesory musí zrychlit, pokud chci, aby stůl skončil dříve, než žilo a zemřelo 8 mých generací.

£ se rozhodně používá v angličtině, což znamená symbol libry šterlinků, měna v Anglii.
Platí to také pro znaky, které obvykle nemají na klávesnici _any_ žádné zastoupení, jako je U + 202E (přepsání RTL) nebo U + 1F34C ()?
john
2011-06-19 06:18:50 UTC
view on stackexchange narkive permalink

Útočníkovi stačí rozšířit znakovou sadu, kterou používá, aby mohl hrubě vynutit jakékoli heslo, bez ohledu na to, jaké znaky v něm jsou. To znamená, že čím větší je, tím více času potřebuje.

Obvyklé doporučení je, že pokud vložíte malá písmena, velká písmena, číslice a symboly, vše v ascii, znakovou sadu, kterou používáte je dostatečně velký na to, aby dostatečně brzdil hrubou sílu. Pokud jdete nad rámec sady ascii, můžete se také podívat na řecké nebo ruské znaky - netisknutelná a náhodná věc v unicode je podle mého názoru příliš daleko.

Můžete to samozřejmě udělat, ale existuje riziko: else: Ne všechny aplikace, zejména weby a databáze, jsou kompatibilní s kódováním UTF nebo jinými věcmi než iso-8859-1. To znamená, že vaše heslo nemusí být přijato aplikací / webem, nebo ještě hůře, může být přijato, ale v cestě do databáze se stane, že budete zpackáni, abyste jej nemohli ověřit. Bohužel se mohou stát všechny druhy podivností, když poskytnete aplikaci, která to neočekává, jiné než ascii, zejména v polích uživatelského jména a hesla.

Hned. A aplikace se může časem změnit - upgradovat knihovnu nebo databázi nebo tak něco - a prolomit vaše heslo. Mnoho aplikací již má omezení týkající se znakových sad a např. nepovolujte '=' a další hloupá omezení označující špatné programování. Není příliš těžké získat heslo, které je nyní odolné vůči hrubé síle, dokonce iu obyčejných tisknutelných znaků, ale musí to být relativně dlouhé, jak je zde diskutováno v dalších otázkách.
Thomas Pornin
2012-11-25 09:45:00 UTC
view on stackexchange narkive permalink

Používání Alt + #### (čtyři číslice) je ekvivalentní (kvůli odolnosti proti útokům) jako čtyři číslice jako znaky hesla, přesně tam, kde přidáte svůj „speciální znak“. Číslice v heslech nejsou úplně nová věc.

„Útočníci to nikdy nebudou brát v úvahu“ je základem všech slabin. Útočníci to zváží; dokonce o tom přemýšleli před tebou. Pokud se spoléháte na hloupost útočníků, porazíte pouze hloupé útočníky - ty, kteří jsou v každém případě nejméně nebezpeční.

Z praktičtějšího důvodu vám speciální postavy zkomplikují život, když se pokusíte používat zařízení, které nenabízí zadávání znaků na základě Alt (např. heslo na webu, ke kterému chcete získat přístup ze svého smartphonu).

Piskvor left the building
2011-06-23 19:44:17 UTC
view on stackexchange narkive permalink

Jak již bylo řečeno v jiných odpovědích, síla hesla spočívá v jeho velikosti. Mohli byste stisknout klávesy Alt + 0 + 1 + 6 + 0, abyste získali neobvyklý znak, ale z 5 stisků kláves dostanete pouze 1 znak. Vezmeme-li toto jako hrubý odhad, můžete získat ze zvláštního charakteru asi 12, možná 13 bitů entropie; mohli byste získat více (nad 20), pokud jste použili těchto 5 stisků kláves na alfanumerické znaky.

Stručně řečeno, je užitečnější použít místo toho 5 znaků na klávesnici - za bang dostanete mnohem více Pokud prominete hříčku.

wbg
2016-01-01 23:20:16 UTC
view on stackexchange narkive permalink

Za předpokladu pevné podpory UTF-8 (čímž se eliminují další problémy s kódováním) je potenciálním úskalím hesel jiných než ASCII normalizace Unicode.

Znaky jako ö lze reprezentovat několika způsoby, tj. jako jeden ö znak nebo jako dva kódové body: o+¨

Počítače obecně tyto prvky nepovažují za rovnocenné, i když ve skutečnosti jsou.

Výsledkem je, že naivní implementace, která před ověřením neaktivuje zadání hesla, nemusí heslo pässwørd přijmout, pokud se vám ho poda zadá v jinak normalizované podobě, než když nastavujete heslo .

Vladislavs Dovgalecs
2015-06-24 01:37:53 UTC
view on stackexchange narkive permalink

Pokud je zabezpečení založeno pouze na přesvědčení / předpokladu, že útočník nepoužije techniku ​​X, je to docela slabé zabezpečení. Mělo by se předpokládat, že to útočník ví.

Stejně jako v šachu udělejte nejsilnější tah, jako kdyby váš soupeř znal vaše úmysly.

Dmitry Grigoryev
2015-06-29 19:58:36 UTC
view on stackexchange narkive permalink

Rozšiřování znakové sady použité ve vašem hesle jej zvyšuje, ale také ztěžuje psaní a neposkytuje 100% záruku proti útokům.

Ještě důležitější je, že používání vzácných znaků vás situace, kdy znáte heslo, ale nemůžete jej použít. Představte si, že nebudete moci použít nástroj pro obnovení, protože není kompatibilní s vaším heslem, nebo že nebudete moci zkontrolovat poštovní schránku z počítače nebo smartphonu někoho jiného.

Jason
2016-10-31 22:37:18 UTC
view on stackexchange narkive permalink

V souhrnu: proti útoku ve stylu slovníku / duhy mají tendenci být VELMI zabezpečeni, protože jeden typovatelný znak vás dobře vyhodí ze všech běžných schémat, ale proti útoku skutečnou hrubou silou mohou být mnohem slabší než běžných 2-5 dalších stisknutí kláves. Optimální strategií je tedy podle mého názoru jejich kombinace. Udělejte ze svého hesla příliš mnoho znaků, než aby vás odhalil útok skutečné brutální síly v jakémkoli rozumném lidském časovém rámci, a zahrňte znak Alt-%, abyste snížili „popularitu“ svého hesla nad rámec toho, co je považováno za hodnotný poučený odhad. Díky tomu bude vaše heslo účinně stejně bezpečné jako skutečně náhodně vygenerovaný řetězec, ale bude lépe zapamatovatelné. Jen se ujistěte, že náhodný znak, který používáte, pravděpodobně nebude mít význam v žádném programovacím jazyce nebo sadě cizích klávesnic, jako jsou ty vtipné znaky, které jsou na alt-table opravdu nízké: ☺, ☻, ♥, ♦, ♣, ♠, ◘, ↕ atd.

* „Jen se ujistěte, že náhodný znak, který použijete, není něco, co by pravděpodobně mělo smysl v jakémkoli programovacím jazyce.“ * Neexistuje žádný moderní technický důvod, proč byste si z toho měli dělat starosti.
Záleží na tom, kde toto heslo používáte.Například heslo databáze může fungovat, když jej zadáte do svého očekávaného uživatelského portálu, ale poté se rozbije, když se později rozhodnete předat jej připojovacím řetězcem.
Můžete objasnit význam * „připojovacího řetězce“ *?


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...