- Safe Browsing Bloom
- Safe Browsing Bloom Filter 2
Поясню, как это работает:
- URL приводится к каноническому виду.
- Вычисляются N его "длинных" хешей (скорее всего, 64 битных).
- Значение каждого хеша умножается на скейл-фактор, таким образом получаются N адресов битов в массиве данных, называемом фильтром Блума.
- Фильтр построен так, что если все эти биты - единички, сайт с большой вероятностью вредоносный (в этом случае происходит его достоверная верификация - видимо, путем запроса к соотв. сервису Google); иначе он гарантированно "безопасный" (гарантировано - = его 100% нет в БД вредоносных сайтов).
- Более подробное описание фильтов Блума - здесь.
- Размер такого фильтра заметно меньше любой другой структуры, которая могла бы дать ответ на подобный вопрос точно. Например, если бы это был set (структура данных), его длина была бы ~ равна суммарной длине URL всех вредоносных сайтов, входящих в него. А блум-фильтр, дающий ложнопозитивные ответы с вероятностью всего 1% (ложнонегативных он не дает вообще), потребует в среднем 9.6 бита на каждый URL, т.е. порядка 1 байта! Фильтры Хрома в сумме занимают порядка 18Мб - и если они действительно построены для обеспечения такой вероятности ложнопозитивных ответов, это значит, что они содержат информацию о ~ 1 миллионе вредоносных сайтов!
- Такой фильтр позволяет Хрому обращаться к сервисам верификации практически только тогда, когда пользователь действительно идет на вредоносный сайт. Ну не замечательно ли? ;)
P.P.S. Как вы уже поняли, с сегодняшнего дня я буду "разбавлять" свой русский политико-киношный блог переводами постов из своего же английского промо-программистского ;) В ближайших планах - перевод цикла статей об оптимизациях, используемых в ORM-решениях: "Может ли ORM сделать ваше приложение более производительным?".
Ага!!! Нашли че придумать!! Этот Safe Browsing Bloom занимает 250 мб на жестком диске и и 250 мб столько же в другой директории. итого = 500 мб для браузера - полнейшая тупость. Самое главное эти файлы тупо не удаляются.
ОтветитьУдалитьПроверил, у меня сейчас 7 Мб ;)
ОтветитьУдалить