TGViewer
Codeby Codeby @codeby_sec · 37K subscribers
Post #10164 2.65K
Пять секунд CSS — и лучший ML-детектор фишинга слепнет полностью

Представьте: вы построили систему обнаружения фишинга на нейросетях. Она показывает 100% accuracy на бенчмарках. Публикуете статью, получаете признание. А потом кто-то добавляет на фишинговую страницу пятисекундную задержку отрисовки логотипа — и detection rate падает до абсолютного нуля. Не до 80%, не до 30%. До нуля.

Именно это продемонстрировали исследователи в работе, принятой на IEEE European Symposium on Security and Privacy. Целевая жертва — PhishIntention, один из самых продвинутых визуальных антифишинговых pipeline.

🔍 Как работают визуальные ML-детекторы? Схема простая:

1. Headless-браузер открывает подозрительную страницу и через фиксированный интервал делает скриншот
2. Нейросеть ищет на скриншоте логотипы и формы ввода, сравнивает с базой из 277 известных брендов
3. Если нашла совпадение с брендом, а домен не тот — фишинг

Вся конструкция держится на одном допущении: скриншот корректно отражает содержимое страницы. И именно это допущение оказалось ложным.

⏱ PhishIntention делает снимок через 2 секунды после начала загрузки. Среднее время полной загрузки веб-страницы — 7.2 секунды. Разница в 5.2 секунды — это timing gap, окно, в которое атакующий может спрятать всё самое важное.

Атака выглядит так: логотип и брендинг загружаются в DOM сразу, но визуально скрыты через clip-path с нулевой видимой областью. Через 5+ секунд setTimeout запускает плавное раскрытие. Детектор к этому моменту уже сделал снимок пустой страницы, не нашёл совпадений с брендами и пометил её как безопасную. А реальный пользователь видит полноценный клон PayPal или Google и спокойно вводит пароль.

🎯 Что делает эту атаку особенно опасной:

• Не нужно знать архитектуру детектора — работает в black-box режиме
• Не нужна серверная логика — хватает пары строк CSS и JS
• Не нужны adversarial perturbations — никаких модификаций пикселей
• Пользователь ничего не замечает — страница выглядит нормально

Самое интересное: систематический обзор литературы показал, что ни одна предыдущая работа по adversarial robustness фишинг-детекторов не рассматривала timing-вектор. Все исследователи предполагали, что скриншот захватывается корректно. Никто просто не подумал, что атакующий может сыграть на секундомере.

Фикс кажется очевидным — увеличить время ожидания перед снимком. Но это создаёт новую проблему: при массовом сканировании тысяч URL каждая лишняя секунда ожидания превращается в часы простоя pipeline.

Полный разбор обеих стратегий отложенного рендеринга и возможных контрмер — в статье на форуме.

https://codeby.net/threads/obkhod-ml-detektorov-fishinga-cherez-otlozhennyi-rendering-ot-100-k-0-detektsii.93724/
  • 🔥 8
  • ❤ 4
  • 👍 4
More from @codeby_sec
  1. Sep 26, 2026🚩 Новые задания на платформе HackerLab! 👩‍💻 Категория Pentest Machines (Active Director…
  2. Sep 25, 2026Post #10469
  3. Sep 25, 2026Tookie-OSINT: Инструмент разведки по имени пользователя Tookie-OSINT — инструмент с открыт…
  4. Sep 24, 202614 резюме за три дня. Где вакансии? За месяц работодатели не разместили на форуме ни одной…
  5. Sep 24, 2026UDP-сканирование: ты доверяешь zenmap или запускаешь nmap руками? Дефолтный профиль zenmap…
  6. Sep 24, 2026🌐HExHTTP Инструмент для тестирования HTTP-заголовков и анализа результатов с целью выявле…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →