IDS/IPS/IDP | Complexity is the enemy of Security http://blog.lifeoverip.net Life (Over) IP, Sat, 19 Jan 2013 06:10:10 +0000 en-US hourly 1 Açık kod Araçlarla Firewall/IPS Testleri-I http://blog.lifeoverip.net/2012/12/05/acik-kod-araclarla-firewallips-testleri-i/ http://blog.lifeoverip.net/2012/12/05/acik-kod-araclarla-firewallips-testleri-i/#respond Wed, 05 Dec 2012 06:05:28 +0000 http://blog.lifeoverip.net/?p=11889 Güvenlik ürünü alırken genelde muhatap olunan kilişe laf şudur: “En iyisi bizim ürün, daha iyisi yok” . Hemen hemen tüm ürün satıcıları, danışmanları bunu söylüyorsa ortada  netleştirilmesi gereken bir durum var demektir. Burada satıcılar kadar alıcı pozisyonundakilere de iş düşer. … Continue reading

The post Açık kod Araçlarla Firewall/IPS Testleri-I first appeared on Complexity is the enemy of Security.

]]>
Güvenlik ürünü alırken genelde muhatap olunan kilişe laf şudur: “En iyisi bizim ürün, daha iyisi yok” . Hemen hemen tüm ürün satıcıları, danışmanları bunu söylüyorsa ortada  netleştirilmesi gereken bir durum var demektir.

Burada satıcılar kadar alıcı pozisyonundakilere de iş düşer. Alıcı pozisyonundakiler ne istediğini bilirse, en iyi ürünü değil de kendi ortamına uyan, kendi isteklerini  karşılayan ürünü isterse çözüm konusunda önemli mesafe kat edilmiş olur.
Çözülmesi gereken bir sorun da alacağımız ürünün katalog bilgilerine ne kadar güveneceğimizdir. Mesela bir IPS ürünü kataloğunda anlık şu kadar paket analizi yapar, şu kadar trafiğe dayanabilir diyorsa bu değerler genelde laboratuvar ortamlarında özenle oluşturulmuş  trafik örnekleri  üzerinde alınmış demektir.
 Gerçek ortamda ise durum farklı olabilir. Katalog üzerinde yazan değerleri kendiniz de test etmek isterseniz  internette ticari ya da açık kodlu bir dünya yazılım bulabilirsiniz.

Bu yazıda açık kod yazılımlarla Firewall/IPS ürünlerinlerine dair bazı testler nasıl gerçekleştirilir konusunu ele alacağız.

Öncelikle neyi test edeceğimizi belirleyip sonra bu test adımlarını uygun araçlarla gerçekleştirelim.
Sınır güvenliği denilince akla gelen iki ana ürün güvenlik duvarı(firewall) ve IPS(Saldırı Engelleme Sistemi)dir. Bu sistemlere ait test edilmesi gereken konuları şöyle sıralayabiliriz.
  • Çalışan sistemin güvenliği
  • Performans Testleri
  • Kapasite Testleri
  • Kural ve işlevsellik testleri
Test adımları konusunda doğrudan alıp uygulanabilecek standart bir döküman yoktur. Bu konuda standart olarak bilinen tek döküman RFC3511(Benchmarking Methodology for Firewall Performance) dir ve pratikte pek işe yaramamaktadır. Pratik olarak kullanılabilecek güvenilir test yöntemleri için  NSS Labs ve ICSA Labs. firmalarının belgeleri kullanılabilir.

Çalışan sistemin güvenliği

Sınır güvenliği amaçlı kullanılan cihazlar bir donanım ve bu donanım üzerinde çalışan işletim sisteminden oluşur. Çoğu zaman bu işletim sistemi Linux ya da FreeBSD tabanlı olur. Her ne kadar bu işletim sistemleri sıkılaştırılmış olsalar da yine de test etmek gerekir.  Nessus kullanarak bu tip cihazlar üzerindeki bilinen açıklıklar ortaya çıkarılabilir. Eğer sistemin kendisinde bir problem yoksa diğer test adımlarına geçilebilir.

Performans ve Kapasite Testleri

Firewall ve IPS sistemleri genelde bir ağa giriş-çıkış noktasında bulunur ve ağın işlevselliği bu sistemlerin performansına bağlıdır.  Performans ve kapasite testlerinde amaç hedef sistemin ne kadar yüke dayanabildiğini ölçmektir. Bu tip testler için hping, isic ve tcprelay, tomahawk kullanılabilir.
Hping ile hedef sisteme istediğiniz boyutta istediğiniz sayıda paket gönderip sistemin durumunu gözlemleyebilirsiniz. Versiyon 3 ile birlikte gelen –flood özelliği sayesinde hping makinenize bağlı olarak saniyede 50-60 bin paket üretebilir ve bu paketler istenirse rastgele ip adreslerinden geliyormuş gibi ayarlanabilir.  Benzeri şekilde isic(Ip Stack Integrity Checker) aracını kullanarak da firewall/ips sistemlerin paket işleme kapasitesi ölçülebilir.  Isic tcp, ip , udp ve icmp protokollerine ait test bileşenleri içerir.(tcpsic, icmpsic, udpsic, isic)
# tcpsic -s rand -d 192.168.2.23, 445 -F 100 -p 1000000
Using random source IP’s
Compiled against Libnet 1.1.2.1
Installing Signal Handlers.
Seeding with 3329
No Maximum traffic limiter
Using random source ports.
Bad IP Version  = 10%           IP Opts Pcnt    = 10%
Frag’d Pcnt     = 10%           Urg Pcnt        = 10%
Bad TCP Cksm    = 10%           TCP Opts Pcnt   = 10%
1000 @ 70024.3 pkts/sec and 4666.7 k/s
2000 @ 70912.6 pkts/sec and 5177.1 k/s
3000 @ 80069.5 pkts/sec and 5270.3 k/s
4000 @ 70631.9 pkts/sec and 5112.1 k/s
5000 @ 80100.4 pkts/sec and 5455.4 k/s
8000 @ 70965.2 pkts/sec and 5223.5 k/s
Test ettiğiniz cihazın ne kadar trafik yükü kaldırdığını, trafiğin içeriği değiştikçe performasının nereye gittiğini ölçmek gerçek hayattan çeşitli trafik örnekleri kaydedip bunları tekrar oluşturabilirsiniz. Bu konuda tcpreplay ve tomahawk işinizi oldukça kolaylaştıracaktır. Tcpreplay e tomahawk kaydedilmiş trafikleri tekrar oluşturmak için kullanılır. Mesela Nessus, Metasploit ya da benzeri araçları kullanarak yaptığınız testleri  tcpdump ile kaydederek sonra bu trafiği başka bir ortamda tekrar oluşturabilirsiniz.
Tomahawk ve tcpreplay kullanarak gigabit bağlantısı olan bir dizüstü bilgisayardan içerisinde zararlı trafik içeren 500Mb~  trafik üretebilirsiniz. İçerisinde çeşitli zararlı paketler içeren bu miktarda trafik çoğu sistemi test etmek için yeterli olacaktır.

Loglama kapasitesini test etme

Firewall/IPS sistemlerinde ihtiyaç duyulan özelliklerinden biri de loglamadır. Loglar genelde bir veritabanna ya da disk üzerine ikili/text olarak kaydedilir.  Eğer loglama iyi ayarlanmadıysa yukarıda bahsedilen araçlarla çok rahat bu sistemler üzerinde performans sorunları oluşturulabilir. Öyle ya saniyede 30000-40000 paketle uğraşmak ve bunları loglamaya çalışmak sistemi yoracaktır. Dolayısı ile loglama da dikkatli hareket etmek gerekir. Mesela en basitinden TCP bağlantılarında üçlü el sıkışmayı tamamlamadan paketlerin loglanmaması gerekir daha da sağlıklısı oturum kurulmadan paketlerin loglanmamasıdır.

İşlevsellik Testleri

Ftester ile Güvenlik Duvarı ve IPS Testleri

Ftester, güvenlik duvarlarının filtreleme politikası ve IDS/IPS sistemlerin  işlevselliğini test etme amaçlı açık kod bir yazılımdır. Ftester kullanılarak firewall sistemlerin filtreleme kuralları test edilebilir. Ftesterin asıl gücü IDS/IPS testlerinde ortaya çıkar. Araya koyulacak bir IPS sistemi üzerinde stateful bağlantılar oluşturarak sanki gerçek bir trafik akıyormuş gibi tüm exploit imzaları denenebilir. Bunun için ek paket kaydetmenize de gerek yok. Ftester Snort’un imzalarını kullanarak bu imzalardan IDSleri uyandıracak paketler oluşturabilir.
ftester, paket gönderme, paket loglama ve raporlama olmak üzere üç farklı scriptten oluşur.
 – ftest (istemci tarafı paket üretici )
 – ftestd (ftest tarafından gönderilen paketleri dinleyen kısım)
 – ftest.conf (ftest için yapılandırma dosyası)
 – freport (ftest ve ftestd çıktılarını  yorumlayan ve rapor üreten kısım)
Temel çalışma mantığı şu şekildedir:

Ftester Kurulumu

Test yapılacak her iki sisteme de ftester paketi aşağıdaki gibi kurulmalıdır.

Gerekli Perl modüllerinin kurulumu

# perl -MCPAN -e “install Net::RawIP”
# perl -MCPAN -e “install Net::Pcap”
# perl -MCPAN -e “install Net::PcapUtils”
# perl -MCPAN -e “install NetPacket”
# wget http://dev.inversepath.com/ftester/ftester-1.0.tar.gz
# tar -xzf ftester-1.0.tar.gz
Kurulumdan sonra test aşamasına geçilebilir. Testlerin nasıl yapılacağı ftest.conf dosyasından ayarlanır.

Firewall filtreleme kurallarının tespiti

Firewall kurallarının testi için kullanılan şablon.
# Source Address:Source Port:Destination Address:Destination Port:Flags:Protocol:Type of Service
ftest.conf dosyasını aşağıdaki gibi düzenleyerek güvenlik duvarının TCP/UDP ve icmp protokollerine ait filtreleme politikası ve stateful çalışma yapısının sağlamlığı öğrenilebilir.
192.168.2.23:1-1024:100.100.100.86:1-65535:AS:TCP:0
192.168.2.23:1-1024:100.100.100.86:1-65535:S:TCP:0
192.168.2.23:1-1024:100.100.100.86:1-65535:A:TCP:0
192.168.2.23:1-1024:100.100.100.86:1-65535::UDP:0
192.168.2.23::100.100.100.86:::ICMP:3:5
İstemci tarafında  ve sunucu tarafında aşağıdaki komutları çalıştırdıktan sonra
istemci#./ftest -f ftest.conf -v -d 0.01
sunucu# ./ftestd -i eth0 -v
Freport scripti ile her iki komutun çıktısı yorumlanır ve rapor üretilir.
#./freport ftest.log ftestd.log
Authorized packets:
-------------------

22 - 192.168.2.23:1025 > 100.100.100.86:22 S TCP 0
25 - 192.168.2.23:1025 > 100.100.100.86:25 S TCP 0
80 - 192.168.2.23:1025 > 100.100.100.86:80 S TCP 0
113 - 192.168.2.23:1025 > 100.100.100.86:113 S TCP 0
1027 - 192.168.2.23:80 > 100.100.100.86:1025 PA TCP 0

Modified packets (probably NAT):
--------------------------------

                  >>>>>>>>

Filtered or dropped packets:
----------------------------

1 - 192.168.2.23:1025 > 100.100.100.86:1 S TCP 0
2 - 192.168.2.23:1025 > 100.100.100.86:2 S TCP 0
3 - 192.168.2.23:1025 > 100.100.100.86:23 S TCP 0
...

Ftester ile IDS Testleri

Bu tip testlerde en önemli konu test edilecek cihazın performansı ve atakları yakalama başarısıdır. Normal trafikte tüm atakları engelleyen fakat trafik miktarı arttıkça atakları karçırmaya başlayan bir IPS çok makbul sayılmayacaktır. Bu sebeple IPS testleri yaparken saldırı paketleri içeren trafikle birlikte yüklü miktarda trafik aktarımı yapmak testin sonuçlarını etkileyecektir. Performans testleri için genelde kaydedilmiş paketlerin tcprelay ya da tomahawk gibi araçlarla tekrar üretilerek istenilen oranda gerçek trafik elde edilmesi ile yapılır. Ya da anlık işleyeceği paket sayısını test etmek için paket üretici yazılımlar kullanılır.
Paket üretmek ve trafik miktarını arttırmak bir nebze kolaydır fakat piyasada bulunan tüm exploitleri barındıran paket üreticileri genelde ticari ürünlerdir. Bu durumda yapılacak iş ya Metasploit, Nessus gibi araçlarla bir sistemi taryarak arada geçen trafiği kaydedip bu trafiğitcpreplay ile tekrar oluşturarak  IPS testlerinde kullanmak ya da bir IPS’in barındırdığı imzaları işleyerek bunlardan saldırı içerene paketler oluşturan yazılımlar kullanmak. İşte Ftester burada devreye giriyor ve bize Snort tarafından kullaılan tüm imzaları kullanarak atak imzası taşıyan paketler oluştrmaya olanak veriyor.
IDS/IPS testi için gerekli ftest.conf yapılandırması
ids=192.168.0.10:1025:10.1.7.1:25:S:TCP:0:VRFY
ids-conn=192.168.0.10:23:10.1.7.1:1025:PA:TCP:0:to su root
insert /usr/local/etc/snort/rules/exploit.rules 192.168.0.10 10.1.7.1 0
insert-conn /usrlocal/etc/snort/rules/bad-traffic.rules 192.168.0.10 10.1.7.1 0
İds= tanımı ile IDS/IPS sistemi üzerinden stateful olmayacak şekilde bir test yapılır. Yani sanki 25TCP portu üzerinden bir bağlantı varmış ve bu bağlantı üzerinden VRFY komutu gönderilmiş gibi. Çoğu IPS sistemi stateful çalıştığı için bu tip denemeler başarı ile yakalanacaktır. Eğer stateful bağlantılar aracılıı ile test yapmak isterseniz ids-conn tanımını kullanabilirsiniz.
insert-conn tanımı ile doğrudan Snort saldırı engelleme sisteminin imzaları kullanılabilir. Ftester buradan alacağı imzalardan saldırı paketleri üretecek ve ağa gönderecektir. Burada dikkat edilmesi gereken Ftester’in snort kurallarındaki değişken tanımlarını($HOME_NET gibi) anlamadığıdır. Kurallar üzerinde bu alanların sed komutu ile uygun ip adresleri yazılması gerekecektir.
Bunların haricinde ftester çeşitli IDS atlatma(evasion) tekniklerini kullanarak da test yapabilir. Bunun için –e parametresi kullanılmalıdır.  Bir sonraki yazıda ftester ile test örnekleri, çıktıları  ve IDS üzerinde bıraktığı logları incelemeye çalışacağız.

The post Açık kod Araçlarla Firewall/IPS Testleri-I first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2012/12/05/acik-kod-araclarla-firewallips-testleri-i/feed/ 0
Intrusion Prevention System Stateful Signature Inspection Testleri http://blog.lifeoverip.net/2012/05/19/intrusion-prevention-system-stateful-signature-inspection-testleri/ http://blog.lifeoverip.net/2012/05/19/intrusion-prevention-system-stateful-signature-inspection-testleri/#respond Sat, 19 May 2012 05:09:13 +0000 http://blog.lifeoverip.net/?p=11894 Saldırı Engelleme Sistemleri günümüz sınır güvenliğin akla gelen ilk bileşenlerden biridir. IPS’ler klasik güvenlik duvarlarından farklı olarak barındırdıkları DPI(Deep Packet Inspection) altyapılarıyla protokollere ait tüm detay alanları inceleyebilir ve bu alanlar içerisinde isteğe bağlı olarak paketleri engelleyebilir. Günümüz sistemlerinde kullanılan … Continue reading

The post Intrusion Prevention System Stateful Signature Inspection Testleri first appeared on Complexity is the enemy of Security.

]]>
Saldırı Engelleme Sistemleri günümüz sınır güvenliğin akla gelen ilk bileşenlerden biridir. IPS’ler klasik güvenlik duvarlarından farklı olarak barındırdıkları DPI(Deep Packet Inspection) altyapılarıyla protokollere ait tüm detay alanları inceleyebilir ve bu alanlar içerisinde isteğe bağlı olarak paketleri engelleyebilir.

Günümüz sistemlerinde kullanılan IPS’lerin tamamı stateful mimaride çalışır. Stateful packet inspection (Durum korumalı paket inceleme) IPS’in ya da Firewall’un üzerinden geçirdiği her paketi bağımsız olarak incelemesi yerine paketler arasındaki ilişkiyi gozetleyerek daha akıllı kararlar verebilmesini sağlar.

Mesela bir bağlantıda saldırı imzası aramadan önce bağlantının gerçekten bir bağlantı mı olduğunu yoksa rastgele gönderilen paketler  mi olduğunu anlayabilir. Kısacası oturum kavramını sağlar ve birbirleriyle ilişkili paketleri tek bir oturum olarak kabul eder ve inceler.
Açık kaynak kodlu Snort IPS/IDS sistemi incelenirse hem stateful yapıda hem de stateless yapıda kuralların yazılabildiği görülecektir.

Snort Stateless Saldırı İmzası

scan.rules:alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:”SCAN SYN FIN”; flow:stateless; flags:SF,12; reference:arachnids,198; classtype:attempted-recon; sid:624; rev:7;)

Snort Stateful Saldırı İmzası

web-misc.rules:alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:”WEB-MISC /etc/passwd”; flow:to_server,established; content:”/etc/passwd”; nocase; classtype:attempted-recon; sid:1122; rev:5;)

Bu Snort kuralı ile gelen giden her paketin ayrı ayrı incelenmesi yerine sadece oturum kurulmuş (3’lü el sıkışmayı başarıyla tamamlamış) paketlerin incelenmesi ve içeriğinde /etc/passwd barındıran oturumlar için -paketler için değil- uyarı vermesi sağlanmaktadır.

Eğer IPS sistemleri herhangi bir yapılandırmadan geçirilmeden oldugu gibi ağda konumlandırılırsa gelen giden her paketi değerlendirip saldırı araması yapacak sekilde çalışacaktır (Default olarak stateful çalışanlar da var)

Stateful mimarisi aktif edilmemiş bir IPS’in ne gibi dezavantajları olabilir?

Stateful çalışmayan bir IPS uzaktan sahte IP adreslerinden gönderilecek cesitli paketleri gercek bir saldırı gibi algılayacak ve loglamaya calısacaktır. Bu süre zarfında birileri eger gercekten sisteme yönelik denemeler yapıyorsa loglardan anlasılması güc olacaktır.

Yine benzer şekilde saldırgan IPS’i işlevsiz bırakmak için farklı -ve sahte- ip adreslerinden milyonlarca saldırı imzası üretecek paketler gönderebilir. IPS gelen her paketi teker teker incelemeye tabi tuttuğu için kısa sürede devre dışı kalabilir. Gerçekleştirdiğimiz testlede 10 dakika süren bir atağın etkisinin IPS loglama sisteminde 7-8 kadar etkisi olmuştur.

Örnek:

Hedef olarak belirlenen IPS’in çalışma yapısını anlamak için bazı örnek paketler gönderilmesi gerekmektedir.

Bu paketlerden bazıları aradaki IPS cihazını kızdıracak ve kural/imzalarının tetiklenmesini ve trafiği engellemesini -RST ya da pasif DROP- sağlayacaktır.

I. Adım

Birinci adımda test yapılan IPS’in arkasındaki sunucunun TCP/80 portuna sıradan SYN paketleri gönderilir.
Hedef sunucu bu paketlere -port açık olduğu için- ACK/SYN bayraklı paketle cevap verecektir.

root@seclabs:~# hping3 -p 80 -S www.bank1.com.tr
HPING www.bank1.com.tr (eth0 1.2.3.4): S set, 40 headers + 0 data bytes
len=46 ip=1.2.3.4 ttl=244 DF id=19935 sport=80 flags=SA seq=0 win=1608 rtt=3.6 ms
len=46 ip=1.2.3.4 ttl=244 DF id=46389 sport=80 flags=SA seq=1 win=1608 rtt=3.5 ms
len=46 ip=1.2.3.4 ttl=244 DF id=8438 sport=80 flags=SA seq=2 win=1608 rtt=3.2 ms
len=46 ip=1.2.3.4 ttl=244 DF id=21695 sport=80 flags=SA seq=3 win=1608 rtt=3.3 m

II. Adım
Bu adımda hedef sunucuya gönderilen SYN bayraklı paketlerin içerisine veri eklenmiştir.

root@seclabs:~# cat test1
test deneme123

Amac hedef sistem önündeki IPS’in kurallarındaki SYN bayraklı paketler veri taşıyamaz kuralının aktif olup olmadığını öğrenmek. Aşağıdaki çıktı IPS’de bu kuralın aktif olmadığını göstermektedir.

root@seclabs:~# hping3 -p 80 -S www.bank1.com.tr -d 100 -E test1
HPING www.bank1.com.tr (eth0 1.2.3.4): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can’t disable memory paging!
len=46 ip=1.2.3.4 ttl=244 DF id=19727 sport=80 flags=SA seq=0 win=1608 rtt=3.8 ms
len=46 ip=1.2.3.4 ttl=244 DF id=49973 sport=80 flags=SA seq=1 win=1608 rtt=3.5 ms
len=46 ip=1.2.3.4 ttl=244 DF id=2089 sport=80 flags=SA seq=2 win=1608 rtt=4.2 ms
len=46 ip=1.2.3.4 ttl=244 DF id=62685 sport=80 flags=SA seq=3 win=1608 rtt=3.5 ms

SYN bayraklı paket veri taşıyamaz kuralının aktif olduğu IPS’ gönderilecek paketlere cevap donulmez ya da RST paketi dönülür.

root@seclabs:~# hping3 -p 80 -S www.bank3.com.tr -d 100 -E test1 -c 4
HPING www.bank3.com.tr (eth0 1.8.12.7): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can’t disable memory paging!

— www.bank3.com.tr hping statistic —
4 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

III. Adım

Hedef sisteme SYN bayraklı paket içerisinde veri gönderilebildiği belirlendi. Bu asamada gönderilen verinin içeriğiyle oynayarak IPS’in tetiklenmesini sağlamaya calışılacaktır. Eğer IPS oturum kurulmamış TCP bağlantılarını takip edip IPS imzalarını çalıştırıyorsa bu o IPS’in iyi yapılandırılamadığı anlamına gelir.

Hedef sistemdeki IPS’i tetiklemek için gönderilen veri parçası

root@seclabs:~# cat test2
GET /etc/passwd HTTP/1.0

root@seclabs:~# hping3 -p 80 -S www.bank1.com.tr -d 100 -E test2
HPING www.bank1.com.tr (eth0 1.2.3.4): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can’t disable memory paging!
len=46 ip=1.2.3.4 ttl=53 id=13 sport=80 flags=RA seq=0 win=4096 rtt=12.4 ms
len=46 ip=1.2.3.4 ttl=53 id=13 sport=80 flags=RA seq=1 win=4096 rtt=11.9 ms
len=46 ip=1.2.3.4 ttl=53 id=13 sport=80 flags=RA seq=2 win=4096 rtt=12.8 ms

Bazı IPS’ler sadece /etc/passwd geçtiğinde kızmaz, bunun yerine ../../etc/passwd gibi bir ifade konulduğunda imzalarını devreye sokar.

hedefe payload olarak gönderilen test2 dosyası içeriği

GET /etc/passwd HTTP/1.0
hedefe payload olarak gönderilen test3 dosyası içeriği

GET ../..//etc/passwd HTTP/1.0
GET /etc/passwd HTTP/1.0’e kızmayan fakat GET ../../../etc/passwd HTTP/1.0 IPS Davranışı

root@seclabs:~# hping3 -p 80 -S www.bank2.com.tr -d 100 -E test2
HPING www.bank2.com.tr (eth0 4.5.6.7): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can’t disable memory paging!
len=46 ip=4.5.6.7 ttl=247 DF id=37297 sport=80 flags=SA seq=0 win=8190 rtt=3.6 ms
len=46 ip=4.5.6.7 ttl=247 DF id=64305 sport=80 flags=SA seq=1 win=8190 rtt=3.7 ms
len=46 ip=4.5.6.7 ttl=247 DF id=16772 sport=80 flags=SA seq=2 win=8190 rtt=3.4 ms
^C
— www.bank2.com.tr hping statistic —
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3.4/3.6/3.7 ms

root@seclabs:~# hping3 -p 80 -S www.bank2.com.tr -d 100 -E test3
HPING www.bank2.com.tr (eth0 4.5.6.7): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can’t disable memory paging!
len=46 ip=4.5.6.7 ttl=57 id=13 sport=80 flags=RA seq=0 win=4096 rtt=3.2 ms
len=46 ip=4.5.6.7 ttl=57 id=13 sport=80 flags=RA seq=1 win=4096 rtt=3.1 ms
len=46 ip=4.5.6.7 ttl=57 id=13 sport=80 flags=RA seq=2 win=4096 rtt=3.2 ms

The post Intrusion Prevention System Stateful Signature Inspection Testleri first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2012/05/19/intrusion-prevention-system-stateful-signature-inspection-testleri/feed/ 0
Kurumsal İş Ortamlarında Snort Kullanımı http://blog.lifeoverip.net/2010/07/11/kurumsal-is-ortamlarinda-snort-kullanimi/ http://blog.lifeoverip.net/2010/07/11/kurumsal-is-ortamlarinda-snort-kullanimi/#comments Sun, 11 Jul 2010 19:33:28 +0000 http://blog.lifeoverip.net/?p=2753 Snort 3.5~ milyon indirme sayısıyla dünyada en fazla tercih edilen açık kaynak kodlu IDS/IPS yazılımıdır. Snort’u temel alarak geliştirilen Sourcefire 3D sistemi Gartner raporlarında hep en üst sıralarda yer almaktadır. Bu yazı Snort’un güçlü yanları ve iş ortamlarında kullanımı için … Continue reading

The post Kurumsal İş Ortamlarında Snort Kullanımı first appeared on Complexity is the enemy of Security.

]]>
Snort 3.5~ milyon indirme sayısıyla dünyada en fazla tercih edilen açık kaynak kodlu IDS/IPS yazılımıdır. Snort’u temel alarak geliştirilen Sourcefire 3D sistemi Gartner raporlarında hep en üst sıralarda yer almaktadır.

Bu yazı Snort’un güçlü yanları ve iş ortamlarında kullanımı için bilinmesi gereken temel hususları içermektedir ve Snort hakkında yanlış bilinen birçok konuyu da aydınlatmaktadır.

Kısa özet: Snort eğer iyi yapılandırılırsa -ki bayağı emek ister- iş ortamlarında en az ticari muadilleri kadar başarılı olur. Ama günümüzde Snort’un kullanımı genelde IPS olarak değil IDS olarak yaygındır ve iyi yapılandırılmadığı için verimli kullanılamamaktadır. Bu sebeple Snort kelimesinin geçtiği ortamlarda şu tip yakınmalar sık duyulmaktadır: “Snort yüksek trafiklerde iş göremez”, “Snort sadece imza tabanlı bir IPS sistemidir”, “Snort, yeterli protokol tanıma desteğine sahip değildir”, “Snort, çok false positive üretmektedir”…. Bu yakınmalar, eğer bilinçli olarak yapılmıyorsa bilgisizce yapılıyor demektir.

Snort’u iş ortamlardında başarıyla kullanmak için yapılması gereken en temel şey saldırı tespit ve engelleme sistemlerinin temeli olan TCP/IP bilgisini geliştirmektir. TCP/IP bilgisi olmadan yönetilecek herhangi bir IDS/IPS şirketinize bir fayda getirmeyecektir, sadece kendinizi güvende hissetmenizi sağlayacaktır. Türkiye’de tamamı orta ve büyük ölçekten oluşan 100 şirkete yapılan IPS kullanım anketinin sonuçları Türkiye’de IPS/IDS kullanımının tamamen nazar boncuğu görevini yerine getirdiğini gösteriyor.

Ankete katılan kurumların %97′indeki IPS çok basit bir iki yöntemle aşılabiliyor. Yine ankete katılanlardan hiç bir firma aldıkları IPS’i detaylı test etmemişler. Daha çok NSS ve Gartner raporlarına dayanarak satın alımlar yapılmış. Anketten çıkan önemli bir sonuç da %85 oranında firmaların IPS’in bugüne kadar ciddi bir saldırıyı engellemediğini düşünüyor…

Kısacası Türkiye’de alınan IPS ürünleri amacına uygun kullanılmamaktadır. Bunun temel sebebi de IPS yöneticilerindeki TCP/IP bilgisi eksikliğidir ve IPS’i satanların sattıkları ürünü sihirbaz olarak pazarlayıp firmaları bir nevi “kandırmalarıdır”. IPS, Firewall, router gibi statik bir sistem değildir, sadece mantık kuralları işlemez, detay bilgi gerektirir ve bu bilgiden yoksun IPS yöneticilerinin yönettiği sistemler korunmasızdır.

Aşağıdaki maddeler Snort’u kişisel bilgisayarından tutun da gigabit ağlara kadar her ortamda denemiş, tecrübeli bir snort kullanıcısının tavsiyeleridir.

* Snort’u gerçekten amacına uygun olarak kullanabilmek için mutlaka bir GUI gerekmektedir. Ne kadar uzmanı olursanız olun sizden başka sistem/güvenlik yöneticilerinin de Snort’u kullanabilmesini istiyorsanız mutlaka bir gönetim arabirimi kullanın.
* Logları analiz etmek için base ya da Aanval gibi bir analiz/raporlama sistemi kullanın. Ve günlük olarak loglara bakmaya çalışın.
* Ağ yapınızı çıkarın ve sadece korumak istediğiniz servislere ait snort imzalarını aktif edin. Snort ile birlikte 10.000 civarı saldırı imzası gelmektedir. Bunların hepsi açılırsa Snort ciddi performans kaybına uğrayacaktır ve daha da önemlisi Snort’un üreteceği alarmlar fazla olacağı için gerçek alarmları yakalayamayacaksınız.
* Mutlaka Snort’un lisanslı kural/imzalarını kullanın. Ek olarak Bleeding Snort kurallarını da inceleyerek itiyaç duyduklarınızı ekleyin.
* Snort’u SnortSam ya da inline özelliğiyle kullanın. False positivelerden kaçınmak için kendinize ait sunucuları beyaz listelere ekleyin.
* Default ayarlarıyla Snort’u en fazla 40-50 Mb trafikte kullanabilirsiniz. Bundan fazlasında paket kayıpları oluşmaya başlayacaktır. Performans için bir dünya ayar var bunları araştırın ya da Snort eğitimine katılıp gigabit ağlarda Snort’un nasıl kullanılacağını öğrenin.
* Intel ağ kartı tercih edin.
* Hattınız gigabit olmasa da gigabit ağ kartları tercih edin.
* Snort’u daha performanslı kullanmak için barnyard2 eklentisini kullanın.
* Mysql’e perfoprmans ayarları yapın
* Asimetrik trafik kullanıyorsanız Snort’un gelen–giden trafiği tamamen gördüğünden emin olun. Gerekirse gelen ve giden bağlantıları bridge yaparak Snort’a verin.
* Snort birden fazla CPU kullanamayacağı için tek bir CPU’yu Snort’un hizmetine verin. Gerekirse birden fazla Snort’u farklı işlemcilerde çalıştırarak manuel yük dağılımı gerçekleştirin.
* Klasik libpcap kullanmayın yerine daha performanslı eklentileri araştırın
* Kullanmadığınız protokollere ait preprocessorları kapatın.
* Son olarak Snort’u hem Firewall’un dışını hem de iç tarafını dinleyecek şekilde yapılandırın ve farklı ayarlarla kullanın.
* Snort inline olarak yerleştirilmişse fail open kit kullanın

Aslında burada yazılı olanlar sadece Snort için değil tüm IPS sistemleri için geçerlidir. Özellikle ticari IPS yazılımı kullanan güvenlik yöneticilerinin mutlaka Snort kurcalamalarını önerilmektedir, bunun temel sebebi ticari ürünler kapalı olduğu için IPS çalışma mantığının ürünler üzerinde tam anlaşılamamasıdır.

Snort’u kurcalayarak bir IDS/IPS nasıl çalışır, hangi durumlarda saldırı uyarısı verir, hangi paketleri normal, hangilerini anormal olarak tanımlar rahatlıkla öğrenilebilir.

The post Kurumsal İş Ortamlarında Snort Kullanımı first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/07/11/kurumsal-is-ortamlarinda-snort-kullanimi/feed/ 2
Snort IPS için bypass kiti http://blog.lifeoverip.net/2010/06/25/snort-ips-icin-bypass-kiti/ http://blog.lifeoverip.net/2010/06/25/snort-ips-icin-bypass-kiti/#respond Fri, 25 Jun 2010 19:29:52 +0000 http://blog.lifeoverip.net/?p=2443 Snort’u ticari ortamlarda inline modda kullanıyorsanız Snort makinesinin çeşitli durumlarda çalışmaması tüm sistemi etkileyecektir. Bunun için genellikle tercih edilen yöntem bypass kit kullanmaktır. Bypass kiti hem Snort çalıştıran makinenin elektrik durumunu hem de Snort’u kontrol ederek bir aksilik durumda paket … Continue reading

The post Snort IPS için bypass kiti first appeared on Complexity is the enemy of Security.

]]>
Snort’u ticari ortamlarda inline modda kullanıyorsanız Snort makinesinin çeşitli durumlarda çalışmaması tüm sistemi etkileyecektir. Bunun için genellikle tercih edilen yöntem bypass kit kullanmaktır. Bypass kiti hem Snort çalıştıran makinenin elektrik durumunu hem de Snort’u kontrol ederek bir aksilik durumda paket kaybı yaşatmadan trafiği normal olarak akıtmaya devam edecektir.

Bu konuda ben Netoptics cihazlarını tercih ediyorum. Kite http://www.netoptics.com/support/documents/BypassSolution.pdf adresinden bypass kitin çalışma mantığına ve özelliklerine erişebilirsiniz.

The post Snort IPS için bypass kiti first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/06/25/snort-ips-icin-bypass-kiti/feed/ 0
Snort IPS(Saldırı Engelleme Sistemi) Eğitimi 10-11 Temmuz 2010 http://blog.lifeoverip.net/2010/06/20/snort-ipssaldiri-engelleme-sistemi-egitimi-10-11-temmuz-2010/ http://blog.lifeoverip.net/2010/06/20/snort-ipssaldiri-engelleme-sistemi-egitimi-10-11-temmuz-2010/#respond Sun, 20 Jun 2010 17:14:07 +0000 http://blog.lifeoverip.net/?p=2424 Günümüz sınır güvenliğinin en önemli bileşeni Saldırı Engelleme Sistemleri hakkında uygulamalı bilgi sahibi olmak ve bu işi profesyonel olarak yapmak isteyenler için kaçırılmayacak eğitim fırsatı… Eğitim kontenjanımız 10 kişiyle sınırlıdır. Eğitim içeriği Snort Certified Professional (SnortCP) ile uyumludur. Snort IPS … Continue reading

The post Snort IPS(Saldırı Engelleme Sistemi) Eğitimi 10-11 Temmuz 2010 first appeared on Complexity is the enemy of Security.

]]>
Günümüz sınır güvenliğinin en önemli bileşeni Saldırı Engelleme Sistemleri hakkında uygulamalı bilgi sahibi olmak ve bu işi profesyonel olarak yapmak isteyenler için kaçırılmayacak eğitim fırsatı…

Eğitim kontenjanımız 10 kişiyle sınırlıdır.

Eğitim içeriği Snort Certified Professional (SnortCP) ile uyumludur.

Snort IPS eğitimi ileri seviye bir eğitim olduğu için katılımcıların orta seviye TCP/IP bilgisine sahip olmaları beklenmektedir. TCP/IP güvenliği konusunda yeterlililik durumunuzu görmek için aşağıdaki değerlendirme sınavlarını kullanabilirsiniz.

http://www.bga.com.tr/?p=1400

http://www.bga.com.tr/?p=1301

Eğitim içeriği hakkınde detay bilgi almak ve kayıt için http://www.bga.com.tr/?p=1459

The post Snort IPS(Saldırı Engelleme Sistemi) Eğitimi 10-11 Temmuz 2010 first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/06/20/snort-ipssaldiri-engelleme-sistemi-egitimi-10-11-temmuz-2010/feed/ 0
Saldırı Tespit Sisteminiz(Snort) Paket Kaçırıyor mu? http://blog.lifeoverip.net/2010/05/12/saldiri-tespit-sisteminizsnort-paket-kaciriyor-mu/ http://blog.lifeoverip.net/2010/05/12/saldiri-tespit-sisteminizsnort-paket-kaciriyor-mu/#respond Wed, 12 May 2010 17:24:25 +0000 http://blog.lifeoverip.net/?p=2770 Snort kullanılan ortamlarda en önemli parametrelerden biri Snort’un trafiğin ne kadarını işleyebildiğidir. Çeşitli sebeplerden dolayı Snort paket kaçırıyor olabilir. Paket kaçırma demek daha çok false positive, false negative demektir. Yani kısaca saldırı tespit sisteminin ne kadar işlevsel olduğu paket kaçırma … Continue reading

The post Saldırı Tespit Sisteminiz(Snort) Paket Kaçırıyor mu? first appeared on Complexity is the enemy of Security.

]]>
Snort kullanılan ortamlarda en önemli parametrelerden biri Snort’un trafiğin ne kadarını işleyebildiğidir. Çeşitli sebeplerden dolayı Snort paket kaçırıyor olabilir.

Paket kaçırma demek daha çok false positive, false negative demektir. Yani kısaca saldırı tespit sisteminin ne kadar işlevsel olduğu paket kaçırma oranıyla ters orantılıdır. Ne kadar az paket kaçırıyorsa o kadar sağlıklı çalışıyor demektir.

Snort kullanımında proses sonlandırıldıktan sonra ekrana ne kadar trafik yakaladığı, ne kadar trafiği düşürdüğü, trafiğin ne kadarı hangi protokolden oluşuyor gibi bilgileri ekrana basacaktır.

===============================================================================
Packet Wire Totals:
Received: 4944815
Analyzed: 4914581 (99.389%)
Dropped: 30180 (0.610%)
Outstanding: 54 (0.001%)
===============================================================================
Breakdown by protocol (includes rebuilt packets):
ETH: 4920496 (100.000%)
ETHdisc: 0 (0.000%)
VLAN: 0 (0.000%)
IPV6: 14 (0.000%)
IP6 EXT: 0 (0.000%)
IP6opts: 0 (0.000%)
IP6disc: 0 (0.000%)
IP4: 4919708 (99.984%)
IP4disc: 0 (0.000%)
TCP 6: 0 (0.000%)
UDP 6: 0 (0.000%)
ICMP6: 0 (0.000%)
ICMP-IP: 0 (0.000%)
TCP: 4764304 (96.826%)
UDP: 155176 (3.154%)
ICMP: 228 (0.005%)
TCPdisc: 0 (0.000%)
UDPdisc: 0 (0.000%)
ICMPdis: 0 (0.000%)
FRAG: 0 (0.000%)
FRAG 6: 0 (0.000%)
ARP: 178 (0.004%)
EAPOL: 0 (0.000%)
ETHLOOP: 0 (0.000%)
IPX: 0 (0.000%)
OTHER: 596 (0.012%)
DISCARD: 0 (0.000%)
InvChkSum: 9 (0.000%)
S5 G 1: 0 (0.000%)
S5 G 2: 5915 (0.120%)
Total: 4920496
=======================================

Kullanılan sistem FreeBSD ise netstat -B komutuyla da ne kadarlık paket kaybı olduğu gözlemlenebilir.

[root@S-Guard11 ~]# netstat -B
Pid Netif Flags Recv Drop Match Sblen Hblen Command
20000 em0 p–s— 8611 8505 8611 32762 32730 snort
41911 em0 p–s— 81404 0 81404 10692 0 ourmon

The post Saldırı Tespit Sisteminiz(Snort) Paket Kaçırıyor mu? first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/05/12/saldiri-tespit-sisteminizsnort-paket-kaciriyor-mu/feed/ 0
Hangi Snort Kuralı Ne İşe Yarar? http://blog.lifeoverip.net/2010/04/23/hangi-snort-kurali-ne-ise-yarar/ http://blog.lifeoverip.net/2010/04/23/hangi-snort-kurali-ne-ise-yarar/#respond Fri, 23 Apr 2010 17:23:33 +0000 http://blog.lifeoverip.net/?p=2768 Snort -Saldırı Tespit ve Engelleme Sistemi- kuralları/imzaları tekil numaralara sahiptir(SID). Bir kural/imzanın ne yaptığına , hangi sistemlere yönelik bir açıklığı engellediği, false positive oranı vs gibi bilgilere derli toplu erişmek pek kolay değil. Bu konuda Snort kullanıcılarına yardımcı olmak amacıyla … Continue reading

The post Hangi Snort Kuralı Ne İşe Yarar? first appeared on Complexity is the enemy of Security.

]]>
Snort -Saldırı Tespit ve Engelleme Sistemi- kuralları/imzaları tekil numaralara sahiptir(SID). Bir kural/imzanın ne yaptığına , hangi sistemlere yönelik bir açıklığı engellediği, false positive oranı vs gibi bilgilere derli toplu erişmek pek kolay değil.

Bu konuda Snort kullanıcılarına yardımcı olmak amacıyla geliştirilmiş snortid.com adresi kullanılabilir. Snortid.com adresine girilecek herhangi bir snort ID’sine karşılık o kuralla ilgili tüm bilgiler ekrana dökülecektir.

The post Hangi Snort Kuralı Ne İşe Yarar? first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/04/23/hangi-snort-kurali-ne-ise-yarar/feed/ 0
NSS Labs Hangi IPS Çözümünü öneriyor? http://blog.lifeoverip.net/2010/04/08/nss-labs-hangi-ips-cozumunu-oneriyor/ http://blog.lifeoverip.net/2010/04/08/nss-labs-hangi-ips-cozumunu-oneriyor/#respond Thu, 08 Apr 2010 08:02:48 +0000 http://blog.lifeoverip.net/?p=2200 Yaklaşık bir haftadır tüm hesaplarıma aşağıdaki gibi e-posta geliyor… Ben de bu soruyu alıp “Hangi IPS çözümü diğerinden farklıdır, neden” diye sormak isterim. Hatta daha ileriye gidip IPS çözğmleri gerçek koruma sağlar mı diye kışkırtıcı bir soru sorabilirim ama bu … Continue reading

The post NSS Labs Hangi IPS Çözümünü öneriyor? first appeared on Complexity is the enemy of Security.

]]>

Yaklaşık bir haftadır tüm hesaplarıma aşağıdaki gibi e-posta geliyor… Ben de bu soruyu alıp “Hangi IPS çözümü diğerinden farklıdır, neden” diye sormak isterim. Hatta daha ileriye gidip IPS çözğmleri gerçek koruma sağlar mı diye kışkırtıcı bir soru sorabilirim ama bu aşamaya henüz gelemedik:)

NSS Labs Hangi IPS Çözümünü öneriyor?

Sayın huzeyfe onal,

Tüm IPS üreticileri en iyi çözüme sahip olduklarını iddaa ederler, bu durumda hangisine güvebilirsiniz ?

Bu kafa karışılığını ortadan kaldırmak için NSS Labs gibi güvenilir bağımsız bir otoritenin görüşlerine başvurmanızı tavsiye ederiz. NSS Labs, dünyanın önde gelen bağımsız araştırma ve bilgi güvenliği test kuruluşudur. 2009 yılı son çeyreğinde, NSS Labs 7 IPS üreticisini 1,159 farklı atak tipi aracılığıyla zorlu bir teste tabi tutmuştur.

Hangi IPS konfigürasyonu tamamlandıktan sonra en yüksek bloklama oranlarına erişmiştir ?  Hangi IPS çözümleri kaçırma testlerini başarıyla tamamlamıştır ? Hangi IPS çözümleri RPC parçalama, URL gizleme ve FTP kaçırma gibi testlerden başarısız olmuştur ?

Bu soruların cevaplarını ve daha fazlasını, ücretsiz olarak ve NSS Labs tarafından hazırlanan Q4 2009 Ağ Sızma Engelleme Sistemi Test Yönetici Özeti içerisinde bulabilirsiniz.

Bu raporda  lider IPS çözümleri  NSS Labs değerlendirme kategorilerinde “Tavsiye edilir”, “Tarafsız” ve “Dikkat” olarak  yer alıyor.

NSS Labs yönetici özetinin bir kopyasını ücretsiz olarak edinmek için, kayıt olunuz.

Sourcefire

Bir iki dakikalığına  raporda ismi geçen Sourcefire’ı çıkarıp herhangi bir IPS ismi yazın bakalım birşey değişecek mi?

Değişmeyeceğini garanti edebilirim zira çok değil son beş yılı incelerseniz hemen tüm bilinen IPS firmaları(Mcafee, TippingPoint, IBM ISS Proventia) benzeri  e-posta göndermişlerdir.

Peki hangisine inanacağız? NSS gerçekten bağımsız bir kuruluş mu? Eğer bağımsızsa neden her sene IPS firmalarıyla ilgili şüphe uyandıracak biçimde değişik raporlar üretiyor? Ya da IPS ürünleri neden daha iyiye gitmiyor ve bazıları daha önceki performanslarını sağlayamıyor? IPS dediğimiz cihaz tam teknik detay içeren bir sistemdir, neden IPS’inizi kendiniz test emiyorsunuz?… Sorular uzar gider.

IPS satıcıları, NSS, Gartner gibi kurumlar kendilerini ön plana çıkarınca NSS/Gartner raporlarını ön plana çıkarır, raporlar kendilerini kötülüyorsa adını bile anmaz ve bu kurumların bağımsız olmadığını ileri sürer. Peki doğruyu nasıl bulacağız?

Aslında bir IPS’i test etmek zor degildir, NSS ya da benzeri kurumların yaptığı testleri biraz TCP/IP bilgisi  olan herkes kendi test ortamlarında gerçekleştirebilir. Hatta gerekiyorsa gidip NSS’in testleri nasıl gerçekleştiriyor, hangi opensource/ticari araçları, yöntemleri kullanıyor detaylıca öğrenip birebir aynı testleri gerçekleyebilirsiniz.

 IPS’i test edemeyecek birinin IPS yönetmesi zaten sıkıntılı bir durumdur, IPS’ler Firewall gibi değildir, detay teknik bilgi gerektirir.  Eğer teknik bilgisi yetersiz birisine IPS yönetimi verilmişse o IPS’i aşmak çok kolay olacaktır ki yakında yayınlayacağım “Türkiye’de IPS Kullanım Şekilleri” raporu bunu fazlasıyla ortaya çıkarıyor.

Bir iki firmadan almak istediğimiz güvenlik ürünlerini test etmek istiyoruz ama bu konuda yeterli kaynak yok serzenişi üzerine önce bu konuda bir eğitim içeriği hazırladım şimdilerde de eğitim içeriğini dolduruyorum. 

Eğitimin adı “Uygulamalı Firewall/IPS Testleri Eğitimi”.

İçeriği  temel olarak günümüz sınır güvenliğini oluşturan dört bileşenin detaylı testlerinde oluşuyor: Firewall, Web application Firewall, Network Intrusion Prevention System ve DDOS Prevention System

Amaç: güvenlik cihazlarının kullanıldığı ortamlarda   gerçek hayatta yapılan yanlışlıkları  örneklerle gösterme ve bilinen araçları kullanarak çeşitli testlere tabi tutma(performans, işlevsellik vs).

 İçeriği hazırlarken westCostLabs, NSS, IcsaLabs gibi dünyada bu konuda kabul gören(?) test firmalarının yöntemlerine paralel gittik fakat o testlerde olmayan, ya da test dökümanlarına yazılmamış ama gerçek hayatta tecrübe ettiğimiz konuları da ekledik. Bir aya kadar eğitim ciddi birkaç  firmada görücüye çıkacak(kendi çalıştığım firmalar). Sonrasında kurumsal olarak isteyenlere sunulacak. Tabi bir de işin gerçek cihazlarla çalışma yönü var, onun için de bilinen güvenlik üreticilerinin Türkiye’deki yetkilileriyle görüşmelere başlıyorum.

En ufak projede bilen 50-60k $ tutacak bu ürünleri almadan önce gerçek testlerden geçirmek isterseniz şimdiden bu eğitime yer ayırtmanızı öneririm. Eğitim sadece kurumsal şirketlere açık olacaktır. Detaylarını içerik tamamlanınca ayrı bir blog postu olarak buraya gireceğim.

The post NSS Labs Hangi IPS Çözümünü öneriyor? first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/04/08/nss-labs-hangi-ips-cozumunu-oneriyor/feed/ 0
SynCookie/SynProxy ile korunan sistemlere yönelik port tarama http://blog.lifeoverip.net/2010/02/16/syncookiesynproxy-ile-korunan-sistemlere-yonelik-port-tarama/ http://blog.lifeoverip.net/2010/02/16/syncookiesynproxy-ile-korunan-sistemlere-yonelik-port-tarama/#comments Tue, 16 Feb 2010 06:34:15 +0000 http://blog.lifeoverip.net/?p=2032 Synproxy/syncookie(farklı şekilde aynı işi yaparlar), günümüz IPS ve Firewall sistemlerinin Synflood DOS saldırıları için aldığı klasik önlemlerdendir. Synproxy/syncookie ile korunan bir system DOS saldırısı altında iken gelen spoof edilmiş SYN paketlerinden etkilenmez çünki önünde synflood koruması yapan bir system vardır. … Continue reading

The post SynCookie/SynProxy ile korunan sistemlere yönelik port tarama first appeared on Complexity is the enemy of Security.

]]>
Synproxy/syncookie(farklı şekilde aynı işi yaparlar), günümüz IPS ve Firewall sistemlerinin Synflood DOS saldırıları için aldığı klasik önlemlerdendir. Synproxy/syncookie ile korunan bir system DOS saldırısı altında iken gelen spoof edilmiş SYN paketlerinden etkilenmez çünki önünde synflood koruması yapan bir system vardır. Syncookie/synproxy için “SynFlood DDOS Saldırıları ve Korunma Yolları” yazısının okunması faydalı olacaktır.

Syncookie /Synproxy’nin Synflood  DOS engelleme haricinde başka faydaları da vardır. Bunlardan biri de TCP üzerinden yapılan port taramalarını zorlaştırmaktır. Eğer saldırgan TCP port tarama yapıyorsa sürpriz bir şekilde tüm portları açık olarak görecektir.
Syncookie/Synproxy gelen her SYN pakjetine karşılık SYN+ACK cevabı döner. Taradığı sistemden SYN+ACK cevabı geldiğini gören tarama program port açık der ve tekrar paket göndermez.
Synproxy/syncookie ile korunan sistemlere karşı port tarama

root@bt:~# hping –scan 80-100 www.example.com-S -V
using eth0, addr: 192.168.1.103, MTU: 1500
Scanning www.example.com(95.0.11.13), port 80-100
21 ports to scan, use -V to see all the replies
+—-+———–+———+—+—–+—–+
|port| serv name |  flags  |ttl| id  | win |
+—-+———–+———+—+—–+—–+
   80 www        : .S..A…  55 56928     0
   81            : .S..A…  55 57184     0
   82            : .S..A…  55 57440     0
   83            : .S..A…  55 57696     0
   84            : .S..A…  56 57952     0
   85            : .S..A…  56 58208     0
   86            : .S..A…  56 58464     0
   87 link       : .S..A…  56 58720     0
   88 kerberos   : .S..A…  56 58976     0
   89            : .S..A…  56 59232     0
   90            : .S..A…  56 59488     0
   91            : .S..A…  56 59744     0
   92            : .S..A…  55 60000     0
   93            : .S..A…  55 60256     0
   94            : .S..A…  55 60512     0
   95 supdup     : .S..A…  55 60768     0
   96            : .S..A…  55 61024     0
   97            : .S..A…  55 61280     0
   98 linuxconf  : .S..A…  55 61536     0
   99            : .S..A…  55 61792     0
  100            : .S..A…  56 62048     0
All replies received. Done.
Not responding ports: 

 

Aynı çıktıyı nmap ile tarama yaptığımızda da alırız

root@bt:~# nmap www.example.com-p80-100 –reason

Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-14 12:09 EST
Warning: Hostname www.example.comresolves to 5 IPs. Using 95.0.11.13.
PORT    STATE SERVICE      REASON
80/tcp  open  http         syn-ack
81/tcp  open  hosts2-ns    syn-ack
82/tcp  open  xfer         syn-ack
83/tcp  open  mit-ml-dev   syn-ack
84/tcp  open  ctf          syn-ack
85/tcp  open  mit-ml-dev   syn-ack
86/tcp  open  mfcobol      syn-ack
87/tcp  open  priv-term-l  syn-ack
88/tcp  open  kerberos-sec syn-ack
89/tcp  open  su-mit-tg    syn-ack
90/tcp  open  dnsix        syn-ack
91/tcp  open  mit-dov      syn-ack
92/tcp  open  npp          syn-ack
93/tcp  open  dcp          syn-ack
94/tcp  open  objcall      syn-ack
95/tcp  open  supdup       syn-ack
96/tcp  open  dixie        syn-ack
97/tcp  open  swift-rvf    syn-ack
98/tcp  open  linuxconf    syn-ack
99/tcp  open  metagram     syn-ack
100/tcp open  newacct      syn-ack

Nmap done: 1 IP address (1 host up) scanned in 0.24 seconds

 

Bu şekilde korunmuş sistemlere yönelik başarılı TCP taramaları gerçekleştirmek için 3’lü el sıkışmayı tamamlayan ve sonrasında ek paketler gönderen tarama tiplerini denemek gerekir.

 Mesela nmap ile birlikte gelen versiyon belirleme özelliği burada işimize yarayabilir. Zira versiyon belirleme özelliği sadece SYN paketi gönderip cevap olarak SYN+ACK gelmesiyle tarama işlemini sonuçlandırmaz, portu açık olarak belirledikten sonra(karşı taraftan gelecek SYN+ACK cevabı) o portta çalışan uygulamanın versiyonunu belirlemek için ek paketler gönderir ki bu ek paketler SYNCookie/SynProxy korumasını devre dışı bırakır(Syncookie/synproxy 3’lü el sıkışmayı tamamlayan paketler için devreden çıkar ve paketleri doğrudan koruduğu sistemlere iletir). Her ne kadar tarama süresi oldukça uzasa da açık portları sağlıklı bir şekilde keşfetmek için versiyon belirleme taraması yapmak gerekir.
root@bt:~# nmap www.example.com-PN -sV –top-ports 10

Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-14 12:52 EST
Interesting ports on 11.22.33.44(11.22.33.44):
PORT     STATE    SERVICE      VERSION
21/tcp   filtered ftp
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
80/tcp   open     http         Microsoft IIS webserver 7.0
110/tcp  filtered pop3
139/tcp  filtered netbios-ssn
443/tcp  filtered https
445/tcp  filtered microsoft-ds
3389/tcp filtered ms-term-serv
Service Info: OS: Windows

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.32 seconds

The post SynCookie/SynProxy ile korunan sistemlere yönelik port tarama first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/02/16/syncookiesynproxy-ile-korunan-sistemlere-yonelik-port-tarama/feed/ 7
Penetrasyon testlerinde IPS Keşfi http://blog.lifeoverip.net/2010/02/15/penetrasyon-testlerinde-ips-kesfi/ http://blog.lifeoverip.net/2010/02/15/penetrasyon-testlerinde-ips-kesfi/#comments Mon, 15 Feb 2010 10:06:40 +0000 http://blog.lifeoverip.net/?p=2029 Günümüzde çoğu firma gelebilecek siber saldırılara karşı Saldırı tespit ve engelleme (IPS) sistemleri kullanmaktadır. IPS’ler eğer iyi yapılandırılır ve logları takip edilirse birçok konuda şirketleri siber saldırılara karşı koruyacaktır. Fakat gerek IPS’lerin güvenlikciler tarafından sihirbaz cihaz olarak bilinmesi gerek IPS … Continue reading

The post Penetrasyon testlerinde IPS Keşfi first appeared on Complexity is the enemy of Security.

]]>
Günümüzde çoğu firma gelebilecek siber saldırılara karşı Saldırı tespit ve engelleme (IPS) sistemleri kullanmaktadır. IPS’ler eğer iyi yapılandırılır ve logları takip edilirse birçok konuda şirketleri siber saldırılara karşı koruyacaktır. Fakat gerek IPS’lerin güvenlikciler tarafından sihirbaz cihaz olarak bilinmesi gerek IPS firmalarının web uygulamalarına yönelik yapılan kompleks saldırılar karşısında yetersiz kalması sonucu günümüzde IPS kullanmak gerçek güvenlik açısından çok birşey ifade etmemektedir.

Yapılan güvenlik testlerinde(penetrasyon testleri) bu tip cihazlar konuya hakim bir güvenlikci/hacker  tarafından rahatlıkla bypass edilebilmektedir. (Çeşitli teknikler kullanarak IPS bypass etme konusunu  yakında çıkacak yazımda detaylı değineceğim)

Testler öncesi hedef sistemi koruyan bir IPS var mı yok mu(IPS’in aktif olup olmadığı, aktifse gelen saldırı paketlerine nasıl aksiyon aldığı) anlamak için basit denemeler yapmamız bizi sonuca götürecektir.

IPS Keşfi

IPS keşfi  için çeşitli yöntemler denenebilir fakat benim uzun süredir sık kullanılan IPS ürünlerinde test ettiğim ve çalıştığını onayladığım basit bir yöntem var: hedef sisteme IPS’I tetikleyecek  HTTP istekleri göndermek ve cevapları incelemek. Gönderilecek HTTP istekleri anahtar kelime olup IPS’i tetikleyecek HTTP istekleri seçilmelidir.

Hemen hemen tüm IPS’lerde directory/path  traversal  zaafiyetine karşı çeşitli imzalar yer almaktadır. Ya da URL de geçecek /etc/passwd, /bin/sh, cmd.exe gibi stringler IPS’in devreye girmesi ve aksiyon alması için yeterlidir.

Örnekler:

#telnet ip_adresi 80
GET ../../../etc/passwd HTTP/1.0

#telnet ip_adresi 80
GET ../../../bin/sh   HTTP/1.0

#telnet ip_adresi 80
GET ../../../../cmd.exe  HTTP/1.0

gibi.

Bu istekleri hedef sisteme gönderdiğimizde eğer bağlantı aniden kesiliyorsa (TCP RST) ya da hedef sisteme olan bağlantınız kesiliyorsa(hedefe gönderdiğiniz paketlere cevap dönmüyorsa) arada koruma modunda bir IPS(ya da benzeri işlevi yapan bir Firewall özelliği(Checkpoint SmartDefense gibi)) var demektir.

Eğer geriye cevap olarak RST paketi dönüyorsa IPS aktif olarak saldırıları RST paketiyle engelliyor demektir. Geriye cevap dönmüyr ve bağlantınız zaman aşımına uğruyosa IPS herhangi bir paket dönmeden sessiz olarak paketinizi düşürüyor demektir.

 IPS koruması olmayan bir sisteme bu tip HTTP istekleri gönderdiğimizde aşağıdakina benzer çıktı alırız.

# telnet www.snort.org 80
Trying 68.177.102.20…
Connected to www.snort.org.
Escape character is ‘^]’.
GET ../../../etc/passwd HTTP/1.0

HTTP/1.1 400 Bad Request
Date: Mon, 15 Feb 2010 09:53:42 GMT
Server: Apache
Content-Length: 289
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache Server at www.snort.org Port 80</address>
</body></html>
Connection closed by foreign host.

IPS koruması olduğunu düşündüğümüz bir siteye aynı isteği gönderip tcpdump ile paketleri izlersek nasıl bir aksiyon aldığını rahatlıka görebiliriz.

root@bt:~# telnet www.tippingpoint.com 80
Trying 66.179.208.38…
Connected to www.tippingpoint.com
Escape character is ‘^]’.
GET ../../../etc/passwd HTTP/1.0

Yapılan isteğe herhangi bir cevap dönmüyor, arada bir cihazın engellediğini düşünüyoruz ve tcpdump ile paketleri izliyoruz.

root@bt:~# tcpdump -i eth0 -ttnn host www.tippingpoint.com-X
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
1266164687.171707 IP 192.168.1.103.33743 > 66.179.208.38.80: S 2292162228:2292162228(0) win 5840 <mss 1460,sackOK,timestamp 5333259 0,nop,wscale 6>
1266164687.186012 IP 66.179.208.38.80 > 192.168.1.103.33743: S 2738042328:2738042328(0) ack
1266164687.186042 IP 192.168.1.103.33743 > 66.179.208.38.80: . ack 1 win 5840
1266164701.117674 IP 192.168.1.103.33743 > 66.179.208.38.80: P 1:35(34) ack 1 win 5840
1266164704.116954 IP 192.168.1.103.33743 > 66.179.208.38.80: P 1:35(34) ack 1 win 5840
        0x0000:  4510 004a ffc2 4000 4006 e3a3 c0a8 0167  E..J..@.@……g
        0x0010:  c21d d30a 83cf 0050 889f 9eb5 a333 35d9  …….P…..35.
        0x0020:  5018 16d0 54ae 0000 4745 5420 2e2e 2f2e  P…T…GET…/.
        0x0030:  2e2f 2e2e 2f65 7463 2f70 6173 7377 6420  ./../etc/passwd.
        0x0040:  4854 5450 2f31 2e30 0d0a                 HTTP/1.0..
1266164710.117343 IP 192.168.1.103.33743 > 66.179.208.38.80: P 1:35(34) ack 1 win 5840
        0x0000:  4510 004a ffc3 4000 4006 e3a2 c0a8 0167  E..J..@.@……g
        0x0010:  c21d d30a 83cf 0050 889f 9eb5 a333 35d9  …….P…..35.
        0x0020:  5018 16d0 54ae 0000 4745 5420 2e2e 2f2e  P…T…GET…/.
        0x0030:  2e2f 2e2e 2f65 7463 2f70 6173 7377 6420  ./../etc/passwd.
        0x0040:  4854 5450 2f31 2e30 0d0a                 HTTP/1.0..
1266164722.117149 IP 192.168.1.103.33743 > 66.179.208.38.80: P 1:35(34) ack 1 win 5840
        0x0000:  4510 004a ffc4 4000 4006 e3a1 c0a8 0167  E..J..@.@……g
        0x0010:  c21d d30a 83cf 0050 889f 9eb5 a333 35d9  …….P…..35.
        0x0020:  5018 16d0 54ae 0000 4745 5420 2e2e 2f2e  P…T…GET…/.
        0x0030:  2e2f 2e2e 2f65 7463 2f70 6173 7377 6420  ./../etc/passwd.
        0x0040:  4854 5450 2f31 2e30 0d0a                 HTTP/1.0..
Tcpdump çıktısından anlaşılacağı gibi hedef system gönderdiğimiz HTTP istekleri karşılık bulmuyor. Çünki aradaki IPS bu paketleri zararlı olarak işaretleyip  sessize blokluyor.

IPS’in RST paketiyle engelleme yaptığı durum

Bazı IPS’ler saldırıyı engellerken TCP RST paketi kullanır(aslında bu engelleme yöntemi ayarlanabilir bir seçenektir ve çoğu  IPS için sessiz blokla ya da TCP RST gönder denilebilir)

Yine önünde IPS olduğunu düşündüğümüz bir siteye yönelik HTTP isteğiimizi gönderelim.

root@bt:~# telnet www.checkpoint.com  80
Trying 216.200.241.66…
Connected to www.checkpoint.com.
Escape character is ‘^]’.
GET ../../../etc/passwd HTTP/1.0
Connection closed by foreign host.

Aldığımız “Connection closed by foreign host.”  Mesajı bize arada bir cihazın aktif olarak bağlantımızı blokladığını gösterir. Önermemizi doğrulamak için tcpdump çalıştırıp ekrana düşen paketleri incelersek hedef sistemden dönen RST paketi görülebilir.

# tcpdump -i eth0 -ttttnn host www.checkpoint.com
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
2010-02-14 11:37:26.306084 IP 192.168.1.103.52392 > 216.200.241.66.80: S 1303966254:1303966254(0) win 5840 <mss 1460,sackOK,timestamp 5560999 0,nop,wscale 6>

2010-02-14 11:37:29.303649 IP 192.168.1.103.52392 > 216.200.241.66.80: S 1303966254:1303966254(0) win 5840 <mss 1460,sackOK,timestamp 5561899 0,nop,wscale 6>

2010-02-14 11:37:29.559554 IP 216.200.241.66.80 > 192.168.1.103.52392: S 3390823897:3390823897(0) ack 1303966255 win 5792 <mss 1460,sackOK,timestamp 3163092484 5560999,nop,wscale 2>

2010-02-14 11:37:29.559597 IP 192.168.1.103.52392 > 216.200.241.66.80: . ack 1 win 92 <nop,nop,timestamp 5561975 3163092484>

2010-02-14 11:37:42.377165 IP 192.168.1.103.52392 > 216.200.241.66.80: P 1:35(34) ack 1 win 92 <nop,nop,timestamp 5565821 3163092484>

2010-02-14 11:37:42.632340 IP 216.200.241.66.80 > 192.168.1.103.52392: R 3390823898:3390823898(0) win 0
Son pakete bakılacak olursa bağlantımızı koparanın RST paketi olduğu görülecektir.

..

The post Penetrasyon testlerinde IPS Keşfi first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2010/02/15/penetrasyon-testlerinde-ips-kesfi/feed/ 4