Tersine Mühendislik - (Reverse Engineering) - 2.Bölüm

"YüzbaşıVolkan"

Global Moderatör
Katılım
27 Mart 2026
Mesajlar
17
Tepkime puanı
2
Konum
İzmir
mf8tegc.png


jn1jy0k.jpeg

_________________________________________________________________________________


6. Donanım, Firmware ve IoT Tersine Mühendisliği
Donanım tersine mühendisliği, yazılımdan farklı olarak fiziksel katmanı da hesaba katar. PCB üzerindeki hatlar, entegre devreler, seri portlar, debug arayüzleri, bellek çipleri ve güç devresi analiz konusu olabilir. Bir IoT cihazında güvenlik açığı bazen web panelinde değil, kart üzerinde açık bırakılmış UART arayüzünde ortaya çıkar. Bu nedenle donanım analizi, elektronik bilgisi ile yazılım analizini birlikte gerektirir.
Firmware incelemesi, gömülü cihazların yazılım dünyasına açılan kapısıdır. Router, kamera, akıllı priz, araç içi sistem veya endüstriyel kontrol bileşeni gibi cihazlarda firmware; işletim sistemi parçalarını, yapılandırma dosyalarını, web servislerini ve özel binaryleri barındırabilir. Analist, firmware imajını çıkardıktan sonra dosya sistemi yapısını, boot sürecini, servisleri ve güncelleme mekanizmasını inceler. Bu inceleme, üreticinin güvenlik varsayımlarını test etmeyi sağlar.
IoT alanındaki temel sorun, cihazların uzun süre sahada kalması ve her zaman düzenli güncelleme almamasıdır. Bir cihaz piyasaya sürüldüğünde güvenli kabul edilebilir; fakat yıllar içinde kütüphaneler eskir, varsayılan parolalar sızar, yönetim panelleri hedef haline gelir. Tersine mühendislik bu noktada savunma için kritik rol oynar: cihazın gerçekten ne yaptığını, hangi servisleri açtığını ve güncelleme paketlerini nasıl doğruladığını ortaya koyar.

6nlop2u.jpg

Şekil 2. Mobil uygulama ve firmware analizinde ortak güvenlik soruları.

7. Mobil Uygulama Analizi: APK, İmza ve Çalışma Zamanı
Mobil uygulamalar tersine mühendislik açısından özel bir alandır çünkü kod, kullanıcı verisi ve ağ iletişimi aynı cihaz üzerinde birleşir. Android tarafında APK paketi içinde manifest dosyası, DEX kodu, native kütüphaneler, kaynak dosyaları ve imza bilgileri bulunur. Manifest, uygulamanın hangi izinleri istediğini ve hangi bileşenleri dışa açtığını gösterir.
Android ekosisteminde uygulama imzalama, geliştirici kimliğini ve güncelleme sürekliliğini sağlamak açısından temel güvenlik mekanizmalarından biridir. Resmi Android belgeleri, uygulamaların platformda çalışabilmesi için imzalanması gerektiğini ve imzanın uygulama güncellemelerinde güven ilişkisi kurduğunu açıklar.
Mobil uygulama analizinde amaç, gizli bilgi avlamak değil; güvenlik ve mahremiyet risklerini anlamaktır.


8. Zararlı Yazılım Analizi: Savunma İçin Tersine Okuma
Malware analizi, tersine mühendisliğin en hassas kullanım alanlarından biridir. Burada amaç zararlı yazılım üretmek veya etkisini artırmak değil; davranışını anlamak, yayılımını sınırlamak, göstergelerini çıkarmak ve savunma önlemleri geliştirmektir. NIST SP 800-83 Rev. 1, kurumların zararlı yazılım olaylarına hazırlıklı olması, tespit ve analiz kapasitesini geliştirmesi, müdahale süreçlerini planlaması gerektiğini vurgular. Bu yaklaşım, tersine mühendisliği olay müdahalesinin teknik destek unsuru haline getirir.
Güvenli malware analizi genellikle izolasyonla başlar. Analist gerçek kurumsal ağdan ayrılmış, snapshot alınmış, kontrollü sanal makineler kullanır. Dosya önce statik olarak incelenir: hash, string, import, paketleyici izi, sertifika ve kaynaklar değerlendirilir. Daha sonra davranış gözlemi yapılır: hangi dosyalar oluşturuluyor, hangi süreçler başlıyor, hangi ağ bağlantıları deneniyor, kayıt defterinde veya sistem ayarlarında değişiklik oluyor mu? Bu bulgular savunma ekiplerinin kullanabileceği IOC verilerine dönüşür.
Malware tersine mühendisliğinde önemli nokta, teknik ayrıntıyı sorumlu biçimde raporlamaktır. Bir raporda zararlının hangi zafiyeti nasıl silahlandırdığı ayrıntılı saldırı tarifine dönüştürülmemelidir.


eo6q0b7.jpg

Şekil 3. Zararlı yazılım analizinde savunma odaklı güvenli iş akışı.

9. Araç Ekosistemi: Ghidra, IDA Pro, x64dbg, radare2 ve Diğerleri
Tersine mühendislik araçları analistin düşünme biçiminin yerini almaz; yalnızca gözlemi hızlandırır ve kanıt üretimini düzenler. Ghidra, NSA Research Directorate tarafından geliştirilen bir yazılım tersine mühendislik çerçevesi olarak disassembly, decompilation, graphing ve scripting gibi yetenekler sunar. Açık kaynaklı yapısı, eğitim ve araştırma ortamlarında yaygın kullanılmasını kolaylaştırmıştır. Özellikle decompiler ve çağrı grafiği özellikleri, karmaşık binarylerin anlaşılmasını destekler.
IDA Pro, uzun yıllardır profesyonel tersine mühendislik dünyasının güçlü araçlarından biri olarak kabul edilir. Hex-Rays, IDA Pro'yu disassembler, decompiler ve debugger özelliklerini bir arada sunan bir analiz platformu olarak tanımlar. Ticari yapısı ve geniş işlemci desteği nedeniyle kurumsal güvenlik ekiplerinde, zararlı yazılım laboratuvarlarında ve zafiyet araştırmalarında sık görülür. Ancak güçlü araçların doğru yorumlanması yine analistin deneyimine bağlıdır.
x64dbg, Windows üzerinde x86 ve x64 uygulamaları için açık kaynaklı bir debugger olarak kullanılır. Özellikle çalışma zamanı davranışını gözlemek, breakpoint koymak ve koşullu akışları takip etmek için yararlıdır. radare2 ise komut satırı odaklı, script edilebilir ve düşük seviyeli analizlerde esnek bir araç takımıdır. Wireshark ağ trafiğini, hex editörler ham veriyi, sandbox sistemleri ise davranışsal izleri görünür kılar. Bu araçlar birlikte kullanıldığında daha dengeli bir analiz resmi oluşur.


Araçların kısa karşılaştırması
9dlxpx2.png

Şekil 4. Tersine mühendislik araç kabiliyetleri için örnek değerlendirme matrisi.
10. Siber Güvenlik, Zafiyet Araştırması ve Adli Bilişim
Siber güvenlikte tersine mühendislik, savunma tarafının bilinmezliği azaltma aracıdır. Bir güvenlik açığı yayımlandığında, yamadan önceki ve sonraki binarylerin karşılaştırılması, hatanın hangi fonksiyonda düzeltildiğini gösterebilir. Bu bilgi savunma ekiplerinin etki alanını anlamasına yardımcı olur. Aynı şekilde, kaynağı belirsiz bir dosya uç noktada çalıştığında, davranışının açıklanması olay müdahalesini hızlandırır.
Zafiyet araştırmasında tersine mühendislik, sınır koşullarını görme becerisi kazandırır. Bir parser, beklenmeyen dosya biçimlerinde nasıl davranıyor? Bellek yönetimi hatası hangi koşulda oluşuyor? Hata yalnızca çökme mi yaratıyor, yoksa güvenlik etkisi var mı? Bu soruların cevaplanması, sorumlu bildirim ve yama geliştirme süreçlerine katkı sağlar.
Adli bilişimde tersine mühendislik, dijital olayların teknik açıklamasını güçlendirir. Bir dosyanın ne zaman çalıştığı, hangi kalıcı izleri bıraktığı, hangi sunucularla iletişim kurduğu ve hangi verileri etkilediği olay zaman çizelgesini destekleyebilir. Bu bağlamda tersine mühendislik yalnızca teknik sonuç üretmez; hukuki süreçlerde anlaşılabilir ve denetlenebilir kanıt zincirine katkı sağlar.

11. Hukuki ve Etik Sınırlar
Tersine mühendislik her zaman aynı hukuki statüye sahip değildir. Ülkeye, sözleşmeye, ürün lisansına, telif hukukuna, ticari sır düzenlemelerine ve kullanım amacına göre değerlendirme değişebilir. Güvenlik araştırması, birlikte çalışabilirlik veya adli inceleme gibi meşru amaçlar ile lisans kırma, fikri mülkiyet ihlali veya izinsiz erişim arasında belirgin bir fark vardır. Bu nedenle profesyonel analizlerde teknik yeterlilik kadar izin ve kapsam yönetimi de önemlidir.
Etik bir çalışmada ilk soru 'yapabilir miyim?' değil, 'yetkim ve gerekçem var mı?' olmalıdır. Analiz edilen sistemin sahibi kimdir? Yazılı izin var mıdır? İnceleme kişisel veri içeriyor mu? Üçüncü taraf sistemleri etkilenebilir mi? Bulgular nasıl saklanacak ve kimlerle paylaşılacak? Bu sorular cevaplanmadan yapılan teknik inceleme, iyi niyetli olsa bile riskli hale gelebilir.
Akademik çalışmalarda tersine mühendislik anlatılırken de aynı sorumluluk geçerlidir. Öğrenciye veya okuyucuya yöntemin mantığı, güvenlikteki rolü, etik sınırları ve savunma amacı anlatılmalıdır. Zararlı kullanım sağlayabilecek ayrıntılı istismar talimatları, lisans kırma süreçleri veya gerçek hedeflere yönelik yönlendirmelerden kaçınılmalıdır. Bilgi üretimi ile kötüye kullanım arasındaki çizgi, bu alanda özellikle dikkatle korunmalıdır.


12. Türkiye ve Dünyada Stratejik Önem
Tersine mühendisliğin stratejik değeri, ülkelerin teknolojik bağımlılıklarıyla doğrudan ilişkilidir. Savunma sanayi, haberleşme altyapıları, enerji sistemleri, finansal teknolojiler ve kamu hizmetleri giderek daha fazla yazılım ve gömülü sistem üzerine kuruludur. Bu sistemlerin güvenliğini yalnızca üretici beyanına bırakmak yeterli değildir. Bağımsız analiz kapasitesi, hem tedarik güvenliği hem de kriz anında teknik bağımsızlık açısından önem taşır.
Türkiye açısından bakıldığında, yerli yazılım, savunma teknolojileri, insansız sistemler, telekomünikasyon ekipmanları ve kritik altyapı güvenliği tersine mühendislik bilgisinden yararlanabilecek alanlardır. Bu yetenek, yalnızca dış ürünleri incelemek için değil, yerli ürünlerin güvenlik testlerini güçlendirmek, eski sistemleri belgelemek ve siber olaylara daha hızlı müdahale etmek için de değerlidir. Nitelikli insan kaynağı, laboratuvar altyapısı ve etik standartlar bu kapasitenin temelini oluşturur.
Dünyada büyük güvenlik ekipleri, tersine mühendisliği tehdit istihbaratıyla birleştirir. Yeni bir zararlı yazılım ailesi görüldüğünde, örneklerin analiz edilmesi, benzerliklerin çıkarılması, saldırı altyapısının anlaşılması ve savunma kurallarının üretilmesi gerekir. Bu süreç sadece teknik değil, aynı zamanda organizasyonel bir yetenektir. Analiz raporu güvenlik operasyon merkezine, hukuk birimine, yönetim kararlarına ve gerektiğinde kamu otoritelerine anlaşılır biçimde aktarılmalıdır.

13. Yapay Zeka Destekli Gelecek
Yapay zeka, tersine mühendisliği tamamen otomatik hale getirmese de analistin iş yükünü dönüştürmektedir. Büyük kod parçalarını özetleme, fonksiyon isimlendirme önerileri üretme, benzer davranış kalıplarını sınıflandırma, log ve ağ kayıtlarından anomali çıkarma gibi görevlerde yapay zeka destekli araçlar yardımcı olabilir. Ancak burada da temel sorun doğrulama ihtiyacıdır. Modelin ürettiği açıklama, kanıt yerine geçmez; yalnızca analistin test edeceği bir hipotezdir.
Gelecekte tersine mühendislik daha fazla otomasyon, daha yoğun veri ve daha karmaşık hedeflerle karşılaşacaktır. Obfuscation, sanallaştırma tabanlı koruma, anti-debugging, donanım destekli güvenlik ve bulut bağlantılı uygulama mimarileri analiz süreçlerini zorlaştırır. Buna karşılık yapay zeka destekli sınıflandırma, otomatik çağrı grafiği yorumlama ve kod benzerliği analizi savunma tarafına hız kazandırabilir.
Bu gelişmeler insan uzmanlığını ortadan kaldırmaz; aksine daha değerli hale getirir. Çünkü tersine mühendislikte kritik karar, aracın gösterdiği veriyi bağlama yerleştirmektir. Bir fonksiyonun 'şifreleme yapıyor gibi' görünmesi, onun zararlı olduğu anlamına gelmez. Bir ağ bağlantısının varlığı, veri sızdırma kanıtı değildir. Analist, teknik bulguyu sistem bağlamı, kullanıcı davranışı, hukuki sınır ve risk modeliyle birlikte yorumladığında gerçek değer üretir.


14. Sonuç: Teknik Meraktan Stratejik Yeteneğe
Tersine mühendislik, ilk bakışta yalnızca uzmanlara ait karmaşık bir teknik alan gibi görülebilir. Fakat dijitalleşmenin geldiği noktada bu disiplin, güvenli ürün geliştirme, olay müdahalesi, mobil güvenlik, firmware denetimi, adli bilişim ve kritik altyapı koruması için temel bir kabiliyete dönüşmüştür. Bir sistemin nasıl çalıştığını anlamadan onu güvenli kabul etmek mümkün değildir. Bu nedenle tersine mühendislik, modern siber güvenlik düşüncesinin görünmeyen ama vazgeçilmez katmanlarından biridir.
Bu çalışmada kavramın tarihsel kökenlerinden yazılım ve donanım analizine, malware incelemesinden mobil uygulama güvenliğine, araç ekosisteminden etik ve hukuki sınırlara kadar geniş bir çerçeve çizilmiştir. Ortaya çıkan temel sonuç şudur: Tersine mühendislik ne tek başına iyi ne de kötü bir faaliyettir; onu belirleyen amaç, izin, yöntem ve raporlama sorumluluğudur. Savunma, uyumluluk, eğitim ve araştırma amacıyla yürütüldüğünde teknoloji güvenliğini artıran güçlü bir araçtır.
Gelecek dönemde yapay zeka, IoT, bulut servisleri ve gömülü sistemlerin yaygınlaşması tersine mühendisliğin önemini daha da artıracaktır. Bu nedenle kurumların yalnızca araç satın alması yeterli değildir; etik kurallar, laboratuvar düzeni, kanıt yönetimi, teknik eğitim ve disiplinler arası iş birliği geliştirmesi gerekir. Tersine mühendislik, doğru ellerde yalnızca kodu çözmez; teknolojik bağımlılığın, güvenlik risklerinin ve dijital dünyadaki güç ilişkilerinin de daha iyi anlaşılmasını sağlar.

Uygulamalı Düşünme: Bir Analist Nasıl Not Tutar?
Profesyonel tersine mühendislikte not tutma biçimi, kullanılan araç kadar önemlidir. Analist, gördüğü her bulguyu ham haliyle kaydetmeli, yorumunu ayrı belirtmeli ve doğrulama durumunu işaretlemelidir. Örneğin 'program 443 numaralı porta bağlantı deniyor' bir gözlemdir; 'veri sızdırıyor' ise ancak içerik, zamanlama ve kod akışıyla desteklenirse söylenebilecek bir yorumdur. Bu ayrım yapılmadığında raporlar teknik olarak etkileyici görünse bile güvenilirliğini kaybeder.
İyi bir not sistemi dosya kimliği, analiz ortamı, tarih, kullanılan araç sürümü, gözlem, ekran görüntüsü veya komut çıktısı, yorum ve öneri alanlarından oluşabilir. Bu düzen, özellikle ekip çalışmalarında aynı örneğin farklı analistlerce tekrar incelenmesini kolaylaştırır. Aynı zamanda adli bilişim ve kurumsal denetim bağlamında izlenebilirlik sağlar. Tersine mühendislikte başarı yalnızca bulguyu bulmak değil, bulgunun nasıl bulunduğunu anlaşılır biçimde gösterebilmektir.
Analistin dili de önemlidir. 'Kesin olarak zararlı' gibi iddialı ifadeler yerine, kanıt düzeyine göre 'şu davranış gözlenmiştir', 'bu davranış şu riskle ilişkilidir', 'şu koşulda doğrulanmıştır' gibi ifadeler tercih edilmelidir. Bu yaklaşım akademik ciddiyeti yükseltir ve teknik raporu karar vericiler için daha kullanılabilir hale getirir.

Koruma Mekanizmaları ve Analizi Zorlaştıran Teknikler
Yazılım geliştiriciler, fikri mülkiyeti korumak veya saldırganların analizini zorlaştırmak için obfuscation, packing, anti-debugging, integrity check ve lisans doğrulama gibi teknikler kullanabilir. Bu tekniklerin varlığı tek başına kötü niyet göstergesi değildir; ticari yazılımlarda ve mobil bankacılık uygulamalarında koruma amacıyla kullanılmaları olağandır. Ancak aynı teknikler zararlı yazılımlar tarafından da analizi geciktirmek için tercih edilir. Bu nedenle bağlam yine belirleyicidir.
Obfuscation, kodun mantığını korurken okunabilirliğini azaltır. Değişken isimleri anlamsızlaştırılabilir, kontrol akışı karmaşıklaştırılabilir veya string ifadeleri çalışma zamanında çözülecek şekilde saklanabilir. Packing ise programı sıkıştırılmış veya şifrelenmiş bir taşıyıcı içinde barındırabilir. Analist açısından bu durum, önce dış katmanın anlaşılmasını, ardından asıl yükün güvenli biçimde incelenmesini gerektirir.
Koruma mekanizmalarının etik analizi, kullanıcı güvenliğiyle fikri mülkiyet dengesini gözetmelidir. Bir araştırmacı uygulamanın güvenlik iddiasını test edebilir; fakat bu testin kapsamı, izinleri ve raporlama kanalı açık olmalıdır. Koruma sistemlerini aşmaya yönelik akademik açıklama ile lisans kırmaya yarayan pratik yönlendirme arasında önemli bir fark vardır. Bu makale, birinci çerçevede kalmayı amaçlar.

Eğitim ve Laboratuvar Kurulumu
Tersine mühendislik eğitimi güvenli laboratuvar kültürüyle başlamalıdır. Öğrenciler gerçek zararlı örnekler yerine eğitim için hazırlanmış yasal örnekler, CTF dosyaları, açık kaynaklı küçük programlar veya üreticinin izin verdiği test imajları üzerinde çalışmalıdır. Böylece hem teknik beceri gelişir hem de hukuki riskler azaltılır. Laboratuvarın internete doğrudan bağlı olmaması, snapshot ve temiz geri dönüş noktaları kullanılması temel güvenlik beklentisidir.
Eğitimde en sık yapılan hata, öğrenciyi doğrudan karmaşık zararlı yazılım örneklerine yönlendirmektir. Bu yaklaşım hem güvenlik riski taşır hem de öğrenmeyi zorlaştırır.
Saygı ve Sevgilerimle,
Yüzbaşı V🇹🇷lkan
9a2jy2x.jpeg


 
Geri
Üst