DoS là một phương pháp tấn công từ chối dịch vụ xuất hiện vào khoảng đầu những năm 90 của thế kỷ trước. Đầu tiên, chỉ gồm một kẻ tấn công khai thác băng thông tối đa từ nạn nhân, ngăn những người khác được phục vụ. Điều này được thực hiện chủ yếu bằng cách dùng các phương pháp đơn giản như ping floods, SYN floods và UDP floods. Sau đó, các cuộc tấn công trở nên phức tạp hơn, bằng cách giả làm nạn nhân, gửi vài thông điệp và để các máy khác làm ngập máy nạn nhân với các thông điệp trả lời. Với các phương thức tấn công như Smurf attack, IP spoofing, SYN attak, .v.v.
Mục đích của tấn công DoS là: cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập, khi đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng bình thường. Cố gắng làm ngắt kết nối giữa hai máy và ngăn chặn quá trình truy cập vào dịch vụ. Cố gắng chặn người dùng cụ thể vào một dịch vụ nào đó. Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy cập vào. Khi tấn công DoS xảy ra người dùng truy cập vào dịch vụ nào đó sẽ có cảm giác như dịch vụ đó đang bị tắt, không hoạt động hoặc hoạt động chậm. Tấn công DoS cũng có thể nhằm
49
phá hoại các hệ thống khác như, hệ thống điều hòa, hệ thống điện, hệ thống làm mát, .v.v. bởi ngày nay rất nhiều hệ thống được điều khiển thông qua hệ thống mạng. Một khi hệ thống mạng này bị tấn công DoS các lệnh điều khiển sẽ không được thực thi dẫn đến các hệ thống liên quan không thể hoạt động được, có thể gây hậu quả cực kỳ nghiêm trọng.
Một số hình thức tấn công DoS cơ bản như Smurf, Bufer Overflow Attack, Ping of death, Teardrop, SYN attack.
Smurf là một loại tấn công DoS điền hình (xem hình 3.1). Máy của kẻ tấn công sẽ gửi rất nhiều lệnh ping đến một số lượng lớn máy tính trong một thời gian ngắn, trong đó địa chỉ IP nguồn của gói tin gửi đi (ICMP echo) sẽ được thay thế bởi địa chỉ IP của nạn nhân, các máy tính này sẽ gửi trả lại gói tin trả lời (ICMP reply) đến máy nạn nhân. Kết quả là máy nạn nhân sẽ phải nhận một đợt tin trả lời (ICMP reply) rất lớn và làm cho mạng bị chậm hoặc bị ngắt, không có khả năng đáp ứng các dịch vụ khác.
Hình 3.1: Mô tả tấn công kiểu Smurf
Tấn công tràn bộ đệm (Buffer overflow attack) xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng bộ nhớ đệm trong bộ nhớ. Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình, đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm.
Tấn công kiểu Teardrop, trong mạng chuyển mạch gói, dữ liệu sẽ được chia thành nhiều gói tin nhỏ, mỗi gói tin có một giá trịo ffset riêng và có thể truyền đi theo nhiều đường khác nhau để tới đích. Tại đích, nhờ vào giá trị offset của từng gói tin mà dữ liệu lại được kết hợp lại như ban đầu. Lợi dụng việc này, kẻ tấn công có thể tạo ra nhiều gói tin có giá trị offset trùng lặp nhau gửi đến mục tiêu muốn tấn công. Kết quả là máy tính đích không thể sắp xếp được những gói tin này và dẫn tới bị treo máy vì phải xử lý quá nhiều.
Máy kẻ tấn công Máy chủ web
ping trả lời ping ping ping ping ping trả lời trả lời trả lời trả lời trả lời
50
Kiểu tấn công SYN, kẻ tấn công gửi các yêu cầu ảo TCP SYN tới máy chủ bị tấn công. Để xử lý lượng gói tin syn này hệ thống cần tốn một lượng bộ nhớ cho kết nối. Khi có rất nhiều gói tin syn ảo tới máy chủ và chiếm hết các yêu cầu xử lý của máy chủ. Khi đó, 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 yêu cầu TCP SYN hợp lệ, lúc này máy chủ không còn khả năng đáp lại vì bị chiếm hết các yêu cầu xử lý, do đó kết nối này không được thực hiện.