Аудит безопасности кода

Post on 01-Jan-2016

62 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Аудит безопасности кода. Докладчик : Денис Гундорин Дата : 10 ноября 2011 г. г . Москва. СОДЕРЖАНИЕ. Кому необходимы безопасные приложения? Для чего нужна безопасность приложений? Подход разработчиков к безопасности. Как проверяется безопасность приложений? - PowerPoint PPT Presentation

TRANSCRIPT

Аудит безопасности кода

Докладчик: Денис Гундорин

Дата: 10 ноября 2011 г.

г. Москва

СОДЕРЖАНИЕ

Кому необходимы безопасные приложения? Для чего нужна безопасность приложений? Подход разработчиков к безопасности. Как проверяется безопасность приложений? Как безопасность необходимо проверять? Наш подход Почему стоит выбрать нас?

Организации и собственное ПО

Любая организация обладает собственной отличительной спецификой работы

Автоматизация работы

организации

Заказ разработки приложений “с нуля”

Доработка существующих на рынке решений до требований

конечного заказчика

В большинстве организации существует уникальное ПО, не встречающееся нигде больше

Безопасность при разработке приложений

“Система должна быть”

Функциональныетребования

Не функциональныетребования

“Система должна делать”

Безопасности не всегда уделяется должное внимание при разработке ПО

Безопасность не всегда входит в функциональные требования

Менталитет разработчика – главное алгоритм выполнения, обработка исключений откладывается на последний момент

Сложность и трудоемкость тестов на безопасность – качественный тест безопасности сопоставим с самой разработкой

Повторное использование кода – неправильная адаптация, небезопасность исходного кода

Тестирование на проникновение (pentest)

Приложение

Рабочее окружение

Тестирование на проникновение (pentest)

При тестировании приложение вместе с окружением рассматривается как черный ящик

Плюсы и минусы Pentest (“черный ящик”)

Находит ошибки настройки стандартных приложений

и окружений (неправильная конфигурация) Производит аудит безопасности на уже известные

существующие ошибки (не обновленное ПО) Мало подходит для нестандартного ПО, каким и

является разработанное/доработанное ПО

Может анализировать нестандартное ПО Трудозатратно по времени Производится без анализа исходного кода Не может обеспечить глубокий и полный анализ

работы приложения на наличие уязвимостей Находит только небольшое количество

существующих уязвимостей

Инструментальное тестирование pentest:

Тестирование “вручную”:

Тестирование безопасности кода (“белый ящик”)

Приложение

При анализе кода возможно посмотреть приложение “изнутри”:

Уязвимости возможно обнаружить путем прохождения сценариев

К-во сценариев проверенных методом PenTest

К-во контролируемых сценариев при анализе кода

Анализ исходного кода высокого уровня

Если есть исходный код языка высокого уровня

• Большой набор средств: собственных и сторонних

• Высокое качество работы – т.к. сами знаем средства “изнутри”

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

А если нет исходного кода?

Зачастую, исходного кода просто нет, например:

Старые приложения, которые уже никто не поддерживает

Приложение разработанное для вас сторонними разработчиками

Анализ исполняемого кода Обфусцированная

программа на ЯНУ

Деобфускация

Необфусцированная программа на ЯНУ

Декомпиляция•автоматическая•полуавтоматическая•ручная

Интерактивный дизассемблер Ida Pro и декомпилятор Hex Rays

Интерактивный дизасемблер Ida Pro, собственный декомпилятор SmartDec

Низкоуровневые анализаторы и деобфускаторы, собственный декомпилятор SmartDec

Используемые инструментыДекомпиляция

Интерактивный дизассемблер Ida Pro и декомпилятор Hex Rays

Интерактивный дизасемблер Ida Pro, собственный декомпилятор SmartDec

Низкоуровневые анализаторы и деобфускаторы, собственный декомпилятор SmartDec

Анализ кода

Все инструменты собраны в единый комплекс, позволяющий решать поставленную задачу с высокими показателями

качества и производительности

Наше решение

Обфусцированная программа на ЯНУ

Деобфускация

Необфусцированная программа на ЯНУ

Декомпиляция•автоматическая•полуавтоматическая•ручная

Программа на языке высокого уровня

Аудит ИБ кода•автоматический•полуавтоматический•ручной

Консолидированный отчет

Мы предлагаем Аудит безопасности приложений

Веб-приложения

Приложения Windows,

Linux

Приложения для

мобильных устройств

С наличием исходного кода

Только исполняемый код

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

• Поддерживается ли оно разработчиками• Существует ли исходный код• Обсфурцированно ли приложение

Результат аудита безопасности кода

Глубокий качественный анализ безопасности приложения, включая:– Оценку ИБ кода по совокупности критериев– Список всех выявленных уязвимостей с

обоснованием рисков использования– Рекомендации по очередности устранения

выявленных уязвимостей– Описанием критичности и трудоемкости

устранения выявленных уязвимостей– Дополнительная информация по запросу

Заказчика

Почему мы? Softline предлагает единый вход для решения задач

по аудиту безопасности: Тесты на проникновение

Инструментальные Ручные Социальная инженерия

Аудит безопасности кода приложений Приложения с наличием исходного кода Приложения без исходного кода

Выполненые проекты в отраслях: банки, гос. компании, телеком операторы, производственный сектор.

Softline – это надежность: Крупная международная компания (65 городов 21 страны

мира, 35 городов в России, филиалы в СНГ) Более 13 лет успешного развития Высокая компетентность подтвержденная независимыми

исследованиями Полный спект дополнительных услуг

Вопросы?

Денис Гундорин

Руководитель направления инфраструктурных решений информационной безопасности

Т +7 (495) 232 00 23 доб. 1469М +7 (926) 475 21 15denis.gundorin@softline.ru

Дополнительные сервисы

Восстановление алгоритмов из унаследованных приложений

Анализ работы унаследованных систем

Восстановление интерфейсов унаследованных систем

Восстановление компилируемого кода для унаследованных приложений

Информационная безопасность и современный бизнес По данным Британского офиса по кибер преступлениям

за 2010 год мировые корпорации понесли ущерб в размере $1 триллиона в результате наличия уязвимостей в программном обеспечении.

Ущерб от атак на системы мировых гигантов по данным на 2000 год за одну минуту простоя оценивается в $180 000 для amazon.com, в $225 000 для аукциона ebay, в $90 000 для интернет-магазинов.

Аудит информационной безопасности системы должен быть систематический и целостный: от бизнес-процессов, которые лежат в ее основе, до непосредственного анализа самого кода.

Виды уязвимостей Ошибки работы с памятью могут стать причиной:– Аварийного завершения программы– Возможности передачи управления

вредоносному коду

Ошибки проверки ввода могут стать причиной:– Вредоносного искажения данных

Race condition могут стать причиной: – Обхода ограничений прав доступа

Захват чужих прав доступа

другие уязвимости…

Пример уязвимости переполнения буфера

variable name A B

value [null string] 1979

hex value

00 00 00 00 00 00 00 00 07 BB

variable name A B

value 'e' 'x' 'c' 'e' 's' 's' 'i' 'v' 25856

hex 65 78 63 65 73 73 69 76 65 00

Здесь может находится адрес перехода

top related