Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Nghiên cứu và phòng chống tấn công từ chối dịch vụ phân tán vào các website...

Tài liệu Nghiên cứu và phòng chống tấn công từ chối dịch vụ phân tán vào các website

.PDF
69
183
73

Mô tả:

i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu và tìm hiểu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kì công trình nào khác. Tác giả luận văn Tống Quang Tân ii LỜI CẢM ƠN Lời đầu tiên, tôi xin chân thành cảm ơn TS. Phạm Hoàng Duy - Học viện Công nghệ Bưu chính Viễn Thông, người đã trực tiếp hướng dẫn tôi thực hiện luận văn này. Với sự hướng dẫn, cung cấp tài liệu, động viên của Thầy đã giúp tôi vượt qua nhiều khó khăn về chuyên môn trong suốt quá trình thực hiện luận văn. Tôi xin chân thành cảm ơn Ban Giám đốc, Ban chủ nhiệm Khoa Sau Đại học và Khoa Công nghệ Thông tin, cùng các thầy, cô đã giảng dạy và quản lý đào tạo trong suốt hai năm theo học tại Học viện Công nghệ Bưu chính Viễn thông. Tôi xin chân thành cảm ơn Hội đồng chấm đề cương đã góp ý cho đề cương luận văn. Cuối cùng, tôi xin cảm ơn gia đình, bạn bè và các đồng nghiệp tại nơi tôi đang công tác đã động viên, tạo điều kiện cho tôi trong suốt thời gian học tập và nghiên cứu. Hà Nội, ngày 26 tháng 01 năm 2018 Học viên Tống Quang Tân iii MỤC LỤC LỜI CAM ĐOAN ............................................................................................................ i LỜI CẢM ƠN ..................................................................................................................ii MỤC LỤC ....................................................................................................................... iii DANH MỤC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT ................................................. v DANH SÁCH BẢNG ..................................................................................................... vi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ...................................................................... vii MỞ ĐẦU ......................................................................................................................... 1 CHƯƠNG I. 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 1.2.1 Tấn công làm cạn kiệt băng thông .....................................................................4 1.2.2 Tấn công làm cạn kiệt tài nguyên. .....................................................................7 1.2.3 Tấn công cơ sở hạ tầng ......................................................................................9 1.2.4 Tấn công Zero-day ...........................................................................................10 1.3 Tấn công DDoS Website .....................................................................................10 1.3.1 Tấn công vào máy chủ cài webserver ..............................................................11 1.3.2 Tấn công trực tiếp vào website ........................................................................13 1.4 Xây dựng Botnet .................................................................................................13 1.4.1 Kiến trúc Handler-Agent ..................................................................................14 1.4.2 Kiến trúc IRC Base...........................................................................................15 1.4.3 Kiến trúc Peer-to-Peer ......................................................................................16 1.4.4 Một số botnet nổi tiếng trên thế giới ................................................................17 1.5 Các phương pháp xây dựng tài nguyên tấn công. ...............................................17 1.5.1 Cách thức cài DDoS Agent ..............................................................................18 1.5.2 Giao tiếp trên mạng Botnet ..............................................................................18 1.6 Một số công cụ tấn công DDoS ..........................................................................19 1.6.1 Trinoo ...............................................................................................................19 1.6.2 Tribe Flood Network (TFN/TFN2K) ................................................................19 1.6.3 Stacheldraht .....................................................................................................19 1.6.4 Trinity ...............................................................................................................19 1.6.5 DoSHTTP .........................................................................................................20 iv 1.6.6 X-flash ..............................................................................................................20 1.7 Phòng chống DDoS .............................................................................................21 1.7.1 Phương pháp phòng chống DDoS ...................................................................21 1.7.2. Một số công cụ mã nguồn mở phòng chống DDoS.........................................25 1.8 Kết luận chương 1 ...............................................................................................26 CHƯƠNG II. CÔNG CỤ MÃ NGUỒN MỞ IPTABLES VÀ SNORT INLINE .... 27 2.1. Công cụ Iptables .................................................................................................27 2.1.1 Giới thiệu chung về Iptables ............................................................................27 2.1.2 Cấu trúc của Iptables .......................................................................................27 2.1.3 Targets..............................................................................................................30 2.1.4 Các tùy chọn quan trọng của Iptables .............................................................32 2.2 Công cụ Snort inline............................................................................................35 2.2.1 Giới thiệu về Snort ...........................................................................................35 2.2.2 Cấu trúc Snort ..................................................................................................35 2.2.3 Bộ luật của Snort ..............................................................................................40 2.2.4 Chế độ ngăn chặn của Snort : Snort — Inline .................................................49 2.3 Kết luận chương 2 ...............................................................................................50 CHƯƠNG III. XÂY DỰNG GIẢI PHÁP PHÒNG CHỐNG DDOS ....................... 51 3.1 Giải pháp phòng chống DDoS được đưa ra cho Website ...................................51 3.1.1 Ưu điểm của giải pháp sử dụng hệ thống IPS .................................................51 3.1.2 ConfigServer Security & Firewall (CSF)........................................................52 3.2 Thử nghiệm, đánh giá..........................................................................................52 3.2.1 Mô hình ............................................................................................................52 3.2.2 Cài đặt ..............................................................................................................53 3.2.3 Cấu hình trên IPS .............................................................................................54 3.2.4 Chạy thử nghiệm ..............................................................................................56 3.2.5 Đánh giá thử nghiệm ........................................................................................59 3.3 Kết luận chương 3 ...............................................................................................59 KẾT LUẬN ................................................................................................................... 61 DANH MỤC TÀI LIỆU THAM KHẢO .................................................................... 62 v DANH MỤC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh CPU Central Processing Unit DDoS Distributed Denial of Service DNS Domain Name System DoS Denial of Service HTTP Hypertext Transfer Protocol CSF ConfigServer Security & Firewall ICMP Internet Control Message Protocol IDS Intrusion Detection System IP Internet Protocol IPS Intrusion Prevention System P2P Peer to peer SIP Session Initiation Protocol SMTP Simple Mail Transfer Protocol SYN Synchronization TCP Transport Control Protocol UDP User Datagram Protocol Tiếng Việt Bộ xử lý trung tâm Tấn công từ chối dịch vụ phân tán Hệ thống phân giải tên miền Tấn công từ chối dịch vụ Giao thức truyền tải siêu văn bản Tường lửa bảo mật cấu hình máy chủ Giao thức thông báo điều khiển mạng internet Hệ thống phát hiện xâm nhập Giao thức kết nối Internet Hệ thống phòng chống xâm nhập Mạng ngang hàng Giao thức khởi tạo phiên Giao thức truyền tải thư điện tử đơn giản Đồng bộ hóa Giao thứ điều khiển truyền vận Giao thức gói dữ liệu người dùng vi DANH SÁCH BẢNG Bảng 2.1 Các loại queues và chức năng của nó ........................................................ 29 Bảng 2.2 Miêu tả các target mà Iptables thường dùng nhất..................................... 29 Bảng 2.3 Bảng các tùy chọn quan trọng của Iptables ............................................... 32 Bảng 2.4 Các điều kiện TCP và UDP thông dụng .................................................... 34 vii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Phân loại các kiểu tấn công DdoS...............................................................4 Hình 1.2: Amplification Attack................................................................................... 6 Hình 1.3: Ba bước kết nối TCP/IP .............................................................................. 7 Hình 1.4: Trường hợp IP nguồn giả ........................................................................... 8 Hình 1.5: Phân tích các trang web bị tấn công.......................................................... 10 Hình 1.6: Sơ đồ Handler-Agent ................................................................................ 14 Hình 1.7: Sơ đồ IRC Base ......................................................................................... 15 Hình 1.8: Sơ đồ Peer-to-Peer .................................................................................... 15 Hình 1.9: Các phương pháp xây dựng tài nguyên tấn công ...................................... 18 Hình 1.10: Mô hình mạng Classic DDoS ................................................................. 20 Hình 1.11: Mô hình mạng X-Flash DDoS ............................................................... 21 Hình 1.12: Các giai đoạn chi tiết trong phòng chống DDoS .................................... 22 Hình 2.1: Mô hình Iptables/netfilter ......................................................................... 27 Hình 2.2: Mô tả đường đi của gói dữ liệu. ............................................................... 29 Hình 2.3: Mô hình cấu trúc hệ thống Snort............................................................... 36 Hình 2.4: Xử lý một gói tin Ethernet ........................................................................ 37 Hình 2.5: Cấu trúc luật của Snort .............................................................................. 41 Hình 2.6: Header luật của Snort ................................................................................ 41 Hình 3.1: Mô hình thử nghiệm sử dụng IPS để lọc gói tin ....................................... 53 Hình 3.2: Tài nguyên của máy chủ web khi chưa bị tấn công ở kịch bản 1 ............. 56 Hình 3.3: Thời gian đáp ứng trung bình của máy chủ web khi chưa bị tấn công ở kịch bản 1 .................................................................................................................. 56 Hình 3.4: Tài nguyên của máy chủ web khi bị tấn công ở kịch bản 1 ...................... 57 Hình 3.5: Thời gian đáp ứng trung bình của máy chủ web khi bị tấn công ở kịch bản 1 57 Hình 3.7 Thời gian đáp ứng trung bình của máy chủ web khi bị tấn công ở kịch bản 2. 59 1 MỞ ĐẦU Lịch sử của tấn công từ chối dịch vụ bắt đầu từ những năm 2000 khi lần đầu tiên một cậu thiếu niên 15 tuổi Micheal Calce với biệt hiệu aka_mafiaboy từ Quebec, Canada tấn công vào một loạt các Website thương mại điện tử lớn như Amazon, eBay, Yahoo, Fifa, Dell Inc làm chúng không thể truy cập trong hàng giờ đồng hồ. Năm 2005, một lập trình viên 18 tuổi tên là Farid Essabar đã viết ra sâu máy tính để lây nhiễm và thành lập mạng Botnet tấn công vào máy chủ của hãng tin CNN làm sập dịch vụ trực tuyến của hãng. Hình thức tấn công này đã mở ra một kỷ nguyên mới cho các phương pháp tấn công DDoS mới, nguy hiểm và tinh vi hơn. Ngày nay DDoS đã sử dụng nhiều mánh khóe, kỹ thuật mới hơn như kỹ thuật khuếch đại tấn công, sử dụng máy chủ điều khiển lệnh từ xa… làm mức độ thiệt hại tăng lên đáng kể. Điển hình là vụ tấn công Spamhus năm 2013 với mức băng thông có thời điểm đến 300Gbps, thậm chí mạng Internet toàn cầu cũng bị ảnh hưởng khi truy cập vào hầu hết các website đều chậm đi rõ rệt. Việc không có một cơ chế hiệu quả hoàn toàn để chống lại dạng tấn công nguy hiểm và gây nhiều thiệt hại này là một chủ đề công nghệ sôi động, được nhiều nhà nghiên cứu quan tâm, chia sẻ và học hỏi kinh nghiệm. Bất cứ công trình nào mang lại hiệu quả phòng chống hoặc giảm thiểu thiệt hại do DDoS cũng đều mang lại lợi ích rất lớn cho thương mại toàn cầu, có khả năng triển khai rộng rãi tạo ra một môi trường mạng Internet an toàn. Việt Nam hiện nay đang ở giai đoạn thúc đẩy áp dụng công nghệ thông tin vào cơ quan nhà nước, việc một trang web của cơ quan nhà nước bị tấn công DDoS làm ảnh hưởng không chỉ là hình ảnh, uy tín của cơ quan đó mà còn ảnh hưởng trực tiếp đến uy tín và làm trì trệ công việc. Trong quá trình công tác, tôi đã tiếp xúc với nhiều trường hợp các cơ quan bị tin tặc tấn công DDoS, một số trường hợp không thực hiện được các công việc trong thời gian dài. Thực tế, cũng đã có nhiều giải pháp về phòng chống DDoS, tuy nhiên, các giải pháp về phần cứng thì khá đắt đỏ, các giải pháp về phần mềm thì rời rạc, chưa tổng hợp. Vì vậy, tôi đã lựa chọn đề tài 2 : “Nghiên cứu và phòng chống tấn công từ chối dịch vụ vào các website”, với mục đích xây dựng, kiểm thử một số giải pháp sử dụng phần mềm mã nguồn mở để các cơ quan, tổ chức có thể triển khai dễ dàng. Luận văn sẽ được trình bày với 3 chương chình với nội dung như sau: Chương I. Tổng quan về DDoS. Nội dung chương này giới tổng quan 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, giới thiệu một số công cụ mã nguồn mở phòng chống DDos. Chương II. Công cụ mã nguồn mở Iptables và Snort inline Nội dung chương này giới thiệu về hai phần mềm mã nguồn mở miễn phí Iptables và Snort, 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 III. Xây dựng giải pháp phòng chống DDoS Nội dung chương này trình bày 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 bằng các phần mềm đã nêu ở chương II. 3 CHƯƠNG I. TỔNG QUAN VỀ DDOS 1.1 Giới thiệu chung về DDoS. Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial Of Service) là hoạt động làm chấm dứt hoặc gián đoạn các dịch vụ tại máy nạn nhân. Tấn công DDoS huy động số lượng lớn các máy bị lợi dụng để tấn công nạn nhân vào cùng một thời điểm. Do DDoS có tính chất phân tán nên việc ngăn chặn là rất khó khăn. Việc ngăn chặn DDoS không thể từ một máy tính bị tấn công mà phải kết hợp giữa các router để tiến hành phân tích và chặn. Do có số lượng Agent lớn và bao phủ trên diện rộng nên việc phát hiện được các gói tin tấn công nhưng khó có khả năng giải quyết triệt để được DDoS. Ở đây Agent là những máy trực tiếp gửi thông điệp tấn công. Trên Internet tấn công từ chối dịch vụ phân tán là một dạng tấn công từ nhiều máy tính tới một đích, nó gây ra từ chối các yêu cầu hợp lệ của các user bình thường. Bằng các tạo ra rất nhiều các gói tin đến đích cụ thể, nó có thể gây tình trạng tương tự như hệ thống bị shutdown. Khác với tấn công DoS (Denial of Service) 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. Để hiểu nghiên cứu về các cuộc tấn công DDoS, điều quan trọng là phải hiểu các cơ chế phân loại tấn công DDoS. Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn công DDoS nhưng nếu nhìn dưới góc độ chuyên môn thì có thể chia các biến thể này thành hai loại dựa trên 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”. Tuy nhiên, trong thực tế, một cuộc tấn công có thể có cả hai tác động và có thể áp đặt những ảnh hưởng cao nhất có thể lên toàn bộ Internet. Loại này được đặt tên là tấn công cơ sở hạ tầng. Chúng ta sẽ đề cập đến loại tấn công này trong nghiên cứu của mình. Trong bài luận cũng sẽ giới thiệu một loại tấn công khác được gọi là tấn công zero-day, nơi mà các tác động của cuộc tấn công không xác định. Dưới đây là sơ đồ mô tả sự phân loại các kiểu tấn công DDoS. 4 Hình 1.1: Phân loại các kiểu tấn công DDoS 1.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) đượ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: - Tấn công tràn băng thông (Flood attack) - Tấn công khuếch đại (Amplification attack) 1.2.1.1 Tấn công tràn băng thông (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 5 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. 1.2.1.2 Tấn công khuếch đại (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. 6 Hình 1.2: 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 Điều khiển các agent hay client tự gửi message đến một địa chỉ IP broadcast làm cho tất cả các máy trong subnet này gửi message đến hệ thống dịch vụ của mục tiêu làm gia tăng traffic không cần thiết và làm suy giảm băng thông mục tiêu. Trong Smurf Attack, cần có ba thành phần: hacker (người ra lệnh tấn công), mạng khuếch đại (sẽ nghe lệnh của hacker) và nạn nhân. Hacker sẽ gửi các ICMP echo request packets đến địa chỉ broadcast của mạng khuếch đại. Điều đặc biệt là các ICMP echo request packet này có địa chỉ IP nguồn chính là địa chỉ IP của nạn nhân. Khi các packet đó đến được địa chỉ broadcast của mạng khuếch đại, lập tức tất cả các máy tính trong mạng khuếch đại sẽ nhận được các packet này. Các máy này tưởng rằng máy tính nạn nhân đã gửi ICMP echo request packets đến (do hacker đã làm giả địa chỉ IP nguồn), lập tức chúng sẽ đồng loạt gửi trả lại hệ thống nạn nhân các ICMP reply echo request packet. Hệ thống máy nạn nhân sẽ không chịu nổi một khối lượng khổng lồ packet và nhanh chóng bị ngừng hoạt động, crash hoặc reboot. Như vậy có thể thấy rằng hacker chỉ cần gửi một lượng nhỏ các ICMP echo request packets đi, và hệ thống mạng khuếch đại sẽ khuếch đại lượng ICMP echo request packet này lên gấp bội. 7 - 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. 1.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. 1.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 1.3: 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ó 8 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.4: 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.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. 9 - 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.2.3 Tấn công cơ sở hạ tầng Loại tấn công DDoS thảm khốc nhất là tấn công cơ sở hạ tầng. Mục đích của cuộc tấn công này là làm hư hại các yếu tố quan trọng của Internet. Do đó, nó không chỉ nhắm vào băng thông của mạng mà còn là các tài nguyên (bộ nhớ, CPU) của hệ thống đích. Ví dụ, tấn công cơ sở hạ tầng nhắm vào DNS, đặc biệt là DNS gốc vì chúng là các điểm dịch vụ phân cấp hàng đầu và cung cấp dịch vụ cho tất cả người dùng Internet trên toàn thế giới. Vì DNS duy trì cấu trúc phân cấp, một cuộc tấn công kiểu này chỉ nhắm vào các máy chủ tên gốc không thể gây ra những tác động quá nghiêm trọng đến dịch vụ Internet của toàn thế giới. Thông thường, kẻ tấn công sử dụng kỹ thuật lũ lụt DNS để khởi động tấn công. Trong cuộc tấn công lũ lụt DNS, đội quân tấn công bị xâm nhập hoặc botnet gửi các yêu cầu UDP bình thường đến máy chủ DNS. Tuy nhiên, số lượng yêu cầu như vậy là rất lớn mà nó tràn ngập hệ thống và cuối cùng tất cả các nguồn lực được tiêu thụ. Do đó, hệ thống từ chối tất cả các yêu cầu hợp pháp trong một khoảng thời gian đáng kể. Vào ngày 21 tháng 10 năm 2002, một cuộc tấn công cơ sở hạ tầng đã được đưa ra nhằm vào tất cả 13 máy chủ tên gốc. Cuộc tấn công này đã không đi ra như là một thành công nhưng đã giới thiệu cuộc tấn công kiểu này. Gần đây, chính xác sau 14 năm, vào ngày 21 tháng 10 năm 2016, cuộc tấn công DDoS lớn nhất đã nhắm đến một cơ sở hạ tầng chính được gọi là Dyn DNS. Hệ thống này cung cấp dịch vụ phân giải địa chỉ DNS cho hơn 3.500 doanh nghiệp. , Linkedin, v.v. Nó cung cấp dịch vụ hiệu suất cao với cơ sở hạ tầng DNS được quản lý bao gồm nhiều trung tâm dữ liệu nằm ở nhiều châu lục. Nó có khả năng phân tích 3 tỷ điểm dữ liệu mỗi ngày. Theo nguồn tin Dyn, trong mỗi tháng, các cuộc tấn công DDoS đáng kể được phát hiện và giảm thiểu bởi các chuyên gia DNS có kinh nghiệm của Dyn. Tuy nhiên, điều trớ trêu là trong cuộc tấn công DDoS của tháng 10, hệ thống hiệu năng cao này đã giảm xuống trong một khoảng thời gian đáng kể. Những kẻ tấn công liên quan đến hàng triệu thiết bị IoT kém bảo đảm trong cuộc tấn công này không phải là máy tính mạnh mẽ mà là một 10 số thiết bị thông minh như tủ lạnh thông minh, webcam và máy quay video kỹ thuật số (DVR). Vì vậy, nó giới thiệu một mối đe dọa đáng kể trong thế giới an ninh mạng hiện tại. Điều này là do, hiện tại số lượng thiết bị IoT là 28,4 tỷ và con số này đang tăng lên với tốc độ lớn. Nó đã được báo cáo rằng để lây nhiễm các số lượng lớn các thiết bị, một phần mềm độc hại botnet mã nguồn mở, ‘‘ Mirai, ’’ được sử dụng. Phần mềm độc hại này được thiết kế để lây nhiễm các thiết bị IoT và khởi chạy các cuộc tấn công DDoS dựa trên hướng dẫn của kẻ tấn công. Cuối cùng, cuộc tấn công này lại mang lại sự cần thiết của một giải pháp hợp tác toàn cầu về các mối đe dọa của thế giới hiện tại. 1.2.4 Tấn công Zero-day Zero-day DDoS Attacks là tên được đặt cho các phương pháp tấn công DDoS mới, khai thác các lỗ hổng chưa được vá. Các tổ chức bảo mật hoặc công ty phần mềm tư nhân khác nhau đưa ra các khuyến khích và phần thưởng để báo cáo các lỗ hổng. Tác động và dấu hiệu của loại tấn công này cũng không được biết cho đến khi cuộc tấn công được thực hiện. 1.3 Tấn công DDoS Website Hiện nay những cuộc tấn công DDoS nhắm vào các trang web được thực hiện thường xuyên và hình thức ngày càng phức tạp. Theo thống kê hằng năm rất nhiều trang web bị tấn công và thiệt hại là rất lớn. Hình 1.5: Phân tích các trang web bị tấn công 11 Thông thường một cuộc tấn công xảy ra khi hacker thực hiện các hoạt động nhằm mục đích “food” network với một lượng thông tin khổng lồ. Khi ta nhập URL của một website nào đó vào trình duyệt, tức là ta đang gửi một request đến server máy tính của website đó. Về cơ bản thì mỗi một Sever chỉ có khả năng xử lý một số lượng reqquest nhất định được gửi đến trong cùng một lúc. Lợi dụng đặc điểm này, kẻ tấn công sẽ khuếch đại số request lên với khối lượng khổng lồ khiến cho server mất khả năng xử lí lượng reqquest này và ta không thể truy cập trang web đó. Trong một cuộc tấn công từ chối dịch vụ phân tán (DDoS), kẻ tấn công sẽ tiến hành sử dụng máy tính nhiễm mã độc để tấn công một máy tính khác, lợi dụng các lỗ hổng và điểm yếu về bảo mật, kẻ tấn công sẽ chiếm đoạt kiểm soát rất nhiều máy tính có hệ thống bảo mật yếu. Sau khi đã nắm trong tay toàn quyền điều khiển, hacker sẽ buộc máy tính đó gửi đi một lượng lớn dữ liệu tới trang web mục tiêu. Tấn công DDoS nhiều khi được sử dụng để che dấu cuộc tấn công mạng phía sau. Trong khi trang web đang bị tấn công, đội ngũ nhân lực về an ninh mạng bên trong và bên ngoài thường tập trung vào việc ngắt các trang web này, làm sạch lưu lượng và cho nó hoạt động trở lại. Những nỗ lực to lớn này lại mang lại một cơ hội to lớn cho một chuỗi tấn công ẩn ở cổng sau (back door) và chèn vào các công cụ SQL. Như vậy, tấn công DDoS chỉ là màn chắn cho các hoạt động bất thường này mà thôi. Một cuộc tấn công DDoS vào một website có thể chia ra làm hai cách như sau: 1.3.1 Tấn công vào máy chủ cài webserver Để tấn công một website nào đó hiện này kẻ tấn công thông thường sẽ nhắm đến máy chủ cài đặt website đó, dưới đây là một số hình thức tấn công phổ biến: 1.3.1.1 UDP Flood UDP (User Datagram Protocol) là một giao thức kết nối không tin cậy. Một cuộc tấn công gây ngập lụt UDP có thể được bắt đầu bằng cách gửi một số lượng lớn các gói tin UDP tới cổng ngẫu nhiên trên một máy chủ và kết quả là các máy chủ sẽ : 12  Kiểm tra các ứng dụng với cổng;  Thấy rằng không có ứng dụng nghe ở cổng;  Trả lời với một ICMP Destination Unreachable gói. Như vậy, hệ thống nạn nhân sẽ bị buộc nhận nhiều gói tin ICMP, dẫn đến mất khả năng xử lý các yêu cầu của các khách hàng truy cập thông thường. 1.3.1.2 SYN Flood Kiểu tấn công TCP SYN flood là một kiểu tấn công trực tiếp vào máy chủ bằng cách tạo ra một số lượng lớn các kết nối TCP nhưng không hoàn thành các kết nối này. Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn khả năng đáp lại – kết nối không được thực hiện. 1.3.1.3 Reflected Attack Reflected Attack hay còn gọi là tấn công ánh xạ được thực hiên bằng cách gửi càng nhiều gói tin với địa chỉ giả mạo đến càng nhiều máy tính càng tốt. Các máy tính nhận được các gói tin sẽ trả lời, nhưng tin trả lời này tới địa chỉ nạn nhân bị giả mạo. Tất nhiên các máy tính này sẽ cố gắng trả lời ngay lập tức làm trang web bị ngập lụt đến khi tài nguyên máy chủ bị cạn kiệt. 1.3.1.4 Unintentional DDoS Unintentional DDoS hay còn gọi là sự gia tăng không chủ ý. Nó xảy ra khi có sự tăng đột biến trong lưu lượng web khiến máy chủ không thể xử lý tất cả các yêu cầu đến. Càng nhiều lưu lượng truy cập xảy ra, càng nhiều tài nguyên được sử dụng. Điều này khiến thời gian tải trang hết hạn và cuối cùng server sẽ không phản hồi và ngừng kết nối. 1.3.1.5 Slowloris Loại tấn công từ chối dịch vụ phân tán này rất khó để phát hiện và hạn chế. Sự việc đáng chú ý nhất là vụ tấn công trong cuộc bầu cử tổng thống Iran năm 2009. Loại tấn công này có kĩ thuật tương tự như SYN flood (tạo nửa kết nối để làm cạn kiệt tài nguyên máy chủ) nhưng diễn ra ở lớp HTTP (lớp ứng dụng). Để tấn công, 13 tin tặc gửi yêu cầu HTTP đến máy chủ, nhưng không gửi toàn bộ yêu cầu, mà chỉ gửi một phần (và bổ sung nhỏ giọt, để khỏi bị ngắt kết nối). Với hàng trăm kết nối như vậy, tin tặc chỉ tốn rất ít tài nguyên, nhưng đủ để làm treo máy chủ, không thể tiếp nhận các kết nối từ người dùng hợp lệ. 1.3.2 Tấn công trực tiếp vào website Cách tấn công trực tiếp vào website này thường dùng cho các cuộc tấn công nhỏ lẻ và nhắm vào các lỗ hổng của các ứng dụng web điển hình là các cách tấn công sau : 1.3.2.1 Application Level Attacks Application level attacks nhằm vào mục tiêu là các ứng dụng có nhiều lỗ hổng. Thay vì cố gắng gây lụt toàn bộ máy chủ, kẻ tấn công sẽ tập trung tấn công vào một hoặc một vài ứng dụng. Các ứng dụng email dựa trên web, WordPress, Joomla và phần mềm diễn đàn là những ví dụ điển hình về các mục tiêu cụ thể của ứng dụng 1.3.2.2 Degradation of Service Attacks Degradation of Service Attacks hay còn gọi là tấn công làm suy giảm dịch vụ. Mục đích của cuộc tấn công này là làm chậm thời gian đáp ứng của website. Thông thường một cuộc tấn công DDoS nhằm mục đích khiến trang web không thể thực hiện tác vụ thông thường. Nhưng mục tiêu của kiểu tấn công này là để làm chậm thời gian phản hồi xuống mức hầu hết mọi người không thể sử dụng được trang web. Máy tính Zombie được sử dụng để làm tràn máy tính mục tiêu với lưu lượng truy cập độc hại, nó sẽ gây ra các vấn đề về hiệu suất và thời gian tải trang. Những loại tấn công này có thể khó phát hiện vì mục tiêu không phải là để đưa trang web ngừng kết nối, nhưng để làm giảm hiệu suất. Chúng thường bị lẫn lộn với sự gia tăng lưu lượng sử dụng website. 1.4 Xây dựng Botnet Để xây dựng một mạng botnet đòi hỏi những kỹ năng nhất định về lập trình. Hiện nay có khá nhiều tài liệu nói về kiến thức, cách xây dựng mạng botnet với ai có nhu cầu quan tâm và học hỏi, để nắm được cách thức hoạt động của nó.
- Xem thêm -

Tài liệu liên quan