<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-9"> <META NAME="GENERATOR" CONTENT="lfparser_2.43"> <META NAME="LFCATEGORY" CONTENT="SystemAdministration"> <link rel="icon" href="../../common/images/lf-16.png" type="image/png"> <TITLE>lf294, SystemAdministration: IDS- �zinsiz Giri� Sezimleme Sistemi, 2. B�l�m</TITLE> <style type="text/css"> <!-- td.top {font-family: Arial,Geneva,Verdana,Helvetica,sans-serif; font-size:12 } pre { font-family:monospace,Courier } pre.code { font-family:monospace,Courier;background-color:#aedbe8; } p.cl { color:#EE9500 } a.nodec { text-decoration:none } p.trans { font-size:8pt; text-align:right } p.clbox { width:50%; alignment:center; background-color:#FFD700; border-style:none; border-width:medium; border-color:#FFD700; padding:0.5cm; text-align:center } p.code { width:80%; alignment:center; background-color:#aedbe8; border-style:none; border-width:medium; border-color:#aedbe8; padding:0.1cm; text-align:left } p.foot { background-color:#AAAAAA; color:#FFFFFF; border-style:none; border-width:medium; border-color:#AAAAAA; padding:0.5cm ; margin-top:0.1cm; margin-right:1cm; margin-left:1cm; text-align:center } .mark { background-color:#e6e6ff } --> </style> </HEAD> <BODY bgcolor="#ffffff" text="#000000"> <!-- this is generated html code. NEVER use this file for your translation work. Instead get the file with the same article number and .meta.shtml in its name. Translate this meta file and then use lfparser program to generate the final article --> <!-- lfparser can be obtained from http://www.linuxfocus.org/~guido/dev/lfparser.html --> <!-- this is used by a number of tools: =LF=AUTHOR: Klaus M�ller =LF=CAT___: SystemAdministration =LF=TITLE_: IDS- �zinsiz Giri� Sezimleme Sistemi, 2. B�l�m =LF=NUMBER: 294 =LF=ANAME_: article294.shtml --> <!-- 2pdaIgnoreStart --> <!-- start navegation bar, style=2 --> <!-- top navegation bar --> <TABLE summary="topbar_1" cellspacing="0" cellpadding="0" border="0" align="center" width="90%"> <TR bgcolor="#2e2292"> <TD class="top"><TABLE summary="topbar_1_logo" cellspacing="0" cellpadding="0" border="0" width= "100%"> <TR><TD width="319"><IMG src="../../common/images/logolftop_319x45.gif" alt="[LinuxFocus-icon]" width="319" height="45" align="left" border="0"></TD> <TD class="top"> <TABLE summary="topbar_1_links" width="100%"> <TR align="right"> <TD class="top"> <A class="nodec" href="index.shtml"><FONT color= "#DDDDDD" size="2"><--</FONT></A> | <A class="nodec" href="../index.shtml"><FONT color= "#DDDDDD" size="2">Ana Sayfa</FONT></A> | <A class="nodec" href="../map.html"><FONT color= "#DDDDDD" size="2">Eri�imd�zeni</FONT></A> | <A class="nodec" href="../indice.html"><FONT color= "#DDDDDD" size="2">��indekiler</FONT></A> | <A class="nodec" href="../Search/index.shtml"><FONT color= "#DDDDDD" size="2">Arama</FONT></A> </TD> </TR> <TR align="right"> <TD class="top"> <HR width="100%" noshade size="1"> </TD> </TR> </TABLE> </TD> </TR> </TABLE> </TD> </TR> </TABLE> <!-- end top navegation bar --> <!-- blue bar --> <TABLE summary="topbar_2" cellspacing="0" cellpadding="0" border="0" align="center" width="90%"> <TR bgcolor="#00ffff"> <TD><IMG src="../../common/images/transpix.gif" width="1" height= "2" alt=""></TD> </TR> </TABLE> <!-- end blue bar --> <!-- bottom navegation bar --> <TABLE summary="topbar_3" cellspacing="0" cellpadding="0" border="0" align="center" width="94%"> <TR bgcolor="#000000"> <TD> <TABLE summary="topbar_3_links" cellspacing="0" cellpadding="1" border="0" width= "100%"> <TR align="center"> <TD WIDTH="20%"><A class="nodec" href="../News/index.html"><FONT color= "#FFFFFF">Duyumlar</FONT></A> </TD> <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD> <TD WIDTH="20%"><A class="nodec" href="../Archives/"><FONT color= "#FFFFFF">Belgelikler</FONT></A> </TD> <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD> <TD WIDTH="20%"><A class="nodec" href="../Links/index.html"><FONT color= "#FFFFFF">Ba�lant�lar</FONT></A> </TD> <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD> <TD WIDTH="20%"><A class="nodec" href="../aboutus.html"><FONT color= "#FFFFFF">LF Nedir</FONT></A> </TD> </TR> </TABLE> </TD> </TR> </TABLE> <!-- end bottom navegation bar --> <!-- stop navegation bar --> <!-- SSI_INFO --> <!-- tr_staticssi include virtual --> <!-- tr_staticssi exec cmd --> <!-- addedByLfdynahead ver 1.5 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Bu makalenin farkl� dillerde bulundu�u adresler: <A href="../../English/July2003/article294.shtml">English</a> <A href="../../Deutsch/July2003/article294.shtml">Deutsch</a> <A href="../../Francais/July2003/article294.shtml">Francais</a> <A href="../../Nederlands/July2003/article294.shtml">Nederlands</a> <A href="../../Turkce/July2003/article294.shtml">Turkce</a> </FONT></TD></TR></TABLE><br> <!-- SSI_INFO STOP --> <!-- 2pdaIgnoreStop --> <!-- SHORT BIO ABOUT THE AUTHOR --> <TABLE ALIGN=LEFT BORDER=0 WIDTH="190" summary="about the author"> <TR> <TD> <img src="../../common/images/KlausMueller.png" alt="[Photo of the Author]" width="159" height="126"> <BR> Klaus M�ller <br> <small><Socma(at)gmx.net></small> <BR><BR> <I>Yazar hakk�nda:</I><BR> <!-- aboutauthor_start --> Klaus M�ller a.k.a. 'Socma' Linux programlama ve g�venli�i konular� ile u�ra�an bir ��rencidir. <!-- aboutauthor_stop --> <!-- TRANSLATED TO tr --> <BR><BR><I>T�rk�e'ye �eviri:</I><BR> Muzaffer AYVAZ <small><ayvazm(at)be.itu.edu.tr></small> <br> <!-- =LF=TRANSTO=tr: Muzaffer AYVAZ --> <!-- TRANSLATED TO STOP --> <BR><i>��erik</i>: <UL> <LI><A HREF="#294lfindex0">��z�mleme Olas�l�klar�</A></LI> <LI><A HREF="#294lfindex1">�mzalar</A></LI> <LI><A HREF="#294lfindex2">Kavram</A></LI> <LI><A HREF="#294lfindex3">Zaaflar</A></LI> <LI><A HREF="#294lfindex4">Yan�tlar</A></LI> <LI><A HREF="#294lfindex5">Aktif Yan�t</A></LI> <LI><A HREF="#294lfindex6">Pasif Yan�t</A></LI> <LI><A HREF="#294lfindex7">Filtre</A></LI> <LI><A HREF="#294lfindex8">Standartlar</A></LI> <LI><A HREF="#294lfindex9">CVE</A></LI> <LI><A HREF="#294lfindex10">Ornekler</A></LI> <LI><A HREF="#294lfindex11">Snort</A></LI> <LI><A HREF="#294lfindex12">LIDS</A></LI> <LI><A HREF="#294lfindex13">COLOID</A></LI> <LI><A HREF="#294lfindex14">Kapan�� Kelimeleri</A></LI> <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=294">Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz</A></LI> </UL> </TD></TR></TABLE> <!-- HEAD OF THE ARTICLE --> <br> <table border="0"><tr><td> <H2>IDS- �zinsiz Giri� Sezimleme Sistemi, 2. B�l�m</H2> <img src="../../common/images/illustration292.jpg" alt="[Illustration]" hspace="10" width="250" height="183"> <!-- ABSTRACT OF THE ARTICLE --> <P><i>�zet</i>: <P> <!-- articleabstract_start --> <A href="../May2003/article292.shtml">1. B�l�m</A> IDS �zerine olan tipik sald�r�lara odaklan�r. 2. B�l�m ise, bunlar�n ke�if ve yan�t y�ntemlerine giri� yapar ve imzalar ve filtrelerin bunlar aras�nda uygulamas�na anlat�r. Sonunda da Snort LIDS'e giri� yapaca��z. <!-- articleabstract_stop --> <br><!-- HR divider --><center><font color="#8282e0"><b>_________________ _________________ _________________</b></font></center><br> </td></tr></table> <!-- BODY OF THE ARTICLE --> <A NAME="294lfindex0"> </A> <H2>��z�mleme Olas�l�klar�</H2> �ncelikli olarak IDS'leri ve var olan bir�ok sistemi korumak i�in ayr�nt�l� bir �ekilde sald�r�lar �zerine haz�rlnad�k. Daha sonra ��z�mleme y�ntemlerini ve bir IDS'in bir sald�r� olup olmad���n�, nas�l tan�mlad���n�, asl�nda bir sald�r�n�n ba�ar�l� olup olmad���n�n nas�l tan�mlad���n� inceledik.<BR> <BR> Asl�nda, yanl�� kullan�m sezimleme (Misuse Detection) ile Anormallik Denetleme(Anomaly Detection)'i birbirinden ay�r�yoruz. Misuse Detection sald�r�lar� meydana ��karmak i�in �zel tan�ml� �r�nt�lerden faydalan�r. Bu �r�nt�ler "imzalar"(signatures) olarak adland�r�l�rlar, bunlar kendilerine ayr�lan b�l�mde ele al�nacaklar. �imdilik a� trafi�ini kesin dizgeler(�r./etc/passwd) ara�t�ran "imzalar"'�, �zel dosyalara giri� izinlerini reddedi�ini ve bir uyar� mesaj� g�nderdi�ini bilmemiz gerekir. Misuse Detection'�n avantaj�, imza kriterleri iyi bir �ekilde tan�mlanabildi�i takdirde yanl�� uyar�lar�n d���k olma olas�l���d�r.Dezavantajlar� ki olduk�a a��k, s�k s�k yeni sald�r�lar�n ka��r�laca��d�r, ��nk� bunlar tan�mlanmam��t�r. ( "imzalar" b�l�m�ne bak�n�z). <BR> <BR> Di�er metod Anomaly Detection' d�r. Bu basitce kullan�c�lar�n normal hareketlerinin profillerinin geli�tirilmesi anlam�na gelir. E�er kullan�c�n�n davran��� profilinden �ok fazla farkl�la��rsa bir uyar� tetiklenir. Bu ��z�mlemenin ilk ad�m� normal kullan�c� davran�� profillerinin(veri taban�) olu�turulmas�d�r. De�i�ik t�rde ad�mlar kaydedilebilir: Kullan�c� �zel komutlar� hangi s�kl�kta �al��t�r�yor? Bu �zel komutlr� ne zaman �al��t�r�yor? �zel dosyalar� hangi s�kl�kta a��yor? .... K���k bir �rnek: - kullan�c� "Example" , <I>/bin/su</I> komutunu g�nde �� kere �al��t�r�yor. ( Bu de�er profilde olamal�). Ans�z�n - birg�n - kullan�c� "Example" ,<I> su</I> komutunu g�nde yedi kere �al��t�r�yor, normal davran���n iki kat�ndan daha fazla. Anomaly Detection bu "onormal" davran��� sezer ve sistem y�neticisini kullan�c� "Beispiel's"'�n normal davran���n� su komutunu �� kez �al��t�rmak oldu�u ancak yedi kez �al��t�rd��� hakk�nda uyar�r. Bu y�ntemin dezavantajlar�, uygalamaya ba�lad���mda, daha anla��l�r hale geldi ( sondaki �rne�e bak�n�z - COLOID). Kullan�c� davaran��lar� i�in bir veritaban� y�klemek olduk�a hesaplama yo�unlukludur. �rne�in, on �zel dosyay� kullan�c�n�n ne s�kl�kta a�t���n� g�zleyelim. Her <I>open()</I> komutu, a��lan dosyan�n on �zel dosayadan biri olup olamad���n� anlamak i�in kontrol edilmeli ve sonu� pozitif ise, var olan saya� artt�r�l�mal�. Yinede, "anormal" gibi g�r�nd�kleri m�dedetce yeni ��kan sald�r� tekniklerini ortaya ��karmak i�in, bu b�y�k bir f�rsat. Ayr�ca, sistem y�neticisinin kendiside ne kadarl�k bir farkl�l���n "anormal" tan�mlanaca��n� belirleyebilir, �r. 10% sapma yada 75%.... Bu y�ntemden faydalanmak i�in kullan�c� profillerini "g�venli bir a�da" olu�turmaya dikkat etmeliyiz, aksi takdirde sald�rgan�n(attacker) davaran��� "normal" san�l�rken,yasaya uyan kullan�c�n�n iletisi "anormal" san�labilir. Genel olarak Anomaly Detection a�a��daki prosed�rleri i�erir: <BR> <UL> <LI>Threshold Detection = Burada sayaclardan faydalan�l�r, Bunlar bir�ey ne s�kl�kta �al��t�r�l�yor,a��l�yor,ba�at�l�yor hesaplarlar... Bu dura�an ��z�mleme zenginle�tirilebilir. B�ylece Heuristic Threshold Detection diye adland�r�labilir. <LI>Rule-Based Detection = tan�ml� kurallara dayan�r, kullan�c� kurallardan ayr�ld���nda bir uyar� mesaj� tetiklenir. <LI>Static Measure = Kullan�c�n�n davran��� ya �nceden tan�ml� ya da ba�ka bir �ekilde bulunabilecek imzalara uyar. �mzalar�n tan�m� i�in normal kulan�c� davran��lar�n� kaydeden bir program s�kl�kla bulundurulur. </LI> </UL> Heuristic Threshold Detection bu ko�ulda sayac�n ( Ne s�kl�kta ne �al��t�rabilir) sabit bir ba�lang�� de�eri yoktur ancak de�i�ken bir de�eri vard�r. Bir kullan�c� normal olarak <I>/bin/login</I> komutunu 4 kez �al��t�r�sa sayaca 5 atanabilir.... <BR> Protocol Anomaly Detection, Anomaly Detection'�n bir alt grubudur. Bu nispeten yeni bir tekniktir,Anomaly Detection'a benzer bir �ekilde �al���r. Her protokol�n bir �n tan�ml� imzas� vard�r.(RFC'e bak�n�z).Protocol Anomaly Detection'�n amac� protokol davran���n�n daha �nceden tan�mland��� gibi olup olmad���n� bulmakt�r. �o�u sald�r�lar yanl�� protokol kullan�m�na dayan�r ve �una inan�labilir ki, bu alt prub IDS ler i�in olduk�a �nemlidir. Tarama (scanning) b�l�m�ne bakt���m�zda Protocol Anomaly Detection'a baz� g�stergeler bulabiliriz. <BR> <UL> <LI>Check if no flag is set (NULL scan) <LI>Check if all flags are set(XMas scan) <LI>Check if "nonsense" combinations of flags are set, like SF <LI>....... </LI> </UL> �lgili RFC'lerde do�ru spesifikleri bulaca��z, ayn� zamanda ne t�r davaran��lar olmamal�?,yan�t. Hangi t�r davaran��lar �zel bi olaya kar�� yan�tlarda bulunmal�? Buna ek olarak Application Anomaly Detection ( yakla��k Application Based IDS bigi �al���r) var. Baz� literat�rlerde bu �apta g�stergeler buldum, bu y�zden inceledim. Tabii ki,bir program "normal" davran�r, �r. Olay X'e..yada Y'ye nas�l kar��l�k verdi yada e�er kullan�c�n�n giri�i yanl��sa. S�k var olan ikililer(binaries) (�r. ps, netstat, v.b. ) kullan�c� giri�iyle yer de�i�tirilirler,<I>ps</I> olmas� ko�ulunda �zel prosesleri saklamk i�in. Application Anomaly Detection'la, bir program�n anormal davran���n� ��z�mlemek olas�d�r.IDSs'den yaralanan baz� uygulmalar bu �ekilde �al���r, ancak benim �ok az bir deneyimim var. <BR> <BR> sonu� olarak bir ba�ka yeni ID-Sistem metodu: Intrusion Prevention(�zinsiz Giri� Korumas�). Baz� yeni ID-Sistemlerine uyguland�, bu metod di�er tan�mlanan metodlardan farkl�l�k g�steriyor. Trafi�in <I>logfiles</I>lar�n� analiz etmek yerine, sald�r� olduktan sonra ortaya ��kar�r, ataklardan korumaya u�ra��r. <BR><BR>Klasik IDSs'lerin tersine, sald�r�lar� ��z�mlemek i�in hi�bir imza kullan�lmaz.A�a��daki IPSs'lerin nas�l �al��t���n�n k�sa bir a��klamas�d�r, bunlar�n fonsiyonalli�i bu �rneklerle daha a��k olacak: <BR> <BR> <UL> <LI>Monitor application behavior <LI>Create application rules <LI>Alert on violations <LI>Correlate with other events <LI>System Call Interception <LI>...... </LI> </UL> <BR> <BR> 'Monitor application behavior', Application-Based-IDSs'lerle ilgilidir, i.e.bir uygulaman�n davran��� analiz edilir ve kaydedilir, �r. Hangi data normal olarak soruluyor , hangi programlarla birlikte �al��yor, hangi kaynaklar� gerektirir.Anomaly Detection gibi, bir program�n normal olarak nas�l �al��t���n� bulmaya �al���r,yan�t. Ne yap�lmas�na izin verildi? <BR> <BR> ���nc� konu ('Alert on violations') herhangi bir a��klama gerektirmemeli , sadece bir sapma oldu�u zaman ( bir sald�r� sezildi�inde) bir uyar� tetiklenir. Bunun sonucu bir "log entry" ya da bloklanm�� kaynaklar olabilir. <BR> <BR> �kinci ad�mla beraber ('Create application rules') b�yle adland�r�lan uygulama kurallar� b�l�m I ( 'Monitor application')'deki analizlere uygun olarak bulunur. Bu kural seti ne uygulmas�na izin verildi�i (ne kaynaklar� isteyebilece�i) ve neyin uygulanmas�na izin verilmedi�i hakk�nda bilgi �retir. <BR> <BR> 'Correlate with other events' beraber �al��an sens�rlerin bilgi payla��m� anlam�na gelir, Bu daha iyi bir sald�r� korumas�(attack preventation) �retir. <BR> <PRE class=code> Application | V Action | V --------------------- | Realtime decision | --------------------- / \ Deny Allow / \ Alert execute Action </PRE> <BR> <BR> Bu basitle�tirilmi� diagram prosesi biraz daha iyi a��klayabilir. Bir aktiviteden �nce 'realtime decision'(ger�ek zamanl� karar verme)�al��t�r�l�r. (Aktivite kural setiyle kar��la�t�r�l�r.) E�er aktivite yasaya uygun de�ilse (�r.Program , sistem datas�na ula�mas�na izin verilmemesine ra�men bile data ister ya da onlar� de�i�tirmek ister) bir uyar� ba�lat�l�r. �o�u �artlarda,di�er sens�rler( ya da merkezi konsol) bilgilendirilir. Bu a�daki di�er bilgisayarlar� �zel dosyalar�n a��lmas�ndan/�al��t�r�lmas�ndan korur. E�er aktivite kurallar setine uyarsa , izin kabul edilir ve sonunda proses ger�ekle�tirilir. <BR> <BR> Listemizdeki son konu: 'System call interception'. Geli�tirilmi� "system call" lar ("rootkits" diye adland�r�l�r) s�k s�k sezilirler."system call" lar�n durdurulmas�na yakla��m olduk�a basittir: Bir "system call" kabul edilmeden �nce,kontrol edilir. Kontrol etmek a�a��daki sorular�n sorulmas� anlam�na gelir.( [5]'e bak�n�z): <BR> <BR> <UL> <LI>"system call" � kim yay�mlad� (Hangi program) ? <LI>Proses hangi kullan�c�n�n kontrol� alt�nda �al���yor (root...) ? <LI>"system call" neye ula�amaya �al���yor? </LI> </UL> <BR> <BR> Bu �nemli config/sistem dosyalar�nda ki ba�ar�l� de�i�ikliklerin g�zlenmesini sa�lar,izin verir, "sistem call" un �n tan�ml� kural setine uygun olup olmad���n� denetlemek zorunday�z. <BR> <BR> <PRE class=code> Program | V System call | V System call Interception / \ Deny Allow | | do not call Kernel System call </PRE> <BR> <BR> Intrusion Prevention di�er metodlarla k�yaslayacak olursak nispeten yeni, ve bu konuyla ilgili daha fazla bilgi bulunabilecek. <BR> <BR> Sonu� olarak OKENA' ya bir ima yapacak olursak,�ok g��l� bir IPS. www.okena.com'un "white paper" Storm Watch hakk�nda ek bilgi bulabilirsiniz.Storm Watch'un eksiklerini bulmak i�in [6]. b�l�m� okuyun <BR> <BR> <A NAME="294lfindex1"> </A> <H2>�mzalar</H2> <BR> <BR> �imdi IDSs �zerinde imza kullan�m� hakk�nda konu�aca��z, ikinci b�l�m bunlar�n zay�fl�klar�ndan olu�acak. <BR> <BR> <A NAME="294lfindex2"> </A> <H3>Kavram</H3> �mzalar�n yard�m�yla bilinen ataklar tan�nabilir, bir imza veri tarfi�inde kesin bir �r�nt� arar. Bu �r�nt� bir �ok �ey olabilir, dizgiler, g�ze �arpan header(ba�l�klar) (de�i�ik flag kombinasyonlar�yla), trojan'lar taraf�ndan kullan�ld��� bilinen portlar. �o�u sald�r�lar�n kesin karakteristikleri vard�r, �r. �zel flaglar kurulu ya da payload(ta��nan veri) i�indeki par�al� dizgiler. �mzalar sayesinde bu karakterlerden bir sald�r� bulunabilir. <BR> <BR> "Payload Signatures" diye adland�r�lanlardan ba�lamak istiyorum. Bu paket payload'un bir b�l�m�d�r.: <BR> <PRE class=code>00 00 00 00 E9 FE FE FF FF E8 E9 FF FF FF E8 4F ............... 0 FE FF FF 2F 62 69 6E 2F 73 68 00 2D 63 00 FF FF .../bin/sh.-c... </PRE> <BR> <BR> Daha sonra SNORT kurallar�n�n tan�mlanmas�nda g�rece�imiz gibi yap�lacak baz� se�enekler var. S�k�a payload'�n i�eri�i �zel sipesifik dizgeler i�in ara�t�r�l�r. (in Snort with 'content' or 'content-list'). Birinin bir password dosyas�na ula�mak istedi�ini varsayal�m (�r.<I> /etc/passwd</I>) Payload (<I>/etc/passwd</I>)' i�in ara�t�r�labilir, e�er dizge saya� �l��m�n� i�eren paket ba�lat�labilmi�se,�rne�in: <BR> <BR> <PRE class=code> alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 \ (msg:"WEB-MISC/etc/passwd";flags: A+; content:"/etc/passwd"; \ nocase;classtype:attempted-recon; sid:1122; rev:1;) </PRE> <BR> <BR> Bir ba�ka olas�l�k bir �zel, spipesifik bir dizge i�ermeyen paketlerin sezilmesidir. <BR> <BR> Olas� bir arabellek ta�mas�ndan korunmaya bir ba�ka yakla��m, �zel portlardaki paket b�y�kl���n�n kontrol edilmesidir . Genel olarak kaynak portu ve hedef portu tan�mlamak m�mk�nd�r, sipesifik portlardan veya sipesifik portlara olan istekler engellenebilir. Genel olarak dizgi imzalar payload imzalard�r. Payload imzalar bir paketin payload�n� kontrol ederler, �r. Payload�n dizgi imzas� sipesifik dizgi i�in ara�t�r�l�r. . <BR> �mzalardan ba�ka ne sezilebilir? Payloadlar� sipesifik dizgiler i�in kontrol etmek her zaman en iyisi de�ildir.�mzalara TCP ba�l�klar�n�n flag kombinasyonlar�n� ara�t�rmas�n� sa�lamak bir ba�ka olas�l�kt�r.E�er bir pakette SYN ve FIN kurulmu�sa, bu onormal olarak g�r�l�r. Sald�rgan(attakcer) i�letim sisteminin �zelliklerini bulmak i�in kullanabilir(ya da i�letim sisteminin kendisini). Ba�lang��ta de�indi�imiz gibi, tojanlar taraf�ndan tercih edilen baz� �zel portlar var. B�yle portlara �rnek 31337 ya da 27374't�r. <BR> <BR> Prosesi bir �rnekle a��klarsam, belki daha anla��l�r olacak. Synscan sald�r�lar�n�n tipik ortaya ��kar�c�lar�na bir bakal�m : <BR> <BR> <UL> <LI>different source IPs <LI>TCP Src and Dest Port is 21 <LI>Type of service 0 <LI>IP id 39426 <LI>SF set (SYN and FIN) <LI>different sequence numbers set <LI>different acknowledgment numbers set <LI>TCP Window size of 1028 </LI> </UL> <BR> <BR> Bu gibi �artlarda imzalar�n fonksiyonu "normal" ve "anormal" ba�lant� �zelliklerinin ayr�lmas� olabilir. Baz� IDSs'ler bilgilerle birlikte �zel veri taban� tutarlar , yukar�da g�sterildi�i gibi, e�lemeler i�in ara�t�racaklar. <BR> Pirensip olarak, anormallikler imza kontrol� yard�m�yla synscanlerde sezilebilir: <BR> <UL> <LI>Kaynak ve hedef portlar 21 dir. (File Transfer Protocol - ftp) . <LI>Ayn� kaynak ve hedef port numaras� �aresizce bir sald�r�n�n yak�n oldu�unu g�stermek sadece bir olas�l�k vard�r. <LI>SF atanmas�, yukar�da de�inildi�i gibi, birisi bir ba�lant� isteyip ayn� zamanda sonland�rmad�k�a ger�ekle�mez <LI>Sadece SF atanm��sa ve ACK atanmam�� olsa bile, al�nd� numaras� s�f�ra e�it de�ildir. E�er ACK atanmam��sa al�nd� numaras� 0 olmal�. <LI>Bu numara sabit kalmasa bile, IP ID daima 39426'd�r, (RFC'e g�re ), fakat bu ka��n�lmaz bir �ekilde synscan attack oldu�unu g�termez- ayn�s� sabit pencere b�y�kl���ne uygular.(consatant window size)... </LI> </UL> <BR> <BR> Synscan attacklar�n sezilmesi i�in kullan�lan imzalar�n geli�imi yukar�da de�inilen kriterlerden daha �ok g�z �n�ne al�nmas� gerekir. �mzalara�n amac� Var olanlar oldu�u gibi yeni versiyon sald�r�lar�nda sezilmesidir. Bu sebeble sald�r� seziminin olas�l���n� y�kseltmek i�in genel ve �zel karakteristikler kombine edilir. Bir sald�r�n�n her yeni versiyonu i�in yeni bir imza yazmak m�mk�n olsa bile, bu bizi daha �nemli i�ler yapmaktan al� koyup me��ul edecektir. Bu y�zden imzalara dikkat etmeleyiz ki bu imzalar m�mk�n oldu�u kadar �ok sald�r�y� (ve onlar�n versiyonlar�n�) yeni imzalar d�zenlemeye gerek duymadan sezebilsin. <BR> <BR> �mzalar �zel sald�r�lar� sezmek i�in yaz�lmal�, fakat onormallikleri bulmak i�in genel imzalara ihtiya� vard�r. �zel ataklar�n sezilmesi i�in �rnek bir imza a�a��da g�sterilmi�tir. ( synscan attack ). Daha genel bir imza,�rne�in, a�a��daki kriterleri kontrol eden bir imza olabilir: <BR> <BR> <UL> <LI>ACK atanmam�� olsa bile al�nd� numaras� 0'a e�it de�ildir. <LI>TCP ba�l�klar�ndaki anormal flag kombinasyonlar� (SYN ve FIN) ya da ba�kalar� ("scan"'lerin tan�mlar�na bak�n�z) <LI>.... </LI> </UL> <BR> <BR> Protokoldeki anormallikleri bulan imzalar "Protocol analysis based signatures" diye adland�r�l�rlar, di�er grup "Packet Grepping" diye bilinir. <A NAME="294lfindex3"> </A> <H3>Zaaflar</H3> <BR> Payload imzalar metodu (dizgi imzalar� i�eren) olduk�a g�venilir g�r�nse bile,bunlar�n da hilesini bulmak i�in yollar var. Snort kurallar�yla nas�l �al���laca�� hakk�nda yakla��k bir sayfa yazaca��m, burada faydal� olmak i�in kendimi s�n�rl�yorum. "<I>/etc/passwd</I>"'i ara�t�ran bir imza nocase 'le birlikte hesaba kat�lmaz,bunlara ald�r�lmaz. Her ne kadar, biz <I>/etc/passwd</I>'e do�rudan de�ilde dolayl� olarak yakla��rsak, �rne�in,sald�rgan(attacker) '<I> /etc/blablabla/.../.../\passwd</I> ' kullan�rsa �mza hala bir uyr� vereck mi? Hay�r, ��nk� o <I>/etc/passwd</I>'� ar�yor. (ve di�er capitilized/non-capitalized versiyonlar�). Bu imzalar�n di�er bir limiti �ok bilinen sald�r�lar�n sezimlenmesi ve bilinen "vulnerability(�rselenebilirlikleri)" leri aramas�d�r. Belirli attacklar�n yeni versiyonlar� s�kl�kla bulunmad�, ke�fedilmedi.... Di�er imzalar - sipesifik attacklara �zelle�tirilmi� olanlar - ya da genelle�tirilmi� imzalar yeni sald�r�lar� ke�fetme avantaj�na sahiptir. Her ne kadar, �mza kurallar�n�n olu�turulmas�nda �ok dikkatli olunmas� gereksede . Sipesifik attacklara �zelle�mi� bir imza az geli�mi� bir varyasyonu bulamayacakt�r. ( sabit bir IP ID de�eri(39426) yerine yeni sald�r�n�n de�i�ken bir de�eri vard�r...). Genel imzalar� haritalarken (protocol analysis based signatures) kurallar�n global olarak tan�mland���ndan emin olmal�y�z, Bu olamayan ya da olmayan anormalliklerin onlar tafar�ndan i�aret edilebilmesi anlam�na gelir. <BR> <BR> Di�er a��klar Unicode attack s�navlar�nda g�r�l�r. ([4]'e bak�n�z). Burada Unicode attack taraf�ndan ger�ekle�trilen MS IIS deki bir g�venlik a����n� g�r�yorsunuz. <BR> <BR> "�zet: <BR> Microsoft Internet Information Server (IIS)' da uzak kullan�c�lar�n dizin i�eriklerini listelemelerine, dosyalar� g�r�nt�lemelerine, dosyalar� silmelerine, keyfi komutlar�n� �al��t�rmalar�na izin veren bir noksanl�k vard�r. Attacker'lar Unicode karakter setini kullanarak ve IIS den yararlanarak normal olarak ula�al�maz kayanaklara URL'ler vas�tas�yla ula�abilirler. IIS'in �imdiki b�t�n versiyonlar� bu �rselenebilirlikten etkilenir. Bu �rselenebilirli�in i�letmesi sa�mad�r. ISS X-Force yayg�n olan bu �rselenbilirli�in i�letmesinden haberdard�r." <BR> <BR> IDSs'ler i�in ger�ekte var olan bir problem UTF-8 karekterlerinin ayn� sonucu veren bir�ok kodu vard�r, e.g. "A" : U+0041, U+0100, <BR> <BR> U+0102, U+0104, U+01CD, U+01DE, U+8721. MS IIS ko�ul ba��ms�z olunca, yine bir�ok karalter g�r�nt�lemek i�in bir�ok olas�l�k var. (�rne�in AEIOU 'u g�r�nt�lemek i�in 83.060.640 farkl� olas�l�k var). <BR> <BR> E�er bir attacker �rne�in "http://victim/../../winnt/system32/cmd.exe"'� �a��r�rsa IIS bir hata verir. Her ne kadar , "../.." yerine UTF-8 e�iti yaz�l�rsa hi�bir hata vermez: "http://victim/..%C1%9C../winnt/system32/cmd.exe". Zaten , UN-escape UTF-8 diye adland�r�lan kodlar bizim ula�mam�z gereken sayfalar� a�mam�z� m�mk�n k�lar. Olay uygulama tabakas�nda yer ald���ndan,bir NIDS '�n attacklar� sezmesinde zorluklar vard�r - ��yle bir ko�ulda HIDS'�n uygulanmas� daha uygundur. �ifreleme genel olarak sens�rler i�in bir problemdir. - Bu arada bu ger�ek s�k s�k istismar edilir. Baz� "IDS-producers"'lerinin raporlar� imzalar�n limitlerini a��k�a g�stermektedir, faydal� imzalar baz� bilinen Unicode-attacklar� sezdiler, ancak sald�r�lar�n k���k modifikasyonlardan sonra imzalar yeniden kullan��s�z hale geldiler. Sadece NetworkICE ba�ar�l� bir �ekilde bu tip attacklar� sezen imzalar ke�fetti. (Snort ISS Real Secure sadece bilinen Unicode attack'lar� sezen imzalar ke�fettiler). <BR> <BR> <A NAME="294lfindex4"> </A> <H2>Yan�tlar</H2> <BR> �nceden a��kland��� gibi, IDSs PC ve a�daki aktivitekleri analiz eder. - fakat bir kar��l�k vermeden veya bir uyar� yapmadan IDS nas�l faydal� olur? IDS de�ersiz olur, makine performans�n�n bo� yere harcanmas� olur. 'Response(Yan�t)' Active Response ve Passive Response aras�nda farkl�l�k g�sterir. �zel bir b�l�mde bu farkl�l�klar� a��klayaca��z. �lgili okuyucu bu ba�lant�y� t�klayabilir <A href="http://www.opsec.com/">OPSEC</A> <BR> <PRE class=code>Secured by Check Point' appliances are security solutions that integrate Check Point VPN-1/FireWall-1 technology onto our partners' hardware platforms. </PRE> <BR> <BR> Bu sistem var olan sistemlerin Fire Wall-1(g�venlik duvar�)'da b�t�nle�mesine olanak sa�lar.Ek bir avantaj� ise d�nya �ap�nda bilinmesidir. 300 civar�nda orta�� vard�r). E�er bir sald�r� ke�federsiniz, sald�rgan�n IP adresini kitleyebilirsiz.( sadece olas� bir yan�t se�ene�i) ...E�er OPSEC ile ilgiliyseniz "Deployment Platforms"'u okuyunuz, Orada sisteme kat�l�m "joining" i�in bir �ok ko�ul bulacaks�n�z (ortak olmak i�in). <BR> <BR> <A NAME="294lfindex5"> </A> <H3>Aktif Yan�t</H3> Active Response,IDS bir sald�r�(veya buna benzer bir u�ra�) sezdi�i zaman otomatik olarak tepki g�sterilmesidir. Attack lar�n farkl�l���na ba�l� olarak IDSs bir�ok yan�tlma se�ene�i sunar. <BR> 1) Muhtemel sald�rgana kar�� tepkide bulunmak. 2) "Simply(basitce)" ek veriler toplamak (sald�rgan sald�r�s� ve onun i�eri�i hakk�nda). 3) Konfig�rasyonu de�i�tirmek Birinci yap�labilir tepki, sald�rgan kar��s�nda ba�lang�� ad�mlar� olmal�d�r. Bu bir �ok ad�m i�erebilir, insanalar�n ul�a�m� kitlemek ya da sald�rgan kar��s�nda ataklar� sonland�rmak gibi.Honeypot'la ba�lant�larda a��klad���m�z gibi, sald�rgana kar�� �o�onlukla zor de�ildir fakat ayn� zamanda yas d���d�r. Bu ba�lamda "Third Party Effect" diye adland�r�lanlar ��kagelir. Ger�ekte bu etki nedir? Third Party Effect'in grafik olarak a��klanmas� a�a��daki gibidir: <BR> <PRE class=code> ------------ ------------ ------- | Intruder | ------------> | Innocent | ----------> | YOU | ------------ ------------ ------- </PRE> <BR> Third Pary Effect masum bir insan ( ya da masum bir network)'�n attacker taraf�ndan sald�r�ya u�ramas�, mutakiben bu masum insan�n a��n� kullnarak bizim a��m�za sald�rmas� anlam�na gelir (ve olsa� di�er a�lara). B�ylece problem nedir? Problem bizim a��m�z�n masum a�� masum de�ilmi� gibi ortaya ��karamas�d�r ve bunun sonucu olarak ihmal edilen a�� istila eden masum olmayan ki�i bize kar�� yeni bir attack �retecektir. bizim ata��m�z�n sonucu olarak (yanl�� zannetti�imizde masum olmayan ki�iye sald�rabiliriz) "masum" �zerinde tespit edilemez hasarlara yol a�abiliriz. E�er su�lu izini saklamaya yetecek kadar zeki ise zarardan biz sorumlu tutulaca��z. "su�lu" de�il. <BR> <BR> �kinci se�enek (ek bilgiler toplama) daha az tart��mal�. Bir olas� sald�r� veya izinsiz giri� sadece sald�r ve sald�rgan hakk�nda bilgiler toplanarak sezimlenebilir. E�er bir IDS �zel bir kullan�c�n�n ayr�cal�klar�n� geni�letti�ini kararla�t�r�sa (veya ba�ka bir �e�it sald�r� meydana gelirse) bu kullan�c�n g�zlenmesi geni�letilebilir, �r. logging komutlar� (active edilmemi�se), kullan�c� nerde sisteme girecek, ne kadar kalacak, ne zaman giri� yapt�, son iki g�n i�erisinde ne zaman ve hangi s�kl�kta giri� yapt� , Spesifik ikilileri transfer(FTP) etmeye u�ra�t� m�... Bu yolla sald�rgan�n bir profili olu�turulur. Bununla beraber detayl� kay�tlar�n ve yak�n olas� ka�amklar�n analizini yapma avantaj�m�z olur, bu ayn� zamanda bizim yasal ad�mlar atmam�z� olas� k�lar. ���nc� se�enek sistemin modifikasyonu g�venlik duvar�, v.b. E�er sald�rgan sipesifik IP adresleri kullan�yorsa bu IP adresinden a�a olan ba�lant�s�n� kesebiliriz. Tabii ki di�er ku�kulu olkasyonlardan geln ul�a�m isteklerini bloklayabilir ve kaydeddebiliriz . �zel �artlarda kendi a��m�za olan herhangi bir ula��m� engelleyebiliriz (yada herhangi bir tp �zel port iste�i, �zel network aray�zlerinden...).Active Response 'un bir ba�ka olas�l��� TCP ba�lant�s�na devam etmemektir (TCP kill olarak da bilinir). Ba�lant�y� sonland�rabilmek i�in bir RST g�nderilir (Reset Flag), bu da oturumu sonland�r�r("kill"). Normalde RST, ba�lant�da bir hata oldu�u zaman yollan�r..., burada ba�aka bir bilgisayarla olan oturumu bitirmek i�in IDS ( ISS RealSecure gibi) bundan faydalan�r. ( Win-NT i�inde ayn� isimde bir ara� vard�r.). <BR> <BR> <PRE class=code> " tcpkill - kill TCP connections on a LAN ....... tcpkill kills specified in-progress TCP connections (use- ful for libnids-based applications which require a full TCP 3-whs for TCB creation). " </PRE> <BR> Bu 'man tcpkill''den se�ilmi�tir .... <BR> G�r�ld��� gibi, sald�r�lara kar�� yan�tlar�n ger�ekten geni� olas�l�klar� var. Kontraatak y�r�tmek �ekici g�r�nsede yap�lmamal�. <BR> <A NAME="294lfindex6"> </A> <H3>Pasif Yan�t</H3> <BR> Active Response k�yasla, �a�unlukla rastlanan uyar�lar�n kaydedilmesidir, admin/user'lar taraf�ndan g�zetlenmeleri gerekir. Yan�t se�enekleri �unlard�r: <BR> <BR> 1) uyar�lar, imalar...kay�t <BR> 2) sistemi �zel bir zamnada denetleyen raporlar�n olu�turulmas� ve bir hesap a��lmas� <BR> <BR> Hemen her IDS uyar�lar olu�turma ve kullan�c�ya/browsera belirtiler g�nderme yetene�ine sahiptir. Sald�r� ba�ar�ld�ysa - �rne�in - �nemli bir sistem dosyas�n� silmek, �zel servisleri ba�latamak (kullan�m� yasaklananlar) ... olay� bildiren bir uyar� geli�tirilir, ayn� zamanda ne zaman oldu�u ve kimin rol ald���. Bu arada �ok fazla IDSs b�yle adland�r�lan raporlar� olu�turma se�ene�ine sahiptir. Sistemin durmu geni� bi zamanda g�zlenebilir, aktiviteler kaydedilebilir ve durum raporlar� geli�tirilebilir. Hemen b�t�n IDSs'ler passive response se�ene�ini desteklerler. <BR> <A NAME="294lfindex7"> </A> <H2>Filtre</H2> Sald�r�lar�n kimlere ait oldu�unu imzalr� yard�m�yla belirlemek i�in filtrelerden faydalan�l�r.Bu imza daha �nce ed�inilen imzalarla dolayl� olarak ilgilidir, burada bir sald�r�n�n tipik karekteristi�ini ar�yoruz ( <I>dest/src ports, dest/src IPs</I>, gibi...). Bu b�l�m�n bir ba�ka k�sm� N-code giri� yap�lmas� ve bilinen sald�r�lar i�in filtre �rneklerinin a��klanmas�d�r. Bu makalenin sonunda kullan�c�lara (ileri kullan�c� klavuzu - nfr) N-code plan� sunan bir sayfa bulacaks�n�z - e�er iyi bilmiyorsan�z. <BR> land: <PRE class=code># This is an example on how to detect # in N-code a land attack filter pptp ip () { if(ip.src == ip.dest) { record system.time, eth.src, ip.src, eth.dst, ip.dest to land_recdr; } } </PRE> Bilinmeyen de�i�kenler kullan�ld���nadan k�sa bir a��klama yap�lm��t�r : <BR> <UL> <LI>ip.src = kaynak IP adresi <LI>ip.dest = hedef IP adresi <LI>eth.src = "target-machine(hedef makina)"'in MAC adresi <LI>eth.dst = "source-PCs(kaynak PC)"'in MAC adresi <LI>record system.time = ip.src == p.dest ko�ulu sa�land���nda zaman� kaydeder. </LI> </UL> <BR> <BR> g�r�ld��� gibi N-code == operat�r�n� tan�r, E�er ileri kullan�c�lar klavuzunu okursan�z,di�er var olan benzerlikleri bulacaks�n�z (di�er y�ksek seviye dilleele birlikte), �r. N-code + , - , *... operat�rlerini tan�r ya da d�n��t�r�len operat�rleri >=, != ....gibi, ay da yukar�da g�sterildi�i gibi ==. Xmas Scan: "Types of Attacks"'tan an�msayaca��n�z gibi Xmas Scan'da b�t�n flaglar atan�r. Bu y�zden ,onlar�n atan�p atanmad���n� tasdik etmek akla yak�nd�r. Bunun i�in ayr� ayr� atanan bitlerin de�erlerine ihtiya� duyar�z: <BR> <PRE class=code> Bit Value -------------------------------------- F-FIN 1 S-SYN 2 R-RST 4 P-PSH 8 A-ACK 16 U-URG 32 --------------------------------------- </PRE> filter xmas ip() { if(tcp.hdr) { $dabyte = byte(ip.blob,13); if(!($dabyte ^ 63)) { record system.time, ip.src,tcp.sport,ip.dest, \ tcp.dport, "UAPRSF" to xmas_recorder; return; } } } <BR> Burada yine baz� bilinmeyen de�i�kenler var: <BR> <UL> <LI>tcp.hdr = E�er tcp.hdr == 0 sa,paket herhangi bir TCP Header i�ermez , E�er tcp.hdr == 1 se i�erir. <LI>tcp.dport = TCP hedef portu <LI>tcp.sport = TCP kaynak portu <LI>ip.blob = paketin payload contenti (ba�l�ks�z) <LI>"UAPRSF" , URG,ACK,PSH,RST,SYN ve FIN'in atand��� anlam�na gelir. </LI> </UL> <BR> $dabyte byte (ip.blob,13)'a atanan yerel bir de�i�kendir. "byte expression"'� a��klamak i�in burada k���k bir TCP code bits �rneklmesi var: <BR> <PRE class=code>| Src Port | Dest Port | Seq Number | ACK Number | HDR Length | Flags |\ URG | ACK | PSH | RST | SYN | FIN | Win Size | Chksum | Urg Off | Opt | </PRE> byte()'da neden 13 byte'�n yer ald���n�n fark�nday�z, ��nk� flaglar� ayakta tutmak i�in 13 byte gerekli. Bytelar�n nas�l �al��t���n� anlamadan �nce ilk baz� laflar var. �rne�in "blob". �leri kullan�c�lar kalvuzunda ���nc� b�l�me bakarsan�z, "blob" "keyfi boyutland�r�lm�� ard���k bytelard�r". bir 'byte' bir blob'un �zellle�tirilmi� offsetinden bir byte d�ner, al���lagelen sentax ��yledir: byte (str blob_to_search, int offset). �lk arg�man ara�t�r�lacak blob'u belirler ( yukarda: ip.blob), �kinci arg�man arama sonras� byte (sought-after byte) (in 'blob_to_search') ofsetini belirler. 'if(!($dabyte ^ 63))' komutuyla b�t�n flaglar�n atan�p atanmad��� kontrol edilir, bunun sonucu b�t�n flaglar�n de�erleri (32+16+8+4+2+1) toplan�rsa 63 olur, e�er bilinmek istenirse: " ^ " birlikte, XOR �al��t�r�l�r. <BR> <BR> bu se�eneklerin ayn�nda N-code �ok geni� olas�l�klar sunar. �rne�in, �unlar� blmak m�mk�nd�r: <BR> <UL> <LI>Paketin bir IP paket olup olmad��� (ip.is) <LI>IP paketinin uzunlu�u (ip.len) <LI>IP paketinin uygulamal� protokolu (ICMP,TCP or UDP) (ip.protocol) <LI>ICMP paketinin toplam�n�n kontrol� (icmp.cksum) <LI>ICMP paketlerinin payload lar�n� i�eri�i ( in blob) (with icmp.blob) <LI>Paketin ge�erli bir ICMP header i�erip i�ermedi�i (icmp.hdr) <LI>Paketin bir ICMP paket olup olmad��� (icmp.is) <LI>ICMP paketinin tipi,Echo Reply , Destination unreachable(hedef ula��lamaz),gibi.... <LI>..... vb ..... </LI> </UL> <BR> <BR> N-code ile ilgili ek bilgiyi �u linklerde Bulabilirsiniz <A href="http://www.cs.columbia.edu/ids/HAUNT/doc/nfr-4.0/advanced/advanced-htmlTOC.html">Advanced User's Guide Guide</A> at:http://www.cs.columbia.edu/ids/HAUNT/doc/nfr-4.0/advanced/ advanced-htmlTOC.html <BR> <BR> Bu sayfalar�n gelecek versiyonlar�nda daha �ok filtre ler tart���lacak, yenileri i�in d�zenli aral�klarla ontrol edin ;) <BR> <A NAME="294lfindex8"> </A> <H2>Standartlar</H2> <BR> Bu b�l�mde �e�itli standartlara ve bir�ok uzmanlar tafa�ndan kullan�lan liste/anla�malar'a (list/agreements) giri� yapaca��z. <BR> <A NAME="294lfindex9"> </A> <H3>CVE</H3> CVE (Common Vulnerabilities and Exposures) �rselenebilirlik ve ���nlamlar�n(vulnerabilities/exposures)listesinden ba�ka bir�ey de�ildir. �lk bak��ta e�lenceli gelebilir, Daha sonra olduk�a el alt�nda bulunacak. Sezilmi� �rselenebilirlikler i�in �e�itli ara�lar CVE(herkesin anlayip kullanabilecegi tek tip cesitli orselenebilirlik ve isinlama tanimlamasi )'lerden faydalanarak farkl� terimler kullan�yorlar. Boylece baska kullanicilar icin ayni araclari kullanmak artik zorunlu degil. <BR> <BR> CVE spesifik orselenbilirlik ve isinlama icin bir isim ve tektip bir tanimlama uretir bunlar farli kullanicilar arasindaki yanlis anlasimalari onler. CVE orselenebilirligi, normal orselenebilirlik ile ilgili problemler ve butun makul guvenkil policelerinin conteksi anlama�na gelir. CVE �s�nlamay� baz� makul sigorta policelerindeki ihlal problemi olarak tanimlar. CVE � de ikisinin arasindaki fark temeldir. Orselenbilirlige ornekler phf, world-writeable pasword dosyalar�. Is�nlaman�n ornekleri Bruteforce tarf�ndan calictirilan programlarin kullanimi ya da genel olarak calistirilan servislerin kullanilmasidir.Tanimlama ve orneklerle orselenebilirlik ve isinlan�n ayrimi mumkun oldu. Temel fark saldirganin farkl� bir kullaniciymis gibi komutlari uygulama yetenegi ya da dosya izinlerine bagli olarak mumkun olmayan dosyalari okuyup bunlar uzerinde degisiklik yapmasidir. Isinlamalar, tersine, kullaniciya sistem ve sistemin durumu hakkinda ek bilgiler edinmesine izin verir. Bu aktiviteler arka planda olur�Isinlamalar, duzeltilebilen kusurlu guvenlik ayarlar�ndan dogar.Orselenebilirlikler normal guvenlik sistemlerindeki(izin kontrolune karsi olasi saldirilarda tehlikeyi en aza indirme olanagi bulunan) aciklardir. Her ne kadar bu �liste� su anda kaliyor olsa da , her orselenebilirlik ya da isinlamalar kabul edilmez. Bir orselenebilirlik/isinlama sezildikten sonra ilk once bir aday numaras� ula�t�r�r.(Bu CNA � Candidate Numbering Authority i�inde olur) Buna ek olarak CVE edit�r� tafar�ndan Board�a g�nderilir ve �rselenebilirli�in/isinlaman�n kabul edilip edilmedi�i ele al�n�r.E�er Board aday�n kabul edilmedi�ini sonuca ba�larsa (�imdilik) bunun sebebi web sitesi �zerine g�nderilir. E�er aday kabul edilirse listeye eklenir(ve CVE nin resmi bir par�as� olur). �imdilik, her olas� �rselenebilili�in ba�lang�� olarak bir aday numaras� (kabul edilip edilmeyece�i tart���lan) ald��� a��k olmal�. �rselenebilirlik bu aday numaras�n� listedeki resmi giri�lerden ay�rmak i�in al�r. Her aday�n 3 temel alan� vard�r. <BR> <UL> <LI>Numara <LI>Tan�mlama <LI>Referanslar </LI> </UL> <BR> <BR> Bu ba�lamda numara aday�n ger�ek ismidir,ek bir numara olarak giri� y�l�yla birle�tirilir,bu o y�l i�indeki ard���k adaylar� ortaya ��kar�r: <BR> <PRE class=code> CAN-Year - sequential candidate of the year </PRE> <BR> Daha �nce i�lendi�i gibi kabul edilen aday listeye eklenir. Sonu� olarak 'CAN-YEAR- Candidate number' 'CVE-Year-Candidate number' halini al�r. �rne�in: 'CAN-2001-0078' listede 'CVE-2001-0078' halini al�r . <BR> <BR> Hepsi bu, daha fazla bilgi i�in <A href="http://cve.mitre.org/">CVE</A>�nin resmi web sitesine bak�n�z. <BR> <A NAME="294lfindex10"> </A> <H2>Ornekler</H2> <BR> Bu son b�l�mde baz� IDS � lere ba�lang�� yap�lacak. <BR> <A NAME="294lfindex11"> </A> <H3>Snort</H3> ��nk� Snort �ok iyi bilinen ve daha sonra �ok detayl� anlataca��m bir �ok se�enek sunan bir IDS �rne�idir. Esas�nda, Snort 3 moddan birinde olabilir: Sniffer, Packet Logger ve Network Intrusion Detection System. Sniffer modunda Snort konsolda paket olu�turur, Packet Logger modunda onlar� hardiske kaydeder ve Network Intrusion Detection modu paketleri analiz etmeyi sa�lar. �o�unlukla son modan bahsedece�im, fakat burada Sniffer ve Packer Logger modunada bir giri� yapaca��m: <BR> Sniffer modunda �e�itli paket bilgileri okunabilir, TCP/IP paket ba�l��� gibi: <BR> <PRE class=code> [Socma]$ ./snort -v </PRE> <BR> ��kt� olarak yaln�zca IP/TCP/ICMP/UDP ba�l���n� al�r�z. �ok fazla opsiyonu, kullan�m se�ene�i var, burada bir ka�� g�sterilecek. <BR> <PRE class=code> -d = will deliver the packet data -e = shows the Data Link Layer </PRE> <BR> Packet Logger Modu: <BR> Sniffer modundan farkli olarak Packet Logger modu hard diske paketleri kayit edebilir. Bizim yaln�zca Snort�un kaiyt edecegi dizini belirlemiz gerekir ve o otomatik olarak Packet Logger moduna gececektir: <PRE class=code> #loggingdirectory must exist: [Socma]$ ./snort -dev -l ./loggingdirectory </PRE> �-l� girince Snort bazen uzak bilgisayarin adresini dizinmis gibi gosterir (icine kaydetigi) bazende yerel host adresini alir. Ev agina kayit edebilmek icin ev agini komut satirinda belirlememiz gerekir: <PRE class=code>[Socma]$ ./snort -dev -l ./loggingdirectory -h 192.168.1.0./24 </PRE> Baglanmak icin diger bir olasilik TCP-DUMP format�d�r: <PRE class=code> [Socma]$ ./snort -l ./loggingdirectory -b </PRE> �imdi giri� paketi kay�t edilecek, yanlizca belirlei bolumler degil, ek secenekler icinde eleme yapar. Dosyalari ASCII�ye donusturebilmek icin tcpdump gibi programlar� kullanmak mumkundur, ancak Snort bunu yapabilir: <PRE class=code> [Socma]$ ./snort -dv -r packettocheck.log </PRE> Network Intrusion Detection Modu: NIDS moduna gecebilmek icin asagidaki gibi bir komut kullanabiliriz: <PRE class=code> [Socma]$ ./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf </PRE> Bu sartlarda snort.conf dosyasi konfigurasyon dosyasidir. Bu dosya bir sladiri olup olmadigini belirten kurallarin nerede oldugunu Snortun bilmesi icin kullanilir (ve istege izin verilip verilmedigini). Snort.conf �ta tan�mlanan kurallar, bunlari analiz etmek icin pakette uygulanacak. Eger belirli bir cikti dizini olusturulmamissa var olan dizin /var/log/snort kullanilir. Snort ciktisi uyari moduna baglidir � bunun uzerine yakin yada uzak bir zamanda gerceklesme bilgisi verir. <BR> <PRE class=code> ---------------------------------------------------------------- | Modus | How/what is displayed | ---------------------------------------------------------------- | -A fast | Time, Source and Destination IPs/ports, | | | the Alert Message | ----------------------------------------------------------------- | -A full | Default Setting | ----------------------------------------------------------------- | -A unsock | Sends the Warnings to a UNIX | | | socket | ----------------------------------------------------------------- | -A none | Stops the Alerts | ----------------------------------------------------------------- </PRE> <BR> Goruldugu gibi �b ile binary moda kayit yapabiliriz, -N ile paket kaydi tamamen sonlandirilir. Fakat bu bir sinir degildir, ornegin Snort syslog�a mesajlar gonderebilir bunun icin var olan ayar LOG_AUTHPRIV ve LOG_ALERT�tir. Syslog�a mesaj gondermek icin yapmamiz gereken tek sey ��s� kullanmaktir. Bunadan baska smbclient�a mesaj gonderme yada Windows bir bilgisyara Win-pop-up uyarilari gonderme olanagimiz vardir. Bu ozellikten faydalanabilmek icin Snort�un knfigurasyonuna "-enable-smbalerts" girmek yeterlidir. <PRE class=code> [Socma]$ ./snort -c snort.conf -b -M MYWINWORKSTATION </PRE> Uyari modunun bir uygulama ornegi: <PRE class=code> [Socma]$ ./snort -b -A fast -c snort.conf </PRE> Tanimlanan secenkelerin yaninda digerleri asagidaki gibidir: <PRE class=code> -D = starts Snort in daemon mode -u usersnort= starts Snort with UID 'usersnort' -g groupsnort = starts Snort with GID 'groupsnort' -d = also log the data of the applications layer r </PRE> <BR> <BR> Eger bir bilgisayarda Snort �h komutunu calistirirsaniz yada problem olan mail listesine bakarsaniz Snort bircok secenek sunar. Takip eden bilen Snort kurallarindan olusur. Eger anlamaya dikkat etmek istemiyorsaniz bu bolumu gecebilirsiniz. Bu bolumun en sonunda belirttigim gibi (Snort hakkinda) www.snort.org �tan Snort kullanici manuelini indirebilirsiniz, bu bizim gercek kaynagimizdir. <BR> <BR> Snort Kurallar�: <BR> Snort�u daha iyi anlamak icin Snort kurallarini bilmek zorunludur. Snort bazen �var� diye tanimlanabilen belirli degiskenler kullaniyor: <PRE class=code> var: <name> <wert> var MY_NET [192.168.1.0/24,10.1.1.0/24] alert tcp any any -> $MY_NET any (flags:S;msg: "SYN packet";) </PRE> Degisken ismi girebilmek icin baska yollarda mevcut: <PRE class=code>$variable = defines the Meta variable $(variable) = here the value of the variable 'variable' is entered $(variable:-default) = if 'variable' is defined, its value is entered here, is 'variable' not defined the value 'default' is entered. $(variable:?msg) = enters the value of the variable 'variable' or if not defined puts the message 'msg' out. </PRE> <BR> Daha once kabuk programlama ile ilgilendiyseniz asagidaki size yabanci gelmeyecektir: <BR><PRE class=code> [Socma]$ shelltest=we [Socma]$ echo hello $shelltestlt hello [Socma]$ echo hello ${shelltest}lt hello world </PRE> Snort�taki $(variable) ile kabuktaki ${variable} aynidir. Kabuk programlamada baska esitleri (yada benzer terimleri) vardir: <PRE class=code> [Socma]$ shelltest = bash [Socma]$ echo ${shelltest:-nobash} bash [Socma]$ echo ${notdefined:-nobash} nobash </PRE> '$(variable:-default)' teriminin uygulanmasi sadece () yerine kabugun {} kullanmasidir. Son terim kabukta da vardir: <PRE class=code> [Socma]$ shelltest = bash [Socma]$ echo ${shelltest:?"then csh"} bash [Socma]$ echo ${notdefinedvariable:?"not defined or nil"} not defined or nil </PRE> <BR> Bu kisa gezintinin amaci bilgi ile iliksi kurmakti. Terimleri, kafamda dusunmektense Snortun syntax��n� boyle daha hizli hatirladim. <BR> Konfigurasyon dosyasini bircok komut satiri secenegi yazilabilir. Bunun icin 'config' kullanilir:: <BR><PRE class=code> config <directive> [: <value> ] </PRE> <BR> En onemli komutlar: <BR> alertfile = uyarilarin kayit edildigi dosyayi degistirir <BR> daemon = daemon ( -D) olarak porosesi baslatir <BR> reference_net = home network (-h) <BR> logdir = kayit edilecek dizini atar (-l <BR> nolog = Kayiti sonlandirir <BR> set_gid = GID'� de�i�tirir (-g) <BR> chroot = chroot'ed in th especified directory (-t) <BR> set_uid = UID'� atar (-U) <BR> <BR> <BR> Eger uyari dosyasini degistirmek istiyorsaniz, ornegin "mylogs" soyle yazin: <PRE class=code> config alertfile : mylogs </PRE><BR> Gercek kurallara geri donersek ( burada ftp.rules orne�i ): <BR><PRE class=code>alert tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:"FTP EXPLOIT overflow";\ flags: A+; content:"|5057 440A 2F69|";\ classtype:attempted-admin; sid:340;rev:1;) </PRE><BR> Esas�nda , Snort kurallar� iki par�adan olu�ur : Kural ba�l��� ve kural se�ene�i. Kural ba�l��� 2 �ey hakk�nda bilgi verir.: <BR> <UL> <LI>Kaynak ve hedef IP adresi <LI>protokol <LI>kural taraf�ndan ba�lat�lmas� gerekli hareketler </LI></UL> <BR> Yukar�daki ftp kural�nda ba�l�k a�a��daki gibidir. <BR><PRE class=code> Action source ip destination ip | | | alert tcp $EXTERNAL_NET any -> $HOME_NET 21 | | | Protokoll From any port Port </PRE> <BR> G�r�ld��� gibi ilk �nce kural ba�l��� sona erer ( ve sonra kural se�enekleri ba�lar. Bir�ok olas� hareket (Snort kurallar�n�n ku�kulu bir �ey ke�fedip ke�fetmedi�ini ortaya koyan)vard�r (bu ko�ulda 'alert�) <BR> <UL> <LI>alert = hangi alert metodunun kullan�ld���na ba�l� olarak(varsay�lan 'alert full'), bir uyar� tetiklenir ve gerekl paket kaydedilir. <LI>log = sadece paket kaydedilir. <LI>pass = paketteki sonu�lara ald�r�l�maz <LI>activate = bir uyar� olu�turu ve ba�ka bir dinamic Snort kural�na d�ner (sonra daha fazla bilgi) <LI>dynamic = kural ba�ka bir kuarl taraf�ndan aktive edilene kadar pasif kal�r, daha sonra 'log' gibi �al���r (yukar�ya bak�n�z) </LI></UL> <BR> �kinci alan (burada protocol - tcp ) hangi protokolun analiz edilece�ini belirler. Olas� olanlar: tcp, udp, icmp and ip ( gelecekte ba�kalar� da olabilir ... ARP, GRE,..gibi). <BR> Sonraki alanla ba�lant� olarak (source ip) s�k�a �! �� operat�r�n� buluyoruz. (negations operator). <BR><PRE class=code> alert tcp !$EXTERNAL_NET any -> $HOME_NET 21 </PRE><BR> Sonu� olarak �!�operat�r� $EXTERNAL_NET �den ula�mayan paketleri kaydeder. IP adresi girmek, IP adresi listesi gibi bir�ok olas�l�k var. Adresler virg�lle ayr�lmlar� ve �[ ]� i�ine al�nmal�d�r.. <BR><PRE class=code> alert tcp ![ip address,ip address] any -> .... </PRE><BR> Bir ba�ka alternatif "any"i kullanmakt�r, bu her IP adresini i�erir. <BR><PRE class=code> log tcp any any -> ... </PRE> <BR> Kural ba�l�klar�ndaki son b�l�m portlar�n belirlenmesidir, �rne�imizde ftp. Tek bir portu g�zetlemek m�mk�n de�ildir fakat bir �ok portu g�zetlemek m�mk�nd�r. Se�enkler a�a��dad�r. <BR><PRE class=code> :portnumber -> all ports smaller equal portnumber portnumber: -> all ports higher equal portnumber fromportnumber:toportnumber -> all ports between fromportnumber and toportnumber (and those included) </PRE> Girilenler d���ndaki b�t�n portlar�n g�zetlenmesi i�in �!� operat�r�n� kullanmak tabii ki m�mk�nd�r. <PRE class=code> !:21 -> all ports which are not smaller equal 21 </PRE> A��klanmayan fakat kullan�lan bir operat�rde y�n operat�r�d�r. "->". <PRE class=code> "source" -> "destination" </PRE> Ba�ka bir �eklide var .<> : <PRE class=code> "source" <> "destination" </PRE> Bu Snort�un kaynaklar gibi hedefleride ara�t�raca�� anlam�na gelir <BR> Belirtti�im gibi 'activate' ad�m� vard�r, bu bir uyar� mesaj� olu�turur ve ba�ka bir dinamik Snort kural�na d�ner. <BR> Belirli bir kural hareketlerini tamamlam��sa,ba�ka bir kural� active edebilir. Esas�nda, normal kurallar ile "activated rules" kurallar� aras�ndaki farksadece belirli bir alan olu�turulmas�d�r.: "activates". Dinamik kurallar, di�er taraftan, log gibi �al���r (yukar�ya bak�n�z),tek fark : "activate_by" girilmelidir. Bir alan daha girilmelidir: "count". "activate rule" yap�ld�ktan sonra onun g�revi dinamik kurallar�n istenmesidir, yaln�zca �forcount" kaydeder (count=40 iken 40 paket). <BR><PRE class=code>activate tcp !$HOME_NET any -> $HOME_NET 143 (flags : PA; \ content : "|E8C0FFFFFF|\bin|;activates : 1; msg : "IMAP buf!";) dynamic tcp !$HOME_NET any -> $HOME_NET 143 (activated_by : 1; \ count : 50;) </PRE><BR> Se�eneklerin baz�lar�na, kural se�enekleri gibi, hen�z girilmedi,onlar� �imdi a��klayaca��m, fakat siz daha sonra emin olacaks�n�z. L�tfen yukar�daki �rne�imizdeki alanlar� activates ve activated_by (dynamic rule) not al. �lk kural dinamik kural� gerektirir, bu ilk kuraldan sonra g�revi biter, bu ayn� zamnda �u ifade ile belirtilir. <BR> <BR> Snort Kurallar�n�n �kinci B�l�m�: Kural Se�enekleri. Yeniden ilk ftp.rule �u kullanal�m: <BR> <BR><PRE class=code>alert tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:"FTP EXPLOIT overflow"; flags: A+;\ content:"|5057 440A 2F69|";classtype:attempted-admin;\ sid:340; rev:1;) </PRE><BR> <BR> Bu ko�ulda kural se�ene�i (ilk �nce kural ba�l��� durur)): <BR> <BR><PRE class=code> (msg:"FTP EXPLOIT overflow";\ flags: A+; content:"|5057 440A 2F69|";\ classtype:attempted-admin; sid:340; rev:1;) </PRE><BR> <BR> 34 tane anahtar kelime var , ben kendimi en �nemlilerle ya da en �ok kullan�lanlarla s�n�rlad�m. Bu nedenle b�t�n anahtar kelimeleri g�rmek isteyen Snort Kullan�c� Manualine bakabilirler.. <BR> <BR> msg -uyar� mesajlar�n� g�r�nt�ler ve Packet Logger Moduna kaydeder <BR> logto -belirli dosyalara paketleri kaydeder. <BR>dsize - farkl� de�erlerdeki paket b�y�kl�klerini k�yaslar <BR> flags - belirli de�erler i�in TCP flag lar�n� kontrol eder <BR> content - pakette belirli bir �rg�/dizgi arar <BR>content-list - pakette belirli bir �rg�/dizgi arar <BR>nocase - yukar� ve a�a�� ko�ullarda bulunan dizgiler ihmal edilir <BR>react - aktif yan�t (web sitelerini bloklar) <BR>sid - Snort Kural id'si <BR>classtype - bir gruptaki olas� sald�r�lar� s�ralar <BR>priority - duyarl�l��� kurar <BR>Ki�isel kurallar nas�l �al���r ? msg: <BR> Kurallar� �al��t�rt���m�zda 'msg' � olduk�a s�k g�r�yoruz, uyar�lar�n olu�turulmas� ve kaydedilmesine sorumludur.. <BR><PRE class=code> msg:"<text>"; </PRE> t "<text>" uyar� dosyas�na yaz�lan mesajd�r <BR>logto: <BR> Kural�n uygulanabildi�i her paket belirli bir dosyaya kaydedilir. <PRE class=code> logto: "<filename>"; </PRE> Bu ko�ulda "<filename>" uygulanabilir dosyalar�n kaydedildi�i dosyad�r. <BR>dsize: <BR> Bu paketin b�y�kl���n� belielemek i�in kullan�l�r.Belirli bir servisin arabellek b�y�kl���n� biliyorsak,bu se�enek olas� bir arabellek ta�mas�ndan korunmak i�in kullan�labilir. 'content' � e k�yasla dha h�zk�d�r, bu y�zden ara bellek ta�malar�n� �nlemek i�in s�k�a kullan�l�r. <PRE class=code> dsize: [>|<] <size>; </PRE> �ki opsiyonel operat�r( > ve < ) paket b�y�kl���n�n daha b�y�k olmas� gerekti�ini belirtir,yani: belli de�erlerdeki flaglardan daha k���k olmal�: <BR> Bu hangi flaglar�n atand���n� test eder. Snort da 9 flag kullan�lmaktad�r: <PRE class=code> F FIN S SYN R RST P PSH A ACK U URG 2 Bit 2 assigned 1 Bit 1 assigned 0 no TCP flags set </PRE><BR> Flaglar�n belli kriterlerini test etmek i�in baz� mant�ksal operat�rlerde vard�r. <BR><PRE class=code> + ALL flag = Hit at all specified flags (others as well). * ANY flag = Hit at all specified flags. ! NOT flag = if the specified flags are not set. </PRE><BR> Anahtar kelime �flag� genelde �u �ekilde kullan�l�r. <BR><PRE class=code> flags: <Flag valuet>; </PRE><BR> Reserve edilen bitler ol�and��� davran��lar�n sezilmesinde kullan�labilir <BR>content: <BR> En �ok kullan�lan anahtar kelimelerden bir ( 'msg' yan�nda) 'content' dir. Paketlerin payloadlar�n�n k�smi i�eriklerini ara�t�rmak i�in kullan�l�r . E�er belirlenen content sezilmi�se, �ncden tan�ml� ad�mlar kullan�c�ya kar�� ortaya konur. Paketin payload�ndaki contentlerin sezilmesinden sonra Snort kurallar� �al��t�r�l�r. 'nocase' (a�a��ya bak) uygulmadan capitalization yap�labilir. Payload�n contenti binarileri tex gibi ara�t�rabilirler. Binary veri | | i�ine al�n�r ve byte kodlar� g�sterilir. Byte Kodlar� binary bilgiyi hexadecimal numaralar olarak verir .Bu anahtar kelimenin i�eri�inde (!) operat�r� uygulanbilir, �rne�in, paket belirli bir text i�eriyorsa, bit uyar� mesaj� verebiliriz.. <BR><PRE class=code> content: [!] "<content>"; </PRE><BR> "!" zorunlu de�il. <BR><PRE class=code> alert tcp any any -> 192.168.1.0/24 143 \ (content: "|90C8 C0FF FFFF|/bin/sh";\ msg: "IMAP buffer overflow";) </PRE> <BR> Bu kuralda kan�tland��� gibi binary veri | | i�ine al�n�r, bunu m�teakip, normal text�de uygulanabilir. Snort User Manual.�de �offset� ve �depth��in tan�m�na bak�n�z , ��erikte s�k s�k 'context' � le birlikte kullan�l�r. <BR> <BR>content-list: <BR> <BR> Bu anahtar kelime 'content'�e benze olarak �al���r,dizgi numaras� (paketlerin ara�t�r�lmas� i�in kullan�l�r) fark�yla. Uygun hexa munaralar�, dizgileri, v.g. bir dosyaya girdik.Bu dosya(ara�t�r�lacak kelimeleri i�eren), 'content list'�in uygulanmas�nda belirlenecek.. Dizgilerin d��ey olarak yaz�ld���n� akl�m�zda tutmam�z gerekir (her dizgi bir sat�rda), �r. <BR><BR><PRE class=code> "kinderporno" "warez" ..... </PRE><BR> Bunu takiben, 'content-list: [!] "<filename>" �i uygulayarak ' dosyay� ara�t�rabiliriz. Tabii ki ! opsiyonel, 'content'.� Teki ayn� etkiyi yapar <BR> <BR>nocase: <BR> 'content' anahtar kelimesiyle birlikte i�erikte bu kural �ok �nemli bir rol oynar . normalde b�y�k/k���k harf gereklidir, 'nocase' ko�ul duyarl�l��� kullan�larak bu ihmal edilir. <BR><BR><PRE class=code> alert tcp any any -> 192.168.1.0/24 21 (content: "USER root";\ nocase; msg: "FTP root user access attempt";) </PRE><BR> <BR> �nocase' kullan�lmazsa sadece 'USER root' ara�t�r�l�r, ��nk� 'nocase' ko�ul duyarl�l���n belirlenmesi uygulanmam��t�r.. <BR> Belirli bir 'content' i�in ara�t�rma bir darbeyle sonu�lan�rsa 'react' bunu yan�tlamak i�in kullan�labilir.Kullan�c� taraf�ndan istenen belirli genel ama�l� sayfalar bloke edilir(porno sayfalar...) Flex Resp ba�lant�s� uygulanarak ba�lant�s� sonland�r�labilir yada penceresine bir uyar� g�nderilebilir. A�a��daki se�nekler olas�d�r. <BR> <BR>block - ba�lant�y� sonland�r�r ve bir bildiri g�nderir <BR>warn - g�r�n�r bir uyar� yollar (daha sonra kullan�labilir olacak) <BR> Bu basit arg�manlar ek arg�manlarla tamamlanabilir(b�ylece el geli�tirici diye adland�r�l�rlar) <BR> <BR>msg - 'msg' anahtar kelimesinden yararlan�lara g�nderile text kullan�c�ya b�nderilen bidiri i�inde de yer al�r. <BR>proxy : <portnummer> - Bildirileri g�ndermek i�in kullan�l�r(daha sonra kullan�labilir olacak) <PRE class=code> react : <basic argument [, additional modifier ]>; </PRE><BR> 'react' anahtar kelimesi kural se�eneklerinin en sonuna eklenir, ��yle kullan�labilir. <BR><PRE class=code> alert tcp any any <> 192.168.1.0/24 80 (content-list: "adults"; \ msg: "This page is not for children !"; react: block, msg;) </PRE>sid: <BR> 'sid' ya da Snort Kurallar Belirlenmesi �zel Snort kurallar�n�n kimlere ait oldu�unu saptar belirler.'ouput plugin'ler i�in her kural� belirlemek olas�d�r. Bir�ok sid grubu vard�r. <PRE class=code> < 100 = reserved for future use 100-1 000 000 = rules which come with Snort > 1 000 000 = being used for local rules sid-msg.map contains a mapping of msg tags for sid's. It is being used foe post processing to assign a warning to an id. sid: <snort rules id>; alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 \ (msg: "WEB-IIS file permission canonicalization"; uricontent:\ "/scripts"..%c1%9c../"; flags: A+;nocase;sid: 983;rev:1;) </PRE>classtype: <BR> 'classtype'� kullanarak sald�r�lar� bir�ok gruba ay�rabiliriz.Kurallarda olas� sald�r�lar�n �nceli�ini tan�mlayabiliriz. Konfig�rasyon dosyas�nda s�n�fland�r�lan kurallar standart bir �nceli�e otomatik olarak atanacakt�r. <BR><BR><PRE class=code> classtype: <class name>; </PRE><BR> Kurallar�n kategorileri clasification.config ' de tan�mlan�r.A�a��daki sentaks kullan�l�r. <BR><PRE class=code> config classification: <class name>,<class description>,\ <standard priority> </PRE><BR> A�a��daki paragrafda - priority'nin tan�mlanmas�- ne �e�it sald�r� grublar�n�n oldu�unu ��renece�iz. <BR>priority: <BR> Bu anahtar kelime kurallar�m�za g�venlik �nceli�ini atamak i�in kullan�l�r, olas� bir sald�r�n�n ne kadar zarar verece�i anlam�na gelir.�ncelik ne kadar b�y�kse olas� g�venlik riski,zarar� o kadar fazlad�r. 'clas types' da daha �nce a��kland��� gibi �ncelikleri anlamak olduk�a kolayd�r. <BR><PRE class=code>Class type Description Priority --------------------------------------------------------------------- not-suspicious Any "unsuspicious" traffic 0 unknown Unknown traffic 1 bad-unknown Potential "bad" traffic 2 attempted-recon Attempted Information Leak 3 successful-recon-limited Information Leak 4 successful-recon-largescale Large Scale Information Leak 5 attempted-dos Attempted DoS-attack 6 successful-dos Successful DoS-attack 7 attempted-user Attempted to get user privileges 8 unsuccessful-user Unsuccessful attempt to get user privileges successful-user Successful attempt to get user privileges attempted-admin Attempt to get admin privileges 10 successful-admin Successful attempt to get admin privileges </PRE><BR> Daha �nce belirtildi�i gibi, y�ksek �ncelikler b�y�k g�venlik riskleri demektir. Admin �nceliklerini kullanan bir kullan�c� bir �ok sald�r� �retebilir. <BR><PRE class=code> alert tcp any any -> any 80 (msg: "WEB-MISC phf Versuch";\ flags: A+;content: "/cgi-bin/bash";priority:10;) </PRE><BR> Kurallar konusu �ok karma��k ancak zor de�il.Bir ka� kurala �al���p, manuelde ara�t�rd�ktan sonra bir s�re sonra bu konuda �ok iyi olursunuz :) Snort i�in kaynaklar ve belgeler http://www.snort.org da bulunabilir. Orada baz� de�erli .pdf'ler bulacaks�n�z. Snort kullan�c� Manuel'i bu tan�mlama i�in ana kaynakt�r <A NAME="294lfindex12"> </A> <H3>LIDS</H3> <BR>Stealth'in bildirisi (ve kaynaklar) ve LIDS-Hacking-HOWTO'ya bakt�ktan sonra LIDS'in ger�ekten bilgisayar g�venli�ini y�kseltmedi�ini biliyoruz. <BR> <BR> LIDS kavram�na g��l� ve zay�f y�nlerine bir bakal�m. LIDS temel olarak-�rne�in- �nemli sistem dosyalar�n� korumak, kullan�c�dan gelen belirli prosesleri gizlemek i�in geli�tirildi. Buna ek olarak bind modullerini basitle�tirmeye izin verilmedi, gerekli moduller sistemin ba�lat�lmas�yla s�n�rland�r�ld�.Daha �nce LIDS-Hacking-HOWTO ve Stealth'in bildirisinden bahsettim, her ikiside LIDS'in �al��mas�n� ve zaaflar�n� a��kl�yor. En �neli �zelliklerle ben kendimi s�n�rlayaca��m. Her iki text'e linki bu b�l�m�n sonunda bulacaks�n�z <BR> <BR> LIDS'in ana g�revi dosya sisteminin korunmas�d�r. �nemli dosya ve dizinleri korumak i�in bunlar farkl� grublara ayr�l�rlar. <BR> <BR> <UL> <LI>Read Only = Bu dosya veya dizin sadece okunabilir. De�i�ikliklere izin verilmez <LI>Append Only = Sadece dosyaya ek yapmaya izin verilir <LI>Exception = Bu dosyalar korunmam��t�r. <LI>Protect (un)mounting = Bir kullan�c�n�n dosya sistemini de�i�tirmesine izin verilmesini ya da verilmemesini sa�lar. </LI></UL> <BR> Ger�ek koruma i�in baz� sistemler bu �zellerini geli�tiriyorlar.(�r. sys_open(), sys_mknod(), ...) <BR> Bunula beraber, LIDS �ld�r�len,sonlad�r�lan belirli prosesleride korur. Bu prosed�r�n amac� kullan�c�y� y�neten baz� belirli prosesleri kullan�c�n�n g�rmesini engellemektir. Bir 'ps-ax' bizim prosesimizi ortaya ��karmayacakt�r. Prosesi ger�ekten gizlemek i�in, 'PF_HIDDEN' diye i�aretlenir.'ps' in proses hakk�nda bilgi geli�tirmek i�in �al��mas� durumunda,'PF_HIDDEN' olarak i�aretlenen prosesleri korunmas� s�recektir. Bu kendi ba��na prosesi gizlemek i�in yararl� de�ildir, ��nk� hala ge�ici olarak proc dosya sistemine giri� vard�r(/proc), sonu� olarak LIDS /proc dizinini g�terme fonksiyonunun �nlenmesi i�in ayn� zamanda geli�tirlmektedir. Bunlar�n yan�nda, yeteneklerle birlikte ayr�cal�klar� k�s�tlama olas�l���da vard�r.E�er- �rne�in- CAP_CROOT s�f�ra atan�rsa prosesin chroot'u kullanmas� �nlenecektir. (/usr/src/linux/include/linux/capatibilites.h ' a bak�n�z). <BR> Bununla beraber,LIDS iki g�venlik se�ene�ini �al��t�rma olana��na sahiptir: 'g�venlik' yada 'g�veli olmayan(none_security)'. �kisinin aras�ndaki fark� anlatmak i�in 'lids_load' tan faydalan�l�r. Varsay�lan de�eri 1'dir, bu LIDS in g�venlik modunda �al��t��� anlam�na gelir-s�n�rlamalar yasala�t�rlm��t�r. E�er 'security=0' olarak ba�lang��ta (LILO promptu) 'none_security' �al��t�r�l�r. Sonu� olarak b�t�n kontroller s�n�rlamar �al��maz hale gelir. 'lids_load=0' atanarak bilgisayar�n LIDS y�klenmeyecekmi� gibi �al��mas� sa�lan�r. G�venlik se�ene�ini de�i�tirmek i�in ek bir se�enek 'lidsadm-S' in online olarak uygulanmas�d�r, bu bir parola gerektirir. <BR> <BR> LIDS,CONFIG_LIDS_ALLOW_CHANGE_ROUTES active ederek ve CAP_NET_ADMIN kapatarak g�venlik duvar� kuarllar�n� �nleme olana��da sa�lar.E�er bir kimse g�venlik duvar� kurallar�n� modifiye etmek isterse,CAP_NET_ADMIN in bu kurallar� ba�kas�n�n de�i�tirmemesi i�in aktive edilmesi gerekir.Buna ek olarak, Siniffer'�n �al��mas� engellenebilir ve porrt taray�n�n kernelle b�t�nle�tirilebilir. <BR> <BR> <BR> Lids bir�ok yan�t se�ene�i de sunar(Yan�tlar b�l�m�ne bak�n�z). <BR> <BR> Genel olarak bir�ok se�enek vard�r. Stealth LIDS 'in nas�l k�t�ye kulln�laca��n� bildirisinde anlatmaktad�r: http://www.securitybugware.org/Linux/4997.html. LIDS Howto �u adreste bulunabilir: http://www.lids.org/lids-howto/lids-hacking-howto.html. <BR> <BR> <A NAME="294lfindex13"> </A> <H3>COLOID</H3> <BR> COLOID(Collection of LKMs for Intrusion Detection), Bir s�re �nce benim tafar�mdan bulundu. <BR> Projenin par�alar�n� bilmeye gelince iyi �al��m�yor ve proje ge�ici olarak durdurulmu� durumda. Buna ra�men, planlanan �zelliklerin ayr�nt�lar�na girmek istiyorum. �lk modulle(prev_exec) belirli binarylerin belirli zamanlarda �al��t�r�lmas�n� ge�ici olarak �nlemek istedik(Kayna��mda GNU compiler kulland�m GCC) �al��t�r�lma yasakland��� zaman bu kaynakta tan�mlan�r-zaman dakika olarak belirlenebilir.E�er bir kullan�c� bu zamanda GCC �al��t�rmak isterse bloke olacakt�r,GCC �al��t�r�lmayacakt�r. Bir kullanc�n�n izin verilen zamanda GCC yi �al��t�r�p �al��t�ramayaca�� arg�man� kontrol edilecek ve .c dosyalar� i�in ara�t�r�lacak.Bu prosed�r�n amac� kaynaktaki 'tehlikeli fonksiyonalar�n'ara�t�r�lmas�d�r. Varsay�lanlar 'scanf' ve 'strcpy'....vbdir. Bir�ok fonksiyon eklemek m�mk�nd�r. Daha �nce belirti�imiz gibi LKM kayanaklar� ara�t�r�r, fonksiyonlar�n sezilip sezilmedi�i, GCC nin �al��t�r�lmas� yasaklanm��t�r. Kay�t dosyas�na ek olarak bir 'beep' geli�tirlmi�tir. <BR> <BR> <BR> Sonunda mod�l �al��t� fakat kavram genel olarak yeterli de�ildi ve kolayca atlat�labilirdi. <BR> <BR> �kinci mod�l daha �nce bahsetti�imiz Anomaly Dedection'� kullanan'anom_dedection'd�r. Asl�nda iki LKM bu b�l�me aittir. <BR> 1) Anomaly_Detection.c : normal kullan�c� aktivitelerinin bi veri taban�n� olu�turur <BR>ve <BR> 2) Misuse_Detect.c : kullan�c�n�n davran���n�n veritaban�nda kaydedilen normal davran���ndan farkl�l�k g�sterip g�stermedi�ini kontrol eder. <BR><BR>LKM kontrol� i�in plan a�a��daki gibiydi. <BR><BR>A�a��daki komutlar� kullan�c� nes�kl�kta �al��t�rd�?: <UL> <LI>su <LI>login <LI>chmod <LI>chown <LI>insmod <LI>ps <LI>lsmod <LI>rm <LI>last <LI>lastlog <LI>ftp </LI></UL><BR><BR>a�a��daki komutlar� kullan�c� ne zaman �al��t�rd�: <BR> <UL> <LI>login <LI>su </LI></UL><BR>ya da kullan�c� PC'yi ne zaman normal olarak ba�latt� ve ne zaman kapatt� <BR>Di�erleri: <BR>A�a��daki dosyalar� ne s�kl�kta a�maya u�ra�t�: <BR> <UL> <LI>/etc/passwd <LI>/etc/group <LI>/etc/shadow <LI>/etc/ftpusers <LI>/etc/ftpgroups <LI>/etc/ftpaccess <LI>/etc/hosts.allow <LI>/etc/hosts.deny <LI>/etc/inetd.conf <LI>..... </LI></UL><BR> <BR> SUID bit setiyle programlar� �al��t�rmaya ne s�kl�kta u�ra�t�? <BR> G�zetlenecek dosyalar�n belirlenmesinde dikkatli olmal�y�z.(Bunalr� ne s�kl�kta a�t�?) E�er biz �ok fazla dosya se�ersek bu PC'nin performans�na bir darbe vuracakt�r. Makul olan dosyalar �al��mayacakt�r. <BR> <BR> Tam kayna�� olmayan benzer LKM'ler vard�r.Bu iki modul�n kayna�� a�a��da belirtilen sayfamdan al�nabilir, belki birisi bununla bi�eyler yapmak isteyebilir. <BR> <BR> <BR> <A NAME="294lfindex14"> </A> <H2>Kapan�� Kelimeleri</H2> Bu konunun i�eri�i hakk�nda daha fazla fikir edinmek isteyen birisi bana bir not b�rakabilir:Socma(Q)gmx.net Ek bilgi, g�r�� ve kritikler i�in l�tfen bana mail g�nederin <BR>Referanslar (Bunlarla birlikte text tede var): <OL> <LI><A href="http://online.securityfocus.com/infocus/1524">http://online.securityfocus.com/infocus/1524</A> <LI><A href="http://online.securityfocus.com/infocus/1534">http://online.securityfocus.com/infocus/1534</A> <LI><A href="http://online.securityfocus.com/infocus/1544">http://online.securityfocus.com/infocus/1544</A> <LI><A href="http://online.securityfocus.com/infocus/1232">http://online.securityfocus.com/infocus/1232</A> <LI><A href="http://www.entercept.com/products/entercept/whitepapers/downloads/systemcall.pdf">http://www.entercept.com/products/entercept/whitepapers/downloads/systemcall.pdf</A> <LI><A href="http://www.computec.ch/dokumente/intrusion_detection/angriffsmoeglichkeiten_auf_okenas_stormwatch/angriffsmoeglichkeiten_auf_okenas_stormwatch.doc">http://www.computec.ch/dokumente/intrusion_detection/angriffsmoeglichkeiten_auf_okenas_stormwatch/angriffsmoeglichkeiten_auf_okenas_stormwatch.doc</A> </LI></OL> <!-- 2pdaIgnoreStart --> <A NAME="talkback"> </a> <h2>Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz</h2> Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz. <center> <table border="0" CELLSPACING="2" CELLPADDING="1" summary="tb-button-outerpart"> <tr BGCOLOR="#C2C2C2"><td align=center> <table border="3" CELLSPACING="2" CELLPADDING="1" summary="tb-button"> <tr BGCOLOR="#C2C2C2"><td align=center> <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=294"><b> talkback page </b></a> </td></tr></table> </td></tr></table> </center> <HR size="2" noshade> <a style="background-color:#bdc6d5" href="index.shtml"><--, Bu say�n�n ana sayfas�na gider </a><br><HR size="2" noshade> <!-- ARTICLE FOOT --> <CENTER><TABLE WIDTH="98%" summary="footer"> <TR><TD ALIGN=CENTER BGCOLOR="#bdc6d5" WIDTH="50%"> <A HREF="../../common/lfteam.html">G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r</A> <BR><FONT COLOR="#FFFFFF">© Klaus M�ller, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT> </TD> <TD BGCOLOR="#bdc6d5"> <!-- TRANSLATION INFO --> <font size=2>�eviri bilgisi:</font> <TABLE summary="translators"> <tr><td><font size="2">de --> -- : Klaus M�ller <small><Socma(at)gmx.net></small></font></td></tr> <tr><td><font size="2">de --> en: J�rgen Pohl <sept.sapins(Q)verizon.net></font></td></tr> <tr><td><font size="2">en --> tr: Muzaffer AYVAZ <ayvazm(at)be.itu.edu.tr></font></td></tr> </TABLE> </TD> </TR></TABLE></CENTER> <p><font size=1>2004-07-14, generated by lfparser version 2.43</font></p> <!-- 2pdaIgnoreStop --> </BODY> </HTML>