SlideShare a Scribd company logo
1 of 33
как не заразить посетителей
своего сайта
Александр Сидоров, Пётр Волков
Почему мы об этом рассказываем
• 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 API
Как помешать злоумышленникам 2
9
• блоки и реклама – только от проверенных партнёрских
программ
• дистрибутивы CMS, виджеты, библиотеки – из
проверенных источников
• контроль служебного доступа
• качественный хостинг
Как не заразить сайт своими руками
10
• антиробот
• валидация данных
• проверять ссылки, например, через Safe Browsing 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 , HttpAnalyzer
• смотреть полученные от сервера данные
• глазами и антивирусом
Client-side malware: анализ
16
На что похоже браузерное 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
Пример 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 с Я.Баром
• сообщения в Я.Вебмастере
• уведомления по email: whois + стандартные email-адреса
– там спам? ПДД
• поиск на форумах «ваш_домен заражён»: Подписки и ППБ
• трафик сайта и статистика переходов: Метрика
Как вовремя узнать о заражении
25
Что ещё может быть полезным
• предупреждения о заражённых сайтах в Opera, Я.Интернете,
FF с Я.Баром
• детали заражения в Я.Вебмастере, вкладка «Безопасность»
• safesearch.ya.ru, в котором мы пишем об актуальных
заражениях
• тех. поддержка Яндекса
– только если больше ничего не помогло
– email – в статьях на help.yandex.ru
26
Раздел Безопасность в Я.Вебмастере
27
Safe Browsing API
• проверка на malware + phishing
• 6.7m пользователей в день
• 230k опасных сайтов
• max 100 мс на проверку URL
• ключ на 100k проверок в сутки – free
• пишите на safesearch@yandex-team.ru
28
• у меня вирусов нет!
• все антивирусы, кроме Яндекса, не находят вирус
• Яндекс то размечает, то не размечает
• антивирус Яндекса реагирует на гуглоаналитику?
• что такое поведенческий анализ?
• почему сайт не перепроверили за 2 часа?
• это не вирус, а просто счётчик
Тех. поддержка - FAQ
29
Мы всегда рады подробностям о заражении
• где именно на сервере был найден вредоносный код
• его примеры, как он работает, логи
• как он смог попасть на сервер
• подробности о серверном ПО, аномалиях
• virus-samples@yandex-team.ru
Сделаем интернет безопаснее вместе!
Тех. поддержка - сэмплы
30
Это может случиться с каждым
• среднее время заражения 90 ч., если активно лечить
• трафик минус 99%, заразившийся посетитель не вернётся
• 1000 заражений = $20 для злоумышленника
• сайт популярнее → бюджет на взлом больше
31
Главное, что нужно сделать
1. примените правила или OWASP, чтобы не допустить
2. приготовьтесь обнаружить, устранить причину и вылечить
3. не откладывайте, сделайте это сегодня
32
Спасибо!
Вопросы?
• Служба безопасного поиска, safesearch.ya.ru https://twitter.com/#!/yasafesearch
• Александр Сидоров, sidorov@yandex-team.ru https://twitter.com/#!/asidorov83
• Пётр Волков, peevo@yandex-team.ru

More Related Content

What's hot

Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
yaevents
 
Основные угрозы безопасности веб-сайтов
Основные угрозы безопасности веб-сайтовОсновные угрозы безопасности веб-сайтов
Основные угрозы безопасности веб-сайтов
SiteSecure
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
phpdevby
 
Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.
Dmitry Evteev
 
Site secure (maxim_lagutin)
Site secure (maxim_lagutin)Site secure (maxim_lagutin)
Site secure (maxim_lagutin)
SiteSecure
 
Безопасность лекция 1 весна 2014
Безопасность лекция 1 весна 2014Безопасность лекция 1 весна 2014
Безопасность лекция 1 весна 2014
Technopark
 

What's hot (20)

Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
 
Лечение мобильных, поисковых редиректов и дорвеев на сайте
Лечение мобильных, поисковых редиректов и дорвеев на сайте Лечение мобильных, поисковых редиректов и дорвеев на сайте
Лечение мобильных, поисковых редиректов и дорвеев на сайте
 
AJAX Security
AJAX SecurityAJAX Security
AJAX Security
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
 
Основные угрозы безопасности веб-сайтов
Основные угрозы безопасности веб-сайтовОсновные угрозы безопасности веб-сайтов
Основные угрозы безопасности веб-сайтов
 
Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…
Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…
Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…
 
Security
SecuritySecurity
Security
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
 
Почему взламывают даже защищенные CMS на безопасном хостинге
Почему взламывают даже защищенные CMS на безопасном хостингеПочему взламывают даже защищенные CMS на безопасном хостинге
Почему взламывают даже защищенные CMS на безопасном хостинге
 
Readme ru
Readme ruReadme ru
Readme ru
 
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодомсидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
 
Безопасный поиск: основные тренды 2014 года. Андрей Ковалев
 Безопасный поиск: основные тренды 2014 года. Андрей Ковалев Безопасный поиск: основные тренды 2014 года. Андрей Ковалев
Безопасный поиск: основные тренды 2014 года. Андрей Ковалев
 
Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.
 
Влияние переходов по ссылкам на поисковое ранжирование, Николай Хиврин
Влияние переходов по ссылкам на поисковое ранжирование, Николай ХивринВлияние переходов по ссылкам на поисковое ранжирование, Николай Хиврин
Влияние переходов по ссылкам на поисковое ранжирование, Николай Хиврин
 
Николай Хиврин влияние переходов по ссылкам на поисковое ранжирование
Николай Хиврин влияние переходов по ссылкам на поисковое ранжированиеНиколай Хиврин влияние переходов по ссылкам на поисковое ранжирование
Николай Хиврин влияние переходов по ссылкам на поисковое ранжирование
 
Site secure (maxim_lagutin)
Site secure (maxim_lagutin)Site secure (maxim_lagutin)
Site secure (maxim_lagutin)
 
Веб-сервисы на страже безопасности
Веб-сервисы на страже безопасностиВеб-сервисы на страже безопасности
Веб-сервисы на страже безопасности
 
Mythbusters - Web Application Security
Mythbusters - Web Application SecurityMythbusters - Web Application Security
Mythbusters - Web Application Security
 
Владимир Лучанинов
Владимир ЛучаниновВладимир Лучанинов
Владимир Лучанинов
 
Безопасность лекция 1 весна 2014
Безопасность лекция 1 весна 2014Безопасность лекция 1 весна 2014
Безопасность лекция 1 весна 2014
 

Viewers also liked

Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)
Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)
Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)
Ontico
 
Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)
Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)
Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)
Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Ontico
 
Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)
Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)
Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)
Ontico
 
Introduction to riak (Ian Plosker)
Introduction to riak (Ian Plosker)Introduction to riak (Ian Plosker)
Introduction to riak (Ian Plosker)
Ontico
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Ontico
 
Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)
Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)
Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)
Ontico
 

Viewers also liked (7)

Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)
Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)
Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)
 
Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)
Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)
Управление продуктами: от стартапа до корпорации (Дмитрий Бесков)
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)
Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)
Ruby для встраиваемых устройств / Петр Зотов (Evil Martians)
 
Introduction to riak (Ian Plosker)
Introduction to riak (Ian Plosker)Introduction to riak (Ian Plosker)
Introduction to riak (Ian Plosker)
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
 
Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)
Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)
Эффекты OpenеType в современной веб-типографике (Ростислав Чебыкин)
 

Similar to Как не заразить посетителей своего сайта (Александр Сидоров, Пётр Волков)

как не заразить посетителей своего сайта All а.сидоров, п.волков
как не заразить посетителей своего сайта All   а.сидоров, п.волковкак не заразить посетителей своего сайта All   а.сидоров, п.волков
как не заразить посетителей своего сайта All а.сидоров, п.волков
Ontico
 
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодомсидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
elenae00
 
Как избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проектеКак избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проекте
tfmailru
 
Павел Коростелев. Анализ функциональности репутационных сервисов.
Павел Коростелев. Анализ функциональности репутационных сервисов.Павел Коростелев. Анализ функциональности репутационных сервисов.
Павел Коростелев. Анализ функциональности репутационных сервисов.
Positive Hack Days
 
павел коростелев
павел коростелевпавел коростелев
павел коростелев
Positive Hack Days
 
доктор веб: информационная безопасность. типичные ошибки
доктор веб: информационная безопасность. типичные ошибки   доктор веб: информационная безопасность. типичные ошибки
доктор веб: информационная безопасность. типичные ошибки
Expolink
 

Similar to Как не заразить посетителей своего сайта (Александр Сидоров, Пётр Волков) (20)

как не заразить посетителей своего сайта All а.сидоров, п.волков
как не заразить посетителей своего сайта All   а.сидоров, п.волковкак не заразить посетителей своего сайта All   а.сидоров, п.волков
как не заразить посетителей своего сайта All а.сидоров, п.волков
 
Защита сайта от взлома и вирусов
Защита сайта от взлома и вирусовЗащита сайта от взлома и вирусов
Защита сайта от взлома и вирусов
 
Продукты Doctor web: как на самом деле нужно защищаться?
Продукты Doctor web: как на самом деле нужно защищаться?Продукты Doctor web: как на самом деле нужно защищаться?
Продукты Doctor web: как на самом деле нужно защищаться?
 
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодомсидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
сидоров александр.борьба с смс фродом серой дистрибуцией вредоносным кодом
 
Основные угрозы безопасности для интернет-бизнеса в 2014 году
Основные угрозы безопасности для интернет-бизнеса в 2014 годуОсновные угрозы безопасности для интернет-бизнеса в 2014 году
Основные угрозы безопасности для интернет-бизнеса в 2014 году
 
Cisco. Лукацкий Алексей. "Методы современных киберпреступников"
Cisco. Лукацкий Алексей. "Методы современных киберпреступников"Cisco. Лукацкий Алексей. "Методы современных киберпреступников"
Cisco. Лукацкий Алексей. "Методы современных киберпреступников"
 
Н.Романов (Trend micro) - Скрытые угрозы: можно ли тайное сделать явным?
Н.Романов (Trend micro) - Скрытые угрозы: можно ли тайное сделать явным?Н.Романов (Trend micro) - Скрытые угрозы: можно ли тайное сделать явным?
Н.Романов (Trend micro) - Скрытые угрозы: можно ли тайное сделать явным?
 
Максим Лагутин, "Угрозы безопасности для интернет-магазинов и бизнеса в инт...
 Максим Лагутин, "Угрозы безопасности для  интернет-магазинов и бизнеса в инт... Максим Лагутин, "Угрозы безопасности для  интернет-магазинов и бизнеса в инт...
Максим Лагутин, "Угрозы безопасности для интернет-магазинов и бизнеса в инт...
 
Современный агрессивный интернет
Современный агрессивный интернетСовременный агрессивный интернет
Современный агрессивный интернет
 
Как быть всегда готовым зарабатывать больше: мониторинг, план Б
Как быть всегда готовым зарабатывать больше: мониторинг, план БКак быть всегда готовым зарабатывать больше: мониторинг, план Б
Как быть всегда готовым зарабатывать больше: мониторинг, план Б
 
Как избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проектеКак избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проекте
 
Андрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальностьАндрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальность
 
12 причин хорошего SOC
12 причин хорошего SOC12 причин хорошего SOC
12 причин хорошего SOC
 
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
 ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу... ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
 
Павел Коростелев. Анализ функциональности репутационных сервисов.
Павел Коростелев. Анализ функциональности репутационных сервисов.Павел Коростелев. Анализ функциональности репутационных сервисов.
Павел Коростелев. Анализ функциональности репутационных сервисов.
 
павел коростелев
павел коростелевпавел коростелев
павел коростелев
 
доктор веб: информационная безопасность. типичные ошибки
доктор веб: информационная безопасность. типичные ошибки   доктор веб: информационная безопасность. типичные ошибки
доктор веб: информационная безопасность. типичные ошибки
 
Инновационные методы профилактики DDoS-атак
Инновационные методы профилактики DDoS-атакИнновационные методы профилактики DDoS-атак
Инновационные методы профилактики DDoS-атак
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerVal
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"
 

More from Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Как не заразить посетителей своего сайта (Александр Сидоров, Пётр Волков)

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

Editor's Notes

  1. в сутки Яндекс находит более 1400 новых заражений сайтов всего Яндексу известно более 230k заражённых сайтов за год было 121 случай заражения сайтов, которые знают все обычные массовые заражения
  2. (в 99% случаев пользователи не переходят на заражённые сайты, на выдаче – по 10 документов) 2 массовых заражения со взломами, 1 партнёрская система, заражающая пользователей через свои блоки на «выгодных» для сайтов условиях
  3. пользователям не терять деньги (кража, мошенничество), ценные данные, время на лечение компьютеров, репутацию интернету существовать (быть полезным для людей), без DDoS’ов, накрутки, спама интернет-индустрия сможет получать больше денег, если в интернете станет безопаснее (онлайн-банкинг, электронные платёжные системы, веб-магазины) злоумышленникам пойти заниматься чем-нибудь полезным
  4. сайту – чтобы его трафик, пользователи (→ деньги) не доставались другим не редиректить на другие сайты не заражать компьютеры пользователей не показывать чужих ссылок и рекламы не терять имидж и доверие заражение – 99% трафика, поисковый спам до – 100% трафика поисковой системе – чтобы было, чем отвечать на запросы пользователей заражённые, испорченные, перенаправляющие сайты – это плохой ответ
  5. контроль ввода данных (WAF) – защита от атак XSS, Injection контроль операций ( Insecure Direct Object References ) – защита от IDOR, CSRF, закрытие доступа к админкам, бэкапам, SVN обновлять CMS и серверное ПО, минимум «кустарных» модулей, отключать лишнее, следить за новостями об уязвимостях своей CMS Пример другого серверного ПО – OpenX, phpMyAdmin сложный пароль от веб-сервера (FTP, SSH, админ-панели хостинга, CMS)
  6. компьютер вебмастера – тоже защищён от malware минимум служебных данных (например, версия сервера или CMS) анти-кликджекинг Js-проверки if (top != window) top.location = window.location   top.location = 'http://example.com' HTTP-Header X-FRAME-OPTIONS SAMEORIGIN X-FRAME-OPTIONS DENY
  7. блоки и реклама избегать «уникальных предложений» (подозрительно высокая плата за счётчики и блоки, монетизация мобильного трафика) – вместо денег отсутствие трафика и потеря позиций в поисковых системах использовать партнёрские программы со скрытыми блоками – опасно блоки и реклама – только от проверенных систем по возможности принимать только статический контент (ссылки, картинки. Не скрипты и не фреймы) о новых партнерках – искать отзывы, проверять, что через них приходит рассказ про траффбиз дистрибутивы осторожнее с дистрибутивами CMS из сомнительных источников, виджетами и чужими библиотеками случай с DLE постоянные проблемы с wordpress-темами всякие радио-виджеты для ucoz контроль служебного доступа рассказ про утечку базы FTP та же ситуация с различными фрилансерами – периодически приходят жалобы на заражения после их работы (особенно если их обидели, ну и утечь может от них) качественный хостинг телекомы тоже страдают (см. статью в блоге)
  8. валидация данных нет javascript в <script>, тегах, гиперссылках нет <iframe>, <object>, <embed>, список разрешённых HTML-тегов
  9. В двух словах: На зараженном сайте происходит подгрузка/перенаправление на систему распределения траффика, цель которой – отфильтровать потенциальных жертв по критериям: 1. Уникальный заход (1 перенаправление на 1 ip, cookie итп). 2. Уязвимые версии операционной системы, браузера и прочего ПО, например flash, acrobat, JRE. 3. Проверка подгрузки с зараженного сайта с реферером поисковой выдачи. 4. Различные попытки отсева запросов поисковых роботов и антивирусных систем. 5. Дополнительные критерии, например время суток. Если все критерии пройдены – перенаправление на связвку эксплоитов для заданных ОС и ПО. Задача связки эксплоитов – установить в ОС вредоносное ПО ( бинарный файл ). Действия вредоносного ПО внутри ОС зараженного компьютера – тема для отдельной презентации.
  10. по возможности посмотреть через прокси / попросить товарища посмотреть из дома тестовый стенд Windows XP на виртуальной машине, IE+FF+Chrome+Opera без cookies и истории посещений Желательно IE6 и не последние версии Java, Acrobat Reader, Flash после каждого просмотра страницы – revert к исходному образу
  11. 0. в коде <?php header(“Location: evil.com”); ?> в настройках веб-сервера или интерпретатора .htaccess php_value auto_append_file “\tmp\evil.txt« если сайт статический на соседнем сайте shared-хостинга, а также, вероятнее всего, утечка реквизитов доступа, либо заражение всего сервера если серверный редирект, в т.ч. работающий только для мобильных – .htaccess, в т.ч. конструкции для mod_rewrite если строки в конце страниц – в шаблонах CMS если до или после обычного блока <html> – возможно, в настройках веб-сервера или интерпретатора
  12. в 90% случаев на сервере есть backdoor – найти! обычно web-shell, но бывают и tcp-bind шеллы
  13. И потом 2 недели следить
  14. вообще надо сказать, что хорошо помимо, регистрации стандартных абуз-адресов, указать их на сайте в разделе контакты и удостовериться, что администратор регулярно обрабатывает сообщения в них (просто формально класть в issue tracker недостаточно) трафик сайта и статистика переходов: Метрика аномалии книга жалоб для пользователей нужно поддерживать форму для отправки жалоб и/или указать email-адреса администратора
  15. + Яндекс.XML: результаты поиска + информация о заражённых документах
  16. мы стараемся для вас, и помогаем вам вылечить ваши сайты мы понимаем, что потеря трафика – это плохо для сайта, но не давать пользователям заразиться - важнее Яндекс размечает, только если действительно обнаружил malware, точность – от 99.5% до 99.98% (для разных детекторов разная) ваш сайт тоже может заразиться самым неожиданным способом, если вы не нашли malware на сайте – поищите ещё раз если антивирусы не находят – это тоже не значит, что malware нет мы не реагируем только по факту обфускации, или если блок находится в неположенном месте, а детектируем именно вредоносный код бывает, что нас пытаются обмануть, но это нам очень хорошо видно, не надо тратить на это время
  17. Почта, твиттеры