Лекция 2
.pdfПонятие эксплойта и уязвимости |
Переполнение буфера |
Подготовка шеллкода |
|
|
|
Причины уязвимостей
Случайные ошибки программиста (ошибка на единицу, расширение функциональности программы, отсутствие проверок на переполнение памяти)
Преднамеренные ошибки программиста (создание программ с закладками, распространение червей, внедрение бэкдоров)
Ошибки администратора (неправильные настройки сети и ПО, несвоевременное обновление версий ОС и пакетов)
Непреднамеренные действия пользователя (слабые пароли, игнорирование предупреждений антивируса, установка пиратских версий ПО)
Программно-аппаратные сбои (сбой в электропитании, электромагнитные помехи, выход из строя узлов информационной системы (ИС))
Браницкий А.А., СПбГУТ |
Лекция 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 |