- -
ĐẠ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à
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
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.
các kỹ thuật như UDP, SYN và một số dạng flood khác. Tuy nhiên nó còn có thể kết nối
internet thông qua mạng Relay Chat (IRC) hoặc AOL's ICQ. Trinity thường sử dụng các
cổng 6667 và cũng có thể là 1 chương trình backdoor lắng nghe ở cổng 33270 qua kết
nối TCP
1.4.6 Knight
Knight là một cộng cụ hoạt động trên hệ điều hành windows. Knight cung cấp các
kỹ thuật tấn công như UDP flood, SYN flood. Và nó có thể tự động update thông qua
các giao thức http hoặc ftp. Knight được cài đặt sử dụng Trojan thông qua chương trình
backdoor được gọi là Back Oifice. Knight được sử dụng trong mô hình IRC-Based
1.4.7 Kaiten
Kaiten chính là biến thể của Knight. Kaiten hỗ trợ các kỹ thuật tấn công như UDP
flood, TCP flood, SYN. Có khả năng giả mạo địa chỉ IP. Kaiten cũng là công cụ được
sử dụng trong mô hình IRC-Based
Chương 2 : CÁC CỞ SỞ PHÂN TÍCH PHÁT HIỆN DDOS
- -
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 phát hiện DDos này thường sử dụng rất nhiều phương thức để dò
tìm và phát hiện. Thông thường các công cụ này so sánh lưu lượng hiện tại với lưu
lượng có thể chấp nhận được. Công nghệ này vẫn còn có một vài thiếu sót. Trước tiên,
ngưỡng này thường đặt tĩnh và yêu cầu người sử dụng phải cấu hình để phù hợp với
mọi môi trường, tuy nhiên sẽ khó có thể thay đổi thích ứng với môi trường mới. Thứ
hai, chỉ có một số ít các ngưỡng được thiết lập vì sự thống kê chi tiết các giao thức
không có giá trị cho người sử dụng. Thứ 3, ngưỡng chỉ áp dụng ở mức độ tổng hợp cao.
Sự thiếu sót này có thể dẫn tới sự đánh giá sai về tính rõ ràng và tính phủ định của hệ
lưu lượng mạng tại nạn nhân sẽ trở nên rất cao và tất nhiên sẽ dẫn đến tình trạng không
thể cung cấp được các dịch vụ. Tuy nhiên, thông thường việc phát hiện và phản ứng lại
tại nạn nhân thường muộn và vào lúc cuộc tấn công đang ở mức cao. Nạn nhân lựa chọn
tắt server và sau đó liên hệ với các ISP. Các ISP sau khi đã nhận được lời đề nghị của
nạn nhân sẽ tiến hành đẩy ngược 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 vậy, cần có một cơ chế phát hiện thật nhanh để gửi thông điệp trong
giai đoạn tấn công.
2.3.2 Một số thuật toán phát hiện DDos
- -
Thực tế đã chứng minh, khi các cuộc tấn công DDos xảy ra. Lập tức phân tích sẽ
thấy được lưu lượng mạng rất khác thường. Do đó hầu hết các thuật toán phân tích phát
hiện tấn công DDos hiện nay đều dựa trên tính khác thường của lưu lượng mạng. Một
số các công nghệ thống kê được áp dụng để tiến hành phân tích, thống kê những lưu
lượng tải làm việc để phát hiện. Từ những kỹ thuật phân tích này, sẽ có những thuật
toán phát hiện để đưa ra các tham số hoặc công nghệ thống kê, các mức độ nguy hiểm
của cuộc tấn công.
- Thông số kiểm tra: Thông số kiểm tra được dùng để
phân loại các thuật toán như số lượng lớn lưu lượng, số địa chỉ IP
mới hoặc tỷ lệ các gói tin đến và đi trong mạng.
- Công nghệ thống kê: Sử dụng các thuật toán thống kê để
phân tích mạng. Ví dụ như ngưỡng giới han phù hợp, phát hiện
điểm thay đổi và phân tích wavelet.
- Mức độ phân tích: Khi phân tích các chi tiết các thông
số, các mức độ nguy hiểm sẽ được gán.
Sau đây, tôi sẽ giới thiệu tổng quan về các thuật toán phát hiện DDos hiện nay .
Nếu muốn tìm hiểu kỹ hơn về các thuật toán nêu ở dưới thì có thể tham khảo trong [4]