03.08.2009

IBM покупает Ounce Labs

28-го июля голубой гигант объявил о приобретении компании Ounce Labs, занимающейся анализом защищенности исходного кода приложений. Продукты приобретенной компании войдут в семейство Rational AppScan. Детали сделки не разглашаются.

38 коммент.:

arkanoid комментирует...

Я из этой новости и узнал о существовании Ounce Labs. Надо посмотреть, что ли, что они делают..

Алексей Лукацкий комментирует...

Ну игроков в сегменте анализа исходников немало. Только в России они мало известны. Да и свои поделки у нас есть в этой области. Используются при сертификации.

arkanoid комментирует...

Да и не то, чтобы много. По пальцам одной руки пересчитать можно - или я многих не знаю. Меня удивило, что опенсорс в этом направлении представлен откровенно плохо - исключительно академические проекты, которые практически невозможно с отдачей интегрировать в реальную разработку.

arkanoid комментирует...

Кстати, есть где-то сводные ресурсы по этой тематике? Два-три года назад мне приходилось выгугливать самому.

Алексей Лукацкий комментирует...

А кому они нужны такие проекты? Их перспектива очень туманна, кроме как в сертификации или SDLC. Круг потребителей очень узок, а эффективность низка. Если я захочу скрыть закладку - я ее скрою и никакой анализатор ее не найдет. Еще в 50-х годах сей факт был доказан математически.

arkanoid комментирует...

Ну почему же.. Оно не от закладок, а от багов и нужно практически всем..

Анонимный комментирует...

http://orizon.sourceforge.net/

Анонимный комментирует...

>Меня удивило, что опенсорс в этом направлении представлен откровенно плохо

В opensource проекты, в которых сильна экпертная составляющая вообще слабо представлены. Видимо потому что контрибуторов мало, а желающих тихо использовать - много.
Вспомните, почему был закрыт Nessus.

swan комментирует...

Мы реализовали очень неплохой продукт (именно что продукт а не поделка) для анализа исходных текстов и т.п. "Тритон" называется используем для сертификации по НДВ.
Насчет закладок - Алексей прав можно внедрить так что никто не найдет и даже срабатывание не обнаружится, хотя есть мнение, что современные системы содержат в себе столько функционала скрытого и не скрытого, что можно обойтись встроенными механизмами не внедряя закладки...

Алексей Лукацкий комментирует...

От багов тоже никому не нужно. Гонка вооружений на рынке ПО ;-( Важно кто первый выпустил продукт на рынок, а не какого он качества. Выпустил первый - занял нишу и потеснил конкурентов. А уж потом шлифуй продукт на заказчиках. Сейчас так делают многие производители.

swan комментирует...

2 Алексей...
Да, сейчас жизненный цикл технологий настолько непродолжительный, что даже разговоры о разработке документации считаются замедляющим фактором и относится на **-план.
Но тут все таки есть небольшая ниша... и по автоматическому документированию кода, и по оптимизации и по выявлению "дыр" в веб приложениях, еще по переносу алгоритма на новые ЯП и тех базу(с "больших" ЭВМ на персоналки или на кластеры) ну еще всякое по мелочи...

arkanoid комментирует...

Ну есть еще проекты, которые могут позволить себе заботиться о качестве кода. В ИБ это уж точно совершенно необходимо. Orizon - надо посмотреть..

swan комментирует...

а основные проблемы кода, такие как избыточность, переполнение буфера, и т.п. реализованы уже и в средах разработки, автоматические документаторы тоже включают они работают быстро - по верхам можно пройтись довольно быстро...
http://www.stack.nl/~dimitri/doxygen/
и
http://www.stack.nl/~dimitri/doxygen/links.html

Продавец комментирует...

ИБ-службы беспокоит, что куча людей пишет для них заказной код (от 1С до SAP, не считая даже ГАС Выборы и ЕГАИС:)), а что там внутри, кроме функционала, никто не знает. Случаи оставления разработчиками дырок для "личного пользования", известны, например http://www.outsourcing.ru/content/rus/214/2142-article.asp, а сколько неизвестных? В России больше миллиона инсталляций только 1С, и в каждой инсталляции есть заказной код. По пять тыщ рублей с каждого - копейки по сравнению с ущербом, вот вам и рынок в пять миллиардов рублей, поболе антивирусного будет :).

swan комментирует...

"а что там внутри, кроме функционала, никто не знает."

Я Вам больше скажу...
Сам Разработчик не знает что у него в коде. Проводил оценки... С учетом уровней абстракции и стороннего кода разработчик может представить около 8% реального кода своего ПО. Разработчик в лучшем случае понимает алгоритм только на высших уровнях абстракции, некоторые даже не опускаются до уровня понимания кода - остаются на уровне UML и т.п.

arkanoid комментирует...

swan, да нифига они не работают. потому что нужен не аннотирующий grep, а анализатор потоков данных.

посмотрел краем глаза на Orizon - какой-то он (как и следовало ожидать) фиксированный на веб-приложениях. Для веб-приложений то как раз средств немало и даже бесплатных.. хочет универсального. Хотя бы уровня HP Code Advisor.

Анонимный комментирует...

Все же ляпы программистов не так разрушительны, чаще это просто неоптимальный код. А от закладок ущерб воистину вселенский. Прямо сейчас в Тегеране полиция разгоняет демонстрантов, среди лозунгов которых - "Смерть России" (????). Оппозиция считает, что Россия разработала для иранского избиркома софт, который позволяет манипулировать подсчетом голосов. Те же наезды на софт были на украинских выборах в 2006, с чего, собственно, и началась "оранжевая революция". В наличие возможности менять результаты ЕГЭ два года назад обвиняли разработчиков софта, они даже судиться собирались насчет защиты деловой репутации.
Хотя в приведенных примерах одним сканером кода не обойтись :).

Сергей Гордейчик комментирует...

>Продавец пишет...
>вот вам и рынок в
>пять миллиардов рублей,

Это экспертные системы. Поэтому они интересны только экспертам :)
Поэтому рынок гораздо более другой.

Тут Алексею в пору оседлать своего конька (клячу?) и вспомнить про психологию. Почему системы анализа исходного кода (binary analisys, fuzzing, fault injection) никому не нужны?
1. Вообще непонятно что они пишут!
2. Ну нашла она что-то, что делать то дальше? Бодаться с Microsoft? Миллионы в редизайн софта у исполнителя в рамках нового договора?
3. Все равно они всего не находят, а меньше знаешь - крепче спишь.

4....

arkanoid комментирует...

Карма у безопасника такая- всю жизнь бодаться с теми, кто говорит "так сойдет", "авось пронесет" и "все так делают". И что интересно, по мере развития меняется набор аргументов, но не суть проблемы ;-)

swan комментирует...

2 arkanoid

"swan, да нифига они не работают."
тут же вспомнил про двух мужиков, которые сейчас дома ремонт делают капитальный, даже хочется позвонить, может разбудить их там ;-)

А.. это Вы про те ссылки - яж говорю по верхам...
Я как то пробовал посчитать в каком количестве состояний может находиться программа в оперативной памяти пока работает и сколько ветвей в ней реально есть...
цифирь в калькуляторе не хватило...

Попробуйте трассировать выполнение winapi MessageBox со всеми заходами... около 500 000 машинных команд (может у Вас подругому ?!)
Чем ниже опускаемся по уровням абстракции тем больше избыточности и информационной и алгоритмической. Кому интересно - можете проанализировать результаты "HUGO compo" - конкурсы были по написанию маленького кода...

Так беда не только в уровнях абстракции - беда в том что при переходе с высшего на низший (с ЯП на машинный код) появляются и дыры...
http://vazone.ru/wordpress/?p=348
http://www.securitylab.ru/news/382677.php
http://vazone.ru/wordpress/?p=80

arkanoid комментирует...

swan, это как раз именно то, что хорошо умеют ловить системы анализа безопасности кода:

http://blog.coverity.com/posts/general/would-you-like-to-know-about-0day-defects-months-in-advance

именно про эту уязвимость ;-)

вообще говоря, ситуация вот какая: фуззеры халявные есть. трейсеры тоже. а вот средства статического анализа кода в какой-то заднице: или коммерческие системы вроде Coverity (их несколько на рынке и они в общих чертах похожи) или совершенно неприспособленные к реальной жизни академические проекты. Для веб-приложений получше, но они специфичны. Ну и HP Code Advisor. Который, кстати, тоже такие штуки ловит на раз.

swan комментирует...

2 arkanoid
Дык мы разработали и постоянно улучшаем... рекламировать не буду...
При всем этом есть мнение, что анализ "исходников" - это вершина айсберга. Разница в алгоритмах между "исходным кодом" на языке высокого уровня и алгоритмом, который становится в машинном коде Очень большая... Я проводил анализ по многим примерам реализации одного и того же несложного алгоритма на pascal, с, с++ и ассемблере(где избыточность при переводе в машинный код незначительна). Результат жуткий...
Есть подходы по анализу уже машинного кода и контроля за выполнением кода в реальном времени. И эти подходы были реализованы мной еще в 1999 году. К сожалению сегодня такие подходы реализованы разве что в антивирусах, может еще в Cisco SA.
Но что то "глубокие" подходы не приживаются... зачем глубоко копать, когда можно заработать с меньшими усилиями...

arkanoid комментирует...

swan, а как зовется ваш продукт и можно ли потрогать и где про него почитать?

Алексей Лукацкий комментирует...

"Тритон"

swan комментирует...

2 arkanoid
"swan, а как зовется ваш продукт и можно ли потрогать и где про него почитать?"

Мне как то неудобно на блоге Алексея распространяться...
скажу вкратце...
Потрогать нельзя - показать в работе - можно...

Он "ест" pascal/delphi/c/c++/c#/java/fortran немного.
автоматизирует проверки по всем уровням контроля НДВ с выдачей отчетов в виде единого сайта...
Я могу про него рассказывать и рассказывать но сорри, боюсь замазать рекламой или слишком заинтриговать ;-).
Демонстрировали и ФСБ и МО РФ и ФСТЭК - оценки самые самые...
Мы его не продаем - зачем плодить конкурентов в части испытаний. А заказчикам не демонстрируем - чтоб они не подумали что все делается легко и цены не пытались понижать ;-) все все молу молчу...

arkanoid комментирует...

swan, если он ориентирован на контроль НДВ, ему на вход нужна какая-то спецификация? как она выглядит?

swan комментирует...

Все последняя фраза - Алексей извини, - распирает меня от работы )))
У меня есть еще одна поделка - позволяет контролировать ПО в процессе работы и даже код править в процессе работы... Испробовано даже на microsoft word 2007... и даже не тормозит !!!
А еще... в проекте конкурент для cisco SA но это уже совсем наглость с моей стороны... пойду нервно покурить и спать...

swan комментирует...

2 arkanoid
под спецификацией обычно понимается документ по ЕСКД или ЕСПД.
Что Вы под спецификацией понимаете ?...

arkanoid комментирует...

swan: спецификация в смысле алгоритмическом - как описываются функции, которые не являются НДВ ;-)

swan комментирует...

А...
ну для начала нужно четко понимать, что проверки, которые предусмотрены РД НДВ - больше относятся к качеству, чем к безопасности. Только две проверки имеют отношение к ИБ - это контроль заданных конструкций и поиск маршрутов в которых участвуют эти конструкции.
Декларированные функциональные возможности это ровно те, которые разработчик задекларировал в документации...
Функциональные возможности могут быть реализованы разными конструкциями на разных ЯП - тут для декларирования как раз автоматические документаторы очень помогают...
Вообще тема очень обширная...

arkanoid комментирует...

swan: а можно примерную прикидку трудоемкости применения системы - по человеко-часам на тыщу строк кода?

arkanoid комментирует...

swan: ..например, до фазы "первого прогона", когда появляются результаты, над которыми нужно думать, отделять ложные срабатывания от верных и т д.

swan комментирует...

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

arkanoid комментирует...

Ну вот на Ruscrypto'09 студенты какие-то (?) представляли систему статического анализа исходного кода с анализом потоков данных.. Но "на бумаге" и судьба ее, как водится, неизвестна :-(

swan комментирует...

2 arkanoid
У меня есть DEMO програма инженерный калькулятор(на Bilder 6.0) - мы для демо калькуляторы любим...
НДВ по 2 уровню контроля полностью с формированием отчета, включая подготовку к динамике и обработка динамического анализа... все вместе короче менее 5 минут...
Простые проекты - те которые писали не ГЕНИАЛЬНЫЕ программисты с множественным переопределением классов и прочими штучками - порядок такой же...
Но хочу сразу отметить - что результаты нужно осознать и т.п. - короче это не халява - запустил и все... Очень много особенностей и в ЯП и в анализируемом коде... бла бла - тяжелая это работа - берем дорого но качественно...

arkanoid комментирует...

swan, хмм.. можно попросить тестовый прогон по моему коду - посмотреть на результаты? сугубо некоммерческий проект ;-)

swan комментирует...

Ну вот на Ruscrypto'09 - это не мы...
Времена одиночек проходят стоящий продукт создать одиночкам все сложнее и сложнее. У нас отсутствует понимание того, что одной идеи, пусть гениальной недостаточно для счастья - к этой идее нужно много чего приложить. У нас же молодые люди родив идею - мечтают, что они будут лежать на пляже на Мальдивах на собственной вилле и раз в месяц будет прилетать черный вертолет, из него выйдет человек в черном с чемоданом денег и на коленях будет умолять спасти мир - потому как только они обладают этой идей.
В жизни капельку иначе... а ведь любой посетитель этого блога наверняка несет в себе десяток хороших идей...

swan комментирует...

можно