Portál AbcLinuxu, 6. května 2025 01:32
Super překlad citátu od Stephena Hemmingera
A já si myslel, že heshe slouží pouze pro rychlé rozpoznání stránek s jistě různým obsahem a jen u stránek se stejným hashem se provede srovnání obsahu (memcmp). Díky tomu by nemohlo dojít k záměrnému či náhodnému podstrčení jiných dat se stejným hashem.To jsem si myslel taky.
Ale mělo by vyhrát lepší řešení a ne rozhodovat podle toho, že nějaká firmička si zapatentovala něco co bylo v té době již známé a dokonce i implementované (z mého pohledu ukradla cizí myšlenku pro případné patentové útoky v budoucnu).+1
USB je nicméně zásadně odlišná od ostatních sběrnic, protože neexistuje způsob, jak zjistit, že je vyčíslování zařízení na konkrétním hubu hotové.Tak to je teda USBčko dost debilní...
obava z používání SHA1 hashů k porovnávání stránek. Pokud by se útočníkovi podařilo vytvořit kolizi hashů (...)No a nemůžou se teda použít dvě hashe? Třeba sha1 + md[4|5|6] nebo nějaký crc nebo checksum či tak něco. Imho by pak bylo prakticky nemožné najít použitelnou kolizi...
Nedalo by se na root prostě třeba nějak počkat? Dejme tomu, že jádro ve chvíli, kdy se chce na root fs podívat zjistí, že není k dispozici. V té chvíli by třeba mohlo počkat nějakých 100ms a zkusit to znovu, páč mezitím by se USB doenumerovalo, ne?Dalo, dokonce je to v článku popsáno.
rootdelay
? Ne, to je něco jinýho. Imho rootdelay
není vůbec dobrý nápad, tím se celý problém akorát zesložití. Nebo je to v textu jinde, co stále přehlížím...?
Nedalo by se na root prostě třeba nějak počkat? Dejme tomu, že jádro ve chvíli, kdy se chce na root fs podívat zjistí, že není k dispozici. V té chvíli by třeba mohlo počkat nějakých 100ms a zkusit to znovu, páč mezitím by se USB doenumerovalo, ne?Možná by stačilo někde držet flag, že ještě běží enumerace, takže jádro by zkoušelo připojit root tak dlouho, dokud by byla naděje, že se zařízení zjeví. Jinak z mých zkušeností se zcela statickým jádrem na mém HTPC dělá největší zpožnění při startu jádra USB a (PATA) IDE. Zatímco u IDE jde jádru domluvit, aby nehledalo neexistující zařízení a tím boot kapičku urychlit, u USB bohužel nic takového není možné. Kdyby se jádru dal předal parametr, na jaký systém nemá při bootování čekat, dal by tím se urychlit start u systémů, které nebootují z USB (což je, za běžných okolností, většina).
takže jádro by zkoušelo připojit root tak dlouho, dokud by byla naděje, že se zařízení zjeví.Jasně, pokus o připojení rootu, pokud selže, počkat třeba 100ms, pak další pokus. Pokud celkový čas přesáhne počet USB root hubů * 100ms, vzdát to.
Chválím autora za krásný jazyk.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.