ݺߣ

ݺߣShare a Scribd company logo
Solar inCode – система
анализа программного кода
на наличие уязвимостей ИБ
18 декабря 2015 г.
Чернов Даниил
CISA, CISSP
Руководитель Направления
Application Security
solarsecurity.ru +7 (499) 755-07-70
На острие технологии
2
solarsecurity.ru +7 (499) 755-07-70
По рзелульаттам илссеовадний одонго
анлигйскго унвиертсиета, не иеемт
занчнеия, в кокам пряокде рсапожолены
бкувы в солве. Галвоне, чотбы преавя и
пслоендяя бквуы блыи на мсете.
Осатльлыне бкувы мгоут селдовтаь в
плоонм бсепордяке, все-рвано ткест
чтаитсея без порблелм. Пичрионй эгоото
ялвятеся то, что мы не чиатем кдаужю
бкуву по отдльенотси, а все солво
цликеом.
Иногда ошибке в тексте не критичны
solarsecurity.ru +7 (499) 755-07-70
В больнице, на кровати,
лежит человек ,весь
замотанный бинтами и
диктует письмо:
- Уважаемый господин
редактор! Спешу сообщить
вам, что в вашем
самоучителе по прыжкам с
парашютом на пятой
странице есть опечатка!
Но могут обойтись дорого…
solarsecurity.ru +7 (499) 755-07-70
Откуда берутся уязвимости
5
 Культура разработки – разработчик не уделяет внимания:
 Языковым конструкциям, которые использует
 Коду, который используется как сторонний
 Безопасности связей между компонентами, которые разрабатывает
 Недостаток времени:
 Техническое задание разрабатывается быстро
 Программное обеспечение разработается быстро:
задержка в разработке – потеря денег
 Можно удовлетворить только два из трех желаний: быстро,
качественно и недорого
ОБЫЧНО – ЭТО БЫСТРО И НЕДОРОГО
solarsecurity.ru +7 (499) 755-07-70
Статистика за 2014 год
6
 Более 70% успешных кибератак эксплуатируют
«дыры» в ПО, т.к. на сегодняшний день это самое
слабое звено технической защиты
 Уязвимости для платформы Android – 15% из всех
уязвимостей, публично опубликованных за 2014 год
 SQLi – 8,4% из всех атак за прошедший 2014 год
solarsecurity.ru +7 (499) 755-07-70
Сложности
7
 Получить исходный код у разработчиков
 Убедиться, что код «собирается в проект» и не имеет
«неразрешенных зависимостей»
 Проверить код: корректно запустить скан
 Суметь понять, что написано в отчете
 Донести до разработчиков все найденные уязвимости
и объяснить их понятным языком
solarsecurity.ru +7 (499) 755-07-70
Solar inCode – сканер программного кода
• выдает детальные рекомендации по устранению уязвимостей̆ кода на
русском языке с описанием способов их эксплуатации
Понятные рекомендации
• выдает детальные рекомендации по настройке наложенных средств
защиты: SIEM, WAF, Firewall
Настройка средств защиты
• умеет работать без исходных кодов. Это значит, что не надо просить
исходные коды у разработчиков, а можно получить скомпилированные
файлы для анализа у системного администратора или скачать мобильные
приложения с Google Play или AppStore.
Практичность и удобство
solarsecurity.ru +7 (499) 755-07-70
Обзор функциональности
9
Статический анализ
Java, Scala: Web-приложения, Android
Бинарный анализ: Android, jar, war,
В разработке: PHP, iOS
Планы: C#/, PL/SQL, Javascript
Рекомендации по настройке наложенных средств защиты
Потенциальные НДВ
Интеграция с репозиторием
Загрузка apk по url (Google Play)
 Выгрузка отчётов (pdf, html)
solarsecurity.ru +7 (499) 755-07-70
Solar inCode – цена, опыт
внедрения
• От 3М рублей
Стоимость
• Банк Балтика
• Банк Образование
• Мсофт (дочерняя компания Маском)
• Яндекс.Деньги
Пользователи
solarsecurity.ru +7 (499) 755-07-70
Архитектура inCode
11
solarsecurity.ru +7 (499) 755-07-70
Road Map ближайшего развития
12
Декабрь 2015 года
анализ РНР и Objective C (iOS) по исходным
кодам.
Рекомендации для наложенных СЗИ (Cisco,
Checkpoint)
Q1|Q2 2016
Анализ C#, JavaScript, PL/SQL
анализ Objective C (iOS) при отсутствии
исходных кодов
solarsecurity.ru +7 (499) 755-07-70
Облачный сервис
13
В рамках JSOC реализован также облачный
сервис Solar inCode
solarsecurity.ru +7 (499) 755-07-70
Ваши вопросы

More Related Content

Solar inCode – система анализа программного кода на наличие уязвимостей ИБ

  • 1. Solar inCode – система анализа программного кода на наличие уязвимостей ИБ 18 декабря 2015 г. Чернов Даниил CISA, CISSP Руководитель Направления Application Security
  • 2. solarsecurity.ru +7 (499) 755-07-70 На острие технологии 2
  • 3. solarsecurity.ru +7 (499) 755-07-70 По рзелульаттам илссеовадний одонго анлигйскго унвиертсиета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатльлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без порблелм. Пичрионй эгоото ялвятеся то, что мы не чиатем кдаужю бкуву по отдльенотси, а все солво цликеом. Иногда ошибке в тексте не критичны
  • 4. solarsecurity.ru +7 (499) 755-07-70 В больнице, на кровати, лежит человек ,весь замотанный бинтами и диктует письмо: - Уважаемый господин редактор! Спешу сообщить вам, что в вашем самоучителе по прыжкам с парашютом на пятой странице есть опечатка! Но могут обойтись дорого…
  • 5. solarsecurity.ru +7 (499) 755-07-70 Откуда берутся уязвимости 5  Культура разработки – разработчик не уделяет внимания:  Языковым конструкциям, которые использует  Коду, который используется как сторонний  Безопасности связей между компонентами, которые разрабатывает  Недостаток времени:  Техническое задание разрабатывается быстро  Программное обеспечение разработается быстро: задержка в разработке – потеря денег  Можно удовлетворить только два из трех желаний: быстро, качественно и недорого ОБЫЧНО – ЭТО БЫСТРО И НЕДОРОГО
  • 6. solarsecurity.ru +7 (499) 755-07-70 Статистика за 2014 год 6  Более 70% успешных кибератак эксплуатируют «дыры» в ПО, т.к. на сегодняшний день это самое слабое звено технической защиты  Уязвимости для платформы Android – 15% из всех уязвимостей, публично опубликованных за 2014 год  SQLi – 8,4% из всех атак за прошедший 2014 год
  • 7. solarsecurity.ru +7 (499) 755-07-70 Сложности 7  Получить исходный код у разработчиков  Убедиться, что код «собирается в проект» и не имеет «неразрешенных зависимостей»  Проверить код: корректно запустить скан  Суметь понять, что написано в отчете  Донести до разработчиков все найденные уязвимости и объяснить их понятным языком
  • 8. solarsecurity.ru +7 (499) 755-07-70 Solar inCode – сканер программного кода • выдает детальные рекомендации по устранению уязвимостей̆ кода на русском языке с описанием способов их эксплуатации Понятные рекомендации • выдает детальные рекомендации по настройке наложенных средств защиты: SIEM, WAF, Firewall Настройка средств защиты • умеет работать без исходных кодов. Это значит, что не надо просить исходные коды у разработчиков, а можно получить скомпилированные файлы для анализа у системного администратора или скачать мобильные приложения с Google Play или AppStore. Практичность и удобство
  • 9. solarsecurity.ru +7 (499) 755-07-70 Обзор функциональности 9 Статический анализ Java, Scala: Web-приложения, Android Бинарный анализ: Android, jar, war, В разработке: PHP, iOS Планы: C#/, PL/SQL, Javascript Рекомендации по настройке наложенных средств защиты Потенциальные НДВ Интеграция с репозиторием Загрузка apk по url (Google Play)  Выгрузка отчётов (pdf, html)
  • 10. solarsecurity.ru +7 (499) 755-07-70 Solar inCode – цена, опыт внедрения • От 3М рублей Стоимость • Банк Балтика • Банк Образование • Мсофт (дочерняя компания Маском) • Яндекс.Деньги Пользователи
  • 11. solarsecurity.ru +7 (499) 755-07-70 Архитектура inCode 11
  • 12. solarsecurity.ru +7 (499) 755-07-70 Road Map ближайшего развития 12 Декабрь 2015 года анализ РНР и Objective C (iOS) по исходным кодам. Рекомендации для наложенных СЗИ (Cisco, Checkpoint) Q1|Q2 2016 Анализ C#, JavaScript, PL/SQL анализ Objective C (iOS) при отсутствии исходных кодов
  • 13. solarsecurity.ru +7 (499) 755-07-70 Облачный сервис 13 В рамках JSOC реализован также облачный сервис Solar inCode
  • 14. solarsecurity.ru +7 (499) 755-07-70 Ваши вопросы

Editor's Notes

  • #3: Многие вещи проходят путь от сложных навыков и умений до понятной, удобной и автоматизированной технологии. Например, современный автомобиль: когда-то управление автомобилем было очень сложным, а теперь это это автоматизированная технология. Современным автомобилем может управлять автопилот, а человеческое вмешательство необходимо в случае возникновения внештатных ситуаций.  Так и с анализом приложений на дыры: когда-то это было искусством, в нашем продукте мы постарались это искусство максимально автоматизировать. Вы видели, что анализ запускается в два клика.
  • #4: Итак, что же делает наш продукт. Он анализирует безопасность приложений, как по исходным кодам, так и без них. Что такое программа. Это текст, который написан по определенным правилам синтаксиса и семантики. Его тоже пишут люди. Мы все когда пишем текст, который идет в печать, понимаем, что его необходимо проверить на ошибки и опечатки, логические нестыковки. Это не так критично, когда мы пишем письмо коллеге, но сильно критично, когда мы пишем статью в печатное издание. Для выявление ошибок и нестыковок есть специальные люди, которые выявляют такие ошибки.  Но что такое софт, программное обеспечение, которым мы пользуемся? Это тоже текст. Написанный на языке программирования, с соблюдением определенных правил синтаксиса и семантики. Важное отличие здесь состоит в том, что этот текст: это набор четких инструкций и алгоритмов, которые будет выполнять наш ноутбук, сервер или мобильное устройство, на котором будет запущена программа. У программистов тоже есть свои корректоры. Они называются тестировщики. Но так сложилось, что тестировщики выявляют ошибки, которые влияют на функционирование системы, за ее работоспособность. А в то же время ряд ошибок приводит к тому, что систему можно взломать. Эти ошибки мы назваем уязвимостями. Если же программист вставил скрытый код, который позволяет ему управлять программой - это закладка или недекларированная возможность.
  • #5: Мы все когда пишем текст, который идет в печать, понимаем, что его необходимо проверить на ошибки и опечатки, логические нестыковки. Это не так критично, когда мы пишем письмо коллеге, но сильно критично, когда мы пишем статью в печатное издание. Для выявление ошибок и нестыковок есть специальные люди, которые выявляют такие ошибки.  Но что такое софт, программное обеспечение, которым мы пользуемся? Это тоже текст. Написанный на языке программирования, с соблюдением определенных правил синтаксиса и семантики. Важное отличие здесь состоит в том, что этот текст: это набор четких инструкций и алгоритмов, которые будет выполнять наш ноутбук, сервер или мобильное устройство, на котором будет запущена программа. У программистов тоже есть свои корректоры. Они называются тестировщики. Но так сложилось, что тестировщики выявляют ошибки, которые влияют на функционирование системы, за ее работоспособность. А в то же время ряд ошибок приводит к тому, что систему можно взломать. Эти ошибки мы назваем уязвимостями. Если же программист вставил скрытый код, который позволяет ему управлять программой - это закладка или недекларированная возможность.
  • #7: А что было раньше? Почему это стало актуально сейчас? Раньше было тоже самое. Дыры в средствах защиты периметра хорошо защищены. Теперь атаки чаще всего проходят через дыры в самом ПО, которое торчит наружу.
  • #8: В организациях, за безопасность от взломов как правило отвечает выделенный человек: безопасник. В общем-то, основная несправедливость жизни заключается в том, что если случается инцидент, то отвечать будет он. Аналогия: Исходный код это чертеж, по которому собирается автомобиль. Рабочий файл, в обычной жизни – это программка, которую вы запускаете на своем компьютере, это уже готовый автомобиль. Причем, если в обычной жизни у сервисменов есть чертежи и техническая документация на узлы автомобиля, то в случае с программкой таких чертежей нет. Это темный ящик.
  • #11: Например: организации, предоставляющие онлайн-сервисы внешним пользователям через персональный личный кабинет (например, банки, телекомы, авиаперевозчики) организации, осуществляющие продажу товаров и услуг в онлайне (н-р, Интернет-магазин) итд.