Архив

Posts Tagged ‘scanners’

Маркетинг @ Анализаторы исходного кода

По роду своей деятельности в последнее время сталкиваюсь с различными текстами, в которых прямо или с намеками обсуждаются преимущества тех или иных продуктов или подходов над другими. Речь идет о задаче статического анализа исходного кода с целью поиска недостатков, снижающих защищенность программного продукта (т.е. речь не идет о недостатках качества кода в общем смысле слова).

Так как я человек впечатлительный и легко поддающийся на троллинг, решил написать своё ответное мнение в серии постов на тему «Типичный булшит в якобы аналитических заметках про технологии анализа исходного кода».

Итак, сегодня — первая серия, и поговорим мы вот про какие заявления (встречаются в произвольной комбинации): «сигнатурный анализ не может обеспечить полноту», «сигнатурный анализ дает много ложных срабатываний», «сигнатурный анализ хуже, чем анализ потоков данных», «анализ потоков данных дает офигительную полноту при низком числе ложных срабатываний», «о какой полноте может идти речь при наличии в базе N сигнатур» и вот это вот всё.

Для тех, кто испугался объема, сразу выводы:

1. Все применяемые сейчас вида анализа кода — сигнатурные (в т.ч. taint анализ на основе потоков данных).

2. В свете п.1. сравнивать подходы и продукты по количеству сигнатур — нонсенс. Сигнатура может описывать как целый класс недостатков (например, input validation), так и один-единственный экземпляр (unserialize($_GET[.*])).

3. Про полноту и точность можно говорить только после фиксирования класса недостатков (например, input validation). Полноты «вообще» — не существует. В свете разговора про каждый класс недостатков на первое место выходит формальная модель описания недостатка. По факту, сейчас почти всегда используется модель невмешательства (aka taint). Данная модель описывает только уязвимости класса input validation. Она бесполезна для недостатков авторизации. Полнота, говорите?

4. Даже в рамках одного класса недостатков, например, input validation, существующая модель невмешательства не может обеспечить не только полноту, но и даже приемлемую точность. Ограничения модели невмешательства расписаны вот тут (англ).

Тег «Далее»

Наука, инновации, статический анализ и РусКрипто 2013

В этом году на горячо любимой мной конференции РусКрипто впервые за ее историю состоится отдельная секция по анализу кода — «Анализ кода и технологии защиты: динамический и статистический анализ, виртуализация кода, исследование на недекларированные возможности».

Судя по аннотациям докладов, ожидаются как выступления с научными результатами, так и с передачей опыта или суммы знаний по конкретным задачам предметной области (мои любимые типы докладов).

А вот и расширенная аннотация моего доклада. Тег «Далее»

Confidence 2012

Докладаю: чуть заря
Федька поднял якоря!
Слава Богу, отвязались
От него, от упыря!

Решил-таки записать для протокола впечатления от поездки в Краков на конференцию Confidence 2012.

Так получилось, что на конференцию приехали аж пятеро русскоговорящих докладчиков (а должно было быть шесть, но Алексей Синцов в последний момент, к сожалению, перенаправился в /dev/null) — это Дима Евдокимов и Саша Миноженко из DSec, Алан Какарека из Майами и мы с Каримом Валиевым из seclab@msu. Наш совместный и более развернутый, чем данный, пост можно прочитать на хабре. Далее — впечатления по основным составляющим конференции. Кратко. Тег «Далее»

Пересечения на конференциях пост

В рамках программы по удержанию старых рубежей и экспансии на новые, прокрались с докладами на РусКрипто’2012 и Confidence’2012.

Кто-нибудь из почтеной аудитории планирует посетить any of them? Отпишитесь, что ли: можно будет поболтать за кружечкой пива!
A note by: в Краков в этом году едет целый десант из русских во главе с Лёшей Синцовым :)

Кому интересно, аннотации докладов — под катом. Тег «Далее»