Binary Hacking Hakkında Herşey
-
Upload
onur-alanbel -
Category
Internet
-
view
418 -
download
5
Transcript of Binary Hacking Hakkında Herşey
BINARY HACKING HAKKINDA HERŞEY
Onur ALANBEL
$ id -un
➤ Bilgisayar Mühendisi (İYTE)
➤ Geliştirici @TaintAll (taintall.com)
➤ Uygulama Güvenliği Araştırmacısı
➤ Blog: onuralanbel.pro
➤ Twitter: @onuralanbel
➤ https://packetstormsecurity.com/search/?q=onur+alanbel
BINARY
➤ İkili formatta saklanmış dosya.
BINARY
➤ İkili formatta saklanmış dosya.
➤ Sunumda daha çok PE, ELF, Mach-O gibi çalıştırılabilir dosya formatları kastedilmiştir.
BINARY
➤ İkili formatta saklanmış dosya.
➤ Sunumda daha çok PE, ELF, Mach-O gibi çalıştırılabilir dosya formatları kastedilmiştir.
➤ Herhangi bir ara dilin byte-koduna derlenmiş dosyalar da kısmen dahil olabilir.
YOL HARİTASI
➤ Yazılım Lisanları ve Cracking
YOL HARİTASI
➤ Yazılım Lisanları ve Cracking
➤ Binary Dosya Arkakapıları
YOL HARİTASI
➤ Yazılım Lisanları ve Cracking
➤ Binary Dosya Arkakapıları
➤ Native Uygulama Zafiyetleri
YOL HARİTASI
➤ Yazılım Lisanları ve Cracking
➤ Binary Dosya Arkakapıları
➤ Native Uygulama Zafiyetleri
➤ “Reversing” ile “Hack”
YOL HARİTASI
➤ Yazılım Lisanları ve Cracking
➤ Binary Dosya Arkakapıları
➤ Native Uygulama Zafiyetleri
➤ “Reversing” ile “Hack”
➤ Savunma için “Binary Hacking”
➤ Crack nasıl yapılır?
➤ Ne kadar zor?
➤ Ne zaman mümkün?
➤ Kaçınmak için ne yapılabilir?
➤ Önlemek için ne yapılabilir?
DISASSEMBLER & DEBUGGER
➤ IDA Pro
➤ radare2
➤ Çok sayıda yardımcı araç
SEÇENEKLER
➤ Binary Patching
➤ Serial Phishing
➤ Key generator
➤ Emulator (?)
DRM
➤ Anti-reverse engineering (?)
➤ USB Dongle
➤ Cloud
➤ Kodun bir bölümünü erişilemez bir işlemcide çalıştırmak.
ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI
➤ Binders
ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI
➤ Binders
➤ New Section and EP redirect
ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI
➤ Binders
➤ New Section and EP redirect
➤ Cave Injection
ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI
➤ Binders
➤ New Section and EP redirect
➤ Cave Injection
➤ Function/Call Hooking
➤ Yeni section ekle veya cave’leri bul
➤ EP’de kod akışını yönlendir veya IAT’da kod akışını yönlendir.
NATIVE UYGULAMA
➤ Yorumlayıcı
NATIVE UYGULAMA
➤ Yorumlayıcı
➤ Sanal Makine
NATIVE UYGULAMA
➤ Yorumlayıcı
➤ Sanal Makine
➤ JIT Derleyici
NATIVE UYGULAMA
➤ Yorumlayıcı
➤ Sanal Makine
➤ JIT Derleyici
➤ Doğrudan CPU üzerinde çalışır
NATIVE UYGULAMA ZAFİYETLERİ➤ Buffer Overrun
➤ Buffer Overflow
➤ Stack overflow
➤ Heap overflow
➤ Memory Corruption
➤ Unbound Memory Read / Write
➤ Arbitrary Memory Read / Write
➤ Type Confusion
➤ Race Condition
➤ Logic Bugs
➤ ….
NATIVE UYGULAMA ZAFİYETLERİ➤ Buffer Overrun
➤ Buffer Overflow
➤ Stack overflow
➤ Heap overflow
➤ Memory Corruption
➤ Unbound Memory Read / Write
➤ Arbitrary Memory Read / Write
➤ Type Confusion
➤ Race Condition
➤ Logic Bugs
➤ ….
EN TEMEL PROBLEM
➤ Girdinin kod olarak yorumlanabilmesi
EN TEMEL PROBLEM
➤ Girdinin kod olarak yorumlanabilmesi
boş
boş
boş
boş
programın çalışmaya devam edeceği adres
EN TEMEL PROBLEM
➤ Girdinin kod olarak yorumlanabilmesi
➤ Kullanıcıdan 4 adet girdi al A
B
C
D
programın çalışmaya devam edeceği adres
EN TEMEL PROBLEM
➤ Girdinin kod olarak yorumlanabilmesi
➤ Kullanıcıdan 4 adet girdi al
➤ Ya kullanıcı 5 adet girdi sağlarsa?
EN TEMEL PROBLEM
➤ Girdinin kod olarak yorumlanabilmesi
➤ Kullanıcıdan 4 adet girdi al
➤ Ya kullanıcı 5 adet girdi sağlarsa?
A
B
C
D
E
RACE CONDITION
➤ Ön koşulu multithreading veya multiprocessing
RACE CONDITION
➤ Ön koşulu multithreading veya multiprocessing
➤ Senkronizasyon mekanizmalarının kullanımından veya tasarımından kaynaklı erişim düzensizlikleri
RACE CONDITION
➤ Ön koşulu multithreading veya multiprocessing
➤ Senkronizasyon mekanizmalarının kullanımından veya tasarımından kaynaklı erişim düzensizlikleri
➤ Bir nevi el çabukluğu
REVERSING İLE HACK
REVERSING İLE HACK
REVERSING İLE HACK
REVERSING İLE HACK
REVERSING İLE HACK
REVERSING İLE HACK
REVERSING İLE HACK
➤ Bellekten (veya dökümünden) okuma
REVERSING İLE HACK
➤ Bellekten (veya dökümünden) okuma
➤ Bellek üzerinde yamama
REVERSING İLE HACK
➤ Bellekten (veya dökümünden) okuma
➤ Bellek üzerinde yamama
➤ DLL enjeksiyonu
REVERSING İLE HACK
➤ Bellekten (veya dökümünden) okuma
➤ Bellek üzerinde yamama
➤ DLL enjeksiyonu
➤ Başka bir süreci taklit etme, replay saldırısı
SAVUNMA İÇİN BINARY HACKING
➤ Anti-APT cihazları / sandboxlar
SAVUNMA İÇİN BINARY HACKING
➤ Anti-APT cihazları / sandboxlar
➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)
SAVUNMA İÇİN BINARY HACKING
➤ Anti-APT cihazları / sandboxlar
➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)
➤ Zararlı analizi araçları bkz: sysinternals
SAVUNMA İÇİN BINARY HACKING
➤ Anti-APT cihazları / sandboxlar
➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)
➤ Zararlı analizi araçları bkz: sysinternals
➤ Botnetler üzerinde zafiyet avı
SAVUNMA İÇİN BINARY HACKING
➤ Anti-APT cihazları / sandboxlar
➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)
➤ Zararlı analizi araçları bkz: sysinternals
➤ Botnetler üzerinde zafiyet avı
➤ Gerçekçi değil mi?
➤ Worm’un kullandığı zafiyeti kopyala
➤ Worm’un IP oluşturma algoritmasını kopyala
➤ Zararlı bulaştırmak yerine zafiyeti yama
SAVUNMA İÇİN BINARY HACKING
➤ Anti-APT cihazları / sandboxlar
➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)
➤ Zararlı analizi araçları bkz: sysinternals
➤ Botnetler üzerinde zafiyet avı
➤ Gerçekçi değil mi?
➤ Worm’un kullandığı zafiyeti kopyala
➤ Worm’un IP oluşturma algoritmasını kopyala
➤ Zararlı bulaştırmak yerine zafiyeti yama
➤ Sizin önerileriniz?