SNORT ile Saldırı Tespiti

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Ağları Son Hafta
Advertisements

WEB SUNUCU AYARLARI.
Universal Plug & Play (Evrensel Tak ve Çalıştır)
TEMEL AĞ TANIMLARI.
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
e-Fatura İşlemleri e-Fatura İşlemleri İçin Gerekli Adımlar
HTTP’yi (istemci tarafı) kendi kendinize deneyin
Web Host Manager (WHM) Nedir Ne İşe Yarar ?
İNTERNET VE İLETİŞİM.
YARDIM MASASI Internet Explorer tarayıcısı açılır ve Yardım Masası adresi yazılarak sayfası açılır. Gelen.
Örnek Kampüs Uygulamaları ODTÜ Ulaknet Sistem Yönetim Konferansı - Güvenlik.
Bir Saldırının Senaryosu-2
Proxy-DNS Nedir?.
AĞ PROTOKOLÜ.
DOVECOT İLE IMAP VE POP3 SERVER KURULUMU
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
FORTEL F1xxx Serisi IP PBX Ailesinin Tanıtım ve Eğitimi
Bilişim Güvenliğinde Yaşam Döngüsü ve Derinlik
(FIREWALLS) GÜVENLİK DUVARI GİRİŞ
Lınux Command arch:Makine mimarisi hakkinda bilgi verir. “uname -m” komutu ile ayni isleve sahiptir. cat [dosya]:Dosyalari ardarda siralayarak standart.
WEB SUNUCU KURULUMU.
İnternet Teknolojisi Temel Kavramlar
U Y A R I Takibeden slaytlarda anlatılan internet explorer / proxy ayarları yapıldıktan sonra ancak KHÜ Bilgi Merkezi tarafından izin verilen web sayfalarına.
ODTÜ Bilgi İşlem Merkezi Anti-Spam Çalışmaları Tayfun Asker ODTÜ-BİDB
TCP/IP Sorun Çözme ve Ağ Komutları
BİLGİSAYAR AĞLARINA GİRİŞ
METU-CC ODTÜ AntiVirüs Sistemi ODTÜ Bilgi İşlem Daire Başkanlığı İbrahim ÇALIŞIR 3 Ekim 2003.
BİLGİSAYAR AĞLARINA GİRİŞ
İnternet Teknolojisi Temel Kavramlar
CensorNet Linux Internet Güvenlik Duvarı ve Kayıt Tutma Semineri
TCP/IP Sorun Çözme ve Ağ Komutları
FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU
LAN (Yerel Alan Ağı) Nedir?
LINUX AĞ AYARI ve ağ KOMUTLARI
KONGRE YÖNETİM SİSTEMİ MEHMET TURAN M. SERTAÇ KELEŞ.
Ağlar ve Veri İletişimi
Kullanıcı Seçeneklerini Güncelleme Kullanıcı güncelleme işlemi konsol ve grafik ortamdan yapılabilir. Komut Satırı ile Kullanıcı Seçeneklerini Güncelleme.
Türk Hava Kurumu Üniversitesi
Yönlendirici (Router) Güvenliği
Veritabanı Yönetim Sistemleri - I
Ağ ve Sistem Güvenliği’nde Yaygın Problemler
NetKafem Kullanımı Basit, Maliyeti Düşük, İşlevleri Güçlü
KIRKLARELİ ÜNİVERSİTESİ
BM-308 Paralel Programlamaya Giriş Bahar 2016 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
DİSASTER CENTER FELAKET MERKEZİ. Felaket Kurtarma (Disaster Recovery) Her kurum için, vermekte olduğu hizmeti herhangi bir nedenden dolayı veremez duruma.
Web Teknolojileri Hafta İçerik  Hosting (Barındırma)  Domain (Alan Adı)  Ücretli Hosting ve Domain Siteleri  Ücretsiz Hosting ve Domain Siteleri.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
Bilgi İşlem Organizasyonu Güz Dönemi Server Çeşitleri ve Aralarındaki Farklar – Burak Eray KAYIŞ.
SUNUCU İŞLETİM SİSTEMLERİ
Doküman Yönetim Sistemi (DYS) Kurulumu ve Ayarları
Üniversiteler Ortamında Açık Kaynak Kodlu Bulut Bilişim Kullanımı
YMT311 Bilgi Sistemleri ve Güvenliği Güvenlik Araçları
IP ve MAC Adresleri Geçtiğimiz ders… IP Adresi DNS Sunucusu MAC Adresi
BİLGİ VE AĞ GÜVENLİĞİ DERSİ ÖDEVİ Ödev Konuları: 1) Dağıtık sistemler nedir avantajı nelerdir ? 2) Arp zehirlenmesi nedir? 3) Günümüzde kullanılan en güncel.
PROXY SERVER YASİN ÇAKIR
ACTIVE DIRECTORY.
Temel Internet Kullanımı Y. Doç. Dr. M. Sıtkı İlkay Ekim 2006.
Ocak, 2013 Akdeniz Üniversitesi
Uzm. Rıdvan YAYLA – Bilecik Üniversitesi Müh. Fak. Bilg. Müh. Bölümü
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ
OSİ Modeli.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
P2P İLE MÜCADELE VE KSU-NET ÖRNEĞİ
I-BEKCI SİSTEMİNİN KAMPUS ORTAMINDA KULLANIMI
Sunum transkripti:

SNORT ile Saldırı Tespiti Burak DAYIOĞLU ODTÜ Bilgi İşlem Dairesi dayioglu@metu.edu.tr http://www.dayioglu.net

Sunum Planı Saldırı Tespiti Snort Nedir? Snort Mimarisi Snort Kuralları Snort İdaresi

Güvenliğin Sağlanması Üç ana çalışma alanı Politikalar ve Prosedürler Teknoloji Eğitim ve Bilgilendirme Teknoloji Uygulamaları Politikanın Uygulanmasını Sağlama Politika Uygunluğunun İzlenmesi

Saldırı Tespiti Politika ihlallerinin ve sistemler üzerindeki anormalliklerin tespit edilmesi Sistemlere sızan yabancıların ve yetkilerini kötüye kullanan kullanıcıların tespit edilmesi Faydaları 7x24 otomatize edilmiş izleme Erken tespit ve uyarı Delil toplanması ve biriktirilmesi

Sistem Sınıflandırması Anormallik Tespiti Davranış profillerine dayalı Tanımlama “normal”’den sapmalar ile gerçekleştirilir Kötüye Kullanım Tespiti Saldırı imzalarına dayalı Pattern-matching vb. yöntemler ile gerçekleştirilir Sunucu Temelli (HIDS) Olay kaynağı olarak sunucu günlük kayıtları kullanılır Ağ Temelli (NIDS) Olay kaynağı olarak ağ üzerinden akan paketler kullanılır

Snort Nedir? Bir “Ağ Temelli Saldırı Tespit Sistemi” GPL lisanslı Farklı platformlarda çalışabiliyor (UNIX, MS-Windows) Modüler mimariye sahip Bir kötüye kullanım tespit sistemi Araştırma çevrelerinde rağbet görüyor Kurumsal kullanımı giderek yaygınlaşıyor

Ağ Üzerinde Snort

Avantajları Çok sayıda sistem tek bir Snort ile izlenebiliyor Birden çok Snort merkezi olarak denetlenebiliyor Yeni saldırıları tanımlayan kurallar kolayca yazılıp eklenebiliyor İnternet üzerinde kural veritabanı Herkese açık Geniş ve güncel Geniş kullanıcı kitlesi, sohbet edilebilen geliştiriciler Hızlı ve yüksek kalitede destek

Dezavantajları Şifrelenmiş iletişimler (VPN’ler, SSL, SSH vb.) izlenemiyor Yüksek hacimli trafiği izleyemeye yetişemiyor Ağ altyapısında değişiklik/düzenleme gerektiriyor

İnternet’te Snort Kuralları Snort’un ev sitesi http://www.snort.org adresinde Her yarım saatte bir güncellenen kurallar bu siteden http yolu ile edinilebilir Alternatif kural dağıtım sitesi ve saldırı tespiti veritabanı http://www.whitehats.com adresinde Sitenin yöneticisi bilişim suçu nedeniyle hapiste olduğu için site güncellenemiyor

Snort Mimarisi ve Eklentileri Snort üç farklı düzeyde eklentiler ile genişletilebilir Ön-işleyici eklentileri İşleyici eklentileri Çıktı eklentileri

Ön-İşleme Eklentileri Girdileri tespit işlemi öncesinde kanonik biçime dönüştürebilmek için http-decode, stream4 ... Tüm paketler üzerinde yapılması gereken işlemleri yapabilmek için portscan ...

İşleyici Eklentileri Kural tanımlama dilini zenginleştirmek için content, ttl, flags ...

Çıktı Eklentileri Üretilen alarmları sorumluya farklı biçimlerde ulaştırabilmek için XML, alert_smb, database ...

Snort Kuralları alert tcp any any -> 144.122.202.0/24 80 (content:“cmd.exe”; msg:“IIS saldirisi”;) var HOME_NET 144.122.202.0/24 alert tcp any any -> $HOME_NET 80 (content:“cmd.exe”; msg:“IIS saldirisi”;) var HOME_NET [144.122.202.0/24,144.122.203.0/24]

Kural Başlığı EYLEM PROTOKOL IP ADRESİ - 1 PORT NO - 1 YÖN alert tcp any any -> 144.122.202.0/24 80 (content:“cmd.exe”; msg:“IIS saldirisi”;) alert tcp any any -> 144.122.202.0/24 80 EYLEM PROTOKOL IP ADRESİ - 1 PORT NO - 1 YÖN IP ADRESİ - 2 PORT NO - 2

Kural Seçenekleri alert tcp any any -> 144.122.202.0/24 80 (content:“cmd.exe”; msg:“IIS saldirisi”;) (content:“cmd.exe”; msg:“IIS saldirisi”;) SEÇENEK ADI SEÇENEK PARAMETRELERİ Kural seçenekleri işleyici eklentileri sayesinde vardır!

Dinamik Kural Aktivasyonu Dinamik kural aktivasyonu sayesinde bazı kuralların yalnızca belli şartlar oluştuğunda aktif hale gelmesi sağlanabilir: activate tcp !$DBADMIN any -> $ORACLE !1521 (activates: 1;) dynamic tcp !$DBADMIN any -> $ORACLE !1521 (activated_by: 1; count: 500;)

Mevcut Kural Seçenekleri msg ttl tod id fragbits dsize flags seq ack content itype icode icmp_id icmp_seq content-list offset depth nocase resp react sid rev classtype priority tag ip_proto regex rpc ipoption

Alarm Öncelikleri İhtiyacı Her alarm aynı derecede önemli midir? İnternet’ten web sunucusuna gelen bir CodeRed isteği Kurum içinden veritabanı sunucusuna başarısız bir root telnet girişimi Kurum içinden bind sürüm sorgulaması Alarmlar için öncelik belirleyebilme önemli bir gereksinim Daha etkin alarm yönetimi / emek kullanımı

Herkesin Öncelikleri Farklı Genel-geçer saldırı tespiti kuralları herkes için aynı olmak durumunda Aksi halde güncel kural setleri kavramı söz konusu olamaz Herkesin öncelikleri farklı Askeri kuruluşlar için her saldırı çok önemli KOBİ’ler için port taramaları az önemli ya da önemsiz

Saldırı Sınıflandırması Saldırılar sınıflara ayrılır Her sınıf için öncelikler kullanıcı tarafından belirlenir attempted-recon Bilgi sızdırma girişimi 3 attempted-DoS DoS Girişimi 7 successful-user Kullanıcı yetkisi edinme girişimi başarılı 9 attempted-admin Sistem yöneticisi yetkisi edinme girişimi 10 successful-admin Sistem yöneticisi yetkisi edinme girişimi başarılı 11

Gerçek Bir Kural Gerçek hayatta kullanılabilecek bir saldırı tespit kuralı alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 ( msg:"WEB-IIS ISAPI .printer access"; uricontent:".printer"; nocase; flags:A+; reference:cve,CAN-2001-0241; reference:arachnids,533; classtype:attempted-recon; sid:971; rev:1; )

Snort İçinde Paket Yolculuğu

Özgün Eylem Tanımlama Dileyen kullanıcılar kendileri için özgün eylemler tanımlayabilir ruletype supheli { type log output output log_tcpdump: suphelipaketler.log } ruletype kritik { type alert output output alert_syslog: LOG_AUTH LOG_ALERT output database: log, mysql, ... }

Özgün Eylemlerin Kullanılması Özgün eylemler, alert vb. yerine kullanılabilir: alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 ( msg:"WEB-IIS ISAPI .printer access"; uricontent:".printer"; nocase; flags:A+; reference:cve,CAN-2001-0241; reference:arachnids,533; classtype:attempted-recon; sid:971; rev:1; ) kritik supheli

Saldırılara Otomatik Yanıt Saldırının geldiği bağlantının kaynağına ya da hedefine sanki diğer uçtan geliyormuş gibi Bağlantıyı acele bitirdim (TCP Reset) Hedef ağ ulaşılamıyor (ICMP Network Unreachable) Hedef bilgisayar ulaşılamıyor (ICMP Host Unreachable) Hedef port ulaşılamıyor (ICMP Port Unreachable) gönderebilir Ek modüller ile güvenlik duvarına talimat vererek uygun kuralların eklenmesini sağlayabilir

Otomatik Yanıt İşe Yarar Mı? Saldırganın hedefinden geliyormuşçasına saldırgana gönderilecek bir “bağlantıyı acele kesiyorum” oyununu saldırgan bertaraf edebilir Gelen paketi görmezden gelir Paket saldırganın hedefinden değil, Snort’tan gelmektedir Hiç duraklamaksızın saldırısını sürdürebilir Eğer otomatik yanıt üretilecek ise Saldırgana değil hedefe göndermek daha makul olacaktır

Snort ile Otomatik Yanıt alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 ( msg:"WEB-IIS ISAPI .printer access"; uricontent:".printer"; nocase; flags:A+; reference:cve,CAN-2001-0241; reference:arachnids,533; classtype:attempted-recon; sid:971; rev:1; ) resp: rst_snd; resp: rst_all; resp: rst_rcv;

İçerik Listeleri Bir dosyada alt alta listelenmiş anahtar sözcük listeleri içerik listesi olarak anılır: oyun.txt: tavla bric okey Snort, bir girdinin tek bir kural marifetiyle tüm bir liste ile karşılaştırılmasına imkan verir alert tcp $HOME_NET any -> any 80 (content-list:”oyun.txt”; msg:”Oyun sitesi erişimi”;)

Site Yasaklama Otomatik yanıt düzeneğine yapılmış bir ilave sayesinde Belli web sitelerine bağlantının yasaklanması Yasaklanan sitelere bağlanılması durumunda bağlanan kullanıcının tarayıcısına mesaj gönderilmesi mümkün olmaktadır alert tcp $HOME_NET any -> any 80 ( content-list:”oyun.txt”; msg:”Oyun sitesi erişimi yasaktır!”; ) react: block, msg;

Snort Kurulumu Güncel sürümü daima http://www.snort.org adresinden edinilebilir Derlemek ve kurmak için aşağıdaki üç komut yeterli olacaktır: ./configure make make install

Özel Modül Yapılandırması Flexresp vb. bazı modüllerı aktif hale getirmek için derleme öncesi yapılandırma seçenekleri verilmelidir: ./configure --with-mysql=DİZİN --with-oracle=DİZİN --with-postgresql=DİZİN --enable-smbalerts --enable-flexresp

Kurulum Sonrası Kurulum işlemi ile Snort program dosyası ve kılavuz sayfası sistemde uygun dizinlere taşınır: /usr/local/bin/snort Kayıtlar için /var/log/snort dizini açılmalı Yapılandırma dosyası olan snort.conf, /etc dizinine taşınmalı Güncel kural dosyaları http://www.snort.org’dan çekilerek uygun bir dizin altına açılmalıdır

Snort Ayarları Yazılımın tüm ayarları snort.conf ve bu dosyadan “include” edilen diğer dosyalar bütünü içinde yer alır Kurulum sonrasında snort.conf içerisinde $HOME_NET ve diğer değişken tanımları güncellenmeli Kural dosyaları için verilen include satırları kuralların bulunduğu dizini gösterecek biçimde güncellenmeli Çalışması istenen ön-işleyiciler açılarak diğerleri çalışmaz duruma getirilmelidir

Örnek Snort Alarmı – 1 Full mode alarm örneği aşağıdaki gibidir [**] [1:583:1] RPC portmap request rstatd [**] [Classification: Attempted Info Leak] [Priority: 3] 10/25-14:39:08.629316 144.122.171.8:2020 -> 144.122.171.255:111 UDP TTL:64 TOS:0x0 ID:3714 IpLen:20 DgmLen:140 Len: 120 [Xref => http://www.whitehats.com/info/IDS10]

Örnek Snort Alarmı - 2 Fast mode alarm örneği aşağıdaki gibidir 08/01/01-22:21:51.207394 [**] [1:1243:1] WEB-IIS ISAPI .ida attempt [**] [Classification: Attempted Admin. Priv. Gain] [Priority: 10] {TCP} 211.48.107.195:2434 -> 193.140.114.39:80

Paket Kayıtları Alarma neden olan ya da özellikle Log eylemi aracılığı ile kaydı tutulması istenen tüm paketler Snort tarafından kayıt edilir Standart kayıt tutma biçimi ile Her kaynak için ayrı bir dizin açılır Her paket bu dizin altında ayrı bir dosya olarak kayıt edilir [**] WEB-IIS ISAPI .ida attempt [**] 08/03-16:47:13.021593 144.122.71.212:1972 -> 62.211.241.19:80 TCP TTL:240 TOS:0x10 ID:0 IpLen:20 DgmLen:1458 ***AP*** Seq: 0x659AEE46 Ack: 0x89F5D9BE Win: 0x4248 TcpLen: 20

Paket Kayıtları - 2 Standart kayıt tutma biçimi alabildiğine yavaştır Her seferinde dizin arama, bulma ya da açma Dizin içerisinde yeni/mevcut dosyayı açma, ekleme Alternatif ve daha etkin bir yöntem tcpdump ile uyumlu olacak biçimde kayıt tutmaktır Tüm paket kayıtları tek bir dosyaya gider İkili (ing. binary) biçimde saklanan kayıtlar daha az disk alanı kaplar Paketin programlanmış araçlarla incelenmesi kolaylaşır

Snort’u Nereye Kurmalı?

Başarılı Bir Snort Kurulumu Kural seti düzenli olarak http://www.snort.org’dan çekilerek güncellenmelidir Mutlaka, normal olmayan trafiği tanımlayan kurallar eklenmelidir Web sunucusuna dns ve ftp istemleri Veritabanı sunucusuna veritabanı erişimi dışındaki istemler ...

Alarmların Yönetimi / Analizi Ağ üzerindeki birden fazla Snort, merkezi bir bilgisayar sistemi üzerindeki veritabanına alarmlarını gönderebilir Veritabanı üzerinde sorgular ile alarmlar çeşitli biçimlerde analiz edilebilir Alarm analizi için kullanılabilecek bazı araçlar SnortSnarf (http://www.silicondefense.com/snortsnarf) ACID (http://www.cert.org/kb/acid) DeMARC (http://www.demarc.org)

Demarc Ekran Görüntüsü - 1

Demarc Ekran Görüntüsü - 2

Güvenlik Duvarı ve Snort Snort birden fazla ağ arayüzünü aynı anda dinleyebilir Bu özelliği sayesinde güvenlik duvarı olarak görev yapan bir bilgisayar sistemi üzerinde de çalıştırılabilir Hogwash ile kural temelli bir güvenlik duvarı uygulaması yapabilirsiniz Web sunucusuna her istem geçsin ama içinde “.printer” ya da “cmd.exe” geçen istemler geçmesin http://www.hogwash.org

SNORT ile Saldırı Tespiti Burak DAYIOĞLU ODTÜ Bilgi İşlem Dairesi dayioglu@metu.edu.tr http://www.dayioglu.net