Проблемы обеспечения безопасности приложений Тема 20.

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



Advertisements
Похожие презентации
Проблемы обеспечения безопасности приложений Тема 20.
Advertisements

Проблемы обеспечения безопасности приложений Тема 20.
Получение контроля над объектом атаки Местонахождение атакующего В разных сегментах с объектом атаки Используемые уязвимости Цель Ошибки реализации Степень.
Получение контроля над объектом атаки Местонахождение атакующего В разных сегментах с объектом атаки Используемые уязвимости Цель Ошибки реализации Степень.
Получение контроля над объектом атаки Местонахождение атакующего В разных сегментах с объектом атаки Используемые уязвимости Цель Ошибки реализации Степень.
Средства анализа защищённости Раздел 2 – Тема 12.
Слайд 68 ЗАЩИТНЫЕ МЕХАНИЗМЫ И СРЕДСТВА У Ч Е Б Н Ы Й Ц Е Н Т Р ИНФОРМЗАЩИТА Раздел 1 – Тема 3.
Особенности проведения тестов на проникновение в организациях банковской сферы © , Digital Security Илья Медведовский, к.т.н. Директор Digital.
Организация корпоративной защиты от вредоносных программ Алексей Неверов Пермский государственный университет, кафедра Процессов управления и информационной.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Internet Scanner ИНФОРМЗАЩИТА НАУЧНО-ИНЖЕНЕРНОЕ ПРЕДПРИЯТИЕ.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Разработка учебно-лабораторного стенда для проведения тестов на проникновение в типовую корпоративную локально- вычислительную сеть предприятия Научный.
система защиты рабочих станций и серверов на платформе Windows XP/2003/2008R2/Vista/7 модуль доверенной загрузки операционной системы Windows 2000/XP/2003/Vista/7/2008.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Базовые методы обеспечения безопасности. Мы рассмотрим наиболее распространенные дополнительные меры, повышающие защищенность системы: контроль повторного.
Клиент банка под атакой © 2009, Digital Security.
Использование сертифицированных СЗИ от НСД для Linux при построении защищенных автоматизированных систем Инфофорум-2012 Юрий Ровенский Москва, 7 февраля.
Сложностные характеристики статистических скрытых каналов Автор: Свинцицкий Антон Игоревич Факультет вычислительной математики и кибернетики Московского.
Выполнила студентка группы ТУ-501 Полозова Ю.О. База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной.
Транксрипт:

Проблемы обеспечения безопасности приложений Тема 20

Уязвимости приложений Переполнение буфера «Гонки» Использование привилегий серверных компонент Манипуляции с данными на клиентской стороне

Получение контроля над объектом атаки Местонахождение атакующего В разных сегментах с объектом атаки Используемые уязвимости Цель Ошибки реализации Степень риска Запуск кода на атакуемом узле Механизм реализации Переполнение буфера - наиболее распространённая атака уровня приложений Высока я

Переполнение стека адрес возврата local[2] local[1] local[0] Стек Буфер f_vulner() { char local[3] ……}

int f_vulner (char arg) { char local[100] char local[100] //обработка //обработка return 0 return 0} void main() { char arg[200] char arg[200] gets (arg) gets (arg).. f_vulner (arg) f_vulner (arg) printf(arg) printf(arg) return 0 return 0} адрес возврата [100] local Стек Обычный ход выполнения программы «Переполнение стека» Переменная arg [100] strcpy(local, arg)

int f_vulner (char arg) { char local[100] char local[100] //обработка //обработка return 0 return 0} void main() { char arg[200] char arg[200] gets (arg) gets (arg).. f_vulner (arg) f_vulner (arg) printf(arg) printf(arg) return 0 return 0} адрес возврата [100] local Данные [200] Переполнение стека «Переполнение стека» Стек strcpy(local, arg) Ошибка ! Вместо возврата запуск кода

Данные [200] «Переполнение стека» Вызов функций ядра (программное прерывание INT 0x80) Вызов функций из модулей DLL Использование функции «WinExec» Использование переполнения стека

Причины переполнения буфера Отсутствие необходимых проверок на корректность аргументов Отсутствие средств вычисления длины буфера при работе с указателями strcpy(local, arg) Abcd……….?

Последствия переполнения буфера Чтение ячеек памяти, не принадлежащих массиву Модификация ячеек памяти Системные данные (адрес возврата и т. д.) Системные данные (адрес возврата и т. д.) Другие переменные Другие переменные Исполняемый код Исполняемый код Несуществующая (свободная область) Несуществующая (свободная область)

Предотвращение ошибок переполнения Использование механизма структурных исключений Использование «Heap» для указателей Использование языков программирования, делающих невозможным переполнение буфера Несуществующая область Буфер Отказ от индикатора завершения

Методы защиты Установка пакетов исправления Исправление исходного кода с перекомпиляцией Тестирование программ специальными утилитами

«Гонки» Гонки можно определить как некорректное поведение программы, вызванное неожидаемой последовательностью зависящих друг от друга событий. Другими словами, разработчик программы ошибочно полагает, что одно событие всегда должно предшествовать другому, но реально может возникнуть ситуация, когда это будет не так. Гонками также называются ситуации, при которых два или более процессов (потоков) обрабатывают разделяемые данные (файлы или переменные), и конечный результат зависит от соотношения скоростей процессов (потоков). В общем случае, процесс (поток) не выполняется атомарно. Его выполнение может быть прервано, и другой процесс может выполнить свои действия между двумя любыми операции прерванного процесса. В защищённом приложении любая пара операций должна работать корректно, даже если между ними выполняется произвольный код других процессов (потоков).

«Гонки» Проблемы, причиной которых являются гонки, можно поделить на две категории: Вмешательство со стороны недоверенного процесса. В этом случае критичными являются либо последовательность выполнения операций, либо «атомарность» (неделимость) двух операций. Вмешательство со стороны доверенного процесса (с точки зрения защищённого приложения). Такие ситуации называют взаимными блокировками, а также дедлоками (deadlocks), клинчами (clinch) или тупиками.

«Гонки» - пример уязвимости Name CAN (under review) Description The kernel module loader in Linux kernel 2.2. x before , and 2.4. x before , allows local users to gain root privileges by using ptrace to attach to a child process that is spawned by the kernel.

Практическая работа 25 Уязвимость загрузчика модулей ядра в ОС Linux

Сетевой сканер Nessus Тема 21

Сетевой сканер Nessus Nessus-сервер (UNIX) Nessus-клиент (Windows, UNIX) Сканируемая сеть

ПРИЛОЖЕНИЯ СУБД ОС СЕТЕВЫЕ СЛУЖБЫ ПОЛЬЗОВАТЕЛИ Сетевой сканер Nessus около 1000 проверок

Сетевой сканер Nessus Характеристики Модульная архитектура Язык описания атак NASL Система генерации отчётов Идентификация служб

Параллельное подключение и сканирование Nessus-сервер (UNIX) Nessus-клиент Сканируемая сеть Nessus-клиент

Практическая работа 20 Изучение возможностей сканера Nessus

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

Средства защиты периметра Внутренние серверы Рабочие места DMZ-1 DMZ-2 Филиал Мобильные сотрудники РесурсыInternet Пользователи Internet МЭ ID

Средства анализа защищённости DMZ-1 DMZ-2 Филиал Мобильные сотрудники РесурсыInternet Пользователи Internet МЭ Сканербезопасности

Средства обнаружения атак DMZ-1 DMZ-2 Филиал Мобильные сотрудники РесурсыInternet Пользователи Internet МЭ