Cyber Security from a Different Perspective

Benzer belgeler
MilSOFT TASNİF DIŞI 1/6

Daha Güvenli bir Yaşam için Teknoloji

> what is ansible*? "infrastructure as code"

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Organizasyon Yapısı İştirakler/Ortaklık Yapısı Personel Durumu Gemi Simülatorü Helikopter/Uçak Kontrol

Komuta Kontrol Muhabere Bilgisayar ve İstihbarat (C4I) Yüksek Lisans Eğitiminin Askeri Personel için Önemi

Assembly Language Programming

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

C++ ile Programlamaya Giriş. Gülşen Demiröz

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

COURSES OFFERED FOR ERASMUS INCOMING STUDENTS

Linux Assembly Programlamaya Giriş

Giriş. Şirket Profili

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER

MilSOFT OACE TABANLI SAVAŞ YÖNETİM SİSTEMLERİ

Reverse Engineering Bootcamp Eğitim İçeriği

100 % Özel Türk Şirketi

MÜFREDAT DERS LİSTESİ

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition

Bulut Bilişim ve Güvenlik

Bilgisayar Bilimcileri Haklıymış

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Güz Dönemi Zorunlu Dersleri

DERS BİLGİLERİ Haftalık Dersin Adı Kodu Yıl Yarıyıl TUL Saati Kredi AKTS

SE Engineering Sciences 30 Mayıs 2011, Pazartesi 13:00 M1-2 İNG 152 -İngilizce II 31 Mayıs 2011, Salı 14:00 Yabancı Diller Binası

WEEK 4 BLM323 NUMERIC ANALYSIS. Okt. Yasin ORTAKCI.

MilSOFT TASNİF DIŞI 1/48

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

HAVELSAN, Türk Silahlı Kuvvetleri Güçlendirme Vakfı nın bir iştirakidir.

MilSOFT TASNİF DIŞI 1/48

YAZ OKULU TARİHLERİ. Yaz Okulu için yeni ders kayıtları Temmuz 2012 tarihlerinde OASIS sistemi üzerinden yapılacaktır.

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

Unlike analytical solutions, numerical methods have an error range. In addition to this

Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS

ALICIA Projesi ve SDT A.Ş. nin Katılımı

PROFESSIONAL DEVELOPMENT POLICY OPTIONS

Arýza Giderme. Troubleshooting

YÖNETİM BİLİŞİM SİSTEMLERİ BÖLÜMÜ YENİ DERS MÜFREDATI (1) FAKÜLTESİ: İŞLETME FAKÜLTESİ / BUSINESS SCHOOL

Ürün Tasarımı ve Geliştirme. KOCAELİ ÜNİVERSİTESİ Fen Bilimleri Enstitüsü Otomotiv Mühendisliği Anabilim Dalı

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER. Course Code: IND 3915

SAYISAL İŞARET İŞLEME. M. Kemal GÜLLÜ

Turkish Vessel Monitoring System. Turkish VMS

Bilgisayar Mühendisliği

Akılda kalıcı sahneler

Business Intelligence and Analytics Principles and Practices: Charting the Course to BI and Analytic Success

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM)

Öğrencilere bilgisayar destekli titreşim analizi yeteğinin kazandırılması

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

AİLE İRŞAT VE REHBERLİK BÜROLARINDA YAPILAN DİNİ DANIŞMANLIK - ÇORUM ÖRNEĞİ -

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

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

Zeynep ALTAN Yazılım Mühendisliği Bölümü Beykent Üniversitesi, Mühendislik-Mimarlık Fakültesi

Student (Trainee) Evaluation [To be filled by the Supervisor] Öğrencinin (Stajyerin) Değerlendirilmesi [Stajyer Amiri tarafından doldurulacaktır]

KIRIKKALE ÜNİVERSİTESİEĞİTİM FAKÜLTESİ SINIF ÖĞRETMENLİĞİ PROGRAMI EĞİTİM-ÖĞRETİM YILI LİSANS PROGRAMI ÖĞRETİM PLANI.

ISCOM Kurumsal ISCOM KURUMSAL BİLİŞİM TEKNOLOJİLERİ EĞİTİM KATALOĞU

Kredisi. Dersin Sorumlusu (Course Code) (Credit)

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER. Course Code: END 3933

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM) Dersin Türü (Course Type)

IDENTITY MANAGEMENT FOR EXTERNAL USERS

K12NET ÖĞRENCİ-VELİ PORTALI KULLANIMI USE OF K12NET STUDENT-PARENT PORTAL

İÇİNDEKİLER / INDEX 4 LT. 4 6 LT. 4 8 LT LT LT LT LT LT

YTÜ Elektrik-Elektronik Fakültesi Bilgisayar Mühendisliği Bölümü Yıldız Technical University, Computer Engineering Department DERS FORMU SYLLABUS

Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS

HIGH SPEED PVC DOOR INSTALLATION BOOK

.com. Kurumsal Java. Özcan Acar com

ve Sonrası Girişli Öğrenciler için Uygulanacak Ders Program

ATILIM UNIVERSITY Department of Computer Engineering

EK: SENATO ONAYI ALMIŞ MEVCUT EKDAL PROGRAMLARI A) GENEL EKDALLAR Genel ekdallar tüm öğrencilere açıktır.

SOFTWARE ENGINEERING Ders İzlence Formu. Kodu:CSE400 Dersin Adı: SOFTWARE ENGINEERING Toplam Saat

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC [3] gibi standartlarla. gereklidir.

D-Link DSL 500G için ayarları

OpenBSD ve Özgürlük. Can Erkin Acar. 5. Linux ve Özgür Yazılım Şenliği.

BT Güvenliği (ISE 542) Ders Detayları

Computer Networks Ders İzlence Formu

READING WRITING ORAL COMMUNICATIO N SKILLS BASIC INFORMATION TECHNOLOGIES INTRODUCTION TO EDUCATION

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER. Course Code: MMM 4027

CNC MACH breakout board user manual V8 type

Endüstri Mühendisliği - 1. yarıyıl. Academic and Social Orientation Fizik I Physics I TR

TR2009/ /409 Benim için İnsan Hakları «Human Rights for Me» How to discuss a theme in the classroom, Anton Senf,

AKILLI TEKNOLOJİLER ENTEGRE ÇÖZÜMLER. Cenk ÖZEN OPERASYONLAR GENEL MÜDÜR YARDIMCISI. 1/22 28 Kasım 2017

T.C. İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ BİLİMSEL ARAŞTIRMA PROJELERİ KOORDİNASYON BİRİMİ

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

PARABOLİK DENKLEMLERDE BİLİNMEYEN KAYNAK TERİMLERİNİN BULUNMASI İÇİN PROSEDÜR VE PROGRAMLAR. Alper Bostancı

SCB SANATTA YETERLİK DERS İÇERİKLERİ

UÇAK KOLTUK ÜRETİMİ AŞ

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ DUYARGA AĞLARINDA HABERLEŞME ALGORİTMASI TASARIMI VE TINYOS ÜZERİNDE GERÇEKLEMESİ

Öğrenciler analiz programları hakkında bilgi sahibi olurlar

Komut Seti Mimarisi (ISA)

SSM Askeri Gemi Projelerine Sanayinin Entegrasyonu Savaş/Silah Sistemleri Çalıştayı MiKES Profili 15 Mayıs 2008

ANKARA ÜNİVERSİTESİ ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Ders Tanıtım Formu (Türkçe) Form 2a: Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Teknoloji Servisleri; (Technology Services)

Determinants of Education-Job Mismatch among University Graduates

YAKIN DOĞU ÜNİVERSİTESİ DIŞA AÇIK DERSLER KOORDİNATÖRLÜĞÜ BİLGİSAYAR MÜHENDİSLİĞİ - İNGİLİZCE

«BM364» Veritabanı Uygulamaları

Transkript:

Cyber Security from a Different Perspective

Outline Milsoft Introduction Autobiography MilGUARD NATO-ACCS 2

%100 ÖZEL TÜRK ŞİRKETİ 1998 yılında kurulmuş olan MilSOFT, savunma alanında faaliyet gösteren bir sistem entegrasyon ve yazılım geliştirme firmasıdır. TESİSLER ODTÜ Teknokent (ANKARA) Teknopark Istanbul (İSTANBUL) ~ 200 PERSONEL MÜHENDİS ORANI EĞİTİM SEVİYESİ Diğer 21% MS 36% Mühendis 79% BS 59% PhD 3% Diğer 2% 3

KOMUTA KONTROL MUHABERE BİLGİSAYAR (C4I) TEKNOLOJİLERİ C2 ve C4I Sistemleri Altyapıları Savaş Yönetim Sistemi (Mil-CMS) Koordineli Deniz Operasyonları Deniz Bilgi Değişim Sistemi Stratejik Seviye C4ISR Çözümleri TEKNİK BİRİKİM ve KABİLİYETLER TAKTİK VERİ LİNK SİSTEMLERİ Taktik Veri Linkleri (Link 1, Link 11, Link 16, Link 22) JRE İşlemci Özgün Taktik Veri Linki / Ağ Çözümleri (Mil-NET / Link-M) İSTİHBARAT KEŞİF GÖZETLEME VE GÖRÜNTÜ KIYMETLENDİRME SİSTEMLERİ Stratejik ve Operasyonel Seviye İstihbarat Keşif Gözetleme (ISR) Sistemleri İHA ya Özel ISR Çözümleri (YKİ-GÖRSİS, TGKS, UGT) Sensörlere Özel Kıymetlendirme Çözümleri (SAR/GMTI & EO/IR & Hiperspektral) 4

ELEKTRONİK HARP EH Hareket Destek Merkezi Kurulumu Tehdit Analizi ve Karıştırma Teknikleri Geliştirilmesi Elektronik Harp Eğitimleri TEKNİK BİRİKİM ve KABİLİYETLER GÖMÜLÜ YAZILIMLAR Görev / Bakım Veri Bilgisayarı Yazılımı Uçuş Test Enstrümantasyonu DO-178B ye uyumlu Yazılım Geliştirme ve Doğrulama, FAA Sertifikasyonu 5

BİLGİ TEKNOLOJİLERİ Ağ Merkezli Yetenekler TEKNİK BİRİKİM ve KABİLİYETLER Anayurt Güvenliği Kriz/Acil Durum Yönetimi Lojistik Yaşam Döngüsü Desteği Kurumsal Bilgi Yönetimi SİBER GÜVENLİK Yazılım Koruma Tersine Mühendislikten Koruma EĞİTİM VE SİMULASYON Eğitim ve Simulasyon Yazılımları EH ve Data Link Eğitim ve Simülasyon Çözümleri 6

Autobiography BS 2013 METU CENG Minor from Psychology MS 2015 METU CENG Thesis Topic : Static Binary Rewriting Working at MilSOFT since graduation Senior Software Engineer / Cyber Security Team Leader 7

Introduction is a software protection tool that integrates: OBFUSCATION TAMPER - PROOFING ANTI - DEBUG techniques into: EXECUTABLES and SHARED LIBRARIES 8

Introduction

Scope Language: C C++ Architecture: INTEL x86 (32-bit) INTEL x86_64 (64-bit) Operating System: WINDOWS LINUX Compiler: VISUAL STUDIO 2012+ GCC 4.8.2+ CLANG 3.8.0+ Type of Binary: PE EXECUTABLE.DLL ELF EXECUTABLE.SO 10

Motivation Man at the end attacks Source code level protection = complex development Decoupling software development & protection 11

Former Approaches Special compiler/linker dependency Perfect disassembly assumption Interactive disassembler dependency such as IDA-Pro 12

Challenges Binary rewriting Disassembly accuracy Dynamic Branches Exception handling Performance Protection strength Red-zone in stack frame 13

Problem solving approach Research (not simple Google searches) Asking questions to authors (You have to solve that future work problem) Prototype implementations Reading source codes Reverse engineering Create your own solution 14

15

Procedure Call Example 804854e: e8 3d 06 00 00 call 8048b90 <main> 8048553: 50 pushl %eax 8048590:...... 8048591: c3 ret 0x110 0x110 0x110 0x10c 0x10c 0x10c 0x108 123 0x108 123 0x108 123 0x104 0x8048553 0x8048553 %esp 0x108 %esp 0x104 %esp 0x108 %eip 0x804854e %eip 0x8048590 %eip 0x8048553 16

Implementation (1/5) Find the function in file using debug information Create a new executable section 17

Implementation (2/5) Disassemble Move the function to the new section 18/33

Implementation (3/5) Create initial relocation map Insert code pieces 19/33

Implementation (4/5) Update relocation map Fix static jumps 20/33

Implementation (5/5) Redirect incoming function calls 21

Source: Bryant, R. E., David Richard, O. H., & David Richard, O. H. (2003). Computer systems: a programmer's perspective (Vol. 2). Upper Saddle River: Prentice Hall. 22

Dynamic Jump Instructions (1/2) Target of dynamic jumps determined at runtime Target can change according to the input or state of the program (ex: switch) Find a superset of all possible dynamic jump targets Any data or immediate value that corresponds to beginning of an instruction in the function 23

Dynamic Jump Instructions (2/2) Insert 0xF4 new_address" bytes to possible jump targets "0xF4" is halt instruction in x86. It does not take part in execution Insert code piece that translates the dynamic jump target at runtime Check at run time if the target is inside the function, don t touch otherwise 24

Redirection Map Assume found possible jump targets: 0x804850d, 0x8048513 and 0x8048519 25

Contributions Directly works on the compiler output Mitigation for disassembly accuracy problem Standalone - no interactive disassembler dependency 2 novel protection algorithms 3 patent applications 26

Case Study A simple obfuscation method Replace jumps with function calls gzip - gen_codes function 27

NATO - ACCS 28

NATO - ACCS Turkish Air Force and NATO Communication Data Loss Prevention Content Filtering Must be transparent in network connection Performance, performance, performance (go beyond algorithmic complexity) 29

Used skills so far (1/2) Turkish Air Force and NATO Communication Network stack know-how TCP, UDP, Application Layer Protocols Kernel module development No complex data structures, memory restrictions, performance Inter process communication Sockets, memory-map, shared memory etc. Risk and Attack Analysis 30

Used skills so far (2/2) Turkish Air Force and NATO Communication Kernel user space synchronization Watch out for deadlocks, locking is dangerous OS principles Multi-threading, synchronization, OS architecture Performance optimization Cache friendly code, profiling C and Java Development No STL, implement your own fast & lightweight data structures, algorithms 31

Thank you info & applications: hr@milsoft.com.tr