Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

SNORT ile Saldırı Tespiti

Benzer bir sunumlar


... konulu sunumlar: "SNORT ile Saldırı Tespiti"— Sunum transkripti:

1 SNORT ile Saldırı Tespiti
Burak DAYIOĞLU ODTÜ Bilgi İşlem Dairesi

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

3 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

4 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

5 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

6 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

7 Ağ Üzerinde Snort

8 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

9 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

10 İnternet’te Snort Kuralları
Snort’un ev sitesi 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ı adresinde Sitenin yöneticisi bilişim suçu nedeniyle hapiste olduğu için site güncellenemiyor

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

12 Ö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 ...

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

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

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

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

17 Kural Seçenekleri alert tcp any any -> / (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!

18 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;)

19 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

20 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ı

21 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

22 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

23 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 ; reference:arachnids,533; classtype:attempted-recon; sid:971; rev:1; )

24 Snort İçinde Paket Yolculuğu

25 Ö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, ... }

26 Ö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 ; reference:arachnids,533; classtype:attempted-recon; sid:971; rev:1; ) kritik supheli

27 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

28 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

29 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 ; reference:arachnids,533; classtype:attempted-recon; sid:971; rev:1; ) resp: rst_snd; resp: rst_all; resp: rst_rcv;

30 İç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”;)

31 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;

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

33 Ö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

34 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ı çekilerek uygun bir dizin altına açılmalıdır

35 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

36 Ö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: :2020 -> :111 UDP TTL:64 TOS:0x0 ID:3714 IpLen:20 DgmLen:140 Len: 120 [Xref =>

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

38 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: :1972 -> :80 TCP TTL:240 TOS:0x10 ID:0 IpLen:20 DgmLen:1458 ***AP*** Seq: 0x659AEE46 Ack: 0x89F5D9BE Win: 0x4248 TcpLen: 20

39 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

40 Snort’u Nereye Kurmalı?

41 Başarılı Bir Snort Kurulumu
Kural seti düzenli olarak ç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 ...

42 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)

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

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

45 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

46 SNORT ile Saldırı Tespiti
Burak DAYIOĞLU ODTÜ Bilgi İşlem Dairesi


"SNORT ile Saldırı Tespiti" indir ppt

Benzer bir sunumlar


Google Reklamları