1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp - Tìm hiểu tấn công DDoS

116 1,6K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 116
Dung lượng 3,78 MB

Nội dung

Ngày nay, khi Internet được phổ biến rộng rãi, các tổ chức, cá nhân đều có nhu cầu giới thiệu thông tin của mình trên xa lộ thông tin, các giao dịch thương mại điện ngày càng trở lên gần gũi với mọi người. Vấn đề này nảy sinh khi phạm vi ứng dụng của các ứng dụng web ngày càng mở rộng thì khả năng xuất hiện lỗi và bị tấn công ngay càng cao, trở thành đối tượng tấn công cho nhiều người tấn công với mục đích khác nhau. Những cuộc tấn công này không chỉ gây ra tổn thất về mặt tài chính mà còn làm ảnh hưởng nặng nền đến uy tín của các tổ chức hoạt động trên internet. Một hình thức tấn công mà nó đã và đang là nỗi lo âu, khiếp sợ của các website thương mại điện tử, các tổ chức hoạt động trên môi trường mạng internet phải kể đến đó là DDoS (Distributed Denial of Service Kiểu tấn công từ chối dịch vụ phân tán)Kể từ khi xuất hiện vào mùa thu năm 1999, DDoS đã khiến các website trên thế giới phải “điêu đứng”. Ngày 732000, website www.yahoo.com phải ngưng phục vụ hàng trăm triệu người dùng trên thế giới trong vài giờ do phải gánh chịu một đợt tấn DDoS với quy mô vài ngàn máy tính liên tục gửi hàng triệu request đến các server dịch vụ làm cho các server này không thể phục vụ người sử dụng thông thường khác. Vài ngày sau, một sự kiện tương tự diễn ra với hàng loạt các website trong đó có những website đã quá nổi tiếng trên thể giới như hãng tin CNN, amazon.com, buy.com, Zden.com, Etrade.com, Ebay.com . Tổng thiệt hại do các cuộc tấn đó gây ra lên đến 1.2 triệu USD, nhưng không đáng kể bắng sự mất lòng tin từ phía khách hàng, uy tín của các công ty là không thể tính đượcỞ Việt Nam trong một vài năm trở lại đây, tấn công kiểu DDoS phát triển một cách chóng mặt. Mục tiêu “yêu thích” của các cuộc tấn công này là các website thương mại điện tử, các website nổi tiếng (có lượng truy cập nhiều), các tạp chí, báo điện tử, các cơ quan, tổ chức chính phủ và phi chính phủ. Điển hình là các vụ tấn công vào các website bảo mật lớn nhất Việt Nam là HVA (www.hvaforum.net) và VietHacker.org vào cuối năm 2005 khiến các website bị tê liệt hoàn toàn trong vài ngày. Vào đầu năm 2006 website thương mại điện tử www.vietco.com của công ty cổ phần Việt Cơ đã phải hứng chịu một cuộc tấn công với qui mô hàng nghìn máy tính khiến công ty phải tạm thời bị gián đoạn hoạt động và đứng trước nguy cơ phá sản…Và còn hàng trăm các cuộc tấn công DDoS khác đang diễn ra từng ngày, từng giờ với kỹ thuật ngày càng tinh vi và khó lường, thiệt hại gây ra là không thể kể hết.Từ những dẫn chứng cụ thể trên cũng đủ để cho chúng ta thấy tấn công kiểu DDoS có sức nguy hiểm như thế nào. Đồ án này được thực hiện nhằm mục đích nghiên cứu, tìm hiểu về cách thức hoạt động và các biện pháp phòng chống DDoS, giúp mọi người có cái nhìn tổng quan về kiểu tấn công nguy hiểm này.

®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Lêi nãi ®Çu Ngµy nay, khi Internet ®îc phæ biÕn réng r·i, c¸c tæ chøc, c¸ nh©n ®Òu cã nhu cÇu giíi thiÖu th«ng tin cña m×nh trªn xa lé th«ng tin, c¸c giao dÞch th¬ng m¹i ®iÖn ngµy cµng trë lªn gÇn gòi víi mäi ngêi. VÊn ®Ò nµy n¶y sinh khi ph¹m vi øng dông cña c¸c øng dông web ngµy cµng më réng th× kh¶ n¨ng xuÊt hiÖn lçi vµ bÞ tÊn c«ng ngay cµng cao, trë thµnh ®èi tîng tÊn c«ng cho nhiÒu ngêi tÊn c«ng víi môc ®Ých kh¸c nhau. Nh÷ng cuéc tÊn c«ng nµy kh«ng chØ g©y ra tæn thÊt vÒ mÆt tµi chÝnh mµ cßn lµm ¶nh hëng nÆng nÒn ®Õn uy tÝn cña c¸c tæ chøc ho¹t ®éng trªn internet. Mét h×nh thøc tÊn c«ng mµ nã ®· vµ ®ang lµ nçi lo ©u, khiÕp sî cña c¸c website th¬ng m¹i ®iÖn tö, c¸c tæ chøc ho¹t ®éng trªn m«i trêng m¹ng internet ph¶i kÓ ®Õn ®ã lµ DDoS (Distributed Denial of Service - KiÓu tÊn c«ng tõ chèi dÞch vô ph©n t¸n) KÓ tõ khi xuÊt hiÖn vµo mïa thu n¨m 1999, DDoS ®· khiÕn c¸c website trªn thÕ giíi ph¶i “®iªu ®øng”. Ngµy 7/3/2000, website www.yahoo.com ph¶i ngng phôc vô hµng tr¨m triÖu ngêi dïng trªn thÕ giíi trong vµi giê do ph¶i g¸nh chÞu mét ®ît tÊn DDoS víi quy m« vµi ngµn m¸y tÝnh liªn tôc göi hµng triÖu request ®Õn c¸c server dÞch vô lµm cho c¸c server nµy kh«ng thÓ phôc vô ngêi sö dông th«ng thêng kh¸c. Vµi ngµy sau, mét sù kiÖn t¬ng tù diÔn ra víi hµng lo¹t c¸c website trong ®ã cã nh÷ng website ®· qu¸ næi tiÕng trªn thÓ giíi nh h·ng tin CNN, amazon.com, buy.com, Zden.com, E-trade.com, Ebay.com . Tæng thiÖt h¹i do c¸c cuéc tÊn ®ã g©y ra lªn ®Õn 1.2 triÖu USD, nhng kh«ng ®¸ng kÓ b¾ng sù mÊt lßng tin tõ phÝa kh¸ch hµng, uy tÝn cña c¸c c«ng ty lµ kh«ng thÓ tÝnh ®îc ë ViÖt Nam trong mét vµi n¨m trë l¹i ®©y, tÊn c«ng kiÓu DDoS ph¸t triÓn mét c¸ch chãng mÆt. Môc tiªu “yªu thÝch” cña c¸c cuéc tÊn c«ng nµy lµ c¸c website th¬ng m¹i ®iÖn tö, c¸c website næi tiÕng (cã lîng truy cËp nhiÒu), c¸c t¹p chÝ, b¸o ®iÖn tö, c¸c c¬ quan, tæ chøc chÝnh phñ vµ phi chÝnh phñ. §iÓn h×nh lµ c¸c vô tÊn c«ng vµo c¸c website b¶o mËt lín nhÊt ViÖt Nam lµ HVA (www.hvaforum.net) vµ VietHacker.org vµo cuèi n¨m 2005 khiÕn c¸c website bÞ SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 1 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh tª liÖt hoµn toµn trong vµi ngµy. Vµo ®Çu n¨m 2006 website th¬ng m¹i ®iÖn tö www.vietco.com cña c«ng ty cæ phÇn ViÖt C¬ ®· ph¶i høng chÞu mét cuéc tÊn c«ng víi qui m« hµng ngh×n m¸y tÝnh khiÕn c«ng ty ph¶i t¹m thêi bÞ gi¸n ®o¹n ho¹t ®éng vµ ®øng tríc nguy c¬ ph¸ s¶n…Vµ cßn hµng tr¨m c¸c cuéc tÊn c«ng DDoS kh¸c ®ang diÔn ra tõng ngµy, tõng giê víi kü thuËt ngµy cµng tinh vi vµ khã lêng, thiÖt h¹i g©y ra lµ kh«ng thÓ kÓ hÕt. Tõ nh÷ng dÉn chøng cô thÓ trªn còng ®ñ ®Ó cho chóng ta thÊy tÊn c«ng kiÓu DDoS cã søc nguy hiÓm nh thÕ nµo. §å ¸n nµy ®îc thùc hiÖn nh»m môc ®Ých nghiªn cøu, t×m hiÓu vÒ c¸ch thøc ho¹t ®éng vµ c¸c biÖn ph¸p phßng chèng DDoS, gióp mäi ngêi cã c¸i nh×n tæng quan vÒ kiÓu tÊn c«ng nguy hiÓm nµy. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 2 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh TæNG Ch¬ng 1 QUAN VÒ DDOS 1.1. Giíi thiÖu chung vÒ DDoS: DDoS (distributed denial-of-service attack) lµ mét kiÓu tÊn c«ng ®a mét hÖ thèng cung cÊp dÞch vô ®Õn møc ho¹t ®éng tíi h¹n vÒ tµi nguyªn, hay g©y nhÇm lÉn logic dÉn ®Õn hÖ thèng ngõng ho¹t ®éng. Kh¸c víi DoS (denial-of-service attack) lµ chØ cÇn mét m¸y ®Ó tÊn c«ng, DDoS sö dông nhiÒu m¸y tÝnh bÞ chiÕm quyÒn ®iÒu khiÓn kÕt nèi víi nhau (m¹ng Botnet) ®Ó tÊn c«ng nªn søc hñy ho¹i lµ rÊt lín. 1.2. Ph©n lo¹i c¸c kiÓu tÊn c«ng DDoS Nh×n chung, cã rÊt nhiÒu c¸ch ®Ó ph©n lo¹i c¸c kiÓu tÊn c«ng DDoS nhng theo em c¸ch ph©n lo¹i theo môc ®Ých tÊn c«ng lµ kh¸ ®Çy ®ñ, ®¬n gi¶n vµ dÔ hiÓu. Díi ®©y lµ s¬ ®å m« t¶ sù ph©n lo¹i c¸c kiÓu tÊn c«ng DDoS dùa theo môc ®Ých tÊn c«ng: lµm c¹n kiÖt b¨ng th«ng vµ lµm c¹n kiÖt tµi nguyªn hÖ thèng. H×nh 1-: Ph©n lo¹i c¸c kiÓu tÊn c«ng DDoS TÊn c«ng lµm c¹n kiÖt b¨ng th«ng TÊn c«ng lµm c¹n kiÖt b¨ng th«ng (BandWith Depletion Attack) ®îc thiÕt kÕ nh»m lµm trµn ngËp m¹ng môc tiªu víi nh÷ng traffic kh«ng cÇn thiÕt, víi SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 3 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh môc ®Þch lµm gi¶m tèi thiÓu kh¶ n¨ng cña c¸c traffic hîp lÖ ®Õn ®îc hÖ thèng cung cÊp dÞch vô cña môc tiªu. Cã hai lo¹i tÊn c«ng lµm c¹n kiÖt b¨ng th«ng : - Flood attack: §iÒu khiÓn c¸c Agent göi mét lîng lín traffic ®Õn hÖ thèng dÞch vô cña môc tiªu, lµm dÞch vô nµy bÞ hÕt kh¶ n¨ng vÒ b¨ng th«ng. - Amplification attack: §iÒu khiÓn c¸c Agent hay Client tù göi packet ®Õn mét ®Þa chØ IP broadcast, lµm cho tÊt c¶ c¸c m¸y trong subnet nµy göi packet ®Õn hÖ thèng dÞch vô cña môc tiªu. Ph¬ng ph¸p nµy lµm gia t¨ng traffic kh«ng cÇn thiÕt, lµm suy gi¶m b¨ng th«ng cña môc tiªu. 1.2.1.1. Flood attack: Trong ph¬ng ph¸p nµy, c¸c Agent sÏ göi mét lîng lín IP traffic lµm hÖ thèng dÞch vô cña môc tiªu bÞ chËm l¹i, hÖ thèng bÞ treo hay ®¹t ®Õn tr¹ng th¸i ho¹t ®éng b·o hßa. Lµm cho nh÷ng ngêi dïng thùc sù cña hÖ thèng kh«ng sö dông ®îc dÞch vô. Ta cã thÓ chia Flood Attack thµnh hai lo¹i: - UDP Flood Attack: do tÝnh chÊt connectionless cña UDP, hÖ thèng nhËn UDP message chØ ®¬n gi¶n nhËn vµo tÊt c¶ c¸c packet m×nh cÇn ph¶i xö lý. Mét lîng lín c¸c UDP packet ®îc göi ®Õn hÖ thèng dÞch vô cña môc tiªu sÏ ®Èy toµn bé hÖ thèng ®Õn ngìng tíi h¹n. - C¸c UDP packet nµy cã thÓ ®îc göi ®Õn nhiÒu port tïy ý hay chØ duy nhÊt mét port. Th«ng thêng lµ sÏ göi ®Õn nhiÒu port lµm cho hÖ thèng môc tiªu ph¶i c¨ng ra ®Ó xö lý ph©n híng cho c¸c packet nµy. NÕu port bÞ tÊn c«ng kh«ng s½n sµng th× hÖ thèng môc tiªu sÏ göi ra mét ICMP packet lo¹i “destination port unreachable”. Th«ng thêng c¸c Agent software sÏ dïng ®Þa chØ IP gi¶ ®Ó che giÊu hµnh tung, cho nªn c¸c packet tr¶ vÒ do kh«ng cã port xö lý sÏ dÉn ®Õn mét ®Þa chØ IP kh¸c. UDP Flood attack còng cã thÓ lµm ¶nh hëng ®Õn c¸c kÕt nèi xung quanh môc tiªu do sù héi tô cña packet diÔn ra rÊt m¹nh. - ICMP Flood Attack: ®îc thiÕt kÕ nh»m môc ®Ých qu¶n lý m¹ng còng nh ®Þnh vÞ thiÕt bÞ m¹ng. Khi c¸c Agent göi mét lîng lín ICMP ECHO SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 4 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh REQUEST ®Õn hÖ thèng môc tiªu th× hÖ thèng nµy ph¶i reply mét lîng t¬ng øng Packet ®Ó tr¶ lêi, sÏ dÉn ®Õn nghÏn ®êng truyÒn. T¬ng tù trêng hîp trªn, ®Þa chØ IP cña c¸c Agent cã thÓ bÞ gi¶ m¹o. 1.2.1.2. Amplification Attack: Amplification Attack nh¾m ®Õn viÖc sö dông c¸c chøc n¨ng hç trî ®Þa chØ IP broadcast cña c¸c router nh»m khuyÕch ®¹i vµ håi chuyÓn cuéc tÊn c«ng. Chøc n¨ng nµy cho phÐp bªn göi chØ ®Þnh mét ®Þa chØ IP broadcast cho toµn subnet bªn nhËn thay v× nhiÒu ®Þa chØ. Router sÏ cã nhiÖm vô göi ®Õn tÊt c¶ ®Þa chØ IP trong subnet ®ã packet broadcast mµ nã nhËn ®îc. Attacker cã thÓ göi broadcast packet trùc tiÕp hay th«ng qua mét sè Agent nh»m lµm gia t¨ng cêng ®é cña cuéc tÊn c«ng. NÕu attacker trùc tiÕp göi packet, th× cã thÓ lîi dông c¸c hÖ thèng bªn trong broadcast network nh mét Agent. H×nh 1-: Amplification Attack Cã thÓ chia amplification attack thµnh hai lo¹i, Smuft vµ Fraggle attack: - Smuft attack: trong kiÓu tÊn c«ng nµy attacker göi packet ®Õn network amplifier (router hay thiÕt bÞ m¹ng kh¸c hç trî broadcast), víi ®Þa chØ cña n¹n nh©n. Th«ng thêng nh÷ng packet ®îc dïng lµ ICMP ECHO REQUEST, c¸c packet nµy yªu cÇu yªu cÇu bªn nhËn ph¶i tr¶ lêi b»ng mét ICMP ECHO REPLY packet. Network amplifier sÏ göi ®Õn ICMP ECHO REQUEST packet ®Õn tÊt c¶ SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 5 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh c¸c hÖ thèng thuéc ®Þa chØ broadcast vµ tÊt c¶ c¸c hÖ thèng nµy sÏ REPLY packet vÒ ®Þa chØ IP cña môc tiªu tÊn c«ng Smuft Attack. - Fraggle Attack: t¬ng tù nh Smuft attack nhng thay v× dïng ICMP ECHO REQUEST packet th× sÏ dïng UDP ECHO packet göi ®Õn môc tiªu. ThËt ra cßn mét biÕn thÓ kh¸c cña Fraggle attack sÏ göi ®Õn UDP ECHO packet ®Õn chargen port (port 19/UNIX) cña môc tiªu, víi ®Þa chØ bªn göi lµ echo port (port 7/UNIX) cña môc tiªu, t¹o nªn mét vßng lÆp v« h¹n. Attacker ph¸t ®éng cuéc tÊn c«ng b»ng mét ECHO REQUEST víi ®Þa chØ bªn nhËn lµ mét ®Þa chØ broadcast, toµn bé hÖ thèng thuéc ®Þa chØ nµy lËp tøc göi REPLY ®Õn port echo cña n¹n nh©n, sau ®ã tõ n¹n nh©n mét ECHO REPLY l¹i göi trë vÒ ®Þa chØ broadcast, qu¸ tr×nh cø thÕ tiÕp diÔn. §©y chÝnh lµ nguyªn nh©n Flaggle Attack nguy hiÓm h¬n Smuft Attack rÊt nhiÒu. TÊn c«ng lµm c¹n kiÖt tµi nguyªn TÊn c«ng lµm c¹n kiÖt tµi nguyªn (Resource Deleption Attack) lµ kiÓu tÊn c«ng trong ®ã Attacker göi nh÷ng packet dïng c¸c protocol sai chøc n¨ng thiÕt kÕ, hay göi nh÷ng packet víi dông ý lµm t¾t nghÏn tµi nguyªn m¹ng lµm cho c¸c tµi nguyªn nµy kh«ng phôc vô nh÷ng ngêi dïng th«ng thêng kh¸c ®îc. 1.2.1.3. Protocol Exploit Attack - TCP SYN Attack: Transfer Control Protocol hç trî truyÒn nhËn víi ®é tin cËy cao nªn sö dông ph¬ng thøc b¾t tay gi÷a bªn göi vµ bªn nhËn tríc khi truyÒn d÷ liÖu. Bíc ®Çu tiªn, bªn göi göi mét SYN REQUEST packet (Synchronize). Bªn nhËn nÕu nhËn ®îc SYN REQUEST sÏ tr¶ lêi b»ng SYN/ACK packet. Bíc cuèi cïng, bªn göi sÏ truyªn packet cuèi cïng ACK vµ b¾t ®Çu truyÒn d÷ liÖu. H×nh 1-: Ba bíc kÕt nèi TCP/IP SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 6 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh NÕu bªn server ®· tr¶ lêi mét yªu cÇu SYN b»ng mét SYN/ACK nhng kh«ng nhËn ®îc ACK packet cuèi cïng sau mét kho¶ng thêi gian quy ®Þnh th× nã sÏ göi l¹i SYN/ACK cho ®Õn hÕt thêi gian timeout. Toµn bé tµi nguyªn hÖ thèng “dù tr÷” ®Ó xö lý phiªn giao tiÕp nÕu nhËn ®îc ACK packet cuèi cïng sÏ bÞ “phong táa” cho ®Õn hÕt thêi gian timeout. H×nh 1-: Trêng hîp IP nguån gi¶ N¾m ®îc ®iÓm yÕu nµy, attacker göi mét SYN packet ®Õn n¹n nh©n víi ®Þa chØ bªn göi lµ gi¶ m¹o, kÕt qu¶ lµ n¹n nh©n göi SYN/ACK ®Õn mét ®Þa chØ kh¸c vµ sÏ kh«ng bao giê nhËn ®îc ACK packet cuèi cïng, cho ®Õn hÕt thêi gian timeout n¹n nh©n míi nhËn ra ®îc ®iÒu nµy vµ gi¶i phãng c¸c tµi nguyªn hÖ thèng. Tuy nhiªn, nÕu lîng SYN packet gi¶ m¹o ®Õn víi sè lîng nhiÒu vµ dån dËp, hÖ thèng cña n¹n nh©n cã thÓ bÞ hÕt tµi nguyªn. - PUSH vµ ACK Attack: Trong TCP protocol, c¸c packet ®îc chøa trong buffer, khi buffer ®Çy th× c¸c packet nµy sÏ ®îc chuyÓn ®Õn n¬i cÇn thiÕt. Tuy nhiªn, bªn göi cã thÓ yªu cÇu hÖ thèng unload buffer tríc khi buffer ®Çy b»ng c¸ch göi mét packet víi cê PUSH vµ ACK mang gi¸ trÞ lµ 1. Nh÷ng packet nµy lµm cho hÖ thèng cña n¹n nh©n unload tÊt c¶ d÷ liÖu trong TCP buffer ngay lËp tøc vµ göi mét ACK packet trë vÒ khi thùc hiÖn xong ®iÒu nµy, nÕu qu¸ tr×nh ®îc diÔn ra liªn tôc víi nhiÒu Agent, hÖ thèng sÏ kh«ng thÓ xö lý ®îc lîng lín packet göi ®Õn vµ sÏ bÞ treo. 1.2.1.4. Malformed Packet Attack Malformed Packet Attack lµ c¸ch tÊn c«ng dïng c¸c Agent ®Ó göi c¸c packet cã cÊu tróc kh«ng ®óng chuÈn nh»m lµm cho hÖ thèng cña n¹n nh©n bÞ treo. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 7 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Cã hai lo¹i Malformed Packet Attack: - IP address attack: dïng packet cã ®Þa chØ göi vµ nhËn gièng nhau lµm cho hÖ ®iÒu hµnh cña n¹n nh©n kh«ng xö lý næi vµ bÞ treo. - IP packet options attack ngÉu nhiªn hãa vïng OPTION trong IP packet vµ thiÕt lËp tÊt c¶ c¸c bit QoS lªn 1, ®iÒu nµy lµm cho hÖ thèng cña n¹n nh©n ph¶i tèn thêi gian ph©n tÝch, nÕu sö dông sè lîng lín Agent cã thÓ lµm hÖ thèng n¹n nh©n hÕt kh¶ n¨ng xö lý. 1.3. S¬ ®å m¹ng Botnet S¬ ®å Handler-Agent H×nh 1-: S¬ ®å Handler-Agent M¹ng Handler-Agent th«ng thêng bao gåm 3 thµnh phÇn: Agent, Client vµ Handler. Trong ®ã : - Client: Lµ phÇn mÒm c¬ së ®Ó hacker ®iÒu khiÓn mäi ho¹t ®éng cña m¹ng Handler-Agent. - Handler: Lµ mét phÇn mÒm trung gian gi÷a Agent vµ Client. - Agent: Lµ mét phÇn mÒm thùc hiÖn sù tÊn c«ng môc tiªu, nhËn ®iÒu khiÓn tõ Client th«ng quan c¸c Handler. Attacker sÏ tõ Client giao tiÕp víi Handler ®Ó x¸c ®Þnh sè lîng c¸c Agent ®ang online, ®iÒu chØnh thêi ®iÓm tÊn c«ng vµ cËp nhËt c¸c Agent. Tuú theo c¸ch SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 8 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh attacker cÊu h×nh m¹ng Botnet, c¸c Agent sÏ chÞu sù qu¶n lý cña mét hay nhiÒu Handler. Th«ng thêng Attacker sÏ ®Æt c¸c Handler trªn mét Router hay Server cã lîng lu th«ng lín. ViÖc nµy nh»m lµm cho c¸c giao tiÕp gi÷a Client, Handler vµ Agent khã bÞ ph¸t hiÖn. C¸c giao thøc nµy thêng diÔn ra trªn c¸c giao thøc TCP, UDP hay ICMP. Chñ nh©n thùc sù cña c¸c Agent thêng kh«ng biÕt hä bÞ lîi dông trong c¸c cuéc tÊn c«ng DDoS, do hä kh«ng ®ñ kiÕn thøc hoÆc c¸c ch¬ng tr×nh Backdoor Agent chØ sö dông rÊt Ýt tµi nguyªn hÖ thèng lµm cho hÇu nh kh«ng thÓ thÊy ¶nh hëng g× ®Õn hiÖu n¨ng cña hÖ thèng. S¬ ®å IRC Base H×nh 1-: S¬ ®å IRC Base Internet Relay Chat(IRC) lµ mét hÖ thèng online chat nhiÒu ngêi. IRC cho phÐp ngêi sö dông t¹o mét kÕt nèi ®Õn nhiÒu ®iÓm kh¸c víi nhiÒu ngêi sö dông kh¸c nhau vµ chat thêi gian thùc. KiÕn tróc cò cña IRC network bao gåm nhiÒu IRC server trªn kh¾p Internet, giao tiÕp víi nhau trªn nhiÒu kªnh (channnel). IRC network cho phÐp user tao ba lo¹i channel: Public, Private vµ Secrect. Trong ®ã : - Public channel: Cho phÐp user cña channel ®ã thÊy IRC name vµ nhËn ®îc message cña mäi user kh¸c trªn cïng channel. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 9 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Private channel: §îc thiÕt kÕ ®Ó giao tiÕp víi c¸c ®èi tîng cho phÐp.Kh«ng cho phÐp c¸c user kh«ng cïng channel thÊy IRC name vµ message trªn channel. Tuy nhiªn, nÕu user ngoµi channel dïng mét sè lÖnh channel locator th× cã thÓ biÕt ®îc sù tån t¹i cña private channel ®ã. - Secrect channel: T¬ng tù private channel nhng kh«ng thÓ x¸c ®Þnh b»ng channel locator. M¹ng IRC-based còng t¬ng tù nh m¹ng Agent-Handler nhng m« h×nh nµy sö dông c¸c kªnh giao tiÕp IRC lµm ph¬ng tiÖn giao tiÕp gi÷a Client vµ Agent (kh«ng sö dông Handler). Sö dông m« h×nh nµy, attacker cßn cã thªm mét sè lîi thÕ kh¸c nh: - C¸c giao tiÕp díi d¹ng chat message lµm cho viÖc ph¸t hiÖn chóng lµ v« cïng khã kh¨n. - Lu th«ng IRC cã thÓ di chuyÓn trªn m¹ng víi sè lîng lín mµ kh«ng bÞ nghi ngê. - Kh«ng cÇn ph¶i duy tr× danh s¸ch c¸c Agent, hacker chØ cÇn logon vµo IRC server lµ ®· cã thÓ nhËn ®îc report vÒ tr¹ng th¸i c¸c Agent do c¸c channel göi vÒ. - Sau cïng: IRC còng lµ mét m«i trêng chia sÎ file t¹o ®iÒu kiÖn ph¸t t¸n c¸c Agent code lªn nhiÒu m¸y kh¸c. 1.4. C¸c ph¬ng ph¸p x©y dùng tµi nguyªn tÊn c«ng Cã rÊt nhiÒu ®iÓm chung cña c¸c c«ng cô DDoS attack. Cã thÓ kÓ ra mét sè ®iÓm chung nh: c¸ch cµi ch¬ng tr×nh Agent, ph¬ng ph¸p giao tiÕp gi÷a c¸c attacker, Handler vµ Agent, ®iÓm chung vÒ lo¹i hÖ ®iÒu hµnh hç trî c¸c c«ng cô nµy. S¬ ®å sau m« t¶ sù so s¸nh t¬ng quan gi÷a c¸c c«ng cô tÊn c«ng DDoS nµy. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 10 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 1-: C¸c ph¬ng ph¸p x©y dùng tµi nguyªn tÊn c«ngC¸ch thøc cµi ®Æt DDoS Agent Attacker cã thÓ dïng ph¬ng ph¸p active vµ passive ®Ó cµi ®Æt ch¬ng tr×nh Agent lªn c¸c m¸y kh¸c nh»m thiÕt lËp m¹ng tÊn c«ng kiÓu Agent-Handler hay IRC-based. * C¸c c¸ch cµi ®Æt sö dông ph¬ng ph¸p active nh: - Scaning: dïng c¸c c«ng cô nh Nmap, Nessus ®Ó t×m nh÷ng s¬ hë trªn c¸c hÖ thèng ®ang online nh»m cµi ®Æt ch¬ng tr×nh Agent. Chó ý, Nmap sÏ tr¶ vÒ nh÷ng th«ng tin vÒ mét hÖ thèng ®· ®îc chØ ®Þnh b»ng ®Þa chØ IP, Nessus t×m kiÕm tõ nh÷ng ®Þa chØ IP bÊt kú vÒ mét ®iÓm yÕu biÕt tríc nµo ®ã. - Backdoor: sau khi t×m thÊy ®îc danh s¸ch c¸c hÖ thèng cã thÓ lîi dông, attacker sÏ tiÕn hµnh x©m nhËp vµ cµi ch¬ng tr×nh Agent lªn c¸c hÖ thèng nµy. Cã rÊt nhiÒu th«ng tin s½n cã vÒ c¸ch thøc x©m nhËp trªn m¹ng, nh site cña tæ chøc Common Vulnerabilities and Exposures (CVE), ë ®©y liÖt kª vµ ph©n lo¹i trªn 4.000 lo¹i lçi cña tÊt c¶ c¸c hÖ thèng hiÖn cã. Th«ng tin nµy lu«n s½n sµng cho c¶ giíi qu¶n trÞ m¹ng lÉn hacker. - Trojan: lµ mét ch¬ng tr×nh thùc hiÖn mét chøc n¨ng th«ng thêng nµo ®ã, nhng l¹i cã mét sè chøc n¨ng tiÒm Èn phôc vô cho môc ®Ých riªng cña ngêi SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 11 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh viÕt mµ ngêi dïng kh«ng thÓ biÕt ®îc. Cã thÓ dïng Trojan nh mét ch¬ng tr×nh Agent. - Buffer Overflow: tËn dông lçi buffer overflow, attacker cã thÓ lµm cho chu tr×nh thùc thi ch¬ng tr×nh th«ng thêng bÞ chuyÓn sang chu tr×nh thùc thi ch¬ng tr×nh cña hacker (n»m trong vïng d÷ liÖu ghi ®Ì). Cã thÓ dïng c¸ch nµy ®Ó tÊn c«ng vµo mét ch¬ng tr×nh cã ®iÓm yÕu buffer overflow ®Ó ch¹y ch¬ng tr×nh Agent. * C¸ch cµi ®Æt sö dông passive: - Bug tr×nh duyÖt web: attacker cã thÓ lîi dông mét sè lçi cña tr×nh duyÖt web ®Ó cµi ch¬ng tr×nh Agent vµo m¸y cña user truy cËp. Attacker sÏ t¹o mét trang web mang néi dung tiÒm Èn nh÷ng code vµ lÖnh ®Ó ®Æt bÉy user. Khi user truy cËp néi dung cña trang web, th× trang web download vµ cµi ®Æt ch¬ng tr×nh Agent mét c¸ch bÝ mËt. Microsoft Internet Explorer (IE) thêng lµ môc tiªu cña c¸ch cµi ®Æt nµy, víi c¸c lçi cña ActiveX cã thÓ cho phÐp tr×nh duyÖt IE tù ®éng download vµ cµi ®Æt code trªn m¸y cña ngêi dïng duyÖt web. - Corrupted file: mét ph¬ng ph¸p kh¸c lµ nhóng code vµo trong c¸c file th«ng thêng. Khi user ®äc hay thùc thi c¸c file nµy, m¸y cña hä lËp tøc bÞ nhiÔm ch¬ng tr×nh Agent software. Mét trong nh÷ng kü thuËt phæ biÕn lµ ®Æt tªn file rÊt dµi, do mÆc ®Þnh cña c¸c hÖ ®iÒu hµnh chØ hiÓn thÞ phÇn ®Çu cña tªn file nªn attacker cã thÓ göi kÌm theo email cho n¹n nh©n file nh sau: iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do chØ thÊy phÇn “Iloveyou.txt” hiÓn thÞ nªn user sÏ më file nµy ®Ó ®äc vµ lËp tøc file nµy ®îc thùc thi vµ Agent code ®îc cµi vµo m¸y n¹n nh©n. Ngoµi ra cßn nhiÒu c¸ch kh¸c nh ngôy trang file, ghÐp file… * Giao tiÕp trªn m¹ng Botnet Protocol: giao tiÕp trªn m¹ng Botnetcã thÓ thùc hiÖn trªn nÒn c¸c protocol TCP, UDP, ICMP. M· hãa c¸c giao tiÕp: mét vµi c«ng cô DDoS hç trî m· hãa giao tiÕp trªn toµn bé m¹ng Botnet. Tïy theo protocol ®îc sö dông ®Ó giao tiÕp sÏ cã c¸c ph- SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 12 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh ¬ng ph¸p m· hãa thÝch hîp. NÕu m¹ng Botnet ë d¹ng IRC-based th× private vµ secrect channel ®· hç trî m· hãa giao tiÕp. C¸ch kÝch ho¹t Agent: cã hai ph¬ng ph¸p chñ yÕu ®Ó kÝch ho¹t Agent. C¸ch thø nhÊt lµ Agent sÏ thêng xuyªn quÐt th¨m dß Handler hay IRC channel ®Ó nhËn chØ thÞ (active Agent). C¸ch thø hai lµ Agent chØ ®¬n gi¶n lµ “n»m vïng” chê chØ thÞ tõ Handler hay IRC Channel. 1.5. Mét sè kiÓu tÊn c«ng DDoS vµ c¸c c«ng cô tÊn c«ng DDoS Mét sè kiÓu tÊn c«ng DDoS Bªn c¹nh viÖc ph©n lo¹i c¸c kiÓu tÊn c«ng theo môc ®Ých tÊn c«ng, ta cßn cã thÓ ph©n lo¹i theo c¸ch tÊn c«ng vµo giao thøc. Díi ®©y lµ ph©n lo¹i mét sè c¸ch tÊn c«ng DDoS theo giao thøc : (Tham kh¶o tõ http://www.cisco.com ). - HTTP Flood. - SYN Flood. - ICMP Flood. - TCP Reset. - UDP Flood. Mét sè c«ng cô tÊn c«ng DDoS 1.5.1.1. Trinoo - Trinoo lµ mét c«ng cô tÊn c«ng tõ chèi dÞch vô b»ng kÜ thuËt UDP Flood ®îc kÕt hîp tõ nhiÒu nguån. - Mét cuéc tÊn c«ng DDoS b»ng Trinoo ®îc thùc hiÖn bëi kÕt nèi cña attacker ®Õn mét hay nhiÒu Trinoo Master vµ chØ dÉn cho Master ph¸t ®éng tÊn c«ng DDoS ®Õn mét hoÆc nhiÒu môc tiªu. Master sÏ liªn l¹c víi c¸c daemons ®Ó ra lÖnh cho c¸c daemons göi c¸c UDP packet ®Õn môc tiªu. M« h×nh : - Attacker(s)-->Master(s)-->daemon(s)-->victim(s) - Attacker -----> Master : port 27665/TCP - Master -----> Deamons : port 27444/UDP SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 13 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Daemon ------> Master : port 31335/UDP - Deamon -----> UDP Flood ®Õn môc tiªu (random port) 1.5.1.2. Tribe Flood Network (TFN/TFN2K) T¬ng tù nh Trinoo nhng Tribe Flood Network cßn cho phÐp attacker sö dông thªm ICMP flood, SYN flood vµ Smurf . M« h×nh : Attacker(s)-->client(s)-->daemon(s)-->victim(s) 1.5.1.3. Stacheldraht Stacheldraht lµ sù kÕt hîp c¸c tÝnh n¨ng cña Trinoo vµ TFN, bªn c¹nh ®ã cßn thªm kh¶ n¨ng m· hãa giao tiÕp gi÷a attacker vµ stacheldraht masters. Stacheldraht cung cÊp cho attacker kh¸ nhiÒu ph¬ng thøc tÊn c«ng tõ chèi dÞch vô : ICMP flood, SYN flood, UDP flood vµ Smurf . M« h×nh : Client(s)-->handler(s)-->agent(s)-->victim(s) - Client ---> handler(s) : port 16660/tcp - Handler agent(s): port 65000/tcp, ICMP ECHO REPLY 1.5.1.4. Trinity Trinity cã hÇu hÕt c¸c kü thuËt tÊn c«ng bao gåm: UDP, TCP SYN, TCP ACK, TCP fragment, TCP NULL, TCP RST, TCP random flag, TCP ESTABLISHED packet flood. Nã cã s½n kh¶ n¨ng ngÉu nhiªn hãa ®Þa chØ bªn gëi. Trinity còng hç trî TCP flood packet víi kh¶ n¨ng ngÉu nhiªn tËp CONTROL FLAG. Trinity cã thÓ nãi lµ mét trong sè c¸c c«ng cô DDoS nguy hiÓm nhÊt. 1.5.1.5. Shaft Shaft cã c¸c kÜ thuËt tÊn c«ng UDP, ICMP vµ TCP flood. Cã thÓ tÊn c«ng phèi hîp nhiÒu kiÓu cïng lóc. Cã thèng kª chi tiÕt cho phÐp attacker biÕt t×nh tr¹ng tæn thÊt cña n¹n nh©n, møc ®é quy m« cña cuéc tÊn c«ng ®Ó ®iÒu chØnh sè lîng Agent. M« h×nh : SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 14 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Client(s)-->handler(s)-->agent(s)-->victim(s) - Client ----> handler(s): port 20432/tcp - Handler ---> agent(s): port 18753/udp - Agent ---> handler(s): port 20433/udp 1.5.1.6. X-flash VÊn ®Ò then chèt cña hacker tÊn c«ng b»ng h×nh th¸i cæ ®iÓn lµ n¾m quyÒn ®iÒu khiÓn cµng nhiÒu m¸y tÝnh cµng tèt, sau ®ã anh ta sÏ trùc tiÕp ph¸t ®éng tÊn c«ng hµng lo¹t tõ xa th«ng qua mét kªnh ®iÒu khiÓn. Víi quy m« m¹ng líi tÊn c«ng bao gåm vµi tr¨m ngh×n m¸y, h×nh th¸i nµy cã thÓ ®¸nh gôc ngay lËp tøc bÊt cø hÖ thèng nµo. Phèi hîp víi kh¶ n¨ng gi¶ m¹o ®Þa chØ IP, kiÓu tÊn c«ng nµy sÏ rÊt khã lÇn theo dÊu vÕt. H×nh 1-: M« h×nh m¹ng Classic DDoS Tuy nhiªn, m« h×nh nµy cã mét sè nhîc ®iÓm: - M¹ng líi tÊn c«ng lµ cè ®Þnh vµ tÊn c«ng x¶y ra ®ång lo¹t nªn rÊt dÔ ®iÒu tra ngîc t×m manh mèi. - Software cµi lªn c¸c Infected Agent lµ gièng nhau vµ cã thÓ dïng lµm b»ng chøng kÕt téi hacker. - PhÝa n¹n nh©n cã thÓ ®iÒu chØnh hÖ thèng phßng vÖ ®Ó ng¨n chÆn v× m¹ng líi tÊn c«ng lµ “kh¶ kiÕn”. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 15 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Hacker buéc ph¶i trùc tiÕp kÕt nèi ®Õn m¹ng líi c¸c m¸y tÊn c«ng t¹i thêi ®iÓm tÊn c«ng ®Ó ®iÒu khiÓn nªn rÊt dÔ lÇn ra thñ ph¹m. X-Flash xuÊt hiÖn sau khi DantruongX vµ nhãm BeYeu ph¸t hiÖn ra nh÷ng lç hæng b¶o mËt cña IE vµ Flash Player. Nã chØ b»ng c¸ch ®¬n gi¶n lµ göi yªu cÇu tíi web server d¹ng HTTP Request ( yªu cÇu d¹ng POST hay GET) víi mét tèc ®é cùc k× nhanh kiÕn web services bÞ crash. C¸ch tÊn c«ng : Hacker treo mét file flash trªn mét trang web trung gian cã nhiÒu ngêi truy xuÊt, ngêi dïng truy xuÊt trang web nµy file flash sÏ ®îc t¶i vÒ m¸y vµ ®îc ch¬ng tr×nh Flash thùc thi. Tõ ®©y v« sè c¸c yªu cÇu truy xuÊt sÏ gëi ®Õn trang web môc tiªu. H×nh 1-: M« h×nh m¹ng X-Flash DDoS Flash DDOS cã mét sè ®Æc tÝnh khiÕn cho viÖc ng¨n chÆn vµ ph¸t hiÖn gÇn nh lµ kh«ng thÓ. Do m¹ng líi tÊn c«ng phøc t¹p vµ tù h×nh thµnh : - Kh«ng cÇn thiÕt ph¶i n¾m quyÒn ®iÒu khiÓn vµ cµi DDOS software vµo c¸c infected agent. Thay vµo ®ã mäi user víi mét tr×nh duyÖt cã hç trî néi dung Flash (cã Flash Player) sÏ trë thµnh c«ng cô tÊn c«ng. - Sè lîng attack agent tïy thuéc vµo sè lîng user truy xuÊt c¸c trang web ®· bÞ hacker “nhóng” néi dung flash, sè lîng nµy thay ®æi theo thêi gian vµ hoµn toµn kh«ng thÓ nhËn biÕt ®Þa chØ IP nguån, v× ®©y lµ c¸c user th«ng thêng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 16 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Kh«ng hÒ cã qu¸ tr×nh gëi lÖnh vµ nhËn b¸o c¸o gi÷a hacker vµ m¹ng líi tÊn c«ng, toµn bé lÖnh tÊn c«ng ®îc “nhóng” trong néi dung flash vµ hacker kh«ng cÇn nhËn b¸o c¸o do ®©y lµ m« h×nh tÊn c«ng bÊt ®ång bé. - TÊn c«ng bÊt ®ång bé: ViÖc tÊn c«ng diÔn ra kh«ng cÇn cã mÖnh lÖnh. Ngêi dïng truy xuÊt trang web , load néi dung flash vÒ tr×nh duyÖt vµ Flash player thùc thi néi dung flash th× ngay lËp tøc m¸y cña hä trë thµnh mét attack agent-liªn tôc gëi hµng tr¨m request ®Õn m¸y chñ web n¹n nh©n. - Quy m« tÊn c«ng phô thuéc vµo sè lîng trang web bÞ lîi dông vµ sè lîng ngêi dïng thêng xuyªn truy xuÊt c¸c trang web nµy. ChØ tÝnh trung b×nh hacker lîi dông ®îc 10 trang web vµ mçi trang web nµy cã sè lîng truy xuÊt kho¶ng 100 user t¹i mét thêi ®iÓm th× tæng sè request mµ server n¹n nh©n ph¶i høng chÞu t¹i mét thêi ®iÓm lªn ®Õn con sè vµi chôc ngµn. §©y lµ mét sè liÖu kinh hoµng víi bÊt kú ai lµm qu¶n trÞ hÖ thèng cña bÊt cø trang web nµo vµ kÕt qu¶ thêng lµ hÖ thèng tª liÖt ngay lËp tøc. Tuy nhiªn, hiÖn nay ch¬ng tr×nh Flash player míi nhÊt ®· ®îc fix lçi, c¸ch tÊn c«ng Flash ®· phÇn nµo ®îc h¹n chÕ. 1.6. Phßng chèng DDoS Phßng chèng DDoS Cã rÊt nhiÒu gi¶i ph¸p vµ ý tëng ®îc ®a ra nh»m ®èi phã víi c¸c cuéc tÊn c«ng kiÓu DDoS. Tuy nhiªn kh«ng cã gi¶i ph¸p vµ ý tëng nµo lµ gi¶i quyÕt trän vÑn bµi to¸n Phßng chèng DDoS. C¸c h×nh th¸i kh¸c nhau cña DDoS liªn tôc xuÊt hiÖn theo thêi gian song song víi c¸c gi¶i ph¸p ®èi phã, tuy nhiªn cuéc ®ua vÉn tu©n theo quy luËt tÊt yÕu cña b¶o mËt m¸y tÝnh: “Hacker lu«n ®i tríc giíi b¶o mËt mét bíc”. Cã ba giai ®o¹n chÝnh trong qu¸ tr×nh Phßng chèng DDoS: - Giai ®o¹n ng¨n ngõa: tèi thiÓu hãa lîng Agent, t×m vµ v« hiÖu hãa c¸c Handler. - Giai ®o¹n ®èi ®Çu víi cuéc tÊn c«ng: Ph¸t hiÖn vµ ng¨n chÆn cuéc tÊn c«ng, lµm suy gi¶m vµ dõng cuéc tÊn c«ng, chuyÓn híng cuéc tÊn c«ng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 17 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Giai ®o¹n sau khi cuéc tÊn c«ng x¶y ra: thu thËp chøng cø vµ rót kinh nghiÖm. H×nh 1-: C¸c giai ®o¹n chi tiÕt trong phßng chèng DDoS 1.6.1.1. Tèi thiÓu hãa lîng Agent Tõ phÝa ngêi dïng: mét ph¬ng ph¸p rÊt tèt ®Ó ng¨n ngõa tÊn c«ng DDoS lµ tõng ngêi dïng Internet sÏ tù ®Ò phßng kh«ng ®Ó bÞ lîi dông tÊn c«ng hÖ thèng kh¸c. Muèn ®¹t ®îc ®iÒu nµy th× ý thøc vµ kü thuËt phßng chèng ph¶i ®îc phæ biÕn réng r·i cho mäi ngêi dïng. M¹ng líi Botnet sÏ kh«ng bao giê h×nh thµnh nÕu kh«ng cã ngêi nµo bÞ lîi dông trë thµnh Agent. Mäi ngêi dïng ph¶i liªn tôc thùc hiÖn c¸c qu¸ tr×nh b¶o mËt trªn m¸y vi tÝnh cña m×nh. Hä ph¶i tù kiÓm tra sù hiÖn diÖn cña Agent trªn m¸y cña m×nh, ®iÒu nµy lµ rÊt khã kh¨n ®èi víi nh÷ng ngêi dïng th«ng thêng. Mét gi¶i ph¸p ®¬n gi¶n lµ nªn cµi ®Æt vµ update liªn tôc c¸c software nh antivirus, antitrojan vµ c¸c b¶n patch cña hÖ ®iÒu hµnh. Tõ phÝa Network Service Provider: Thay ®æi c¸ch tÝnh tiÒn dÞch vô truy cËp theo dung lîng sÏ lµm cho user lu ý ®Õn nh÷ng g× hä göi, nh vËy vÒ mÆt ý thøc t¨ng cêng ph¸t hiÖn DDoS Agent sÏ tù n©ng cao ë mçi ngêi dïng. 1.6.1.2. T×m vµ v« hiÖu hãa c¸c Handler: Mét nh©n tè v« cïng quan träng trong m¹ng Botnet lµ Handler, nÕu cã thÓ ph¸t hiÖn vµ v« hiÖu hãa Handler th× kh¶ n¨ng Phßng chèng DDoS thµnh c«ng lµ rÊt cao. B»ng c¸ch theo dâi c¸c giao tiÕp gi÷a Handler vµ Client hay Handler vµ SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 18 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Agent ta cã thÓ ph¸t hiÖn ra vÞ trÝ cña Handler. Do mét Handler qu¶n lý nhiÒu, nªn triÖt tiªu ®îc mét Handler còng cã nghÜa lµ lo¹i bá mét lîng ®¸ng kÓ c¸c Agent trong m¹ng Botnet. 1.6.1.3. Ph¸t hiÖn dÊu hiÖu cña cuéc tÊn c«ng: Cã nhiÒu kü thuËt ®îc ¸p dông: - Agress Filtering: Kü thuËt nµy kiÓm tra xem mét packet cã ®ñ tiªu chuÈn ra khái mét subnet hay kh«ng dùa trªn c¬ së gateway cña mét subnet lu«n biÕt ®îc ®Þa chØ IP cña c¸c m¸y thuéc subnet. C¸c packet tõ bªn trong subnet göi ra ngoµi víi ®Þa chØ nguån kh«ng hîp lÖ sÏ bÞ gi÷ l¹i ®Ó ®iÒu tra nguyªn nh©n. NÕu kü thuËt nµy ®îc ¸p dông trªn tÊt c¶ c¸c subnet cña Internet th× kh¸i nhiÖm gi¶ m¹o ®Þa chØ IP sÏ kh«ng cßn tån t¹i. - MIB statistics: trong Management Information Base (SNMP-Simple Network Management Protocol ) cña route lu«n cã th«ng tin thèng kÓ vÒ sù biÕn thiªn tr¹ng th¸i cña m¹ng. NÕu ta gi¸m s¸t chÆt chÏ c¸c thèng kª cña Protocol ICMP, UDP vµ TCP ta sÏ cã kh¶ n¨ng ph¸t hiÖn ®îc thêi ®iÓm b¾t ®Çu cña cuéc tÊn c«ng ®Ó t¹o “quü thêi gian vµng” cho viÖc xö lý t×nh huèng. 1.6.1.4. Lµm suy gi¶m hay dõng cuéc tÊn c«ng Dïng c¸c kü thuËt sau: - Load balancing: ThiÕt lËp kiÕn tróc c©n b»ng t¶i cho c¸c server träng ®iÓm sÏ lµm gia t¨ng thêi gian chèng chäi cña hÖ thèng víi cuéc tÊn c«ng DDoS. Tuy nhiªn, ®iÒu nµy kh«ng cã ý nghÜa l¾m vÒ mÆt thùc tiÔn v× quy m« cña cuéc tÊn c«ng lµ kh«ng cã giíi h¹n. - Throttling: ThiÕt lËp c¬ chÕ ®iÒu tiÕt trªn router, quy ®Þnh mét kho¶ng t¶i hîp lý mµ server bªn trong cã thÓ xö lý ®îc. Ph¬ng ph¸p nµy còng cã thÓ ®îc dïng ®Ó ng¨n chÆn kh¶ n¨ng DDoS traffic kh«ng cho user truy cËp dÞch vô. H¹n chÕ cña kü thuËt nµy lµ kh«ng ph©n biÖt ®îc gi÷a c¸c lo¹i traffic, ®«i khi lµm dÞch vô bÞ gi¸n ®o¹n víi user, DDoS traffic vÉn cã thÓ x©m nhËp vµo m¹ng dÞch vô nhng víi sè lîng h÷u h¹n. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 19 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Drop request: ThiÕt lËp c¬ chÕ drop request nÕu nã vi ph¹m mét sè quy ®Þnh nh: thêi gian delay kÐo dµi, tèn nhiÒu tµi nguyªn ®Ó xö lý, g©y deadlock. Kü thuËt nµy triÖt tiªu kh¶ n¨ng lµm c¹n kiÖt n¨ng lùc hÖ thèng, tuy nhiªn nã còng giíi h¹n mét sè ho¹t ®éng th«ng thêng cña hÖ thèng, cÇn c©n nh¾c khi sö dông. 1.6.1.5. ChuyÓn híng cuéc tÊn c«ng Honeyspots: Mét kü thuËt ®ang ®îc nghiªn cøu lµ Honeyspots. Honeyspots lµ mét hÖ thèng ®îc thiÕt kÕ nh»m ®¸nh lõa attacker tÊn c«ng vµo khi x©m nhËp hÖ thèng mµ kh«ng chó ý ®Õn hÖ thèng quan träng thùc sù. Honeyspots kh«ng chØ ®ãng vai trß “Lª Lai cøu chóa” mµ cßn rÊt hiÖu qu¶ trong viÖc ph¸t hiÖn vµ xö lý x©m nhËp, v× trªn Honeyspots ®· thiÕt lËp s½n c¸c c¬ chÕ gi¸m s¸t vµ b¸o ®éng. Ngoµi ra, Honeyspots cßn cã gi¸ trÞ trong viÖc häc hái vµ rót kinh nghiÖm tõ Attacker, do Honeyspots ghi nhËn kh¸ chi tiÕt mäi ®éng th¸i cña attacker trªn hÖ thèng. NÕu attacker bÞ ®¸nh lõa vµ cµi ®Æt Agent hay Handler lªn Honeyspots th× kh¶ n¨ng bÞ triÖt tiªu toµn bé m¹ng Botnet lµ rÊt cao. 1.6.1.6. Giai ®o¹n sau tÊn c«ng Trong giai ®o¹n nµy th«ng thêng thùc hiÖn c¸c c«ng viÖc sau: - Traffic Pattern Analysis: NÕu d÷ liÖu vÒ thèng kª biÕn thiªn lîng traffic theo thêi gian ®· ®îc lu l¹i th× sÏ ®îc ®a ra ph©n tÝch. Qu¸ tr×nh ph©n tÝch nµy rÊt cã Ých cho viÖc tinh chØnh l¹i c¸c hÖ thèng Load Balancing vµ Throttling. Ngoµi ra c¸c d÷ liÖu nµy cßn gióp qu¶n trÞ m¹ng ®iÒu chØnh l¹i c¸c quy t¾c kiÓm so¸t traffic ra vµo m¹ng cña m×nh. - Packet Traceback: b»ng c¸ch dïng kü thuËt Traceback ta cã thÓ truy ngîc l¹i vÞ trÝ cña Attacker (Ýt nhÊt lµ subnet cña attacker). Tõ kü thuËt Traceback ta ph¸t triÓn thªm kh¶ n¨ng Block Traceback tõ attacker kh¸ h÷u hiÖu. - Bevent Logs: B»ng c¸ch ph©n tÝch file log sau cuéc tÊn c«ng, qu¶n trÞ m¹ng cã thÓ t×m ra nhiÒu manh mèi vµ chøng cø quan träng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 20 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Nh÷ng vÊn ®Ò cã liªn quan DDoS lµ mét kiÓu tÊn c«ng rÊt ®Æc biÖt, ®iÓm cùc kú hiÓm ¸c cña DDoS lµm cho nã khã kh¾c phôc lµ “DDoS ®¸nh vµo nh©n tè yÕu nhÊt cña hÖ thèng th«ng tin – con ngêi”. Tõ ®Æc ®iÓm nµy cña DDoS lµm ph¸t sinh rÊt nhiÒu c¸c vÇn ®Ò mµ mäi ngêi trong céng ®ång Internet ph¶i cïng chung søc míi cã thÓ gi¶i quyÕt. Sau ®©y lµ c¸c yÕu ®iÓm mµ chóng ta cÇn ph¶i h¹n chÕ : 1.6.1.7. ThiÕu tr¸ch nhiÖm víi céng ®ång Con ngêi th«ng thêng chØ quan t©m ®Çu t tiÒn b¹c vµ c«ng søc cho hÖ thèng th«ng tin cña “chÝnh m×nh”. DDoS khai th¸c ®iÓm nµy rÊt m¹nh ë ph¬ng thøc gi¶ m¹o ®Þa chØ vµ Broadcast amplification. - IP spoofing: mét c¸ch thøc ®¬n gi¶n nhng rÊt hiÖu qu¶ ®îc tËn dông tèi ®a trong c¸c cuéc tÊn c«ng DDoS. Thùc ra chèng gi¶ m¹o ®Þa chØ kh«ng cã g× phøc t¹p, nh ®· ®Ò cËp ë phÇn trªn, nÕu tÊt c¶ c¸c subnet trªn Internet ®Òu gi¸m s¸t c¸c packet ra khái m¹ng cña m×nh vÒ ph¬ng diÖn ®Þa chØ nguån hîp lÖ th× kh«ng cã mét packet gi¶ m¹o ®Þa chØ nµo cã thÓ truyÒn trªn Internet ®îc. §Ò nghÞ: “Tù gi¸c thùc hiÖn Egress Filtering ë m¹ng do m×nh qu¶n lý”. Hi väng mét ngµy nµo ®ã sÏ cã quy ®Þnh cô thÓ vÒ vÊn ®Ò nµy cho tÊt c¶ c¸c ISP trªn toµn cÇu. - Broadcast Amplification: t¬ng tù IP spoofing, nã lîi dông toµn bé mét subnet ®Ó flood n¹n nh©n. V× vËy, viÖc gi¸m s¸t vµ qu¶n lý chÆt chÏ kh¶ n¨ng broadcast cña mét subnet lµ rÊt cÇn thiÕt. Qu¶n trÞ m¹ng ph¶i cÊu h×nh toµn bé hÖ thèng kh«ng nhËn vµ forward broadcast packet. 1.6.1.8. Sù im lÆng HÇu hÕt c¸c tæ chøc ®Òu kh«ng cã ph¶n øng hay im lÆng khi hÖ thèng cña m×nh bÞ lîi dông tÊn c«ng hay bÞ tÊn c«ng. §iÒu nµy lµm cho viÖc ng¨n chÆn vµ lo¹i trõ c¸c cuéc tÊn c«ng trë nªn khã kh¨n. Mäi viÖc trë nªn khã kh¨n khi mäi ngêi kh«ng chia sÎ kinh nghiÖm tõ c¸c cuéc tÊn c«ng, trong khi giíi hacker th× chia sÎ m· nguån më cña c¸c c«ng cô, mét cuéc ch¬i kh«ng c©n søc. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 21 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh §Ò nghÞ: Mçi tæ chøc cã liªn quan nªn thiÕt lËp quy tr×nh xö lý x©m nhËp vµo tæ chøc, nhãm chuyªn tr¸ch víi tr¸ch nhiÖm vµ quy tr×nh thËt cô thÓ. C¸c ISP nªn thiÕt lËp kh¶ n¨ng ph¶n øng nhanh vµ chuyªn nghiÖp ®Ó hç trî c¸c tæ chøc trong viÖc thùc hiÖn quy tr×nh xö lý x©m nhËp cña m×nh. KhuyÕn khÝch c¸c qu¶n trÞ m¹ng gia nhËp m¹ng líi th«ng tin toµn cÇu cña c¸c tæ chøc lín vÒ b¶o mËt nh»m th«ng tin kÞp thêi vµ chia sÎ kinh nghiÖm víi mäi ngêi. TÊt c¶ c¸c cuéc tÊn c«ng hay khuyÕt ®iÓm cña hÖ thèng ®Òu ph¶i ®îc b¸o c¸o ®Õn bé phËn t¬ng øng ®Ó xö lý. 1.6.1.9. TÇm nh×n h¹n hÑp NÕu chØ thùc hiÖn c¸c gi¶i ph¸p trªn th«i th× ®a chóng ta ra khái t×nh tr¹ng cùc kú yÕu kÐm vÒ b¶o mËt. C¸c gi¶i ph¸p nµy kh«ng thùc sù lµm gi¶m c¸c rñi ro cña hÖ thèng th«ng tin mµ chØ lµ c¸c gi¶i ph¸p t×nh thÕ. Cã nh÷ng vÊn ®Ò ®ßi hái mét c¸i nh×n vµ th¸i ®é ®óng ®¾n cña céng ®ång Internet. CÇn ph¶i cã nh÷ng nghiªn cøu thªm vÒ mÆt quy ®Þnh b¾t buéc vµ ph¸p lý nh»m hç trî chóng tac gi¶i quyÕt c¸c vÊn ®Ò mµ kü thuËt kh«ng thùc hiÖn nçi. Mét sè vÊn ®Ò cÇn thùc hiÖn thªm trong t¬ng lai: - Gi¸m s¸t chi tiÕt vÒ luång d÷ liÖu ë cÊp ISP ®Ó c¶nh c¸o vÒ cuéc tÊn c«ng. - Xóc tiÕn ®a IPSec vµ Secure DNS vµo sö dông. - Kh¼ng ®Þnh tÇm quan träng cña b¶o mËt trong qu¸ tr×nh nghiªn cøu vµ ph¸t triÓn cña Internet II. - Nghiªn cøu ph¸t triÓn c«ng cô tù ®éng sinh ra ACL tõ security policy, router vµ firewall. - ñng hé viÖc ph¸t triÓn c¸c s¶n phÈm híng b¶o mËt cã c¸c tÝnh n¨ng: b¶o mËt mÆc ®Þnh, tù ®éng update. - Tµi trî viÖc nghiªn cøu c¸c protocol vµ c¸c h¹ tÇng míi hç trî kh¶ n¨ng gi¸m s¸t, ph©n tÝch vµ ®iÒu khiÓn dßng d÷ liÖu thêi gian thùc. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 22 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Ph¸t triÓn c¸c router vµ switch cã kh¶ n¨ng xö lý phøc t¹p h¬n. - Nghiªn cøu ph¸t triÓn c¸c hÖ thèng t¬ng tù nh Intrusion Dectection, ho¹t ®éng so s¸nh tr¹ng th¸i hiÖn t¹i víi ®Þnh nghÜa b×nh thêng cñ hÖ thèng tõ ®ã ®a ra c¸c c¶nh b¸o. - Gãp ý kiÕn ®Ó x©y dùng néi quy chung cho tÊt c¶ c¸c thµnh phÇn cã liªn quan ®Õn Internet. - ThiÕt lËp m¹ng líi th«ng tin thêi gian thùc gi÷a nh÷ng ngêi chÞu tr¸ch nhiÖm vÒ ho¹t ®éng cña hÖ thèng th«ng tin nh»m céng t¸c-hç trî-rót kinh nghiÖm khi cã mét cuéc tÊn c«ng quy m« x¶y ra. - Ph¸t triÓn hÖ ®iÒu hµnh b¶o mËt h¬n. - Nghiªn cøu c¸c hÖ thèng tù ®éng håi phôc cã kh¶ n¨ng chèng chäi, ghi nhËn vµ håi phôc sau tÊn c«ng cho c¸c hÖ thèng xung yÕu. - Nghiªn cøu c¸c biÖn ph¸p truy t×m, c«ng cô ph¸p lý phï hîp nh»m trõng trÞ thÝch ®¸ng c¸c attacker mµ vÉn kh«ng x©m ph¹m quyÒn tù do riªng t c¸ nh©n. - §µo t¹o lùc lîng tinh nhuÖ vÒ b¶o mËt lµm nßng cèt cho tÝnh an toµn cña Internet. - NhÊn m¹nh yÕu tè b¶o mËt vµ an toµn h¬n lµ chØ tÝnh ®Õn chi phÝ khi bá ra x©y dùng mét hÖ thèng th«ng tin. NhËn xÐt: Th«ng qua ch¬ng nµy, ta cã thÓ thÊy DDoS thùc sù lµ “RÊt dÔ thùc hiÖn, hÇu nh kh«ng thÓ tr¸nh, hËu qu¶ rÊt nÆng nÒ.” ChÝnh v× vËy viÖc ®Êu tranh phßng chèng DDoS lµ c«ng viÖc kh«ng chØ cña mét c¸ nh©n, mét tËp thÓ hay mét quèc gia mµ lµ c«ng viÖc cña toµn thÕ giíi nãi chung vµ céng ®ång sö dông m¹ng Internet nãi riªng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 23 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Ch¬ng 2 HÖ THèNG PH¸T HIÖN Vµ CHèNG X¢M NHËP CHèNG X¢M NHËP – IDS & IPS Qua ch¬ng 1 chóng ta cã thÓ thÊy râ mèi nguy hiÓm tõ c¸c cuéc tÊn c«ng DDoS. ViÖc ph¸t hiÖn vµ nhÊt lµ c«ng viÖc phßng tranh còng nh ®èi phã l¹i víi DDoS kh«ng ph¶i chuyÖn ®¬n gi¶n. Cïng víi thêi gian, c¸c kü thuËt tÊn c«ng ngµy cµng tinh vi h¬n khiÕn c¸c hÖ thèng an ninh m¹ng trë nªn mÊt hiÖu qña. C¸c hÖ thèng an ninh m¹ng truyÒn thèng thuÇn tóy dùa trªn c¸c têng löa nh»m kiÓm so¸t luång th«ng tin ra vµo hÖ thèng m¹ng mét c¸ch cøng nh¾c dùa trªn c¸c luËt b¶o vÖ cè ®Þnh. Víi kiÓu phßng thñ nµy, c¸c hÖ thèng an ninh sÏ bÊt lùc tríc kü thuËt tÊn c«ng míi, ®Æc biÖt lµ c¸c cuéc tÊn c«ng nh»m vµo ®iÓm yÕu cña hÖ thèng. HÖ thèng phßng chèng th©m nhËp IPS lµ mét kü thuËt an ninh míi, kÕt hîp c¸c u ®iÓm cña kü thuËt têng löa víi hÖ thèng ph¸t hiÖn x©m nhËp IDS, cã kh¶ n¨ng ph¸t hiÖn c¸c cuéc tÊn c«ng vµ tù ®éng ng¨n chÆn c¸c cuéc tÊn c«ng ®ã. Trong ch¬ng nµy chóng ta sÏ t×m hiÓu vÒ vai trß, chøc n¨ng vµ c¬ chÕ ho¹t ®éng cña hÖ thèng IPS vµ IPS trong viÖc ph¸t hiÖn vµ phßng chèng tÊn c«ng tõ chèi dÞch vô DDoS 2.1. IDS (Intrusion Detection System): §Þnh nghÜa: IDS (Intrusion Detection System - hÖ thèng ph¸t hiÖn x©m nhËp) lµ mét hÖ thèng gi¸m s¸t lu th«ng m¹ng, c¸c ho¹t ®éng kh¶ nghi vµ c¶nh b¸o cho hÖ thèng, nhµ qu¶n trÞ. IDS còng cã thÓ ph©n biÖt gi÷a nh÷ng tÊn c«ng bªn trong tõ bªn trong (tõ nh÷ng ngêi trong c«ng ty) hay tÊn c«ng tõ bªn ngoµi (tõ c¸c hacker). IDS ph¸t hiÖn dùa trªn c¸c dÊu hiÖu ®Æc biÖt vÒ c¸c nguy c¬ ®· biÕt (gièng nh c¸ch c¸c phÇn mÒm diÖt virus dùa vµo c¸c dÊu hiÖu ®Æc biÖt ®Ó ph¸t hiÖn vµ diÖt virus) hay dùa trªn so s¸nh lu th«ng m¹ng hiÖn t¹i víi baseline (th«ng sè ®o ®¹c chuÈn cña hÖ thèng) ®Ó t×m ra c¸c dÊu hiÖu kh¸c thêng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 24 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Kh¸i niÖm “Ph¸t hiÖn x©m nhËp”: Ph¸t hiÖn x©m nhËp lµ tiÕn tr×nh theo dâi c¸c sù kiÖn x¶y ra trªn mét hÖ thèng m¸y tÝnh hay hÖ thèng m¹ng, ph©n tÝch chóng ®Ó t×m ra c¸c dÊu hiÖu “x©m nhËp bÊt hîp ph¸p”. X©m nhËp bÊt hîp ph¸p ®îc ®Þnh nghÜa lµ sù cè g¾ng t×m mäi c¸ch ®Ó x©m h¹i ®Õn tÝnh toµn vÑn, tÝnh s½n sµng, tÝnh cã thÓ tin cËy hay lµ sù cè g¾ng vît qua c¸c c¬ chÕ b¶o mËt cña hÖ thèng m¸y tÝnh hay m¹ng ®ã. ViÖc x©m nhËp cã thÓ lµ xuÊt ph¸t tõ mét kÎ tÊn c«ng nµo ®ã trªn m¹ng Internet nh»m giµnh quyÒn truy cËp hÖ thèng, hay còng cã thÓ lµ mét ngêi dïng ®îc phÐp trong hÖ thèng ®ã muèn chiÕm ®o¹t c¸c quyÒn kh¸c mµ hä cha ®îc cÊp ph¸t. Ph©n lo¹i IDS: Cã 2 lo¹i IDS lµ Network Based IDS (NIDS) vµ Host Based IDS (HIDS) 2.1.1.1. Network IDS hoÆc NIDS : §îc ®Æt gi÷a kÕt nèi hÖ thèng m¹ng bªn trong vµ m¹ng bªn ngoµi ®Ó gi¸m s¸t toµn bé lu lîng vµo ra. Cã thÓ lµ mét thiÕt bÞ phÇn cøng riªng biÖt ®îc thiÕt lËp s½n hay phÇn mÒm cµi ®Æt trªn m¸y tÝnh. Chñ yÕu dïng ®Ó ®o lu lîng m¹ng ®îc sö dông.Tuy nhiªn cã thÓ x¶y ra hiÖn tîng nghÏn cæ chai khi lu lîng m¹ng ho¹t ®éng ë møc cao. - VÝ trÝ: m¹ng bªn trong (NIDS - m¹ng bªn ngoµi). - Lo¹i: hardware (phÇn cøng) hoÆc software (phÇn mÒm). - NhiÖm vô: Chñ yÕu gi¸m s¸t lu lîng ra vµo m¹ng. - Nhîc ®iÓm : Cã thÓ x¶y ra hiÖn tîng nghÏn khi lu lîng m¹ng ho¹t ®éng ê møc cao. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 25 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 2-: M« h×nh NIDS * Mét sè s¶n phÈm NIDS: - Cisco IDS. - Dragon# IDS/IPS. 2.1.1.2. Host IDS hoÆc HIDS: §îc cµi ®Æt côc bé trªn mét m¸y tÝnh lµm cho nã trë nªn linh ho¹t h¬n nhiÒu so víi NIDS. KiÓm so¸t lu lîng vµo ra trªn mét m¸y tÝnh, cã thÓ ®îc triÓn khai trªn nhiÒu m¸y tÝnh trong hÖ thèng m¹ng. HIDS cã thÓ ®îc cµi ®Æt trªn nhiÒu d¹ng m¸y tÝnh kh¸c nhau cô thÓ nh c¸c m¸y chñ, m¸y tr¹m, m¸y tÝnh x¸ch tay. HIDS cho phÐp b¹n thùc hiÖn mét c¸ch linh ho¹t trong c¸c ®o¹n m¹ng mµ NIDS kh«ng thÓ thùc hiÖn ®îc. Lu lîng ®· göi tíi m¸y tÝnh HIDS ®îc ph©n tÝch vµ chuyÓn qua nÕu chóng kh«ng chøa m· nguy hiÓm. HIDS ®îc thiÕt kÕ ho¹t ®éng chñ yÕu trªn hÖ ®iÒu hµnh Windows , mÆc dï vËy vÉn cã c¸c s¶n phÈm ho¹t ®éng trong nÒn øng dông UNIX vµ nhiÒu hÖ ®iÒu hµnh kh¸c. - VÝ trÝ : cµi ®Æt côc bé trªn m¸y tÝnh vµ d¹ng m¸y tÝnh nªn linh ho¹t h¬n NIDS. - Lo¹i : software (phÇn mÒm). - NhiÖm vô : ph©n tÝch lu lîng ra vµo m¹ng chuyÓn tíi m¸y tÝnh cµi ®Æt HIDS - ¦u ®iÓm : - Cµi ®Æt trªn nhiÒu d¹ng m¸y tÝnh : x¸ch tay, PC,m¸y chñ ... - Ph©n tÝch lu lîng m¹ng råi míi forward. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 26 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Nhîc ®iÓm : §a sè ch¹y trªn hÖ ®iÒu hµnh Window . Tuy nhiªn còng ®· cã 1 sè ch¹y ®îc trªn Unix vµ nh÷ng hÖ ®iÒu hµnh kh¸c. H×nh 2-: M« h×nh HIDS * Mét sè s¶n phÈm HIDS: - Snort (MiÔn phÝ, m· nguån më). - GFI EventsManager 7. C¸c kü thuËt xö lý d÷ liÖu ®îc sö dông trong c¸c hÖ thèng ph¸t hiÖn x©m nhËp: Phô thuéc vµo kiÓu ph¬ng ph¸p ®îc sö dông ®Ó ph¸t hiÖn x©m nhËp, c¸c c¬ chÕ xö lý kh¸c nhau còng ®îc sö dông cho d÷ liÖu ®èi víi mét IDS. - HÖ thèng Expert (Expert systems): HÖ thèng nµy lµm viÖc trªn mét tËp c¸c nguyªn t¾c ®· ®îc ®Þnh nghÜa tõ tríc ®Ó miªu t¶ c¸c tÊn c«ng. TÊt c¶ c¸c sù kiÖn cã liªn quan ®Õn b¶o mËt ®Òu ®îc kÕt hîp vµo cuéc kiÓm ®Þnh vµ ®îc dÞch díi d¹ng nguyªn t¾c if-then-else. LÊy vÝ dô Wisdom & Sense vµ ComputerWatch (®îc ph¸t triÓn t¹i AT&T). - Ph¸t hiÖn x©m nhËp dùa trªn luËt (Rule-Based Intrusion Detection): Gièng nh ph¬ng ph¸p hÖ thèng Expert, ph¬ng ph¸p nµy dùa trªn nh÷ng hiÓu biÕt vÒ tÊn c«ng. Chóng biÕn ®æi sù m« t¶ cña mçi tÊn c«ng thµnh ®Þnh d¹ng kiÓm ®Þnh thÝch hîp. Nh vËy, dÊu hiÖu tÊn c«ng cã thÓ ®îc t×m thÊy trong c¸c b¶n ghi(record). Mét kÞch b¶n tÊn c«ng cã thÓ ®îc m« t¶, vÝ dô nh mét chuçi sù kiÖn kiÓm ®Þnh ®èi víi c¸c tÊn c«ng hoÆc mÉu d÷ liÖu cã thÓ t×m kiÕm ®· lÊy ®îc SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 27 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh trong cuéc kiÓm ®Þnh. Ph¬ng ph¸p nµy sö dông c¸c tõ t¬ng ®¬ng trõu tîng cña d÷ liÖu kiÓm ®Þnh. Sù ph¸t hiÖn ®îc thùc hiÖn b»ng c¸ch sö dông chuçi v¨n b¶n chung hîp víi c¸c c¬ chÕ. §iÓn h×nh, nã lµ mét kü thuËt rÊt m¹nh vµ thêng ®îc sö dông trong c¸c hÖ thèng th¬ng m¹i (vÝ dô nh: Cisco Secure IDS, Emerald eXpert-BSM(Solaris)). - Ph©n biÖt ý ®Þnh ngêi dung (User intention identification): Kü thuËt nµy m« h×nh hãa c¸c hµnh vi th«ng thêng cña ngêi dïng b»ng mét tËp nhiÖm vô møc cao mµ hä cã thÓ thùc hiÖn ®îc trªn hÖ thèng (liªn quan ®Õn chøc n¨ng ngêi dïng). C¸c nhiÖm vô ®ã thêng cÇn ®Õn mét sè ho¹t ®éng ®îc ®iÒu chØnh sao cho hîp víi d÷ liÖu kiÓm ®Þnh thÝch hîp. Bé ph©n tÝch gi÷ mét tËp hîp nhiÖm vô cã thÓ chÊp nhËn cho mçi ngêi dïng. BÊt cø khi nµo mét sù kh«ng hîp lÖ ®îc ph¸t hiÖn th× mét c¶nh b¸o sÏ ®îc sinh ra. - Ph©n tÝch tr¹ng th¸i phiªn (State-transition analysis): Mét tÊn c«ng ®îc miªu t¶ b»ng mét tËp c¸c môc tiªu vµ phiªn cÇn ®îc thùc hiÖn bëi mét kÎ x©m nhËp ®Ó g©y tæn h¹i hÖ thèng. C¸c phiªn ®îc tr×nh bµy trong s¬ ®å tr¹ng th¸i phiªn. NÕu ph¸t hiÖn ®îc mét tËp phiªn vi ph¹m sÏ tiÕn hµnh c¶nh b¸o hay ®¸p tr¶ theo c¸c hµnh ®éng ®· ®îc ®Þnh tríc. - Ph¬ng ph¸p ph©n tÝch thèng kª (Statistical analysis approach): §©y lµ ph¬ng ph¸p thêng ®îc sö dông. Hµnh vi ngêi dïng hay hÖ thèng (tËp c¸c thuéc tÝnh) ®îc tÝnh theo mét sè biÕn thêi gian. VÝ dô, c¸c biÕn nh lµ: ®¨ng nhËp ngêi dïng, ®¨ng xuÊt, sè tËp tin truy nhËp trong mét kho¶ng thêi gian, hiÖu suÊt sö dông kh«ng gian ®Üa, bé nhí, CPU,… Chu kú n©ng cÊp cã thÓ thay ®æi tõ mét vµi phót ®Õn mét th¸ng. HÖ thèng lu gi¸ trÞ cã nghÜa cho mçi biÕn ®îc sö dông ®Ó ph¸t hiÖn sù vît qu¸ ngìng ®îc ®Þnh nghÜa tõ tríc. Ngay c¶ ph¬ng ph¸p ®¬n gi¶n nµy còng kh«ng thÕ hîp ®îc víi m« h×nh hµnh vi ngêi dïng ®iÓn h×nh. C¸c ph¬ng ph¸p dùa vµo viÖc lµm t¬ng quan th«ng tin vÒ ngêi dïng riªng lÎ víi c¸c biÕn nhãm ®· ®îc gép l¹i còng Ýt cã hiÖu qu¶. V× vËy, mét m« h×nh tinh vi h¬n vÒ hµnh vi ngêi dïng ®· ®îc ph¸t triÓn b»ng c¸ch sö dông th«ng tin ngêi dïng ng¾n h¹n hoÆc dµi h¹n. C¸c th«ng tin nµy thêng xuyªn ®îc n©ng cÊp ®Ó b¾t kÞp SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 28 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh víi thay ®æi trong hµnh vi ngêi dïng. C¸c ph¬ng ph¸p thèng kª thêng ®îc sö dông trong viÖc bæ sung trong IDS dùa trªn th«ng tin hµnh vi ngêi dïng th«ng thêng. 2.2. IPS (Intrusion Detection System): §Þnh nghÜa: IPS (Intrusion Detection System- hÖ thèng ph¸t hiÖn x©m nhËp) lµ mét hÖ thèng chèng x©m nhËp ( Intrusion Prevention System –IPS) ®îc ®Þnh nghÜa lµ mét phÇn mÒm hoÆc mét thiÕt bÞ chuyªn dông cã kh¶ n¨ng ph¸t hiÖn x©m nhËp vµ cã thÓ ng¨n chÆn c¸c nguy c¬ g©y mÊt an ninh. IDS vµ IPS cã rÊt nhiÒu ®iÓm chung, do ®ã hÖ thèng IDS vµ IPS cã thÓ ®îc gäi chung lµ IDP-Intrusion Detection and Prevention. Ph©n lo¹i: Cã hai kiÓu chÝnh khi triÓn khai IPS lµ out-of-band IPS vµ in-line IPS: - Out-of-band IPS (OOB IPS): hÖ thèng IPS ®øng “d¹ng ch©n” trªn firewall. Nh vËy luång d÷ liÖu vµo hÖ thèng m¹ng sÏ cïng ®I qua firewall vµ IPS. IPS cã thÓ kiÓm so¸t luån d÷ liÖu vµo, ph©n tÝch vµ ph¸t hiÖn c¸c dÊu hiÖu cña sù x©m nhËp, tÊn c«ng. Víi vÞ trÝ nµy, OOB IPS cã thÓ qu¶n lý firewall, chØ dÉn nã chÆn l¹I c¸c hµnh ®éng nghi ngê. - In-line IPS: VÞ trÝ IPS n»m tríc firewall, luång d÷ liÖu ph¶I ®I quachóng tríc khi tíi firewall. §iÓm kh¸c chÝnh so víi OOB IPS lµ cã thªm chøc n¨ng traffic-blocking. §iÒu ®ã lµm cho IPS cã thÓ ng¨n chÆn luång giao th«ng nguy hiÓm nhanh h¬n so víi OOB IPS. Tuy nhiªn vÞ trÝ nµy sÏ lµm cho tèc ®é luång th«ng tin qua ra vµo m¹ng chËm h¬n. Víi môc tiªu ng¨n chÆn c¸c cuéc tÊn c«ng, hÖ thèng IPS ph¶i ho¹t ®éng theo thêi gian thùc. Tèc ®é häat ®éng cña hÖ thèng lµ mét yÕu tè rÊt quan träng. Qua t»inh ph¸t hiÖn x©m nhËp ph¶i ®ñ nhanh ®Ó cã thÓ ng¨n chÆn c¸c cuéc tÊn c«ng ngay lËp tøc. NÕu kh«ng ®¸p øng ®îc ®iÒu nµy th× c¸c cuéc tÊn c«ng ®· ®îc thùc hiÖn xong vµ hÖ thèng IPS lµ v« nghÜa. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 29 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh C¸c thµnh phÇn chÝnh cña IPS HÖ thèng IPS gåm 3 modul chÝnh: modul ph©n tÝch gãi, modul ph¸t hiÖn tÊn c«ng, modul ph¶n øng. Díi ®©y ta xÐt cô thÓ c¸c modul ®ã: - Modul ph©n tÝch gãi(packet analyzer): Modul nµy cã nhiÖm vô ph©n tÝch cÊu tróc th«ng tin trong c¸c gãi tin. Card m¹ng (NIC) cña m¸y gi¸m s¸t ®îc ®Æt ë chÕ ®é promiscuous mode, tÊt c¶ c¸c gãi tin qua chóng ®Òu ®îc copy l¹i vµ chuyÓn lªn líp trªn. Bé ph©n tÝch gãi ®äc th«ng tin tõng trêng trong gãi tin, x¸c ®Þnh chóng thuéc kiÓu gãi tin nµo, dÞch vô g×… C¸c th«ng tin nµy ® îc chuyÓn ®Õn modul ph¸t hiÖn tÊn c«ng. - Modul ph¸t hiÖn tÊn c«ng: §©y lµ modul quan träng nhÊt trong hÖ thèng, cã kh¶ n¨ng ph¸t hiÖn c¸c cuéc tÊn c«ng. Cã hai ph¬ng ph¸p ®Ó ph¸t hiÖn c¸c cuéc tÊn c«ng, x©m nhËp: Misuse Detection (dß sù l¹m dông) vµ Anomaly Detection (dß sù kh«ng b×nh thêng). - Misuse Detection: Ph¬ng ph¸p nµy ph©n tÝch c¸c ho¹t ®éng cña hÖ thèng, t×m kiÕm c¸c sù kiÖn gièng víi c¸ 2.3. So s¸nh gi÷a IDS vµ IPS: HiÖn nay, C«ng nghÖ cña IDS ®· ®îc thay thÕ b»ng c¸c gi¶i ph¸p IPS. NÕu nh hiÓu ®¬n gi¶n, ta cã thÓ xem nh IDS chØ lµ mét c¸i chu«ng ®Ó c¶nh b¸o cho ngêi qu¶n trÞ biÕt nh÷ng nguy c¬ cã thÓ x¶y ra tÊn c«ng. DÜ nhiªn ta cã thÓ thÊy r»ng, nã chØ lµ mét gi¶i ph¸p gi¸m s¸t thô ®éng, tøc lµ chØ cã thÓ c¶nh b¸o mµ th«i, viÖc thùc hiÖn ng¨n chÆn c¸c cuéc tÊn c«ng vµo hÖ thèng l¹i hoµn toµn phô thuéc vµo ngêi qu¶n trÞ. V× vËy yªu cÇu rÊt cao ®èi víi nhµ qu¶n trÞ trong viÖc x¸c ®Þnh c¸c lu lîng cÇn vµ c¸c lu lîng cã nghi vÊn lµ dÊu hiÖu cña mét cuéc tÊn c«ng. Vµ dÜ nhiªn c«ng viÖc nµy th× l¹i hÕt søc khã kh¨n. Víi IPS, ngêi qu¶n trÞ kh«ng nhòng cã thÓ x¸c ®Þnh ®îc c¸c lu lîng kh¶ nghi khi cã dÊu hiÖu tÊn c«ng mµ cßn gi¶m thiÓu ®îc kh¶ n¨ng x¸c ®Þnh sai c¸c lu lîng. Víi IPS, c¸c cuéc tÊn c«ng sÏ bÞ lo¹i bá ngay khi míi cã dÊu hiÖu vµ nã ho¹t ®éng tu©n theo mét quy luËt do nhµ Qu¶n trÞ ®Þnh s½n. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 30 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh IDS hiÖn nay chØ sö dông tõ mét ®Õn 2 c¬ chÕ ®Ó ph¸t hiÖn tÊn c«ng. V× mçi cuéc tÊn c«ng l¹i cã c¸c c¬ chÕ kh¸c nhau cña nã (Cã thÓ tham kh¶o thªm c¸c bµi viÕt vÒ DoS cña tui), v× vËy cÇn cã c¸c c¬ chÕ kh¸c nhau ®Ó ph©n biÖt. Víi IDS, do sè lîng c¬ chÕ lµ Ýt nªn cã thÓ dÉn ®Õn t×nh tr¹ng kh«ng ph¸t hiÖn ra ®îc c¸c cuéc tÊn c«ng víi c¬ chÕ kh«ng ®Þnh s½n, dÉn ®Õn kh¶ n¨ng c¸c cuéc tÊn c«ng sÏ thµnh c«ng, g©y ¶nh hëng ®Õn hÖ thèng. Thªm vµo ®ã, do c¸c c¬ chÕ cña IDS lµ tæng qu¸t, dÉn ®Õn t×nh tr¹ng b¸o c¸o nhÇm, c¶nh b¸o nhÇm, lµm tèn thêi gian vµ c«ng søc cña nhµ qu¶n trÞ. Víi IPS th× ®îc x©y dùng trªn rÊt nhiÒu c¬ chÕ tÊn c«ng vµ hoµn toµn cã thÓ t¹o míi c¸c c¬ chÕ phï hîp víi c¸c d¹ng thøc tÊn c«ng míi nªn sÏ gi¶m thiÓu ®îc kh¶ n¨ng tÊn c«ng cña m¹ng, thªm ®ã, ®é chÝnh x¸c cña IPS lµ cao h¬n so víi IDS. Nªn biÕt r»ng víi IDS, viÖc ®¸p øng l¹i c¸c cuéc tÊn c«ng chØ cã thÓ xuÊt hiÖn sau khi gãi tin cña cuéc tÊn c«ng ®· ®i tíi ®Ých, lóc ®ã viÖc chèng l¹i tÊn c«ng lµ viÖc nã göi c¸c yªu cÇu ®Õn c¸c m¸y cña hÖ thèng ®Ó xo¸ c¸c kÕt nèi ®Õn m¸y tÊn c«ng vµ m¸y chñ, hoÆc lµ göi th«ng tin th«ng b¸o ®ªn têng löa ( Firewall) ®Ó têng löa thùc hiÖn chøc n¨ng cña nã, tuy nhiªn, viÖc lµm nµy ®«i khi l¹i g©y t¸c ®éng phô ®Õn hÖ thèng. VÝ dô nh nÕu Attacker gi¶ m¹o (sniffer) cña mét ®èi t¸c, ISP, hay lµ kh¸ch hµng, ®Ó t¹o mét cuéc tÊn c«ng tõ chèi dÞch vô th× cã thÓ thÊy r»ng, mÆc dï IDS cã thÓ chÆn ®îc cuéc tÊn c«ng tõ chèi dÞch vô nhng nã còng sÏ Block lu«n c¶ IP cña kh¸ch hµng, cña ISP, cña ®èi t¸c, nh vËy thiÖt h¹i vÉn tån t¹i vµ coi nh hiÖu øng phô cña DoS thµnh c«ng mÆc dï cuéc tÊn c«ng tõ chèi dÞch vô thÊt b¹i. Nhng víi IPS th× kh¸c nã sÏ ph¸t hiÖn ngay tõ ®Çu dÊu hiÖu cña cuéc tÊn c«ng vµ sau ®ã lµ kho¸ ngay c¸c lu lîng m¹ng nµy th× míi cã kh¶ n¨ng gi¶m thiÓu ®îc c¸c cuéc tÊn c«ng. 2.4. KÕt luËn: Trªn ®©y chóng ta ®· t×m hiÓu tæng quan vÒ vai trß, chøc n¨ng cña hÖ thèng IDS – IPS, trong c¸c ch¬ng sau chóng ta sÏ ®i s©u nghiªn cøu vµ triÓn khai mét hÖ thèng IDS-IPS dùa trªn c¸c nÒn t¶ng m· nguån më ®ang ®îc sö dông réng r·i hiÖn nay. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 31 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh TæNG Ch¬ng 3 QUAN VÒ SNORT Víi kh¶ n¨ng ph¸t hiÖn vµ c¶nh b¸o c¸c cuéc tÊn c«ng trªn m¹ng, hiÖn Snort lµ mét IDS kh¸ xuÊt s¾c trong viÖc ph¸t hiÖn c¸c cuéc tÊn c«ng DDoS. Trong ch¬ng nµy chóng ta sÏ nghiªn cøu chi tiÕt vÒ vai trß, chøa n¨ng ho¹t ®éng cña snort. 3.1. GIíI THIÖU SNORT: Snort lµ mét hÖ thèng ph¸t hiÖn x©m nhËp m¹ng (NIDS) m· nguån më miÔn phÝ. NIDS lµ mét kiÓu cña hÖ thèng ph¸t hiÖn x©m nhËp (IDS), ®îc sö dông ®Ó quÐt d÷ liÖu di chuyÓn trªn m¹ng. Còng cã c¸c hÖ thèng ph¸t hiÖn x©m nhËp host-based, ®îc cµi ®Æt trªn mét host cô thÓ vµ chØ ®Ó ph¸t hiÖn c¸c sù tÊn c«ng nh¾m ®Õn host ®ã. MÆc dï tÊt c¶ c¸c ph¬ng ph¸p ph¸t hiÖn x©m nhËp vÉn cßn míi nhng Snort ®îc ®¸nh gi¸ lµ hÖ thèng tèt nhÊt hiÖn nay. Snort chñ yÕu lµ mét IDS dùa trªn luËt, tuy nhiªn c¸c input plug-in còng tån t¹i ®Ó ph¸t hiÖn sù bÊt thêng trong c¸c header cña giao thøc. Snort sö dông c¸c luËt ®îc lu tr÷ trong c¸c file text, cã thÓ ®îc chØnh söa bëi ngêi qu¶n trÞ. C¸c luËt ®îc nhãm thµnh c¸c kiÓu. C¸c luËt thuéc vÒ mçi lo¹i ®îc lu trong c¸c file kh¸c nhau. File cÊu h×nh chÝnh cña Snort lµ snort.conf. Snort ®äc nh÷ng luËt nµy vµo lóc khëi t¹o vµ x©y dùng cÊu tróc d÷ liÖu ®Ó cung cÊp c¸c luËt ®Ó b¾t gi÷ d÷ liÖu. T×m ra c¸c dÊu hiÖu vµ sö dông chóng trong c¸c luËt lµ mét vÊn ®Ò ®ßi hái sù tinh tÕ, v× b¹n cµng sö dông nhiÒu luËt th× n¨ng lùc xö lý cµng ®îc ®ßi hái ®Ó thu thËp d÷ liÖu trong thùc tÕ. Snort cã mét tËp hîp c¸c luËt ®îc ®Þnh nghÜa tríc ®Ó ph¸t hiÖn c¸c hµnh ®éng x©m nhËp vµ b¹n còng cã thÓ thªm vµo c¸c luËt cña chÝnh b¹n. B¹n còng cã thÓ xãa mét vµi luËt ®· ®îc t¹o tríc ®Ó tr¸nh viÖc b¸o ®éng sai. 3.2. C¸C THµNH PHÇN CñA SNORT: Snort ®îc chia thµnh nhiÒu thµnh phÇn. Nh÷ng thµnh phÇn nµy lµm viÖc víi nhau ®Ó ph¸t hiÖn c¸c c¸ch tÊn c«ng cô thÓ vµ t¹o ra output theo mét ®Þnh SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 32 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh d¹ng ®îc ®ßi hái. Mét IDS dùa trªn Snort bao gåm c¸c thµnh phÇn chÝnh sau ®©y: - Packet Decoder. - Preprocessor. - Dectection Engine. - Logging vµ Alerting System. - Output Modules. H×nh 3-: BiÓu ®å khèi Snort Packet Decoder Tríc khi packet ®îc ®a vµo bé Decoder cña Snort, nã ph¶i ®îc capture bëi Packet Capture nh Winpcap. MÆc dï Packet Capture kh«ng ph¶i lµ mét bé phËn cña Snort nhng ph¶i ®îc sö dông ®i kÌm ®Ó hç trî cho Snort. Packet Decoder lÊy c¸c gãi tõ c¸c giao diÖn m¹ng kh¸c nhau vµ chuÈn bÞ cho viÖc gãi tin ®îc xö lÝ tríc hoÆc ®îc göi cho bé phËn ph¸t hiÖn. Bé phËn nµy sÏ ®äc packet, nhËn biÕt c¸c trêng trong packet SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 33 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 3-: Packet Decoder Khi Decoder nhËn ®îc c¸c gãi d÷ liÖu (data blob) nã sÏ khëi t¹o c¸c con trá ®Ó chØ râ vÞ trÝ cña tõng lo¹i d÷ liÖu. VÝ dô nh ®©u lµ Ethernet header, Ip header, TCP header, payload… H×nh 3-: CÇu tróc cña packet sau khi ®îc decoded Preprocessors Preprocessors lµ nh÷ng thµnh phÇn ®îc sö dông víi Snort ®Ó s¾p xÕp hoÆc chØnh söa gãi d÷ liÖu tríc khi bé phËn ph¸t hiÖn lµm mét vµi xö lý ®Ó t×m ra gãi tin cã ®îc sö dông bëi kÎ x©m nhËp hay kh«ng. Mét vµi bé phËn xö lý tríc còng thùc thi viÖc ph¸t hiÖn b»ng c¸ch t×m c¸c dÊu hiÖu bÊt thêng trong header cña gãi tin vµ t¹o ra c¸c c¶nh b¸o. Bé phËn xö lÝ tríc lµ rÊt quan träng trong bÊt k× IDS nµo, chóng chuÈn bÞ cho c¸c gãi d÷ liÖu ®îc ph©n tÝch dùa trªn c¸c luËt trong bé phËn ph¸t hiÖn. KÎ tÊn c«ng sö dông nhiÒu kÜ thuËt kh¸c nhau ®Ó lõa IDS theo nhiÒu c¸ch. Bé phËn xö lÝ tríc còng ®îc sö dông ®Ó t¸i hîp c¸c gãi tin. Trªn IDS, tríc khi ¸p dông bÊt k× luËt nµo, b¹n ph¶i t¸i hîp c¸c gãi tin l¹i ®Ó t×m ra c¸c dÊu hiÖu. Bé phËn xö lÝ tríc trong Snort cã thÓ t¸i hîp c¸c gãi tin, gi¶i m· HTTP URI, r¸p l¹i c¸c dßng TCP, v.v... Nãi tãm l¹i, chøc n¨ng cña Preprocessors lµ ®Ó s¾p xÕp hoÆc modify l¹i packet tríc khi ®i vµo detection SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 34 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh engine. Mét sè module nµy cã kh¶ n¨ng ph¸t hiÖn c¸c packet dÞ thêng trong header vµ sinh ra alert. Ngoµi ra, nã cã thÓ t¸i ®Þnh d¹ng gãi tin (defragment), s¾p xÕp l¹i chuçi. Nh÷ng chøc n¨ng nµy rÊt quan träng trong hÖ thèng ph¸t hiÖn x©m nhËp. Cã nhiÒu Preprocessor kh¸c nhau trong kh«ng cÊu tróc cña Snort. Khi cã mét packet xuÊt hiÖn, c¸c Preprocessors nµy ®îc t¶i theo tr×nh tù ®îc cÊu h×nh trong Snort.conf H×nh 3-: Order of preprocessors that packet is processed C¸c gãi tin sÏ ®îc kiÓm tra qua tÊt c¶ c¸c Preprocessor. Díi ®©y lµ c¸c Preprocessors c¬ b¶n: - Frag2 - Stream4 - HTTP Inspect RPC_Decode - Telnet- ARPSpoof - ASN1_Decode- Flow - SfPortscan- Performance §©y lµ m« h×nh vÝ dô vÒ c¬ chÕ ho¹t ®éng cña mét lo¹i preprocessor: Multimedia clasification preprocessor: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 35 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 3-: Gãi tin ®îc xö lý th«ng qua multimedia classification preprocessor Detection Engine: §©y lµ phÇn quan träng nhÊt cña Snort. Tr¸ch nhiÖm cña nã lµ ph¸t hiÖn cã sù x©m nhËp tån t¹i trong gãi tin hay kh«ng. Bé phËn ph¸t hiÖn sö dông c¸c luËt cña Snort cho môc ®Ých nµy.NÕu mét gãi tin gièng víi bÊt k× lËut nµo, mét hµnh ®éng t¬ng øng sÏ ®îc thùc hiÖn H×nh 3-: C¸ch detection engine lµm viÖc SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 36 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Detection Engine sö dông mét link list hai chiÒu ®Ó so s¸nh c¸c gãi tin. Khi mét packet ®îc ®a vµo Detection Engine, dùa vµo giao thøc, nã sÏ ®îc göi ®Õn c¸c rule tree phï hîp råi so s¸nh víi mçi Rule Tree Node tõ tr¸i qua ph¶i, nÕu phï hîp nã l¹i tiÕp tôc so s¸nh víi Option Tree Node. Link List lµ mét ma trËn bao gåm hai hai cÊu tróc: Rule Tree Node (RTN) vµ Option Tree Node (OTN). RTN dïng ®Ó kiÓm tra header cña gãi tin víi header trong tËp luËt, cßn OTN dïng ®Ó so s¸nh phÇn option cña tËp luËt (mçi tËp luËt gåm hai phÇn chÝnh lµ header vµ option). Díi ®©y lµ quy tr×nh cña gãi tin khi ®i qua RTN vµ OTN H×nh 3-: Compare header of packet happening in RTN H×nh 3-: Compare option part of packet happening in OTN SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 37 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Sau khi c¸c rule ®· ®îc ph©n tÝch có ph¸p, nã ®îc lu tr÷ trong RTN vµ OTN ®Ó thuËn tiÖn cho c¸c quy tr×nh tiÕp theo. H×nh 3-: Rules after comparing are kept stored in RTN vµ OTN Rule List lµ mét con trá dïng ®Ó trá tíi danh s¸ch liªn kÕt RuleListNode, mçi node nµy l¹i co mét ListHead lu tr÷ c¸c lo¹i rule kh¸c nhau nh Alert, Dynamic, Log, Pass, Activattion. Trong mçi ListHead sÏ bao gåm th«ng tin vÒ bèn lo¹i giao thøc: TCP, UDP, IP vµ ICMP. Detection Engine lµ bé phËn then chèt vÒ thêi gian thùc thi cña Snort. Dùa vµo bé m¸y cña b¹n m¹nh nh thÕ nµo vµ bao nhiªu luËt b¹n ®Þnh nghÜa mµ nã cã thÓ tèn nh÷ng kho¶ng thêi gian kh¸c nhau ®èi víi c¸c gãi tin kh¸c nhau. NÕu lu lîng trªn m¹ng lµ qu¸ lín khi Snort ®ang ho¹t ®éng trong chÕ ®é NIDS, b¹n cã thÓ mÊt mét vµi gãi tin vµ cã thÓ thêi gian ®¸p øng kh«ng chÝnh x¸c. Lu lîng trªn bé phËn ph¸t hiÖn phô thuéc vµo c¸c yÕu tè sau: - Sè lîng c¸c luËt. - Søc m¹nh cña bé m¸y mµ Snort ®ang ch¹y. - Tèc ®é cña bus ®îc sö dông. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 38 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Lu lîng trªn m¹ng. Bé phËn ph¸t hiÖn ho¹t ®éng theo nh÷ng c¸ch kh¸c nhau ë c¸c phiªn b¶n kh¸c nhau cña Snort. Trong tÊt c¶ phiªn b¶n 1.x cña Snort, bé phËn ph¸t hiÖn dõng viÖc xö lÝ gãi tin khi phï hîp víi mét luËt. Dùa vµo luËt, bé phËn ph¸t hiÖn sÏ cã c¸c hµnh ®éng t¬ng øng. §iÒu nµy cã nghÜa lµ nÕu mét gãi tin phï hîp víi nhiÒu luËt, chØ cã luËt ®Çu tiªn ®îc ¸p dông mµ kh«ng xem xÐt ®Õn c¸c luËt cßn l¹i. §iÒu nµy lµm n¶y sinh mét vÊn ®Ò. Mét luËt cã ®é u tiªn thÊp sÏ t¹o ra mét c¶nh b¸o cã ®é u tiªn thÊp, nÕu mét luËt cã ®é u tiªn cao bÞ xÕp sau trong chuçi luËt. VÊn ®Ò nµy ®îc gi¶i quyÕt trong Snort phiªn b¶n 2, khi mµ tÊt c¶ c¸c luËt ®îc so s¸nh trªn mét gãi tin tríc khi t¹o ra mét c¶nh b¸o. Sau khi so s¸nh tÊt c¶ c¸c luËt, luËt cã ®é u tiªn cao nhÊt sÏ ®îc chän ®Ó t¹o c¶nh b¸o. V× bé phËn ph¸t hiÖn trong phiªn b¶n 2 ®· ®îc viÕt l¹i hoµn toµn nªn nã nhanh h¬n rÊt nhiÒu so víi c¸c phiªn b¶n tríc ®©y. Output Plugin: Module nµy cho phÐp ®Þnh d¹ng c¸c th«ng b¸o (alert, logs) cho ngêi sö dông b»ng nhiÒu c¸ch kh¸c nhau (console, extern files, database…). - C¸c output plug-ins c¬ b¶n:-Alert_fast – khëi t¹o c¶nh b¸o vµo c¸i file mét dßng, sö dông khi muèn hÖ th«ng ho¹t ®éng nhanh. - Alert_full – t¹o mét th môc cho mçi ®Þa chØ IP vµ khëi t¹o c¶nh b¸o còng nhue c¸c d÷ liÖu vµo th môc. - Alert_smb – göi SMB messages tíi m¸y chñ. - Alert_unixsock – ThiÕt lËp mét establishes a UNIX domain socket vµ göi c¶nh b¸o tíi ®ã. - Log_tcpdump – truy cËp c¸c gãi b»ng ®Þnh d¹ng file tcpdump file format. - CSV – outputs to a comma delimited file, for easy import to spreadsheet or database applications.- XML – cã thÓ truy cËp tíi SNML (Simple Network Markup Language). SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 39 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Database – truy cËp trùc tiÕp tíi c¸c d÷ liÖu cã liªn quan (hç trî MySQL, PostgreSQL, Oracle, UNIXODBC). 3.3. C¥ CHÕ HO¹T §éNG CñA SNORT: Snort ho¹t ®éng ë 4 c¬ chÕ c¬ b¶n: - Sniffer (snort -v). - Packet logger (snort -l). - Network Intrusion Detection System (snort -A hoÆc snort -c ). Snort lµ mét Sniffer: C¸c c«ng cô sniffer m¹ng nh tcpdump, ethereal, vµ Tethereal cã ®Çy ®ñ c¸c ®Æc tÝnh vµ ph©n tÝch gãi tin mét c¸ch xuÊt s¾c, tuy nhiªn, cã lóc b¹n cÇn xem lu lîng m¹ng trªn bé c¶m biÕn Snort. Trong trêng hîp nµy, sö dông Snort nh lµ mét sniffer lµ kh¶ thi. KÕt qu¶ xuÊt cña chÕ ®é Snort sniffer h¬i kh¸c so víi c¸c sniffer dßng lÖnh. Nã rÊt dÔ ®Ó ®äc vµ b¹n cã thÓ thÊy thÝch kh¶ n¨ng b¾t gi÷ gãi tin nhanh cña nã. Mét ®Æc tÝnh hay cña chÕ ®é nµy lµ viÖc tãm t¾t lu lîng m¹ng khi kÕt thóc viÖc b¾t gi÷ gãi tin. ThØnh tho¶ng, nã cã thÓ lµ mét c«ng cô gì rèi h÷u dông cho nhµ qu¶n trÞ.BËt chÕ ®é sniffer cho Snort b»ng cê -v # snort –v Trong lóc khëi ®éng, Snort hiÓn thÞ chÕ ®é, th môc ghi log, vµ c¸c giao diÖn mµ nã ®ang l¾ng nghe. Khi viÖc khëi ®éng hoµn tÊt, Snort b¾t ®Çu xuÊt c¸c gãi tin ra mµn h×nh. KÕt qu¶ xuÊt nµy kh¸ c¬ b¶n : nã chØ hiÓn thÞ c¸c header IP,TCP/UDP/ICMP vµ mét sè c¸i kh¸c. §Ó tho¸t chÕ ®é sniffer, sö dông Ctrl-C. Snort tho¸t b»ng c¸ch t¹o ra mét b¶n tãm t¾t c¸c gãi tin ®îc b¾t gi÷, bao gåm c¸cgiao thøc, thèng kª ph©n m¶nh vµ t¸i hîp gãi tin. §Ó xem d÷ liÖu øng dông , sö dông cê -d. Tïy chän nµy cung cÊp c¸c kÕt qu¶ chi tiÕt h¬n: # snort –vd D÷ liÖu øng dông cã thÓ thÊy ®îc vµ b¹n cã thÓ nh×n thÊy c¸c plain text trong gãi tin. Trong trêng hîp nµy, v¨n b¶n göi tõ mét server DNS ®îc thÓ hiÖn díi d¹ng plain text. §Ó xem ®îc chi tiÕt h¬n, bao gåm c¸c header líp liªn kÕt d÷ SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 40 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh liÖu, sö dông cê -e. ViÖc sö dông c¶ hai tïy chän –d vµ –e sÏ cho hiÓn thÞ hÇu nh tÊt c¶ c¸c d÷ liÖu trong gãi tin: # snort –vde C¸c chuçi thËp lôc ph©n hiÓn thÞ nhiÒu d÷ liÖu h¬n. Cã ®Þa chØ MAC vµ ®Þa chØ IP. Khi thùc hiÖn kiÓm tra trªn mét m¹ng hoÆc b¾t gi÷ d÷ liÖu b»ng Snort, viÖc bËt –vde cung cÊp nhiÒu th«ng tin nhÊt. §Ó lu l¹i trong logfile thay v× xuÊt ra console, sö dông: snort -dve > temp.log. Tãm l¹i, ®©y lµ c¸c tïy chän cã thÓ sö dông víi chÕ ®é sniffer cña Snort: Nh÷ng tïy chän nµy cã thÓ ch¹y ®éc lËp hoÆc kÕt hîp víi c¸i kh¸c. Snort lµ mét Packet Logger: Bíc tiÕp theo sau khi sniffing c¸c gãi tin lµ ghi log chóng. ViÖc ghi log chØ ®¬n gi¶n b»ng c¸ch thªm tïy chän –l, theo sau ®ã lµ th môc mµ b¹n muèn lu tr÷ c¸c log. Th môc mÆc ®Þnh trong Snort lµ /var/log/snort. NÕu b¹n x¸c ®Þnh mét th môc kh«ng tån t¹i th× Snort sÏ b¸o mét th«ng ®iÖp lçi. B¹n cã thÓ sö dông c¸c tïy chän –d, -a vµ –e ®Ó ®iÒu khiÓn sè lîng th«ng tin sÏ ®îc ghi log cho mçi gãi tin. Trong vÝ dô sau ®©y, th môc log ®îc thiÕt lËp lµ /usr/local/log/snort, vµ c¸c logfile bao gåm c¸c payload gãi tin: # snort -l /usr/local/log/snort –d Khi ch¹y trong chÕ ®é nµy, Snort thu thËp mçi gãi tin nã thÊy vµ lu chóng trong th môc log theo kiÓu ph©n cÊp. Nãi c¸ch kh¸c, mét th môc míi ®îc t¹o ra cho mçi ®Þa chØ ®îc b¾t gi÷ vµ d÷ liÖu liªn quan ®Õn ®Þa chØ nµy ®îc lu trong th môc ®ã.Snort lu c¸c gãi tin thµnh c¸c file ASCII, víi tªn file ®îc t¹o ra tõ giao thøc vµ sè cæng. C¸ch tæ chøc nµy lµm cho nhµ qu¶n trÞ cã thÓ dÔ dµng thÊy ®îc ai ®ang kÕt nèi víi m¹ng, sè cæng vµ giao thøc hä ®ang sö dông (sö dông ls –R ®Ó liÖt kª th môc log). H·y nhí x¸c ®Þnh biÕn m¹ng cña b¹n (trong file cÊu h×nh hoÆc sö dông -h ) ®Ó x¸c ®Þnh chØ ghi log cho m¹ng cña b¹n. C¸ch tæ chøc ph©n cÊp nµy h÷u dông khi mét sè giíi h¹n c¸c host ®îc quan t©m hoÆc b¹n muèn xem tho¸ng qua c¸c ®Þa chØ IP cña c¸c host ®îc b¾t gi÷. Tuy nhiªn, th môc log cã thÓ ngµy cµng nhiÒu v× sù gia t¨ng th môc vµ c¸c SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 41 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh file. NÕu b¹n ghi log tÊt c¶ lu lîng trªn mét m¹ng lín th× cã thÓ sÏ bÞ trµn inodes ( Unix giíi h¹n tæng sè file trong mét file hÖ thèng) tríc khi bÞ trµn bé nhí. NÕu mét ngêi nµo ®ã thùc hiÖn viÖc quÐt m¹ng cña b¹n vµ ¸nh x¹ tÊt c¶ 65536 cæng TCp còng nh 65536 cæng UDP, b¹n sÏ ®ét ngét cã h¬n 131000 file trong mét th môc ®¬n. Sù bïng næ file nµy cã thÓ lµ mét thö th¸ch lín cho bÊt k× mét m¸y nµo, vµ rÊt dÔ trë thµnh c¸ch tÊn c«ng DoS. ViÖc ghi log theo kiÓu nhÞ ph©n cã thÓ ®äc ®îc bëi Snort, tcpdump hoÆc ethereal. C¸ch nµy lµm t¨ng tèc ®é vµ kh¶ n¨ng vËn chuyÓn cña viÖc b¾t gi÷ gãi tin. HÇu hÕt c¸c hÖ thèng cã thÓ b¾t gi÷ vµ ghi log víi tèc ®é 100 Mbps mµ kh«ng cã vÊn ®Ò g×. §Ó ghi log c¸c gãi tin theo kiÓu nhÞ ph©n, sö dông –b switch. VÝ dô: # snort -b -l /usr/local/log/snort/temp.log Khi b¹n ®· thùc hiÖn viÖc b¾t gi÷ gãi tin, b¹n cã thÓ ®äc l¹i c¸c file võa t¹o ra b»ng khãa –r. KÕt qu¶ gièng nh sniffer cña Snort. Lu ý r»ng –r kh«ng thÓ sö dông víi –C. # snort -r/usr/local/log/snort/temp.log ë chÕ ®é nµy, Snort kh«ng giíi h¹n viÖc ®äc d÷ liÖu nhÞ ph©n ®îc lu tr÷ trong chÕ ®é sniffer Snort lµ NIDS: Snort lµ mét c«ng cô ph¸t hiÖn x©m nhËp tuyÖt vêi. Khi ®îc sö dông nh lµ mét NIDS, Snort cung cÊp kh¶ n¨ng ph¸t hiÖn x©m nhËp gÇn nh lµ thêi gian thùc. Chóng ta sÏ xem rÊt nhiÒu c¸ch mµ Snort cã thÓ ®îc sö dông nh lµ mét NIDS vµ tÊt c¶ c¸c tïy chän cÊu h×nh cã thÓ. Trong chÕ ®é c¶nh b¸o, Snort cÇn mét file cÊu h×nh (thËt ra, chØ cÇn x¸c ®Þnh vÞ trÝ cña file snort.conf lµ ®Æt Snort trong chÕ ®é nµy). VÞ trÝ mÆc ®Þnh cña file nµy lµ /etc/snort.conf. NÕu b¹n muèn ®Æt ë mét vÞ trÝ kh¸c, b¹n ph¶i sö dông khãa –c kÌm víi vÞ trÝ ®Æt file. C¸c c¶nh b¸o ®îc ®Æt trong file alert trong th môc log (mÆc ®Þnh lµ (/var/log/snort). Snort sÏ tho¸t ra víi víi mét lçi nÕu file cÊu h×nh hoÆc th môc log kh«ng tån t¹i. C¸c cµi ®Æt mÆc ®Þnh cho hÇu nh tÊt c¶ c¸c môc trong file nµy lµ kh¸ tèt (mÆc dï sÏ cã c¸c c¶nh b¸o nhÇm). BiÕn duy nhÊt chóng ta míi thiÕt lËp lµ biÕn SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 42 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh RULE_PATH, chØ cho Snort n¬i cña c¸c file luËt. File c¶nh b¸o n»m trong th môc /var/log/snort. File nµy chøa c¸c c¶nh b¸o ®îc t¹o ra khi Snort ®ang ch¹y. C¸c c¶nh b¸o Snort ®îc ph©n lo¹i theo kiÓu c¶nh b¸o. Mét luËt Snort còng x¸c ®Þnh mét møc ®é u tiªn cho mét c¶nh b¸o.§iÒu nµy cho phÐp b¹n läc c¸c c¶nh b¸o cã ®é u tiªn thÊp. C¸c tïy chän c©u lÖnh, file cÊu h×nh vµ c¸c luËt cña Snort sÏ ®îc tr×nh bµy trong c¸c phÇn tiÕp theo. C¸c tïy chän c©u lÖnh cña Snort: Tríc khi chóng ta t×m hiÓu c¸c c¬ chÕ ho¹t ®éng cña Snort, ®Çu tiªn h·y xem xÐt c¸c tïy chän cña dßng lÖnh. Mét vµi tïy chän cã thÓ ®îc x¸c ®Þnh trong file cÊu h×nh thay v× ë dßng lÖnh. NÕu b¹n chØ muèn thö mét vµi thø, x¸c ®Þnh c¸c cµi ®Æt trong dßng lÖnh. NÕu b¹n dù ®Þnh sÏ gi÷ c¸c cµi ®Æt nµy trong mét kho¶ng thêi gian, thiÕt lËp chóng trong file cÊu h×nh. C¸c luËt cña Snort Gièng nh virut, hÊu hÕt c¸c hµnh vi x©m nhËp ®Òu cã mét vµi dÊu hiÖu. Th«ng tin vÒ c¸c dÊu hiÖu nµy ®îc sö dông ®Ó t¹o ra c¸c luËt cña Snort. B¹n cã thÓ sö dông honeypot ®Ó biÕt kÎ x©m nhËp ®ang lµm g× vµ th«ng tin vÒ c¸c c«ng cô vµ kÜ thuËt cña chóng. Ngoµi ra, cã c¸c s¬ së d÷ liÖu vÒ c¸c ®iÓm yÕu mµ kÎ x©m nhËp muèn khai th¸c. Nh÷ng c¸ch tÊn c«ng ®· biÕt nµy còng cã thÓ ®îc sö dông nh lµ c¸c dÊu hiÖu ®Ó ph¸t hiÖn mét ngêi nµo ®ã muèn tÊn c«ng hÖ thèng cña b¹n.C¸c dÊu hiÖu cã thÓ tån t¹i trong header cña c¸c gãi tin. HÖ thèng ph¸t hiÖn x©m nhËp dùa trªn Snort th× dùa trªn c¸c luËt. C¸c luËt cña Snort cã thÓ ® îc sö dông ®Ó kiÓm tra nhiÒu phÇn kh¸c nhau cña gãi tin.Mét luËt cã thÓ ®îc sö dông ®Ó t¹o ra mét th«ng ®iÖp c¶nh b¸o, ghi l¹i mét th«ng ®iÖp...,hoÆc trong Snort lµ “pass” gãi tin. HÇu hÕt c¸c luËt cña Snort ®îc viÕt theo tõng dßng ®¬n. Tuy nhiªn, b¹n còng cã thÓ më réng c¸c luËt thµnh nhiÒu dßng b»ng c¸ch sö dông kÝ tù g¹ch chÐo ngîc t¹i cuèi dßng. C¸c luËt thêng ®îc ®Æt trong file cÊu h×nh, thêng lµ snort.conf. B¹n còng cã thÓ sö dông nhiÒu file b»ng c¸ch gom chóng l¹i trong mét file cÊu h×nh chÝnh. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 43 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 3.4. RULE – CÊU TRóC LUËT CñA SNORT LuËt dë ®Çu tiªn ThËt ra, ®©y cã thÓ lµ luËt tÖ nhÊt ®· tõng ®îc viÕt, nhng nã kiÓm tra rÊt tèt nÕu Snort ®ang ho¹t ®éng tèt vµ cã thÓ t¹o ra c¸c c¶nh b¸o. Alert ip any any -> any any (msg : IP Packet detected) B¹n cã thÓ dïng luËt nµy vµo cuèi mçi file snort.conf khi b¹n cµi ®Æt Snort lÇn ®Çu tiªn. LuËt nµy sÏ t¹o ra c¶nh b¸o cho mçi gãi tin Ip b¾t ®îc. Nã sÏ lµm ®Çy kh«ng gian ®Üa mét c¸ch nhanh chãng nÕu nh b¹n vÉn ®Ó nã ë ®ã. LuËt nµy dë v× nã kh«ng truyÒn ®¹t bÊt k× th«ng tin g×.T¹i sao ta sö dông luËt nµy? §ã cã thÓ lµ lÇn ®Çu tiªn b¹n kiÓm tra ®Ó ®¶m b¶o Snort ®· ®îc cµi ®Æt ®óng. Trong c¸c lÇn tiÕp theo, b¹n sÏ thÊy th«ng tin vÒ c¸c phÇn kh¸c nhau cña luËt Snort.LuËt kÕ tiÕp t¹o ra c¶nh b¸o cho tÊt c¶ c¸c gãi tin ICMP. Alert icmp any any -> any any (msg : “ICMP Packet found”) CÊu tróc cña mét luËt TÊt c¶ c¸c luËt Snort ®Òu cã hai phÇn chÝnh : header vµ options. PhÇn header chøa c¸c th«ng tin vÒ hµnh ®éng mµ luËt sÏ thùc hiÖn. Nã còng chøa c¸c tiªu chuÈn vÒ viÖc so s¸nh mét luËt trªn mét gãi tin. PhÇn option thêng chøa mét th«ng ®iÖp c¶nh b¸o vµ th«ng tin vÒ phÇn nµo cña gãi tin ®îc sö dông ®Ó t¹o ra c¶nh b¸o. Mét luËt cã thÓ ph¸t hiÖn mét hoÆc nhiÒu kiÓu x©m nhËp. Header cña luËt Snort CÊu tróc tæng qu¸t cña phÇn header nh sau: Trong ®ã : - Action : x¸c ®Þnh kiÓu hµnh ®éng ®îc thùc hiÖn khi mét tiªu chuÈn ®îc so trïng vµ mét luËt gièng víi gãi tin d÷ liÖu. Hµnh ®éng ®iÓn h×nh lµ viÖc t¹o ra c¸c c¶nh b¸o hoÆc ghi l¹i c¸c th«ng ®iÖp log. - Protocol : ®îc sö dông ®Ó ¸p dông luËt trªn gãi tin cho mét giao thøc cô thÓ. PhÇn protocol ®îc sö dông ®Ó ¸p dông luËt trªn c¸c gãi tin chØ ®èi víi mét giao thøc cô thÓ. §©y lµ tiªu chuÈn ®Çu tiªn ®îc ®Ò cËp trong luËt. Mét vµi giao thøc ®îc sö dông nh lµ IP, ICMP, UDP... SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 44 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Address : x¸c ®Þnh ®¹i chØ nguån vµ ®Þa chØ ®Ých. §Þa chØ cã thÓ lµ cña mét host, nhiÒu host hoÆc lµ ®Þa chØ m¹ng. Lu ý r»ng trong mét luËt sÏ cã 2 ®Þa chØ : ®Þa chØ nguån vµ ®Þa chØ ®Ých. - Port : ®îc ¸p dông trong trêng hîp TCP hay UDP, x¸c ®Þnh cæng nguån vµ ®Ých cña mét gãi tin mµ luËt ®îc ¸p dông. Trong trêng hîp giao thøc líp m¹ng lµ IP vµ ICMP, sè port lµ kh«ng cã ý nghÜa. - Direction : cña luËt x¸c ®Þnh ®Þa chØ vµ cæng nµo ®îc sö dông nh lµ nguån hay lµ ®Ých. - VÝ dô: xÐt mét luËt sau ®©y. LuËt nµy sÏ t¹o ra mét th«ng ®iÖp c¶nh b¸o bÊt cø khi nµo nã ph¸t hiÖn mét gãi tin ping ICMP (ICMP ECHO REQUEST) víi TTL lµ 100, nh sau: alert icmp any any -> any any(msg:"PingwithTTL=100";\ttl: 100) PhÇn tríc dÊu ngoÆc ®¬n lµ header cña luËt, phÇn trong dÇu ngoÆc ®¬n lµ phÇn option. PhÇn header chøa c¸c th«ng tin nh sau: - Rule action (PhÇn thùc thi cña luËt): trong luËt nµy, kiÓu thùc thi cña luËt lµ “alert”, nghÜa lµ mét c¶nh b¸o sÏ ®îc t¹o ra khi trïng víi mét dÊu hiÖu xn. Nhí r»ng gãi tin sÏ ®îc ghi log mét c¸ch mÆc ®Þnh khi c¶nh b¸o ®îc t¹o ra. Phô thuéc vµo phÇn action, phÇn option cña luËt cã thÓ chøa c¸c tiªu chuÈn thªm vµo trong luËt. - Protocol (Giao thøc) : trong luËt nµy, giao thøc lµ ICMP, nghÜa lµ luËt nµy chØ ®îc ¸p dông trªn c¸c gãi tin ICMP. Trong bé phËn ph¸t hiÖn cña Snort, nÕu giao thøc cña mét gãi tin kh«ng ph¶i lµ ICMP, phÇn cßn l¹i cña gãi tin sÏ kh«ng ®îc quan t©m ®Ó tiÕt kiÖm thêi gian CPU. PhÇn protocol ®ãng mét vai trß qian träng khi b¹n muèn ¸p dông luËt Snort chØ trªn nh÷ng gãi tin víi nh÷ng kiÓu cô thÓ. - §Þa chØ nguån vµ cæng nguån : trong vÝ dô nµy, c¶ hai phÇn nµy ®Òu lµ “any”, nghÜa lµ luËt ®îc ¸p dông cho tÊt c¶ c¸c gãi tin ®Õn tõ mét nguån bÊt k×. DÜ nhiªn sè cæng kh«ng liªn quan g× ®Õn gãi tin ICMP. Sè cæng chØ liªn quan khi giao thøc ®îc sö dông lµ TCP hoÆc UDP. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 45 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Direction : Trong trêng hîp nµy direction ®îc thiÕt lËp lµ tõ tr¸i qua ph¶i sö dông kÝ hiÖu ->. §iÒu nµy chØ ra r»ng sè ®Þa chØ vµ cæng ë phÝa bªn tr¸i lµ nguån vµ ë phÝa bªn ph¶i lµ cña ®Ých. Nã còng cã nghÜa lµ luËt nµy sÏ ®îc ¸p dông trªn c¸c gãi tin di chuyÓn tõ nguån tíi ®Ých. B¹n còng cã thÓ sö dông kÝ hiÖu ; TCP header chøa mét trêng Acknowledgement Number dµi 32 bit. Trêng nµy chØ ra r»ng sequence number kÕ tiÕp cña ngêi göi ®îc mong ®îi. Trêng nµy chØ cã ý nghÜa khi cê flag trong trêng TCP ®îc thiÕt lËp. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 46 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh classtype config classification: name,description,priority - name: tªn ®îc sö dông cho viÖc ph©n lo¹i.Tªn ®îc sö dông víi tõ khãa classtype trong luËt Snort. - Description : m« t¶ ng¾n vÒ kiÓu ph©n lo¹i. - Priority : thø tù u tiªn mÆc ®Þnh cho sù ph©n lo¹i, cã thÓ ®îc chØnh söa b»ng tõ khãa priority.Priority cµng thÊp th× ®é u tiªn cµng cao.C¸c luËt cã thÓ ®îc ph©n lo¹i vµ xÕp thø tù u tiªn vµo trong mét nhãm. - §Ó cã thÓ hiÓu h¬n vÒ tõ khãa classtype, h·y xem file classification.config trong snort.conf. Mçi dßng trong ®ã sÏ cã có ph¸p nh sau : Content content: ; content: ; Mét ®Æc tÝnh quan träng cña Snort lµ kh¶ n¨ng t×m thÊy mét mÉu d÷ liÖu trong mét gãi tin. MÉu ®ã cã thÓ tån t¹i díi d¹ng mét chuçi ASCII hoÆc lµ c¸c kÝ tù thËp lôc ph©n. Gièng nh virut, nh÷ng kÎ x©m nhËp còng cã c¸c dÊu hiÖu vµ tõ khãa content ®Ó cã thÓ t×m ra c¸c dÊu hiÖu trong c¸c gãi tin. V× Snort phiªn b¶n 1.x kh«ng hç trî c¸c giao thøc ë líp øng dông nªn tõ khãa nµy, cïng víi tõ khãa offset, còng cã thÓ ®îc sö dông ®Ó xem xÐt header cña líp øng dông. Offset: offset: < value>; Tõ khãa offset ®îc sö dông kÕt hîp víi tõ khãa content. Sö dông tõ khãa nµy, b¹n cã thÓ b¾t ®Çu t×m kiÕm tõ mét vÞ trÝ x¸c ®Þnh so víi vÞ trÝ b¾t ®Çu cña gãi tin. Sö dông mét con sè nh lµ ®èi sè cña tõ khãa nµy. Depth depth: < value>; Tõ khãa depth còng ®îc sö dông kÕt hîp víi tõ khãa content ®Ó x¸c ®Þnh giíi h¹n trªn cña viÖc so s¸nh mÉu. Sö dông tõ khãa nµy, b¹n cã thÓ x¸c ®Þnh mét vÞ trÝ so víi vÞ trÝ b¾t ®Çu. D÷ liÖu sau vÞ trÝ nµy sÏ kh«ng ®îc t×m kiÕm ®Ó so SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 47 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh mÉu.NÕu b¹n dïng c¶ hai tõ khãa offset vµ depth th× b¹n cã thÓ x¸c ®Þnh mét kho¶ng d÷ liÖu thùc hiÖn viÖc so s¸nh mÉu. nocase nocase; Tõ khãa nocase ®îc sö dông kÕt hîp víi tõ khãa content. Nã kh«ng cã ®èi sè. Môc ®Ých cña nã lµ thùc hiÖn viÖc t×m kiÕm trong trêng hîp v« t×nh. content-list content_list: < filename>; Tõ khãa content-list ®îc sö dông víi tªn cña mét file nh lµ ®èi sè cña tõ khãa nµy. File nµy sÏ chøa mét danh s¸ch c¸c chuçi sÏ ®îc t×m kiÕm trong mét gãi tin. Mçi chuçi ®îc ®Æt trªn c¸c dßng kh¸c nhau cña file. dsize dsize: [] < number>; Tõ khãa dsize ®îc sö dông ®Ó t×m chiÒu dµi mét phÇn d÷ liÖu cña gãi tin. NhiÒu c¸ch tÊn c«ng sö dông læ hæng trµn bé ®Öm b»ng c¸ch göi c¸c gãi tin cã kÝch thíc lín. Sö dông tõ khãa nµy, b¹n cã thÓ t×m thÊy c¸c gãi tin cã chiÒu dµi d÷ liÖu lín hoÆc nhá h¬n mét sè x¸c ®Þnh. flags flags: < flags>; Tõ khãa flags ®îc sö dông ®Ó t×m ra bit flag nµo ®îc thiÕt lËp trong header TCP cña gãi tin. Mçi flag cã thÓ ®îc sö dông nh mét ®èi sè cña tõ khãa flags trong luËt Snort. Nh÷ng bit flag nµy ®îc sö dông bëi nhiÒu c¸c c«ng cô b¶o mËt víi nhiÒu môc ®Ých trong ®ã cã viÖc quÐt c¸c cæng nh nmap (http://www.nmap.org). fragbits fragbits: < flag_settings>; Sö dông tõ khãa nµy, b¹n cã thÓ t×m ra nh÷ng bit RB (Reserved Bit), DF(Don't Fragment Bit), MF(More Fragments Bit) trong header IP cã ®îc bËt lªn hay kh«ng. icmp_id SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 48 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh icmp_id: < number>; Option icmp_id ®îc sö dông ®Ó ph¸t hiÖn mét ID cô thÓ ®îc sö dông víi mét gãi tin ICMP. icmp_seq icmp_seq: < hex_value>; Option icmp_seq gièng nh tõ khãa icmp_id. Itype itype: < number>; Header ICMP n»m sau header IP vµ chøa trêng type. Tõ khãa itype ®îc sö dông ®Ó ph¸t hiÖn c¸c c¸ch tÊn c«ng sö dông trêng type trong header ICMP cña gãi tin. Icode icode: < number>; Trong gãi tin ICMP, header ICMP ®i sau header IP. Nã chøa mét trêng code. Tõ khãa icode ®îc sö dông ®Ó ph¸t hiÖn trêng code trong header gãi tin ICMP. Id id: < number>; Tõ khãa id ®îc sö dông ®Ó ®èi chiÕu trêng fragment ID cña header gãi tin IP. Môc ®Ých cña nã lµ ph¸t hiÖn c¸c c¸ch tÊn c«ng sö dông mét sè ID cè ®Þnh. Ipopts ipopts: < ip_option>; Header IPv4 c¬ b¶n dµi 20 byte. B¹n cã thÓ thªm c¸c tïy chän vµo header nµy ë cuèi. ChiÒu dµi cña phÇn tïy chän nµy cã thÓ lªn ®Õn 40 byte. C¸c tïy chän ®îc sö dông cho c¸c môc ®Ých kh¸c nhau, bao gåm:- Record Route (rr). - Time Stamps (ts). - Loose Source Routing (lsrr). - Strict Source Routing (ssrr). ip_proto ip_proto: [!] < name or number>; SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 49 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Tõ khãa ip_proto sö dông plug-in IP Proto ®Ó x¸c ®Þnh sè giao thøc trong header IP. Tõ khãa nµy cÇn mét con sè giao thøc lµ ®èi sè. B¹n còng cã thÓ sö dông tªn giao thøc nÕu nã cã thÓ ph©n gi¶i b»ng file /etc/protocols. Logtol logto: < file_name>; Tõ khãa logto ®îc sö dông ®Ó ghi log c¸c gãi tin vµo mét file ®Æc biÖt. Msg msg: < sample message>; Tõ khãa msg ®îc sö dông ®Ó thªm mét chuçi kÝ tù vµo viÖc ghi log vµ c¶nh b¸o. B¹n cã thÓ thªm mét th«ng ®iÖp trong hai dÊu ngoÆc kÐp sau tõ khãa nµy. Priority priority: < priority integer>; Tõ khãa priority g¸n ®é u tiªn cho mét luËt. React react: ; Tõ khãa react ®îc sö dông víi mét luËt ®Ó kÕt thóc mét phiªn, khãa mét vµi vÞ trÝ hoÆc dÞch vô. Kh«ng ph¶i tÊt c¶ c¸c option víi tõ khãa nµy ho¹t ®éng. §Ó sö dông tõ khãa react, b¹n nªn biªn dÞch Snort víi lÖnh --enable-flexresp trong script cÊu h×nh. Reference reference : ,; Tõ khãa reference cã thÓ thªm mét sù tham kh¶o ®Õn th«ng tin tån t¹i trªn c¸c hÖ thèng kh¸c trªn m¹ng. Nã kh«ng ®ãng mét vai trß nµo trong c¬ chÕ ph¸t hiÖn. Cã nhiÒu hÖ thèng ®Ó tham kh¶o nh CVE vµ Bugtraq. Nh÷ng hÖ thèng nµy gi÷ c¸c th«ng tin thªm vÒ c¸c kiÓu tÊn c«ng ®· ®îc biÕt. B»ng viÖc sö dông tõ khãa nµy, b¹n cã thÓ kÕt nèi ®Õn c¸c th«ng tin thªm trong th«ng ®iÖp c¶nh b¸o. Resp Tõ khãa resp lµ mét tõ khãa cùc k× quan träng. Nã cã thÓ ®îc sö dông ®Ó ®¸nh b¹i c¸c hµnh vi cña hacker b»ng c¸ch göi c¸c gãi tin tr¶ lêi cho mét host mµ t¹o SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 50 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh ra mét gãi tin tháa luËt. Tõ khãa nµy còng ®îc biÕt nh lµ Flexible Response (FlexResp) vµ ®îc dùa trªn FlexResp plug-in. Plug-in nªn ®îc biªn dÞch vµo Snort, sö dông lÖnh (--with-flexresp)trong script cÊu h×nh. Rev rev: < revision integer>; Tõ khãa rev ®îc thªm vµo option cña luËt Snort ®Ó chØ ra sè revision cña luËt. NÕu b¹n cËp nhËt luËt, b¹n cã thÓ sö dông tõ khãa nµy ®Ó ph©n biÖt gi÷a c¸c phiªn b¶n. C¸c module output còng cã thÓ sö dông con sè nµy ®Ó nhËn d¹ng sè revision. Rpc rpc: Tõ khãa rpc ®îc sö dông ®Ó ph¸t hiÖn c¸c yªu cÇu RPC c¬ b¶n. Tõ khãa nµy chÊp nhËn 3 sè nh lµ ®èi sè : Sameip sameip; Tõ khãa sameip ®îc sö dông ®Ó kiÓm tra ®Þa chØ nguån vµ ®Ých cã gièng nhau hay kh«ng. Nã kh«ng cã ®èi sè. Seq seq:; Tõ khãa seq trong luËt Snort cã thÓ ®îc sö dông ®Ó kiÓm tra sè thø tù sequence cña gãi tin TCP. Flow Tõ khãa flow ®îc sö dông ®Ó ¸p dông mét luËt lªn c¸c gãi tin di chuyÓn theo mét híng cô thÓ. B¹n cã thÓ sö dông c¸c option víi tõ khãa ®Ó x¸c ®Þnh híng. C¸c option sau ®©y cã thÓ ®îc sö dông víi tõ khãa nµy : - to_client- to_server - from_client - from_server. Session session: [printable|all]; SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 51 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Tõ khãa cã thÓ ®îc sö dông ®Ó g¹t bá tÊt c¶ d÷ liÖu tõ mét phiªn TCP. Sid sid: < snort rules id>; Sö dông SID, c¸c c«ng cô nh ACID cã thÓ biÓu diÔn luËt thËt sù t¹o ra mét c¶nh b¸o cô thÓ. Tag tag: , , [, direction] Tõ khãa tag lµ mét tõ khãa rÊt quan träng kh¸c cã thÓ ®îc sö dông ®Ó ghi log c¸c d÷ liÖu thªm vµo tõ ( hoÆc ®Õn) mét host x©m nhËp khi mét luËt ®îc kÝch ho¹t. D÷ liÖu thªm vµo cã thÓ ®îc ph©n tÝch sau nµy mét c¸ch chi tiÕt h¬n. Tos tos: < number>; Tõ khãa tos ®îc sö dông ®Ó ph¸t hiÖn mét gi¸ trÞ cô thÓ trong trêng TOS (Type of Service) cña header IP. Ttl ttl: < number>; Tõ khãa ttl ®îc sö dông ®Ó ph¸t hiÖn gi¸ trÞ Time to Live trong header IP cña gãi tin. Tõ khãa nµy cã thÓ ®îc sö dông víi tÊt c¶ c¸c kiÓu giao thøc ®îc x©y dùng trªn IP nh ICMP, UCP vµ TCP. Sö dông tõ khãa ttl, b¹n cã thÓ t×m ra nÕu cã mét ngêi cè g¾ng traceroute m¹ng cña b¹n. VÊn ®Ò duy nhÊt lµ tõ khãa cÇn mét gi¸ trÞ TTL chÝnh x¸c. uricontent uricontent: [!] "content string"; Tõ khãa uricontent gièng víi tõ khãa content ngo¹i trõ viÖc nã ®îc sö dông ®Ó t×m mét chuçi chØ trong phÇn URI cña gãi tin 3.5. SIGNATURE: §Þnh d¹ng cña 1 gãi dÊu hiÖu (Signature) cña snort: Rule: -- SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 52 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Sid: -Summary: -Impact: -Detailed Information: -Affected System: -Attack Scenarios: -Ease of Attack: -False Positives: -False Negatives: -Corrective Action: -Contributors: -Additional References: VÝ dô: Ta sÏ tham kh¶o mét gãi signature ®Ó ph¸t hiÖn cuéc tÊn c«ng DDoS b»ng c«ng cô Trinoo Rule: -Sid: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 53 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 232 -Summary: This event is generated when a pong packet for the Trinoo (aka trin00) DDos suite is detected. -Impact: This may indicate a compromised system or be the prelude to a Distributed Denial of Service (DDoS) attack. -Detailed Information: Once a Trinoo client has been installed on a compromised machine and a master is ready and listening, the master sends a "png" (ping) command to its drones in an attempt to enumerate the drone network. A functioning client will respond to port 31335/udp with the text "PONG". Once a machine becomes part of a trin00 network, a Denial of Service (DoS) is typically initiated against one (or more) victim machines. -Affected Systems: -Attack Scenarios: As part of a large scale attack against a machine or a network, an attacker will compromise large numbers of machines which will form the army that the trin00 master daemon will command. The master daemon typically instructs the clients to send mass-quantities of packets to a set of victim hosts. If the traffic is sufficient, the victim machines will become resource deprived and thus endure a DoS condition. -Ease of Attack: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 54 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Simple. Trinoo client and master programs are widely available. -False Positives: None Known -False Negatives: None Known -Corrective Action: Disconnect infected machine(s) from the network immediately. Use software to determine if a host has been compromised using a rootkit. -Contributors: Original rule writer unknown Snort documentation contributed by Jon Hart Sourcefire Vulnerability Research Team Nigel Houghton -Additional References: -- 3.6. TÖP CÊU H×NH (snort.conf) - File nort.conf kh«ng ph¶i lµ mét file nhá. Nã chøa nhiÒu cµi ®Æt vµ mét phiªn b¶n míi cã thÓ thay ®æi vµ g©y ra nhÇm lÉn. File snort.conf ®iÒu khiÓn mäi thø vÒ viÖc Snort sÏ gi¸m s¸t c¸i g×, chóng tù b¶o vÖ nh thÕ nµo, c¸c luËt g× chóng sö dông ®Ó t×m thÊy lu lîng nguy hiÓm, vµ thËm chÝ lµ c¸ch chóng gi¸m s¸t c¸c lu lîng nguy hiÓm tiÒm tµng mµ kh«ng ®îc ®Þnh nghÜa b»ng c¸c dÊu hiÖu nh thÕ nµo. ViÖc hiÓu thÊu ®¸o nh÷ng g× trong file nµy vµ c¸ch cÊu h×nh chóng lµ rÊt quan träng ®Ó triÓn khai thµnh c«ng Snort nh lµ IDS trong m¹ng cña b¹n. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 55 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh File nµy ®îc tæ chøc thµnh nhiÒu phÇn (vµ chøa nhiÒu c¸c lêi chó thÝch vµ híng dÉn ®Ó nh¾c b¹n vÒ mét vµi tïy chän cã thÓ ®èi víi c¸c môc cÊu h×nh kh¸c nhau): - C¸c biÕn cÊu h×nh. - CÊu h×nh bé gi¶i m· vµ bé phËn ph¸t hiÖn cña Snort. - CÊu h×nh tiÒn xö lÝ. - CÊu h×nh xuÊt th«ng tin. - C¸c file kÌm theo C¸c biÕn cÊu h×nh PhÇn ®Çu cña file dµnh cho viÖc ghi l¹i mét vµi th«ng tin cÊu h×nh. HÇu hÕt c¸c biÕn ®îc sö dông bëi c¸c luËt Snort ®Ó x¸c ®Þnh chøc n¨ng cña mét vµi hiÓn thÞ vµ vÞ trÝ cña c¸c phÇn kh¸c. C¸c biÕn v¹ch ra c¸ch bè trÝ m«i trêng mµ Snort cã thÓ quyÕt ®Þnh sù kiÖn nµo sÏ t¹o ra c¶nh b¸o.C¸c biÕn t×m kiÕm c¶ ®Þa chØ IP vµ cæng TCP mµ mét dÞch vô ®ang l¾ng nghe. Theo mÆc ®Þnh, c¸c biÕn ®îc khai b¸o víi gi¸ trÞ bÊt k×. Nã ®óng víi bÊt k× ®Þa chØ IP nµo. Khi gi¸ trÞ nµy ®îc sö dông, nã cã thÓ t¹o ra mét sè lîng lín c¸c c¶nh b¸o nhÇm. §Ó x¸c ®Þnh mét ®Þa chØ ®¬n, chØ cÇn ®¸nh vµo ®Þa chØ IP ®ã : var HOME_NET 10.120.25.135 - B¹n còng cã thÓ x¸c ®Þnh nhiÒu ®Þa chØ, c¸c nhãm ®Þa chØ n»m trong dÊu ngoÆc vu«ng vµ c¸c ®Þa chØ c¸ch nhau bëi dÊu phÈy (kh«ng cã kho¶ng tr¾ng): var HOME_NET [10.10.10.20,192.168.1.23,172.16.30.25] B¹n còng cã thÓ x¸c ®Þnh mét kh«ng gian ®Þa chØ b»ng c¸ch x¸c ®Þnh sè c¸c bit trong subnet mask. VÝ dô : var HOME_NET 10.10.10.0/24 B¹n cã thÓ kÕt hîp c¸c kiÓu ghi ®Þa chØ nh sau var HOME_NET [192.168.1.12,172.16.0.0/16,10.10.10.10,10.10.20.0/24] B¹n cã thÓ sö dông kÝ tù “!” ®Ó phñ ®Þnh. Lu ý r»ng khi thiÕt lËp c¸c biÕn, b¹n chØ sö dông tªn biÕn. Khi b¹n thËt sù sö dông biÕn, b¹n ph¶i ®Æt kÝ tù “$” tr- SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 56 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh íc tªn biÕn. VÝ dô sau ®©y sÏ thiÕt lËp biÕn EXTERNAL_NET lµ tÊt c¶ c¸c ®Þa chØ kh«ng n»m trong biÕn HOME_NET: var EXTERNAL_NET !$HOME_NET Mét vµi biÕn cÇn g¸n cho sè cæng, kh«ng ph¶i lµ ®Þa chØ IP. Ta cã thÓ g¸n 1 cæng ®¬n, 1 d·y c¸c cæng liªn tôc hoÆc lµ phñ ®Þnh cña 1 cæng. VÝ dô: var ORACLE_PORTS 1521 var ORACLE_PORTS 8000:8080 (c¸c cæng tõ 8000 ®Õn 8080) var ORACLE_PORTS :8080 (c¸c cæng lín h¬n 8080) var SHELLCODE_PORTS !80 (kh«ng ph¶i cæng 80) C¸c biÕn mÆc ®Þnh trong file snort.conf lµ: HOME_NET Sö dông ®Ó x¸c ®Þnh ®Þa chØ IP cña hÖ thèng b¹n ®ang b¶o vÖ. EXTERNAL_NET Ta nªn sö dông kÝ tù “!” ®Ó x¸c ®Þnh mäi thø kh«ng n»m trong m¹ng bªn trong cña b¹n. VÝ dô, h·y xem mét luËt sau ®©y: alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"ATTACK- RESPONSES directory listing"; content: "Volume Serial Number"; flow:from_server,established; classtype:bad-unknown; Cã nhiÒu luËt ®îc thiÕt kÕ ®Ó gi¸m s¸t c¸c dÞch vô cô thÓ. ViÖc ®Æt ®Þa chØ cho c¸c server lµm gi¶m sè lîng c¸c c¶nh b¸o nhÇm mµ Snort t¹o ra. Th×nh tho¶ng, server b¹n liÖt kª kh«ng cã trªn m¹ng. VÝ dô, b¹n cã thÓ kh«ng cã c¸c server DNS bªn m¹ng trong. C¸c biÕn ®îc sö dông ®Ó ®Þnh nghÜa c¸c server ch¹y c¸c dÞch vô mµ cã c¸c luËt x¸c ®Þnh lµ: - DNS_SERVERS - SMTP_SERVERS - HTTP_SERVERS - SQL_SERVERS - TELNET_SERVERS - SNMP_SERVERS HTTP_PORTS SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 57 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Cæng 80 lµ cæng mÆc ®Þnh cña HTTP. SHELLCODE_PORTS Thêng ®îc ®Æt lµ c¸c cæng kh«ng ph¶i lµ 80. ORACLE_PORTS X¸c ®Þnh cæng mµ Orale l¾ng nghe. MÆc ®Þnh, Oracle l¾ng nghe ë cæng 1521. AIM_SERVERS BiÕn nµy ®îc sö dông bëi c¸c luËt ®Ó gi¸m s¸t lu lîng peer-to-peer vµ instant messenger. Nã ®îc cÊu h×nh víi c¸c danh s¸ch ®Þa chØ server AOL Instant Messenger. Danh s¸ch nµy thay ®æi theo thêi gian. RULE_PATH BiÕn nµy cÇn ®îc thiÕt lËp ®óng, nÕu kh«ng, Snort sÏ kh«ng ho¹t ®éng. Nã chØ ®Õn vÞ trÝ c¸c luËt trong file hÖ thèng. NÕu c¸c luËt ®îc ®Æt trong /usr/local/share/snort_rules/march_2003/rules th× ta ph¶i thiÕt lËp biÕn nh sau : var RULE_PATH /var/local/share/snort_rules/march_2003/rules CÊu h×nh bé gi¶i m· vµ bé phËn ph¸t hiÖn cña Snort: Bé gi¶i m· Snort gi¸m s¸t cÊu tróc gãi tin ®Ó ®¶m b¶o chóng ®îc x©y dùng theo qui ®Þnh. NÕu mét gãi tin cã kÝch thíc l¹, mét tËp hîp tïy chän l¹, hoÆc lµ c¸c thiÕt lËp kh«ng phæ biÕn, Snort sÏ t¹o ra mét c¶nh b¸o. NÕu b¹n kh«ng quan t©m ®Õn c¸c c¶nh b¸o nµy hoÆc lµ sè lîng c¸c c¶nh b¸o nhÇm qu¸ lín, b¹n cã thÓ t¾t viÖc t¹o ra c¶nh b¸o cña bé gi¶i m·. Theo mÆc ®Þnh, tÊt c¶ c¸c c¶nh b¸o ®Òu ®îc bËt. §Ó tÊt mét kiÓu c¶nh b¸o cô thÓ, xãa kÝ tù “#” ë ®Çu dßng. C¸c tïy chän cÊu h×nh bé gi¶i m· lµ: # config disable_decode_alerts. # config disable_tcpopt_experimental_alerts. # config disable_tcpopt_obsolete_alerts. # config disable_tcpopt_ttcp_alerts.# config disable_tcpopt_alerts. # config disable_ipopt_alerts. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 58 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Lu ý : b¹n còng cã thÓ thªm nhiÒu tïy chän dßng lÖnh Snort vµo phÇn nµy cña file snort.conf. B¶ng 5-1 chØ ra mét vµi tïy chän: Table 5-1. snort.conf configure options Tïy chän. M« t¶ config order: [pass, alert, log, activation, or dynamic] Thay ®æi thø tù c¸c luËt ®îc ®¸nh gi¸. config alertfile: alerts ThiÕt lËp file c¶nh b¸o output. config decode_arp BËt gi¶i m· arp (snort -a). config dump_chars_only BËt dump kÝ tù (snort -C). config dump_payload Dump th«ng tin líp øng dông (snort -d). config decode_data_link Gi¶i m· header líp 2 (snort -e). config bpf_file: filters.bpf X¸c ®Þnh bé läc BPF (snort -F). config set_gid: 30 Thay ®æi GID (snort -g). config daemon Ch¹y Snort trong chÕ ®é daemon (snort -D). config interface: ThiÕt lËp giao diÖn m¹ng (snort -i). config alert_with_interface_name G¸n tªn cho c¶nh b¸o (snort -I). config logdir: /var/log/snort SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 59 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh ThiÕt lËp th môc log (snort -l). config umask: ThiÕt lËp umask khi ®ang ch¹y (snort -m). config pkt_count: N Tho¸t ra sau N gãi tin (snort -n). config nolog T¾t viÖc ghi log (vÉn cßn c¶nh b¸o) (snort -N). config obfuscate Lµm khã hiÓu c¸c ®Þa chØ IP (snort -O). config no_promisc T¾t chÕ ®é promiscuous (snort -p). config quiet T¾t c¸c ®Çu ®Ò vµ tr¹ng th¸i b¶n b¸o c¸o (snort -q). config chroot: /home/snort Chroot ®Õn th môc x¸c ®Þnh (snort -t). config checksum_mode : all C¸c kiÓu gãi tin ®îc tÝnh checksum. C¸c gi¸ trÞ lµ : none, noip, notcp, noicmp, noudp, vµ all. config set_uid: ThiÕt lËp UID (snort -u). config utc Sö dông UTC thay v× thêi gian côc bé cho timestamp (snort-U). config verbose Sö dông ghi log Verbose cho stdout (snort -U). config dump_payload_verbose Bá raw packet b¾t ®Çu tõ líp liªn kÕt (snort -X ). config show_year HiÓn thÞ n¨m trong timestamps (snort -y). SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 60 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh CÊu h×nh tiÒn xö lÝ C¸c bé tiÒn xö lÝ phôc vô mét Ýt môc ®Ých. Chóng chuÈn hãa lu lîng cho nhiÒu lo¹i dÞch vô, ®¶m b¶o r»ng d÷ liÖu trong c¸c gãi tin mµ Snort gi¸m s¸t sÏ cã 1 ®Þnh d¹ng mµ c¸c dÊu hiÖu sÏ ®îc nhËn ra. Mét chøc n¨ng kh¸c cña bé tiÒn xö lÝ lµ tù b¶o vÖ. NhiÒu lo¹i tÊn c«ng ®îc thiÕt kÕ ®Ó g©y nhÇm lÉn hoÆc lµm trµn ngËp bé c¶m biÕn NIDS, v× vËy mµ kÎ tÊn c«ng cã thÓ thùc hiÖn tÊn c«ng mµ kh«ng bÞ ph¸t hiÖn. TiÒn xö lÝ frag2 vµ stream4 chñ yÕu lµ c¸c c¬ chÕ phßng thñ. Lîi Ých cuèi cïng cña bé tiÒn xö lÝ lµ chóng më réng kh¶ n¨ng cña Snort ®Ó ph¸t hiÖn c¸c ®iÒu bÊt thêng mµ cã thÓ lµ dÊu hiÖu x©m nhËp. CÊu h×nh xuÊt kÕt qu¶ Mét trong nh÷ng søc m¹nh thËt sù cña Snort lµ c¸c tïy chän ®Ó xuÊt c¸c c¶nh b¸o vµ th«ng tin ph¸t hiÖn x©m nhËp. NhiÒu nhµ qu¶n trÞ Snort sö dông c¸c øng dông cña c«ng ty thø ba ®Ó gi¸m s¸t vµ nghiªn cøu th«ng tin t¹o ra bëi Snort. §Ó lµm ®îc viÖc ®ã, Snort ph¶i xuÊt d÷ liÖu theo mét ®Þnh d¹ng cô thÓ. Output plug-ins thùc hiÖn nhiÖm vô nµy. Lu ý r»ng viÖc sö dông mét vµi plug-in nµy ®ßi hái nhµ qu¶n trÞ ph¶i thùc hiÖn mét vµi bíc khi Snort ®îc biªn dÞch. VÝ dô, ®Ó cho phÐp Snort xuÊt d÷ liÖu ra mét c¬ së d÷ liÖu MySQL, MySQL client cÇn ®îc cµi ®Æt trªn hÖ thèng Snort vµ tïy chän --with-mysql ph¶i ®îc x¸c ®Þnh víi c©u lÖnh ../configure. Mét vµi tïy chän chØ sö dông ®îc trªn c¸c platform cô thÓ. VÝ dô, chØ hÖ thèng Window cã thÓ log trùc tiÕp vµo Microsoft SQL Server víi plug-in mysql (hÖ thèng Unix ph¶i dïng ODBC víi plug-in odbc). NhiÒu plug-in output cã thÓ ®îc bËt, cho phÐp nhiÒu c«ng cô ®îc triÓn khai bëi nhµ qu¶n trÞ. Alert_syslog C¸c hÖ thèng Unix sö dông syslog ®Ó tËp hîp c¸c th«ng ®iÖp ®îc t¹o ra bëi mét hoÆc nhiÒu hÖ thèng. Cã mét sè c¸ch kh¸c nhau ®Ó Snort t¹o ra th«ng tin cã thÓ ®îc tr×nh bµy trong syslog. B¹n cã thÓ x¸c ®Þnh kh¶ n¨ng ®îc sö dông bëi Snort vµ còng x¸c ®Þnh møc ®é u tiªn ®îc g¸n cho c¸c môc ®îc t¹o ra bëi Snort.§Þnh d¹ng cña plug-in nµy lµ: Output alert_syslog: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 61 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Tïy chän facility x¸c ®Þnh mét trong c¸c chuÈn syslog: - LOG_AUTH: - LOG_AUTH - LOG_AUTHPRIV - LOG_DAEMON - LOG_LOCAL0 - LOG_LOCAL1 - LOG_LOCAL2 - LOG_LOCAL3 - LOG_LOCAL4 - LOG_LOCAL5 - LOG_LOCAL6 - LOG_LOCAL7 - LOG_USER Tïy chän priority còng x¸c ®Þnh mét trong c¸c u tiªn chuÈn cña syslog : - LOG_ALERT: - LOG_EMERG - LOG_ALERT - LOG_CRIT - LOG_ERR - LOG_WARNING - LOG_NOTICE-LOG_INFO - LOG_DEBUG §©y lµ mét cÊu h×nh mÉu cho output plug-in alert_syslog : output alert_syslog: LOG_AUTH LOG_ALERT Log_tcpdump SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 62 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Output plug in nµy ghi log gãi tin theo ®Þnh d¹ng tcpdump. Cã nhiÒu øng dông cã thÓ ®äc ®Þnh d¹ng nµy. Tïy chän duy nhÊt cho output plug in nµy lµ tªn file trong th«ng tin ®îc ghi. §©y lµ mét cÊu h×nh mÉu cho log_tcpdump plug-in: output log_tcpdump /var/log/snort/tcpdump.out C¬ së d÷ liÖu Plug-in c¬ së d÷ liÖu cho phÐp b¹n viÕt nhiÒu c¬ së d÷ liÖu liªn quan víi nhau trªn cïng mét hÖ thèng ®ang ch¹y Snort hoÆc trªn mét host kh¸c. Khi ghi log vµo mét c¬ së d÷ liÖu, nhiÒu th«ng tin ®îc ghi l¹i – bao gåm c¸c c¶nh b¸o, liªn quan ®Õn host, vµ gãi tin g©y ra c¶nh b¸o – lµm cho viÖc ph©n biÖt gi÷a c¸c c¶nh b¸o thËt vµ gi¶ dÔ dµng h¬n. ThØnh tho¶ng viÖc ghi log vµo mét server c¬ së d÷ liÖu cã thÓ g©y ra nghÏn cæ chai, v× chØ cã mét c¶nh b¸o ®îc ghi log vµo 1 thêi ®iÓm. Mét server c¬ së d÷ liÖu ®îc cÊu h×nh tèt cã thÓ gi¶i quyÕt vÊn ®Ò nµy.Plug-in output c¬ së d÷ liÖu cã ®Þnh d¹ng sau : output database: , , Chän log hoÆc alert. Log göi th«ng tin log ®Õn c¬ së d÷ liÖu, vµ alert göi c¸c c¶nh b¸o. Lu ý r»ng log bao gåm c¸c th«ng tin c¶nh b¸o vµ th«ng tin gãi tin t¹o ra c¶nh b¸o. NÕu b¹n muèn göi c¶ hai ®Õn c¬ së d÷ liÖu, b¹n cÇn chän 2 dßng output c¬ së d÷ liÖu.< database type>. §©y lµ n¬i b¹n x¸c ®Þnh kiÓu c¬ së d÷ liÖu mµ b¹n ghi log. Snort hç trî c¸c d¹ng sau : mysql, postgresql, oracle, odbc, and mssql. Khi cÊu h×nh mét plug-in output c¬ së d÷ liÖu cô thÓ, thiÕt lËp c¸c th«ng sè sau (kh«ng cã dÊu phÈy gi÷a c¸c th«ng sè) : Th«ng sè M« t¶ Host §Þa chØ IP cña server c¬ së d÷ liÖu. NÕu ®Ó trèng, nã sÏ lµ m¸y côc bé (local machine) Port SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 63 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Cæng mµ c¬ së d÷ liÖu ®ang l¾ng nghe. B¹n chØ cÇn x¸c ®Þnh nÕu kh«ng sö dông cæng chuÈn. dbname= KiÓu c¬ së d÷ liÖu b¹n ghi log User Username mµ Snort sö dông ®Ó ghi log vµo c¬ së d÷ liÖu. Password Password ®îc sö dông ®Ó log vµo c¬ së d÷ liÖu. sensor_name Tªn bé c¶m biÕn cho cÊu h×nh nµy (kh«ng b¾t buéc). C¸ch kh¸c, tïy chän –I ë dßng lÖnh sö dông ®Þa chØ IP cña bé c¶m biÕn nh lµ tªn. Encoding ViÖc m· hãa ®îc sö dông ®Ó ghi log vµo c¬ së d÷ liÖu. B¹n cã thÓ x¸c ®Þnh hex( Ýt tèn kh«ng gian, cã thÓ t×m kiÕm nhng khã ®äc ), base64 (nhá h¬n plain text, kh«ng t×m kiÕm ®îc, kh«ng ®äc ®îc bëi ngêi ), hoÆc ASCII (lín h¬n, cã thÓ t×m kiÕm, ngêi dïng cã thÓ ®äc ®îc). Detail B¹n cã thÓ x¸c ®Þnh møc ®é chi tiÕt ®îc sö dông ®Ó khi göi th«ng tin ®Õn c¬ së d÷ liÖu. Full sÏ bao gåm tÊt c¶ th«ng tin mµ Snort thu thËp, bao gåm c¶ header vµ th«ng tin gãi tin. Fast th× nhanh h¬n 1 chót, nhng bao gåm Ýt th«ng tin h¬n nh tªn c¶nh b¸o, ®Þa chØ vµ cæng nguån, ®Ých vµ thêi gian. Full ®îc khuyªn dïng. C¸c file kÌm theo Thµnh phÇn cuèi cïng trong file snort.conf lµ c¸c môc ®Ýnh kÌm. C©u lÖnh include nãi cho Snort ®Ýnh kÌm th«ng tin trong c¸c file ®Æt trong file hÖ thèng Snort. Nh÷ng file nµy bao gåm th«ng tin cÊu h×nh vµ c¸c file chøa luËt mµ Snort sö dông ®Ó ph¸t hiÖn x©m nhËp. §êng dÉn mÆc ®Þnh nªn ®îc x¸c ®Þnh sím trong cÊu h×nh. Sö dông biÕn $RULE_PATH ®Ó chØ vÞ trÝ cña chóng, hoÆc sö dông tªn ®Çy ®ñ ®Ó chØ c¸c file luËt b¹n muèn sö dông. NhiÒu file ®Ýnh kÌm cã thÓ ®îc sö dông trong mét cÊu h×nh. §©y lµ mÉu cÊu h×nh ®Ýnh kÌm nãi cho Snort c¸c file luËt nµo ®îc sö dông : SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 64 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh #include $RULE_PATH/bad-traffic.rules (kh«ng sö dông file luËt nµy) include $RULE_PATH/exploit.rules include $RULE_PATH/scan.rules NÕu b¹n ®ang sö dông cµi ®Æt ph©n lo¹i møc ®é u tiªn hoÆc tham chiÕu ®Õn bÊt k× mét hÖ thèng nµo, sö dông c¸c môc sau ®©y. §¶m b¶o r»ng c¸c file nµy tån t¹i khi khëi ®éng Snort. Nh÷ng file nµy gióp ph©n lo¹i vµ u tiªn cho c¸c c¶nh b¸o tïy theo møc ®é. B¹n cã thÓ chØnh söa file classification.config theo ý cña m×nh. Khi file nµy ®îc cÊu h×nh theo nhu cÇu cña b¹n, b¹n cã thÓ sö dông console ®Ó t×m kiÕm c¸c c¶nh b¸o cã ®é u tiªn cao nhÊt. File reference.config bao gåm c¸c link ®Õn c¸c trang web víi th«ng tin vÒ tÊt c¶ c¸c c¶nh b¸o. Nã rÊt h÷u dông. # Include classification & priority settings include classification.config # Include reference systems include reference.config SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 65 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Gií Ch¬ng 4 i thiÖu Iptables 4.1. Giíi thiÖu chung vÒ iptables Iptables lµ mét têng löa øng dông läc gãi d÷ liÖu rÊt m¹nh, miÔn phÝ vµ cã s½n trªn Linux. Netfilter/Iptables gåm 2 phÇn lµ Netfilter ë trong nh©n Linux vµ Iptables n»m ngoµi nh©n. Iptables chÞu tr¸ch nhiÖm giao tiÕp gi÷a ngêi dïng vµ Netfilter ®Ó ®Èy c¸c luËt cña ngêi dïng vµo cho Netfiler xö lÝ. Netfilter tiÕn hµnh läc c¸c gãi d÷ liÖu ë møc IP. Netfilter lµm viÖc trùc tiÕp trong nh©n, nhanh vµ kh«ng lµm gi¶m tèc ®é cña hÖ thèng. H×nh 4-: M« h×nh Iptables/netfilter 4.2. CÊu tróc cña iptables: TÊt c¶ mäi gãi d÷ liÖu ®Òu ®îc kiÓm tra bëi iptables b»ng c¸ch dïng c¸c b¶n tuÇn tù x©y dùng s½n (queues). Cã 3 lo¹i b¶ng nµy gåm: - Mangle : chÞu tr¸ch nhiÖm thay ®æi c¸c bits chÊt lîng dÞch vô trong TCP header nh TOS (type of service ), TTL (time to live) vµ MARK. - Filter: chÞu tr¸ch nhiÖm läc gãi d÷ liÖu. Nã gåm 3 quy t¾c nhá (chain) ®Ó thiÕt lËp c¸c nguyªn t¾c läc gãi, gåm : + Forward chain: läc gãi khi ®Õn server kh¸c. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 66 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh + Input chain: läc gãi khi ®i vµo trong server. + Output chain: läc gãi khi ra khái server. - NAT : Gåm cã hai lo¹i: + Pre-routing : thay ®æi ®Þa chØ cña gãi d÷ liÖu ®Õn khi cÇn thiÕt. + Post-routing : thay ®æi ®Þa chØ cña gãi d÷ liÖu khi cÇn thiÕt. Lo¹i queues Chøc n¨ng queues Läc gãi Quy t¾c xö lý gãi (chain) FORWARD Chøc n¨ng cña chain Läc gãi d÷ liÖu ®i ®Õn c¸c server kh¸c kÕt nèi trªn c¸c NIC cña Filter INPUT OUTPUT PREROUTING Network firewall. Läc gãi ®i ®Õn firewall. Läc gãi ®i ra khái firewall. ViÖc thay ®æi ®Þa chØ diÔn ra tríc Address khi dÉn ®êng. Thay ®æi ®Þa chØ Translation ®Ých sÏ gióp gãi d÷ liÖu phï hîp (Biªn dÞch ®Þa víi b¶ng chØ ®êng cña firewall. chØ m¹ng) Sö dông destination NAT hay NAT POSTROUTING DNAT ViÖc thay ®æi ®Þa chØ diÔn ra sau khi dÉn ®êng. Sö dông Source OUTPUT NAT hay SNAT NAT sö dông cho c¸c gãi d÷ liÖu xuÊt ph¸t tõ firewall. HiÕm khi dïng trong m«i trêng SOHO ChØnh söa PREROUTING TCP header Mangle (small office-home office) §iÒu chØnh c¸c bit quy ®Þnh chÊt POSTROUTING lîng dÞch vô tríc khi dÉn ®êng. OUTPUT HiÕm khi dïng trong m«i trêng INPUT SOHO. FORWARD B¶ng 4-: C¸c lo¹i queues vµ chøc n¨ng cña nã Ta h·y xem qua vÝ dô m« t¶ ®êng ®i cña mét gãi d÷ liÖu : SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 67 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 4-: M« t¶ ®êng ®i cña gãi d÷ liÖu. §Çu tiªn, gãi d÷ liÖu ®Õn m¹ng A, tiÕp ®ã nã ®îc kiÓm tra bëi mangle table PREROUTING chain (nÒu cÇn). TiÕp theo lµ kiÓm tra gãi d÷ liÖu bëi nat table's PREROUTING chain ®Ó kiÓm tra xem gãi d÷ liÖu cã cÇn DNAT hay kh«ng? DNAT sÏ thay ®æi ®Þa chØ ®Ých cña gãi d÷ liÖu. Råi gãi d÷ liÖu ®îc dÉn ®i. NÕu gãi d÷ liÖu ®i vµo mét m¹ng ®îc b¶o vÖ, th× nã sÏ ®îc läc bëi FORWARD chain cña filter table, vµ nÕu cÇn gãi d÷ liÖu sÏ ®îc SNAT trong POSTROUTING chain ®Ó thay ®æi IP nguån tríc khi vµo m¹ng B. NÕu gãi d÷ liÖu ®îc ®Þnh híng ®i vµo trong bªn trong firewall , nã sÏ ®îc kiÓm tra bëi INPUT chain trong mangle table, vµ nÕu gãi d÷ liÖu qua ®îc c¸c SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 68 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh kiÓm tra cña INPUT chain trong filter table, nã sÏ vµo trong c¸c ch¬ng tr×nh cña server bªn trong firewall. Khi firewall cÇn gëi d÷ liÖu ra ngoµi. Gãi d÷ liÖu sÏ ®îc dÉn vµ ®i qua sù kiÓm tra cña OUTPUT chain trong mangle table (nÕu cÇn), tiÕp ®ã lµ kiÓm tra trong OUTPUT chain cña nat table ®Ó xem DNAT (DNAT sÏ thay ®æi ®Þa chØ ®Õn) cã cÇn hay kh«ng vµ OUTPUT chain cña filter table sÏ kiÓm tra gãi d÷ liÖu nh»m ph¸t hiÖn c¸c gãi d÷ liÖu kh«ng ®îc phÐp gëi ®i. Cuèi cïng tríc khi gãi d÷ liÖu ®îc ®a ra ngoµi, SNAT and QoS sÏ ®îc kiÓm tra trong POSTROUTING chain. 4.3. Targets: Targets lµ hµnh ®éng sÏ diÔn ra khi mét gãi d÷ liÖu ®îc kiÓm tra vµ phï hîp víi mét yªu cÇu nµo ®ã. Khi mét target ®· ®îc nhËn d¹ng, gãi d÷ liÖu sÏ ®îc nh¶y (jump) ®Ó thùc hiÖn c¸c xö lý tiÕp theo. B¶ng sau liÖt kª c¸c targets mµ Iptables sö dông. Targets ACCEPT DROP Tïy chän ý nghÜa Iptables ngõng xö lý gãi d÷ liÖu ®ã vµ chuyÓn tiÕp nã vµo mét øng dông cuèi hoÆc hÖ ®iÒu hµnh ®Ó xö lý. Iptables ngõng xö lý gãi d÷ liÖu ®ã vµ gãi d÷ liÖu bÞ chÆn , lo¹i bá. Th«ng tin cña gãi sÏ ®îc ®a vµo --log-prefix “string” syslog ®Ó kiÓm tra.Iptables tiÕp Iptables sÏ thªm vµo log message LOG tôc xö lý gãi víi quy luËt tiÕp mét chuçi do ngêi dïng ®Þnh theo kÕ tiÕp. REJECT s½n.Th«ng thêng lµ ®Ó th«ng b¸o lý do v× sao gãi bÞ bá. T¬ng tù nh DROP, nhng nã sÏ göi --reject-with qualifier tr¶ l¹i cho phÝa ngêi gëi mét Tham sè qualifier sÏ cho biÕt lo¹i th«ng b¸o lçi r»ng gãi ®· bÞ chÆn th«ng SVTH: NguyÔn anh dòng – MSSV: 505104005 b¸o gëi tr¶ l¹i phÝa Trang 69 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh vµ lo¹i bá. gëi.Qualifier gåm c¸c lo¹i sau: icmp-port-unreachable (mÆc ®Þnh) icmp-net-unreachable icmp-host-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited tcp-reset echo-reply Dïng ®Ó thùc hiÖn Destination --to-destination ipaddress DNAT network address translation, ®Þa Iptables l¹i ®Þa chØ chØ ®Ých cña gãi d÷ liÖu sÏ ®îc ipaddress vµ ®Þa chØ ®Ých cña gãi viÕt l¹i. Dïng ®Ó SNAT sÏ viÕt thùc hiÖn d÷ liÖu. Source --to-source [] network address translation, viÕt [:] l¹i ®Þa chØ cña nguån gãi d÷ liÖu. Miªu t¶ ip vµ port sÏ ®îc viÕt l¹i Dïng ®Ó thùc hiÖn bëi Iptables. Source [--to-ports [-]] MASQUER network address translation. MÆc Ghi râ c¸c port nguån mµ port ADE ®Þnh th× ®Þa chØ IP nguån sÏ gièng nguån gèc cã thÓ ¸nh x¹ ®îc. nh IP nguån cña firewall B¶ng 4-: Miªu t¶ c¸c target mµ Iptables thêng dïng nhÊt 4.4. C¸c tïy chän quan träng cña Iptables: C¸c tham sè sau sÏ cho phÐp Iptables thùc hiÖn c¸c hµnh ®éng sao cho phï hîp víi biÓu ®å xö lý gãi do ngêi dïng ho¹ch ®Þnh s½n. C¸c tïy chän quan träng - t ý nghÜa NÕu kh«ng chØ ®Þnh râ table nµo, th× table filter sÏ ®îc ¸p dông.Cã 3 lo¹i SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 70 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh table lµ filter, nat, mangle. Nh¶y ®Õn mét chuèi target nµo ®ã -j khi gãi d÷ liÖu phï hîp víi quy luËt -A hiÖn t¹i. Nèi thªm mét quy luËt vµo cuèi -F chain Xãa hÕt mäi quy luËt trong b¶ng ®· -p chän. Phï hîp víi giao thøc , th«ng thêng -s -d -i lµ icmp, tcp, udp vµ all. Phï hîp víi IP nguån. Phï hîp víi IP ®Ých. Phï hîp víi ®iÒu kiÖn INPUT khi gãi -o d÷ liÖu ®i vµo firewall. Phï hîp víi ®iÒu kiÖn OUTPUT khi gãi d÷ liÖu ®i ra khái firewall. B¶ng 4-: B¶ng c¸c tïy chän quan träng cña Iptables §Ó hiÓu râ h¬n vÒ c¸c lÖnh ta cïng xem vÝ dô sau: iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP –j ACCEPT Iptables ®îc cÊu h×nh cho phÐp firewall chÊp nhËn c¸c gãi d÷ liÖu cã giao thøc lµ TCP, ®Õn tõ card m¹ng eth0, cã ®Þa chØ IP nguån lµ bÊt k× ®Õn ®Þa chØ 192.168.1.1, lµ ®Þa chØ IP cña firewall. Tïy chän -p tcp --sport Miªu t¶ §iÒu kiÖn TCP port nguån (source port). Cã thÓ lµ mét gi¸ trÞ hoÆc mét chuçi cã d¹ng -p tcp --dport start-port-number:end-port-number §iÒu kiÖn TCP port ®Ých. Cã thÓ lµ mét gi¸ trÞ hoÆc mét chuçi cã d¹ng -p tcp --syn start-port-number:end-port-number Dïng ®Ó nhËn mét yªu cÇu kÕt nèi TCP míi. Cã thÓ dïng dÊu “!” ®Ó phñ ®Þnh. VÝ dô: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 71 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh !--syn lµ kh«ng cã yªu cÇu kÕt nèi míi. §iÒu kiÖn UDP port nguån (source port). Cã thÓ p udp --sport lµ mét gi¸ trÞ hoÆc mét chuçi cã d¹ng start-port-number:end-port-number. §iÒu kiÖn UDP port ®Ých. Cã thÓ lµ mét gi¸ trÞ -p udp --dport hoÆc mét chuçi cã d¹ng start-port-number:end-port-number. --icmp-type Thêng dïng nhÊt lµ echo-reply vµ echo-request. -m multiport --sport bëi dÊu phÈy. -m multiport --dport -m multiport --port dÊu phÈy. --port LiÖt kª nhiÒu port kh¸c nhau, ph©n c¸ch bëi dÊu -m --state phÈy. Kh«ng ph©n biÖt port nguån hay port ®Ých. C¸c tr¹ng th¸i th«ng dông nhÊt ®îc dïng lµ : ESTABLISHED : Gãi d÷ liÖu lµ mét phÇn cña kÕt nèi ®· ®îc thiÕt lËp bëi c¶ hai híng. NEW : Gãi d÷ liÖu lµ b¾t ®Çu cña mét kÕt nèi míi. RELATED : Gãi d÷ liÖu b¾t ®Çu mét kÕt nèi phô.Thêng lµ cña giao thøc FTP hoÆc lçi ICMP. INVALID : Gãi d÷ liÖu kh«ng thÓ nhËn d¹ng ®îc. §iÒu nµy cã thÓ do thiÕu tµi nguyªn hÖ thèng hoÆc lçi ICMP kh«ng trïng víi mét luång d÷ liÖu ®· cã s½n. B¶ng 4-: C¸c ®iÒu kiÖn TCP vµ UDP th«ng dông VÝ dô: iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT Iptables ®îc cÊu h×nh cho phÐp firewall chÊp nhËn c¸c gãi ICMP echo-request vµ göi c¸c gãi ICMP echo-reply. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 72 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p tcp \ --sport 1024:65535 -m multiport --dport 80,443 -j ACCEPT iptables -A FORWARD -d 0/0 -o eth0 -s 192.168.1.58 -i eth1 -p tcp \ -m state --state ESTABLISHED -j ACCEPT Iptables ®îc cÊu h×nh cho phÐp firewall chÊp nhËn c¸c gãi d÷ liÖu cã giao thøc lµ TCP, ®Õn tõ card m¹ng eth0, cã ®Þa chØ IP nguån lµ bÊt k×, ®i ®Õn ®Þa chØ 192.168.1.58 qua card m¹ng eth1. Sè port nguån lµ tõ 1024 ®Õn 65535 vµ port ®Ých lµ 80 (http) vµ 443 (https). §Õn khi c¸c gãi d÷ liÖu nhËn trë l¹i tõ 192.168.1.58, thay v× më c¸c port nguån vµ ®Ých, ta chØ viÖc cho phÐp dïng kÕt nèi cò ®· thiÕt lËp b»ng c¸ch dïng tham sè -m state vµ --state ESTABLISHED. Ch¬ng 5 X©y dùng gi¶i ph¸p phßng chèng DDoS cho m¸y chñ web Trong c¸c ch¬ng tríc chóng ta ®· ®îc giíi thiÖu vµ c¬ chÕ ho¹t ®éng cña snort vµ iptables. Trong ch¬ng nµy ta sÏ kÕt hîp gi÷a snort víi iptables cïng víi mét sè thµnh phÇn kh¸c ®Ó x©y dùng mét hÖ thèng chèng x©m nhËp IPS nh»m ph¸t hiÖn vµ ng¨n ngõa tÊn c«ng DDoS tíi m¸y chñ. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 73 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 5.1. C¬ chÕ ho¹t ®éng cña IPTables víi Snort Inline H×nh 5-: C¬ chÕ ho¹t ®éng cña Snort Inline Qua h×nh vÏ ta cã thÓ thÊy Snort Inline c¶i tiÕn Snort b»ng c¸ch nã chØ "xem xÐt" c¸c packet sau khi ®· ®i qua Iptables. §iÒu nµy lµm cho Ýt c¸c packet cÇn xö lý. Iptables cho packets qua vµo 1 QUEUE vµ Snort Inline lÊy tõng packet ra "xem" vµ xö lý. 5.2. M« h×nh triÓn khai thùc tÕ M« trêng m¹ng triÓn khai khi cha cã IPS: H×nh 5-: M« h×nh m¹ng triÓn khai thùc tÕ SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 74 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Trong ®ã, m¸y chñ web cã : Sö dông hÖ ®iÒu hµnh Centos 5.2. Cµi ®Æt apache, php, mysql lµ m¸y chñ web. §©y lµ mét m«i trêng m¹ng rÊt phæ biÕn t¹i Viªt Nam v× nh÷ng lý do sau: - DÔ dµng triÓn khai (v× m« h×nh m¹ng ®¬n gi¶n). - Gi¸ thµnh rÎ (Centos, apache, php, mysql ®Òu kh«ng mÊt phÝ). - DÔ dµng vËn hµnh, qu¶n lý (do m« h×nh m¹ng ®¬n gi¶n). - M« h×nh m¹ng triÓn khai hÖ thèng phßng chèng : H×nh 5-: M« h×nh m¹ng sau khi triÓn khai hÖ thèng phßng chèng ViÖc ®Æt chung hÖ thèng phßng chèng DDoS cïng víi m¸y chñ web cã nhîc ®iÓm lµ m¸y chñ web sÏ ph¶i tiªu tèn tµi nguyªn h¬n ®Ó phôc vô cho hÖ thèng phßng chèng tuy nhiªn do chØ sö dông mét m¸y chñ nªn gi¶i ph¸p nµy sÏ tiÕt kiÖm h¬n vµ phï hîp h¬n víi c¸c doanh nghiÖp ë ViÖt Nam. 5.3. Gi¶i ph¸p Qua ch¬ng 1 vµ ch¬ng 2, ta cã thÓ rót ra kÕt luËn r»ng ®Ó cã thÓ phßng vµ chèng ®îc DDoS cho M¸y chñ web th× mét m×nh c¸ nh©n lµ kh«ng ®ñ, tuy nhiªn em cã thÓ ®Ò xuÊt mét gi¶i ph¸p t×nh thÕ ®Ó phßng vµ chèng ®îc nh÷ng vô DDoS Web Server víi quy m« nhá hoÆc kÐo dµi thêi gian “sèng sãt” cña M¸y chñ web ®Ó ta cã thêi gian phèi hîp ®îc víi c¸c bªn liªn quan. Tríc khi ®i vµo phÇn gi¶i ph¸p, ta h·y cïng xem biÓu ®å luång d÷ liÖu ®i vµo Web Server SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 75 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: Luång d÷ liÖu ®i ®Õn Web Server Cã thÓ h×nh dung luång d÷ liÖu ®i nh sau: - Bíc ®Çu tiªn m¸y tÝnh cña ngêi dïng sÏ t¹o kÕt nèi TCP víi M¸y chñ web - Th«ng qua kÕt nèi ®ã, request ®Õn apache ®îc göi ®Õn M¸y chñ web. - Request ®îc netfilter so s¸nh víi c¸c rule do Iptables nhËp vµo. - NÕu request hîp lÖ th× sÏ ®îc chuyÓn sang user space (apache), apache nhËn request, xö lý råi tr¶ lêi cho web brower. Th«ng qua biÓu ®å luång d÷ liÖu ®Õn Web Server ta thÊy cã 2 ®iÓm mµ attacker sÏ lîi dông ®Ó tÊn c«ng DDoS vµo, ®ã lµ phÇn kÕt nèi TCP vµ request ®Õn apache. NÕu attacker göi rÊt nhiÒu TCP connection ®Õn Web Server th× ®Õn mét lóc nµo ®ã, M¸y chñ web sÏ kh«ng thÓ nhËn thªm connection n÷a (queue ®Çy, …) vµ nh÷ng connection cña ngêi dïng hîp ph¸p sÏ kh«ng ®îc xö lý. MÆc kh¸c, do phô thuéc vµo lîng tµi nguyªn (RAM) trªn m¸y chñ nªn apache chØ cã thÓ nhËn vµ xö lý ®îc mét sè cã h¹n request. Nªn nÕu attacker göi cµng nhiÒu reuquest mµ nh÷ng request nµy ®Õn ®îc apache th× cµng Ýt ngêi dïng hîp ph¸p ®îc phôc vô. Qua ®ã, em cã mét sè ý tëng cho gi¶i ph¸p phßng chèng DDoS cho M¸y chñ web ®ã lµ: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 76 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - CÊu h×nh Server ®Ó cã thÓ nhËn vµ xö lý ®îc nhiÒu nhÊt sè kÕt nèi TCP/IP. - KÕt thóc nhanh nhÊt c¸c kÕt nèi mµ kh«ng lµm ¶nh huëng ®Õn ngêi dïng hîp ph¸p ®Ó cã thÓ nhËn vµ xö lý c¸c kÕt nèi míi. - Giíi h¹n sè connection ®Õn Web Server, sè connection ®Õn apache H×nh 5-: Luång d÷ liÖu khi triÓn khai hÖ thèng phßng chèng DDoS Th«ng qua c¸c ý tëng, gi¶i ph¸p ®îc ®a ra bao gåm: - Tèi u hãa M¸y chñ web ë tÇng TCP/IP ®Ó server cã thÓ nhËn vµ xö lý nhiÒu kÕt nèi nhÊt ®ång thêi cã thÓ gi¶i phãng c¸c kÕt nèi mét c¸ch nhanh nhÊt mµ kh«ng lµm ¶nh hëng ®Õn ngêi dïng hîp ph¸p. - Cµi ®Æt module connlimit cho Iptables ®Ó giíi h¹n sè truy cËp tõ mét IP. - TriÓn khai hÖ thèng IPS gåm Snort inline vµ Iptables ®Ó chèng l¹i c¸c request DDoS ®Õn m¸y chñ web. Em xin nhÊn m¹nh lµ hiÖn nay cha cã gi¶i ph¸p nµo tèi u ®Ó chèng l¹i DDoS, gi¶i ph¸p em ®Ò xuÊt lµ mét trong nh÷ng gi¶i ph¸p ®· ®îc triÓn khai vµ ®· cã nh÷ng thµnh c«ng trong viÖc chèng l¹i DDoS lµm cho m¸y chñ web nãi chung vµ apache nãi riªng kh«ng bÞ qu¸ t¶i, kh«ng phôc vô ®îc cho nh÷ng ngêi dïng hîp lÖ. 5.4. M« h×nh thö nghiÖm Do ®iÒu kiÖn kh¸ch quan nªn em chØ cã thÓ triÓn khai vµ kiÓm nghiÖm trªn m« h×nh trong m¹ng LAN. M« h×nh thö nghiÖm nh sau: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 77 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: M« h×nh m¹ng thö nghiÖm Trong m« h×nh nµy : Gåm cã 5 m¸y tÝnh cã cÊu h×nh lµ 1Gb ram, CPU 2.2Ghz trong ®ã cã 1 m¸y sö dông lµm IPS/M¸y chñ web (snort inline, Iptables , module ipt_connlimit, cµi ®Æt apache, php, mysql) trªn ®ã cã cµi ®Æt mét trang web sö dông code joomla, 4 m¸y cßn l¹i ®ãng vai trß lµ attack host. TÊt c¶ c¸c kÕt nèi ®Òu lµ full-duplex 100Mbit/s Ethernet (100BaseT) 5.5. TriÓn khai hÖ thèng Tèi u hãa server ë tÇng TCP/IP BËt chøc n¨ng tcp_syncookies : BËt chøc n¨ng nµy lµ c¸ch ®¬n gi¶n nhÊt ®Ó chèng l¹i SYN flood. sysctl -w net.ipv4.tcp_syncookies=1 §Æt gi¸ trÞ cho backlog queue : Gi¸ trÞ tcp_max_syn_backlog sÏ quyÕt ®Þnh cã bao nhiªu gãi SYN ®îc lu tr÷. tcp_syncookies ph¶i ®îc bËt gi¸ trÞ nµy míi cã hiÖu lùc. sysctl -w net.ipv4.tcp_max_syn_backlog="2048" SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 78 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh §Æt l¹i sè lÇn truyÒn l¹i gãi SYN,ACK ®Ó reply l¹i gãi SYN request. MÆc ®Þnh lµ 5 lÇn t¬ng ®¬ng víi thêi gian timeout cña kÕt nèi TCP lµ 180 gi©y. §Æt gi¸ trÞ lµ 1 t¬ng ®¬ng víi thêi gian timeout lµ 9 gi©y. sysctl -w net.ipv4.tcp_synack_retries="1" BËt chøc n¨ng IP spoofing protaction sysctl -w net.ipv4.conf.all.rp_filter ="1" Kh«ng chÊp nhËn forward broadcast sysctl -w net.ipv4.icmp_echo_ignore_broadcasts="1" Kh«ng chÊp nhËn source routed packet sysctl -w net.ipv4.conf.all.accept_source_route=0 T¾t ICMP redirect sysctl -w net.ipv4.conf.all.accept_redirects=1 BËt bad error message protection sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1j Mét sè cÊu h×nh TCP kh¸c : tcp_abort_on_overflow : Cã 2 gi¸ trÞ 0(mÆc ®Þnh) vµ 1. NÕu cã gi¸ trÞ lµ 1 kernel sÏ reset nh÷ng kÕt nèi míi khi queue ®Çy. tcp_fin_timeout : MÆc ®Þnh lµ 60 gi©y.Gi¸ trÞ cña biÕn nµy quyÕt ®Þnh kernel sÏ gi÷ nh÷ng socket ë tr¹ng th¸i FIN_WAIT-2 trong bao l©u nÕu kh«ng nhËn ®îc gãi ACK/FIN tõ phÝa client tcp_orphan_retries: MÆc ®Þnh lµ 7.Gi¸ trÞ nµy sÏ quyÕt ®Þnh TCP/IP stack thö ng¾t kÕt nèi ë phÝa client tríc khi ®ãng kÕt nèi tõ server. somaxconn: MÆc ®Þnh lµ 128.Gi¸ trÞ nµy giíi h¹n kÝch thíc cña listen queue cho c¸c gãi new SYN. ip_conntrack_max: sè kÕt nèi tcp lín nhÊt mµ hÖ thèng cã thÓ qu¶n lý. Cµi ®Æt module connlimit cho Iptables Cµi rpm-build yum install rpm-build T¹o user dungna useradd -d /home/dungna -s /bin/bash ruby SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 79 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh §Æt password cho user dungna passwd dungna Login vµo user ruby X¸c ®Þnh version cña kernel ®ang dïng uname –a X¸c ®Þnh version cña Iptables ®ang dung iptables –v Download c¸c packet vµ ®Æt ë th môc home cña user wget http://mirror.centos.org/centos/5/updates/SRPMS/kernel- 2.6.18-92.1.22.el5.src.rpm (cïng version víi kernel ®ang dïng) wget http://www.netfilter.org/projects/iptables/files/iptables1.3.5.tar.bz2 (cïng version víi Iptables ®ang dïng) wget http://ftp.netfilter.org/pub/patch-o-maticng/snapshot/patch-o-matic-ng-20090326.tar.bz2 X©y dùng m«i trêng build cho user cd ~ mkdir -p \ rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} echo ‘%_topdir %(echo $HOME)/rpmbuild’ > .rpmmacros\ Cµi kernel source rpm -i kernel-2.6.18-92.1.22.e15.src.rpm cd ~/rpmbuild/SPECS rpmbuild -bp –target=`uname -m` kernel-2.6.spec Sau bíc trªn kernel source sÏ ®îc t¹o ra t¹i : ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686 Gi¶i nÐn iptables vµ path-o-matic-ng cd ~ tar -xvjf iptables-1.3.5.tar.bz2 tar -xvjf path-o-matic-ng-20090326.tar.bz2 T¹o vµ g¸n gi¸ trÞ cho 2 biÕn m«i trêng export KERNEL_DIR=~/rpmbuild/BUILD/kernel-2.6.18/linux2.6.18.i686 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 80 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh export IPTABLES_DIR=~/iptables-1.3.5/ Patch modules connlimit cd path-o-matic-ng-20090326 ./runme download ./runme connlimit CËp nhËt module vµo kernel cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686 make oldconfig make prepare make modules_prepare cd net/ipv4/netfilter make -C ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686 M=$PWD modules sudo cp ipt_connlimit.ko /lib/modules/2.6.1892.1.22.e15/updates sudo cd /lib/modules sudo depmod 2.6.18-92.1.22.e15 Load module ipt_connlimit sudo modprobe ipt_connlimit - Sö dông : Giíi h¹n chØ cã 5 connection tõ mét IP ®Õn apache iptables -A INPUT -p tcp --syn --dport 80 -m connlimit -connlimit-above 5 -j REJECT Cµi ®Æt Snort inline 5.5.1.1. Cµi ®Æt Snort inline Cµi libnet-1.0.2a (c¸c version míi h¬n kh«ng thÝch hîp víi snort inline) wget http://www.packetfactory.net/libnet/dist/deprecated/libnet1.0.2a.tar.gz tar xzvf libnet-1.0.2a.tar.gz cd Libnet-1.0.2a ./configure Make make install Cµi Flex, bison, libpcap,iptables-devel,pcre, pcre-devel SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 81 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh yum install flex bison libpcap iptables-devel pcre pcre-devel Download snort (snort-2.8.3.1.tar.gz) vµ rules (snortrules-snapshot- CURRENT.tar.gz) t¹i http://www.snort.org/ Gi¶i nÐn: tar -xvzf snort-2.8.3.1.tar.g Compile vµ cµi ®Æt snort : cd snort-2.8.3.1 ./configure --enable-inline --enable-flexresp Make make install groupadd snort useradd -g snort snort -s /sbin/nologin mkdir /etc/snort mkdir /etc/snort/rules mkdir /var/log/snort cd etc/ cp * /etc/snort Gi¶i nÐn rules tar -xvzf snortrules-snapshot-CURRENT.tar.gz cp rules/* /etc/snort/rules ChØnh l¹i rules.Söa tÊt c¶ c¸c rule alert sang drop cd /etc/snort_inline/rules/ for file in $(ls -1 *.rules) do sed -e 's:^alert:drop:g' ${file} > ${file}.new mv ${file}.new ${file} –f done ChØnh söa l¹i file snort.config: Më file /etc/snort/snort.config vµ söa theo c¸c dßng sau : var HOME_NET 192.168.1.0/24 #víi 192.168.1.0/24 lµ m¹ng néi bé var EXTERNAL_NET !$HOME_NET var RULE_PATH /etc/snort/rules SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 82 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh T¹o file snort t¹i /etc/init.d/snort cã néi dung nh sau: #!/bin/sh # chkconfig: 2345 99 82 # description: Starts and stops the snort intrusion detection # system # config: /etc/snort/snort.conf # processname: snort # Source function library ./etc/rc.d/init.d/functions BASE=snort DAEMON="-D -Q" INTERFACE="-i eth0" CONF="/etc/snort/snort.conf" # Check that $BASE exists. [ -f /usr/local/bin/$BASE ] || exit 0 # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 RETVAL=0 # See how we were called. case "$1" in start) if [ -n "`/sbin/pidof $BASE`" ]; then echo -n $"$BASE: already running" echo "" exit $RETVAL fi echo -n $"Starting ip_queue module:" lsmod | grep ip_queue >/dev/null || /sbin/modprobe ip_queue; echo -e '\t\t\t\t [ \033[32mOK\033[37m ]' echo -n $"Starting iptables rules:" #iptables -N ip_queue SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 83 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh #iptables -I INPUT -p tcp -j ip_queue #Add new IPTABLES rules here and they will be added into the #ip_queue Ruleset iptables -I INPUT -p tcp --dport 80 -j QUEUE echo -n "Starting snort service: " export PCAP_FRAMES =32768 /usr/local/bin/$BASE $INTERFACE -c $CONF $DAEMON sleep 1 action "" /sbin/pidof $BASE RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/snort ;; stop) echo -n "Shutting down snort service: " killproc $BASE unset PCAP_FRAMES echo -ne $"\nRemoving iptables rules:" iptables -F iptables -X echo -e '\t\t\t\t [ \033[32mOK\033[37m ]' echo -n $"Unloading ip_queue module:" rmmod ip_queue echo -en '\t\t\t\t [ \033[32mOK\033[37m ]' RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/snort ;; restart|reload) $0 stop $0 start RETVAL=$? ;; status) status $BASE SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 84 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh RETVAL=$? ;; *) echo "Usage: snort {start|stop|restart|reload|status}" exit 1 esac exit $RETVAL - G¸n quyÒn : chmod 755 /etc/init.d/snort - CÊu h×nh ®Ó Snort ch¹y startup. chkconfig snort on 5.5.1.2. Tù ®éng cËp nhËt rule: §Ó tù ®éng cËp nhËt rule cho Snort inline ta sÏ cµi thªm ch¬ng tr×nh oinkmaster. NhiÖm vô chÝnh cña ch¬ng tr×nh nµy lµ tù ®éng download c¸c rule míi nhÊt vÒ theo lÞch ®Þnh s½n. Download oinkmaster-2.0 t¹i : http://nchc.dl.sourceforge.net/sourceforge/oinkmaster/oinkmaster-2.0.tar.gz Gi¶i nÐn : tar oinkmaster-2.0.tar.gz cd oinkmaster-2.0 cp oinkmaster.pl /usr/local/bin/ cp oinkmaster.conf /etc/ Vµo trang http://snort.org ®¨ng kÝ mét tµi kho¶n miÔn phÝ ®Ó lÊy oinkcode. Më file /etc/oinkmaster.conf vµ thay ®æi url theo oinkcode cña m×nh. url = http://www.snort.org/pub-bin/oinkmaster.cgi/your_oinkcode/snortrules-snapshot2.8.tar.gz Më file /etc/oinkmaster.conf vµ t×m ®Õn dßng : # Example to make SID 1378 a 'drop' rule (valid if you're running # Snort_inline). # modifysid 1378 "^alert" | "drop" Bá dÊu “#” ®Ó trá thµnh : SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 85 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh # Example to make SID 1378 a 'drop' rule (valid if you're running # Snort_inline). modifysid 1378 "^alert" | "drop" TiÕp theo, ®Æt lÞch cho oinkmaster tù ®éng cËp nhËt rule.Trªn terminal gâ crontab -e 55 00 * * * /usr/local/bin/oinkmaster.pl -o /etc/snort_inline/rules/ > /dev/null 2>&1 NhÊn Esc råi gâ :wq LÖnh trªn lµ ®Æt mét lÞch cø vµo 00:55 phót cña bÊt k× ngµy nµo sÏ thùc hiÖn cËp nhËt rules cho Snort inline. 5.5.1.3. Gi¶i ph¸p kÜ thuËt víi vÊn ®Ò lu log Do Snort chØ lu c¸c alert vµo file /var/log/snort/alert (mÆc ®Þnh) nªn sau mét thêi gian file alert sÏ cã kÝch thíc rÊt lín lµm cho võa l·ng phÝ dung lîng æ cøng võa g©y khã kh¨n cho ngêi qu¶n trÞ cã thÓ xem xÐt c¸c c¶nh b¸o cña Snort. §Ó kh¾c phôc nhîc ®iÓm nµy th× cã nhiÒu c¸ch, em sÏ sö dông logrotate ®Ó kh¸c phôc nhîc ®iÓm nµy v× logrotate lµ mét tiÖn Ých cã s½n cña hÖ ®iÒu hµnh Centos nãi riªng vµ trªn c¸c hÖ ®iÒu hµnh Linux nãi chung. a. Tæng quan vÒ logrotate: Logrotate lµ mét c«ng cô trªn c¸c hÖ thèng Linux dïng ®Ó thiÕt lËp chÝnh s¸ch quay vßng ®Þnh kú cho c¸c log file. Víi Logrotate c¸c file log cã thÓ ®îc ®Þnh kú sö dông l¹i theo ngµy tuÇn th¸ng hay theo kÝch thíc file log, nÐn, xo¸ bá file log... Ho¹t ®éng cña logrotate mÆc ®Þnh ®îc cÊu h×nh t¹i file /etc/logrotate.conf th«ng qua nh÷ng tham sè tuú chän, sau ®©y lµ mét sè tham sè thêng dïng. - compress : nÐn nh÷ng file log ®· sö dông. - nocompress: ngîc l¹i víi tuú chän compress. - create mode owner group: khi sö dông mét file log míi, file log míi ®îc t¹o sÏ cã c¸c thuéc tÝnh (mode, owner group). - nocreate : kh«ng t¹o file log míi. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 86 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - mail address : khi hÕt chu kú sö dông file log sÏ ®îc göi tíi ®Þa chØ (address). - nomail : ngîc l¹i víi tuú chän trªn. - daily : chu kú sö dông file log theo ngµy. - weekly : chu kú sö dông file log theo tuÇn. - monthly : chu kú sö dông file log theo th¸ng. - rotate count : x¸c ®Þnh sè lÇn lu©n phiªn sö dông file log. - size size : chu kú sö dông file log ®îc x¸c ®Þnh theo kÝch thíc. - include /etc/logrotate.d : ®äc thªm c¸c th«ng tin cÊu h×nh t¹i c¸c file trong th môc /etc/logrotate. C¸c tham sè khai b¸o ë c¸c file nµy cã ®é u tiªn cao h¬n c¸c tham sè khai b¸o trong file /etc/logrotate.conf. VÝ dô: Weekly rotate 4 errors rootc reate compress include /etc/logrotate.d/ var/log/wtmp { monthly create 0664 root utmp rotate 1 }/var/log/lastlog { Monthly rotate 1 } PhÇn mÆc ®Þnh x¸c ®Þnh mçi file log ®îc ghi trong mét tuÇn, chØ lu l¹i file log cña bèn tuÇn, c¸c th«ng b¸o lçi cña logrotate ®îc göi tíi root, c¸c file log lu tr÷ ®îc nÐn l¹i.Cho phÐp logrotate ®äc thªm c¸c th«ng tin cÊu h×nh n»m t¹i c¸c file trong th môc /etc/logrotate.d SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 87 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh File log /var/log/wtmp ®îc ghi log trong mét th¸ng, khi t¹o file log míi file nµy cã thuéc tÝnh lµ 0664, owner lµ root, group lµ utmp, chØ lu th«ng tin log trong mét th¸ng. File log /var/log/lastlog ®îc ghi log trong mét th¸ng, chØ lu th«ng tin log trong mét th¸ng. b. Xoay vßng log cho Snort T¹o file snort t¹i /etc/logrotate.d/ víi néi dung /var/log/snort/alert { daily rotate 7 missingok notifempty sharedscripts create 0640 snort snort postrotate /etc/init.d/snort restart >/dev/null endscript } §Æt lÞch cho logrotate ch¹y vµo lóc 0h mçi ngµy. crontab –e 00 00 * * * /usr/sbin/logrotate -f /etc/logrotate.conf >/ dev/null 2>&1 Thö nghiÖm, ®¸nh gi¸ Víi môc tiªu ®Æt ra lµ t¨ng thêi gian chèng chÞu DDoS cho m¸y chñ web ®Ó nh÷ng ngêi qu¶n trÞ cã thêi gian kh¾c phôc, nªn em x©y dùng test case theo môc tiªu ®· ®Ò ra. Tríc hÕt lµ tiÕn hµnh cµi ®Æt mét site joomla trªn m¸y chñ web. Sau ®©y lµ mét sè h×nh ¶nh cña trang web. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 88 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: H×nh trang chñ DemoDDoS Trang chñ gåm trang lý thuyÕt vµ trang phßng chèng. H×nh 5-: H×nh trang phßng chèng DDoS C«ng cô ®Ó ®o thêi gian ®¸p øng ®îc sö dông lµ jmeter, mét project cña apache. H×nh ¶nh vÒ jmeter: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 89 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: Giao diÖn chÝnh cña Jmeter C¸c bíc ®Ó chuÈn bÞ test thêi gian ®¸p øng: T¹o mét Thread Group : right-click vµo Test plan chän add -> Thread Group nh h×nh : H×nh 5-: T¹o Thread Group Trong ®ã, Number of Threads lµ sè user (concurrent connections) ®Õn m¸y chñ web. Ramp-Up Period lµ thêi gian ®Ó ch¹y hÕt sè Threads ®· khai b¸o ë trªn.VÝ dô: Cã 10 thread vµ Ramp-Up period lµ 100 gi©y th× jmeter sÏ ch¹y tÊt c¶ 10 thread trong 10 gi©y. Mçi thread sÏ khëi ®éng sau 10 gi©y sau khi thread tríc nã khëi ®éng. Loop Count lµ sè lÇn lÆp l¹i. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 90 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh T¹o HTTP Request Default nh sau: right-click vµo Thread Group chän Add> Config Element chän HTTP Request Default. NhËp IP cña m¸y chñ web nh trong h×nh (IP cña m¸y chñ web lµ 192.168.1.130) H×nh 5-: T¹o HTTP Default Request §Ó x¸c ®Þnh thêi gian ®¸p øng cho trang chñ ta lµm nh sau: Right-click vµo Thread Group chän Add->Sampler chän HTTP Request. Trong môc HTTP Request söa tªn thµnh home vµ gâ index.php t¹i Patch nh trong h×nh H×nh 5-: T¹o Home Request SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 91 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh T¬ng tù t¹o mét HTTP Request ®Õn trang phßng chèng H×nh 5-: T¹o HTTP Request Cuèi cïng thªm vµo c¸c th«ng b¸o , right-click vµo Thread Group chän Add -> Listener chän Graph Results, Summary Report vµ Aggregate. §Ó b¾t ®Çu kiÓm tra ta chän Run -> Start. C«ng cô ®Ó DDoS ®îc sö dông lµ DOSHTTP 2.0, sau ®©y lµ c¸c bíc sÏ triÓn khai ®Ó thùc hiÖn kiÓm tra, ®¸nh gi¸. - Bíc 1: KiÓm tra server khi ch¹y b×nh thêng cha cã hÖ thèng phßng thñ vµ cha bÞ DDoS + §o thêi gian ®¸p øng cña server sö dông c«ng cô jmeter + KiÓm tra tµi nguyªn cña server ®ang dïng - Bíc 2: KiÓm tra server khi cµi ®Æt hÖ thèng phßng chèng vµ cha bÞ DDoS + §o thêi gian ®¸p øng cña server sö dông c«ng cô jmeter + KiÓm tra tµi nguyªn cña server ®ang dung - Bíc 3: KiÓm tra server khi cha cµi hÖ thèng phßng chèng vµ ®ang bÞ DDoS + §o thêi gian ®¸p øng cña server sö dông c«ng cô jmeter + KiÓm tra tµi nguyªn cña server ®ang dïng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 92 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh - Bíc 4: KiÓm tra server khi ®· cµi hÖ thèng phßng chèng vµ ®ang bÞ DDoS + §o thêi gian ®¸p øng cña server sö dông c«ng cô jmeter + KiÓm tra tµi nguyªn cña server ®ang dïng. Thùc hiÖn : Bíc 1: - Sö dông c«ng cô jmeter víi ta ®îc ®å thÞ thêi gian ®¸p øng trung b×nh: H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng (bíc 1) - Th«ng qua ®å thÞ ta thÊy : ë ®iÒu kiÖn b×nh thêng, thêi gian ®¸p øng trung b×nh lµ 165 ms, th«ng lîng lµ 359,865 request/phót. - Tµi nguyªn cña hÖ thèng : H×nh : Tµi nguyªn cña hÖ thèng ( bíc 1) - T¶i trung b×nh lµ gi¸ trÞ CPU load trong 1, 5 vµ 15 phót. Nh trªn h×nh th× gi¸ trÞ CPU load trong 1 phót tríc lµ 0.59, trong 5 phót tríc lµ 0.53 vµ trong 15 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 93 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh phót tríc lµ 1,26. Cã nghÜa lµ trong mét phót hay n¨m phót tríc kh«ng cã tiÕn tr×nh nµo ph¶i chê ®Ó ®îc CPU xö lý, cßn trong 15 phót tríc th× cã 1 tiÕn tr×nh ®ang ®îc xö lý vµ 0.26 tiÕn tr×nh ph¶i chê. Bíc 2: - Sö dông c«ng cô jmeter víi ta ®îc ®å thÞ thêi gian ®¸p øng trung b×nh: H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng ( bíc 2) Tµi nguyªn cña hÖ thèng : H×nh 5-: Tµi nguyªn cña hÖ thèng ( bíc 2) So s¸nh kÕt qu¶ gi÷a bíc 1 vµ bíc 2 ta thÊy kh«ng cã sù chªnh lÖch nhiÒu gi÷a thêi gian ®¸p øng trung b×nh (164 ms vµ 167 ms ), CPU load (0,59 vµ 0,64), RAM sö dông (~ 250 Mb), SWAP (55Mb vµ 63 MB).Nh vËy cã thÓ kÕt luËn sau SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 94 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh khi cµi ®Æt hÖ thèng phßng chèng DDoS th× web server bÞ ¶nh hëng kh«ng ®¸ng kÓ. Bíc 3: - Tµi nguyªn cña hÖ thèng lóc s¾p bÞ DDoS H×nh 5-: Tµi nguyªn cña hÖ thèng khi s¾p bÞ DDoS (bíc 3) - B¾t ®Çu bÞ DDoS, c¸c packet ®Õn card m¹ng t¨ng vät H×nh 5-: å thÞ traffic cña m¹ng khi bÞ DDoS (bíc 3) - Sau tµi nguyªn hÖ thèng sau hai phót bÞ DDoS SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 95 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: Tµi nguyªn cña hÖ thèng sau hai phót bÞ DDoS (bíc 3) Tµi nguyªn cña hÖ thèng sau n¨m phót H×nh 5-: Tµi nguyªn cña hÖ thèng sau n¨m phót bÞ DDoS (bíc 3) Vµ t¹i thêi ®iÓm ®Êy kh«ng thÓ truy cËp vµo trang web Demo DDoS ®îc. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 96 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: H×nh ¶nh Web site Demo DDoS Sö dông c«ng cô jmeter víi ta ®îc ®å thÞ thêi gian ®¸p øng trung b×nh: H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng ( bíc 3) NhËn xÐt : Ngay khi b¾t ®Çu bÞ DDoS, sè lîng packet ®Õn card m¹ng cña web server t¨ng vät (kho¶ng 1300 packet/gi©y so víi tríc khi bÞ DDoS chØ cã kho¶ng 50 packet/ gi©y). SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 97 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Sau 2 phót, cã thÓ thÊy apache ®· ph¶i t¹o ra rÊt nhiÒu child process ®Ó xö lý c¸c request ®Õn. KhiÕn cho server load trung b×nh trong 1 phót võa qua lªn ®Õn 25.46 , RAM cßn d 11Mb. Sau 5 phót, server load ®· lªn ®Õn 44.18, lîng RAM cßn d lµ kho¶ng 13Mb. Nh vËy lµ apache ®· ®¹t ®Õn giíi h¹n phôc vô (RAM cßn rÊt Ýt vµ kh«ng ®æi tøc lµ apache kh«ng thÓ t¹o thªm child process ®Ó phôc vô request n÷a) nh vËy nh÷ng ngêi dïng hîp ph¸p gÇn nh kh«ng thÓ truy cËp vµo web site Demo DDoS. Trªn ®å thÞ thêi gian ®¸p øng, ta nhËn thÊy thêi gian ®¸p øng trung b×nh t¨ng lªn tíi 32640 ms tøc lµ 32 gi©y gÊp gÇn 200 lÇn thêi gian ®¸p øng khi server ho¹t ®éng b×nh thêng (bíc 1) Bíc 4: Thªm rule cho iptable: iptables -A INPUT -m conntrack --ctstate INVALID -j DROP iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --\ connlimit-above 20 -j DROP Thªm rule chÆn DOSHTTP 2.0 cho snort drop tcp any any -> any 80 (classtype:attempteduser;sid:5;msg:"Detect\ DoSHTTP";content:"|2e 4e 45 54 20 43 4c\ 52|";offset:54;resp:rst_rcv;) Tµi nguyªn hÖ thèng ngay tríc khi bÞ DDoS H×nh 5-: Tµi nguyªn cña hÖ thèng tríc khi bÞ DDoS (bíc 4) B¾t ®Çu bÞ DDoS SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 98 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: §å thÞ traffic cña m¹ng khi bÞ DDoS (bíc 4) Sau 2 phót bÞ DDoS ta nhËn ®îc: H×nh 5-: Tµi nguyªn cña hÖ thèng sau hai phót bÞ DDoS (bíc 4) Sau 5 phót bÞ DDoS: SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 99 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: Tµi nguyªn cña hÖ thèng sau n¨m phót bÞ DDoS (bíc 4) Sö dông c«ng cô jmeter víi ta ®îc ®å thÞ thêi gian ®¸p øng trung b×nh: H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng ( bíc 4) NhËn xÐt: Sau 2 phót vµ 5 phót bÞ DDoS, gi¸ trÞ server load (0,24)vµ ®¸p øng time trung b×nh (182) cã chªnh lÖch kh«ng ®¸ng kÓ so víi gi¸ trÞ server load vµ ®¸p øng time ë bíc 1 vµ bíc 2. RAM sö dông t¨ng lªn 380 MB so víi ë bíc 1 vµ bíc 2 lµ 250 MB. RAM t¨ng lªn do server ph¶i kiÓm tra sè lîng connection tõ mét IP vµ kiÓm tra c¸c packet ®Õn apache (Snort inline). §Ó server vÉn phôc vô ®îc cho nh÷ng ngêi dïng hîp ph¸p trong khi bÞ DDoS th× theo em møc ®é sö dông tµi nguyªn nh vËy lµ chÊp nhËn ®îc. Rule cña iptables sö dông connlimit th× chØ cho phÐp 20 connection tõ mét ®Þa chØ IP ®Õn port 80 (http), nÕu nhiÒu h¬n th× sÏ DROP. Cßn Snort inline th× sÏ kiÓm tra trong c¸c connection ®i qua ®îc firewall c¸i nµo cã chuçi mµ match víi SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 100 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh chuçi trong rule th× còng sÏ còng sÏ bÞ DROP. ChÝnh v× thÕ mµ sè packet ®Õn ®îc vµ ®îc apache xö lý kh¸ Ýt vµ toµn lµ packet hîp lÖ nªn server load kh¸ nhá. Mét vµi nhËn xÐt sau khi thùc hiÖn kiÓm tra ®¸nh gi¸: HÖ thèng ®· ®¸p øng ®îc môc tiªu ®a ra-kÐo dµi thêi gian “phôc vô ” cña server khi bÞ DDoS. ViÖc lùa chän gi¸ trÞ ®Ó giíi h¹n sè connection tõ mét IP cÇn ph¶i ®îc xem xÐt cÈn thËn ®Ó kh«ng lµm ¶nh hëng ®Õn nh÷ng ngêi dïng hîp ph¸p. Do viÖc triÓn khai test trong m¹ng LAN vµ cã sè lîng Ýt m¸y tham gia nªn cha ®îc s¸t víi thùc tÕ. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 101 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh TæN Ch¬ng 6 G KÕT Sau kho¶ng 5 th¸ng lµm ®å ¸n, Ýt nhiÒu em còng ®· t×m hiÓu t¬ng ®èi thµnh c«ng vÒ DDoS vµ x©y dùng ®îc thµnh c«ng ph¬ng ph¸p phßng chèng DDoS theo c¸ch hiÓu cña m×nh. Qua nh÷ng g× t×m hiÓu ®îc, em vÉn c¶m thÊy vÉn cßn nhiÒu ®iÒu ph¶i lµm ®Ó cã thÓ hoµn thiÖn h¬n ®å ¸n còng nh cÇn cã sù híng dÉn nhiÒu h¬n n÷a cña c¸c thÇy c« vµ b¹n bÌ. 6.1. Nh÷ng kÕt qu¶ ®¹t ®îc : Theo yªu cÇu ®Æt ra ban ®Çu lµ “T×m hiÓu DDoS vµ x©y dùng biÖn ph¸p phßng chèng DDoS cho m¸y chñ web”, cho ®Õn thêi ®iÓm hiÖn t¹i ®å ¸n ®· ®¹t ®îc nh÷ng néi dung sau: - PhÇn yªu cÇu: + T×m hiÓu lý thuyÕt vÒ DDoS bao gåm lý thuyÕt chung, ph©n lo¹i c¸c kiÓu DDoS, n¾m ®îc c¸c c¸ch x©y dùng m¹ng Botnet, biÕt ®îc mét sè c«ng cô tÊn c«ng DDoS vµ ®Æc biÖt lµ c¸c c¸ch phßng chèng DDoS. + TriÓn khai thµnh c«ng hÖ thèng phßng chèng DDoS cho m¸y chñ web bao gåm t×m hiÓu lý thuyÕt vµ cµi ®Æt cÊu h×nh thµnh c«ng Snort inline vµ module connlimit cho Iptables, n¾m ®îc mét sè cÊu h×nh c¬ b¶n vÒ tèi u hãa TCP/IP cho hÖ ®iÒu hµnh Centos 5.2. - PhÇn më réng : Bªn c¹nh ®ã, trong qu¸ tr×nh nghiªn cøu vµ hoµn thµnh ®å ¸n, em cßn tiÕp thu thªm mét sè kÕt qu¶ sau: + T×m hiÓu lý thuyÕt, cµi ®Æt vµ bíc ®Çu tèi u hãa apache. + X©y dùng ®îc mét trang web trªn nÒn joomla. + T×m hiÓu vµ sö dông c«ng cô jmeter ®Ó kiÓm tra m¸y chñ web. + T×m hiÓu vµ sö dông c«ng cô wireshark ®Ó b¾t gãi tin phôc vô cho viÖc viÕt rule cho Snort inline. + T×m hiÓu vµ sö dông c«ng cô Colasoft Capsa ®Ó theo dâi traffic cña m¹ng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 102 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 6.2. Híng ph¸t triÓn: Trong qu¸ tr×nh nghiªn cøu vµ t×m hiÓu ®Ò tµi, em nhËn thÊy DDoS cµng ngµy cµng cã nhiÒu biÕn thÓ tinh vi h¬n, møc ®é ph¸ ho¹i còng cao h¬n nh DRDDoS (Distributed Reflexive Denial of Services), lµm cho viÖc phßng chèng DDoS ngµy mét khã kh¨n h¬n.Díi ®©y lµ mét sè híng ph¸t triÓn ®Ó n©ng cao hiÖu qu¶ cña hÖ thèng phßng chèng DDoS cho m¸y chñ web còng nh n©ng cao kh¶ n¨ng phßng chèng DDoS cho m¸y chñ web. - Nghiªn cøu ¸p dông module security cña apache. - Nghiªn cøu triÓn khai hÖ thèng trªn nhiÒu m« h×nh m¹ng kh¸c nhau. - TriÓn khai load balancing cho m¸y chñ web. - Nghiªn cøu triÓn khai hÖ thèng HONEYNET ®Ó ph¸t hiÖn sím c¸c tÊn c«ng DDoS tõ ®ã cã nh÷ng biÖn ph¸p phßng chèng. SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 103 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Tµi liÖu tham kh¶o [1] The snort project : Snort User Manual 2.8.3, 2008 (170 trang) [2] Rafeeq Ur Rehman : Intrusion Detection Systems with Snort, 2008 (446 trang) [3] Jay Beale, James C. Foster, Jeffrey Posluns (Technical Advisor), Brian Caswell (Technical Editor) : Snort 2.0 Intrusion Detection. NXB Syngress (559 Trang) [4] Jacob Babbin, Simon Biles, Angela D. Orebaugh : Snort Cookbook, NXB O'Reily, 2005 (288 trang) [5] Snort website : http://snort.org [6] TrÇn NhËt Huy, Hoµng H¶i Nguyªn : Giíi thiÖu vÒ iptables, 2006 (12 trang) [7] NguyÔn Hång Th¸i : Cµi ®Æt vµ cÊu h×nh iptables, 2006 (12 trang) [8] Oskar Andreasson : Iptables Tutorial 1.2.2, 2006 (343 trang) [9] T×m hiÓu IDS vµ IPS trong m¹ng kh«ng d©y : http://wifipro.org [10] DiÔn ®µn HVA : http://hvaforum.net [11] Trang chñ hÖ ®iÒu hµnh CentOS : http://centos.org [12] DiÔn ®µn Linux CHF : http://linuxforum.vn [13] DiÔn ®µn Linux ViÖt Nam : http://diendanlinux.org [14] “How to force” website : http://howtoforce.com [15] Honeypot website : http://honetpot.com [16] Niels Provos, Thorsten Holz : Virtual Honeypots - From Botnet Tracking to Intrusion Detection, NXB Addison Wesley Professional , 2007 (480 trang) [17] Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher : Internet Denial of Service - Attackand Defense Mechanisms, NXB Prentice Hall PTR, 2004, (400 trang) [18] Sushil Jajodia : Botnet Detection, countering the largest security threat, §¹i häc George Mason, 2004 (177 trang) [19] Jutoms : Ph©n tÝch vµ ng¨n chÆn X-Flash, 2007 (2 trang) SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 104 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Lêi cam ®oan T«i xin cam ®oan ®©y lµ c«ng tr×nh nghiªn cøu cña riªng t«i. Nh÷ng tµi liÖu trong §å ¸n tèt nghiÖp lµ hoµn toµn trung thùc. C¸c kÕt qu¶ nghiªn cøu do chÝnh t«i thùc hiÖn díi sù chØ ®¹o cña gi¸o viªn híng dÉn. Sinh viªn NguyÔn Anh Dòng SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 105 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Môc lôc Trang Lêi nãi ®Çu..........................................................................................................1 Ch¬ng 1 TæNG QUAN VÒ DDOS........................................................................................3 1.1. Giíi thiÖu chung vÒ DDoS:.............................................................3 1.2. Ph©n lo¹i c¸c kiÓu tÊn c«ng DDoS..........................................3 TÊn c«ng lµm c¹n kiÖt b¨ng th«ng ...................................................................3 1.2.1.1. Flood attack:....................................................................................4 1.2.1.2. Amplification Attack:......................................................................5 TÊn c«ng lµm c¹n kiÖt tµi nguyªn ....................................................................6 1.2.1.3. Protocol Exploit Attack...................................................................6 1.2.1.4. Malformed Packet Attack...............................................................7 1.3. S¬ ®å m¹ng Botnet...........................................................................8 S¬ ®å Handler-Agent.........................................................................................8 S¬ ®å IRC Base..................................................................................................9 1.4. C¸c ph¬ng ph¸p x©y dùng tµi nguyªn tÊn c«ng..........10 * Giao tiÕp trªn m¹ng Botnet..........................................................................12 1.5. Mét sè kiÓu tÊn c«ng DDoS vµ c¸c c«ng cô tÊn c«ng DDoS ................................................................................................................13 Mét sè kiÓu tÊn c«ng DDoS............................................................................13 Mét sè c«ng cô tÊn c«ng DDoS......................................................................13 1.5.1.1. Trinoo.............................................................................................13 1.5.1.2. Tribe Flood Network (TFN/TFN2K)............................................14 1.5.1.3. Stacheldraht...................................................................................14 1.5.1.4. Trinity............................................................................................14 1.5.1.5. Shaft...............................................................................................14 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 106 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 1.5.1.6. X-flash...........................................................................................15 1.6. Phßng chèng DDoS..........................................................................17 Phßng chèng DDoS.........................................................................................17 1.6.1.1. Tèi thiÓu hãa lîng Agent..............................................................18 1.6.1.2. T×m vµ v« hiÖu hãa c¸c Handler:..................................................18 1.6.1.3. Ph¸t hiÖn dÊu hiÖu cña cuéc tÊn c«ng:..........................................19 1.6.1.4. Lµm suy gi¶m hay dõng cuéc tÊn c«ng........................................19 1.6.1.5. ChuyÓn híng cuéc tÊn c«ng..........................................................20 1.6.1.6. Giai ®o¹n sau tÊn c«ng..................................................................20 Nh÷ng vÊn ®Ò cã liªn quan..............................................................................21 1.6.1.7. ThiÕu tr¸ch nhiÖm víi céng ®ång.................................................21 1.6.1.8. Sù im lÆng......................................................................................21 1.6.1.9. TÇm nh×n h¹n hÑp..........................................................................22 Ch¬ng 2 HÖ THèNG PH¸T HIÖN Vµ CHèNG X¢M NHËP CHèNG X¢M NHËP – IDS & IPS...................................................................................24 2.1. IDS (Intrusion Detection System):.........................................24 §Þnh nghÜa:......................................................................................................24 Ph©n lo¹i IDS:..................................................................................................25 2.1.1.1. Network IDS hoÆc NIDS :.............................................................25 2.1.1.2. Host IDS hoÆc HIDS:.....................................................................26 C¸c kü thuËt xö lý d÷ liÖu ®îc sö dông trong c¸c hÖ thèng ph¸t hiÖn x©m nhËp:.................................................................................................................27 2.2. IPS (Intrusion Detection System):..........................................29 §Þnh nghÜa:......................................................................................................29 Ph©n lo¹i:.........................................................................................................29 C¸c thµnh phÇn chÝnh cña IPS.........................................................................30 2.3. So s¸nh gi÷a IDS vµ IPS:.................................................................30 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 107 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 2.4. KÕt luËn:...............................................................................................31 Ch¬ng 3 TæNG QUAN VÒ SNORT....................................................................................32 3.1. GIíI THIÖU SNORT:..............................................................................32 3.2. C¸C THµNH PHÇN CñA SNORT:.......................................................32 Packet Decoder ...............................................................................................33 Preprocessors...................................................................................................34 Detection Engine:............................................................................................36 Output Plugin:..................................................................................................39 3.3. C¥ CHÕ HO¹T §éNG CñA SNORT:..................................................40 Snort lµ mét Sniffer:........................................................................................40 Snort lµ mét Packet Logger:............................................................................41 Snort lµ NIDS:..................................................................................................42 C¸c tïy chän c©u lÖnh cña Snort:....................................................................43 C¸c luËt cña Snort............................................................................................43 3.4. RULE – CÊU TRóC LUËT CñA SNORT...........................................44 CÊu tróc cña mét luËt......................................................................................44 3.5. SIGNATURE:............................................................................................52 3.6. TÖP CÊU H×NH (snort.conf)...........................................................55 C¸c biÕn cÊu h×nh............................................................................................56 CÊu h×nh bé gi¶i m· vµ bé phËn ph¸t hiÖn cña Snort:....................................58 CÊu h×nh tiÒn xö lÝ...........................................................................................61 CÊu h×nh xuÊt kÕt qu¶ .....................................................................................61 C¸c file kÌm theo.............................................................................................64 Ch¬ng 4 Giíi thiÖu Iptables...................................................................................66 4.1. Giíi thiÖu chung vÒ iptables....................................................66 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 108 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh 4.2. CÊu tróc cña iptables:.................................................................66 4.3. Targets:.................................................................................................69 4.4. C¸c tïy chän quan träng cña Iptables:..........................70 Ch¬ng 5 X©y dùng gi¶i ph¸p phßng chèng DDoS cho m¸y chñ web .....................................................................................................................73 5.1. C¬ chÕ ho¹t ®éng cña IPTables víi Snort Inline........74 5.2. M« h×nh triÓn khai thùc tÕ M« trêng m¹ng triÓn khai khi cha cã IPS:............................................................................................74 5.3. Gi¶i ph¸p................................................................................................75 5.4. M« h×nh thö nghiÖm........................................................................77 5.5. TriÓn khai hÖ thèng.......................................................................78 Tèi u hãa server ë tÇng TCP/IP.......................................................................78 Cµi ®Æt module connlimit cho Iptables...........................................................79 Cµi ®Æt Snort inline..........................................................................................81 5.5.1.1. Cµi ®Æt Snort inline........................................................................81 5.5.1.2. Tù ®éng cËp nhËt rule:...................................................................85 5.5.1.3. Gi¶i ph¸p kÜ thuËt víi vÊn ®Ò lu log..............................................86 Thö nghiÖm, ®¸nh gi¸......................................................................................88 Ch¬ng 6 TæNG KÕT...........................................................................................................102 6.1. Nh÷ng kÕt qu¶ ®¹t ®îc :...........................................................102 6.2. Híng ph¸t triÓn:............................................................................103 Tµi liÖu tham kh¶o...................................................................................104 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 109 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS SVTH: NguyÔn anh dòng – MSSV: 505104005 GVHD: ThS. NguyÔn TuÊn Anh Trang 110 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Danh môc ¶nh H×nh 1-: Ph©n lo¹i c¸c kiÓu tÊn c«ng DDoS.......................3 H×nh 1-: Amplification Attack..................................................5 H×nh 1-: Ba bíc kÕt nèi TCP/IP......................................................6 H×nh 1-: Trêng hîp IP nguån gi¶..............................................7 H×nh 1-: S¬ ®å Handler-Agent....................................................8 H×nh 1-: S¬ ®å IRC Base.....................................................................9 H×nh 1-: C¸c ph¬ng ph¸p x©y dùng tµi nguyªn tÊn c«ngC¸ch thøc cµi ®Æt DDoS Agent...................................11 H×nh 1-: M« h×nh m¹ng Classic DDoS....................................15 H×nh 1-: M« h×nh m¹ng X-Flash DDoS...................................16 H×nh 1-: C¸c giai ®o¹n chi tiÕt trong phßng chèng DDoS..........................................................................................................18 H×nh 2-: M« h×nh NIDS......................................................................26 H×nh 2-: M« h×nh HIDS......................................................................27 H×nh 3-: BiÓu ®å khèi Snort........................................................33 H×nh 3-: Packet Decoder..............................................................34 H×nh 3-: CÇu tróc cña packet sau khi ®îc decoded. 34 H×nh 3-: Order of preprocessors that packet is processed.............................................................................................35 H×nh 3-: Gãi tin ®îc xö lý th«ng qua multimedia classification preprocessor.................................................36 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 111 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 3-: C¸ch detection engine lµm viÖc........................36 H×nh 3-: Compare header of packet happening in RTN .....................................................................................................................37 H×nh 3-: Compare option part of packet happening in OTN.......................................................................................................37 H×nh 3-: Rules after comparing are kept stored in RTN vµ OTN............................................................................................38 H×nh 4-: M« h×nh Iptables/netfilter...................................66 H×nh 4-: M« t¶ ®êng ®i cña gãi d÷ liÖu..............................68 H×nh 5-: C¬ chÕ ho¹t ®éng cña Snort Inline..................74 H×nh 5-: M« h×nh m¹ng triÓn khai thùc tÕ......................74 H×nh 5-: M« h×nh m¹ng sau khi triÓn khai hÖ thèng phßng chèng......................................................................................75 H×nh 5-: Luång d÷ liÖu ®i ®Õn Web Server........................76 H×nh 5-: Luång d÷ liÖu khi triÓn khai hÖ thèng phßng chèng DDoS..........................................................................77 H×nh 5-: M« h×nh m¹ng thö nghiÖm.......................................78 H×nh 5-: H×nh trang chñ DemoDDoS......................................89 H×nh 5-: H×nh trang phßng chèng DDoS.............................89 H×nh 5-: Giao diÖn chÝnh cña Jmeter...................................90 H×nh 5-: T¹o Thread Group.........................................................90 H×nh 5-: T¹o HTTP Default Request......................................91 H×nh 5-: T¹o Home Request.........................................................91 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 112 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: T¹o HTTP Request...........................................................92 H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng (bíc 1)..........................................................................93 H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng ( bíc 2).........................................................................94 H×nh 5-: Tµi nguyªn cña hÖ thèng ( bíc 2).........................94 H×nh 5-: Tµi nguyªn cña hÖ thèng khi s¾p bÞ DDoS (bíc 3) .................................................................................................................95 H×nh 5-: å thÞ traffic cña m¹ng khi bÞ DDoS (bíc 3). . .95 H×nh 5-: Tµi nguyªn cña hÖ thèng sau hai phót bÞ DDoS (bíc 3)...........................................................................................96 H×nh 5-: Tµi nguyªn cña hÖ thèng sau n¨m phót bÞ DDoS (bíc 3)...........................................................................................96 H×nh 5-: H×nh ¶nh Web site Demo DDoS................................97 H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng ( bíc 3).........................................................................97 H×nh 5-: Tµi nguyªn cña hÖ thèng tríc khi bÞ DDoS (bíc 4)...........................................................................................................98 H×nh 5-: §å thÞ traffic cña m¹ng khi bÞ DDoS (bíc 4).99 H×nh 5-: Tµi nguyªn cña hÖ thèng sau hai phót bÞ DDoS (bíc 4)...........................................................................................99 H×nh 5-: Tµi nguyªn cña hÖ thèng sau n¨m phót bÞ DDoS (bíc 4)........................................................................................100 SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 113 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh H×nh 5-: §å thÞ thêi gian ®¸p øng trung b×nh vµ th«ng lîng ( bíc 4).......................................................................100 Lêi c¶m ¬n Sau h¬n mét th¸ng nç lùc thùc hiÖn,” T×M HIÒU TÊN C¤NG Tõ CHèI DÞCH Vô Vµ ph¬ng PH¸P PHßNG TR¸NH” ®· phÇn nµo hoµn thµnh trªn ph¬ng diÖn t×m hiÓu. Ngoµi sù cè g¾ng hÕt m×nh cña b¶n th©n, em ®· nhËn ®îc rÊt nhiÒu sù khÝch lÖ tõ phÝa nhµ trêng, thÇy c«, gia ®×nh vµ b¹n bÌ. Tríc hÕt, em xin ch©n thµnh c¶m ¬n thÇy NguyÔn TuÊn Anh ®· tËn t×nh híng dÉn, chØ d¹y em vµ ®Ò xuÊt nh÷ng híng gi¶i quyÕt mçi khi em gÆp khã kh¨n trong suèt qu¸ tr×nh thùc hiÖn ®å ¸n nµy. KÕ ®Õn, con xin v« cïng c¶m ¬n Bè, MÑ lu«n ®éng viªn vµ t¹o mäi ®iÒu kiÖn vËt chÊt còng nh tin thÇn ®Ó hoµn thµnh ®å ¸n nµy. Em còng xin ch©n thµnh c¶m ¬n quÝ thÇy c« trong khoa C«ng nghÖ th«ng tin ®· tËn t×nh gi¶ng d¹y, trang bÞ cho em nh÷ng kiÕn thøc cÇn thiÕt trong suèt qu¸ tr×nh häc tËp t¹i trêng vµ b¹n bÌ ®· ñng hé, gióp ®ì em khi thùc hiÖn ®å ¸n nµy. Sinh viªn thùc hiÖn NguyÔn Anh Dòng (MSSV:505104005) SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 114 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh PHÇN §¸NH GI¸ CñA GI¸O VI£N H¦íNG DÉN 1. Tinh thÇn th¸i ®é cña sinh viªn trong qu¸ tr×nh lµm ®å ¸n. …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………………………................................. ........................................................................................................... 2. §¸nh gi¸ chÊt lîng cña ®å ¸n. …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ……………………………………............................................... 3. C¸n bé híng dÉn cho ®iÓm. …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ……………………………………………………………………… SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 115 ®å ¸n tèt nghiÖp §Ò tài: T×m hiÓu tÇn c«ng DDoS GVHD: ThS. NguyÔn TuÊn Anh Ngµy…..th¸ng….n¨m 2009 Gi¸o viªn híng dÉn (Ký vµ ghi râ hä tªn) SVTH: NguyÔn anh dòng – MSSV: 505104005 Trang 116 [...]... trình Phòng chống DDoS: - Giai đoạn ngăn ngừa: tối thiểu hóa lợng Agent, tìm và vô hiệu hóa các Handler - Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn công, làm suy giảm và dừng cuộc tấn công, chuyển hớng cuộc tấn công SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 17 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn Tuấn Anh - Giai đoạn sau khi cuộc tấn công xảy ra:... công, quản trị mạng có thể tìm ra nhiều manh mối và chứng cứ quan trọng SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 20 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn Tuấn Anh Những vấn đề có liên quan DDoS là một kiểu tấn công rất đặc biệt, điểm cực kỳ hiểm ác của DDoS làm cho nó khó khắc phục là DDoS đánh vào nhân tố yếu nhất của hệ thống thông tin con ngời Từ đặc điểm này của DDoS. .. SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 16 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn Tuấn Anh - Không hề có quá trình gởi lệnh và nhận báo cáo giữa hacker và mạng lới tấn công, toàn bộ lệnh tấn công đợc nhúng trong nội dung flash và hacker không cần nhận báo cáo do đây là mô hình tấn công bất đồng bộ - Tấn công bất đồng bộ: Việc tấn công diễn ra không cần có mệnh lệnh Ngời dùng... Một số kiểu tấn công DDoS và các công cụ tấn công DDoS Một số kiểu tấn công DDoS Bên cạnh việc phân loại các kiểu tấn công theo mục đích tấn công, ta còn có thể phân loại theo cách tấn công vào giao thức Dới đây là phân loại một số cách tấn công DDoS theo giao thức : (Tham khảo từ http://www.cisco.com ) - HTTP Flood - SYN Flood - ICMP Flood - TCP Reset - UDP Flood Một số công cụ tấn công DDoS 1.5.1.1... ta có thể thấy DDoS thực sự là Rất dễ thực hiện, hầu nh không thể tránh, hậu quả rất nặng nề. Chính vì vậy việc đấu tranh phòng chống DDoS là công việc không chỉ của một cá nhân, một tập thể hay một quốc gia mà là công việc của toàn thế giới nói chung và cộng đồng sử dụng mạng Internet nói riêng SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 23 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS... bị lợi dụng tấn công hay bị tấn công Điều này làm cho việc ngăn chặn và loại trừ các cuộc tấn công trở nên khó khăn Mọi việc trở nên khó khăn khi mọi ngời không chia sẻ kinh nghiệm từ các cuộc tấn công, trong khi giới hacker thì chia sẻ mã nguồn mở của các công cụ, một cuộc chơi không cân sức SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 21 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn... trong số các công cụ DDoS nguy hiểm nhất 1.5.1.5 Shaft Shaft có các kĩ thuật tấn công UDP, ICMP và TCP flood Có thể tấn công phối hợp nhiều kiểu cùng lúc Có thống kê chi tiết cho phép attacker biết tình trạng tổn thất của nạn nhân, mức độ quy mô của cuộc tấn công để điều chỉnh số lợng Agent Mô hình : SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 14 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD:... công thành định dạng kiểm định thích hợp Nh vậy, dấu hiệu tấn công có thể đợc tìm thấy trong các bản ghi(record) Một kịch bản tấn công có thể đợc mô tả, ví dụ nh một chuỗi sự kiện kiểm định đối với các tấn công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy đợc SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 27 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn Tuấn Anh trong cuộc kiểm định Phơng pháp.. .đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn Tuấn Anh Hình 1-: Các phơng pháp xây dựng tài nguyên tấn côngCách thức cài đặt DDoS Agent Attacker có thể dùng phơng pháp active và passive để cài đặt chơng trình Agent lên các máy khác nhằm thiết lập mạng tấn công kiểu Agent-Handler hay IRC-based * Các cách cài đặt sử dụng phơng pháp active nh: - Scaning: dùng các công cụ nh... DDoS Agent sẽ tự nâng cao ở mỗi ngời dùng 1.6.1.2 Tìm và vô hiệu hóa các Handler: Một nhân tố vô cùng quan trọng trong mạng Botnet là Handler, nếu có thể phát hiện và vô hiệu hóa Handler thì khả năng Phòng chống DDoS thành công là rất cao Bằng cách theo dõi các giao tiếp giữa Handler và Client hay Handler và SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 18 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS ... hệ điều hành hỗ trợ công cụ Sơ đồ sau mô tả so sánh tơng quan công cụ công DDoS SVTH: Nguyễn anh dũng MSSV: 505104005 Trang 10 đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn... 505104005 Trang đồ án tốt nghiệp Đề ti: Tìm hiểu tần công DDoS GVHD: ThS Nguyễn Tuấn Anh TổNG Chơng QUAN Về DDOS 1.1 Giới thiệu chung DDoS: DDoS (distributed denial-of-service attack) kiểu công đa hệ... Một số kiểu công DDoS công cụ công DDoS Một số kiểu công DDoS Bên cạnh việc phân loại kiểu công theo mục đích công, ta phân loại theo cách công vào giao thức Dới phân loại số cách công DDoS theo

Ngày đăng: 01/10/2015, 16:21

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w