Основное "НО" заключается в том, что Positive Technologies Application Inspector не является статическим анализатором. И даже не совсем анализатором исходных кодов, он вполне может "пережевывать" и например байткод Java.
В нем есть элементы SAST, но основное ядро (которое так и называется - AI, от Abstract Interpretation) работает на принципах интерактивного анализа (IAST), сочетающего реальное и символическое выполнение программы. Об этом пишет и старик Гартнер включив Positive Technologies в Sample Vendors в нише Interactive Application Security Testing.
Поэтому класический вопрос "сколько у вас паттернов (шаблонов)" особого смысла не имеет и приводит к "ложным срабатываниям" при подготовке технического задания или ТКП. Для классического "статического анализа", что по потоку лексем (aka grep), что по AST или другим CFG/DDG, количество шаблонов представляет собой более-менее понятную метрику, но не в нашем случае. Принцип анализа
В модуле AST pattern-matching мы ищем только простенькие вещи, что-то типа ODBC connection string с жестко зашитым паролем или "плохие" криптографические функции. Все вещи, связанные с dataflow обрабатываются ядром AI. А у него "шаблоны" конечно в каком-то виде есть, но они не совсем шаблоны, да и не шаблоны вовсе :)
Отсюда и низкий уровень ложных срабатываний, и возможность однократного "прогона" там, где лидеры "магического квадранта" требуют использовать последовательно 3 РАЗНЫХ инструмента для статического и динамического анализа, а потом магическим образом "совмещать результаты". Ну и возможность интеграции с WAF для быстрого virtual patch, чего пока не умеет (насколько я знаю, поправьте) ни одно из других средств анализа исходных кодов.
Если вдруг хочется подробностей, ждем 24 сентября на Infosecurity Moscow, ну или можно почитать вот тут:
http://habrahabr.ru/company/pt/blog/224547/
http://habrahabr.ru/company/pt/blog/191002/
Более "популярный" вариант: http://xakep.ru/positive-technologies-cto-interview/
PS. Ряд коллег спросил, достаточно ли для тестирования "15 тыс. CLOC". Недостаточно. Разве что на синтетических тестах по 20 строк на тест. Реальные приложения досаточно разлаписты, и я неоднократно видел как при попытке анализа обычного корпоративного портала на 500 000 LOC многие продукты просто падали. Возможно автор ошибся и было 15 000 [Kilo]LOC, что в принципе адекватно для конкурентного анализа.
PPS. "По нашему мнению, разработка ИС идет по правильному сценарию, с использованием верных технологий, что позволяет верить в успешность проекта и выход этого продукта в лидеры рынка в ближайшем будущем." - все так, все так!
Комментариев нет:
Отправить комментарий