BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------
NGUYỄN ĐÌNH TÌNH
PHÁT HIỆN VÀ PHỊNG CHỐNG
XÂM NHẬP TRÁI PHÉP MẠNG MÁY TÍNH
LUẬN VĂN THẠC SĨ KỸ THUẬT
KỸ THUẬT MÁY TÍNH
Hà Nội – 2017
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------
NGUYỄN ĐÌNH TÌNH
PHÁT HIỆN VÀ PHỊNG CHỐNG
XÂM NHẬP TRÁI PHÉP MẠNG MÁY TÍNH
Chuyên ngành: KỸ THUẬT MÁY TÍNH
LUẬN VĂN THẠC SĨ KỸ THUẬT
KỸ THUẬT MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. NGUYỄN LINH GIANG
Hà Nội – 2017
LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứ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 ai
cơng bố trong bất kỳ cơng trình nào khác.
Tác giả
Nguyễn Đình Tình
i
DANH MỤC CÁC THUẬT NGỮ
1
ACK
Acknowledgement
2
DNS
Domain Name System
3
DOS
Denial of Service
4
DDOS
Distributed Denial of Service
5
FTP
File Transfer Protocol
6
HTTP
HyperText Transfer Protocol
7
ICMP
Internet Control Message Protocol
8
IDS
Intrusion Detection System
9
IP
Internet Protocol
10
IPS
Intrusion Prevention System
11
NAT
Network Address Translation
12
NTP
Network Time Protocol
13
UDP
User Datagram Protocol
14
RPC
Remote Procedure Call
15
TCP
Transmission Control Protocol
ii
MỤC LỤC
LỜI CAM ĐOAN ..................................................................................................... i
DANH MỤC CÁC THUẬT NGỮ .........................................................................ii
MỤC LỤC .............................................................................................................. iii
DANH MỤC CÁC BẢNG ...................................................................................... v
DANH MỤC HÌNH VẼ VÀ SƠ ĐỒ ..................................................................... vi
MỞ ĐẦU .................................................................................................................. 1
CHƢƠNG I: TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN
TÁN .......................................................................................................................... 3
1.1 Tấn công từ chối dịch vụ phân tán.....................................................................3
1.2 Lịch sử tấn công từ chối dịch vụ........................................................................4
1.3 Các giai đoạn của một cuộc tấn công DDOS ....................................................5
1.3.1 Giai đoạn chuẩn bị .......................................................................................5
1.3.1.1 Kỹ thuật scanning .................................................................................6
1.3.1.2 Cơ chế lây lan mã độc ...........................................................................9
1.3.2 Giai đoạn xác định mục tiêu và thời điểm tấn công .................................12
1.3.3 Giai đoạn phát động tấn cơng ....................................................................13
1.3.4 Giai đoạn xóa dấu vết ................................................................................13
1.4 Mơ hình kiến trúc tổng quan của DDOS attack-network ................................14
1.4.1 Mơ hình Agent-Handler ............................................................................14
1.4.2 Mơ hình dựa trên nền tảng IRC .................................................................16
CHƢƠNG II: PHÂN LOẠI CÁC DẠNG TẤN CÔNG DDOS ....................... 18
2.1. Dựa trên phương pháp tấn công......................................................................18
2.2. Dựa trên mức độ tự động ................................................................................19
2.3. Dựa trên giao thức mạng ................................................................................19
2.4. Dựa trên phương thức giao tiếp ......................................................................20
2.5. Dựa trên cường độ tấn công............................................................................21
2.6 Dựa trên việc khai thác các lỗ hổng an ninh ....................................................21
2.6.1 Tấn công gây cạn kiệt băng thông .............................................................21
2.6.2 Tấn công gây cạn kiệt tài nguyên ..............................................................25
CHƢƠNG III: PHÁT HIỆN VÀ NGĂN CHẶN DDOS ................................... 30
3.1 Yêu cầu đối với một hệ thống phát hiện và ngăn chặn DDoS .........................30
3.2 Các biện pháp phát hiện và ngăn chặn DDOS.................................................30
iii
3.2.1 Mơ hình đặt gần nạn nhân .........................................................................30
3.2.2 Mơ hình đặt gần nguồn tấn cơng ...............................................................31
3.2.3 Mơ hình đặt tại phần lõi của internet .........................................................32
3.3 Một số nghiên cứu về hệ thống ngăn chặn DDOS .........................................33
3.3.1 Giao thức Active Internet Traffic Filtering (AITF) ..................................33
3.3.2 Hệ thống D-WARD ..................................................................................35
CHƢƠNG IV: TRIỂN KHAI THÍ NGHIỆM PHƢƠNG PHÁP NGĂN
CHẶN DDOS SỬ DỤNG SNORT-INLINE ....................................................... 39
4.1 Phần mềm phát hiện và ngăn chặn xâm nhập Snort-inline..............................39
4.1.1 Các cơ chế hoạt động của Snort ................................................................40
4.1.2 Kiến trúc của Snort ....................................................................................41
4.1.3 Cấu trúc luật (rule) của Snort ....................................................................42
4.1.3.1 Cấu trúc của rule Header.....................................................................42
4.1.3.2 Cấu trúc của rule option ......................................................................43
4.2 Mơ hình triển khai ...........................................................................................49
4.2.1 Mơ hình khi hệ thống chưa có IPS ............................................................49
4.2.2 Giải pháp tích hợp Snort-inline vào hệ thống ...........................................51
4.3 Bước triển khai ................................................................................................52
4.3.1 Bước 1 .......................................................................................................52
4.3.2 Bước 2 .......................................................................................................52
4.3.3 Bước 3 ......................................................................................................53
4.4 Triển khai hệ thống ..........................................................................................53
4.4.1 Cài đặt hệ điều hành và các gói phụ thuộc ................................................53
4.4.2 Cài đặt các gói cần thiết cho snort .............................................................54
4.4.3 Cài đặt Snort ..............................................................................................55
4.4.4 Cài đặt Barnyard ........................................................................................56
4.5 Kết quả thí nghiệm...........................................................................................57
4.5.1 Kết quả bước 1 ..........................................................................................57
4.5.2 Kết quả bước 2 ..........................................................................................59
4.5.3 Kết quả bước 3 ..........................................................................................63
KẾT LUẬN .............................................................................................................. 66
TÀI LIỆU THAM KHẢO
iv
DANH MỤC CÁC BẢNG
Bảng 4. 1: Cấu trúc rule của Snort. ...........................................................................42
Bảng 4. 2: Cấu trúc rule header. ................................................................................42
v
DANH MỤC HÌNH VẼ VÀ SƠ ĐỒ
Hình 1. 1: Mơ hình lan truyền mã độc qua nguồn trung tâm ....................................10
Hình 1. 2: Mơ hình lan truyền mã độc theo kiểu chuỗi kết nối ngược .....................11
Hình 1. 3: Mơ hình lan truyền mã độc theo kiểu tự điều khiển ................................12
Hình 1. 4: Mơ hình DDOS attack-network ...............................................................14
Hình 1. 5: Mơ hình network attack kiểu Agent-Handler ..........................................15
Hình 1. 6: Mơ hình network attack kiểu IRC-Base...................................................17
Hình 2. 1: Mơ hình mạng botnet ...............................................................................23
Hình 2.2: Mơ hình tấn cơng thơng qua data center ...................................................24
Hình 2. 3: Mơ hình tấn cơng khuếch đại ...................................................................25
Hình 2.4: Mơ hình giao thức TCP SYN ....................................................................26
Hình 2.5: Mơ hình TCP SYN attack ........................................................................27
Hình 3. 1: Mơ hình đặt gần nạn nhân ........................................................................31
Hình 3. 2: Mơ hình đặt gần Attacker.........................................................................32
Hình 3. 3: Mơ hình đặt tại lõi của internet. ...............................................................32
Hình 3. 4: Mơ hình giao thức AITF ..........................................................................33
Hình 3. 5: Hoạt động của AITF ................................................................................34
Hình 3. 6: Mơ hình triển khai D-WARD ..................................................................36
Hình 3.7: Mơ tả dịng và kết nối ...............................................................................37
Hình 4.1: Netfilter và Snort-inline ............................................................................40
Hình 4.2: Sơ đồ luồng dữ liệu đi qua Snort ..............................................................41
Hình 4.3: Mơ hình mạng khi chưa có IPS .................................................................50
Hình 4.4: Sơ đồ luồng dữ liệu khi chưa có IPS.........................................................50
Hình 4.5: Mơ hình hệ thống tích hợp Snort-inline ....................................................51
Hình 4.6: Sơ đồ luồng dữ liệu khi tích hợp Snort-inline và Iptables ........................51
Hình 4.7: Tài ngun hệ thống khi chưa bị tấn cơng ................................................58
Hình 4.8: Truy cập vào web server ...........................................................................59
Hình 4.9: Sử dụng Slow POST HTTP request attack. ..............................................60
Hình 4.10: Tài nguyên hệ thống khi bị tấn cơng DDOS khoảng 2 phút. ..................60
Hình 4.11: Log apache khi bắt đầu tấn cơng được 2 phút ........................................61
Hình 4.12: Log hệ thống khi bị tấn công DDOS khoảng 2 phút. .............................61
Hình 4.13: Log hệ thơng sau khi tấn công khoảng 5 phút ........................................61
vi
Hình 4.14: Log cảnh báo nhận được khi hệ thống bị tấn cơng DDOS. ....................62
Hình 4.15: Access log của apache sever khi cuộc tấn cơng xảy ra ...........................62
Hình 4.16: Truy cập vào web server khi bị tấn cơng DDOS. ...................................62
Hình 4.17: Sử dụng Slow POST HTTP request attack. ............................................63
Hình 4.18: Log khi hệ thống chặn tấn cơng DDOS. .................................................64
Hình 4.19: Tài nguyên hệ thống sau 5 phút khi DDOS bị ngăn chặn.......................64
Hình 4.20: Truy cập vào web server khi DDOS attacks bị ngăn chặn. ....................65
vii
MỞ ĐẦU
An ninh thơng tin nói chung và an ninh mạng nói riêng đang là vấn đề được
quan tâm khơng chỉ ở Việt Nam mà trên toàn thế giới. Với tốc độ phát triển nhanh
chóng và khơng ngừng, internet trở thành khơng gian xã hội mới, nơi con người có
thể thực hiện các hành vi mang bản chất xã hội của mình, như giao tiếp, lao động,
sáng tạo, học tập, sản xuất, tiêu dùng và vui chơi giải trí. Đặc biệt là sự xuất hiện và
phát triển nhanh chóng của các kết nối không dây, kết nối mạng 3G, 4G, mạng xã
hội, các thiết bị di động thông minh và dịch vụ điện toán đám mây, con người tương
tác đa chiều hơn, phản ánh sinh động hơn, tức thời hơn mọi mặt đời sống và các
mối quan hệ xã hội lên internet.
Cùng với những lợi ích to lớn, các đe dọa từ không gian mạng đã trở thành
mối quan tâm hàng đầu của nhiều quốc gia. Sự phát triển công nghệ thơng tin, mức
độ tinh vi, khó lường của các tổ chức cũng như các cá nhân tham gia vào các hoạt
động bất hợp pháp trên không gian mạng, chuyên chống phá nhằm kiểm sốt thơng
tin, đánh cắp dữ liệu, gián đoạn hoạt động của tổ chức, doanh nghiệp ngày càng
tăng. Trong những năm gần đây có rất nhiều vụ tấn công DDOS (tấn công từ chối
dịch vụ phân tán) lớn, nhắm vào các hệ thống của các tổ chức chính phủ, qn đội,
an ninh hay các tổ hợp cơng nghiệp, thương mại điện tử lớn trên toàn thế giới gây ra
những thiệt hại to lớn về an ninh quốc phịng, kinh tế, chính trị làm mất ổn định xã
hội.
Từ đó, việc đảm bảo an ninh cho các hệ thống thông tin càng trở nên cấp
thiết hơn bao giờ hết. Các quốc gia, các tổ chức, doanh nghiệp cần phải có sự chuẩn
bị tốt nhất để ứng phó với các vụ tấn cơng bất ngờ và có biện pháp khắc phục kịp
thời để hạn chế tối đa các thiệt hại mà DDoS gây ra. Việc hiểu rõ các dạng tấn công
DDOS cũng như các biện pháp ngăn chặn là cần thiết. Với mong muốn tìm hiểu và
thử nghiệm phịng chống một số trường hợp tấn công DDOS nhằm giảm tác hại gây
ra với một số hệ thống phổ biến ở Việt Nam, tác giả đã chọn đề tài luận văn “ Phát
hiện và phòng chống xâm nhập trái phép mạng máy tính”.
Mục tiêu nghiên cứu và giới hạn của luận văn:
1
Nghiên cứu tìm hiểu một trong các loại tấn cơng mạng là tấn cơng DDOS
và tìm hiểu một số cơng cụ dùng để tấn cơng DDOS điển hình.
Tìm hiểu một số phương pháp phát hiện và ngăn chặn DDOS
Triển khai thí nghiệm hệ thống phát hiện và ngăn chặn DDOS dựa trên
phần mềm Snort-inlne.
Do tính đa dạng của các dạng xâm nhập trái phép mạng máy tính, cũng như
các phương pháp phát hiện và phịng chống cũng như vướng mắc về thời gian để
nghiên cứu, thử nghiệm các mơ hình, giải pháp mà luận văn đề cập đến là sử dụng
mơ hình gồm một máy tấn công DDOS (hacker) thực hiện tấn công vào một máy
chủ dịch vụ và tiến hành cài đặt hệ thống phát hiện, ngăn chặn tấn công DDOS trên
máy chủ này.
Nội dung luận văn gồm 4 chương được tổ chức như sau:
Chương I: Tổng quan về tấn công từ chối dịch vụ phân tán, các giai đoạn và
kiến trúc mạng của cuộc tấn công DDOS.
Chương II: Khảo sát một số dạng tấn cơng DDOS điển hình và một số cơng
cụ tấn cơng DDOS.
Chương III: Tìm hiểu về một số giải thuật phát hiện tấn công DDOS cũng
như một số hệ thống ngăn chặn DDoS đã được nghiên cứu.
Chương IV: Triển khai thí nghiệm hệ thống ngăn chặn DDoS sử dụng phần
mềm phát hiện và ngăn chặn xâm nhập Snort-inline.
Để hoàn thành luận văn, em xin chân thành cảm ơn các thầy giáo, cô giáo
trong Viện Công nghệ thông tin và Truyền thông – Đại Học Bách Khoa Hà Nội và
đặc biệt tác giả xin gửi lời cảm ơn sâu sắc đến PGS.TS Nguyễn Linh Giang đã tận
tình giúp đỡ và hướng dẫn hoàn thành luận văn này.
2
CHƢƠNG I:
TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN
1.1 Tấn công từ chối dịch vụ phân tán
Một cuộc tấn công từ chối dịch vụ là một nỗ lực (gây hại) của một người hay một
nhóm người làm nạn nhân (các máy chủ dịch vụ, các hệ thống mạng,...) không thể đáp
ứng các yêu cầu dịch vụ cho khách hàng hợp pháp. Khi nỗ lực này xuất phát từ một
máy chủ duy nhất của mạng, nó tạo thành một cuộc tấn cơng DDoS. Mặt khác, nó
cũng có thể được gây ra bởi rất nhiều máy chủ độc hại phối hợp để tấn công nạn nhân
với một sự phong phú của các gói tin tấn cơng và các cuộc tấn công diễn ra đồng thời
từ nhiều điểm. Kiểu tấn công này được gọi là tấn công từ chối dịch vụ phân tán
(DDoS).
Các cuộc tấn công từ chối dịch vụ thường có mục đích cố gắng làm cạn kiệt
tài ngun của nạn nhân. Những tài nguyên này có thể là băng thông mạng, khả
năng xử lý, hoặc hoạt động các cấu trúc dữ liệu hệ thống. Lượng tài nguyên này tùy
thuộc vào khả năng huy động tấn công của mỗi attacker. Để khởi động một cuộc tấn
công DDOS, đầu tiên attacker xây dựng một mạng lưới các máy tính mà họ sẽ sử
dụng để tạo ra lưu lượng cần thiết làm ngập lụt máy nạn nhân (hoặc làm cạn kiệt tài
ngun) từ đó làm cho máy nạn nhân khơng thể đáp ứng các yêu cầu dịch vụ từ phía
khách hàng. Để tạo ra mạng lưới tấn cơng này, attacker tìm kiếm các website hoặc
các host dễ bị tổn thương trên mạng. Host dễ bị tổn thương thường là những máy
tính không được bảo vệ bởi các phần mềm chống virut hoặc sử dụng các phần mềm
không được update các bản vá thường xuyên. Các host này sau đó được khai thác
bởi những kẻ tấn công để truy cập trái phép và chiếm quyền điều khiển. Các bước
tiếp theo cho kẻ xâm nhập là cài đặt các chương trình mới (gọi là công cụ tấn công)
trên các máy chủ này. Các máy chủ đang chạy các công cụ tấn công được gọi là
zombie, và họ có thể thực hiện bất kỳ cuộc tấn cơng dưới sự kiểm sốt của kẻ tấn
cơng. Nhiều zombies cùng nhau tạo thành một mạng tấn công.
3
1.2 Lịch sử tấn công từ chối dịch vụ
Các tấn công từ chối dịch vụ bắt đầu vào khoảng đầu những năm 90 của thế kỷ
XX. Đầu tiên, chúng hoàn tồn “ngun thủy”, bao gồm chỉ 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 flood,
SYN flood và UDP flood. 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 (Smurf attack, IP spoofing…).
Các tấn công này phải được đồng bộ hố một cách thủ cơng bởi nhiều kẻ tấn
cơng để tạo ra một sự phá huỷ có hiệu quả. Sự dịch chuyển đến việc tự động hoá sự
đồng bộ, kết hợp và tạo ra một tấn công song song lớn trở nên phổ biến từ 1998, với
sự ra đời của công cụ tấn công DDoS đầu tiên được cơng bố rộng răi, Trinoo.
Chương trình Trinoo Distributed Denial of Service (DDoS) được viết bởi Phifli. Nó
dựa trên tấn cơng UDP flood và các giao tiếp master-slave (điều khiển các máy
trung gian tham gia vào trong cuộc tấn công bằng cách cài đặt lên chúng các
chương trình được điều khiển từ xa). Kết quả là tháng 5 – 1999 trang chủ của FBI
đã ngừng họat động vì cuộc tấn cơng bằng DDOS;
Tháng 6 – 1999 Mạng Trinoo đã được cài đặt và kiểm tra trên hơn 2000 hệ thống.
Trong những năm tiếp theo, vài công cụ nữa được phổ biến – TFN (tribe flood
network), TFN2K, vaf Stacheldraht:
Cuối tháng 8 đầu tháng 9 năm 1999, Trible Flood Network đầu tiiên ra đời,
Chương trình được Mixter phát triển.
Cuối tháng 9 năm 1999, Công cụ Stacheldraht đã bắt đầu xuất hiện trên những
hệ thống của Châu âu và Hoa kỳ.
Ngày 21 tháng 10 năm 1999, David Dittrich thuộc trường đại học Washington
đã làm những phân tích về cơng cụ tấn cơng từ chối dịch vụ.
Ngày 21 tháng 12 năm 1999 Mixter phát hành Tribe Flood Network 2000 (
TFN2K ).
Sau đó một loạt các báo cáo về các vụ tấn công DDOS được biết đến:
4
Lúc 10 : 30 / 7 – 2 -2000, Yahoo! đã bị tấn công từ chối dịch vụ và ngưng trệ
hoạt động trong vòng 3 giờ đồng hồ. Web site Mail Yahoo và GeoCities đã bị tấn
công từ 50 địa chỉ IP khác nhau với những yêu cầu chuyễn vận lên đến 1 gigabit /s.
Ngày 8 -2-2000, nhiều Web site lớn như Buy.com, Amazon.com, eBay,
Datek, MSN, và CNN.com bị tấn công từ chối dịch vụ.
Lúc 7 giờ tối ngày 9-2-2000, Website Excite.com là cái đích của một vụ tấn
cơng từ chối dịch vụ, dữ liệu được luân chuyễn tới tấp trong vịng 1 giờ cho đến khi
kết thúc, và gói dữ liệu đó đã hư hỏng nặng.
Vào ngày 15 tháng 8 năm 2003, Microsoft đa chịu đợt tấn công DoS cực mạnh
và làm gián đoạn websites trong vòng 2 giờ;
Vào lúc 15:09 giờ GMT ngày 27 tháng 3 năm 2003: toàn bộ phiên bản tiếng
anh của website Al-Jazeera bị tấn công làm gián đoạn trong nhiều giờ.
Gần đây nhất là tháng 12-2015, hệ thống điện dân dụng của Ukraine bị đánh
sập làm gần 300 ngàn người dân bị mất điện trong nhiều ngày.
1.3 Các giai đoạn của một cuộc tấn công DDOS
Thông thường một cuộc tấn công DDOS gồm 3 giai đoạn:
Giai đoạn chuẩn bị, xác định mục tiêu và thời điểm tấn công
Giai đoạn phát động tấn cơng
Giai đoạn xóa dấu vết
1.3.1 Giai đoạn chuẩn bị
Chuẩn bị công cụ là giai đoạn quan trọng của cuộc tấn công, các công cụ này
thông thường hoạt động theo mơ hình client-server. Attacker có thể viết phần mềm
này hay tải từ internet một cách dễ dàng, có rất nhiều cơng cụ DDoS được cung cấp
miễn phí trên mạng.
Kế tiếp, các attacker sử dụng các kỹ thuật để tìm kiếm các host (hoặc các website,
các thiết bị mạng như router...) dễ bị tổn thương và chiếm quyền điều khiển trên các
thiết bị này để cài đặt các công cụ tấn cơng. Các cơng cụ này có khả năng tự động tấn
công đến mục tiêu và chúng liên kết với nhau tạo thành một mạng (mạng bot).
5
Để có thể tìm được các host để tạo nên mạng lưới tấn công và cài đặt các công
cụ tấn công vào các máy chủ này, Attacker sử dụng những cơng cụ (chương trình) đã
được phát triển sẵn, tự động tìm các hệ thống dễ bị tổn thương, đột nhập vào các hệ
thống này, và sau đó cài đặt các chương trình cần thiết cho cuộc tấn cơng. Sau đó, các
hệ thống đã bị nhiễm mã độc hại này lại tiếp tục lây nhiễm cho các máy tính dễ bị tổn
thương khác và cài đặt trên chúng những mã độc hại tương tự. Do đó việc tìm kiếm
các máy tính dễ bị tổn thương và xây dựng mạng lưới tấn cơng với quy mơ lớn được
thực hiện nhanh chóng và khá đơn giản. Kết quả của quá trình tự động tìm kiếm này
là việc tạo ra một mạng lưới tấn công DDoS bao gồm máy điều khiển - handler
(master) và các máy bị điều khiển - agent (slave, daemon). Các attacker có thể sử
dụng các kỹ thuật khác nhau (gọi là kỹ thuật quét - scanning) để tìm ra các host dễ bị
tổn thương.
1.3.1.1 Kỹ thuật scanning
Một số kỹ thuật scanning thường được sử dụng:
Quét ngẫu nhiên: Trong kỹ thuật này, các máy chủ bị nhiễm mã độc (một
máy như vậy có thể là máy của kẻ tấn cơng hoặc một máy tính thành viên của một
mạng tấn cơng, chẳng hạn như một zombie) thăm dò địa chỉ IP ngẫu nhiên từ không
gian địa chỉ IP và kiểm tra những host dễ bị tổn thương. Khi nó tìm thấy một host
dễ bị tổn thương, nó cố gắng truy xuất vào host này, chiếm quyền điều khiển và lây
nhiễm mã độc cho host này. Kỹ thuật này tạo ra lưu lượng truy cập đáng kể, bởi vì
quét ngẫu nhiên tạo ra một số lượng lớn các host bị chiếm quyền điều khiển. Một
lợi thế (những kẻ tấn công) của phương pháp này là chức năng quét mã độc hại có
thể lây lan rất nhanh chóng vì dường như chúng đến từ khắp mọi nơi. Tuy nhiên,
tốc độ phát tán nhanh của các mã độc hại không thể kéo dài mãi mãi. Sau một
khoảng thời gian ngắn, tốc độ lây lan giảm vì số lượng các địa chỉ IP mới có thể
được phát hiện ra là giảm theo thời gian. Điều này trở nên rõ ràng nếu chúng ta xem
xét phân tích của David Moore và Colleen Shannon về sự lây lan của Code-Red
(CRv2) Worm [7], trong đó sử dụng chức năng quét ngẫu nhiên để lây lan.
6
Quét theo danh sách tìm kiếm được: Trước khi những kẻ tấn công bắt đầu
quét, họ thu thập một danh sách của một số lượng lớn các host có khả năng dễ bị
tổn thương, việc làm này có thể mất nhiều thời gian. Trong nỗ lực để tạo ra một
mạng tấn công, họ bắt đầu quét danh sách để tìm máy dễ bị tổn thương. Khi hacker
tìm thấy một host, hacker cài đặt trên đó các mã độc hại và chia danh sách ra làm
hai phần và tiếp tục qt phần các danh sách cịn lại (phần khơng chứa host mới
phát hiện). Máy chủ mới nhiễm bắt đầu quét xuống danh sách của mình, cố gắng để
tìm thấy một host dễ bị tổn thương. Khi nó tìm thấy, nó thực hiện các thủ tục tương
tự như quá trình trên, và theo cách này các chức năng quét theo danh sách diễn ra
đồng thời từ một số lượng ngày càng tăng các host bị lây nhiễm. Cơ chế này đảm
bảo rằng mã độc hại được cài đặt trên tất cả các máy dễ bị tổn thương có trong danh
sách trong một thời gian ngắn. Việc xây dựng các danh sách được thực hiện trước
khi những kẻ tấn công bắt đầu qt. Do đó, những kẻ tấn cơng có thể tạo danh sách
với tốc độ rất chậm và trong một thời gian dài. Nếu những kẻ tấn công tiến hành
quét chậm, có thể hoạt động này sẽ khơng được nhận thấy bởi vì một quá trình quét
trong một mạng thường xảy ra ở tần số rất cao, do đó, khi một q trình qt chậm
được thực hiện thì rất khó có thể nhận ra rằng nó là một máy quét mã độc.
Qt tơpơ: Qt tơpơ sử dụng thơng tin tìm được trên máy tính nạn nhân
để tìm ra những mục tiêu mới. Trong kỹ thuật này, một host đã bị nhiễm mã độc tìm
kiếm các URL (Uniform Resource Locator) trên một máy tính mà nó muốn lây
nhiễm. Sau đó, nó lọc những URL và kiểm tra lỗ hổng của mục tiêu. Thực tế các
URL này là các máy chủ Web hợp lệ có nghĩa là các host đã chứa mã độc có thể
quét các mục tiêu trực tiếp từ đầu giai đoạn qt. Vì lý do đó, tính chính xác của kỹ
thuật này là rất tốt và hiệu quả của nó có thể là tương đương với kỹ thuật quét danh
sách. Do đó, chức năng quét topo có thể tạo ra một mạng lớn của những kẻ tấn công
vô cùng nhanh chóng và theo cách đó có thể đẩy nhanh sự lan truyền các mã độc
hại.
Quét mạng nội bộ: Đây là kỹ thuật quét hoạt động trong một vùng nằm
sau firewall được coi là vùng bị lây nhiễm bởi các chương trình quét mã độc. Các
7
host đã bị nhiễm mã độc tìm kiếm các mục tiêu trong mạng nội bộ của mình, sử
dụng các thơng tin được giấu trong các địa chỉ nội bộ. Cụ thể hơn, một bản sao duy
nhất của chương trình quét đang chạy phía sau firewall và cố gắng đột nhập vào tất
cả các máy dễ bị tổn thương. Cơ chế này có thể được sử dụng kết hợp với các cơ
chế quét khác.
Quét hoán vị: Trong kỹ thuật quét này, tất cả các máy chia sẻ một danh
sách hoán vị giả ngẫu nhiên chung của địa chỉ IP. Như một danh sách hốn vị có thể
được xây dựng bằng cách sử dụng bất kỳ thuật tốn mã hóa khối 32 bit với một
khóa chọn trước. Nếu một host đã bị nhiễm mã độc trong quá trình quét theo danh
sách hoặc quét mạng cục bộ, nó chỉ bắt đầu quét sau điểm của nó trong danh sách
hốn vị và qt danh sách này để tìm ra những mục tiêu mới. Mặt khác, nếu nó đã
bị nhiễm mã độc trong quá trình qt hốn vị, nó bắt đầu qt tại một điểm ngẫu
nhiên. Bất cứ khi nào nó gặp một host đã bị nhiễm mã độc, nó chọn một điểm khởi
đầu mới ngẫu nhiên trong danh sách hoán vị và tiếp tục từ đó. Một host đã bị nhiễm
mã độc có thể nhận ra một host khác cũng bị nhiễm mã độc giữa những host khơng
bị nhiễm , vì phản ứng khác nhau giữa host bị nhiễm và host không bị nhiễm. Quá
trình quét dừng lại khi các host nhiễm mã độc gặp tuần tự một số định sẵn các host
đã bị nhiễm mà khơng tìm thấy mục tiêu mới trong khoảng thời gian đó. Sau đó,
một khóa hốn vị mới được tạo ra và một giai đoạn mới bắt đầu quét. Cơ chế này
nhằm hai mục đích chính: thứ nhất, nó ngăn cản tái nhiễm khơng cần thiết của mục
tiêu giống nhau, vì khi một host bị nhiễm mã độc nhận ra một host khác cũng bị
nhiễm mã độc, nó thay đổi cách thức mà nó qt theo quy trình được mô tả trước
đây. Thứ hai, cơ chế này vẫn duy trì những lợi thế quét ngẫu nhiên, bởi vì các chức
năng quét các mục tiêu mới diễn ra một cách ngẫu nhiên. Do đó, kỹ thuật qt hốn
vị có thể được mô tả như là một kỹ thuật quét phối hợp với một hiệu suất rất tốt, bởi
vì cơ chế ngẫu nhiên cho phép tốc độ quét cao.
Một phiên bản cải tiến của kỹ thuật quét hoán vị là kỹ thuật quét hoán vị
phân vùng. Kiểu quét này là một sự kết hợp của quét hoán vị và quét theo danh
sách. Trong bước này, các host bị xâm nhập có một danh sách hốn vị, danh sách
8
này được chia làm hai phần khi nó tìm thấy một mục tiêu mới. Sau đó, nó giữ một
phần của danh sách và phần cịn lại là phần có chứa host vừa bị nhiễm mã độc. Khi
danh sách hoán vị mà một host đã bị nhiễm mã độc sở hữu giảm xuống dưới một
mức được xác định trước, các chương trình qt chuyển từ qt hốn vị phân vùng
sang qt vào hoán vị đơn giản.
1.3.1.2 Cơ chế lây lan mã độc
Trong DDoS, có ba nhóm cơ chế lây lan mã độc hại và xây dựng mạng lưới
tấn công gồm lan truyền nguồn trung tâm, lan truyền chuỗi kết nối ngược và lan
truyền tự điều khiển.
Lan truyền nguồn trung tâm: Trong cơ chế này, sau khi phát hiện các hệ
thống dễ bị tổn thương có khả năng trở thành một trong những zombie, những
hướng dẫn được gửi đến nguồn trung tâm chứa công cụ tấn công để một bản sao
của bộ công cụ tấn công được chuyển từ trung tâm này đến hệ thống (sẽ bị lây
nhiễm). Sau khi công cụ này được chuyển giao, trình cài đặt tự động của các cơng
cụ tấn cơng được kích hoạt trên hệ thống này, được điều khiển bởi các scrip. Điều
đó bắt đầu chu kỳ cuộc tấn công mới, nơi mà hệ thống mới nhiễm tìm kiếm các host
dễ bị tổn thương khác mà trên đó nó có thể cài đặt bộ cơng cụ tấn cơng bằng cách
sử dụng q trình tương tự như trên. Cũng giống như cơ chế truyền dữ liệu khác, cơ
chế này thường sử dụng các giao thức HTTP, FTP, RPC (Remote Procedure Call).
Cơ chế này được mô tả trong hình:
9
Hình 1. 1: Mơ hình lan truyền mã độc qua nguồn trung tâm
Lan truyền chuỗi kết nối ngược: Trong cơ chế này, các bộ công cụ tấn công
được chuyển giao cho các hệ thống mới bị tổn thương từ những kẻ tấn công.
Cụ thể hơn, các công cụ tấn công đã được cài đặt trên các kẻ tấn công bao
gồm các phương pháp đặc biệt để chấp nhận một kết nối từ hệ thống bị xâm
nhập và gửi một tập tin có chứa các cơng cụ tấn cơng. Cơ chế này thường sử
dụng các giao thức TFTP (Trivial File Transfer Protocol). Cơ chế này được
mơ tả trong hình:
10
Hình 1. 2: Mơ hình lan truyền mã độc theo kiểu chuỗi kết nối ngược
Lan truyền tự điều khiển: Trong cơ chế này, các máy chủ tấn công chuyển
các bộ công cụ tấn công đến hệ thống mới bị xâm nhập tại thời điểm chính
xác mà nó xâm nhập vào hệ thống đó. Cơ chế này khác với cơ chế đề cập
trước đó trong đó các cơng cụ tấn công được cài vào các máy chủ bị xâm
nhập bởi những kẻ tấn cơng mình và khơng phải bởi một nguồn tập tin bên
ngồi. Cơ chế này được mơ tả trong hình:
11
Hình 1. 3: Mơ hình lan truyền mã độc theo kiểu tự điều khiển [7]
1.3.2 Giai đoạn xác định mục tiêu và thời điểm tấn công
Sau khi xây dựng mạng lưới tấn công, kẻ tấn công sử dụng máy điều khiển để xác
định các loại tấn công, địa chỉ của nạn nhân và chờ đợi thời điểm thích hợp để phối hợp
các cuộc tấn công, chuyển hướng tấn công về phía mục tiêu. Yếu tố thời điểm sẽ quyết
định mức độ thiệt hại và tốc độ đáp ứng của mục tiêu đối với cuộc tấn công.
12
1.3.3 Giai đoạn phát động tấn công
Sau khi xác định mục tiêu và thời điểm tấn công, attacker gửi lệnh (từ xa)
khởi động các cuộc tấn công được lựa chọn đến các zombie để các zombie đồng
thời "thức dậy", như chúng đã được lập trình. Các zombie lần lượt gửi luồng gói tin
đến nạn nhân, từ đó làm ngập hệ thống của nạn nhân với lưu lượng băng thông lớn
hoặc làm cạn kiệt nguồn tài nguyên của của hệ thống. Bằng cách này, những kẻ tấn
công làm cho hệ thống của nạn nhân khơng có khả năng đáp ứng các dịch vụ cho
các khách hàng hợp pháp. Lưu lượng băng thơng có thể là q cao ở các mạng kết
nối đến các máy chủ tấn công làm cho hiệu suất hoạt động của các mạng này giảm.
Do đó việc cung cấp các dịch vụ trên các mạng này có thể bị ảnh hưởng nghiêm
trọng, và làm cho các khách hàng của các mạng này cũng có thể bị từ chối dịch vụ.
Như vậy, các mạng đã được gánh nặng bởi lưu lượng tấn cơng có thể được coi như
là một nạn nhân nữa của các cuộc tấn công DDoS.
1.3.4 Giai đoạn xóa dấu vết
Sau một khoảng thời gian tấn cơng thích hợp, attacker tiến hành xóa mọi dấu
vết có thể truy ngược đến mình, việc này địi hỏi attacker phải có kiến thức chun
mơn cao và nó gây khó khăn cho việc điều tra, xác định nguồn tấn công.
13
1.4 Mơ hình kiến trúc tổng quan của DDOS attack-network
Hình 1. 4: Mơ hình DDOS attack-network
1.4.1 Mơ hình Agent-Handler
Mơ hình này gồm có 3 thành phần: Client, Agent và Hander:
Client: là chương trình cơ sở để attacker điều khiển mọi hoạt động của
attack-network.
Agent: là thành phần phần mềm thực hiện sự tấn công mục tiêu, nhận điều
khiển từ Client thông qua các Handler.
Handler: là một thành phần phần mềm trung gian giữa Agent và Client.
14
Hình 1. 5: Mơ hình network attack kiểu Agent-Handler
Attacker sẽ từ Client giao tiếp với Handler để xác định số lượng Agent đang
online, điều chỉnh thời điểm tấn công và cập nhật các Agent. Tùy theo cách attacker
cấu hình attack-network, các Agent sẽ chịu sự quản lý của một hay nhiều Handler.
Thông thường Attacker sẽ đặt phần mềm Handler trên một bộ định tuyến hay
một máy chủ có lượng traffic lưu thông lớn. Việc này nhằm làm cho các giao tiếp
giữa Client, handler và Agent khó bị phát hiện. Các giao tiếp này thông thường xảy
ra trên các giao thức TCP, UDP hay ICMP. Chủ nhân thực sự của các Agent thông
thường không hề hay biết họ bị lợi dụng vào cuộc tấn công kiểu DDOS, do họ
không đủ kiến thức hoặc các chương trình Backdoor Agent chỉ sử dụng rất ít tài
ngun hệ thống làm cho hầu như khơng thể thấy ảnh hưởng đến hiệu năng của hệ
thống.
15
1.4.2 Mơ hình dựa trên nền tảng IRC
Internet Relay Chat (IRC) là một hệ thống liên lạc cấp tốc qua mạng Internet.
IRC được định nghĩa trong RFC (Request For Comment) 1459, 2810, 2811, 2813,
1324. IRC cho phép người dùng tạo một kết nối đa điểm đến nhiều người dùng khác
và chat thời gian thực. IRC protocol được đưa ra vào năm 1980, tiền thân của nó
dùng cho các thành viên trong mạng BBS (Bulletin Board System) trao đổi thông
tin với nhau, dần dần được cải tiến và trở thành giao thức chuẩn cho các chương
trình IRC.
Hiện nay IRC protocol được xây dựng trên nền tảng họ giao thức TCP/IP. Lý
do cho việc sử dụng họ giao thức này là tính chính xác, tin cậy, phổ biến, rất thích
hợp cho các cuộc thảo luận từ xa.
Các hệ thống IRC sử dụng mơ hình client - server. Trong đó máy đóng vai
trị server cung cấp một điểm tập trung cho các máy client kết nối đến, và đồng thời
thực hiện quá trình truyền nhận các message từ client này đến client khác.
Có thể có nhiều server IRC kết nối với nhau. Các client kết nối với các server
IRC qua nhiều kênh (channel). IRC network cho phép người dùng tạo ba loại kênh:
public, private và serect:
Public channel: Cho phép người dùng của kênh đó thấy IRC name và nhận
được thơng điệp của mọi người dùng khác trên cùng kênh.
Private channel: được thiết kế để giao tiếp với các đối tượng cho phép.
Không cho phép các người dùng không cùng kênh thấy IRC name và thông điệp
trên kênh. Tuy nhiên, nếu người dùng ngồi kênh dùng một số lệnh channel locator
thì có thể biết được sự tồn tại của private channel đó.
Secrect channel: tương tự private channel nhưng không thể xác định bằng
channel locator.
Kiến trúc attack-network của kiểu IRC-Base:
16