21 Июня, 2012

Стоимость эксплойта...

Alexey Sintsov
Прочитал тут новость:

http://securitylab.ru/news/426076.php

Суть:

"Некий Джонатан Несс (Jonathan Ness), менеджер по информационной безопасности Trustworthy Computing (одно из подразделений Microsoft) заявил, что софтверный гигант разрабатывает методы уменьшения количества атак с использованием эксплойтов путем увеличения затрат, необходимых для обнаружения и использования уязвимостей.

...

1. Увеличение количества инвестиций, необходимых для поиска опасных уязвимостей.
2. Увеличение количества инвестиций, необходимых для написания функциональных и работоспособных эксплойтов.
3. Сокращение возможности хакеров вернуть свои инвестиции."

(с) SecurityLab

Как обычно - комментарии радуют 8)  Но я вот поделюсь своими мыслями...

На самом деле Несс прав и более того, то о чем он говорит происходит последние лет 7-8.  Печально, что читатели секлаба не видят разницы между "уязвимостью"  и "эксплойтом". Ведь на самом деле большенство уязвимостей не стоят и гроша. Хотя затраты на их поиск могут реально что-то стоить. Но вот готовый эксплойт уже реально стоит денег. Если прикинуть, что средняя цена эксплойта под ходовой продукт будет около 100.000$, то очевидно, что повышение стоймости разработки этого эксплойта приведет к повышению его цены.  Из чего складывается цена эксплойта для браузера или плагина к браузеру для win32 (как пример)?

1. Затраты на поиск узвимости V1
   1.1  Разработка фаззера
   1.2  Организация фаззинга (генерация данных, тестирование)
   1.3  Реверсинг и бинарный анализ
   1.4  Анализ исходных кодов (если доступны)
2. Захват контроля
   2.1  Контроль EIP (ESP)
       2.1.1 Обход safeSEH
       2.1.2 Обход SEHOP

       2.1.3 Обход /GS в стеке
       2.1.4 Обход защиты кучи

   2.2  Контроль над размещением шеллкода
       2.2.1 Обход DEP (ROP/JIT Spray)

       2.2.2 Обход защит от HeapSpray (Nozzle/Bubble)

   2.3  Передача управления
       2.3.1 Обход ASLR (эксплойт утечки адреса - V2 / Spray)
3. Выполнение произвольного кода
  3.1 Обход песочницы (ring0 эксплойт V3 /  escape эксплойт V4)

В 2002 году не было пунктов 2.1.1-2.1.4, 2.2.1-2.2.2, 2.3.1 и 3.1. В 2007 году не было 2.1.2, 2.2.2,2.3.1. Очевидно, что сложность разработки эксплойтов возрастает, как и цены! Чудесный пример Сергея Глазунова - что бы захакать Хром ему понадобилось 14 мини-эксплойтов. В простейшем же случае вам нужно 2 нормальных эксплойта - под браузер или плагин + эксплойт для ринг0, что бы вырваться из песочницы. Это значит что финальная цена вырастает пропорционально. Не говоря уж и о том, что обход ASLR и DEP по прежнему часто задача творческая и требующая дополнительных усилий. Ровно неделю назад писал эксплойт под SAP 2008 года. Там был /GS и DEP и не было SEH для обхода /GS.  Задача была решена, потому что тогда GS был слабенький ;) Сейчас тот же эксплойт под SAP 2010 года уже не написать так просто, мне лично в падлу 8)  А вот под SAP 2005 года намного проще - там же /GS нету. Так что чем больше будут усложнятся механизмы защиты - тем дороже будет разработка. Ну это, как бы, очевидно. Зато вот финальная цена эксплойта будет определятся следующими показателями:

1. Популярность продукта.

2. Стабильность эксплойта
3. Статус 0Day. (0day дороже, 1day дешевле. Ваш Кэп)
4. Вектор применения (чем меньше нужно сделать "жертве" для срабатывания, тем лучше-дороже / чем легче доставить до цели - тем дороже.)
5. Время от запуска до срабатывания (чем меньше, тем лучше).
6. Насыщенность рынка


Отсюда, мне думается, что на пункт 1 производитель ни как не повлияет 8) На пункт 2 - легко, все тем mitigations что они придумывают, в этом деле легонечко помогают. Пункт 3 - могут косвенно, если сами будут искать баги или с помощью ZDI. Например поробуйте найти в windows7 stack BoF? Нету? Ага, Майкрософт уже давно все самое простое нафаззил и нашел и горе-хакерам осталось искать что-то менее тривиальное =)
4 пункт не очевиден, но в целом повлиять на него сложно не ухудшив юзабилити продукта,  на что вендоры пойти не готовы. 5 - могут. И все это приведет к тому, что кол-во эксплойтов, стабильных и дешевых станет меньше, зато качественные и стабильные, будут стоить НАМНОГО дороже, чем сейчас, ведь на рынке их будет недостаток (пункт 6). Насколько
и как в таком будущем изменятся цены - я не знаю 8) Если сейчас средняя цена 100к$, то думаю в 2000 она была не такой, почти уверен, что в 10 раз ниже....  Что будет в 2020? Веселое время, однако 8)
comments powered by Disqus