Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемfilearchive.cnews.ru
1 Software Cloud Services Аудит безопасности кода Докладчик: Денис Гундорин Дата: 10 ноября 2011 г. г. Москва
2 СОДЕРЖАНИЕ Кому необходимы безопасные приложения? Для чего нужна безопасность приложений? Подход разработчиков к безопасности. Как проверяется безопасность приложений? Как безопасность необходимо проверять? Наш подход Почему стоит выбрать нас?
3 Организации и собственное ПО Любая организация обладает собственной отличительной спецификой работы Автоматизация работы организации Заказ разработки приложений с нуля Доработка существующих на рынке решений до требований конечного заказчика В большинстве организации существует уникальное ПО, не встречающееся нигде больше
4 Безопасность при разработке приложений Система должна быть Функциональные требования Не функциональные требования Система должна делать Безопасности не всегда уделяется должное внимание при разработке ПО Безопасность не всегда входит в функциональные требования Менталитет разработчика – главное алгоритм выполнения, обработка исключений откладывается на последний момент Сложность и трудоемкость тестов на безопасность – качественный тест безопасности сопоставим с самой разработкой Повторное использование кода – неправильная адаптация, небезопасность исходного кода
5 Тестирование на проникновение (pentest) Приложение Рабочее окружение Тестирование на проникновение (pentest) При тестировании приложение вместе с окружением рассматривается как черный ящик
6 Плюсы и минусы Pentest (черный ящик) Находит ошибки настройки стандартных приложений и окружений (неправильная конфигурация) Производит аудит безопасности на уже известные существующие ошибки (не обновленное ПО) Мало подходит для нестандартного ПО, каким и является разработанное/доработанное ПО Может анализировать нестандартное ПО Трудозатратно по времени Производится без анализа исходного кода Не может обеспечить глубокий и полный анализ работы приложения на наличие уязвимостей Находит только небольшое количество существующих уязвимостей Инструментальное тестирование pentest: Тестирование вручную:
7 Тестирование безопасности кода (белый ящик) Приложение При анализе кода возможно посмотреть приложениеизнутри: Уязвимости возможно обнаружить путем прохождения сценариев К-во сценариев проверенных методом PenTest К-во контролируемых сценариев при анализе кода
8 Анализ исходного кода высокого уровня Если есть исходный код языка высокого уровня Как делаем? Автоматизированные средства Ручной анализ кода Большой набор средств: собственных и сторонних Высокое качество работы – т.к. сами знаем средства изнутри Автоматизированные средства требуют тонкой настройки – работы производятся с учетом уникальных особенностей каждого заказчика
9 А если нет исходного кода? Зачастую, исходного кода просто нет, например: Старые приложения, которые уже никто не поддерживает Приложение разработанное для вас сторонними разработчиками
10 Анализ исполняемого кода Обфусцированная программа на ЯНУ Деобфускация Необфусцированная программа на ЯНУ Декомпиляция автоматическая полуавтоматическая ручная Интерактивный дизассемблер Ida Pro и декомпилятор Hex Rays Интерактивный дизасемблер Ida Pro, собственный декомпилятор SmartDec Низкоуровневые анализаторы и деобфускаторы, собственный декомпилятор SmartDec
11 Используемые инструменты Декомпиляция Интерактивный дизассемблер Ida Pro и декомпилятор Hex Rays Интерактивный дизасемблер Ida Pro, собственный декомпилятор SmartDec Низкоуровневые анализаторы и деобфускаторы, собственный декомпилятор SmartDec Анализ кода.NET – FxCop – Gendarme – StyleCop C – Antic – BLAST – Clang – Lint – Splint C++ – Clang Static Analyzer – cppcheck – cpplint Java – FindBugs – Hammurapi – PMD – Squale Python – Pychecker – Pyflakes – Pylint Собственные разработки Собственные консолидатор ы Все инструменты собраны в единый комплекс, позволяющий решать поставленную задачу с высокими показателями качества и производительности
12 Наше решение Обфусцированная программа на ЯНУ Деобфускация Необфусцированная программа на ЯНУ Декомпиляция автоматическая полуавтоматическая ручная Программа на языке высокого уровня Аудит ИБ кода автоматический полуавтоматический ручной Консолидированный отчет
13 Мы предлагаем Аудит безопасности приложений Веб- приложения Приложения Windows, Linux Приложения для мобильных устройств С наличием исходного кода Только исполняемый код Вам не нужно задумываться для какой платформы написано приложение Поддерживается ли оно разработчиками Существует ли исходный код Обсфурцированно ли приложение
14 Результат аудита безопасности кода Глубокий качественный анализ безопасности приложения, включая: – Оценку ИБ кода по совокупности критериев – Список всех выявленных уязвимостей с обоснованием рисков использования – Рекомендации по очередности устранения выявленных уязвимостей – Описанием критичности и трудоемкости устранения выявленных уязвимостей – Дополнительная информация по запросу Заказчика
15 Почему мы? Softline предлагает единый вход для решения задач по аудиту безопасности: Тесты на проникновение Инструментальные Ручные Социальная инженерия Аудит безопасности кода приложений Приложения с наличием исходного кода Приложения без исходного кода Выполненые проекты в отраслях: банки, гос. компании, телеком операторы, производственный сектор. Softline – это надежность: Крупная международная компания (65 городов 21 страны мира, 35 городов в России, филиалы в СНГ) Более 13 лет успешного развития Высокая компетентность подтвержденная независимыми исследованиями Полный спект дополнительных услуг
16 Вопросы? Денис Гундорин Руководитель направления инфраструктурных решений информационной безопасности Т +7 (495) доб М +7 (926)
18 Дополнительные сервисы Восстановление алгоритмов из унаследованных приложений Анализ работы унаследованных систем Восстановление интерфейсов унаследованных систем Восстановление компилируемого кода для унаследованных приложений
20 Информационная безопасность и современный бизнес По данным Британского офиса по кибер преступлениям за 2010 год мировые корпорации понесли ущерб в размере $1 триллиона в результате наличия уязвимостей в программном обеспечении. Ущерб от атак на системы мировых гигантов по данным на 2000 год за одну минуту простоя оценивается в $ для amazon.com, в $ для аукциона ebay, в $ для интернет-магазинов. Аудит информационной безопасности системы должен быть систематический и целостный: от бизнес- процессов, которые лежат в ее основе, до непосредственного анализа самого кода.
21 Виды уязвимостей Ошибки работы с памятью могут стать причиной: – Аварийного завершения программы – Возможности передачи управления вредоносному коду Ошибки проверки ввода могут стать причиной: – Вредоносного искажения данных Race condition могут стать причиной: – Обхода ограничений прав доступа Захват чужих прав доступа другие уязвимости…
22 Пример уязвимости переполнения буфера variable name AB value[null string]null string 1979 hex value 00 07BB variable name AB value 'e''x''c''e''s' 'i''v'25856 hex Здесь может находится адрес перехода
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.