Download - пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить
![Page 1: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/1.jpg)
27.04.2016
Все, что вы хотели узнать
про «дыры» в коде, но
не у кого было спросить
![Page 2: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/2.jpg)
solarsecurity.ru +7 (499) 755-07-70
О чем пойдет речь
Что такое дыры
Как они появляются в коде
Какими инструментами их находить
Что делать с найденными дырами
2
![Page 3: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/3.jpg)
solarsecurity.ru +7 (499) 755-07-70
Особенности разработки приложений
с точки зрения ИБ
Дыры в софте:
Уязвимости
Недекларированные
возможности (закладки)
3
![Page 4: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/4.jpg)
solarsecurity.ru +7 (499) 755-07-70
Откуда берутся уязвимости
4
Культура разработки – разработчик не уделяет внимания:
Языковым конструкциям, которые использует
Коду, который используется как сторонний
Безопасности связей между компонентами, которые разрабатывает
Недостаток времени:
Техническое задание разрабатывается быстро
Программное обеспечение разработается быстро:
задержка в разработке – потеря денег
Можно удовлетворить только два из трех желаний: быстро,
качественно и недорого
ОБЫЧНО – ЭТО БЫСТРО И НЕДОРОГО
![Page 5: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/5.jpg)
solarsecurity.ru +7 (499) 755-07-70
Статистика за 2015 год
5
Более 75% успешных кибератак эксплуатируют
«дыры» в ПО, т.к. на сегодняшний день это самое
слабое звено технической защиты
Уязвимости для платформы Android – 15% из всех
уязвимостей, публично опубликованных за 2015 год
SQLi – 8,4% из всех атак за прошедший 2015 год
![Page 6: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/6.jpg)
![Page 7: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/7.jpg)
solarsecurity.ru +7 (499) 755-07-70
Что делать при выявлении уязвимости
Идеальный вариант – устранить уязвимость, переписав код
Некоторые уязвимости веб-приложений можно закрыть
наложенными средствами защиты
7
![Page 8: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/8.jpg)
solarsecurity.ru +7 (499) 755-07-70
Bug bounty
Официальная возможность заработать на найденных дырах
В среднем – несколько сотен долларов за уязвимость
Чрезмерно активное исследование на дыры может завалить
исследуемую систему, к этому надо быть готовым
8
![Page 9: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/9.jpg)
solarsecurity.ru +7 (499) 755-07-70
Что делать, если получили информацию
об уязвимостях от внешних лиц
Поблагодарить человека за присланную информацию
Проверить уязвимость
Если она подтвердилась – принять решение
об устранении, исходя из ее критичности
Критичные уязвимости устранять
как можно быстрее
Стараться не отвечать
приславшему в стиле
«да это вообще не уязвимость»
9
![Page 10: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/10.jpg)
solarsecurity.ru +7 (499) 755-07-70
Сложности
10
Получить исходный код у разработчиков
Убедиться, что код «собирается в проект» и не имеет
«неразрешенных зависимостей»
Проверить код: корректно запустить скан
Суметь понять, что написано в отчете
Донести до разработчиков все найденные уязвимости и
объяснить их понятным языком
![Page 11: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/11.jpg)
solarsecurity.ru +7 (499) 755-07-70
Методология безопасного
программирования
SDL – Secure Development Lifecycle
Официально считается, что SDL был впервые внедрен в Microsoft в
2004 г.
SDL предполагает закладывание требований по ИБ еще на этапе ТЗ
на систему.
Важным элементом является тестирование кода на безопасность с
возможным наложением вето на передачу релиза в production
11
![Page 12: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/12.jpg)
solarsecurity.ru +7 (499) 755-07-70
Кто, когда и сколько должен проверять
софт
В идеале тестировать
необходимо после внесения
изменений в код
Если изменений не происходит,
то рекомендуется делать
проверки при обновлении
базы уязвимостей
Тестировать должно
независимое от разработки
лицо, которое компетентно
в вопросах ИБ
12
![Page 13: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/13.jpg)
solarsecurity.ru +7 (499) 755-07-70
Как проверить софт?
13
![Page 14: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/14.jpg)
solarsecurity.ru +7 (499) 755-07-70
Откуда брать информацию об
уязвимостях. Некоторые источники
https://www.owasp.org
https://cwe.mitre.org/
https://capec.mitre.org/
https://www.cvedetails.com/
http://csrc.nist.gov/groups/ST/index.html
14
![Page 15: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/15.jpg)
solarsecurity.ru +7 (499) 755-07-70
Белый ящик. С исходниками или без
С исходниками нет сложностей с
восстановлением кода
Без исходников можно брат
приложение прямо из production,
есть гарантия, что вы проверяете
тот же самый код, а не
зачищенную версию
Без исходников вы также
анализируете дыры в
скомпилированных кусках софта,
взятого из других источников.
15
![Page 16: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/16.jpg)
solarsecurity.ru +7 (499) 755-07-70
Проверка на НДВ («закладки»)
Самое глубокое тестирование
на НДВ можно провести только
силами эксперта. У него
обязательно должна быть
документация на систему
Автоматически можно искать
НДВ в коде по шаблонным
признакам:
«Захардкоженный» пароль
Временной триггер
16
![Page 17: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/17.jpg)
solarsecurity.ru +7 (499) 755-07-70
Продукты для статического анализа кода
17
IBM Security AppScan Source
APPERCUT
HP Fortify Static Code Analyzer
Checkmarx Static Code Analysis
PT Application Inspector
Solar inCode
![Page 18: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/18.jpg)
solarsecurity.ru +7 (499) 755-07-70
Здесь могла бы быть ваша реклама
18
![Page 19: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/19.jpg)
solarsecurity.ru +7 (499) 755-07-70
На что обратить внимание при выборе
сканера
Поддержка тех языков программирования, которые Вам нужны
Понятный для Вас отчет: язык отчета, описание «дыр»,
рекомендаций итп
Возможность проверки приложений как по исходникам, так и без
Удобство работы: управление правилами поиска уязвимостей,
кастомизация отчетов, интеграция с репозиториями, Bug Tracking
Systems, IDE
Возможность генерации рекомендаций для наложенных СЗИ
Количество пропусков уязвимостей
Количество ложных срабатываний
19
![Page 20: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/20.jpg)
solarsecurity.ru +7 (499) 755-07-70
Cloud vs OnSite
Облачный формат:
как правило не требует вложения
в железо и софт
Но надо внутренне согласиться
с передачей своего кода наружу
Как правило дешевле и выгоднее,
если у Вас небольшие объемы
анализируемого кода
20
![Page 21: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/21.jpg)
solarsecurity.ru +7 (499) 755-07-70
Cloud vs OnSite
OnSite
Требует внедрения и
администрирования
Дает больше возможностей по
автоматизации SDL
Анализируемый код не уходит
в облако
Как правило является
предпочтительным вариантом для
клиентов с большим количеством
разрабатываемого/анализируемого
кода
21
![Page 22: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/22.jpg)
solarsecurity.ru +7 (499) 755-07-70
Основные языки
22
ActionScript
Delphi
MXML (Flex)
ASP.NET
VB.NET,
C# (.NET)
C/C++
Classic ASP (with
VBScript)
COBOL
HTML
JavaScript
AJAX
JSP
Objective-C
PL/SQL
Python
T-SQL
Visual Basic
VBScript
XML
PHP
Scala
Java
Java for
Android
![Page 23: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/23.jpg)
solarsecurity.ru +7 (499) 755-07-70
Что должно быть в отчетах
Executive Summary
Бенчмаркинг
Статистика найденных уязвимостей
Динамика изменения уязвимостей
Описание найденных уязвимостей и возможных атак
Критичность найденных уязвимостей
Рекомендации по корректировке кода
Рекомендации по настройке
наложенных СЗИ (где применимо)
Служебная информация
по анализируемому коду: структура проекта,
объем кода итп.
23
![Page 24: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/24.jpg)
solarsecurity.ru +7 (499) 755-07-70
ФСТЭК России про контроль кода
21 приказ:
11. В случае определения в соответствии с Требованиями к защите
персональных при их обработке в информационных системах
персональных данных, утвержденными постановлением Правительства
Российской Федерации от 1 ноября 2012 г. N1119, в качестве актуальных
угроз безопасности персональных данных 1-го и 2-го типов дополнительно
к мерам по обеспечению безопасности персональных данных, указанным в
пункте 8 настоящего документа, могут применяться следующие меры:
• проверка системного и (или) прикладного программного
обеспечения, включая программный код, на отсутствие
недекларированных возможностей с использованием
автоматизированных средств и (или) без использования таковых;
• тестирование информационной системы на проникновения;
• использование в информационной системе системного и (или)
прикладного программного обеспечения, разработанного с
использованием методов защищенного программирования.
24
![Page 25: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/25.jpg)
solarsecurity.ru +7 (499) 755-07-70
Реестр отечественного ПО
25
https://reestr.minsvyaz.ru/reestr/73530
![Page 26: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/26.jpg)
solarsecurity.ru +7 (499) 755-07-70
Полезные ссылки
Анализаторы исходного кода – обзор рынка в России и в мире:
https://www.anti-
malware.ru/reviews/Code_analyzers_market_overview_Russia_and_world
Базы уязвимостей:
https://www.owasp.org
https://cwe.mitre.org/
https://capec.mitre.org/
https://www.cvedetails.com/
http://csrc.nist.gov/groups/ST/index.html
Microsoft SDL:
https://www.microsoft.com/en-us/sdl/
http://bdu.fstec.ru/
26
![Page 27: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/27.jpg)
solarsecurity.ru +7 (499) 755-07-70
Ближайший вебинар
«Solar inCode: в поисках уязвимостей» 02.06.2016 11:00 (Мск)
http://solarsecurity.ru/analytics/webinars/682
Solar inCode – это не просто отечественный анализатор кода, это инструмент проверки безопасности приложений
нового поколения. Он позволяет проводить проверку ПО на уязвимости даже при отсутствие исходного кода, для
этого достаточно загрузить в сканер рабочие файлы приложений, а в случае мобильных приложений – скопировать
в сканер ссылку из Apple Store или Google Play.
Мы приглашаем сотрудников подразделений разработки и сотрудников служб ИБ принять участие в вебинаре,
который пройдет 02 июня (четверг) 2016 года в 11.00, и поближе познакомиться с Solar inCode.
Даниил Чернов, руководитель направления Application Security компании Solar Security, подробно расскажет о
продукте и ответит на ваши вопросы.
На вебинаре вы узнаете:
Почему Solar inCode уникальный инструмент анализа приложений?
Какая технология позволяет проводить анализ без исходных кодов?
Что такое технология Fuzzy Logic Engine, и как она помогает снизить количество ложных срабатываний?
Что дает сочетание технологий деобфускации и декомпиляции?
Почему Solar inCode – это инструмент, предназначенный прежде всего для специалистов по информационной
безопасности?
![Page 28: пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого было спросить](https://reader031.vdocuments.mx/reader031/viewer/2022030223/5881d5b21a28ab331a8b6515/html5/thumbnails/28.jpg)
Даниил Чернов
Руководитель направления
Application Security
www.solarsecurity.ru