<!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">&lt;--</FONT></A> &nbsp;| 
                 <A class="nodec" href="../index.shtml"><FONT color=
                 "#DDDDDD" size="2">Ana Sayfa</FONT></A> &nbsp;| 
                 <A class="nodec" href="../map.html"><FONT color=
                 "#DDDDDD" size="2">Eri�imd�zeni</FONT></A> &nbsp;| 
                 <A class="nodec" href="../indice.html"><FONT color=
                 "#DDDDDD" size="2">��indekiler</FONT></A> &nbsp;| 
                 <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> &nbsp;<A href="../../Deutsch/July2003/article294.shtml">Deutsch</a> &nbsp;<A href="../../Francais/July2003/article294.shtml">Francais</a> &nbsp;<A href="../../Nederlands/July2003/article294.shtml">Nederlands</a> &nbsp;<A href="../../Turkce/July2003/article294.shtml">Turkce</a> &nbsp;</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>&lt;Socma(at)gmx.net&gt;</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>&lt;ayvazm(at)be.itu.edu.tr&gt;</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>&nbsp;
<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">&nbsp;</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">&nbsp;</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">&nbsp;</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 -&gt; $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">&nbsp;</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">&nbsp;</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">&nbsp;</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 | ------------&gt; | Innocent  | ----------&gt; | 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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</A>
<H2>Ornekler</H2>


<BR>

Bu son b�l�mde baz� IDS � lere ba�lang�� yap�lacak.

<BR>

<A NAME="294lfindex11">&nbsp;</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: &lt;name&gt; &lt;wert&gt;      var

   MY_NET [192.168.1.0/24,10.1.1.0/24]
   alert tcp any any -&gt; $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 &lt;directive&gt; [: &lt;value&gt; ]
</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 -&gt; $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 -&gt; $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 -&gt; $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 -&gt; ....
</PRE><BR>

Bir ba�ka alternatif   "any"i kullanmakt�r, bu her  IP adresini i�erir.

<BR><PRE class=code>        log tcp any any -&gt; ...
</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                     -&gt; all ports smaller equal
                                 portnumber
 portnumber:                     -&gt; all ports higher equal
                                 portnumber
 fromportnumber:toportnumber     -&gt; 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            -&gt; 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" -&gt; "destination"
</PRE>

Ba�ka bir �eklide var .<> :

<PRE class=code>                 "source" &lt;&gt; "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 -&gt; $HOME_NET 143 (flags : PA;  \
  content : "|E8C0FFFFFF|\bin|;activates : 1; msg : "IMAP buf!";)
dynamic tcp !$HOME_NET any -&gt; $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 -&gt; $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:"&lt;text&gt;";
</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: "&lt;filename&gt;";
</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: [&gt;|&lt;] &lt;size&gt;;
</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: &lt;Flag valuet&gt;;
</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: [!] "&lt;content&gt;";
</PRE><BR>

"!" zorunlu de�il.

<BR><PRE class=code> alert tcp any any -&gt; 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 -&gt; 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 : &lt;basic argument [, additional modifier ]&gt;;
</PRE><BR>

'react' anahtar kelimesi kural se�eneklerinin en sonuna eklenir, ��yle kullan�labilir.

<BR><PRE class=code> alert tcp any any &lt;&gt; 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> &lt; 100 = reserved for future use
 100-1 000 000 = rules which come with Snort
 &gt; 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:  &lt;snort rules id&gt;;

 alert tcp $EXTERNAL_NET any -&gt; $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: &lt;class name&gt;;
</PRE><BR>

Kurallar�n kategorileri clasification.config ' de tan�mlan�r.A�a��daki sentaks kullan�l�r.

<BR><PRE class=code> config classification: &lt;class name&gt;,&lt;class description&gt;,\
       &lt;standard priority&gt;
</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 -&gt; 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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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>&nbsp;talkback page&nbsp;</b></a>
   </td></tr></table>
</td></tr></table>
</center>

<HR size="2" noshade>
<a style="background-color:#bdc6d5" href="index.shtml">&lt;--, 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">&copy; 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 --&gt; -- : Klaus M�ller <small>&lt;Socma(at)gmx.net&gt;</small></font></td></tr>
  <tr><td><font size="2">de --&gt; en: J�rgen Pohl &lt;sept.sapins(Q)verizon.net&gt;</font></td></tr>
  <tr><td><font size="2">en --&gt; tr: Muzaffer AYVAZ &lt;ayvazm(at)be.itu.edu.tr&gt;</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>