IPSIDS特征識別和簽名或規(guī)則編寫_第1頁
IPSIDS特征識別和簽名或規(guī)則編寫_第2頁
IPSIDS特征識別和簽名或規(guī)則編寫_第3頁
IPSIDS特征識別和簽名或規(guī)則編寫_第4頁
IPSIDS特征識別和簽名或規(guī)則編寫_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、IPS/IDS特征識別和簽名或規(guī)則編寫 HYPERLINK 2008年09月02日07:11IT規(guī)則或簽名要素協(xié)議,源IP,目的IP源端口,目的端口,數(shù)據報方向,IP報文的TTL域,IP報文的TOS域,IP報文的分片ID域,IP報文的option域,IP報文的fragbits域(分片比特位),IP負載的長度,TCP的flags域,TCP報文的SEQ域,TCP報文的ACK域,ICMP報文的itype類型域,ICMP報文的icode代碼域,ICMP報文的icmp_id回應消息ID域,ICMP報文的icmp_seq回應消息序列號域,PALOAD負載如果使用SNORT_INLINE版本,可以用的要素是

2、resp,就是入侵響應,可選方式:rst_snd,rst_rcv,rst_all,icmp_net,icmp_host,icmp_port,icmp_all檢測簽名和規(guī)則編寫的時候還要主要協(xié)議特征和PAYLOAD的特征位置,比如offset:0;depth:1;這個就是說從PAYLOAD的起始位置開始,長度是1的PAYLOAD作為特征.數(shù)據報方向在NFR的NCODE里面可以這樣寫:Filtersample1tcp(dport:80,client)相當與從你定義的要保護的子網出去的流量.Filtersample1tcp(dport:80,server)相當與其他網絡到達你定義的要保護的子網進來的

3、流量.在SNORT的規(guī)則里flow:to_server到你要定義的server的流量,flow:from_client是從客戶端來的流量,flow還可以指定檢測連接的狀態(tài)的,比如stateless,established等在NCODE里有*.cfg文件定義的幾個數(shù)據大家要認識一下:backend_id=NID-792-002num_columns=6column_1_attr=IP_ADDR_SRC#源地址column_1_type=p_src_ipcolumn_1_label=SourceAddresscolumn_2_attr=PORT_SRC#源端口column_2_type=p_src

4、_portcolumn_2_label=SourcePortcolumn_3_attr=IP_ADDR_DST#目的地址column_3_type=p_dst_ipcolumn_3_label=DestinationAddresscolumn_4_attr=PORT_DST#目的端口column_4_type=p_dst_portcolumn_4_label=DestinationPortcolumn_5_attr=REASONcolumn_5_type=p_stringcolumn_5_label=Reasoncolumn_6_attr=PAYLOAD蠟據包的DATA部分column_6_t

5、ype=p_stringcolumn_6_label=AdditionalDatagui=listtitle=PPLiveACITVEorigin=NFRdisposition=enableversion=7如果你是檢測UDP協(xié)議特征,你的簽名要素要這樣寫:IP_ADDR_SRC,ip.src,#源地址PORT_SRC,udp.sport,#UDP協(xié)議的源端口IP_ADDR_DST,ip.dst,#目的地址PORT_DST,udp.dport#UDP協(xié)議的目的端口IP_PROTO_NUM,17,#UDP協(xié)議號如果你檢測的是TCP協(xié)議特征,你的簽名要素要這樣寫:IP_ADDR_SRC,tcp.c

6、onnsrc,#TCP協(xié)議的源地址IP_ADDR_DST,tcp.conndst,#TCP協(xié)議的目的地址PORT_SRC,tcp.connsport,#TCP協(xié)議的源端口PORT_DST,tcp.conndport#TCP協(xié)議的目的端口IP_PROTO_NUM,6,#TCP協(xié)議號SNORT和NFR簽名的一般寫法SNORT規(guī)則寫法alerttcp$HOME_NETany-$EXTERNAL_NETany(msg:BLEEDING-EDGEP2PDirectConnectTraffic(client-server);flow:from_client,established;content:$MyI

7、NFO;offset:0;depth:7;classtype:policy-violation;reference:url,/wiki/Direct_connect_file-sharing_application;sid:2002814;rev:1;)注釋:檢測TCP協(xié)議,從要保護的本地網絡到外部網絡的連接,是任意端口到任意端口,即any到any.方向flow:from_client,匹配payload里的第0位開始,長度是7,是否存在$MyINFOalerttcpanyany-any4660:4799(msg:BLEEDING-EDGEP2Ped2kfilerequestanswer;fl

8、ow:to_server,established;content:|e3|;offset:0;depth:1;content:|00000059|;offset:2;depth:4;reference:url, HYPERLINK /practical/GCIH/Ian_Gosling_GCIH.pdf /practical/GCIH/Ian_Gosling_GCIH.pdf;classtype:policy-violation;sid:2000333;rev:5;)注釋:檢測TCP協(xié)議,從任何網絡到任何網絡的連接,從任意端口到4660:4799(端口在4660到4799之間),方向是flow

9、:to_server,payload里第一次匹配第0個字節(jié)是0 xe3,第2次匹配從第2個字節(jié)開始,長度是4個字節(jié)的|00000059|NFR簽名寫法檢測QQUDP登陸的簽名:qq.nfrqq_schema=library_schema:new(1,time,ip,int,ip,int,str,str,scope();#schema里記錄的參數(shù)要和qq.cfg的對應上RCDR=recorder(bin/list%c,qq_schema);#下面是常量定義QQ_REQUEST22=1;#0 x16QQ_REQUEST23=1;#0 x17QQ_REQUEST1=1;#0 x01QQ_REQUES

10、T5=1;#0 x05QQ_REQUEST6=1;#0 x06QQ_REQUEST48=1;#0 x30QQ_REQUEST10=1;#0 x0aQQ_string22=qqsendinfo;QQ_string23=qqclientrecieveinfo;QQ_string1=qqlogout;QQ_string5=qqsearchuser;QQ_string6=qqgetuserinfo;QQ_string48=qqgroupoperationinstruction;QQ_string10=qqdeletegoodfriend;#這個是主要的檢測函數(shù),針對UDP協(xié)議的,目的端口QQ_PORT

11、S是在qq.values里面有的filterqqudp(dport:QQ_PORTS)if(substr(udp.blob,0,l)=x02)#這里跟SNORT的一樣,這個用函數(shù)#substr做PAYLOAD的匹配,這里寫的是從第0個字節(jié)開始,長度為1的包,也就#是第一個字節(jié)是0 x02#detectqqloginif(substr(udp.blob,4,1)=x22)#這里寫的是從第4個字節(jié)開始,長度為#1的包,也就是第一個字節(jié)是0 x22$temp1=ulong(udp.blob,7);#這里去出QQ號alert(source_me,qq_login_alert,#這里是報警的內容,前兩個

12、參數(shù)在#qq.acf文件里定義了ip.src,ip.dst,#在UDP協(xié)議檢測里必須寫上的原和目的的IPcat(QQ,$temp1,:loginserver),#自定義參數(shù),QQ號-AlertDetails,ALERT_ID,911-003-001,#1報警的ID,最好不要#和其他簽名重復ALERT_SEVERITY,low,#報警的嚴重層度ALERT_IMPACT,informationgathering,#漏洞類型ALERT_EVENT_TYPE,logging,#事件類型ALERT_ASSESSMENT,unknown,#事件考評,基本都是unknownALERT_CONFIDENCE,

13、90,#簽名報警的可信度IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,$temp1,$temp1,$temp2,$temp2);recordpacket.sec,ip.src,udp.sport,ip.dst,#做數(shù)據報記錄的功能,#如果attack里的inhitit.values開啟了record這個簽名的功能#,這里就要錄制數(shù)據報udp.sport,qqclientconnecttoserver,N/AtoRCDR;#detectqqrequestinfo$temp1=byte(udp

14、.blob,4);if(QQ_REQUEST$temp1=1)alert(source_me,qq_request_info,ip.src,ip.dst,QQ_string$temp1,-AlertDetails,ALERT_ID,911-003-002,IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport);recordpacket.sec,ip.src,udp.sport,ip.dst,udp.sport,qq_request_info,QQ_string$temp1toRCDR;qq.cfg

15、backend_id=NID-911-003num_columns=6column_1_attr=IP_ADDR_SRCcolumn_1_type=p_src_ipcolumn_1_label=SourceAddresscolumn_2_attr=PORT_SRCcolumn_2_type=p_src_portcolumn_2_label=SourcePortcolumn_3_attr=IP_ADDR_DSTcolumn_3_type=p_dst_ipcolumn_3_label=DestinationAddresscolumn_4_attr=PORT_DSTcolumn_4_type=p_d

16、st_portcolumn_4_label=DestinationPortcolumn_5_attr=REASONcolumn_5_type=p_stringcolumn_5_label=Reasoncolumn_6_attr=PAYLOADcolumn_6_type=p_stringcolumn_6_label=AdditionalDatagui=listtitle=QQACITVEorigin=NFRdisposition=enableversion=7分類說明如何識別網絡軟件或攻擊特征(下列特征和演示例子不是檢測的全部內容,這里就是舉的例子,用來說明問題的,是真的檢測代碼的一個小部分)A

17、)P2P類軟件1)EMULE檢測它包括UDP的特征和TCP的特征,這里就舉一個UDP抓包的例子為了消除誤報,可以將檢測端口放到1024以上.加上過濾條件下面的圖是EMULE的UDP的包1Dat3joaogGd毘或阻JOLDOC-3F200000207d35Lt!(.02iO3DjQ4Dif(substr(udp.blob,0,1)=xe4)#第一個字節(jié)是0 xe4if(substr(udp.blob,1,1)=x20)|(substr(udp.blob,1,1)=x21)|#第2個字節(jié)是0 x21(substr(udp.blob,1,1)=x00)|(substr(udp.blob,1,1)=

18、x10)|(substr(udp.blob,1,1)=x18)|(substr(udp.blob,1,1)=x52)|(substr(udp.blob,1,1)=x58)|(substr(udp.blob,1,1)=x59)|(substr(udp.blob,1,1)=x28)|(substr(udp.blob,1,1)=x50)|(substr(udp.blob,1,1)=x40)alert(emule_source,emule_datatransfer_alert,ip.src,udp.sport,ip.dst,udp.dport,-AlertDetails,ALERT_ID,096-02

19、2-001,ALERT_CONFIDENCE,90,ALERT_SEVERITY,low,ALERT_IMPACT,unknown,ALERT_EVENT_TYPE,probe,ALERT_ASSESSMENT,unknown,IP_PROTO_NUM,17,IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,ed2k,ED2KPROTOCOLDATATRANSFER2);下面舉個TCP的例子90,115SS9.3171967TCP115985.4219551114AhH1:F:i5AUK三已q

20、=994Ack=8604eDonkeeMuleExtensionsTCP:unknown116089.4222077116189.4844111110.0.B.67116239.434660711638S.484669860.20.1S9.717eDonkeeMuleExteniorsTCP:unknowrieDonkeeMuleExtenslonsTCP:unknowneDonkeeDonkeyTCP:HashseTRequestTCP4557134SSYrJ.ACK5eq=0Ack=lV/11RQ.4.R4fiQ11O.O.141.1砧一”1.TCP14Rb-4SS7rAfklW戶n=1A

21、rk=1Win=fiSHeader1engrh:20bytesFlage:0 x0018Qpsh,ACK)Windowsize:65267匚hecksum:0 x7502carrectd-seq/ackanalysis卜eDonkeyProroGole&orikeyPr口tocol3100mo3120313001403150_y7.d325-eCJJni了o7._y25oQ-676c12f&-h-6CJCJe6-.5-dabs9od-dbcJ8p-4276rJFI-663176?-.H_4s5p-_y16262-hlg&452p-2&52斗24rl-c937.6603Pirates.of.th

22、已匸aribbeanThEcurse,of.rhe.Biank_口口m.gnwkt4if(substr(tcp.blob,0,1)=xc5)#0 xc5第0位if(substr(tcp.blob,5,1)=x01)|(substr(tcp.blob,5,1)=x02)|(substr(tcp.blob,5,1)=x04)|(substr(tcp.blob,5,1)=x60)|(substr(tcp.blob,5,1)=x61)|(substr(tcp.blob,5,1)=x81)|(substr(tcp.blob,5,1)=x82)|(substr(tcp.blob,5,1)=x87)|(su

23、bstr(tcp.blob,5,1)=x85)|(substr(tcp.blob,5,1)=x86)|(substr(tcp.blob,5,1)=x90)|(substr(tcp.blob,5,1)=x91)|(substr(tcp.blob,5,1)=x93)#0 xc5第5位alert(emule_source,emule_extensions_alert,ip.src,udp.sport,ip.dst,udp.dport,-AlertDetails,ALERT_ID,096-022-001,ALERT_CONFIDENCE,ALERT_SEVERITY,low,ALERT_IMPACT,

24、unknown,ALERT_EVENT_TYPE,probe,ALERT_ASSESSMENT,unknown,IP_PROTO_NUM,6,IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,ed2k,ED2KExtensions(Emule)PROTOCOLDATATRANSFER);總結一下:關于特征,如果不是協(xié)議特征攻擊方面的,就不要找PAYLOAD以外的其他元素,在PAYLOAD里找不一定都是PAYLOAD的頭一個字節(jié)開始,而且特征都不是一定連續(xù)的,可能跳多少個字節(jié)才有特征,這個最好把

25、關鍵的包打印下來,在紙面上比較比較,暫時沒有太好的工具來計算特征,所謂特征包,就是能重復出現(xiàn)的包,不論是一臺機器上,也不論是一個網段里.2)BT檢測BT的UDP特征檢測ooooQo-n-4rl-67-sooooQoo日1日1T9o3_dcerj37-.-J2666Q-af19-.J257422_d4dLtl且-.-Jr6-.-J_ys4p-el6z71b63d匚rl-b_y-y1305L.OI7a-h-LrLT-_4_3且2o6Ltlp-JL|_Lnc42862p-o1p-A-e3-Ha且sa1-Js3b33If109o巧o6r-3o457-4-d16C7d33if(substr(udp.bl

26、ob,0,4)=d1:a)|(substr(udp.blob,0,4)=d1:r)#這個特#征比較明顯,就是找到字符串是d1:ad2:id20:或者是d1:rd2:id20if(substr(udp.blob,4,8)=d2:id20:)alert(source_bitudp,bit_udp_datatrans_alert,ip.src,ip.dst,-AlertDetails,ALERT_ID,982-002-002,ALERT_SEVERITY,low,ALERT_IMPACT,informationgathering,ALERT_EVENT_TYPE,logging,ALERT_ASSE

27、SSMENT,unknown,IP_PROTO_NUM,17,IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,BTMETHOD,_9);BT的TCP特征BitTorrentAcknow!edgementnumber:49CrelativeacknumberHeader1ength:20bytes:Flags:0 x0018gH,ACK)V/1ndowsize:31952checksum:0 xab09correct也/PUTorreriolsx.2aC0061-NI-.-一I.c.Ir9C2

28、7-2f2?4Lil-74171-1JJJ7-protoc1o72op-c097,or-oo31od-.3sd67-o35so&-J3CIOc_b471-b23b24&74.3fid一;IL.P_uVI-4JsoJ-ooL-d91-oo.ebLI283o4d4r-c7-d716T942afc2Ju_t了5且o4667fab4oo了I-.Iugu-uooQoo丄_-I-4567u-uooQoo卜eeq/atkana.ly5i5if(substr($blob,1,19)=BitTorrentprotocol)#從第1個字節(jié)開#始算特征,BitTorrentprotocol是BT軟件開始應用層握手的

29、信息$confidence=80;#letsIDthissucker$ind=substr($blob,(1+$hdr_len+8+20+1),2);debug:trace($ind=,$ind,$offset=,(1+$hdr_len+8+20+1);$client=BT_CLIENT_DB$ind;if($client=NULL)#XXXwait,theresmore$client=unknown;if(BT_CLIENT_DBsubstr($ind,0,1)$client=BT_CLIENT_DBsubstr($ind,0,1);總結一下:BT軟件是先TCP三次握手,然后應用層握手,接下

30、來有TCP的控制部分還有UDP的控制部分,接下來是搞TCP的DATA部分的傳輸,我們抓包特征有好幾次機會:應用層握手從第1個字節(jié)開始算特征,BitTorrentprotocol是BT軟件開始應用層握手的信息.TCPCONTROL部分UDPCONTROL部分TCPDATA部分,這部分往往是加密傳輸,不太容易做的這里再聲明一次TCP的三次握手不用抓,因為這個不是協(xié)議異常攻擊,是完全的應用層軟件的東西還有就是有時候要檢測PAYLOAD的長度,一般的時候不需要,為了消除誤報,可以把PAYLOAD長度作為一個條件加進去,前提是PAYLOAD長度固定或者在一定范圍內.B)IMS即時通訊工具QQ檢測QQ分U

31、DP登陸和HTTP隧道登陸方式先看看UDPfilterqqudp(dport:QQ_PORTS)if(substr(udp.blob,0,l)=x02)#這里跟SNORT的一樣,這個用函數(shù)#substr做PAYLOAD的匹配,這里寫的是從第0個字節(jié)開始,長度為1的包,也就#是第一個字節(jié)是0 x02#detectqqloginif(substr(udp.blob,4,1)=x22)#這里寫的是從第4個字節(jié)開始,長度為#1的包,也就是第一個字節(jié)是0 x22$temp1=ulong(udp.blob,7);#這里去出QQ號alert(source_me,qq_login_alert,#這里是報警的內

32、容,前兩個參數(shù)在#qq.acf文件里定義了ip.src,ip.dst,#在UDP協(xié)議檢測里必須寫上的原和目的的IPcat(QQ,$temp1,:loginserver),#自定義參數(shù),QQ號-AlertDetails,ALERT_ID,911-003-001,#1報警的ID,最好不要#和其他簽名重復ALERT_SEVERITY,low,#報警的嚴重層度ALERT_IMPACT,informationgathering,#漏洞類型ALERT_EVENT_TYPE,logging,#事件類型ALERT_ASSESSMENT,unknown,#事件考評,基本都是unknownALERT_CONFID

33、ENCE,90,#簽名報警的可信度IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,$temp1,$temp1,$temp2,$temp2);recordpacket.sec,ip.src,udp.sport,ip.dst,#做數(shù)據報記錄的功能,#如果attack里的inhitit.values開啟了record這個簽名的功能#,這里就要錄制數(shù)據報udp.sport,qqclientconnecttoserver,N/AtoRCDR;再看看QQ的HTTP隧道特征冗0030103020他0304

34、0Accept:/rnuser-Agent:Mozi11a/40compatible;M5IET00;windows9Srnhost:rhemeqqcomrn匚ache-匚ontrol;門一匚a匚herncookie:pvid=5281466152;flv=S.0rnVnLclllrJooo-I.-42Voo47cno4d4677.ooAudcocl-Q6L=.-.1.-ooQCOcl-4oAu7JU6p-dAuGJ_dp-_yc212fAu7rrl了oo6Mdf4S1od2b6Qoo1b2*oo2f6aods21LTo3I713Lf匚_aoLrp4-=!-562nQ1fQIZo4b713n-

35、M-3srl-_.roo_y712_1dof3o4=7o7-715_J.Ja-h-_h4b07.5_1d_9fo4c21.3.2rJ_1Lus248_s5oFl-4_I.-/superHTTP/1.1-百/百II其他的特征包我就不在這里貼了,這里為了消除誤報,當有下面的情況發(fā)生是可能也被檢測成QQHTTP登陸:PE1:E:1:丁3門百尸包Rrcriz匸mljET/ww/1mages/L2/mal1a.gifhttp/1.lrnaccept:/rneferer:/rnaccept-Language:zh-cnrnccept-Encoding;gzip,def1aternJser-Agenr:no

36、zi11a/4.0Ccompatible;M5IE6.0;windowsht5.1;5V1;.netclfl2.0.5Q727;infopath.iydost:matlqqcomrnzonnection:Keep-Alivernd=5281456152;flw=S.0rnIfHTTP/ept:“嚴r:http:bl000045545732f31322f4S54542f313a202a2aOd6874743a2ff7777772f691696c612e670dOd4163636566657265T/ww/iiages/12/malla.g-1.1.ACCRefers/ww.qq上面這個是QQ瀏覽

37、 HYPERLINK 網站的情況,我們這里要把HOST字段 HYPERLINK 過濾掉,Referer是 HYPERLINK 過濾掉.我們這里還要檢測Cookie的特征,才能檢測QQHTTP登陸的情況if(index($host, HYPERLINK )0)return;if(index($url,/getsyspanel?)=0)&(index($url,qqver)=0)&(index($url,qq=)=0)alert(ims_qqhttp_source,qq_http_alert,tcp.connsrc,tcp.conndst,-AlertDetails,ALERT_ID,911-01

38、1-001,ALERT_CONFIDENCE,90,ALERT_SEVERITY,info,ALERT_EVENT_TYPE,attack,IP_ADDR_SRC,tcp.connsrc,IP_ADDR_DST,tcp.conndst,PORT_SRC,tcp.connsport,PORT_DST,tcp.conndport,QQURI,$url);if(index($url,/getlogo?QQ=)=0)|(index($url,superbag.xml)=0)alert(ims_qqhttp_source,qq_http_alert,tcp.connsrc,tcp.conndst,-Al

39、ertDetails,ALERT_ID,911-011-001,ALERT_CONFIDENCE,90,ALERT_SEVERITY,info,ALERT_EVENT_TYPE,attack,IP_ADDR_SRC,tcp.connsrc,IP_ADDR_DST,tcp.conndst,PORT_SRC,tcp.connsport,PORT_DST,tcp.conndport,QQURI,$url);if(index($cookie,QQ_IPAddress=)=0)&(index($cookie,pvid=)=0)|(index($cookie,flv=)=0)&(index($host,.

40、)=0)alert(ims_qqhttp_source,qq_http_alert,tcp.connsrc,tcp.conndst,-AlertDetails,ALERT_ID,911-011-001,ALERT_CONFIDENCE,90,ALERT_SEVERITY,info,ALERT_EVENT_TYPE,attack,IP_ADDR_SRC,tcp.connsrc,IP_ADDR_DST,tcp.conndst,PORT_SRC,tcp.connsport,PORT_DST,tcp.conndport,QQURI,$url,Host,$host,Cookie,$cookie);MSN

41、檢測這里舉個MSN傳文件的例子9217.Q0272477TCP32492003PacketLength:1446bytescaptureLength:1446bytesProtocolsinframe:eth:ip:tcp:dataiTransmissionControlProtocol,5rcPort:3249(3249),DstPort:Z003E0Sourceport:3249Q249)Desrinationport:2003(20033sequencenumber:4atlwesequencenumber)Nextsequencenumber:1395(relafivesequence

42、number)Acknowledgementnumber:0(relaliveacknumber)Header1ength:20bytes:Flags:0 x0018(PSH,ACK)Windowsize:64582chacksuin:0 x737correctu1oooooAuoooooooo門:n-_y_dbcdp-fo1-1.-_.!-4rl-67.DataC1392bytesi:-msnin5gnreqbodyr-Lengrn.EUF-GUIO2AB-619bbb-OOgOicarion/r-sessio匸onren:989.D:i5D3E4F795683onlD:10schariri

43、q0.匸琴屮.Fla#、-”:.AppiD:ext:fgi叮MaaaaAOgsAAAEAAADOTViWd42#detectmsnfiletransferif(index($buffer,x41x70 x70 x49x44x3ax20 x32x0dx0a)=0)$to=elem(split($buffer,rn),5);$from=elem(split($buffer,rn),6);$temp=elem(split($buffer,rn),16);$temp1=substr($temp,(strlen(context:);$temp1=substr($temp1,0,100);$filenam

44、e=debase64($temp1);alert(ims_source,msn_file_alert,$from,$to,tcp.connsrc,tcp.conndst,-AlertDetails,ALERT_ID,911-010-002,ALERT_CONFIDENCE,90,ALERT_SEVERITY,info,ALERT_IMPACT,information,ALERT_EVENT_TYPE,logging,filename,$filename,IP_ADDR_SRC,tcp.connsrc,IP_ADDR_DST,tcp.conndst,PORT_SRC,tcp.connsport,

45、PORT_DST,tcp.conndport);總結一下:IMS軟件的特征基本在應用層協(xié)議找,不用在傳輸層找,應用層協(xié)議有HTTP的,有HTTP隧道的,有UDP的,特征基本在PAYLOAD這里找,還有就是將來要做IMS軟件的功能的禁止或者是檢測,最好作好干凈的機器,卸裝其他有網絡應用的軟件,以防止干擾,如果是做IMS的某個功能點,最好是在功能點啟動的那一刻啟動抓包軟件進行抓包,這樣少干擾的包.網絡視頻1)QQLIVE檢測這里檢測UDP協(xié)議:c39o51sdso_y902o54op-dodbc7.ooTg52o2oc8eeo67-dOH6d3CJ567ocd11-dsood9o7.4327od日

46、rj6fc-1.4-d749.ecl-c4315o7.8Ju8ob55o2452rl-3gd92ECJo6odfoFJo9o7-dfo2-T3f_d5dIdo42cbo87-cf15b4c_yo_d6Ju4_ds64648.fobo1002000300040005000600070OOSO_d1odDatabytesj00200030004000500060007000S0F5cglQlk-s-oa8ob6d87Hoco_doo1oaclo9o23d002f00c4ebflO_y7s46f1cf4f78fo_b24co6528bH-l10b_be=!_cb6_yooaoo5ffd4of04fb

47、Q-d2f3op-37-bo匚87.7foo41bo1O4&Data(612byt也主J66203f0c347d26b3026cS69b00300040005000600070Q080if(udp.sport1024)&(udp.dport1024)if(substr(udp.blob,0,1)=xfe)if(substr(udp.blob,2,2)=x00 x00)|(substr(udp.blob,2,2)=x04x04)alert(source_qqliveudpdata,qqlive_udp_datatrans_alert,ip.src,ip.dst,-AlertDetails,ALE

48、RT_ID,988-002-002,ALERT_SEVERITY,info,ALERT_IMPACT,informationgathering,ALERT_EVENT_TYPE,logging,ALERT_ASSESSMENT,unknown,IP_PROTO_NUM,17,IP_ADDR_SRC,ip.src,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,QQLIVEMETHOD,_1);if(substr(udp.blob,0,2)=x91x00)|(substr(udp.blob,0,2)=x92x00)if(subst

49、r(udp.blob,3,11)=x00 x00 x00 x00 x00 x00 x00 x00 x00 x00 x00)alert(source_qqliveudpdata,qqlive_udp_datatrans_alert,ip.src,ip.dst,-AlertDetails,ALERT_ID,988-002-002,ALERT_SEVERITY,info,ALERT_IMPACT,informationgathering,ALERT_EVENT_TYPE,logging,ALERT_ASSESSMENT,unknown,IP_PROTO_NUM,17,IP_ADDR_SRC,ip.s

50、rc,PORT_SRC,udp.sport,IP_ADDR_DST,ip.dst,PORT_DST,udp.dport,QQLIVEMETHOD,_2);這些軟件都屬于P2P軟件類,他們的數(shù)據報大概有幾種類型:HTTP訪問類,主要是軟件界面的交互要的,一般不專門做特征的查找,因為隨著P2P軟件的升級,這部分改動比較大,這樣簽名還要修改,不太值得做.TCPCONTROL的部分,主要走TCP軟件控制協(xié)議,盡量找特征TCPDATA的部分,主要走TCP數(shù)據部分,有時候走的是加密數(shù)據,一般不用抓特征,但是有時候也能有特征,他的特征容易誤報UDPCONTROL的部分,主要走UDP軟件控制協(xié)議,盡量找特征U

51、DPDATA的部分,主要走UDP數(shù)據部分,有時候走的是加密數(shù)據,一般不用抓特征,但是有時候也能有特征,他的特征容易誤報端口可以作為檢測條件,端口可以給定在一定范圍內,這樣可以減少誤報基于HTTP協(xié)議的軟件或相關漏洞的攻擊特征1)REDCODE檢測SNORTRULES2.3里檢測redcode2的辦法是:alerttcp$EXTERNAL_NETany-$HTTP_SERVERS$HTTP_PORTS(msg:WEB-IISCodeRedv2root.exeaccess;flow:to_server,established;uricontent:/root.exe;nocase;referenc

52、e:url, HYPERLINK /advisories/CA-2001-19.html /advisories/CA-2001-19.html;classtype:web-application-attack;sid:1256;rev:8;)檢測URI里是否包含/root.exe在NFR里檢測還是比較合理的:KEY_IDA=14;CODERED_VARIANTS/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

53、NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a=CodeRed;CODERED_VARIANTS/default.ida?XXXX

54、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u

55、9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a=CodeRedII;if(KEY_IDAinside$matched&strlen($uri)IISISAPI_INDEXING_BUFSIZE)if(CODERED_VARIANTS$uri)alert(www_iis_source,codered_alert,tcp.connsrc,tcp.conndst,substr(CODERED_VARIANTS$uri,0,1024),-AlertDetails,ALERT_ID,27-64,ALERT_CONFIDENCE,_:c

56、onfidence(90),ALERT_SEVERITY,high,ALERT_IMPACT,codeexecution,ALERT_EVENT_TYPE,attack,ALERT_ASSESSMENT,unknown,CONTEXT,attack:context(codered_alert),IP_PROTO_NUM,6,IP_ADDR_SRC,tcp.connsrc,PORT_SRC,tcp.connsport,IP_ADDR_DST,tcp.conndst,PORT_DST,tcp.conndport,CMD_NAME,$ci_:CLIENT_METHOD,HTTP_URL,$uri);

57、record_:CURRENT_TIME(),tcp.connsrc,tcp.connsport,tcp.conndst,tcp.conndport,CODERED_VARIANTS$uri,$uritoMYRECORDER;misc_attacks:rec(_:CURRENT_TIME(),scope(),CODERED_VARIANTS$uri,tcp.connsrc,tcp.conndst);return(1);elsealert(www_iis_source,iisindexing_alert,tcp.connsrc,tcp.conndst,strlen($uri),-AlertDet

58、ails,ALERT_ID,27-65,ALERT_CONFIDENCE,_:confidence(90),ALERT_SEVERITY,high,ALERT_IMPACT,codeexecution,ALERT_EVENT_TYPE,attack,ALERT_ASSESSMENT,unknown,CONTEXT,attack:context(iisindexing_alert),IP_PROTO_NUM,6,IP_ADDR_SRC,tcp.connsrc,PORT_SRC,tcp.connsport,IP_ADDR_DST,tcp.conndst,PORT_DST,tcp.conndport

59、,CMD_NAME,$ci_:CLIENT_METHOD,HTTP_URL,$uri);record_:CURRENT_TIME(),tcp.connsrc,tcp.connsport,tcp.conndst,tcp.conndport,IISIndexingServiceBufferOverflowAttempt,$uritoMYRECORDER;misc_attacks:rec(_:CURRENT_TIME(),scope(),IISIndexingServiceBufferOverflowAttempt,tcp.connsrc,tcp.conndst);return(1);NCODE里講

60、檢測REDCODE是檢測他溢出傳播的過程,我認為做的還是比較合理,他檢測如果URI里的數(shù)據長度超過上限,大家可以認為是IISIndexingServiceBufferOverflowAttempt,如果下面一個條件(CODERED_VARIANTS在URI里存在)符合就是redcode傳播總結一下:檢測這個URL的病毒,最好不要檢測病毒體最后的名稱,因為變種病毒很多,最好檢測病毒的發(fā)作原理,SNORT有他自己的缺點,在這方面不是一兩個規(guī)則能描述清楚的EMAIL相關攻擊的簽名1)SMTP帳號破解SNORTRULES2.4中有一條規(guī)則alerttcp$EXTERNAL_NETany-$SMTP_S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論