четверг, 21 июня 2012 г.

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

Прочитал тут новость:  http://www.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)

8 комментариев:

  1. из параметров, влияющих на стоимость эксплойта, нельзя забывать о сфере применения ПО, масштабе использования

    а существуют ли рынки эксплойтов?
    с одной стороны часто слышу "нашел багу, никому не надо..отправим вендору, наверное", а с другой "все дырявое, а сплойтов не могу купить ни за какие деньги"

    ОтветитьУдалить
    Ответы
    1. "из параметров, влияющих на стоимость эксплойта, нельзя забывать о сфере применения ПО, масштабе использования"

      Все верно, я это сократил до:
      1. Популярность продукта.

      Рынок существуют. Черный, правительственный/белый. Если вы слышите "нашел багу, никому не надо...", то надо проанализировать пункты 1-6. Скорее весго там где-то провал...

      Удалить
    2. "Рынок существуют. Черный, правительственный/белый. "
      а гугл о них знает, или отправляться искать посредников?

      Удалить
    3. http://pentest.netragard.com/2012/04/12/netragard-on-exploit-brokering/

      Там несколько линков

      Удалить
    4. там один линк нашел, и то зарубежная контора, а мои знакомые только с русскими хотят работать принципиально
      все равно спасибо!

      Удалить
    5. Да, в основном зарубежные. Русские это либо киберкрайм(что я крайне не советую, это плохо) либо ГосВо. Но наше Гос-во пока открыто не имеет таких программ (классическое отставание в 10 лет), про внутренние программы ничего не скажу - не участвую, ищите сами, или они сами вас найдут 8) Да, еще, хотите русским продавать качественные сплойты, попробуйте сотрудничать с http://intevydis.com/. Наши ребята.

      Удалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить