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