Software Cloud Services Аудит безопасности кода Докладчик: Денис Гундорин Дата: 10 ноября 2011 г. г. Москва.

Презентация:



Advertisements
Похожие презентации
Software Cloud Services Экспертиза информационной безопасности в банковской организации Таран Дмитрий Консультант по информационной безопасности
Advertisements

Сложная модульная структура Технологическое разнообразие Native и Managed модули Mixed code Особенности современного ПО.
Корпоративный портал на основе коробочного решения На примере QSOFT: Корпоративный портал Михаил Токовинин, генеральный директор компании QSOFT +7 (495)
Аналитика корпоративной мобильной связи АКМС ПРЕЗЕНТАЦИЯ г. Москва 2015.
Разработка Веб - проектов, от требований заказчика до запуска. Прозрачность разработки как средство формирования ожиданий заказчика.
Digital Security LifeCycle Management System Эффективное решение для автоматизации процессов в рамках жизненного цикла СУИБ © 2008, Digital Security.
Разработка ПО Системная интеграция IT-аутсорсинг.
Магистрант кафедры телекоммуникаций и информационных технологий Комиссар Дмитрий Семёнович Руководители: Доцент Резников Геннадий Константинович.
Актуальность контроля разработки программного обеспечения автоматизированных банковских систем на предмет наличия в нем уязвимостей ООО «Газинфомсервис»
1С:Автоматическое тестирование конфигураций. Программный продукт представляет собой инструмент, предназначенный для максимально полной автоматической.
СОЗДАНИЕ ПЛАТФОРМЫ для ИНТЕРНЕТ МАГАЗИНА. Решения План работ Разработка Дизайн Контент Интеграция в социальные сети Стоимость Привлечение Вопросы ОГЛАВЛЕНИЕ.
Клиент банка под атакой © 2009, Digital Security.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
Платформа разработки бизнес-приложений Особенности платформы Принципиально новая запатентованная декларативная модель построения бизнес-приложений Высокая.
Марина Сергей, руководитель отдела Руководитель отдела веб-разработки Примеры построения сайтов, порталов и других информационных систем на различных платформах.
Контроля качества ПО. развития службы Три ступени Докладчик: Гринкевич Сергей
Методические рекомендации по проведению аудита безопасности критичных онлайн-приложений Вячеслав Железняков, Softline Инфофорум 2013.
Калугин Александр, PhD, PMP Mercury Development Project Director.
Опыт организации электронного архива финансовой документации с помощью комплексного решения «eDocLib: Хранение и оцифровка» в инвестиционной компании «МИБ-
Транксрипт:

Software Cloud Services Аудит безопасности кода Докладчик: Денис Гундорин Дата: 10 ноября 2011 г. г. Москва

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

Организации и собственное ПО Любая организация обладает собственной отличительной спецификой работы Автоматизация работы организации Заказ разработки приложений с нуля Доработка существующих на рынке решений до требований конечного заказчика В большинстве организации существует уникальное ПО, не встречающееся нигде больше

Безопасность при разработке приложений Система должна быть Функциональные требования Не функциональные требования Система должна делать Безопасности не всегда уделяется должное внимание при разработке ПО Безопасность не всегда входит в функциональные требования Менталитет разработчика – главное алгоритм выполнения, обработка исключений откладывается на последний момент Сложность и трудоемкость тестов на безопасность – качественный тест безопасности сопоставим с самой разработкой Повторное использование кода – неправильная адаптация, небезопасность исходного кода

Тестирование на проникновение (pentest) Приложение Рабочее окружение Тестирование на проникновение (pentest) При тестировании приложение вместе с окружением рассматривается как черный ящик

Плюсы и минусы Pentest (черный ящик) Находит ошибки настройки стандартных приложений и окружений (неправильная конфигурация) Производит аудит безопасности на уже известные существующие ошибки (не обновленное ПО) Мало подходит для нестандартного ПО, каким и является разработанное/доработанное ПО Может анализировать нестандартное ПО Трудозатратно по времени Производится без анализа исходного кода Не может обеспечить глубокий и полный анализ работы приложения на наличие уязвимостей Находит только небольшое количество существующих уязвимостей Инструментальное тестирование pentest: Тестирование вручную:

Тестирование безопасности кода (белый ящик) Приложение При анализе кода возможно посмотреть приложениеизнутри: Уязвимости возможно обнаружить путем прохождения сценариев К-во сценариев проверенных методом PenTest К-во контролируемых сценариев при анализе кода

Анализ исходного кода высокого уровня Если есть исходный код языка высокого уровня Как делаем? Автоматизированные средства Ручной анализ кода Большой набор средств: собственных и сторонних Высокое качество работы – т.к. сами знаем средства изнутри Автоматизированные средства требуют тонкой настройки – работы производятся с учетом уникальных особенностей каждого заказчика

А если нет исходного кода? Зачастую, исходного кода просто нет, например: Старые приложения, которые уже никто не поддерживает Приложение разработанное для вас сторонними разработчиками

Анализ исполняемого кода Обфусцированная программа на ЯНУ Деобфускация Необфусцированная программа на ЯНУ Декомпиляция автоматическая полуавтоматическая ручная Интерактивный дизассемблер Ida Pro и декомпилятор Hex Rays Интерактивный дизасемблер Ida Pro, собственный декомпилятор SmartDec Низкоуровневые анализаторы и деобфускаторы, собственный декомпилятор SmartDec

Используемые инструменты Декомпиляция Интерактивный дизассемблер 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 Собственные разработки Собственные консолидатор ы Все инструменты собраны в единый комплекс, позволяющий решать поставленную задачу с высокими показателями качества и производительности

Наше решение Обфусцированная программа на ЯНУ Деобфускация Необфусцированная программа на ЯНУ Декомпиляция автоматическая полуавтоматическая ручная Программа на языке высокого уровня Аудит ИБ кода автоматический полуавтоматический ручной Консолидированный отчет

Мы предлагаем Аудит безопасности приложений Веб- приложения Приложения Windows, Linux Приложения для мобильных устройств С наличием исходного кода Только исполняемый код Вам не нужно задумываться для какой платформы написано приложение Поддерживается ли оно разработчиками Существует ли исходный код Обсфурцированно ли приложение

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

Почему мы? Softline предлагает единый вход для решения задач по аудиту безопасности: Тесты на проникновение Инструментальные Ручные Социальная инженерия Аудит безопасности кода приложений Приложения с наличием исходного кода Приложения без исходного кода Выполненые проекты в отраслях: банки, гос. компании, телеком операторы, производственный сектор. Softline – это надежность: Крупная международная компания (65 городов 21 страны мира, 35 городов в России, филиалы в СНГ) Более 13 лет успешного развития Высокая компетентность подтвержденная независимыми исследованиями Полный спект дополнительных услуг

Вопросы? Денис Гундорин Руководитель направления инфраструктурных решений информационной безопасности Т +7 (495) доб М +7 (926)

Дополнительные сервисы Восстановление алгоритмов из унаследованных приложений Анализ работы унаследованных систем Восстановление интерфейсов унаследованных систем Восстановление компилируемого кода для унаследованных приложений

Информационная безопасность и современный бизнес По данным Британского офиса по кибер преступлениям за 2010 год мировые корпорации понесли ущерб в размере $1 триллиона в результате наличия уязвимостей в программном обеспечении. Ущерб от атак на системы мировых гигантов по данным на 2000 год за одну минуту простоя оценивается в $ для amazon.com, в $ для аукциона ebay, в $ для интернет-магазинов. Аудит информационной безопасности системы должен быть систематический и целостный: от бизнес- процессов, которые лежат в ее основе, до непосредственного анализа самого кода.

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

Пример уязвимости переполнения буфера 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 Здесь может находится адрес перехода