http://www.mertsarica.com http://twitter.com/mertsarica



Benzer belgeler


Malware Analizi Yöntem ve Araçları. Huzeyfe ÖNAL Bilgi Güvenliği

Pandora'nın Kutusu Nasıl Açılır?



2. dönem itibariyle ben de Zararlı Yazılım Analizi 101 dersi vererek bu programa katkıda bulunacağım.


Reverse Engineering Bootcamp Eğitim İçeriği

IDA Pro ile Remote Linux Debugging

Exploit.CVE Analizi

UYARI. Bu sunum, FireEye reklamı yapmak amacıyla hazırlanmamıştır!

Zararlı Yazılım Analizi

Zararlı Yazılımla Mücadele Eği7mi

01 Şirket Profili

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1

Bellek Analizi ile Zararlı Yazılım Analizi

ALGORİTMA VE PROGRAMLAMA I

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ

Fatura Dinamik Kodlama İyileştirmeleri

ELN1001 BİLGİSAYAR PROGRAMLAMA I

HSancak Nesne Tabanlı Programlama I Ders Notları

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ. PC-SPIMGirişi(MIPS R2000 Simulatörü)

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

WebInstaller. 1. Kurulum Đçin Gereksinimler

SÜRE BAŞLAMA TARİHİ : 19/12/2018 BİTİŞ TARİHİ : 20/02/2019 KURS SÜRESİ : 144 Saat KURS NO :

Özgür Yazılımlar ile Kablosuz Ağ Denetimi

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayar Yazılımları

Metasploit Framework ile Güvenlik Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı fatih.ozavci at gamasec.net

Sertan Kolat

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

.. ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Metin İşlemleri, Semboller

Bilgisayar Üzerinde Zararlı Yazılım Analizi

Kullanıcı Dostluğu vs Kullanıcı Güvenliği

HAVELSAN Siber Güvenlik Akademisi. Önlenemiyorsa Korunmak için Eğitim

VIRTUALIZATION SANALLAŞTIRMA

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

İŞLETİM SİSTEMLERİ. (Operating Systems)

Kişisel Hazırlık/Yeterlilik TestYapılan Ortamlardaki Problemler Denetimin Planlanması Metodoloji Bilgi Toplama/Keşif Zaafiyet Tespiti ve Penetrasyon

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

KURUM AĞLARINI ÖNEMLĠ ZARARLI YAZILIM SALDIRILARINDAN KORUMA. Osman PAMUK

Huawei E353 CSRF Zafiyeti

SIMAN KULLANIM KILAVUZU

Program Nedir?(1) Programlamaya Giriş

Adli Analiz İşlemlerine Başlamak

Android Uygulamalarında Güvenlik Testi

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Dünyada Veri Kaçağı ve Veri Kaçağı Önleme (DLP) Sistemleri Tahsin TÜRKÖZ Bilişim Sistemleri Güvenliği Grubu

Dr. Fatih AY Tel: fatihay@fatihay.net

Bilgisayar Sistemlerine Genel Bakış

ALGORİTMA VE PROGRAMLAMA I

/pikalite / bilgipi /pikalite EĞİTİM HİZMETLERİMİZ

Trickbot Zararlı Yazılımı İnceleme Raporu

HIKIT ZARARLISI ANALİZİ. APT İncelemesi. Yasin SÜRER BOA Bilgi Teknolojileri ve Güvenliği

Bölüm 10: PHP ile Veritabanı Uygulamaları

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

.. ORTAOKULU EĞİTİM ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIFLAR ÜNİTELENDİRİLMİŞ YILLIK PLANI

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

Code Composer Studio İndirilmesi ve Kurulması

Bilgisayarın Yapıtaşları

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Java Temel Özellikleri

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR

EkoPC Bilişim Hizmetleri San. ve Tic. Ltd. Güvenli İnternet Kullanımı

Yrd. Doç. Dr. Caner ÖZCAN

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

C#(Sharp) Programlama Dili

BİLGİ GÜVENLİĞİ. Bu bolümde;

1.1. Yazılım Geliştirme Süreci

Uludağ Projesi, İlk Adımlar (Kalite Takımı)

Sizlere sunduğumuz bu döküman, beş gün süren Zararlı Kod Analizi eğitimimizin içerisinden seçtiğimiz bazı kısımlardan oluşmaktadır.

Sızma Testlerinde Fiziksel Güvenlik Riskleri

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

BİLGİSAYAR VE AĞ GÜVENLİĞİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA DERS 2 > AĞ VE UYGULAMA GÜVENLİĞİ

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Python Programlama Dili

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

PROGRAMLAMAYA GİRİŞ DERS 2

HSancak Nesne Tabanlı Programlama I Ders Notları

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

Finans Sektörüne Yönelik Yeni Nesil Tehditler. Burç Yıldırım Mart 2015

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.

Üst Düzey Programlama

Haftalık Ders Saati Okul Eğitimi Süresi

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü


ŞEHİT FEHMİ BEY ORTAOKULU

Transkript:

Mesai saatlerinde... Boş zamanlarımda... http://www.mertsarica.com http://www.guvenliktv.org http://www.mertsarica.com/programlar CISSP, SSCP, OSCP, OPST, CREA

NBG Grup şirketlerinden Finansbank ın Bilgi Teknolojileri iştiraki olan IBTech firmasında Bilişim Güvenliği Uzmanı (Senior Penetration Tester / Ethical Hacker) olarak çalışmaktayım. http://www.finansbank.com.tr http://www.ibtech.com.tr

Neden zararlı yazılım analizi? Analiz adımları Anti analiz yöntemleri Uygulamalı analiz Sonuç

Zararlı yazılım analizi yapmak için zararlı yazılım analisti olmanız gerekmektedir. Zararlı yazılım analizi, zararlı yazılım ile ilgili olan tüm bilgileri elde etmektir. (Flame) Assembly ile program yazamayan zararlı yazılım analizi yapamaz. Güvenlik cihazları, yazılımları ve OS yamaları güncel olduğu sürece zararlı yazılım sistemlere bulaşamaz

Windows un temelini ve yazılım mimarisini bilmelisiniz çünkü... C & Assembly & Python programlama dillerini bilmelisiniz çünkü... İstismar yöntemlerini bilmelisiniz çünkü... Atlatma yöntemlerini bilmelisiniz çünkü... Çok ama çok dikkatli olmalısınız çünkü...

Zararlı yazılımın ağ, dosya sistemi ve kayıt defteri (registry) üzerindeki davranışları izlenir. (Process Monitor, Process Explorer, Regshot, Wireshark, CaptureBat, Cuckoo Sandbox vb.) Statik analizde zararlı yazılım sistem üzerinde çalıştırılmadan, dinamik analizde ise debugger ile sistem üzerinde çalıştırılıp çeşitli araçlar ile analiz edilir. (S: Strings, IDA, Dependency Walker, PEiD, JAD, Reflector vb.) (D: IDA, Ollydbg, Immunity Debugger, Windbg vb.) Zararlı yazılım çalıştırılıp hafızada çalışan kopyası diske kopyalanıp analiz edilir. (Volatility, Memoryze, Redline)

Debugging işleminin zorlaştırılması/engellenmesi sağlanır. Disassembler yanıltarak, kodun yorumlanması, analiz edilmesi zorlaştırılır/engellenir. Programın sanal makinede çalışıp çalışmadığı tespit edilir. (FatMal) Bayt kodların kaynak koduna çevrilmesi ve analiz edilmesi zorlaştırılır/engellenir. Statik kod analizini zorlaştırma adına zararlı yazılımın sıkıştırılmasıdır.

Çeşitli APIler kullanılarak debugger tespit edilir. (IsDebuggerPresent(), CheckRemoteDebugger(), vs) Debugger ın devam ettiremeyeceği hatalar üretilerek debugging işlemi durdurulur. (SEH, INT3, INT1, INT2D) API yardımı olmadan debugger tespit edilir. (CheckRemoteDebugger() yerine PEB -> BeingDebugged) 0xCC (INT3) baytı aranarak ve/veya istisna oluşturularak debug registerları ile debugger tespit edilir. Programın çalışması esnasında geçen süre hesaplanarak debugger tespit edilir. (RDTSC, QueryPerformanceCounter(), GetTickCount())

Adım adım dinamik kod analizi (debugging) yapabilirsiniz. Anti-debug eklentileri kullanabilirsiniz. IDAStealth (http://newgre.net/idastealth) Phant0m, HideDebug, HideOD (http://woodmann.com/bobsoft/pages/plugins/immdbg)

Disassembler algoritmalarındaki zafiyetler kötüye kullanılarak analizin zorlaştırılması, engellenmesidir. Kod ile veri ayrımı yapamayan bu algoritmada, her bayt teker teker yorumlanır dolayısıyla verinin kod olarak yorumlanması hatalı yorumlamaya yol açar. Kod, programın akışına göre, bloklar halinde yorumlanır. Veri ile kod ayrımı yaptığı için kandırılması biraz daha zordur.

Adım adım kod analizi yapabilirsiniz. c tuşu (data -> code), d tuşu (code -> data) Analysis -> Remove analysis Birden fazla disassembler ve debugger aracı kullanılabilirsiniz.

Zararlı yazılımın sanal makinede çalışıp çalışmadığını kontrol edilir. Sanal makineye ait yardımcı uygulama dizinleri tespit edilir. (C:\Program Files\VMware\VMware Tools) Sanal makine yazılımına ait programlar tespit edilir. (VMwareService.exe, VboxService.exe vs.) Sanal makine yazılımına ait kayıtlar tespit edilir. ( [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968- E325-11CE-BFC1-08002BE10318}\0000\Settings] "Device Description"="VMware SVGA II") Komut çıktılarından sanal makine tespit edilir. (sidt (red pill), I/O com port (0x564D5868 (VMXh) vs.)

Adım adım dinamik kod analizi yapılabilirsiniz. Yardımcı sanal makine uygulamalarını kaldırabilirsiniz. (VMWare Tools, VirtualBox Guest Additions vs.) VMWare için vmx ayar dosyasına aşağıdaki satırları ekleyebilirsiniz. monitor_control.restrict_backdoor = "TRUE" monitor_control.virtual_rdtsc = "false" monitor_control.restrict_backdoor = "true" isolation.tools.getptrlocation.disable = "true" isolation.tools.setptrlocation.disable = "true" isolation.tools.setversion.disable = "true" isolation.tools.getversion.disable = "true" monitor_control.disable_directexec = "true" monitor_control.disable_chksimd = "TRUE" monitor_control.disable_ntreloc = "TRUE" monitor_control.disable_selfmod = "TRUE" monitor_control.disable_reloc = "TRUE" monitor_control.disable_btinout = "TRUE" monitor_control.disable_btmemspace = "TRUE" monitor_control.disable_btpriv = "TRUE" monitor_control.disable_btseg = "TRUE"

Java,.Net (C#, VB) gibi interpreted diller kaynak koduna çevrilebilmektedir. Gizleme yöntemi ile kaynak koduna çevrilen yazılımın analiz edilmesi engellenmeye çalışılır. Değişken ve fonksiyon isimlerinin değiştirilmesi, karakter dizilerinin (string) şifrelenmesi Yazılımcının bildiği fakat program çalışana dek (debug) disassemblerın bilemediği ifadeler (opaque predicates) GetLastError == 0x57

Adım adım dinamik kod analizi (bytecode debugging) yapılabilirsiniz. için Eclipse eklentisi olan Bytecode Visualizer aracını kullanabilirsiniz. (http://www.drgarbage.com/bytecode-visualizer.html) için Reflector eklentisi olan Deblector aracını kullanabilirsiniz. (http://deblector.codeplex.com/) De4dot vb. deobfuscator araçlarından faydalanabilirsiniz. (https://bitbucket.org/0xd4d/de4dot/)

Yazılımın çalıştırılmadan (statik) assembly seviyesinde analiz edilmesi zorlaştırılır. Orjinal yazılımın Import/Export tabloları, karakter dizileri (strings) gizlenir. Yazılımın boyutu küçültülür ve antivirüs yazılımlarından gizlenmesi sağlanır. UPX, ASPack, ASProtect, Armadillo vs.

Adım adım dinamik kod analizi (debugging) yaparak hafıza açılmış yazılımı diske kaydedip analiz edebilirsiniz. Debug ederek OEP bulunur. OEP te hafızada çalışan yazılım diske kaydedilir. (dump) IAT, ImpREC aracı ile düzeltilir. PeiD ve RDG Packet Detector araçları ile paketleme aracını tespit ettikten sonra FUU vb. unpacker araçları ile pakedi açabilirsiniz. (https://code.google.com/p/fuu/)

Zararlı yazılım analiz becerisine artık hemen hemen her kurum sahip olmalıdır, analist yetiştirmek, eğitmek için geç kalmayın. Kurumunuz için ağ üzerinden zararlı yazılım tespit edebilen cihazlardan temin edin. Sızma testi ve zafiyet analizi ile ağınıza ve sistemlerinize sızılabilecek noktaları tespit edin. Bilgi güvenliği farkındalık eğitimlerine daha çok önem verin. Zararlı yazılım geliştiricileri hangi araçları, sistemleri ve yöntemleri kullandığınızı çok iyi biliyorlar, bol bol okuyun ve pratik yapın.

Malware Analyst's Cookbook Practical Malware Analysis Secrets of Reverse Engineering The Rootkit Arsenal