24 Mart 2020 Salı

Cyber Kill Chain (Siber Saldırı Yaşam Döngüsü)





Cyber Kill Chain (Siber Saldırı Yaşam Döngüsü)

Siber saldırı öncesi saldırganlar detaylı bir araştırma gerçekleştirirler. Siber güvenlik araştırmacıları, siber saldırıları analiz edebilmek amacıyla çeşitli modeller üzerinde çalışmaktadır. Siber saldırganların eylemleri arkasındaki nedeni bulmak saldırganın neyin peşinde olduğunu ve düşmana karşı neyi korumamız gerektiğini anlamamıza yardımcı olur.
Bu modellerden biri olan cyber kill chain Locheed Martin firması tarafından geliştirilmiştir. Askeri anlamda “Kill Chain” bir saldırının aşamalarını tanımlayan ve bu saldırıyı gerçekleştirmek/önlemek amacıyla çeşitli yöntemlerin gerçekleştirmesine yarayan modeldir.
Cyber kill chain na göre hedefli bir siber saldırı 7 aşamada gerçekleşmektedir. Keşif aşamasından siber saldırganın amacına ulaşmasına kadarki tüm süreci modellemeyi hedefeler.






1-    Keşif (Reconnaissance):
Saldırganın hedef sistem üzerinde bilgi toplama aşamasıdır. Bu aşamanın amacı, sisteme sızma yönteminin tespit edilmesidir.
Araçlar ve teknikler;
·         Sosyal mühendislik
·         Sosyal medya
·         Aktif ve pasif tarama
·         Ağ haritası çıkarma
·         Açık kaynak istihbaratı (OSINT)
·         Forum siteleri
·         İlgi çekebilecek dosyalar (faturalar, personel listesi, kredi kartı ekstresi)
·         Malware içeren web sitesi oluşturma
·         Zeroday açıkları

2-    Silahlanma (weaponization):
Keşif aşamasında hedef sisteme giriş noktasını belirleyen saldırgan, bu giriş noktasında hangi atak vektörünü kullanacağına bu aşamada karar verir. Aynı zamanda kullanılacak malware burada oluşturulur.
·         Zararlı yazılım içeren .pdf, .doc, .xls, v.b
·         İlgi çekebilecek dosyalar (Fatura, personel listesi, kredi kartı ekstresi)
·         Malware içeren web web siteleri oluşturma
·         Zeroday açıkları

3-    İletme (Delivery):
Hazırlana zararlı yazılımın hedef sisteme iletildiği aşamadır. İletim yöntemi bu aşmada belirlenir.  
·         Çeşitli açık kaynak kodlu yazılımlar
·         oltalama (phishing) saldırıları
·         sosyal networkler
·         tünelleme

4-    Sömürme (exploitataion)
Saldırganın 2.aşamada oluşturduğu silahı kullanarak hedef sistemin güvenlik zafiyetini sömürdüğü aşamadır. Buradaki amaç malwareın hedef sistem üzerinde çalışmasıdır.
·         shellShock bash açığı
·         Adobe Acrobat açıklıkarı
·         Microsoft Office Açıkları

5-    Yükleme (Installtion  )
Hedef sisteme başarılı bir şekilde yerleşen malware kalıcılığı sağlamak için kendisini sisteme yüklemelidir.  Bu aşamada saldırganın başarılı bir şekilde sistemi kontrol etmesinin önü açılır.
Araç ve teknikler;
·         Rootkits
·         Polimorfik kodlar
·         Çok aşamalı gizlenme
·         Şifreleme

6-    Komuta & Kontrol (command & control, c2)
Hedef sistemin uzaktan kontrol edildiği aşamadır. Bu aşamada hedef sistem ele geçirilir.
Araçlar ve teknikler;
·         Encoding
·         Şifreleme
·         Tünellme
·         steganography
7-      Eylem (Actions On Objectives)
Saldırgan amacına ulaşmak için çeşitli eylemler gerçekleştirir. Bu eylemler veri çalma, silme veya başka bir sisteme saldırma örnek olarak verilebilir. Yukarıdaki aşamalar bir zincir gibi birbirlerine bağlıdır. Her şamadaki başarı bir sonraki aşamayı etkileyecektir.
Yukardaki adımları gerçekleştirildikten sonra saldırgan bu adımda eyleme geçer

Kurumlarda Siber Tehdit Analizi:
Şirketler veya kurumlar farklı nedenlerden dolayı siber saldırının hedefi olabilmektedir.  Kuruma yönelik gerçekleşebilecek siber saldırılarda siber ölüm zinciri şeması gibi modellerden yaralanarak, saldırı öncesi açıklık tespiti, saldırı sırasında saldırı aşamasına göre müdahale yönteminin belirlenmesi ve saldırı sonrası kurumun zarar görme ölçümünün analizi gibi işlemler gerçekleştirilebilir.
Siber saldırılara karşı önlem alabilmek için saldırı metodolojilerini iyi bilmek gerekir. Cyber kill chain gibi modeller sayesinde eksik noktalar tespit edilebilir, saldırı anında saldırı aşamasına göre müdahale yöntemine karar verilebilir ve saldırı sonrasında kurumun bu saldırı sonucunda ne ölçüde etkilendiğinin risk analizini yapabilir.

·         Var olan sistemler güncel mi
·         Sistemlerde çalışan tüm yazılımları biliyor musuz
·         Güncel tehdit değerlendirmesi yapıldı mı
·         Güvenlik açısından zayıf noktalarınızı biliyor musunuz
·         Bu zayıflıkları kapatmak için plan yaptınız mı
·         Olası bir güvenlik ihlalinde yapılması gerekenler planlı mı
·         Güvenlik farkındalığına sahip mi
·         Çalışanlar sosyal mühendislik ataklarını veya oltalama saldırılarını anlayabilirler mi
·         Bilinen zararlı web sitelerine erişim bloklandı mı
·         Firewall iyi konfigüre edilmiş mi
·         Güvenlik cihazları iyi monitüre ediliyor mu
·         Veriler yedekleniyor mu
·         Sistem devre dışı kaldığı zaman yedek sistem var mı

Gibi soruların cevapları kurumun sistem güvenliği için önemlidir.



Kaynaklar:
           
https://www.linkedin.com/pulse/cyber-kill-chain-siber-sald%25C4%25B1r%25C4%25B1-ya%25C5%259Fam-d%25C3%25B6ng%25C3%25BCs%25C3%25BC-muhammed-ayg%25C3%25BCn

5 Şubat 2020 Çarşamba

Tersine Mühendislik (Reverse Engineering)









Tersine mühendislik basitçe derlenmiş bir binary veya bir exe uzantılıi yani çalıştırılabilir bir dosyanın nasıl çalıştığını anlamaya yönelik uygulanan sürece denir.
Tersine mühendislik bir sistemin daha yüksek bir soyutlama seviyesinde temsilini yaratmak için analiz edilmesi işlemidir.
Programcı programı genellikle yüksek seviyeli dillerde (c ,c++, visual basic v.b.) yazmaktadır. Bu yazılan kodlar insanlar tarafından anlaşılmaktadır fakat kod derlendikten sonra makinanın anlayabileceği dile çevrilir çevirildikten sonra ise insanlar tarafından çok zor anlaşılır duruma gelir.

Tersine Mühendislikle Neler Yapılabilir

-         Açık kaynak kodlu olmayan yazılımın kaynak kodlarını ortaya çıkarma
-         Malware analiz edebilme olanağı
-         Programların lisans korumasını atlatma (Cracking)
-         Yazılımlarda zafiyet aramak (Yazılımların sağlamlığını kontrol etme)
-         Yazılımlara ek özelikler getirme (patching)
-         Oyun hileleri

Reversing (Analiz) çeşitleri:
·        Statik analiz
·        Dinamik analiz


Statik Analiz: statik program analizi execute etmeden yani programı çalıştırmadan yapılan yazılım analizidir.

Dinamik Analiz: dinamik program analizi ise o an sanal veya gerçek bir process üzerinde execute olan programa yapılan analizidir.

Tersine Mühendislikte en çok kullanılan programlar:
·        Disassemblerlar
·        Debuggerlar
·        PE Editörleri
·        Hex-Resource Editörler
·        Sistem izleme araçları


Disassembler: bu yazılımlar, programı disassembly işleminden geçirerek programın assembly kodu şeklindeki halini gösterir.  Bu olay bize programda çağrılan fonksiyonları, string değerleri vs. görüp incelememize olanak sağlar.
En yaygın olarak kullanılan disassembler IDA dır.

Debugger: debuggerlar ile programın çalışmasını satır satır izleyebiliriz.  Disassembler gibi çalışırlar fakat ek olarak işlemleri izleme imkanımız olur.
Çoğu zaman cracking, malware analizi, exploit geliştirme aşamalarında kullanılırlar.
Bir debugger ile programın çalışması esnasında değişiklik yapılabilir.
En yaygın olarak kullanılan debuggerlar:
-         ImmunitlyDebugger
-         OllyDbg
-         WinDbg

Hex- Resource Editörleri:
Diğerlerine göre çok yaygın olarak kullanılmaz. Basit string düzenlemeleri. Bayt değiştirmeleri. Hızlı kod analizi yapabilir.
Birçok hex-resource editör mevcut;
-         HxD
-         Hes Workshop
-         ResEdit