ağ tabanlı saldırı tespit sistemleri

Post on 08-Jul-2015

332 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Snort IDS ile Ağ Tabanlı

Saldırı Tespit Sistemleri

Osman Cihat IŞIK

https://twitter.com/osmncht

https://www.linkedin.com/in/osmncht

IDS Nedir ?

• IDS(Intrusion Detection Systems) kelime anlamı

itibarı ile Saldırı Tespit Sistemleri demektir.

• Ağınıza yada bilgisayarınıza yapılan saldırıları

tespit eden bir uygulamadır.

• Saldırıların ne zaman ve kim tarafından

gerçekleştirildiğinin bilgisini tutar.

Neden IDS‟e ihtiyacımız var ?

Saldırıları Tespit Etme

Ağ trafiğini kotrol etme

Kaynak Doğrulama

İz Sürme

False Positive

• IDS tarafından üretilen uyarılardır.

• IDS‟in sisteme saldırı olduğu tespit etmesine

rağmen aslında geçerli bir saldırı değildir.

• Bizi olmayan şeylerin peşinde oyalar.

• Bizim için problem teşkil eder.

False Negative

• Gerçek bir saldırıdır.

• IDS tarafından tespit edilemez.

• IDS saldırıyı yakalayamadığı için alarm

vermez!

• IDS uyarı vermeği için de Sistem

yöneticisinin saldırıdan haberi olmaz.

Signature Detection( İmza Tespiti)

• İmza Tespiti kullanan bir IDS gördüğü ağ trafiği ile saldırı işaret listesini karşılaştırır.

• Bu işaretler genelde saldırının önemli bit ve parçalarıdır.Bu parçalar IDS tarafından olumsuz trafik olarak işaretlenir.

• Düzgün bir şekilde konfigüre edilmiş Signature Detection IDS‟i,false pozitive bakımından az sayıda ancak false negative açısından çok sayıda uyarı/alarm verebilir.

Anomaly Detection

Saldırı tespit`te, sık rastlanmayan, tanınlamayan

saldırıları tespit olayı ise 'Anomaly Detection'dır.

Anomaly tespit sistemi ile ağ normalde bulunan

trafik gözardı edilir ve normal trafikte

bulunmayacak bitler ağ yöneticisinin dikkatine

sunulur.

Bunun belirli bazı avantajları vardır.

Ağ Tabanlı Saldırı Tespit Sistemleri

(Network based IDS)

• Bir Ağ tabanlı IDS (NIDS),ağ bağlantısı üzerinden gelen ve saldırının bir parçası olan veriler üzerineki paketleri analiz eder.

• NIDS saldırıları tespit etmek amacıyla signature yada anormally detection kullanır.

• Gerçek zamanlı bir saldırıyı bildirmek için alarm verir.

• Saldırı gerçekleştikten sonra saldırı ile ilgili detaylı bilgilerin log kaydını tutar.

Host tabanlı IDS (Host based IDS)

• Bir NIDS saldırıları tespit etmek için ağ üzerindeki tüm trafiğe bakarken, HIDS sadece üzeinde çalıştığı sistemdeki ihlaleri görüntüler.

• HIDS sistemdeki olağan dışı olayların loglarını inceler.

Örneğin: Çoklu geçersiz login teşebbüsleri

• HIDS sistemdeki dosyaların düzgün olup olamadığından ziyade dosyalar üzerinde değişiklik yapılıp yapılmadığını kontrol eder.

• Sistemde backdoor ya da trojan programlarının yüklendiğini tespit etme konusunda oldukça kulanışlıdır.

Firewall Bir kural kümesi temelinde ağa gelen giden paket trafiğini kontrol

eden donanım tabanlı ağ güvenliği sistemidir.

İP filtreleme, port filtreleme, Web filtreleme, içerik filtreleme

bunlardan birkaçıdır.

Private network kaynaklarını diğer network kullanıcılarından korur.

Birçok farklı filtreleme özelliği ile bilgisayar ve ağın gelen ve giden

paketler olmak üzere İnternet trafiğini kontrol altında tutar.

Firewall hem yazılım hem donanım hem de her ikisinin

kombinasyonu şeklinde olabilir.

IPS

Intrusion prevention system aktif olarak veri paketlerini atmak ya da

yetkisiz veri içeren bağlantılarda bağlantı sonlandırmak için

kullanılır.

Aynı şekilde saldırıları loglama ve kaynak IP adresini kısa bir

zaman diliminde block listesine ekler. Ve hatta tanımlanan ayarlara

bağlı olarak, IP adreslerini kalıcı olarak bloklayabilir.

WAF

Web Application Firewall‟lar adında da anlaşıldığı üzere web

uygulamalarını/sunucularını web tabanlı saldırılardan korumak

amaçlı tasarlanmıştır ki IPS‟ler bunları engelleyemez.

IDS/IPS te olduğu gibi network ya da host tabanlı olabilir. Inline

olarak bulunurlar ve web uygulaması/sunucusundan giden ve gelen

trafiği görüntülerler. Temel olarak, farklılık katman 7 web uygulama

mantığını analiz etme yeteneği seviyesindedir.

IPS‟ler trafiği signature ve anomaly‟lerle sorgularken, WAF‟lar ise

request ve response taki mantık ve davranışları sorgular. WAF‟lar

web uygulamalarını SQL Injection, Cross-site scripting, session

hijacking(session çalma) ya da URL tampering(URL kurcalama) ve

buffer overflow gibi tehditlere karşı korur.

Firewall varken IDS‟e ihtiyaç var mı?

Şöyle bir analoji yapılabilir. Firewall‟u güvenlik görevlilerine

benzetirsek, IDS sistemleri de güvenlik kameraları olarak görülebiliriz.

Bir IDS ağı görüntüler ve aktivite kalıplarını tespit eder ve eğer

network saldırı altındaysa uyarı verir. Signature detection, IDS

veritabanında bulunan saldırılarla network ya da sistem bilgilerini

karşılaştırır. Anomaly detection mevcut network trafiğini, normal

seviyedeki paket uzunlukları ya da aktiviteleriyle karşılaştırır ve elde

ettiği istatistiği analiz eder.

Firewall varken IDS‟e ihtiyaç var mı?

Firewall network‟u internete bağlayan portları gözetler ve paketlerin

geçişini önce kontrol eder sonra izin verir ya da engeller. Bir paketi

kabul edebilir, silip atabilir ya da gönderene geri gönderebilir. Firewall

trafik yasal mı ya da normal mi bunu bilemez.

Firewalllar trafiği bloklar ya da izin verirken, IDS ise trafiğe daha

detaylı bakar ve tespit eder.

Bir firewall, internete bağlı bir ağ için en temel ihtiyaçtır. Ancak bir

firewall bir IDS‟in yerine geçemez. Bizim hem bir firewall hem de bir

IDS „e ihtiyacımız var. Tabii bazı firewall‟lar intrusion detection

yeteneklerine sahip olsalar da, çoğu kez tam teşekküllü bir IDS‟den

daha az saldırıyı tespit edebilir.

IPS varken IDS‟e ihtiyaç var mı?

IDS sistemleri sadece sızma girişimlerini algılar ve saldırıları

loglayıp bunları yöneticiye uyarı olarak gönderir. IDS sistemleri

network‟ü IPS „te olduğu gibi yavaşlatmaz, çünkü inline değildir.

Peki IPS ile saldırıları bloklayabiliyorken neden IDS ile geçmesine

izin verilsin? Bunun birkaç nedeni var, ancak bunlardan ikisi

önemlidir. Bir IDS sistemi, false positive üretildiği durumda bunu

sadece loglarken IPS in network trafiğini engellemesi istenmeyen

bir durum olarak karşımıza çıkar.

Bunun dışından bazı adminler ya da yöneticiler sistem üzerinde

kendi adına karar verilmesini istemeyebilir, bunun yerine uyarıyı

alıp problem üzerinde kendileri harekete geçmek isteyebilirler.

Snort nedir?

• Snort ağ tabanlı,signature detection kullanan bir IDS‟tir.

• Ağdaki veri paketlerini koklar ve bilinen saldırılarda içeriği eşleştirmeye çalışır.

• Piyasada snort haricinde IDS çözümleri mevcuttur.

Ticari olanlar : IIS Real Secure,Cisco IDS

Açık Kaynak olanlar : Prelure IDS for Linux and BSD OS

Neden Snort ?

Konfigüre edilebilir.

Tüm iç işleyişi,konfigürasyon dosyaları ve

kurallar açık bir şekilde ortadadır.

Ücretsizdir.

GNU GPL lisansına sahiptir.

Çok yaygın olarak kullanılır.

www.snort.org sitesinden her ay onbinlerce

kez indirilmektedir.

Neden Snort ?

• Birçok platforma kullanılır.• Unix,Linux ve Windows tabanlı sistemlerde çalışır.

• Sürekli olarak güncellenir.

• Snort kuralları her yeni saldırı işareti ile birlikte güncellenir ve kendi

sitesinden indirilebilir.

Snort‟un Avantajları

Bir tek snort ile çok sayıda sistemi izlemek mümündür.

Yeni bir saldırı çeşidine karşılık hemen yeni kural eklenip

güncellenebiliyor.

Herkese açık, güncel ve geniş bir kural tabanına sahip.

Açık kaynak ve ücretsiz olması.

Snort‟un Dezavantajları

Şifrelenmiş bağlantıları izleyemiyor.

Çok büyük trafikleri izlemekte yetersiz kalıyor.

İyi konfigüre edilmediği zaman yanlış alarmlar üretiyor.

Snort Mimarisi

Snort‟un Bileşenleri

1-Packet Capture Library(Paket Yakalama Kütüphanesi)

• Snort‟un network paketlerini network kartından çekmek

için kullandığı ayrı bir yazılım parçasıdır.

• Ethernet çerçeveleri gibi işlenmiş veribağı katman

paketlerini barındırır.

• Linux ve Unix sistemlerde Snort libcap, Windows

sistemlerde ise WinPcap kullanılır.

Snort‟un Bileşenleri

2-Packet Decoder

• Packet Decoder, paket yakalama kütüphanesinden

gönderilen katman 2 verisini alır ve parçalar.

• İlk olarak veribağı çerçevelerini,(Ethernet.Token Ring,

802.11) sonra IP protokolü ve sonrasında TCP yada

UDP paketlerini ayrıştırır.

• Çözme işlemi bittikten sonra, Snort tüm protokol

bilgilerini daha sonra işlemek üzere doğru yere koyar.

Snort‟un Bileşenleri

3- Preprocessor

• Snort‟un önişlemcisi açılıp kapatılabilen eklentilere

sahiptir.

• Ön işleme çözümlenmiş paketler üzerinde

çalışır.Çeşitli dönüşümler yaparak Snort‟un veriyi daha

kolay kavrayabilmesini sağlar.

• Önişlemciler paketleri Detection Engine kısmına

yollamadan önce uyarı,sınıflandırma yapabilir hatta

paketi silip atabilir.

Snort‟un Bileşenleri

4- Detection Engine

• Sezme motoru Snort‟un kalbidir.

• Packet Decoder ve Preprocessor‟dan bilgi alır ve

bunlar üzerinde taşıma ve uygulama katmanlarında

işlem yapar.(OSI modelinin 4 ve 5. katmanı)

• Paketin içeriğini inceleyip karşılaştırır,kural tabanlı

tespit eklentisine bilgi verir.

• Kurallar saldırıların işaret yapısını içerir.

Snort‟un Bileşenleri

5- Output

• Bir önişlemci yada kural tetiklendiğinde, bir alarm üretilir

ve log tutulur.

• Snort çeşitli output eklentilerini,metin ve binary tabanlı

loglama formatlarını,birçok veritabanı ve syslog‟u

destekler.

Snort‟un Diğer Protokollerle İlişkisi

Snort sadece OSI modelinin katman 3 ve üzerinde, TCP/IP

protokol suitinin parçası olan paketleri çözümleyebilir.

Bu demektir ki, Novel‟in IPX/SPX ya da AppleTalk gibi diğer

network protokolleri üzerinde taşınan paketleri çözümleyemez ya

da saldırıları sezemez.

Snort Kurulumu Snort‟un kurulumu hakkında detaylı bilgi

http://www.snort.org/docs/ sitesinde mevcuttur.

Windows için kurulum:

http://winsnort.com/index.php?module=Pages&func=view&prop=Main&cat=10

060 adresi üzerinde detaylıca anlatılmıştır.

Linux için kurulum :

Centos için: http://s3.amazonaws.com/snort-

org/www/assets/202/snort2953_centos6x.pdf

Ubuntu için: http://www.snort.org/assets/158/snortinstallguide293.pdf

Fedora için: http://s3.amazonaws.com/snort-org/www/assets/219/snort2953_fedora.pdf

adresleri üzerinde detaylı kurulum bilgileri mevcuttur.

FreeBSD için kurulum:

http://s3.amazonaws.com/snort-org/www/assets/207/snort2953_freebsd9x.pdf

adresinde mevcuttur.

Snort Çalışma Modları1- Sniffer Modu

• Ag trafigini izleme modudur.

• Snortu, sadece gec en paketleri izlemek u zere sniffer modda çalıştırmak

mümkündür.. Bu s ekilde network trafiğini incelemek için oldukça

elverişlidir.

Snort Çalışma Modları2-Paket Loglayıcı Modu

Paketleri diske belirli formatlarda loglamak için kullanılan moddur.

Loglama sec enekleri belirli parametreler kullanılarak

özelleştirilebilir.

-d paketin veri kısmını da kaydetmek ic in

-e Layer2 bas lıklarını kaydetmek ic in

-l Loglamanın hangi dizine yapılacag ını belirtir

Snort Çalışma Modları3- NIDS Modu

Genel gec er kullanım alanı olan, sızma giris imlerini tespit etme

modudur.

Bu modda, snort veri akıs ını analiz ederek daha o nceden

tanımlanmıs kurallarla es les tirme is lemi yapıp ilgili kurallarda

belirtilmis aksiyonların uygulanmasını sağlar.

Snort Çalışma Modları4- Inline Mod

Bu mod da paketler iptables ya da IPFW üzerinden yönlendirme

yapılarak snort‟a iletiliyor ve yönlendirilmiş olan bu paketler, gene

daha önceden tanımlanmış kurallar uyarınca geçiriliyor ya da drop

ediliyor. Yani kendi başına IDS olarak çalışan Snort, inline modunda

çalıştırılarak IPS özelliği kazanmış oluyor. Yani sisteme sızma

girişimlerini tespit etmekle kalmıyor aynı zamanda bu girişimlere ait

paketlerin drop edilmesine olanak sağlıyor.

Snort HIDS Olarak Kullanılma Sebepleri

Eğer network tek bir host ile sınırlı ise,

Hizmet alınan host firmasının bütün trafiği izlemek yerine sadece

kendi sitenizin trafiğini izlemek istiyorsanız,

Herhangi biyerde kişisel bilgisayarınızla wireless ağına

bağlandığınızda bir başkasının sizin işletim sisteminizin son sistem

yamasını kontrol ederek bilgisayarınıza girmesini engellemek

istiyorsanız,

DMZ (De-Militarized Zone) Bir DMZ ağı bir çeşit araftır yani aradaki bir bölgedir.

Gelen ve giden trafiğin ne olduğunu kontrol eder.

Geleneksel olarak herkese açık internet sunucularının bulunduğu

yarı güvenilir bir ağdır.

NAT (Network Address Translation)

Network Address Translation (Ağ Adresi Dönüştürme), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

NAT ,Ağ maskelemeyle (ya da IP maskelemeyle) ile birlikte, bir adres uzayını gizlemek için kullanılan teknik bir terimdir.Çoğu kez private network adreslerinden ibarettir.(RFC 1918).Genellikle tek bir ip adresinin arkasında küçük bir adres uzayı bulunur.Bumekanizma, yönlendirici cihazın kullandığı adreslerin haritalarını içeren, durum çeviri tabloları kullanır ve giden ip paketlerini haritalama yapar. Böylece yönlendirici kaynağı görüntülenir. İletişim tersten yapıldığında, geri haritalandırma yaparak IP adresleriyle karşılaştırma yapar ve sonuç durum çeviri tablolarında saklanır. Çevirici tablo içindeki bu yöntemde, kayıtlar trafikteki durumu yenilendikten sonra silinirler.

Snort‟un Ağ toplojisindeki Yeri

Snort‟un nereyi izleyeceği/görüntüleyeceği ağ yapısına bağlıdır.

Snort‟un topolojideki yeri her sisteme her amaca göre değişebilir.

Kullanılan ara bağlantı cihazlarına göre değişkenlik gösterir.

Snort‟un nereye kurulması gerektiği sonraki slaylatlarda görsel olarak

mevcuttur.

Snort‟un Topolojideki Yeri -2

Snort‟un Toplojideki Yeri - 3

Snort‟un Toplojideki Yeri -4 (Inline)

Eğer ayrı bir DMZ ağı kullanılıyorsa,

DMZ switch‟inizdeki bir portu izleme/dinleme portu olarak atayın.

snort.conf dosyasında bu alt ağı dinlemek istediğinizi belirtin.

Trafiği bir süre izledikten sonra yapılan atakların içerikleri

incelenmelidir.Bu noktada snortun uyarıları dikkatle incelenerek

“false pozitive”leri azaltmak için konfigirasyonu yeniden gözden

geçirmek gerekir.

Snort Kural yapısı

Temel olarak iki kısımdan oluşur.

Rule Header Rule Actions

Pass

Log

Alert

Activate

Dynamic

Protokols

IP

ICMP

TCP

UDP

IP Adresi

Port Number

Rule Option Keywords

Snort Kural yapısı

Rule Header Rule Option

Action Protokol Adress Port Direction Adress Port

Genel kural yapısı

Kural yapısının içeriği

Snort Kural Örnekleri alert icmp any any -> any any (msg: "Ping with TTL=100"; \ ttl: 100;)

alert tcp any any -> 192.168.1.10/32 80 (msg: "TTL=100"; \ ttl: 100;)

alert icmp ![192.168.2.0/24] any -> any any \ (msg: "Ping with

TTL=100"; ttl: 100;)

alert tcp 192.168.2.0/24 23 -> any any \

(content: "confidential"; msg: "Detected confidential";)

log udp any !53 -> any any log udp

alert tcp any any -> 192.168.1.0/24 any (flags: A; \ ack: 0; msg: "TCP

ping detected";)

Snort‟u IPS Olarak Kullanma

Snort‟u Inline mod‟da yapılandırarak IPS olarak kullanmak

mümkündür.

Yani sisteme sızma girişimleri tespit etmekle beraber bu

girişimlere ait paketlerin silinmesini de sağlar.

Bu mod ise paketler iptables ya da IPFW üzerinden yönlendirme

yapılarak snort‟a iletiliyor ve yönlendirilmiş olan bu paketler, gene

daha önceden tanımlanmış kurallar uyarınca geçiriliyor ya da

drop ediliyor.

Yani kendi başına IDS olarak çalışan Snort, inline modunda

çalıştırılarak IPS özelliği kazanmış oluyor.

Snort DEMO

Referanslar

Intrusion Detection Systems with Snort - Rafeeq Ur Rehman

http://www.snort.org/docs

http://www.sans.org/security-resources/idfaq/ips-web-app-firewall.php

https://www.sans.org/reading-room/whitepapers/detection/understanding-ips-ids-ips-ids-defense-

in-depth-1381

http://www.syslogs.org/snort_inline-kurulumu/

http://www.bilgiguvenligi.gov.tr/saldiri-tespit-sistemleri/snort-2.9.2-kurulumu-1.html

http://seminer.linux.org.tr/wp-content/uploads/snort.pdf

http://web.bilecik.edu.tr/murat-ozalp/files/2013/01/YasinKilic.pdf

top related