SlideShare a Scribd company logo
Developing of native code obfuscator
1. Сферы применения бинарных
обфускаторов
2. Алгоритм работы обфускатора.
3. Переносимость на разные3. Переносимость на разные
платформы.
4. Трудности деобфускации.
1. Защита от реверс-инженерии.
2. Противодействие сигнатурным
анализаторам.анализаторам.
3. Сокрытие полезной нагрузки
эксплоитов.
Пример обфускации кода в протекторе Shiva
Core-packer от Hacking Team скрывает
malware от сигнатурного анализа
1. Обфускаторы исходного кода.
2. Обфускаторы промежуточного
байт-кода.байт-кода.
3. Обфускаторы ассемблерных
инструкций.
1. Реализация поли- и метаморфизма
вирусных инфекторов.
2. Навесные упаковщики.
3. Критически важные части
алгоритмов регистрации приложений.
Схема применения обфускатора
Исходный
бинарный файл
Дизассемблерный
движок
Ассемблерный
движок Обфусцированный
бинарный файл
Пермутация как основа обфускатора
До пермутации После пермутации
xor eax,eax
mov eax,12345678
xor eax,eax
nop
add eax,12345678
nop
Шаблоны и полиморфизм
inc eax inc %reg0
inc %reg0
inc %reg0inc eax inc %reg0 inc %reg0
dec %reg0
Подстановка оригинального
значения операнда в шаблон
inc %reg0
eax
inc eaxinc %reg0
inc %reg0
dec %reg0
inc eax
inc eax
dec eax
Генерация промежуточного представления
ассемблерных инструкций
mov eax, ecx
class Instruction{
public:
std::string Prefix;
std::string Opcode;
Argument left;
Argument right;
};
Prefix Opcode Argument Argument
class Argument{
public:
std::string Constant;
std::string Register;
std::string Label;
Expression expression;
Type type;
};
Expression – что это?
class Expression{
…
public:
std::string Register1;
std::string Terminal;
[eax]
[ecx + 5]
[edx + ebx]std::string Terminal;
std::string Constant;
std::string Register2;
…
}
[edx + ebx]
[esi * 2]
mov eax, [ecx + edx]
Expression
Алгоритм работы обфускатора
Исходная
инструкция
1. Морфирующие
2. Мусорные
База
шаблонов
1
2
3
ГПСЧ
Обфусцированные
инструкции
2
4
5
Обфускатор
Исходный код обфускатора на С++
1. Метаморфные шаблоны.
2. Мусорные шаблоны.2. Мусорные шаблоны.
3. Возможность наложения шаблонов
друг на друга - ключевая.
Чем полиморфизм отличается от
метаморфизма?
push eax
mov eax, esp
mov ecx, dword ptr[eax-4]
add ecx,10
pop eax
push ebp
mov ebp, esp
mov ecx, dword ptr[ebp -4]
add ecx,10
pop eax
retn 4
add ecx,10
pop ebp
retn 4
push eax
push 0
mov dword ptr [esp], eax
Метод «чёрного» ящика
Обфусцированный
код
Разбиение на
блоки
Данные для
анализа подаются
на вход каждого
блока.блока.
Анализируются
выходные данные.
Сложность в
правильном
разбиении на
блоки.
Наличие инструментов для реверс-
инженерии под разные системы
x86 x86-64 ARM
Windows
Linux
Где используются ARM-процессоры
1. Отличие встраиваемых систем от
канонических.
2. Необходимость сборки большинства
утилит для статического и динамическогоутилит для статического и динамического
анализа.
3. Сложность отладки модулей ядра.
4. Отсутствие портирования под arm
некоторых утилит.

More Related Content

Similar to Developing of native code obfuscator - Евгений Кулик

Sphinx: распределяя индексы.
Sphinx: распределяя индексы.Sphinx: распределяя индексы.
Sphinx: распределяя индексы.
MageCloud
 
Защита и контроль приложений
Защита и контроль приложенийЗащита и контроль приложений
Защита и контроль приложений
Cisco Russia
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
Pavel Tsukanov
 
RST2014_Taganrog_NewGenerationMicroproccessor
RST2014_Taganrog_NewGenerationMicroproccessorRST2014_Taganrog_NewGenerationMicroproccessor
RST2014_Taganrog_NewGenerationMicroproccessor
RussianStartupTour
 
FortiWeb - межсетевой экран для веб-приложений
FortiWeb - межсетевой экран для веб-приложенийFortiWeb - межсетевой экран для веб-приложений
FortiWeb - межсетевой экран для веб-приложенийSergey Malchikov
 
РСПП_v071 2019.pptx
РСПП_v071 2019.pptxРСПП_v071 2019.pptx
РСПП_v071 2019.pptx
Ilya Karpov
 
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
IT Share
 
Поиск уязвимостей в программах с помощью анализаторов кода
Поиск уязвимостей в программах с помощью анализаторов кодаПоиск уязвимостей в программах с помощью анализаторов кода
Поиск уязвимостей в программах с помощью анализаторов кода
Tatyanazaxarova
 
Викрон, Роман Жуков
Викрон, Роман ЖуковВикрон, Роман Жуков
Викрон, Роман Жуков
Skolkovo Robotics Center
 
Методы защиты Java-приложений и их обход
Методы защиты Java-приложений и их обходМетоды защиты Java-приложений и их обход
Методы защиты Java-приложений и их обход
Positive Hack Days
 
IBM Proventia IPS
IBM Proventia IPSIBM Proventia IPS
IBM Proventia IPS
Петр Королев
 
Softswitch datasheet
Softswitch datasheetSoftswitch datasheet
Softswitch datasheet
Артём Спицын
 
Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...
Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...
Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...
Aibek9
 
Dotnet
DotnetDotnet
Dotnet
MonsterXX
 
Основные возможности системы обнаружения вторжений HP TippingPoint
Основные возможности системы обнаружения вторжений HP TippingPointОсновные возможности системы обнаружения вторжений HP TippingPoint
Основные возможности системы обнаружения вторжений HP TippingPoint
DialogueScience
 
Популярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиПопулярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схеми
Avivi Academy
 
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPUI.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
guestc6d031
 
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPUI.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
Ivan Kukalo
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 

Similar to Developing of native code obfuscator - Евгений Кулик (20)

Sphinx: распределяя индексы.
Sphinx: распределяя индексы.Sphinx: распределяя индексы.
Sphinx: распределяя индексы.
 
Защита и контроль приложений
Защита и контроль приложенийЗащита и контроль приложений
Защита и контроль приложений
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
 
RST2014_Taganrog_NewGenerationMicroproccessor
RST2014_Taganrog_NewGenerationMicroproccessorRST2014_Taganrog_NewGenerationMicroproccessor
RST2014_Taganrog_NewGenerationMicroproccessor
 
FortiWeb - межсетевой экран для веб-приложений
FortiWeb - межсетевой экран для веб-приложенийFortiWeb - межсетевой экран для веб-приложений
FortiWeb - межсетевой экран для веб-приложений
 
РСПП_v071 2019.pptx
РСПП_v071 2019.pptxРСПП_v071 2019.pptx
РСПП_v071 2019.pptx
 
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
 
Поиск уязвимостей в программах с помощью анализаторов кода
Поиск уязвимостей в программах с помощью анализаторов кодаПоиск уязвимостей в программах с помощью анализаторов кода
Поиск уязвимостей в программах с помощью анализаторов кода
 
Викрон, Роман Жуков
Викрон, Роман ЖуковВикрон, Роман Жуков
Викрон, Роман Жуков
 
Методы защиты Java-приложений и их обход
Методы защиты Java-приложений и их обходМетоды защиты Java-приложений и их обход
Методы защиты Java-приложений и их обход
 
Genome
GenomeGenome
Genome
 
IBM Proventia IPS
IBM Proventia IPSIBM Proventia IPS
IBM Proventia IPS
 
Softswitch datasheet
Softswitch datasheetSoftswitch datasheet
Softswitch datasheet
 
Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...
Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...
Занятие № 10. Учетные записи пользователей. Обслуживание дисков. Настройка па...
 
Dotnet
DotnetDotnet
Dotnet
 
Основные возможности системы обнаружения вторжений HP TippingPoint
Основные возможности системы обнаружения вторжений HP TippingPointОсновные возможности системы обнаружения вторжений HP TippingPoint
Основные возможности системы обнаружения вторжений HP TippingPoint
 
Популярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиПопулярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схеми
 
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPUI.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
 
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPUI.Kukalo - "Creating UTM System" on Microsoft congference in TPU
I.Kukalo - "Creating UTM System" on Microsoft congference in TPU
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 

More from HackIT Ukraine

"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен..."CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
HackIT Ukraine
 
"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев
HackIT Ukraine
 
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
HackIT Ukraine
 
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
HackIT Ukraine
 
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
HackIT Ukraine
 
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
HackIT Ukraine
 
"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский
HackIT Ukraine
 
"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi
HackIT Ukraine
 
"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук
HackIT Ukraine
 
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
HackIT Ukraine
 
"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin
HackIT Ukraine
 
"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov
HackIT Ukraine
 
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde..."Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
HackIT Ukraine
 
"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir
HackIT Ukraine
 
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ..."Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
HackIT Ukraine
 
"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali
HackIT Ukraine
 
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo..."Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
HackIT Ukraine
 
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
HackIT Ukraine
 
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
HackIT Ukraine
 
Владимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challengesВладимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challenges
HackIT Ukraine
 

More from HackIT Ukraine (20)

"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен..."CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
 
"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев
 
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
 
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
 
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
 
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
 
"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский
 
"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi
 
"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук
 
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
 
"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin
 
"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov
 
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde..."Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
 
"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir
 
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ..."Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
 
"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali
 
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo..."Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
 
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
 
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
 
Владимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challengesВладимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challenges
 

Developing of native code obfuscator - Евгений Кулик