Уже починили везде, добавив рандомную соль к вычислению хэша. В смысле при старте инстанса системы однократно считается случайное число и используется для расчета хэшей, делая их непредсказуемыми (между разными запусками)
А я не люблю бинарные деревья, их балансировать надо. Особенно весело, когда это в потрохах какой-то либы происходит, как в описанном по ссылке случае.
Я тоже люблю сабж. Но увы не раз натыкался на бинарные деревья глубоко в потрохах, втч в closed-source вещах. В которые вставляешь записи с таймстампом, а оно оп - и вырождается в список :/
Comments 6
Reply
В смысле при старте инстанса системы однократно считается случайное число и используется для расчета хэшей, делая их непредсказуемыми (между разными запусками)
Reply
http://www.serpentine.com/blog/2012/12/13/a-major-new-release-of-the-haskell-hashable-library/
Собственно, SipHash (про который в слайдах) как раз и разработан в ответ на такие атаки.
Reply
Квиксорт так вообще умеет вырождаться в О(n^2).
А то, что по ссылке - уже везде запатчили.
Короче, наброс не удался имхо ;)
Reply
Patricia tree, как в IntMap/IntSet, балансировать не надо.
>А то, что по ссылке - уже везде запатчили.
Я попал на ту ссылку из обсуждения уязвимости brtfs, в которой возникал бесконечный цикл.
Я не набрасывал, а делился обнаруженным.
Reply
Я тоже люблю сабж. Но увы не раз натыкался на бинарные деревья глубоко в потрохах, втч в closed-source вещах. В которые вставляешь записи с таймстампом, а оно оп - и вырождается в список :/
> Я не набрасывал, а делился обнаруженным.
Ок, сорри тогда.
Reply
Leave a comment