1. Технологическая схема статического анализа ТКО.
Этапы статического анализа выявления и предотвращения НДК
Предварительный этап -выявление декларированных команд
Предварительный этап. Стенд для сканирование команд
Постановка задачи проведения статического анализа.
Модель проведения статического анализа
Модель проведения статического анализа (продолжение)
Этапы и задачи статического анализа
Выявления структуры файла прошивки
Cтруктура файла прошивки
Верификация компонентов дистрибутива прошивки
Технологическая схема модели исследований
Статический анализ образа. Процедуры анализа.
Поиск начала цепочек команд
Структура данных цепочек команд
Структура данных цепочек команд (продолжение)
Результаты статического анализа
Проверка на реальном устройстве
3. Создание стенда для динамического анализа ТКО Cisco.
Эмуляция оборудования
Выбор эмулятора
Вариант архитектуры стенда для статического и динамического анализа процессов СПО Cisco
Graphical Network Simulator ( графический симулятор сети)
Основные шаги создания стенда для исследования НДК.
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Основные шаги создания стенда для исследования НДК
Практическое задание №1
2.25M

Презентация лекция №8

1.

ВОЕННО-КОСМИЧЕСКАЯ АКАДЕМИЯ ИМЕНИ А.Ф. МОЖАЙСКОГО
Лекция № 8
Анализ программных реализаций при отсутствии исходных
текстов программ

2.

2
Лекция №8
Статический и динамический анализ
телекоммуникационного оборудования Cisco.
Цель: Изучить порядок проведения статического и динамического анализа для
выявления и запрета выполнения недокументированных
команд (НДК) телекоммуникационного оборудования (ТКО) Cisco.
Учебные вопросы:
1.
2.
3.
Технологическая схема проведения статического анализа.
Статический анализ исполняемого кода.
Создание стенда для динамического анализа ТКО Cisco.

3. 1. Технологическая схема статического анализа ТКО.

Назначение технологии - выявить состав НДК и сделать
невозможным их запуск (выполнение) на ТКО. Основная
задача естественным образом разбивается на следующие
подзадачи:
1. Предварительный этап -выявление декларированных
команд, выполняется
на ТКО методом сканирования
(динамический анализ) с помощью инструментального
комплекса Эфрос-Pix.
2. Выявление
состава НДК, проводится методом
статического анализа.
3. Предотвращение выполнения выявленных НДК,
проводится либо модификацией кода прошивки, либо
конфигурированием подсистем разграничения доступа к
командам ТКО.
Объект анализа -готовые к применению исполняемые коды
ПО Cisco ASA (asa802-k8.bin), для которых отсутствуют
исходные тексты.
3

4. Этапы статического анализа выявления и предотвращения НДК

Выявление
декларированных
команд
1
2
Сканироование
команд на МСЭ
Дизассемблирова
ние бинарного
образа МСЭ
Выявление
недокументированных команд
Статический
анализ
дизассемблированного кода
Предотвращение
выполнения
недокументированных команд
3
5
4
6
Формирование
множества НДК
Удаление НДК из
двоичного образа
Разграничение
доступа к
командам МСЭ
4

5. Предварительный этап -выявление декларированных команд

Предварительный этап -выявление декларированных команд5
Предварительный этап -выявление декларированных команд ТКО
осуществляется методом сканирования (динамический анализ) с помощью
инструментального комплекса Эфрос-Pix.
Результат сканирования-перечень документированных команд и их
операндов.

6. Предварительный этап. Стенд для сканирование команд

Для получении достоверной информации о командах и их
операндах сканирование должно выполняться с активацией всей
функциональности МСЭ. Команды становятся доступными только
лишь в случае, если сконфигурированы соответствующие сервисы
и функции. В противном случае команды не будут отображаться в
справочной подсистеме и сканеру будут недоступны.
6

7. Постановка задачи проведения статического анализа.

Исходные данные:
• исполняемые коды CПО Cisco ASA , файл
прошивки asa802-k8.bin
• общедоступная информация об CПО Cisco ASA
Метод проведения исследований:
• статический анализ(без запуска СПО Cisco
ASA) исполняемого кода
Результаты исследований:
• список недокументированных команд СПО Cisco
ASA и способ их отключения путем
модификации прошивки.
7

8. Модель проведения статического анализа

Допущение. Дизассемблированный код Cisco Pix полностью описывает
функциональность МСЭ Cisco ASA и соответствующий ей набор команд
управления и конфигурирования.
После принятия допущения можно построить диаграмму соответствия
между командами в дистрибутиве и дизассемблированном коде:
8

9. Модель проведения статического анализа (продолжение)

d – процедура дизассемблирования загрузочного кода Е ASA;
сs – процедура выявления команд ASA в дизассемблированном коде;
се – процедура выявления команд ASA в загруженном коде;
Ks – набор выявленных команд управления и конфигурирования
дизассемблированному коду и документации. Ks = сs (d (E));
по
Ke – набор выявленных команд управления и конфигурирования по загруженному
коду. Ke = се ( E );
cs – процедура сопоставления Ks и Ke..
Так как диаграмма коммутативная, то мы вправе ожидать корректной реализации
нахождения Кs и Ke по соответствующим путям, и выполнения условия
сс (се (E)) ⊆ сs (d ( E )).
Ks = сs (d ( E )) можно получить из дизассемблированного кода и уточнить с
помощью команды ASA sh pars dump all.
Ke = се ( E ) можно получить, используя
инструментального комплекса ЭФРОС-PIX.
функцию
сканера
При выполнении процедуры сопоставления для выделения и
фиксации НДК привлекаются документация и анализ атрибутов команд по
S = d ( E ).
9

10. Этапы и задачи статического анализа

1.Выявления
структуры файла прошивки и определение
компонент и характеристик структурных элементов прошивки.
2.Вычленение операционных и прикладных компонент
прошивки и их характеристик
3.Создание стенда для воссоздания компонент прошивки из
исходных текстов выявленных компонентов, сравнение с
компонентами прошивки
4.Дизассемблирование ядра СПО и проведение статического
анализа ядра СПО
• выявления структурных характеристик команд
• поиск признаков НДК
• формирование списка документированных команд
• сравнение выявленных документированных команд в прошивке
со списком команд, полученных с помощью сканера Эфрос
• поиск различий документированных и недокументированных
команд
• поиск способов отключения НДК в файле прошивки
10

11. Выявления структуры файла прошивки

Анализ файла прошивки asa802-k8.bin в hex - редакторе
на наличие сигнатуры (0x1F8B0800), оставляемой в
заархивированных объектах утилитой gzip, в файле
можно выделить четыре структуры и сформировать
файлы:
1. Загрузчик (дополнительный) – loader1.bin;
2. Ядро Linux версии 2.6.17.8 – zip1.gz;
3. Подсистемы ASA – zip2.gz;
4. Загрузчик (основной) – loader2.bin.
Части 1 и 4, связаны с начальной загрузкой и
распаковкой двух других частей (2 и 3) и поэтому
принципиально не архивируются. Части 2 и 3
обеспечивают заявленную функциональность МСЭ
Cisco ASA 550
11

12. Cтруктура файла прошивки

12

13. Верификация компонентов дистрибутива прошивки

Ядро Linux версии 2.6.17.8 – zip1.gz
1.Выполнить лабораторную сборку ядра и библиотек из репозитория Linux
для версии 2.6.17.8.
2.Для лабораторной сборки сформировать дерево каталогов c файлами
(ДКФ1) с помощью утилиты сpio.
3.Выполнить загрузку образа Cisco Asa и сформировать из оперативной
памяти дерево каталогов c файлами (ДКФ2)
4.Выполнить сравнение ДКФ1 и ДКФ2.
13

14. Технологическая схема модели исследований

makefile
Исх.тексты
ядра Linux
makefile
GCC
Исх.тексты
библиотек
РАЗРАБОТЧИК
Исх.тексты
модулей ASA
GCC
Средства создания дистрибутива
Дистрибутив asa802-k8.bin
Команды
управления
и конфиг-я
Препарирование
дистрибутива
Загрузка ASA
Утилиты, скрипты
Модули ASA
Дерево каталогов с загрузочными
файлами ASA
Ядро Linux
Библиотеки
Лаб. сборка
ядра Linux
Лаб. сборки
библиотек
GCC
GCC
Исх.тексты
ядра Linux
Исх.тексты
библиотек
www.kernel.org/
//ftp.gnu.org/
gnu/glibc/
Эфрос-PIX
IDA Pro
Сканер
Эфрос
IRIDA
Отчет
БД IDA Pro
(дизассемб-й
текст ASA)
БД IRIDA
БД
команд ASA
ИСПЫТАТЕЛЬ
Загрузочный
образ ASA
14

15. Статический анализ образа. Процедуры анализа.

1. С помощью дизассемблера IDA Pro выполнить
дизассемблирование подсистемы ASA
2.
Провести
статический
анализ
дизассемблированного кода
• Выявить текстовые константы
• Выделить из текстовых констант имена команд
конфигурирования
• Выявить адреса подпрограмм начала цепочек
обработки команд
• Провести анализ структур данных обработчиков
команд
• Выявить признаки документированных и
недокументированных команд
15

16. Поиск начала цепочек команд

ciscoasa(config)# show parser mode
Parser modes:Name
Prompt
Top
exec
0x 95ebf60
configure
config 0x 95ebc28
filter
0x 95ebb24
interface
config-if 0x 95ebac4
subinterface
config-subif 0x 95ebac4
Имя режима
Приглашение
режима
Alias
TRUE
TRUE
FALSE
TRUE
TRUE
16
Privilege
TRUE
TRUE
FALSE
TRUE
FALSE
Изменить
уровень
привилегий
Адрес начала
цепочки команд

17. Структура данных цепочек команд

Функция обработки
комананды
Ссылка на команду
такого-же уровня, что
и данная
Ссылка на текст
команды
Ссылка на команду
такого-же уровня, что
и данная
Атрибуты команды
(0xFF в 3 байте –
скрытая команда)
client-update tunnel-group <string>
17

18. Структура данных цепочек команд (продолжение)

Функция, выполняемая
в конце цепочки
(нажатие Enter)
client-update tunnel-group <string>
18

19. Результаты статического анализа

1.Декомпозиция корректно.
2.Результаты сборки ядра и ядро в АСА
соответствуют.
3.Анализ
текстовых
констант
позволил
выполнить корректную привязку команд к
подпрограммам их обработки.
4.Выявлены признаки скрытых команд.
5.Модификация позволяет открыть командпоявляются в справочной подсистеме либо их
отключить
скорректировав
адреса
связи
элементов цепочек.
19

20. Проверка на реальном устройстве

ciscoasa# client-update ?
all
All active remote clients on all
tunnel-groups
tunnel-group A named valid tunnel-group for remote
client update
ciscoasa# client-update tunnel-group ?
WORD Tunnel group to apply immediate update
ciscoasa# client-update tunnel-group GROUP_1 ?
<cr>
ciscoasa# client-update tunnel-group GROUP_1
20

21. 3. Создание стенда для динамического анализа ТКО Cisco.

Требования к стенду
1.Проведение динамического анализа маршрутизатора Cisco в условиях
наличия программного образа и отсутствия соответствующего оборудования.
2.Задачи динамического анализа -выявление и проверка наличия в СПО НДК
и конфигурирование маршрутизатора для создания защиты от НДК.
3.Взаимодействие
с
маршрутизатором
для
администрирования
и
конфигурирования маршрутизатора осуществляется по протоколу Telnet.
4.По протоколу Telnet к маршрутизатору должна быть возможность
подключения внешних Windows программ для выявления НДК методом
«грубой силы» и сканирования документированных команд.
5.Защита от НДК должна обеспечиваться настройкой соответствующих
уровней привилегий команд встроенными средствами и с использованием
внешнего сервера авторизации типа Tacacs+.
21

22. Эмуляция оборудования

Эмуляция оборудования заключается в программном моделировании
ЭВМ с различной архитектурой процессоров.
Эмуляторы –позволяют проводить динамический анализ реальных
образов исполняемых программ без наличия оборудования.
SimNow – программа эмуляции AMD64.
QEMU – ПО с открытым исходным кодом для эмуляции аппаратного
обеспечения различных платформ, включает в себя эмуляцию процессоров Intel
x86 и устройств ввода-вывода, может эмулировать 80386, 80486, Pentium,
Pentium Pro, AMD64 и другие x86-совместимые процессоры; PowerPC, ARM,
MIPS, SPARC, SPARC64.
Эмуляторы оборудования Cisco:
Cisco Packet Tracer, GNS3, Boson NetSim, Cisco IOU, Dynamips.
Dynamips- программный эмулятор маршрутизаторов Cisco. позволяет
эмулировать аппаратную часть маршрутизаторов, непосредственно загружая и
взаимодействуя с реальными образами Cisco IOS.
GNS3 (Graphical Network Simulator 3) - это программа с открытым исходным
кодом, предназначена для симулирования сложных компьютерных сетей.
Использует эмуляторы для различных видов сетевых устройств - Dynamips,
VirtualBox, Juniper и Qemu.
22

23. Выбор эмулятора

1. Версия образа маршрутизатора
Cisco Internetwork Operating System Software
IOS (tm) 3700 Software (C3745-I-M), Version 12.2(8)T10
cisco 3745 (R7000) processor (revision 53.51) with 262144K/9216K bytes of
memory.
2. Процессор MIPS R7000.
3. Операционная система технологического компьютера -Windows 10.
4.Операционная среда функционирования программ для выявления
НДК методом «грубой силы» и сканирования документированных
команд –Windows.
4.Программа удаленного подключения к эмулятору -Putty.
5.Внешний сервер авторизации TACACS+ (WINDOWS).
Выбор эмулятора
Стенд
создается
на
базе
телекоммуникационного оборудования
Simulator 3) с эмулятором Dynamips.
графического
симулятора
GNS3 (Graphical Network
23

24. Вариант архитектуры стенда для статического и динамического анализа процессов СПО Cisco

Вариант архитектуры стенда для статического и динамического анализа процессов24
СПО Cisco
ОС Windows 7/10 (x86_64)
Эмулятор VMware (x86_64)
ОС Ubuntu (x86_64) - графический режим
Эмулятор Dynamips (PowerPC)
СПО Cisco IOS
f0/0
(23 порт telnet)
console
(2003 порт)
Управление
IDA Pro
(дизассемблер)
GDB-сервер
Отладка
(порт 6666)
GDB-клиент
Статический анализ
Копия Cisco IOS
image.bin
Telnet-клиент
Putty
Эмуляторы- Dynamips, VMware.
Операционные системы-Windows,Ubuntu,Cisco IOS.
IDA Pro-дизассемблирование образа Cisco IOS, статический анализ
модулей СПО Cisco.
GDB-клиент в составе IDA Pro- обеспечивает взаимодействие с GDBсервером (отладчик), встроенным в эмулятор Dynamips, обеспечивает
мониторинг аппаратно-программной среды, Cisco
в которой
эмулируется исполнение СПО Cisco, а также передачу информации о
состоянии GDB-клиенту.

25. Graphical Network Simulator ( графический симулятор сети)

25

26. Основные шаги создания стенда для исследования НДК.

1.Создание проекта
26

27. Основные шаги создания стенда для исследования НДК

2.Выбор типа устройства и прошивки
27

28. Основные шаги создания стенда для исследования НДК

3.Добавление нового оборудования
28

29. Основные шаги создания стенда для исследования НДК

4. Установка нового оборудования в рабочую
область и загрузка маршрутизатора.
29

30. Основные шаги создания стенда для исследования НДК

5. Сканирование команд маршрутизатора с
помощью программы Cisco Reget
30

31. Основные шаги создания стенда для исследования НДК

6. Результаты сканирования команд на различных уровнях
привилегий
31

32. Основные шаги создания стенда для исследования НДК

7. Поиск недокументированных команд с использованием
программы Cisco Checker
Входной файл параметров
(Symbols.ini)
Выполненная команда
(Incomplete.txt)
32

33. Основные шаги создания стенда для исследования НДК

8. Проверка недокументированной команды Show list
7. Проверка НДК Show list
33

34. Основные шаги создания стенда для исследования НДК

Проверка недокументированной команды Who
34

35. Основные шаги создания стенда для исследования НДК

9. Запрет выполнения недокументированной
команды Who на 0-14 уровнях привилегий
35

36. Основные шаги создания стенда для исследования НДК

Запрет выполнения недокументированной команды
Who на 0-14 уровнях привилегий
36

37. Практическое задание №1

37
Настройка прав выполнения команд на заданном уровне
привилегий (Cisco) для запрета выполнения НДК
Порядок выполнения практического задания
1.Подготовить виртуальный стенд (на базе симулятора
GNS3) для анализа маршрутизатора Cisco 3745.
2.Провести сканирование документированных команд с
использованием программы Cisco Reget на 1 и 15 уровнях
привилегий режима EXEC.
3.Для НДК режима EXEC файл НДВ.xls (команда=№п.п
учебной группы) выполнить анализ с помощью программы
CiscoChecker.
4.Выполнить настройку маршрутизатора для запрета НДК
для пользователя 12 уровня привилегий.
5. Сформировать отчет по каждому пункту задания.

38.

Практическое задание №1
Настройка прав выполнения команд на заданном уровне
привилегий (Cisco) для запрета выполнения НДК
Порядок выполнения практического задания
1.Подготовить виртуальный стенд (на базе симулятора GNS3) для
анализа маршрутизатора Cisco 3745.
2.Провести сканирование документированных команд с использованием
программы Cisco Reget на 1 и 15 уровнях привилегий режима EXEC.
3.Для НДК режима EXEC файл НДВ.xls (ком анда=№п.п учебной группы)
выполнить анализ с помощью программы CiscoChecker.
4.Выолнить настройку маршрутизатора для запрета НДК для
пользователя 12 уровня привилегий.
5. Сформировать отчет по каждому пункту задания.
English     Русский Rules