Chương 1: Tổng quan về tấn công từ chối dịch vụ phân tán Chƣơng này trình bày tổng quan về DDoS, các cách thức khác nhau mà kẻ tấn công thực hiện một tấn công DDoS. Chương 2: Tấn công từ chối dịch vụ tốc độ thấp TIEU LUAN MOI download : skknchat@gmail.com 9 Chƣơng này trình bày tấn công LDoS và đề xuất cơ chế hỗ trợ router để chống lại loại tấn công này. Chương 3: Phân tích giải thuật RRED Chƣơng này trình bày sơ đồ mạng đƣợc dùng trong các mô phỏng, phân tích chƣơng trình mô phỏng thuật toán RRED, các kết quả mô phỏng thu đƣợc. Chương 4: Đề xuất cải tiến Chƣơng này trình bày 2 giải pháp nhằm cải thiện hiệu năng của thuật toán RRED, so sánh hiệu năng của thuật toán mới với thuật toán RRED gốc và các biến thể của RRED.
TIEU LUAN MOI download : skknchat@gmail.com 10 Chƣơng 1: TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN Một tấn công từ chối dịch vụ phân tán (DDoS – Distributed Denial of Service) [7, 13] cần phải đƣợc chuẩn bị kỹ càng bởi kẻ tấn công. Ở bƣớc thứ nhất, kẻ tấn công sẽ điều khiển các máy trạm khác bằng cách tìm kiếm các máy trạm có lỗ hổng dễ bị tấn công, sau đó xâm nhập vào các máy này và cài đặt mã tấn công. Bƣớc tiếp theo là thiết lập các kênh giao tiếp với các máy này, bởi vậy các máy này có thể đƣợc chỉ đạo và phối hợp trong cuộc tấn công. Kẻ tấn công có thể thực hiện việc này bằng cách áp dụng mô hình máy kiểm soát/máy tấn công hoặc với một bộ điều khiển và điều khiển các kênh giao tiếp thông qua mạng IRC [8].
Một khi mạng tấn công DDoS đƣợc xây dựng, nó có thể đƣợc sử dụng để tấn công nhiều lần đến các máy nạn nhân khác nhau.1 Thiết lập mạng tấn công Phụ thuộc vào mỗi kiểu tấn công DoS, kẻ tấn công cần phải tìm ra và thiết lập một mạng với số lƣợng các máy đủ lớn. Công việc này có thể đƣợc thực hiện một cách thủ công, bán tự động hoặc tự động hoàn toàn. Đối với Trinoo và Shaft là hai công cụ DDoS đƣợc nhiều ngƣời biết đến, chỉ có việc cài đặt là tự động trong khi việc phát hiện và khai thác các máy có lỗ hổng đƣợc thực hiện một cách thủ công [13, ch. Cho đến nay những kẻ tấn công thƣờng sử dụng các tệp tin kịch bản để tự động hoá tất cả các khâu đó.1 Tìm kiếm các máy có lỗ hổng Quá trình tìm kiếm các máy có lỗ hổng gọi là “quét”.
Kẻ tấn công gửi một vài gói tin đến máy nạn nhân để kiểm tra xem máy nạn nhân có đang hoạt động và có lỗ hổng hay không, nếu có, kẻ tấn công sẽ cố gắng xâm nhập vào máy nạn nhân [13, ch.2 Xâm nhập vào máy có lỗ hổng Kẻ tấn công cần phải khai thác các lỗ hổng của các máy mà anh ta định cài chƣơng trình tấn công vào nhằm mục đích chiếm lấy quyền truy cập vào máy. Phần lớn các lỗ hổng có thể cho phép kẻ tấn công truy cập vào hệ thống với quyền của ngƣời quản trị (administrator), và anh ta có thể thêm, xoá, sửa các tập tin hoặc cấu hình của hệ thống. Để cho việc truy cập vào hệ thống các lần sau đƣợc dễ dàng, kẻ tấn công thƣờng cài đặt và khởi động một chƣơng trình “lắng nghe” các kết nối ở một cổng nhất định, chƣơng trình này gọi là “cửa sau”. Truy cập thông qua cửa sau có khi đƣợc bảo vệ bởi mật khẩu mạnh, trong các trƣờng hợp khác lại đƣợc mở rộng và đáp ứng bất kỳ yêu cầu kết nối nào.
Mặc dù các lỗ hổng đã đƣợc phát hiện thƣờng đƣợc sửa chữa và làm cho an toàn hơn bằng các bản vá, kẻ tấn công vẫn sẽ cố gắng khai thác và tìm ra các lỗ hổng an ninh khác mà máy nạn nhân có thể có. Mật khẩu yếu là một lỗ hổng không thể giải quyết đƣợc bằng các bản vá. Một số chƣơng trình khai thác lỗ hổng có một danh sách các mật khẩu yếu hoặc thông dụng, chúng cố gắng áp dụng các mật khẩu này để xâm nhập vào máy nạn nhân sử dụng phƣơng pháp thử lần lƣợt từng mật khẩu hoặc sử TIEU LUAN MOI download : skknchat@gmail.com 11 dụng phƣơng pháp Brute-Force. Nó có thể mất nhiều thời gian nhƣng trong một số trƣờng hợp, các mật khẩu này đƣợc chấp nhận và kẻ tấn công sẽ giành đƣợc quyền truy cập máy nạn nhân một cách hợp pháp.
Ngƣời dùng thƣờng nghĩ rằng không đặt mật khẩu cho tài khoản Administrator là hợp lý, hoặc mật khẩu là “password” hoặc một từ đơn giản nào khác là đủ để bảo vệ tài khoản.3 Phƣơng thức phát tán mã độc hại Kẻ tấn công cần phải quyết định một phƣơng thức phát tán cho việc cài đặt mã độc của anh ta. Một mô hình phát tán mã độc đơn giản đó là mô hình kho chứa trung tâm: kẻ tấn công đặt mã độc vào một kho chứa tệp (chẳng hạn một máy chủ FTP) hoặc là một website và mỗi máy nạn nhân tải mã độc từ kho chứa này. Với mô hình kho chứa trung tâm này ngƣời bị hại có thể dễ dàng xác định đƣợc kho chứa trung tâm và loại bỏ nó. Kẻ tấn công cài đặt chƣơng trình Trinoo và Shaft sử dụng mô hình trung tâm này trong thời kỳ đầu của DoS.
Sâu máy tính “W32/Leaves” năm 2001 và sâu “W32 / SoBig” năm 2003 sử dụng một loạt các sites có thể cấu hình đƣợc làm kho chứa với mô hình này [13, ch.1: Phát tán mã độc với mô hình kho chứa trung tâm Kỹ thuật này thực hiện một câu lệnh để truyền một bộ công cụ tấn công từ một vị trí trung tâm đến máy nạn nhân và đƣợc gọi là sự phát tán mã độc trung tâm. Các tệp tin kịch bản sau đó sẽ điều khiển quá trình cài đặt tự động các công cụ và khởi tạo một vòng tấn công mới. Kỹ thuật truyền tệp tin thƣờng sử dụng là giao thức HTTP, FTP và RPC. Sâu “1i0n” cũng sử dụng mô hình phát tán mã độc trung tâm này [7, tr.
Một mô hình khác là mô hình chuỗi dây xích, trong đó kẻ tấn công mang theo công cụ tấn công từ một máy bị hại khởi đầu tới các máy bị hại ngay sau đó. TIEU LUAN MOI download : skknchat@gmail.2: Mô hình phát tán mã độc dây xích Kỹ thuật này thực hiện một câu lệnh để truyền một bộ công cụ tấn công từ máy đang tấn công đến máy nạn nhân. Để thực hiện đƣợc điều này, các công cụ tấn công trên máy tấn công bao gồm một vài phƣơng thức để chấp nhận kết nối từ máy nạn nhân và truyền một tệp tin đến máy nạn nhân. Ƣu điểm của mô hình này là nó có thể tồn tại tốt hơn so với mô hình phát tán mã độc trung tâm vì không có một vị trí trung tâm, tất cả các vị trí trong mô hình dây xích đều có thể truyền tệp tin đƣợc, nếu một vị trí bị phát hiện không ảnh hƣởng nhiều đến hoạt động của phƣơng thức tấn công này.
Sâu “ramen” sử dụng phƣơng thức phát tán mã độc dây xích này [7, tr.3: Phương thức phát tán mã độc tự trị Phƣơng thức phát tán mã độc tự trị kết hợp quá trình phát tán và quá trình khai thác lỗ hổng trong một quá trình. Sự khác nhau của phƣơng thức này và phƣơng thức phát tán mã độc dây xích là quá trình khai thác bao gồm mã độc sẽ đƣợc phát tán đến site mới, hơn là thực hiện một thao tác copy mã độc đó sau khi khai thác lỗ hổng và xâm nhập đƣợc vào máy nạn nhân. Các sâu máy tính có trƣờng payload chứa một công cụ DDoS và cài đặt nó vào mỗi máy bị nhiễm. Các sâu máy tính hiện nay kết hợp mã lệnh khai thác và mã lệnh tấn công và đƣợc mã hoá yếu sử dụng các thanh ghi dịch trả về tuyến tính.
Việc mã hoá này đƣợc sử dụng để tránh sự phát hiện một tập các mã lệnh khai thác đã biết (chẳng hạn một dãy các câu lệnh NOOP) bởi các chƣơng trình diệt virus máy tính hoặc các phần mềm tƣờng lửa cá nhân. Một khi các mã này xâm nhập vào máy nạn nhân, nó sẽ tự giải mã và tiếp tục quá trình phát tán.2 Điều khiển mạng tấn công Khi mạng tấn công có số lƣợng máy đủ lớn, kẻ tấn công sẽ giao tiếp với các máy này để chỉ đạo chúng tấn công máy nạn nhân. Mục đích của việc giao tiếp này là TIEU LUAN MOI download : skknchat@gmail.com 13 kẻ tấn công thiết lập lệnh bắt đầu/kết thúc của một cuộc tấn công cụ thể và có thể thu thập các thông tin thống kê liên quan đến hoạt động của máy tấn công.1 Câu lệnh trực tiếp Một vài công cụ DDoS nhƣ Trinoo xây dựng một mạng bao gồm một vài máy kiểm soát (handler) và các máy tấn công (agents hay zombies). Kẻ tấn công điều khiển mạng này bằng cách gửi đi các lệnh đến các máy kiểm soát, các máy này sau đó lại trung chuyển các lệnh đến các máy tấn công.
Các lệnh có thể bao gồm văn bản thƣờng, văn bản mã hoá, giá trị số. Việc phân tích các lệnh này và lƣu lƣợng điều khiển giữa các máy kiểm soát và các máy tấn công có thể mang lại hiểu biết sâu sắc về công cụ tấn công mà không cần phải truy cập vào tệp tin thực thi của mã độc hay mã nguồn của nó.4: Kiến trúc của một tấn công DDoS TIEU LUAN MOI download : skknchat@gmail.5: Tấn công DDoS thông qua máy Stepping Stone Nhằm cản trở việc truy vết máy tấn công, kẻ tấn công có thể truy cập vào một số máy trung gian (gọi là stepping stone) trƣớc khi truy cập vào các máy kiểm soát nhƣ mô tả ở hình 1. Nhằm mục đích cho các máy kiểm soát và máy tấn công hoạt động (trong các công cụ nhƣ Trinoo, Stacheldraht, Shaft), các máy kiểm soát phải học đƣợc địa chỉ của các máy tấn công và nhớ các địa chỉ này ngay cả khi chƣơng trình hoặc máy tính khởi động lại. Các công cụ DDoS lúc đầu lƣu trữ địa chỉ IP của một máy kiểm soát và các máy tấn công phải thông báo cho máy kiểm soát này trong quá trình xây dựng mạng tấn công.
Thông thƣờng danh sách các máy tấn công đƣợc lƣu trong một tệp tin mà máy kiểm soát duy trì để lƣu giữ thông tin trạng thái của mạng tấn công. Trong một vài trƣờng hợp, không có sự xác thực một máy tính có phải là máy kiểm soát hay không (thực tế một máy tính bất kỳ có thể gửi lệnh tới một vài máy tấn công và chúng vẫn sẽ trả lời).