Đề tài Xây dựng giải pháp phòng chống DDoS cho máy chủ web

Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user trên toàn thế giới nhiều giờ liền. Vài giờ sau, Yahoo đã tìm ra nguyên nhân gây nên tình trạng này, họ đang phải gánh chịu một đợt tấn công 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 các server này không thể phục vụ các user thông thường khác. Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn do một trong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com, Zdnet.com, E-trade.com, Ebay.com. Tất cả các nạn nhân là những gã khổng lồ trên Internet thuộc nhiều lĩnh vực khác nhau. Theo Yankke Group, tổng thiệt hại do cuộc tấn công lên đến 1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin của khách hàng, uy tín của các công ty là không thể tính được. Làm đảo lộn mọi dự tính, thủ phạm là một cậu bé 15 tuổi người Canada, với nickname “mafiaboy”. Lại là một thiên tài bẩm sinh như Kevin Mitnick xuất hiện? Không. Mafiaboy chỉ tìm tòi và download về một số chương trình công cụ của các hacker. Cậu đã dùng một công cụ DDoS có tên là TrinOO để gây nên các cuộc tấn công kiểu DDoS khủng khiếp trên. Một điểm đáng lưu ý khác là Mafiaboy bị bắt do tự khoe khoang trên các chatroom công cộng, không ai truy tìm được dấu vết của cậu bé này. Còn rất nhiều gã khổng lồ khác đã gục ngã dưới các cuộc tấn công kiểu DDoS sau đó, trong đó có cả Microsoft. Tuy nhiên cuộc tấn công trên là điển hình nhất về DDoS, nó nói lên một đặc điểm chết người của DDoS: Rất dễ thực hiện, hầu như không thể tránh, hậu quả rất nặng nề.”

doc101 trang | Chia sẻ: lvbuiluyen | Lượt xem: 4233 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng giải pháp phòng chống DDoS cho máy chủ web, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Luận văn Đề tài: Xây dựng giải pháp phòng chống DDoS cho máy chủ web ĐỒ ÁN TỐT NGHIỆP Danh sách các hình vẽ Hình 01: Phân loại các kiểu tấn công DDoS 13 Hình 02: Amplification Attack 16 Hình 03: Ba bước kết nối TCP/IP 17 Hình 04: Trường hợp IP nguồn giả 18 Hình 05: Sơ đồ Handler-Agent 19 Hình 06: Sơ đồ IRC Base 21 Hình 07: Các phương pháp xây dựng tài nguyên tấn công 23 Hình 08: Mô hình mạng Classic DDoS 28 Hình 09: Mô hình mạng X-Flash DDoS 29 Hình 10: Các giai đoạn chi tiết trong phòng chống DDoS 31 Hình 11: Mô hình Iptables/netfilter 38 Hình 12: Mô tả đường đi của gói dữ liệu. 40 Hình 13: Sơ đồ luồng dữ liệu đi qua Snort 46 Hình 14: Mô hình mạng triển khai thực tế 69 Hình 15: Mô hình mạng sau khi triển khai hệ thống phòng chống 70 Hình 16: Luồng dữ liệu đi đến Web Server 71 Hình 17: Luồng dữ liệu khi triển khai hệ thống phòng chống DDoS 72 Hình 18: Mô hình mạng thử nghiệm 73 Hình 19: Hình trang chủ DemoDDoS 86 Hình 20: Hình trang phòng chống DDoS 86 Hình 21: Giao diện chính của Jmeter 87 Hình 22: Tạo Thread Group 87 Hình 23: Tạo HTTP Default Request 88 Hình 24: Tạo Home Request 88 Hình 25: Tạo HTTP Request 89 Hình 26: Đồ thị thời gian đáp ứng trung bình và thông lượng (bước 1) 90 Hình 27: Tài nguyên của hệ thống ( bước 1) 90 Hình 28: Đồ thị thời gian đáp ứng trung bình và thông lượng ( bước 2) 91 Hình 29: Tài nguyên của hệ thống ( bước 2) 91 Hình 30: Tài nguyên của hệ thống khi sắp bị DDoS (bước 3) 92 Hình 31: Đồ thị traffic của mạng khi bị DDoS (bước 3) 92 Hình 32: Tài nguyên của hệ thống sau hai phút bị DDoS (bước 3) 93 Hình 33: Tài nguyên của hệ thống sau năm phút bị DDoS (bước 3) 93 Hình 34: Hình ảnh Web site Demo DDoS 94 Hình 35: Đồ thị thời gian đáp ứng trung bình và thông lượng ( bước 3) 94 Hình 36: Tài nguyên của hệ thống trước khi bị DDoS (bước 4) 95 Hình 37: Đồ thị traffic của mạng khi bị DDoS (bước 4) 96 Hình 38: Tài nguyên của hệ thống sau hai phút bị DDoS (bước 4) 96 Hình 39: Tài nguyên của hệ thống sau năm phút bị DDoS (bước 4) 97 Hình 40: Đồ thị thời gian đáp ứng trung bình và thông lượng ( bước 4) 97 Danh sách các bảng Bảng 01: Các loại queues và chức năng của nó 39 Bảng 02: Miêu tả các target mà Iptables thường dùng nhất 43 Bảng 03: Bảng các tùy chọn quan trọng của Iptables 43 Bảng 04: Các điều kiện TCP và UDP thông dụng 45 Bảng 05: Tên các policy của Stream5 56 Bảng 06: Cấu trúc của rule header 62 LỜI CẢM ƠN Sau 3 tháng nỗ lực thực hiện, đồ án nghiên cứu “Xây dựng giải pháp phòng chống DDoS cho máy chủ web ” phần nào đã hoàn thành.Ngoài sự nỗ lực của bản thân, em còn nhận được sự khích lệ rất nhiều từ phía nhà trường, thầy cô, gia đình và bạn bè trong khoa.Chính điều này đã mang lại cho em sự động viên rất lớn để em có thể hoàn thành tốt đồ án của mình. Trước hết con xin cảm ơn bố mẹ, ông bà và những người thân yêu đã luôn động viên, ủng hộ, chăm sóc và tạo mọi điều kiện tốt nhất để con hoàn thành nhiệm vụ của mình. Em xin cảm ơn nhà trường nói chung và Khoa Công Nghệ Thông Tin nói riêng đã đem lại cho em nguồn kiến thức vô cùng quý giá để em có đủ kiến thức hoàn thành đồ án cũng như làm hành trang bước vào đời. Em xin cảm ơn các thầy cô thuộc bộ môn Mạng Máy Tính, đặc biệt là thầy Ngô Hồng Sơn- giáo viên hướng dẫn của em đã tận tình hướng dẫn và giúp đỡ chúng em mỗi khi chúng em có khó khăn trong quá trình học tập cũng như trong quá trình làm đồ án tốt nghiệp. Xin cảm ơn tất cả bạn bè thân yêu đã động viên, giúp đỡ em trong suốt quá trình học tập cũng như làm đề tài. Hà Nội, 05/2008 Sinh viên thực hiện Nguyễn Huy Lợi Chương I. Giới thiệu chung Đặt vấn đề Mục tiêu Tóm tắt kết quả Nội dung đồ án 1. Đặt vấn đề “ Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user trên toàn thế giới nhiều giờ liền. Vài giờ sau, Yahoo đã tìm ra nguyên nhân gây nên tình trạng này, họ đang phải gánh chịu một đợt tấn công 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 các server này không thể phục vụ các user thông thường khác. Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn do một trong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com, Zdnet.com, E-trade.com, Ebay.com. Tất cả các nạn nhân là những gã khổng lồ trên Internet thuộc nhiều lĩnh vực khác nhau. Theo Yankke Group, tổng thiệt hại do cuộc tấn công lên đến 1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin của khách hàng, uy tín của các công ty là không thể tính được. Làm đảo lộn mọi dự tính, thủ phạm là một cậu bé 15 tuổi người Canada, với nickname “mafiaboy”. Lại là một thiên tài bẩm sinh như Kevin Mitnick xuất hiện? Không. Mafiaboy chỉ tìm tòi và download về một số chương trình công cụ của các hacker. Cậu đã dùng một công cụ DDoS có tên là TrinOO để gây nên các cuộc tấn công kiểu DDoS khủng khiếp trên. Một điểm đáng lưu ý khác là Mafiaboy bị bắt do tự khoe khoang trên các chatroom công cộng, không ai truy tìm được dấu vết của cậu bé này. Còn rất nhiều gã khổng lồ khác đã gục ngã dưới các cuộc tấn công kiểu DDoS sau đó, trong đó có cả Microsoft. Tuy nhiên cuộc tấn công trên là điển hình nhất về DDoS, nó nói lên một đặc điểm chết người của DDoS: Rất dễ thực hiện, hầu như không thể tránh, hậu quả rất nặng nề.” Đây chỉ là phần mở đầu của một trong số rất nhiều bài báo viết về DDoS, tuy khá ngắn gọn nhưng cũng đã nêu bật được những đặc điểm nổi bật nhất của DDoS : “Rất dễ thực hiện, hầu như không thể tránh, hậu quả rất nặng nề ”. Một điều mà các chuyên gia ai cũng thừa nhận, đó là nếu DDoS được thực hiện bởi một hacker có trình độ, thì việc chống đỡ là không thể. Rất may mắn, cách đây 5 năm, giới hacker chính quy thế giới đã khai trừ kĩ thuật tấn công này, và chấm dứt mọi hoạt động nghiên cứu, trình diễn hay phát triển công cụ do chính bản thân họ cũng nhìn thấy mức độ nguy hiểm và không công bằng của kiểu tấn công này. Tuy rằng không còn là mới mẻ, nhưng DDoS vẫn tiếp tục gây rất nhiều thiệt hại cho cộng đồng mạng nói chung và cho các doanh nghiệp nói riêng. Gần đây nhất, trang web của Bkis bị DDoS làm gián đoạn trong nhiều giờ liền và sau khi phối hợp với các bên liên quan, đã điều tra ra thủ phạm là một học sinh trung học ở Quảng Nam. Không những phục vụ cho nhu cầu của bản thân mà còn giúp nâng cao ý thức của người dùng mạng Internet, làm sao để tránh hoặc ít nhất giảm được thiệt hại khi bị DDoS , em đã lựa chọn đề tài : “Xây dựng biện pháp phòng chống DDoS cho máy chủ web” . Nhận thấy vừa là một đề tài tốt nghiệp, vừa có vai trò ứng dụng trong thực tế và với sự giúp đỡ tận tình của thầy Ngô Hồng Sơn, em đã cố gắng hết sức để thực hiện tốt đề tài của mình. 2. Mục tiêu và giới hạn Đồ án có 2 mục tiêu chính : - Nghiên cứu tìm hiểu về DDoS, phân loại DDoS, giới thiệu một số công cụ tấn công DDoS và giải pháp phòng chống nói chung - Xây dựng giải pháp phòng chống DDoS cho web server, sử dụng module connlimit của Iptables và Snort inline . Do tính chất đa dạng của DDoS nên không có giải pháp phòng chống DDoS nào là tối ưu nhất cho mọi trường hợp. Giải pháp mà đồ án đề cập đến là dành cho mô hình mạng chỉ có một server kết nối với Internet bằng một liên kết. 3. Hướng giải quyết Hiện nay, trên thế giới có rất nhiều cách phòng chống DDoS nói chung và phòng chống DDoS cho máy chủ web nói riêng như sử dụng firewall, triển khai IPS (Intrusion Prevention System- Hệ thống chống xâm nhập), load balancing (cân bằng tải) ...Có thể đơn cử ra một vài ví dụ cụ thể như : - Firewall mềm: + Skyeagle anti-DDoS firewall + FortGuard Anti-DDoS Firewall Standard - IPS : + Lokkit + Snort + Untangle Trong đồ án này, em lựa chọn giải pháp sử dụng IPS gồm Snort inline và Iptables để xây dựng giải pháp phòng chống DDoS cho máy chủ web. Lý do lựa chọn xây dựng mô hình IPS gồm Snort inline và Iptables là: - Đối với Snort inline : Snort được biết đến với các ưu điểm như dễ cấu hình, miễn phí, sử dụng rộng rãi, chạy trên nhiều nền tảng (Windows, Unix, Linux), liên tục được cập nhật. Snort inline là một “module” của snort, thay vì lắng nghe trên cổng chỉ định và theo dõi tất cả các traffic đi qua cổng đấy, Snort inline chỉ theo dõi các traffic đặc biệt được chỉ định trước, do đó làm tăng khả năng và hiệu suất của Snort. - Cũng tương tự như Snort inline, Iptables mà nền tảng là Netfilter cũng có những ưu điểm như dễ cấu hình, tốc độ sử lý nhanh, được tích hợp sẵn trong Kernel Linux 2.6 trở lên. - Việc sử dụng kết hợp Iptables với Snort inline sẽ tạo được một hệ thống IPS hoạt động ổn định, dễ cấu hình, dễ dàng tinh chỉnh khi cần thiết. 4. Tóm tắt kết quả Theo yêu cầu đặt ra ban đầu là “Xây dựng hệ thống phòng chống DDoS ”, cho đến thời điểm hiện tại, đồ án đã làm được những nội dung sau : - Về lý thuyết : + Tìm hiểu được những kiểu tấn công của DDoS. + Tìm hiểu được mô hình mạng Botnet (mô hình, cách cài đặt, giao tiếp). + Một số công cụ tấn công DDoS. + Cách phòng chống DDoS. + Những vấn đề có liên quan đến DDoS. - Triển khai hệ thống phòng chống DDoS bao gồm + Tối ưu hóa server. + Cài đặt và cấu hình module connlimit cho Iptables. + Cài đặt và cấu hình Snort inline. + Kiểm tra đánh giá hiệu quả. 5. Nội dung đồ án Đồ án bao gồm 4 chương : - Chương I. Giới thiệu chung : Giới thiệu khái quát về đồ án, lý do lựa chọn đồ án, mục tiêu và giới hạn, kết quả đạt được trong quá trình làm đồ án. - Chương II. Tổng quan về DDoS: Giới thiệu chung về DDoS, phân loại các kiểu tấn công DDoS, cách thức xây dựng mạng Botnet, giới thiệu một số công cụ tấn công DDoS và các cách phòng chống DDoS. - Chương III. Tổng quan về Iptables và Snort inline: Trình bày về lý thuyết và một số cấu hình cơ bản và quan trọng của Iptables và Snort inline. - Chương IV. Xây dựng giải pháp phòng chống DDoS cho máy chủ web : Trình bày mô hình thực tế, giải pháp, mô hình thực nghiệm và quá trình kiểm tra đánh giá, nhận xét hệ thống phòng chống xâm nhập. Chương II. Tổng quan về DDoS Giới thiệu chung về DDoS Phân loại các kiểu tấn công DDoS Cấu trúc mạng Botnet Các phương pháp xây dựng tài nguyên tấn công Một số kiểu tấn công và các công cụ tấn công DDoS Phòng chống DDoS 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. 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 nhưng 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 01: Phân loại các kiểu tấn công DDoS 2.1 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 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. 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 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. 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 02: Amplification Attack Có thể chia amplification attack thành hai loại, Smuft va 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ả 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 nhưng 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. 2.2 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. 2.2.1 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 03: Ba bước kết nối TCP/IP Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK nhưng 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 04: 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. 2.2.2 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. 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ý. 3. Sơ đồ mạng Botnet 3.1 Sơ đồ Handler-Agent Hình 05: 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 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 lưu 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. 3.2 Sơ đồ IRC Base Hình 06: 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. - 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 nhưng không thể xác định