20
Статический анализ кода с помощью ERPScan CheckCode Илья Медведовский к. т. н., директор Digital Security

Статический анализ кода с помощью ERPScan CheckCode

Embed Size (px)

DESCRIPTION

Презентация с вебинара "Статический анализ кода с помощью ERPScan CheckCode" от 30.10.2013

Citation preview

Page 1: Статический анализ кода с помощью ERPScan CheckCode

Статический  анализ  кода  с  помощью  ERPScan  CheckCode    Илья  Медведовский  к.  т.  н.,  директор  Digital  Security  

Page 2: Статический анализ кода с помощью ERPScan CheckCode

•  Внутренняя  разработка  есть  практически  у  любой  крупной  компании  

•  Она  идет  на  различных  бизнес-­‐языках  используемых  в  компании  ERP-­‐систем  и  систем  документооборота  

 

   

 

Проблема  

erpscan.ru   2  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 3: Статический анализ кода с помощью ERPScan CheckCode

•  50  %  компаний  имеют  опыт  потери  выручки  вследствие  инцидентов  

•  95  %  уязвимостей  содержится  в  программном  обеспечении  

•  75  %  атак  происходит  на  уровне  приложений  

•  Злоумышленник  может  эксплуатировать  уязвимости  в  коде  так  же,  как  и  другие  уязвимости  

•  Закладка  в  коде  программы  дает  инсайдеру  возможность  доступа  к  информации  

 

   

 

Проблема  

erpscan.ru   3  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Причина  –  небезопасный  код  

Page 4: Статический анализ кода с помощью ERPScan CheckCode

SDLC  

•  Выявление  уязвимостей  на  раннем  этапе  экономит  деньги  и  время  

 

erpscan.ru   4  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 5: Статический анализ кода с помощью ERPScan CheckCode

Подходы  к  анализу  кода  

•  Ручной  аудит  •  Автоматизированные  инструменты  

erpscan.ru   5  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

vs.  

Page 6: Статический анализ кода с помощью ERPScan CheckCode

Виды  инструментов  для  анализа  кода  

•  Статический:  конечному  пользователю  легко  •  Динамический:  конечному  пользователю  сложно  •  Комбинированный  

erpscan.ru   6  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 7: Статический анализ кода с помощью ERPScan CheckCode

Статический  анализ:    легко  ли  разработчику  

•  Необходима  сильная  команда  исследователей  •  Необходимо  постоянное  совершенствование  алгоритмов  

поиска  с  экспоненциально  возрастающей  сложностью  работы  для  разработчиков  

erpscan.ru   7  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 8: Статический анализ кода с помощью ERPScan CheckCode

Статический  анализ:  показатели  

•  Полнота    •  Точность  

erpscan.ru   8  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

vs.  

Page 9: Статический анализ кода с помощью ERPScan CheckCode

Методы  статического  анализа  

•  Сигнатурный  анализ  (1980-­‐e)  •  Анализ  потоков  данных  (2000-­‐е)  

erpscan.ru   9  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

vs.  

Page 10: Статический анализ кода с помощью ERPScan CheckCode

•  Распределение  уязвимостей  в  коде  на  языке  ABAP:  

•  Уязвимости,  связанные  с  неправильной  валидацией  данных:  –  составляют  более  50  %  –  обнаруживаются  только  методом  анализа  потока  данных  

Разница  в  покрытии  

erpscan.ru   10  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

25%  

22%  

20%  

9%  

7%  

5%  

4%  4%   3%  

1%  

1  -­‐  XSS  2  -­‐  Missing  authorisavon  check  3  -­‐  Directory  traversal  4  -­‐  SQL  Injecvon  5  -­‐  Informavon  disclosure  6  -­‐  Code  injecvon  7  -­‐  Authenvcavon  bypass  8  -­‐  Hardcoded  credenvals  9  -­‐  Remore  code  execuvon  10  -­‐  Verb  tampering  

Page 11: Статический анализ кода с помощью ERPScan CheckCode

   

Разница  в  точности  

erpscan.ru   11  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 12: Статический анализ кода с помощью ERPScan CheckCode

Хороший  инструмент    статического  анализа  кода  

•  Использует  как  сигнатурный  анализ,  так  и  анализ  потока  данных  

•  Может  искать  как  уязвимости,  так  и  специфичные  для  приложения  особенности  или  проверять,  удовлетворяет  ли  код  заранее  заданным  простым  сигнатурам  

•  При  правильных  настройках  работает  достаточно  быстро  •  Прост  в  использовании  для  специалиста,  неискушенного  в  

безопасности  бизнес-­‐приложений  

erpscan.ru   12  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 13: Статический анализ кода с помощью ERPScan CheckCode

Коннекторы  

   

   

ERPScan  CheckCode  

Метрики  

Оценка  рисков  

Соответствие  стандартам  

Отчеты  

Вывод  данных  

Анализатор  кода    Уязвимости   Бэкдоры  

Производительность  

Файловая  система    

erpscan.ru   13  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Бизнес-­‐приложения  

СУБД  

Page 14: Статический анализ кода с помощью ERPScan CheckCode

Основные  функции  

•  Быстрое  сканирование  кода    ‒  Проверка  кода  на  закладки  и  уязвимости  по  шаблону  

•  Синтаксический  и  семантический  анализ  кода    ‒  Анализ  потока  данных  

•  Анализ  рисков  •  Возможность  отследить  автора  изменений  •  Выдача  детальных  рекомендаций  по  устранению  •  Интегральные  отчеты  •  Удобный  интерфейс  для  контроля  и  мониторинга  множества  проектов  разными  людьми    

erpscan.ru   14  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 15: Статический анализ кода с помощью ERPScan CheckCode

 Категории  проверок  по  OWASP-­‐EAS  Top  9  

1.  Инъекции  (SQL,  кода  или  команд  ОС)  2.  Критичные  запросы  (к  СУБД,  ОС  и  т.  д.)  3.  Отсутствие  или  ошибки  контроля  доступа    4.  Обход  каталога  5.  Бэкдоры  6.  Модификация  отображаемого  контента  (инъекции  XSS,  JS)  7.  Скрытые  каналы  утечки  8.  Разглашение  информации  9.  Устаревшие  конструкции    

erpscan.ru   15  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 16: Статический анализ кода с помощью ERPScan CheckCode

Языки  

•  Поддерживаются:  ‒  ABAP/4,  PeopleCode,  X++,  1C  

•  Запланированы  в  ближайших  обновлениях:  ‒  JAVA,  C,  C++,  C#,  PHP,  PL/SQL  

•  Время  добавления  нового  языка:  50  дней  ‒  После  этого  анализатор  с  поддержкой  нового  языка  может  

использоваться  клиентами  самостоятельно  ‒  В  дальнейшем  –  постоянное  повышение  качества  анализа  и  

добавление  новых  проверок  

 

erpscan.ru   16  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

Page 17: Статический анализ кода с помощью ERPScan CheckCode

На  что  следует  обратить  внимание    при  выборе  инструмента  

   

erpscan.ru   17  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

«У  нас  20  языков,    и  каждый  новый  язык  мы  добавляем  за  5  дней»  

Page 18: Статический анализ кода с помощью ERPScan CheckCode

На  что  следует  обратить  внимание    при  выборе  инструмента  

   

erpscan.ru   18  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

«ApplicaEon  Specific»    («Адаптация  системы  под  специфику  заказчика»)  

Page 19: Статический анализ кода с помощью ERPScan CheckCode

На  что  следует  обратить  внимание    при  выборе  инструмента  

   

erpscan.ru   19  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций  

«Зато  мы  ищем  быстро»    

Page 20: Статический анализ кода с помощью ERPScan CheckCode

Вопросы?  

Штаб-­‐квартира  Digital  Security  в  Москве:  +7  (495)  223-­‐07-­‐86  Центр  R&D  в  Санкт-­‐Петербурге:  +7  (812)  703-­‐15-­‐47  

www.dsec.ru  [email protected],  [email protected]  

@DSecRU  @imedv  

erpscan.ru   20  ERPScan  —  инвестируйте  в  безопасность  для  защиты  ваших  инвестиций