как не заразить посетителей своего сайта Александр Сидоров, Пётр Волков
Почему мы об этом рассказываем 1400 новых заражений сайтов в сутки 230k заражённых сайтов –проверяем около 20m URL в сутки за год 122 заражения сайтов, известных всем в основном – обычные, массовые заражения 2
Мартовское обострение заражённые сайты в сумме теряют от 0.4m до 1.2m переходов с Яндекса в сутки Показы предупреждений об опасных сайтах на выдаче Яндекса 3
Зачем нужна безопасность - пользователям – не терять время, деньги, репутауцию интернету – быть полезным для людей + электронные платежи злоумышленникам – заниматься чем-то полезным 4
Зачем нужна безопасность - $$$ сайту – чтобы его трафик, пользователи ( деньги) не доставались другим –редиректы, заражение, чужая реклама –имидж и доверие –если при взломе вставили malware, то – 99% трафика –если поисковый спам, то до – 100% трафика поисковой системе – чтобы было, чем отвечать на запросы пользователей 5
CTR 0 Скриншоты предупреждений 6
не дать злоумышленникам взломать сайт и разместить на нём malware не размещать вредоносных редиректов и блоков из непроверенных источников не давать размещать malware пользователям в UGC 7 Как не дать сайту заразиться
контроль ввода данных (WAF) контроль операций ( Insecure Direct Object References ) обновлять серверное ПО сложные пароли Как помешать злоумышленникам 8
защитить компьютер вебмастера минимум данных о серверном ПО наружу анти-кликджекинг хостингам – регулярно проверять свои сайты, например, через Safe Browsing APISafe Browsing API Как помешать злоумышленникам 2 9
блоки и реклама – только от проверенных партнёрских программ дистрибутивы CMS, виджеты, библиотеки – из проверенных источников контроль служебного доступа качественный хостинг Как не заразить сайт своими руками 10
антиробот валидация данных проверять ссылки, например, через Safe Browsing API Яндекса проверять загружаемые файлы, например с помощью virustotal.com Public API virustotal.com Public API Как не дать заразить через UGC 11
12 Как вылечить узнать найти client-side malware остановить веб-сервер, устранить причины заражения найти и удалить веб-серверное malware время = посещения и заражения = деньги и репутация
обычно с exploit packом, a.определяет версию браузера и его компонентов b.выдаёт в браузер вредоносный код под уязвимости именно этих браузеров и компонентов Как работает drive-by-download атака 13
Windows XP на виртуальной машине разные браузеры, без cookies и истории посещений Java, Acrobat Reader, Flash несколько анонимных прокси-серверов после каждого просмотра страницы – revert Браузерное malware: подготовка 14
разными браузерами с поисковой выдачи и напрямую через прокси и без с разными user-agent, включая мобильные: User Agent Switcher Как получить client-side malware 15
анализировать, что загружается: Fiddler, HttpAnalyzerFiddlerHttpAnalyzer смотреть полученные от сервера данные глазами и антивирусом Client-side malware: анализ 16
На что похоже браузерное malware html:,,, google-analylics.com, yandes.ru js: eval, document.write, document.location, window.open, unescape cz.cc,.in,.cn,.pl, прямые ip-адреса, dyndns-сервисы 17
Пример malware 18
Дополнительные признаки malware длинные нечитаемые скрипты лишние операции со строками (переопределение, замена подстрок, смещение символов, конкатенация) посторонний код в js-библиотеках переопределение элементов DOM 19
Где может быть серверное malware в серверных скриптах в шаблонах CMS в настройках веб-сервера или интерпретатора сайт статический? утечка реквизитов доступа, либо заражение всего сервера 20
посторонний код o дата модификации o несоответствие версии из VCS, backup обфусцированный код o нечитаемый o неструктурированный o закодированный Как найти веб-серверное malware 21
eval base64_decode, gzuncompress, gzinflate, ob_start, str_rot13, preg_replace assert, create_function file_get_contents, curl_exec Характерные функции 22
Как устранить причины заражения остановить веб-сервер в 90% случаев на сервере есть backdoor – найти! проверить антивирусом рабочие станции вебмастеровантивирусом обновить ПО сменить пароли: root, FTP, SSH, админ-панели хостинга, CMS; удалить везде лишних пользователей 23
Вредоносный код можно удалить только после устранения причины заражения, иначе его быстро восстановят 24
посторонний код ( конфликт VCS ) жалобы пользователей предупреждения в Opera, Я.Интернете, FF с Я.БаромOperaЯ.ИнтернетеFFЯ.Баром сообщения в Я.ВебмастереЯ.Вебмастере уведомления по whois + стандартные -адресауведомления –там спам? ПДДПДД поиск на форумах «ваш_домен заражён»: Подписки и ППБПодпискиППБ трафик сайта и статистика переходов: МетрикаМетрика Как вовремя узнать о заражении 25
Что ещё может быть полезным предупреждения о заражённых сайтах в Opera, Я.Интернете, FF с Я.БаромOperaЯ.Интернете FFЯ.Баром детали заражения в Я.Вебмастере, вкладка «Безопасность»Я.ВебмастереБезопасность safesearch.ya.ru, в котором мы пишем об актуальных зараженияхsafesearch.ya.ru тех. поддержка Яндекса –только если больше ничего не помогло – – в статьях на help.yandex.ruhelp.yandex.ru 26
Раздел Безопасность в Я.Вебмастере 27
Safe Browsing API проверка на malware + phishing 6.7m пользователей в день 230k опасных сайтов max 100 мс на проверку URL ключ на 100k проверок в сутки – free пишите на 28
у меня вирусов нет! все антивирусы, кроме Яндекса, не находят вирус Яндекс то размечает, то не размечает антивирус Яндекса реагирует на гуглоаналитику? что такое поведенческий анализ? почему сайт не перепроверили за 2 часа? это не вирус, а просто счётчик Тех. поддержка - FAQ 29
Мы всегда рады подробностям о заражении где именно на сервере был найден вредоносный код его примеры, как он работает, логи как он смог попасть на сервер подробности о серверном ПО, аномалиях Сделаем интернет безопаснее вместе! Тех. поддержка - сэмплы 30
Это может случиться с каждым среднее время заражения 90 ч., если активно лечить трафик минус 99%, заразившийся посетитель не вернётся 1000 заражений = $20 для злоумышленника сайт популярнее бюджет на взлом больше 31
Главное, что нужно сделать 1.примените правила или OWASP, чтобы не допуститьправилаOWASP 2.приготовьтесь обнаружить, устранить причину и вылечитьобнаружить, устранить причину и вылечить 3.не откладывайте, сделайте это сегодня 32
Спасибо! Вопросы? Служба безопасного поиска, safesearch.ya.ru Александр Сидоров, Пётр Волков,