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
- - ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Thanh Tuấn NÂNG CẤP HỆ THỐNG PAC THÊM CHỨC NĂNG TỰ ĐỘNG XÁC ĐỊNH ĐỐI TƯỢNG TẤN CÔNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thông HÀ NỘI - 2010 - - ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Thanh Tuấn NÂNG CẤP HỆ THỐNG PAC THÊM CHỨC NĂNG TỰ ĐỘNG XÁC ĐỊNH ĐỐI TƯỢNG TẤN CÔNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thông Cán bộ hướng dẫn: Ths. Đoàn Minh Phương HÀ NỘI - 2010 LỜI CẢM ƠN Để hoàn thành bài luận tốt nghiệp, lời đầu tiên tôi xin bầy tỏ sự cám ơn tới ThS.Đoàn Minh Phương, người đã giúp tôi lựa chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp hướng dẫn tôi trong suốt quá trình hoàn thành luận văn tốt nghiệp. Tôi xin chân thành cám ơn các thầy cô trong khoa CNTT- trường Đại học Công nghệ - ĐHQG Hà Nội đã truyền đạt kiến thức cho tôi trong suốt khoảng thời gian 4 năm học tập tại trường. Trong quá trình hoàn thành luận văn tốt nghiệp, tôi đã nhận được rất nhiều sự giúp đỡ, động viên từ bạn bè. Đặc biệt là anh Hoàng Văn Quân (K49CB) người đã góp ý và cùng tôi giải quyết một số vấn đề trong luận văn. Tôi xin gửi lời cám ơn tới những người bạn luôn bên cạnh tôi để chia sẻ những kinh nghiệm trong học tập cũng như cuộc sống. Vũ Thanh Tuấn - - TÓM TẮT NỘI DUNG Trong luận văn tốt nghiệp này tôi chủ yếu giới thiệu về kỹ thuật phát hiện Ddos hiện nay và kỹ thuật ngăn chặn Ddos với giao thức Lan tỏa ngược. Có thể chia thành 4 phần chính. Phần thứ nhất là tổng quan và phân loại tấn công Ddos. Phần thứ 2 là các kỹ thuật phát hiện Ddos hiện nay và đi chi tiết vào kỹ thuật phát hiện Ddos sử dụng “Source IP Address Monitoring”. Phần cuối sẽ giới thiệu giao thức lan tỏa ngược và kết hợp với hệ thống phát hiện ddos mà tôi xây dựng. - - MỤC LỤC Vũ Thanh Tuấn 1 Vũ Thanh Tuấn 2 LỜI MỞ ĐẦU - - Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service-DDos) là một trong những phương pháp tấn công nguy hiểm nhất hiện nay. Việc ngăn chặn hoàn toàn Ddos rất khó có thể thực hiên được do các tính chất của một cuộc tấn công là phân tán trên toàn internet. Do vậy việc phát hiện càng sớm dấu hiệu của cuộc tấn công giúp chúng ta có thể hạn chế tối đa thiệt hại mà một cuộc tấn công Ddos gây nên. Trong luận văn này tôi sẽ xây dựng hệ thống tự động phát hiện và ngăn chặn một cuộc tấn công Ddos kết hợp giao thức lan tỏa ngược để giải quyết vấn đề vừa nêu ở trên. Chương 1: GIỚI THIỆU VỀ TẤN CÔNG DDOS - - 1.1. Khái niệm 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 một cùng 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 1.2. Cấu trúc mạng DDos 1.2.1 Tuyển mộ mạng Agent Trước tiên kẻ tấn công phải làm đó là xây dựng lên mạng botnet. Kẻ tấn công tiến hành thăm dò những máy tính nào dễ bị lợi dụng. Quá trình này được gọi là scaning. Scaning có thể được làm bằng tay do kẻ tấn công sử dụng các công cụ hỗ trợ scaning như nmap Các công cụ này đang ngày càng được phát triển hoàn thiện hơn. Một chương trình khác hỗ trợ scaning, nhưng được thực thi một cách hoàn toàn tự động để nhận dạng các máy dễ bị lợi dụng, chương trình này được gọi là internet worm. Các internet worm được thực thi hoàn toàn tự động và các thể dễ dàng lây nhiễm từ máy này sang máy khác. Một worm thường có 3 chức năng chính sau: + Scaning: Tìm kiếm các máy dễ bị lợi dụng + Khai thác: Tiến hành lây nhiễm và điều khiển từ xa + Tải kịch bản tấn công Các worm chọn lựa những địa chỉ để scaning ở các dạng sau: + Lựa chọn bất kì trong 32 bit của địa chỉ IP (IPv4). Hiệu quả của phương pháp này không cao do phải sử dụng rất nhiều địa chỉ IP để scan. + Sử dụng một dải địa chỉ bất kì đã được lựa chọn như chọn 8 bit hoặc 16 bit của địa chỉ IP (IPv4). Quá trình này được dùng để scan những mạng đơn lẻ hoặc một nhóm mạng trong cùng một thời điểm + Tạo ra một danh sách các địa chỉ IP ưu tiên và tiến hành scan. Trong khi scan sẽ bỏ qua những dải IP không tồn tại hoặc có độ bảo mật cao. - - + Sử dụng các thông tin trên máy bị nhiễm. Worm tiến hành phân tích và khai thác các log file trên máy bị nhiễm và scan. Ví dụ như một log file của web browser sẽ lưu trữ những địa chỉ mới truy cập vào website.và một file dùng để lưu trữ những địa chỉ IP đích được giao tiếp thông qua giao thức SSH Một chương trình máy khách được chạy nền trên máy tính bị hại được gọi là một bot, nó sẽ thông báo cho kẻ tấn công các thông tin trạng thái của các máy dễ bị lợi dụng và chờ đợi lệnh điều khiển từ kẻ tấn công để tấn công. 1.2.2 Điều khiển mạng Agent Khi số lượng Agent lớn, có thể lên đến hàng nghìn host. Kẻ tấn công phải có những phương pháp điều khiển mạng lưới Agent.Việc tìm ra những phương pháp tốt sẽ giúp kẻ tấn công dễ dàng thu thập dược các thông tin và hành vi của các Agent Ở đây có hai mô hình chính để kẻ tấn công điều khiển mạng lưới Agent 1.2.1.1 Agent-Handler Hình 1: Mô hình Agent-Handler Trong mô hình này, kẻ tấn công sẽ điều khiển mạng Handler. Các Hanlder sẽ trực tiếp điều khiển các Agent gửi các thông điệp tấn công nạn nhân. Trong mô hình này, kẻ tấn công có thể rất dễ bị phát hiện do các máy Handler phải lưu trữ các thông tin - - về Agent và các Agent phải lưu trữ thông tin về Handler. Do vậy việc truy tìm ngược lại kẻ tấn công hoàn toàn có thể thực hiện được. 1.2.1.2 Internet Relay Chat(IRC)-Based Hình 2: Mô hình IRC-Based Một mô hình khác được triển khai đó là sử dụng hệ thống Internet Relay Chat (IRC). Đầu tiên, Attacker (kẻ tấn công) và Agent sẽ truy cập vào IRC Server như một người dùng bình thường. Các Agent phải học các kênh truyền hiện tại, sau đó sẽ nhảy sang những kênh đó để nhận lệnh điều khiển từ kẻ tấn công thông. Trong mô hình này, kẻ tấn công truy cập vào IRC Server sẽ qua một máy khác, được gọi là Steeping stone để tránh bị phát hiện. 1.2.3 Cập nhật mailware - - Cũng như các phần mềm khác, các chương trình được cài đặt trên Handler hay Agent phải được thường xuyên cập nhật. Hầu hết các công cụ Ddos hiện nay đều yêu cầu kẻ tấn công gửi những dòng lệnh cập nhật trên các Handler và Agent bằng việc download các phiên bản mới hơn qua giao thức http. 1.3 Phân loại tấn công Ddos 1.3.1 Tấn công vào băng thông mạng Trong phương pháp này kẻ tấn công điều khiển mạng lưới Agent đồng loạt gửi các gói tin ICMP hay UDP đến nạn nhân làm cho băng thông mạng của nạn nhân bị quá tải và không thể phục vụ được. Ví dụ như trong trường hợp ICMP flood, nạn nhân sẽ phải gửi trả lại các gói tin ICMP_REPLY tương ứng. Do số lượng của Agent gửi đến nạn nhân rất lớn nên việc gửi lại các gói ICMP_REPLY dẫn đến nghẽn mạng. Trong trường hợp UDP flood cũng tương tự. Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng của nạn nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận. Hiện nay, với sự phát triển của các công cụ Ddos, hầu hết đều hỗ trợ giả mạo địa chỉ IP. 1.3.2 Tấn công vào giao thức Điển hình của phương pháp tấn công này là TCP SYN flood. Kẻ tấn công lợi dụng quá trình bắt tay 3 bước trong giao thức TCP. Kẻ tấn công liên tục khởi tạo kết nối TCP. Nạn nhân sẽ tiến hành gửi lại trả lời với SYN và ACK để chờ ACK từ phía máy khách. Tuy nhiên, kẻ tấn công sẽ không gửi ACK đến nạn nhân hay nói cách khác là sẽ không làm gì cả như quá trình bắt tay 3 bước. Cứ như vậy, nạn nhân sẽ tốn nhiều tài nguyên và bộ nhớ để chờ các phiên TCP. Do vậy nạn nhân sẽ không thể phục vụ được do tốn bộ nhớ đề chờ các kết nối ảo do kẻ tấn công khởi tạo. 1.3.3 Tấn công bằng những gói tin khác thường Trong phương pháp này, kẻ tấn công dựa vào các điểm yếu của giao thức mạng. Ví dụ khi tấn công Ping of Death. Kẻ tấn công sẽ gửi một số gói tin ICMP có kích thước lớn hơn kích thước giới hạn. Gói tin sẽ bị chia nhỏ, khi nạn nhân ghép lại nhận thấy rằng là gói tin quá lớn để xử lý. Kết quả là, hệ thống không thể xử lý được tình trạng bất thường này và sẽ bị treo. Một trường hợp khác như tấn công Lan Attack. Kẻ tấn công sẽ gửi các gói tin TCP SYN có địa chỉ nguồn, địa chỉ đích và số cổng giống nhau. Nạn nhân sẽ liên tục khởi tạo và kết nối với chính nó. Do vậy hệ thống sẽ bị treo hoặc bị chậm lại. - - [...]... Chương 5: TRIỂN KHAI HỆ THỐNG PHÁT HIỆN NGĂN CHẶN TỰ ĐỘNG KẾT HỢP GIAO THỨC LAN TỎA NGƯỢC 5.1 Đánh giá hiệu quả của hệ thống Do DDos là một cuộc tấn công rất nguy hiểm và có tính chất phân tán Trong thực tế một cuộc tấn công DDos có thể lên tới hàng nghìn host bị động tấn công nạn nhân Bởi vậy việc ngăn chặn hoàn toàn một cuộc tấn công DDos là vô cùng khó Hệ thống phát hiện và tự động ngăn chặn được... là đẩy lùi đến gần nguồn tấn công nhất Việc kết hợp hai phương pháp này sẽ có hiệu quả tương đối cao Những ưu điểm của hệ thống: - Tự động cảnh báo khi phát hiện có cuộc tấn công DDos - Chặn tự động những địa chỉ IP mới khi có cuộc tấn công - Chặn được khi có giả mạo địa chỉ IP - Hệ thống vẫn hoạt động khi router hàng xóm không hỗ trợ lan tỏa ngược Tuy nhiên bên cạnh đó hệ thống còn rất nhiều nhược... tấn công mới Do vậy, một hệ thống phát hiện Ddos thật sự hiệu quả khi phát hiện được hầu hết các kiểu tấn công Luôn đánh giá được hệ thống mạng khi có những dấu hiệu bất thường, phải cập nhật thường xuyên những kiểu tấn công mới để có biện pháp phát hiện nhanh nhất 2.2.2 Phản ứng - - Khi một cuộc tấn công DDos xảy ra Bước đầu tiên và cũng là quan trọng nhất là phát hiện chính xác các gói tin tấn công. .. 2.1 Hệ thống phát hiện DDos hiện nay Như chúng ta đã thấy, khả năng phát hiện một cuộc tấn công ngay lập tức sẽ ảnh hưởng rất lớn đến quá trình ngăn chặn và làm giảm đến mức thấp nhất tác hại mà một cuộc tấn công DDos gây ra Hiện nay các hệ thống phát hiện đang được phát triển và khá công phu Hầu hết đã phát hiện được các loại tấn công Dos và DDos nhưng khó có thể đạt được độ chính xác cao Những hệ thống. .. tính rõ ràng và tính phủ định của hệ thống phát hiện Thậm chí một phát hiện sự xâm hại có thể chặn nhầm một địa chỉ hợp lệ Do vậy, để hiệu quả một hệ thống phát hiện xâm nhập phải thêm nhiều tính năng để phát hiện và phân biệt một sự tấn công với các hoạt động bình thường 2.2 Các yêu cầu đối với môt hệ thống phát hiện DDos 2.2.1 Phát hiện nhiều cơ chế Hiện nay các hình thức tấn công Ddos rất đa dạng và... hiện ở trên, sử dụng ∆n=1s Tính toán các IP mới để biết được hệ thống có bị tấn công hay không Khi phát hiện bị tấn công sẽ tiến hành chặn những địa chỉ IP mới (theo giao thức lan tỏa ngược) Bởi vậy trong quá trình tấn công, những gói tin thường xuyên truy cập sẽ hoạt động bình thường và những gói tin tấn công sẽ bị chặn 5.3 Triển khai hệ thống Do đây mới là mô hình thí nghiệm nên việc triển khai cũng... vậy cho đến gần nguồn tấn công nhất Theo cơ hoạt động như trên thì giao thức lan tỏa ngược luôn truyền ngược lại và do quá trình lắng nghe từ các cạc mạng nên cho dù nguồn tấn công giả mạo địa chỉ IP thì luôn đến đươc gần nguồn tấn công nhất - - Hình 6: Cơ chế hoạt động của lan tỏa ngược 4.2.1 Khởi động Khi nạn nhân phát hiện tấn công từ chối dịch vụ tiến hành gửi yêu cầu khởi động lan tỏa ngược đến... hai hệ thống ngăn chặn tự động sẽ chặn những địa chỉ IP mới Chính vì thế có thể chặn nhầm những địa chỉ IP không thường xuyên lui tới nhưng tỷ lệ này sẽ rất thấp do kỹ thuật xây dựng IAD đã trình bày Một vấn đề nữa, do đây là hệ thống tự động ngăn chặn nên tôi sẽ để giao thức trong lan tỏa ngược với tham số là “all” Còn về thời gian sẽ thiết lập một tham số cố định - - 5.2 Cơ chế hoạt động Hệ thống. .. công Hệ thống phòng thủ phải đáp ứng trong thời gian thực, đặc biệt là tốc độ phản ứng phải cao Tránh trường hợp chặn nhầm gói tin hợp lệ 2.3 Phân tích phát hiện các cuộc tấn công DDos 2.3.1 Tổng quan về phát hiện các cuộc tấn công DDos - Phát hiện ở gần nguồn tấn công Giả sử tổng số lưu lượng để tắt một mạng là V, và lưu lượng một cuộc tấn công DDos là U.Chúng ta có thể dễ dàng phát hiện tấn công. .. lại lưu lượng tấn công tại các router Công việc này thường tốn rất nhiều thời gian Ví dụ khi nạn nhân phát hiện ra cuộc tấn công, một thông điệp sẽ được gửi đến các upstream router của nạn nhân Thông điệp bao gồm đích của lưu lượng tấn công, và 1 yêu cầu để lọc lưu lượng tấn công này Tuy nhiên, việc gửi thông điệp này trong thời gian ngắn nhất có thể là vô cùng quan trọng để ngăn chặn tấn công DDos Bởi . đ nh giá đư c h th ng m ng khi c nh ng dấu hiệu b t th ng, ph i c p nh t th ng xuy n nh ng kiểu t n c ng m i để c bi n ph p ph t hi n nhanh nh t .. Đ I H C QU C GIA H N I TRƯ NG Đ I H C C NG NGHỆ Vũ Thanh Tu n N NG C P H TH NG PAC TH M CH C N NG T Đ NG X C Đ NH Đ I T NG T N C NG KHOÁ LU N T T NGHIỆP