Скачиваний:
14
Добавлен:
27.03.2022
Размер:
873.52 Кб
Скачать

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Причины уязвимостей

Случайные ошибки программиста (ошибка на единицу, расширение функциональности программы, отсутствие проверок на переполнение памяти)

Преднамеренные ошибки программиста (создание программ с закладками, распространение червей, внедрение бэкдоров)

Ошибки администратора (неправильные настройки сети и ПО, несвоевременное обновление версий ОС и пакетов)

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

Программно-аппаратные сбои (сбой в электропитании, электромагнитные помехи, выход из строя узлов информационной системы (ИС))

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

5/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Классификация эксплойтов

 

Эксплойты

 

По способу получения

По типу достигаемой

По способу реализации

По уровню воздействия

доступа

цели

на систему

 

Локальные

Запуск командной

Компилируемый язык

Аппаратные

оболочки (shellcode)

программирования

 

 

Удаленные

Выполнение DoS-атаки

Интерпретируемый язык

Программные

программирования

 

 

 

 

Пассивный мониторинг

Конфигурационные

 

 

за действиями жертвы

файлы ОС

 

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

6/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Классификация уязвимостей

 

 

Уязвимости

По области

По этапу жизненного

По типам недостатков

происхождения

цикла ПО

ИС

Уязвимости кода

На этапе

Неправильная настройка

проектирования ПО

параметров ПО

 

Уязвимости

На этапе реализации

Неполнота проверки

конфигурации

ПО

входных данных

Уязвимости

На этапе установки

Переполнение буфера

архитектуры

и настройки ПО

памяти

По месту возникновения

В прикладном ПО

В сетевом оборудовании

В средствах защиты

информации

ГОСТ Р 56546-2015 Защита информации. Уязвимости информационных систем

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

7/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Примеры программных ошибок (1)

9 сент. 1947 г. (1945 г.) обнаружение ошибки в работе программы на машине Harvard Mark II из-за закорачивания контактов компьютерного реле мотыльком.

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

8/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Примеры программных ошибок (2)

22 июля 1962 г. неудачный запуск корабля Маринер-1 на Венеру. Причина пропущенный дефис или запятая. Стоимость ошибки 18.5 млн. $.

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

9/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Примеры программных ошибок (3)

4 июня 1996 г. взрыв ракеты-носителя Ариан 5. Причина переполнение 16-раздрядного пространства в результате его перезаписи 64-битным числом. Стоимость ошибки 7 млрд. $.

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

10/40

Понятие эксплойта и уязвимости Переполнение буфера Подготовка шеллкода

Примеры программных ошибок (4)

2 ноября 1988 г. червь Морриса. Причина уязвимость ngerd (порт 79) в BSD из-за использования функции gets(). Последствия 2 6 тыс. компьютеров заражены.

man gets

gets - get a string from

standard input (DEPRECATED) BUGS

Never use gets()...

For more information, see

CWE-242 (aka "Use of

Inherently Dangerous

Function") at http://cwe.mitre.org/data/definitions/242.html

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

11/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Примеры программных ошибок (5)

1994 г. ошибка в операции деления FDIV с плавающей точкой у процессора Intel Pentium. Причина недостаток записей в таблицах деления. Стоимость ошибки 475 млн. $.

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

12/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Примеры программных ошибок (6)

15 янв. 1990 г. непрерывная перезагрузка телефонных коммутаторов AT&T. Причина ошибка в обновлении прошивки. Последствия 9 часов простоя.

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

13/40

Понятие эксплойта и уязвимости

Переполнение буфера

Подготовка шеллкода

 

 

 

Примеры программных ошибок (7)

1999 г. разбился спутник Mars Climate Orbiter, предназначенный для проведения исследований марсианского климата. Причина отсутствовал перевод английских единиц измерения силы в метрическую систему. Стоимость ошибки 125 млн. $.

Браницкий А.А., СПбГУТ

Лекция 2, Санкт-Петербург, 2021

14/40

Соседние файлы в предмете Эксплуатация уязвимостей программного обеспечения