А. Белоус - Кибероружие и кибербезопасность. О сложных вещах простыми словами
- Название:Кибероружие и кибербезопасность. О сложных вещах простыми словами
- Автор:
- Жанр:
- Издательство:Инфра-Инженерия
- Год:2020
- ISBN:978-5-9729-0486-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
А. Белоус - Кибероружие и кибербезопасность. О сложных вещах простыми словами краткое содержание
Для технических специалистов в области микроэлектроники, информационных технологии и безопасности. Также книга будет полезна преподавателям вузов, студентам, изучающим информационные технологии.
Кибероружие и кибербезопасность. О сложных вещах простыми словами - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Надо отметить, что на платформе х86 в Unix-подобных операционных системах некоторые двоичные файлы Windows (в формате РЕ) могут быть выполнены с помощью Wine. НХ DOS Extender также использует формат РЕ для собственных 32-разрядных двоичных файлов DOS, кроме того, может в некоторой степени выполнить существующие двоичные файлы Windows в DOS, действуя, таким образом, как Wine для DOS.
Mac OS X 10.5 также имеет возможность загружать и интерпретировать PE-файлы, однако они не являются полностью совместимыми с Windows.
РЕ представляет собой модифицированную версию COFF формата файла для Unix. PE/COFF — это часто используемые альтернативный термин при разработке Windows.
На операционных системах семейства Windows NT формат РЕ поддерживает следующие архитектуры наборов команд: IA-32, IA-64, и х86-64 (AMD64/Intel64). До Windows 2000 Windows NT (таким образом, и РЕ) поддерживал MIPS, Alpha, и PowerPC. Поскольку РЕ используется на Windows СЕ, он продолжает поддерживать несколько разновидностей MIPS, ARM (включая Thumb), и SuperH.
Основные «конкуренты» РЕ — ELF (используемый в Linux и большинстве других версий Unix) и Mach-O (используемый в Mac OS X).
С появлением операционной системы очередного поколения Windows NT 3.1 Microsoft перешла на формат РЕ. Все более поздние версии Windows, включая Windows 95/98/МЕ, поддерживают этот формат. Формат сохранил ограниченную поддержку существующего (MZ) для преодоления разрыва между системами, основанными на DOS, и системами NT. Например, заголовки РЕ/COFF всё ещё включают исполняемую программу MS-DOS, которая по умолчанию является заглушкой, выводящей на экран простое сообщение «This program cannot be run in DOS mode» — «Эта программа не может быть выполнена в режиме DOS» (или подобное). РЕ продолжает служить изменяющейся платформе Windows. Некоторые расширения включают формат PE.NET (см. ниже), 64-разрядную версию под названием РЕ32+ (иногда РЕ+), и спецификацию для Windows СЕ.
А теперь рассмотрим основные технические детали, касающиеся назначения и структуры этих PE-файлов. На рис х.х. представлена упрощенная структура стандартных 32-разрядных РЕ-файлов.

Рис. 8.19. Структура 32-разрядного РЕ-файла
Здесь первые 2 байта РЕ файла содержат сигнатуру 0x4D 0x5 А-«MZ» (как наследник MZ-формата). Далее двойное слово по смещению 0x3 С содержит адрес PE-заголовка. Последний начинается с сигнатуры 0x50 0x45 — «РЕ».
Типовая структура файл РЕ состоит из нескольких заголовков и секций, которые указывают динамическому компоновщику, как отображать файл в память. Исполняемый образ состоит из нескольких различных областей (секций), каждая из которых требует различных прав доступа к памяти; таким образом, начало каждой секции должно быть выровнено по границе страницы. Например, обычно секция. text, которая содержит код программы, отображена как ис-полняемая/доступная только для чтения, а секция. data, содержащая глобальные переменные, отображена как неисполняемая/доступная для чтения и записи. Однако, чтобы не тратить впустую пространство на жёстком диске, различные секции на нём на границу страницы не выровнены. Часть работы динамического компоновщика состоит в том, чтобы отобразить каждую секцию в память отдельно и присвоить корректные права доступа получившимся областям согласно указаниям, содержащимся в заголовках.
Надо отметить, что Платформа. NET корпорации Microsoft расширила формат РЕ с помощью функций, которые поддерживают общеязыковую среду исполнения (Common Language Runtime — CLR). Среди дополнений — заголовок CLR и секция данных CLR. После загрузки двоичного файла загрузчик ОС приводит к выполнению CLR через ссылку в таблице импорта PE/COFF. Затем CLR загружает заголовок CLR и секции данных.
В свою очередь, секция данных CLR содержит два важных сегмента: сегмент метаданных и сегмент кода промежуточного языка (IL):
Метаданные содержат информацию, относящуюся к сборке, включая манифест сборки. Манифест подробно описывает сборку, включая уникальный идентификатор (с помощью хеша, номера версии, и т. д.), данные об экспортируемых компонентах, расширенную информацию о типе (поддерживаемую общей системой типов (Common Type System — CTS)), внешние ссылки, и список файлов в сборке. Среда CLR широко использует метаданные.
Код промежуточного языка (Intermediate Language — IL) — абстрактный, независимый от языка код, который удовлетворяет требованиям общего промежуточного языка (Common Intermediate Language — CIL).NET CLR. Термин «промежуточный» относится к природе кода IL, обладающего межъязыковой и кроссплатфор-менной совместимостью. Этот промежуточный язык, подобный байт-коду Java, позволяет платформам и языкам поддерживать общую среду. NET CLR. IL поддерживает объектно-ориентированное программирование (полиморфизм, наследование, абстрактные типы, и т. д.), исключения, события, и различные структуры данных.
8.7.2. Основные методы размещения программного трояна в РЕ-файлах
В работе [96] проанализировано несколько наиболее известных методов, используемых для размещения вредоноса в PE-файле. Чтобы понять суть излагаемого материала читателю необходимо быть знакомым с ассемблером для архитектуры х86 и отладчиками хотя бы на среднем уровне и понимать формат РЕ файлов. Этот документ был опубликован 8 декабря 2016 года на сайте pentest.blog, а также подготовлен в PDF формате для офлайнового чтения. Ниже мы приведем только основные его положения, наиболее ясно изложенные в работах [97-100].
Все специалисты по безопасности и аналитики «вредоносов» имеют дело с бэкдорами на ежедневной основе. Помещение трояна в систему или в конкретную программу — наиболее популярный способ для поддержки постоянного доступа к целевой машине. В большинстве статей рассказывается о методах для имплантирования вредоносов в 32 битные РЕ файлы, но поскольку РЕ-формат представляет собой модифицированную версию формата Unix COFF (Common Object File Format; Общий формат объектных файлов), логика, заложенная в основу этих техник, применима и ко всем остальным типам исполняемых файлов. Кроме того, незаметность встроенного программного вредоноса очень важна и напрямую влияет на длительность нахождения в системе. Методы, которые будут описаны ниже [97-101] направлены на снижение процента обнаружения трояна настолько насколько возможно.
Прежде всего нам следует определиться с используемой далее терминологией, для чего дадим определение четырем основным понятиям.
Учебное проникновение
Как известно специалистам по информационной безопасности в сети существуют целые группы, состоящие из «светлых» хакеров (или «белых шляп»), которые атакуют цифровую инфраструктуру организации, как если бы это делал реальный злоумышленник, только и исключительно для того, чтобы протестировать устойчивость этой системы к различным потенциальным внешним угрозам (по-другому это называется пентест). Например, компания Microsoft уже много лет регулярно проводит подобные кибер-учения. Плюсы от подобных мероприятий лежат на поверхности — в процессе могут найтись «бреши» в защите и новые проблемы безопасности, которые можно заранее устранить. Кроме того, здесь могут обнаружиться пути попадания конфиденциальной информации наружу, нестандартные схемы эксплуатации и другие «недокументированные» возможности системы.
Читать дальшеИнтервал:
Закладка: