Professional Documents
Culture Documents
MỤC LỤC
Trang
Trang bìa chính....................................................................................................
Bản cam đoan......................................................................................................
Mục lục................................................................................................................
Tóm tắt luận văn..................................................................................................
Danh mục các ký hiệu.........................................................................................
Danh mục các bảng.............................................................................................
Danh mục các hình vẽ.........................................................................................
MỞ ĐẦU..........................................................................................................1
TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN...........2
1.1. Nghiên cứu tổng quan về tấn công từ chối dịch vụ phân tán....................2
1.1.1. Giới thiệu về DDoS.................................................................................2
1.1.2. Các giai đoạn của một cuộc tấn công DDOS..........................................3
1.1.3. Kiến trúc tổng quan của DDoS attack-Network......................................4
1.1.4. Phân loại tấn công DDoS........................................................................8
1.1.5. Một số đặc tính của công cụ DDOS Attack..........................................15
1.1.6. Công cụ DDoS dạng Agent-Handler.....................................................19
1.1.7. Công cụ DDOS dạng IRC-Based..........................................................20
1.2. Tìm hiểu ảnh hưởng và mức độ nghiêm trọng của các cuộc tấn công từ
chối dịch vụ phân tán kiểu giả mạo địa chỉ IP nguồn tấn công trong nước và
trên thế giới......................................................................................................21
1.2.1. Những cuộc tấn công DDoS trong nước...............................................21
1.2.2. Những cuộc tấn công DDoS trên thế giới.............................................23
2.1. Nghiên cứu những sản phẩm chống tấn công từ chối dịch vụ phân tán
kiểu giả mạo địa chỉ IP nguồn tấn công và đánh giá các giải pháp, công nghệ
đã sử dụng........................................................................................................27
2.1.1. Giải pháp chống DDoS của Cisco.........................................................27
2.1.2. Giải pháp chống DDoS của Abor..........................................................32
2.1.3. Giải pháp DDoS của Huawei................................................................35
2.1.4. Đánh giá các giải pháp công nghệ.........................................................40
2.2. Nghiên cứu giải pháp chống tấn công từ chối dịch vụ phân tán kiểu giả
mạo địa chỉ IP nguồn tấn công sử dụng giải pháp một hệ thống độc lập........40
2.2.1. Mô hình tổng thể hệ thống....................................................................41
2.2.2. Nguyên lý hoạt động của hệ thống........................................................41
2.2.3. Nghiên cứu giải pháp sử dụng Transparent Firewall để chặn IP nguồn
giả mạo kết nối tới máy chủ............................................................................44
2.2.4. Nghiên cứu giải pháp phát hiện tấn công từ chối dịch vụ phân tán sử
dụng nguồn mở (Snort)...................................................................................46
2.2.5. Nghiên cứu giải pháp xác thực địa chỉ IP nguồn khi hệ thống đang bị
tấn công...........................................................................................................48
2.3. Nghiên cứu và xây dựng giải pháp chống tấn công từ chối dịch vụ phân
tán kiểu giả mạo địa chỉ IP nguồn tấn công sử dụng giải pháp kết hợp giữa hệ
thống chống tấn công từ chối dịch vụ phân tán và thiết bị mạng....................50
2.3.1. Mô hình tổng thể của hệ thống..............................................................50
2.3.2. Nghiên cứu sử dụng Cisco Access Control List....................................52
2.3.3. Nghiên cứu phương pháp với thiết bị định tuyến Cisco sử dụng Telnet,
SSH..................................................................................................................56
3.1. Thiết kế kiến trúc hệ thống......................................................................65
3.2. Thiết kế giao diện quản trị hệ thống........................................................66
3.2.1. Yêu cầu về thiết kế phần mềm và giao diện quản trị hệ thống..............66
3.2.2. Thiết kết giao diện quản trị hệ thống.....................................................67
3.3. Xây dựng môđun phát hiện tấn công từ chối dịch vụ phân tán giả mạo
địa chỉ IP nguồn tấn sử dụng nguồn mở..........................................................68
3.4. Xây dựng môđun tự động thu thập địa chỉ IP sạch phục vụ cho giai đoạn
chống tấn công.................................................................................................71
3.4.1. Sơ đồ thuật toán tự động thu thập địa chỉ IP sạch.................................71
3.4.2. Xây dựng môđun xử lý địa chỉ nguồn khi hệ thống phát hiện một kết
nối mạng thành công.......................................................................................72
3.5. Xây dựng môđun xác thực địa chỉ nguồn kết nối cho phép các kết nối
bình thường vẫn có thể truy cập khi tấn công xảy ra......................................73
3.5.1. Sơ đồ thuật toán xác thực địa chỉ nguồn kết nối...................................74
3.5.2. Xây dựng môđun xác thực địa chỉ nguồn kết nối..................................75
3.6. Xây dựng môđun tương tác giữa môđun chống tấn công và thiết bị định
tuyến Router Cisco..........................................................................................75
3.6.1. Sơ đồ thuật toán tương tác giữa hệ thống và thiết bị định tuyến Cisco.76
3.6.2. Xây dựng môđun tương tác...................................................................76
4.1. Máy chủ...................................................................................................78
4.2. Chuẩn bị nguồn tấn công từ chối dịch vụ phân tán kiểu giả mạo địa chỉ
IP nguồn tấn công phục vụ thử nghiệm hệ thống............................................79
4.3. Xây dựng hệ thống mạng thử nghiệm bao gồm máy chủ dịch vụ thử
nghiệm và hệ thống chống tấn công từ chối dịch vụ phân tán kiểu giả mạo địa
chỉ IP nguồn tấn công......................................................................................79
4.4. Kịch bản thử nghiệm khả năng chống tấn công DDOS kiểu giả mạo địa
chỉ IP nguồn tấn công của hệ thống................................................................80
1. Kết luận.......................................................................................................90
2. Kiến nghị.....................................................................................................91
_Toc319450845TÀI LIỆU THAM KHẢO..................................................93
TÓM TẮT LUẬN VĂN THẠC SĨ
Tên luận văn: Nghiên cứu xây dựng hệ thống chống tấn công từ chối
dịch vụ phân tán kiểu giả mạo địa chỉ IP nguồn tấn công cho hệ thống máy
chủ dịch vụ.
Tóm tắt: Các cuộc tấn công DDOS gây ra nhiều hậu quả nghiêm trọng.
Hiện nay chưa có giải pháp nào có thể ngăn chặn triệt để các kiểu tấn công này.
Đề tài tập trung và nghiên cứu các nội dung: Nghiên cứu về tấn công từ chối
dịch vụ; Tìm hiểu ảnh hưởng và mức độ nghiêm trọng của các cuộc tấn công
DDOS; Nghiên cứu những sản phẩm, giải pháp thương mại chống DDOS ; Xây
dựng hệ thống chống tấn công DDOS. Trong khi chưa có giải pháp nào có thể
triển khai rộng rãi cho các cơ quan, tổ chức với kinh phí thấp thì sản phẩm
của đề tài mang tính thực tiễn cũng như khả năng áp dụng cao trong thực tế
hiện nay.
DANH MỤC CÁC KÝ HIỆU
Bảng 3.1. Yêu cầu về thiết kế phần mềm và giao diện quản trị......................66
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Mô hình Agent – Handler..............................................................4
Hình 1.2. Kiến trúc attack-network kiểu Agent – Handler.........................5
Hình 1.3. Kiến trúc attack-network của kiểu IRC-Base..............................7
Hình 1.4. Phân loại tấn công kiểu DDoS.......................................................8
Hình 1.5. Amplification Attack....................................................................11
Hình 1.6. TCP 3 way handshake..................................................................13
Hình 1.7. TCP SYN Attack...........................................................................13
Hình 1.8. Công cụ DDoS attack....................................................................15
Hình 2.1. Kiến trúc hệ thống Cisco MVP....................................................29
Hình 2.2. Cisco phát triển phòng vệ.............................................................31
Hình 2.3. Cisco Guard XT được triển khai tại các lớp phân phối............32
Hình 2.4. Peakflow SP TMS chỉ cần kiểm tra lưu lượng được chuyển
hướng..............................................................................................................33
Hình 2.5. Giải pháp chống DDoS của Huawei............................................35
Hình 2.6. Industry's Easiest OAM...............................................................38
Hình 2.7. Quản lý và báo cáo dịch vụ..........................................................39
Hình 2.8. IDC Security Defense...................................................................39
Hình 2.9. Mô hình tổng thể hệ thống...........................................................41
Hình 2.11. Sơ đồ và nguyên lý của hệ thống khi phòng chống tấn công. .43
Hình 2.12. Sơ đồ và nguyên lý của hệ thống khi xác thực địa chỉ nguồn. 44
Hình 2.13 Transparent Firewall...................................................................45
Hình 2.14. Nguyên lý khởi tạo kết nối, bắt tay 3 bước của giao thức TCP
.........................................................................................................................48
Hình 2.15. Nguyên lý xác thực địa chỉ nguồn của hệ thống.......................49
Hình 2.16. Mô hình tổng thể hệ thống.........................................................51
Hình 2.9 Mô hình mạng cấu hình Standard ACLs....................................54
Hình 2.17. Kiến trúc chung của giao thức SSH..........................................59
Hình 3.1. Mô hình tổng thể hệ thống...........................................................65
Hình 3.2. Giao diện cấu hình Blocking Device............................................67
Hình 3.3. Giao diện cấu hình thông số phát hiện tấn công DDoS.............68
Hình 3.4. Giao diện cấu hình thông số xác thực địa chỉ nguồn.................68
Hình 3.5. Sơ đồ thuật toán tự động thu thập địa chỉ IP sạch....................72
Hình 3.6. Sơ đồ thuật toán xác thực địa chỉ nguồn kết nối........................74
Hình 4.1. Hệ thống mạng thử nghiệm..........................................................79
Hình 4.2. Tắt hệ thống phòng thủ................................................................80
Hình 4.3. Giả lập tấn công hệ thống............................................................81
Hình 4.4. Kiểm tra các kết nối đến máy chủ...............................................82
Hình 4.5. Bật hệ thống phòng thủ tấn công.................................................82
Hình 4.6. Kiểm tra trạng thái trên hệ thống phòng thủ.............................83
Hình 4.7. Kiểm tra trạng thái trên thiết bị định tuyến..............................84
Hình 4.8. Truy cập dịch vụ trên máy chủ và kiểm tra kết quả.................84
Hình 4.9. Kiểm tra địa chỉ mạng của máy kết nối tới hệ thống.................85
Hình 4.10. Xoá mạng của máy kết nối nếu có trong WhiteList................85
Hình 4.11. Kết nối hệ thống..........................................................................86
Hình 4.12. Kiểm tra mạng của máy kết nối trong hệ thống......................86
Hình 4.13. Kiểm tra địa chỉ mạng của máy kết nối tới hệ thống...............87
Hình 4.14. Xoá mạng của máy kết nối nếu có trong WhiteList................87
Hình 4.16. Thử kết nối vào hệ thống............................................................88
Hình 4.17. Kiểm tra trạng thái xác thực.....................................................88
Hình 4.19. Kiểm tra mạng của IP nguồn.....................................................89
Hình 4.20. Kiểm tra kết quả kết nối thành công của IP nguồn.................90
1
MỞ ĐẦU
Các cuộc tấn công từ chối dịch vụ phân tán kiểu giả mạo địa chỉ IP nguồn
tấn công gây ra nhiều hậu quả nghiêm trọng trên thế giới cũng như tại Việt Nam.
Hiện nay chưa có giải pháp nào có thể ngăn chặn triệt để các kiểu tấn công này,
khi có cuộc tấn công xảy ra thì các đơn vị thường chọn giải pháp là đi thuê các
thiết bị thương mại đắt tiền để khắc phục cuộc tấn công trước mắt mà chưa có
giải pháp lâu dài. Đề tài tập trung và nghiên cứu các nội dung sau: Nghiên cứu
về tấn công từ chối dịch vụ; Tìm hiểu ảnh hưởng và mức độ nghiêm trọng của
các cuộc tấn công DDoS; Nghiên cứu những sản phẩm, giải pháp thương mại
chống DDoS ; Xây dựng hệ thống chống tấn công DDoS. Với mức độ nghiêm
trọng cũng như tần suất các cuộc tấn công từ chối dịch vụ phân tán giả mạo IP
nguồn tấn công trong khi chưa có giải pháp nào có thể triển khai rộng rãi cho
các cơ quan, tổ chức với kinh phí thấp thì sản phẩm của đề tài mang tính thực
tiễn cũng như khả năng áp dụng cao trong thực tế hiện nay.
Toàn bộ nội dung của luận văn được tổ chức theo bố cục như sau:
Chương 2: Nghiên cứu và xây dựng giải pháp chống tấn công từ chối
dịch vụ phân tán kiểu giả mạo địa chỉ IP nguồn tấn công.
Chương 3: Xây dựng hệ thống chống tấn công từ chối dịch vụ phân tán
kiểu giả mạo địa chỉ IP nguồn tấn công sử dụng kết hợp giữa hệ thống chống
tấn công từ chối dịch vụ phân tán và thiết bị định tuyến của Router Cisco.
Để hoàn thành được luận văn, tác giả xin chân thành cảm ơn đến các
thầy cô trong khoa Công nghệ thông tin - Học viện Kỹ thuật Quân sự đã giúp
đỡ và tạo điều kiện trong quá trình thực hiện luận văn. Đặc biệt tác giả luận văn
xin gửi lời cảm ơn sâu sắc đến thầy giáo hướng dẫn PGS.TS. Nguyễn Hiếu
2
Minh, đã tận tình hướng dẫn và giúp đỡ để tác giả hoàn thành luận văn này.
Chương 1
Trong chương này, tác giả sẽ trình bày tổng quan về tấn công từ chối
dịch vụ (DDoS) gồm: Các kiểu tấn công, các giai đoạn của một cuộc tấn công
DDOS, phân loại kiểu tấn công DDoS, một số đặc tính của công cụ DDoS
attack.
1.1. Nghiên cứu tổng quan về tấn công từ chối dịch vụ phân tán
Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user
trên toàn thế giới nhiều giờ liền. Vài giờ sau, Yahoo đã tìm ra nguyên nhân
gây nên tình trạng này là do họ phải gánh chịu một đợt tấn công DDoS với
quy mô vài nghìn máy tính liên tục gửi hàng triệu request đến các server dịch
vụ làm các server này không thể phục vụ các user thông thường khác.
Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn
do một trong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com,
Zdnet.com, E-trade.com, Ebay.com. Đây là những công ty lớn thuộc nhiều
lĩnh vực khác nhau. Theo Yankke Group, tổng thiệt hại do cuộc tấn công lên
đến 1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin của
khách hàng, uy tín của các công ty là không thể tính được. Theo kết quả điều
tra đã được công bố thì cậu bé 15 tuổi người Canada, với nickname
“mafiaboy” đã tìm tòi và tải về một số chương trình và công cụ của các
hacker. Cậu đã dùng một công cụ DDoS có tên là TrinOO để gây nên các
cuộc tấn công kiểu DDoS khủng khiếp trên. Một điểm đáng lưu ý khác là
Mafiaboy bị bắt do tự khoe khoang trên các chatroom công cộng, không ai tự
3
Còn rất nhiều công ty khổng lồ khác đã gục ngã dưới các cuộc tấn công
kiểu DDoS, trong đó có cả Microsoft. Tuy nhiên cuộc tấn công trên là điển
hình nhất về DDoS, nó nói lên một đặc điểm của DDoS: “Rất dễ thực hiện,
hầu như không thể tránh, hậu quả rất nặng nề”.
1.1.2. 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 bao gồm 03 giai đoạn
- Chuẩn bị công cụ là giai đoạn quan trọng của cuộc tấn công, công cụ
này thông thường hoạt động theo mô hình client-server. Hacker 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, dùng các kỹ thuật tấn công khác để nắm trọn quyền một số
host trên mạng, tiến hành cài đặt các phần mềm cần thiết trên các host này,
việc cấu hình và thử nghiệm toàn bộ attack-network (bao gồm mạng lưới các
máy đã bị lợi dụng cùng với các phần mềm đã được thiết lập trên đó, máy của
hacker hoặc một số máy khác đã được thiết lập như điểm phát động tấn công)
cũng sẽ được thực hiện trong giai đoạn này.
Giai đoạn 2: Giai đoạn xác định mục tiêu và thời điểm.
- Sau khi xác định mục tiêu lấn cuối, hacker sẽ có hoạt động điều chỉnh
attack-network 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.
Đúng thời điểm đã định, hacker phát động tấn công từ máy của mình,
lệnh tấn công này có thể đi qua nhiều cấp mới đến host thực sự tấn công.
Toàn bộ attack-network (có thể lên đến hàng nghìn máy), sẽ vắt cạn năng lực
của máy chủ mục tiêu liên tục, ngăn chặn không cho nó hoạt động như thiết
kế.
- Sau một khoảng thời gian tấn công thích hợp, hacker 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 trình độ khác cao.
Dưới đây là sơ đồ chính phân loại các kiểu tấn công DDoS
DDoS attack-network
Client: là phần mềm cơ sở để hacker điều khiển mọi hoạt động của
attack-network
Handler: là một thành phần phần mềm trung gian giữa Agent và Client
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
Attacker Attacker
Victim
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.
6
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 nhiều. 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 nguyên hệ thống làm cho hầu như không thể thấy
ảnh hưởng gì đến hiệu năng của hệ thống.
Internet Relay Chat (IRC) là một hệ thống liên lạc cấp tốc qua mạng
Internet, IRC cho phép người dùng tạo một kết nối đến đa điểm đến nhiều
người dùng khác và chat thời gian thực. Kiến trúc của IRC network bao gồm
nhiều máy chủ IRC trên khắp mạng giao tiếp với nhau 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 ngoà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.
Attacker Attacker
IRC
NETWORK
Victim
+ Các giao tiếp dưới dạng chat message làm cho việc phát hiện chúng là
vô cùng khó khăn.
+ IRC traffic có thể di chuyển trên mạng với số lượng lớn mà không bị
nghi ngờ.
+ Không cần phải duy trì danh sách các Agent, hacker chỉ cần logon vào
IRC server là đã có thể nhận được báo cáo về trạng thái các Agent do các
channel gửi về.
8
+ Sau cùng: IRC cũng là một môi trường chia sẻ tệp tin tạo điều kiện
phát tán các Agent code lên nhiều máy khác.
Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn công DDoS nhưng
nếu nhìn dưới góc độ chuyên môn thì có thể chia các biến thề này thành hai
loại dựa trên mục đích tấn công: Làm cạn kiệt băng thông và làm cạn kiệt tài
nguyên hệ thống. Dưới đây là sơ đồ mô tả sự phân loại các kiểu tấn công
DDoS.
DDoS attack
Flood Attack Amplification Attack Protocol Exploit Attack Malformed Paclket Attack
UDP ICMP Smuft Attack Flaggle TCP SYS PUSH IP @ IP Packet Options
SYN
Attack
Direct Loop
Những kiểu tấn công làm cạn kiệt băng thông của mạng (BandWith
Depletion Attack)
BandWith Depletion Attack được thiết kế nhằm làm tràn ngập mạng
mục tiêu với những traffic không cần thiết, với mục đích làm giảm tối thiểu
khả năng của các traffic hợp lệ đến được hệ thống cung cấp dịch vụ của mục
tiêu.
+ Flood attack: Điều khiển các Agent gửi một lượng lớn traffic đến hệ
thống dịch vụ của mục tiêu, làm dịch vụ này bị hết khả năng về băng thông.
+ Amplification attack: Điều khiển các Agent hay Client tự gửi message
đến một địa chỉ IP broadcast, làm cho tất cả các máy trong subnet này gửi
message đến hệ thống dịch vụ của mục tiêu. Phương pháp này làm gia tăng
traffic không cần thiết, làm suy giảm băng thông của mục tiêu.
Flood attack:
Trong phương pháp này, các Agent sẽ gửi một lượng lớn IP traffic làm
hệ thống dịch vụ của mục tiêu bị chậm lại, hệ thống bị treo hay đạt đến trạng
thái hoạt động bão hòa. Làm cho các User thực sự của hệ thống không sử
dụng được dịch vụ.
+ Các gói tin UDP này có thể được gửi đến các cổng tùy ý hay chỉ duy
nhất một cổng. Thông thường là sẽ gửi đến nhiều cổng làm cho hệ thống mục
10
tiêu phải căng ra để xử lý phân hướng cho các gói tin này. Nếu cổng bị tấn
công không sẵn sàng thì hệ thống mục tiêu sẽ gửi ra một gói tin ICMP loại
“destination port unreachable”. Thông thường các phần mềm Agent sẽ dùng
địa chỉ IP giả để che giấu hành tung, cho nên các message trả về do không có
cổng xử lý sẽ dẫn đến một địa chỉ IP khác. UDP Flood attack cũng có thể làm
ảnh hưởng đến các kết nối xung quanh mục tiêu do sự hội tụ của các gói tin
diễn ra rất mạnh.
+ ICMP Flood Attack: được thiết kế nhằm mục đích quản lý mạng cũng
như định vị thiết bị mạng. Khi các Agent gửi một lượng lớn
ICMP_ECHO_REPLY đến hệ thống mục tiêu thì hệ thống này phải reply một
lượng tương ứng gói tin để trả lời, sẽ dẫn đến nghẽn đường truyền. Tương tự
trường hợp trên, địa chỉ IP của các Agent có thể bị giả mạo.
Amplification Attack:
Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa
chỉ IP broadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn
công. Môđun này cho phép bên gửi chỉ định một địa chỉ IP broadcast cho toàn
subnet bên nhận thay vì nhiều địa chỉ. Router sẽ có nhiệm vụ gửi đến tất cả
địa chỉ IP trong subnet đó gói tin broadcast mà nó nhận được.
Attacker có thể gửi broadcast message trực tiếp hay thông qua một số
Agent nhằm làm gia tăng cường độ của cuộc tấn công. Nếu attacker trực tiếp
gửi message, thì có thể lợi dụng các hệ thống bên trong broadcast network
như một Agent.
11
Attacker/Agent
VICTIM
Amplifier
Có thể chia amplification attack thành hai loại, Smuft và Fraggle attack:
+ Smuft attack: Trong kiểu tấn công này attacker gửi các gói tin đến
network amplifier (router hay thiết bị mạng khác hỗ trợ broadcast), với địa chỉ
của nạn nhân. Thông thường những gói tin được dùng là ICMP ECHO
REQUEST, các gói tin này yêu cầu bên nhận phải trả lời bằng một gói tin
ICMP ECHO REPLY. Network amplifier sẽ gửi đến gói tin ICMP ECHO
REQUEST đến tất cả các hệ thống thuộc địa chỉ broadcast và tất cả các hệ
thống này sẽ gửi gói tin REPLY về địa chỉ IP của mục tiêu tấn công Smuft
Attack.
+ Fraggle Attack: tương tự như Smuft attack nhưng thay vì dùng gói tin
ICMP ECHO REQUEST thì sẽ dùng gói tin UDP ECHO gửi đếm mục tiêu.
12
Thật ra còn một biến thể khác của Fraggle attack sẽ gửi gói tin UDP ECHO
đến cổng charge (port 19/UNIX) của mục tiêu, với địa chỉ bên gửi là cổng
echo (port 7/UNIX) của mục tiêu, tạo nên một vòng lặp vô hạn. Attacker phát
động cuộc tấn công bằng một ECHO REQUEST với địa chỉ bên nhận là một
địa chỉ broadcast, toàn bộ hệ thống thuộc địa chỉ này lập tức gửi REPLY đến
cổng echo của nạn nhân, sau đó từ nạn nhân một ECHO REPLY lại gửi trở về
địa chỉ broadcast, quá trình cứ thế tiếp diễn. Đây chính là nguyên nhân
Flaggle Attack nguy hiểm hơn Smuft Attack rất nhiều.
Những kiểu tấn công làm cạn kiệt tài nguyên: (Resource Deleption
Attack)
Theo định nghĩa: Resource Deleption Attack là kiểu tấn công trong đó
Attacker gửi những gói tin dùng các giao thức sai chức năng thiết kế, hay gửi
những gói tin với dụng ý làm tắt nghẽn tài nguyên mạng làm cho các tài
nguyên này không phục vụ user thông thường khác được.
+ TCP SYN Attack: Transfer Control Protocol hỗ trợ truyền nhận với độ
tin cậy cao nên sử dụng phương thức bắt tay giữa bên gửi và bên nhận trước
khi truyền dữ liệu. Bước đầu tiên, bên gửi gửi một gói tin SYN REQUEST
(Synchronize). Bên nhận nếu nhận được SYN REQUEST sẽ trả lời bằng gói
tin SYN/ACK REPLY. Bước cuối cùng, bên gửi sẽ truyền gói tin cuối cùng
ACK và bắt đầu truyền dữ liệu.
13
SYN
TCP TCP
SYN/ACK
Client Server
80
ACK
Client
Port Hình 1.6. TCP 3 way handshake
Service Port
Nếu1024-
bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK REPLY
1-1023
nhưng 65535
không nhận được gói tin ACK cuối cùng sau một khoảng thời gian quy
định thì nó sẽ gửi trả lại SYN/ACK REPLY cho đến hết thời gian timeout.
Toàn bộ tài nguyên hệ thống “dự trữ” để xử lý phiên giao tiếp nếu nhận được
gói tin ACK cuối cùng sẽ bị “phong tỏa” cho đến hết thời gian timeout.
Client ? Server
8
SYN/ACK 0
Nắm được điểm yếu này, attacker gửi một gói tin SYN đến nạn nhân với
địa chỉ bên gửi là giả mạo, kết quả là nạn nhân gửi SYN/ACK REPLY đến
một địa chỉ khác và sẽ không bao giờ nhận được gói tin ACK cuối cùng, cho
đến hết thời gian timeout nạn nhân mới nhận ra được điều này và giải phóng
các tài nguyên hệ thống. Tuy nhiên, nếu lượng gói tin SYN giả mạo đến với
số lượng nhiều và dồn dập, hệ thống của nạn nhân có thể bị hết tài nguyên.
14
Server
Client Server Attacker/Agent
SYN
SYN
SYN/ACK
SYN/ACK
SYN/ACK
ACK
+ PUSH = ACK Attack: Trong giao thức TCP, các gói tin được chứa
trong bộ nhớ đệm (buffer), khi buffer đầy thì các gói tin này sẽ được chuyển
đến nơi cần thiết. Tuy nhiên, bên gửi có thể yêu cầu hệ thống unload buffer
trước khi buffer đầy bằng cách gửi một gói tin với PUSH và ACK mang giá
trị là 1. Những gói tin này làm cho hệ thống của nạn nhân unload tất cả dữ
liệu trong TCP buffer ngay lập tức và gửi một gói tin ACK trở về khi thực
hiện xong điều này, nếu quá trình được diễn ra liên tục với nhiều Agent, hệ
thống sẽ không thể xử lý được lượng lớn gói tin gửi đến và sẽ bị treo.
Malformed Packet Attack là cách tấn công dùng các Agent để gửi các
gói tin có cấu trúc không đúng chuẩn nhằm làm cho hệ thống của nạn nhân bị
treo.
+ IP address attack: dùng gói tin có địa chỉ gửi và nhận giống nhau làm
cho hệ điều hành của nạn nhân không xử lý nổi và bị treo.
+ IP packet options attack ngẫu nhiên hóa vùng OPTION trong IP packet
và thiết lập tất cả các bit QoS lên 1, điều này làm cho hệ thống của nạn nhân
phải tốn thời gian phân tích, nếu sử dụng số lượng lớn Agent có thể làm hệ
thống nạn nhân hết khả năng xử lý.
15
Các công cụ DDoS Attack có rất nhiều điểm chung như: cách cài phần
mềm Agent, phương pháp giao tiếp giữa các attacker, handler và Agent, điểm
chung về loại hệ điều hành hỗ trợ các công cụ này. Sơ đồ trên mô tả sự so
sánh tương quan giữa các công cụ tấn công DDoS này.
Attacker có thể dùng phương pháp active và passive để cài đặt phần
mềm agent lên các máy khác nhằm thiết lập attack-network kiểu Agent-
Handler hay IRC-based.
+ Scaning: dùng các công cụ như Nmap, Nessus để tìm những sơ hở trên
các hệ thống đang online nhằm cài đặt phần mềm Agent. Chú ý, Nmap sẽ trả
về những thông tin về một hệ thống đã được chỉ định bằng địa chỉ IP, Nessus
tìm kiếm từ những địa chỉ IP bất kỳ về một điểm yếu biết trước nào đó.
+ Backdoor: Sau khi tìm thấy được danh sách các hệ thống có thể lợi
dụng, attacker sẽ tiến hành xâm nhập và cài Agentsoftware lên các hệ thống
này. Có rất nhiều thông tin sẵn có về cách thức xâm nhập trên mạng, như site
của tổ chức Common Vulnerabilities and Exposures (CVE), ở đây liệt kê và
phân loại trên 4.000 loại lỗi của tất cả các hệ thống hiện có. Thông tin này
luôn sẵn sàng cho cả giới quản trị mạng lẫn hacker.
+ Trojan: là một chương trình thực hiện một chức năng thông thường
nào đó, nhưng lại có một số chức năng tiềm ẩn phục vụ cho mục đích riêng
của người viết mà người dùng không thể biết được. Có thể dùng trojan như
một phần mềm Agent.
+ Buffer Overflow: Tận dụng lỗi buffer overflow, attacker có thể làm
cho chu trình thực thi chương trình thông thường bị chuyển sang chu trình
thực thi chương trình của hacker (nằm trong vùng dữ liệu ghi đè). Có thể
dùng cách này để tấn công vào một chương trình có điểm yếu buffer overflow
để chạy chương trình phần mềm Agent.
+ Bug Website: attacker có thể lợi dụng một số lỗi của trình duyệt web
để cài phần mềm Agent vào máy của user truy cập. Attacker sẽ tạo một
website mang nội dung tiềm ẩn những code và lệnh để đặt bẫy user. Khi user
truy cập nội dung của website, thì website tải và cài đặt phần mềm Agent một
cách bí mật. Trình duyệt web IE thường là mục tiêu của cách cài đặt này, với
17
các lỗi của ActiveX có thể cho phép trình duyệt web IE tự động tải và cài đặt
code trên máy của user duyệt web.
+ Corrupted file: Một phương pháp khác là nhúng code vào trong các
file thông thường. Khi user đọc hay thực thi các file này, máy của họ lập tức
bị nhiễm phần mềm Agent. Một trong những kỹ thuật phổ biến là đặt tên file
rất dài, do default của các hệ điều hành chỉ hiển thị phần đầu của tên file nên
attacker có thể gửi kèm theo email cho nạn nhân file như sau:
iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do chỉ thấy phần “Iloveyou.txt”
hiển thị nên user sẽ mở file này để đọc và lập tức file này được thực thi và
Agent code được cài vào máy nạn nhân. Ngoài ra còn nhiều cách khác như
ngụy trang file, ghép file…
- Rootkit: Là những chương trình dùng để xóa dấu vết về sự hiện diện
của Agent hay Handler trên máy của nạn nhân. Rootkit thường được dùng
trên phần mềm Hander đã được cài, đóng vai trò xung yếu cho sự hoạt động
của attack-network hay trên các môi trường mà khả năng bị phát hiện của
Handler là rất cao. Rootkit rất ít khi dùng trên các Agent do mức độ quan
trọng của Agent không cao và nếu có mất một số Agent cũng không ảnh
hưởng nhiều đến attack-network.
- Mã hóa các giao tiếp: một vài công cụ DDoS hỗ trợ mã hóa giao tiếp
trên toàn bộ attack-network. Tùy theo giao thức được sử dụng để giao tiếp sẽ
có các phương pháp mã hóa thích hợp. Nếu attack-network ở dạng IRC-based
thì private và secrect channel đã hỗ trợ mã hóa giao tiếp.
18
- Cách kích hoạt Agent: Có hai phương pháp chủ yếu để kích hoạt
Agent. Cách thứ nhất là Agent sẽ thường xuyên quét thăm dó Handler hay
IRC channel để nhận chỉ thị (active Agent). Cách thứ hai là Agent chỉ đơn
giản là “nằm vùng” chờ chỉ thị từ Handler hay IRC Channel.
Thông thường Handler sẽ vận hành trên các hệ chạy trên các server lớn
như Unix, Linux hay Solaris. Agent thông thường chạy trên hệ điều hành phổ
biến nhất là Windows do cần số lượng lớn dễ khai thác.
Mỗi công cụ DDoS có một tập lệnh riêng, tập lệnh này được Handler và
Agent thực hiện. Tuy nhiên ta có thể phân loại tổng quát tập lệnh chung của
mọi công cụ như sau:
- TrinOO: Là một trong các công cụ DDoS đầu tiên được phát tán rộng
rãi.
- Tribe Flood Network (TFN): Kiểu kiến trúc Agent – Handler, công
cụ DDoS hỗ trợ kiểu Bandwidth Deleption Attack và Resourse Deleption
Attack. Sử dụng kỹ thuật UDP flood, ICMP Flood, TCP SYN và Smurf
Attack. Các version đầu tiên không hỗ trợ giả mạo địa chỉ IP, TFN Agent
được cài đặt lợi dụng lỗi buffer overflow. Hoạt động trên hệ điều hành Solaris
2.x và Red Hat Linux 6.0. Attack – Network giao tiếp dùng ICMP ECHO
REPLY packet (TFN2K hỗ trợ thêm TCP/UDP với tính năng chọn giao thức
tùy ý), không mã hóa giao tiếp (TFN2K hỗ trợ mã hóa).
- Stacheldraht: là biến thể của TFN có thêm khả năng update Agent tự
động. Giao tiếp telnet mã hóa đối xứng giữa Attacker và Handler.
- Shaft: là biến thể của TrinOO, giao tiếp Handler – Agent trên UDP,
Attacker – Hendle trên Internet. Tấn công dùng kỹ thuật UDP, ICMP và TCP
flood. Có thể tấn công phối hợp nhiều kiểu cùng lúc. Có thống kê chi tiết cho
phép attacker biết tình trạng tổn thất của nạn nhân, mức độ quy mô của cuộc
tấn công để điều chỉnh số lượng Agent.
Công cụ DDoS dạng IRC-based được phát triển sau các công cụ dạng
Agent – Handler. Tuy nhiên, công cụ DDoS dạng IRC phức tạp hơn rất nhiều,
do tích hợp rất nhiều đặc tính của các công cụ DDoS dạng Agent – Handler.
- Trinity: là một điển hình của công cụ dạng này. Trinity có hầu hết các
kỹ thuật tấn công bao gồm: UDP, TCP SYS, TCP ACK, TCP fragment, TCP
NULL, TCP RST, TCP random flag, TCP ESTABLISHED packet flood. Nó
có sẵn khả năng ngẫu nhiên hóa địa chỉ bên gửi. Trinity cũng hỗ trợ TCP
flood packet với khả năng ngẫu nhân tập CONTROL FLAG. Trinity có thể
nói là một trong số các công cụ DDoS nguy hiểm nhất.
- Ngoài ra có thể nhắc thêm về một số công cụ DDoS khác như Knight,
được thiết kế chạy trên Windows, sử dụng kỹ thuật cài đặt của troijan back
Orifice. Knight dùng các kỹ thuật tấn công như: UDP Flood và Urgent Pointer
Flooder.
- Sau cùng là Kaiten, là biến thể của Knight, hỗ trợ rất nhiều kỹ thuật tấn
công như: UDP, TCP flood, SYN, PUSH + ACK attack. Kaiten cũng thừa
hưởng khả năng ngẫu nhiên hóa địa chỉ giả mạo của Trinity.
1.2. Tìm hiểu ảnh hưởng và mức độ nghiêm trọng của các cuộc tấn công
từ chối dịch vụ phân tán kiểu giả mạo địa chỉ IP nguồn tấn công trong
nước và trên thế giới.
Sáng ngày 14/2, diễn đàn Bkav (forum.bkav.com.vn) bị tấn công DDoS
khiến người dùng không thể truy cập được và hiện lên thông báo “the page
cannot be displayed”.
Ngay sau khi hiện tượng website www.bkav.com.vn khó truy cập, tại
trang chủ http://www.anonymousvn.blogspot.com, nhóm Anonymous đã đưa
thông tin xác nhận việc đã tấn công và thâm nhập thành công vào server của
Bkav. Điều này đồng nghĩa với việc, rất có thể nhóm hacker này đã tạo ra
những thay đổi trong hệ thống máy chủ của Bkav. Nhiều người lo xa còn cho
rằng, Anonymous có thể đã chèn được mã độc vào chính phần mềm diệt virus
của công ty này.
- Đầu tháng 7 /2012, trang web của Trung tâm Đào tạo lập trình viên
Aprotrain Aptech (AA) bị tấn công DDoS khiến người dùng không được vào
trang web. Bộ phận kỹ thuật kiểm tra hồ sơ (file) nhật ký thấy số lượng kết
nối vào máy chủ tăng bất thường (chỉ trong thời gian ngắn, số kết nối tăng
thêm 2.000 lượt), hiệu năng sử dụng Ram, CPU đều trên 90%...
- Chiều 8/7/2013, báo điện tử Dân trí đã đưa ra thông báo về việc trang
báo này bị tấn công từ chối dịch vụ (DDoS) với quy mô lớn chưa từng có tại
Việt Nam trong suốt 1 tuần vừa qua. Đợt tấn công này chủ yếu nhằm vào các
website có hệ thống máy chủ đặt tại Trung tâm Điện toán - Truyền số liệu KV
2 (VDC2) và ảnh hưởng đến nhiều báo điện tử lớn như Dân trí, Vietnamnet,
Tuổi Trẻ… Cho đến chiều ngày 9/7, khi truy cập vào báo điện tử Dantri,
người dùng vẫn gặp thông báo “không thể truy cập”.
- Website báo Tuổi Trẻ bị tấn công DDoS ngày 11/07/2013
Ngày 11/7/2013, báo Tuổi Trẻ phát đi thông báo cho biết các phiên bản
điện tử của mình đang bị tấn công DDoS liên tục từ phía hacker, theo đó các
phiên bản: Tuổi Trẻ Online (tuoitre.vn), Tuổi Trẻ Mobile (m.tuoitre.vn), Tuổi
Trẻ Online tiếng Anh (tuoitrenews.vn) đều rất khó truy cập.
Theo đại diện của Tuổi Trẻ, kẻ tấn công đã sử dụng hình thức tấn công
DDoS tạo ra hàng chục triệu lượt truy cập ảo đến các phiên bản của tờ báo
23
này, gây ra tình trạng nghẽn mạng nghiêm trọng. Hiện đội ngũ kỹ thuật của
Tuổi Trẻ đang cố gắng khắc phục bằng nhiều giải pháp kỹ thuật nhằm chống
lại các đợt tấn công trên.
Cùng với các biện pháp kỹ thuật khắc phục, phía Tuổi Trẻ đã tiến hành
làm việc với các cơ quan chức năng, hãng bảo mật trong và ngoài nước nhằm
nhanh chóng khôi phục hoạt động địa chỉ web các phiên bản của báo Tuổi
Trẻ.
Anonymous đang xây dựng một công cụ tấn công DDoS mới nguy hiểm
và tinh vi hơn trước, nhằm thay thế cho “vũ khí” hiện tại.
Thông tin trên do trang tin Digital Trend công bố. Công cụ mới được gọi
là #RefRef, có rất nhiều đặc điểm ưu việt so với Low Orbit Ion Cannon
(LOIC) mà Anonymous sử dụng trong các cuộc tấn công DDoS của họ.Trước
đây, LOIC tỏ ra rất hiệu quả, song công cụ này đã bắt đầu bộc lộ những điểm
yếu trước sự phát triển của giới an ninh mạng. Điều đó được thể hiện qua các
vụ bắt giữ hàng loạt tin tặc gần đây khi LOIC không thể giúp những tay
hacker này “ẩn danh” an toàn. Digital Trend tiết lộ, #RefRef được xây dựng
bằng mã JavaScript và nhắm vào các máy chủ có hỗ trợ JavaScript và
SQL.Vừa qua, Anonymous đã thử nghiệm “vũ khí” mới bằng việc tấn công
DDoS website Pastebin, và kết quả cho thấy trang web “xấu số” đã bị đánh
sập sau khi Anonymous thử nghiệm #RefRef trong…17 giây. Theo kế hoạch,
công cụ nguy hiểm trên sẽ bắt đầu được nhóm tin tặc số một thế giới mang ra
sử dụng chính thức từ tháng 9 này.
Những thông tin trên khiến các nhà hoạt động bảo mật và an ninh mạng
sẽ cần phải hết sức dè chừng nếu không muốn hệ thống của họ trở thành nạn
nhân của #RefRef và Anonymous.
24
đã tấn công trang web của Bộ tư pháp Vương quốc Anh, cùng với trang
Number 10 của Văn phòng thủ tướng Anh. Những báo cáo khác còn cho thấy
trang web của Bộ lao động và Lương hưu Anh cũng là nạn nhân của nhóm
hacker này.
- Ngày 18/09/2012 Anonymous tấn công kho tài liệu mật của Campuchia
Đầu tháng 9 này, đồng sáng lập trang chia sẻ dữ liệu trực tuyến Thụy
Điển The Pirate Bay - Gottfrid Svartholm đã bị bắt giữ và bị trục xuất khỏi
Campuchia.
Mới đây, để trả đũa động thái này của Chính phủ Campuchia, nhóm
hacker khét tiếng Anonymous đã tấn công website của chính phủ quốc gia
này và đăng tải công khai lên Internet hơn 5.000 tài liệu mật và nhạy cảm. Cụ
thể, tin tặc đã tấn công website của Bộ Ngoại giao Campuchia và Cơ quan
hợp tác quốc tế; đặc biệt nghiêm trọng hơn khi những tài liệu bị rò rỉ không
chỉ nằm trong giới hạn của Campuchia mà còn có liên quan tới nhiều quốc gia
khác như Nepal, Ấn Độ, Pakistan...
Theo thống kê của trang The Next Web, có tất cả 5.234 tài liệu bị rò rỉ,
được lưu trữ vào hai tệp nén trên trang lưu trữ dữ liệu Deposit Files, có dung
lượng lần lượt là 161 MB và 230 MB. Những tài liệu này được viết bằng
Tiếng Anh, Hindu, Khmer và tiếng Nga.
- Ngày 11/04/2013: Website Bộ Tư pháp Đức bị tin tặc tấn công bằng
DDoS. Ngày 11/4, trang tin AP dẫn lời Bộ Tư pháp Đức cho hay website của
bộ này đã sập vì bị tin tặc tấn công từ chối dịch vụ (DDoS).
- Cuộc tấn công DDoS lớn nhất lịch sử internet
Ngày 27/03/2013 tổ chức Spamhaus vốn chịu trách nhiệm duy trì danh
sách blacklist các máy chủ đang gửi thư spam trên toàn cầu, phải hứng chịu
một cuộc tấn công DDoS với lưu lượng lớn nhất lịch sử Internet, lưu lượng
hiện đã đạt đỉnh 300 Gbps. Trong khi tổng lưu lượng internet của Việt Nam
chỉ khoảng 361 Gbps, tức là nếu cuộc tấn công này nhắm vào hạ tầng internet
Việt Nam thì chúng ta sẽ nhanh chóng bị bão hoà đường truyền và Việt Nam
26
sẽ sớm bị cách ly hoàn toàn với internet thế giới. Các cuộc tấn công DDoS
thông thường trên thế giới gần đây chỉ đạt khoảng 50 Gbps là đã đủ làm tê liệt
cơ sở hạ tầng của một tổ chức bị nhắm tới. Rất may Spamhaus hiện đang
được chống lưng bởi rất nhiều tập đoàn công nghệ lớn của thế giới như
Google, Microsoft, Yahoo, Amazon,... do đó các hãng này hiện đang chia sẻ
tài nguyên khổng lồ của họ nhằm giúp hấp thụ lưu lượng khổng lồ trên.
Nguyên nhân dẫn đến cuộc tấn công là từ một cuộc tranh cãi giữa tổ chức
Spamhaus và một công ty dịch vụ hosting của Đức tên Cyberbunker khi tổ
chức Spamhaus liệt kê các máy chủ của công ty này vào danh sách Blacklist,
danh sách này sẽ giúp các nhà cung cấp dịch vụ mail toàn cầu chặn đứng các
spam mail đến từ công ty Cyberbunker. Cuộc tranh cãi này nhanh chóng kéo
theo thành các lời đe doạ tấn công và cuối cùng, công ty này đã kết hợp với
nhiều tổ chức tin tặc tại Châu Âu để điều hướng một lượng khổng lồ gồm
nhiều mạng máy tính ma (botnets) với nhiều triệu máy tính đã bị thâm nhập
trước đó, tập trung tấn công các máy chủ DNS của Spamhaus. Điều đáng ngại
là cuộc tấn công này đã tạo nên một kỷ lục mới về lưu lượng tấn công, nó
đánh dấu một thời kì khó khăn sắp tới của internet khi mà các chính phủ có vẻ
đang bất lực trước các tổ chức tin tặc.
Chương 2
Nội dung của chương 2 tác giả sẽ tập trung đi tìm hiểu những sản phẩm
chống tấn công từ chối dịch vụ phân tán kiểu giả mạo địa chỉ IP nguồn tấn
công của một số nhà cung cấp như của Cisco, Abor, Huawei và đưa ra một số
27
đánh giá tổng quan về các giải pháp này. Ngoài ra tác giả cũng nghiên cứu
giải pháp chống tấn công DDoS sử dụng các thiết bị, phần mềm mã nguồn mở
(tường lửa, Snort…)
2.1. Nghiên cứu những sản phẩm chống tấn công từ chối dịch vụ phân
tán kiểu giả mạo địa chỉ IP nguồn tấn công và đánh giá các giải pháp,
công nghệ đã sử dụng
Hệ thống Cisco cung cấp một giải pháp bảo vệ DDoS hoàn toàn dựa trên
nguyên tắc phát hiện, chuyển hướng, xác minh và chuyển tiếp giúp đảm bảo
việc bảo vệ tổng thể. Khi một cuộc tấn công DDoS thực hiện thì giải pháp
chống DDoS của Cisco sẽ thực hiện các bước sau:
- Chuyển hướng lưu lượng dữ liệu dành cho các thiết bị mục tiêu đối với
các ứng dụng Cisco cho việc xử lý
- Phân tích và lọc các luồng lưu lượng xấu từ những gói tin có luồng lưu
lượng tốt, ngăn chặn lưu lượng truy cập độc hại từ tác động đến hiệu suất
trong khi cho phép hoàn thành các giao dịch hợp pháp.
- Chuyển tiếp lưu lượng truy cập tốt để duy trì tính nghiệp vụ liên tục.
Giải pháp Cisco cung cấp bảo vệ hoàn toàn chống lại tất cả cuộc tấn
công DDoS, ngay cả khi chưa bao giờ được thấy trước đó. Với khả năng giảm
thiểu hoạt động đó nhanh chóng phát hiện các cuộc tấn công và lưu lượng
mạng nguy hiểm. Các giải pháp của Cisco cung cấp tùy chọn khả năng mở
rộng loại bỏ bất kỳ điểm duy nhất của thất bại và không ảnh hưởng đến hiệu
suất hoặc độ tin cậy của thành phần mạng hiện có.
28
Giải pháp của Cisco thiết lập bao gồm hai thành phần Cisco Traffic
Anomaly Detector (TAD) XT và Cisco Guard XT, làm việc cùng nhau và
cung cấp đầy đủ môi trường chống DDoS.
- Cisco Traffic Anomaly Detector XT: Hoạt động như một cảnh báo
sớm, Cisco TAD XT cung cấp phân tích sâu sắc nhất tấn công DDoS phức
tạp. the Cisco TAD XT giám sát lưu lượng mạng, tìm kiếm bất kỳ sự sai lệch
từ hành vi “normal” hoặc baseline của cuộc tấn công DDoS. Khi cuộc tấn
công được xác định, Cisco TAD XT cảnh báo của Cisco XT, cung cấp chi tiết
báo cáo cũng như cảnh báo cụ thể để nhanh chóng phản ứng với các mối đe
dọa. Ví dụ, Cisco TAD XT có thể quan sát thấy tỷ lệ các gói tin UDP từ một
nguồn IP duy nhất là ra khỏi phạm vi, ngay cả khi các ngưỡng tổng thể không
vượt quá.
- Cisco Guard XT—The Cisco Guard XT là nền tảng thiết lập giải pháp
Cisco DDoS thực hiện tấn công hiệu suất cao, giảm nhẹ thiết bị ở nhà cung
cấp dịch vụ ISP, trung tâm dữ liệu hoặc một doanh nghiệp lớn để bảo vệ cả tài
nguyên mạng và dữ liệu trung tâm.
Khi Cisco Guard XT được thông báo rằng mục tiêu đang bị tấn công
(cho dù từ một Cisco TAD XT hoặc một số thiết bị an ninh giám sát khác
chẳng hạn như một phát hiện xâm nhập hoặc tường lửa), traffic dành cho các
mục tiêu được chuyển hướng đến các Guard (hoặc Guards) liên kết với các
thiết bị mục tiêu. Traffic sau đó được đưa vào phân tích qua năm giai đoạn
nghiêm ngặt và quá trình lọc được thiết kế để loại bỏ tất cả các lưu lượng
nguy hiểm trong khi cho phép các gói dữ liệu tốt tiếp tục đi qua mà không bị
gián đoạn. Cisco Guard XT nằm liền kề với một router hoặc switch trên một
giao diện mạng riêng biệt, giúp cho phép bảo vệ theo yêu cầu mà không cần
ảnh hưởng đến lưu lượng dữ liệu của hệ thống khác. Tùy thuộc vào vị trí của
29
nó, Cisco Guard XT đồng thời có thể bảo vệ nhiều mục tiêu tiềm năng, bao
gồm cả thiết bị định tuyến, máy chủ web, máy chủ DNS, và băng thông mạng
LAN, WAN.
Các giải pháp thế hệ tiếp theo của Cisco Guard XT DDoS dựa trên một
quá trình xác minh cấp bằng sáng chế kiến trúc (MVP) duy nhất tích hợp một
loạt các kiểm tra, phân tích, và thực thi các kỹ thuật để xác định và tách biệt
lưu lượng nguy hiểm từ traffic hợp pháp. Quá trình thanh lọc này bao gồm
năm phần hoặc thông qua các bước sau:
- Filtering: Môđun này bao gồm các bộ lọc DDoS cả tính và động. Bộ
lọc tính, trong đó khối traffic không cần thiết từ nạn nhân bị tấn công, là
người dùng có thể cấu hình, và đến từ Cisco với giá trị mặc định cài sẵn.
Dynamic filter được chèn vào bằng các bộ phận khác trên cơ sở quan sát hành
vi và phân tích chi tiết về lưu lượng traffic, cung cấp thông tin cập nhật thời
gian thực hoặc tăng mức kiểm tra áp dụng cho các nghi ngờ hoặc các khối
nguồn và dòng chảy đã được xác nhận là độc hại.
- Active verification: Module này xác nhận rằng các gói tin vào hệ thống
đã không bị giả mạo. Cisco Guard XT sử dụng nhiều cơ chế xác thực mã
30
nguồn độc đáo, để ngăn chăn các gói tin giả mạo đến nạn nhân. Các module
kiểm tra hoạt động cũng có một số cơ chế để giúp đảm bảo xác định đúng
traffic hợp pháp, hầu như loại bỏ nguy cơ các gói tin hợp lệ được bỏ đi.
- Anomaly recognition: Module này giám sát tất cả lưu lượng truy cập
và không dừng lại bởi bộ lọc hoặc các module kiểm tra hoạt động và so sánh
nó với hành vi cơ bản ghi nhận theo thời gian, tìm kiếm những sai lệch đó sẽ
xác định nguồn gốc của gói tin độc hại. Nguyên tắc cơ bản đằng sau các hoạt
động của module này mô hình traffic có nguồn gốc từ “black hat” daemon cư
trú tại một nguồn khác đáng kể từ mô hình được tạo ra bởi các nguồn hợp
pháp trong quá trình hoạt động bình thường. Nguyên tắc này được sử dụng để
xác định nguồn gốc tấn công và chủng loại, cũng như để cung cấp hướng dẫn
để ngăn chặn traffic, thực hiện phân tích chi tiết hơn về dữ liệu đáng ngờ.
- Protocol analysis: Module này để xác định các cuộc tấn công ứng dụng
cụ thể chẳng hạn như các cuộc tấn công lỗi HTTP. Phân tích giao thức để phát
hiện giao thức truyền lỗi bao gồm cả việc truyền không đầy đủ hoặc lỗi.
- Rate limiting: Module này cung cấp tùy chọn thực thi khác và ngăn
chặn dòng chảy hỏng khó chống lại từ mục tiêu trong khi nhiều giám sát chi
tiết đang diễn ra. Các module thực hiện traffic cho mỗi luồng tạo hình, nguồn
tiêu thụ quá nhiều tài nguyên (ví dụ, băng thông hoặc kết nối) cho thời gian
quá dài. Điều quan trọng cần lưu ý rằng, giữa cuộc tấn công, Cisco Guard XT
là trong chế độ (đang học), thụ động giám sát mô hình traffic và lưu lượng
cho các nguồn tài nguyên khác nhau bảo vệ hành vi bình thường và thiết lập
một hồ sơ cá nhân cơ bản. Thông tin này sau đó được sử dụng để nắm tình
hình về chính sách và lọc cả hai được biết và cả chưa biết, các cuộc tấn công
chưa từng thấy trong hoạt động mạng thời gian thực.
Cisco DDoS bảo vệ linh hoạt, khả năng mở rộng các kịch bản triển khai
để bảo vệ các trung tâm dữ liệu (máy chủ và các thiết bị mạng), các liên kết
ISP, và các backbones (định tuyến và máy chủ DNS)
Providers
Cisco Guard XT có thể được triển khai tại một số điểm trong cơ sở hạ
tầng của nhà cung cấp, chẳng hạn như tại mỗi điểm, để bảo vệ các bộ định
tuyến, liên kết và khách hàng. Triển khai cũng có thể tại các bộ định tuyến
biên để bảo vệ cho khách hàng. Các cơ chế phát hiện có thể được đặt tại nhà
cung cấp hoặc trên các cơ sở hạ tầng của khách hàng. Các giải pháp của Cisco
khả năng mở rộng để bảo vệ mạng tại nhà cung cấp và nhiều trung tâm dữ
liệu khách hàng từ thượng nguồn hỗ trợ triển khai các yêu cầu cung cấp dịch
vụ.
Trong trung tâm dữ liệu doanh nghiệp, Cisco Guard XT được triển khai
tại các lớp phân phối trong trung tâm dữ liệu, bảo vệ các liên kết tốc độ thấp
32
và các máy chủ. Cisco Guard XT có thể được kết nối đến switch và nó có thể
hỗ trợ một cấu hình dự phòng.
Hình 2.3. Cisco Guard XT được triển khai tại các lớp phân phối
Các Peakflow SP (“Peakflow SP”), giải pháp tích hợp thông tin tình báo
mạng lưới rộng và phát hiện bất thường với quản lý mối đe dọa để xác định
và ngăn chặn mạng và DDoS tầng ứng dụng các cuộc tấn công. Peakflow SP
TMS thiết bị mạng cung cấp quan trọng, thành phần traffic của các giải pháp
Peakflow SP. Peakflow SP TMS có thể được triển khai để cung cấp nội tuyến
“luôn luôn” bảo vệ. Không giống như các sản phẩm khác, nó cũng hỗ trợ một
kiến trúc giảm nhẹ được gọi là (diversion/reinjection). Trong chế dộ này, chỉ
có các dòng traffic mạng tấn công DDoS được chuyển hướng đến Peakflow
33
SP TMS thông qua bản cập nhật định tuyến do giải pháp SP Peakflow.
Peakflow SP TMS chỉ loại bỏ lưu lượng truy cập độc hại từ dòng chảy và
chuyển tiếp lưu lượng truy cập hợp pháp đến đích dự định. Đây là thuận lợi
lớn cho các nhà cung cấp dịch vụ, các doanh nghiệp lớn và lưu trữ lớn, các
nhà cung cấp điện toán đám mây. Nó cho phép duy nhất nằm ở trung tâm
Peakflow SP TMS để bảo vệ liên kết multiple và nhiều trung tâm dữ liệu. Nó
là kết quả trong nhiều hơn nữa hiệu quả sử dụng giảm nhẹ và hoàn toàn bảo
mật không xâm nhập. Thiết bị nội tuyến phải kiểm tra tất cả lưu lượng truy
cập tất cả các thời gian trên các liên kết theo dõi. Peakflow SP TMS chỉ cần
kiểm tra lưu lượng được chuyển hướng tới nó để đáp ứng với một cuộc tấn
công vào mục tiêu cụ thể.
Hình 2.4. Peakflow SP TMS chỉ cần kiểm tra lưu lượng được chuyển hướng
Trung tâm dữ liệu và các mạng công cộng hiện tại nhiều mục tiêu cho
các cuộc tấn công DDoS. Các mục tiêu bao gồm các thiết bị cơ sở hạ tầng (ví
dụ, các bộ định tuyến router, switch, load balancers), hệ thống tên miền
(DNS), dung lượng băng thông và ứng dụng quan trọng như Web, thương mại
điện tử, voice và video. Thậm chí các thiết bị bảo mật như tường lửa là mục
tiêu của tấn công. Các giải pháp Peakflow SP cung cấp toàn diện nhất và thích
ứng khả năng phát hiện mối đe dọa trong ngành công nghiệp, được thiết kế để
bảo vệ các nguồn tài nguyên đa dạng từ phức tạp, các cuộc tấn công pha trộn.
Những khả năng này bao gồm phát hiện bất thường thống kê, phát hiện giao
thức bất thường, phù hợp với dấu vân tay và phát hiện bất thường thuộc tính.
Peakflow SP liên tục học hỏi và thích nghi trong thời gian thực, cảnh báo cho
các nhà khai thác để tấn công cũng như những thay đổi bất thường trong mức
nhu cầu và mức dịch vụ.
Surgical Mitigation
Chìa khóa để giảm thiểu hiệu quả là khả năng nhận diện tấn công DDoS
quy mô lớn ảnh hưởng đến không chỉ là nạn nhân dự định, nhưng cũng có
khách hàng không may mắn khác, những người có thể được sử dụng dịch vụ
mạng và chia sẻ. Để giảm thiệt hại tài sản thế chấp này, dịch vụ các nhà cung
cấp và các nhà cung cấp lưu trữ thường xuyên đóng tất cả các lưu lượng dành
cho trang web nạn nhân, do đó hoàn thành các cuộc tấn công DDoS. Cho dù
đó là một cuộc tấn công khối lượng cao sử dụng hết dung lượng băng thông
hoặc một cuộc tấn công nhằm mục tiêu tìm kiếm để đưa xuống một trang
web, Peakflow SP TMS có thể cô lập và loại bỏ các traffic tấn công và không
ảnh hưởng hợp pháp người sử dụng. Phương pháp bao gồm việc xác định và
danh sách đen các host độc hại, IP dựa trên địa điểm giảm nhẹ, dựa trên giao
thức lọc bất thường, loại bỏ gói tin bị thay đổi và giới hạn tốc độ (để quản lý
một cách hiệu quả và mềm dẻo nhu cầu không độc hại). Giải pháp giảm thiểu
35
có thể được tự động và biện pháp đối phó có thể được kết hợp để giải quyết
các cuộc tấn công pha trộn.
Deep packet inspection (DPI): Để phát hiện chính xác và xác định
traffic DDoS, Huawei giải pháp chống DDoS giới thiệu “bảy lớp lọc”, mà có
hiệu quả xác định và bảo vệ chống lại toàn diện các mối đe dọa an ninh hiện
đại bao gồm scan và sniffing, các cuộc tấn công gói tin bị thay đổi, cũng như
các cuộc tấn công vào traffic và mức độ lớp ứng dụng .
Wide-ranging IPv6 defense: Huawei giải pháp chống DDoS cung cấp tất
cả IPv4 cho IPv6, và hỗ trợ IPv4 và IPv6 với nhau để cho phép an toàn và chi
phí thấp trong quá trình chuyển đổi IPv4 sang IPv6.
Second-level detection: Phát hiện dòng chảy trên là kém hơn với một
chiều dài độ trễ vì nó cần phải phân tích một lượng lớn các bản ghi. Giải pháp
chống DDoS sử dụng công nghệ của Huawei sẽ sử dụng tính năng nắm bắt
36
các cuộc tấn công trong thời gian thực, phát hiện traffic tấn công chỉ trong vài
giây.
Second latency: Trung tâm phát hiện và làm sạch đồng bộ hóa tình trạng
phiên với kết quả thu được. Việc đồng bộ hóa duy trì dịch vụ liên tục trong
khi đảm bảo một phản ứng nhanh (với 10 giây) để tấn công.
Reliable platform: Giải pháp chống DDoS của Huawei được trang bị
sức mạnh cũng như 1 + 1 MPUs và 3 + 1 SFUs. Các bộ phận dự phòng đảm
bảo độ tin cậy định tuyến cấp lõi. Ngoài ra, VRP các ngành công nghiệp hàng
đầu của giải pháp này có 4 triệu live-network , tiếp tục nâng cao nền tảng tin
cậy.
System reliability: Giải pháp chống DDoS của Huawei cung cấp thời
gian trung bình giữa thất bại (MTBF) là 500 nghìn giờ và độ tin cậy hệ thống
99,9999% bằng cách tận dụng cân bằng tải SPUs và liên kết cũng như sao lưu
hai hệ thống mạng.
Differentiated defense: Huawei giải pháp chống DDoS cung cấp phù
hợp chính sách quốc phòng cho các phân khu theo xếp hạng và dịch vụ.
Ngoài ra, các giải pháp an ninh cho phép dựa trên sự kiện tấn công truy tìm và
thu thập chứng cứ.
Self-service report: Khách hàng có thể truy vấn hơn 10 báo cáo từ xa
để tìm hiểu về mạng lưới traffic hiện tại và các cuộc tấn cống. Các báo cáo là
hữu ích trong cuộc tấn công truy tìm và thu thập chứng cứ. Huawei có thể gửi
email cho từng vùng phù hợp với báo cáo định kỳ, có thể được xuất ra file
định dạng exel hay pdf.
Application Scenarios
Customer challenges
− Hàng loạt các cuộc tấn công traffic từ mạng backbone vào khu vực
mạng đô thị (MAN), gây tắc nghẽ liên kết trên MAN. Do đó, các hãng phải
đầu tư nhiều băng thông mở rộng và trải nghiệm người dùng có thể xấu đi.
− Tấn công traffic tầng ứng dụng gây ra các máy chủ mục tiêu để từ
chối dịch vụ. Kết quả là, người dùng khiếu nại rất nhiều và một số có thể bỏ
đăng ký, và hãng bị thiệt hại kinh tế rất lớn.
Solution strengths
− Quyền cư trú ở MAN, với hiệu suất làm sạch 200G để ngăn ngừa tắc
nghẽn liên kết.
− Bảo vệ chống lại hơn 30 loại tấn công, bao gồm cả tấn công từ chối
dịch vụ (DDoS).
− Cho phép chuyển an toàn từ IPv4 sang IPv6 với IPv6 mạnh mẽ.
38
Customer challenges
− Hàng loạt các cuộc tấn công bằng traffic từ mạng đường trục vào
MAN, gây rắc nghẽn liên kết trên MAN. Do đó, các hãng phải đầu tư nhiều
hơn trong việc mở rộng băng thông và trải nghiệm người dùng có thể xấu đi.
− Tấn công traffic tầng ứng dụng gây ra đối với các máy mục tiêu bằng
tấn công từ chối dịch vụ. Kết quả là, người dùng khiếu nại nhiều và một số có
thể bỏ đăng ký, và hãng bị thiệt hại kinh tế rất lớn. Làm thế nào để đảm bảo
hoạt động ?
Solution strengths
− Quyền cư trú ở MAN, với hiệu suất làm sạch 200G để ngăn ngừa tắc
nghẽn liên kết
− Bảo vệ chống lại hơn 30 loại tấn công, bao gồm các cuộc tấn công
DDoS
− Cho phép chuyển an toàn từ IPv4 sang IPv6 với IPv6 mạnh mẽ.
− Hỗ trợ chính sách lên đến 2000 nhóm và cung cấp, quản lý và báo
cáo dịch vụ.
39
Customer challenges
Các trung tâm dữ liệu Internet (IDC) có lưu lượng đi ra và quá trình dịch
vụ khác nhau. Nó dễ dàng bị tấn công ồ ạt và tấn công vào lớp ứng dụng.
Customer challenges
Các máy chủ DNS là thành phần cốt lõi của cơ sở hạ tầng mạng và phải
được bảo vệ tốt chống lại các cuộc tấn công DDoS. Bất kỳ cuộc tấn công
40
DDoS vào máy chủ DNS có thể ảnh hưởng xấu đến mạng tại khu vực hay
toàn quốc.
Các giải pháp hiện tại hoạt động dựa trên nguyên tắc lái kết nối mạng đi
đến đích đang bị tấn công về hạ tầng hoặc thiết bị của mình sau đó sử dụng
các công nghệ để lọc các kết nối mạng được cho là không phải kết nối tấn
công và chuyển tiếp các kết nối đó về đích.
Nhược điểm của các giải pháp trên là tất cả các kết nối mạng tới hệ
thống đang bị tấn công đều bị ảnh hưởng bởi hệ thống chống tấn công DDoS.
Vì việc lái kết nối mạng dựa trên nguyên lý định tuyến lại đường đi
(Rerouting). Khi thay đổi thông tin định tuyến thì thì sẽ ảnh hưởng đến tất cả
các kết nối tới các máy trong cùng mạng vì chính sách định tuyến trên mạng
Internet chỉ cho phép thay đổi thông tin định tuyến theo từng mạng chứ không
cho phép thay đổi thông tin định tuyến theo từng Host. Thêm nữa việc thay
đổi thông tin định tuyến cần thời gian hội tụ, do vậy trong thời gian định
tuyến chưa hội tụ có thể gây mất kết nối đến hệ thống.
Hiệu năng việc lọc các các kết nối mạng sạch của hệ thống chống tấn
công DDoS cũng sẽ làm ảnh hưởng lớn đến các Host nằm trong cùng mạng
mà không bị tấn công.
Hiện tại các giải pháp chống tấn công DDoS thường được triển khai ở
mức nhà cung cấp dịch vụ. Kinh phí để triển khai giải pháp là rất cao do đó để
triển khai rộng rãi là rất khó khăn.
2.2. Nghiên cứu giải pháp chống tấn công từ chối dịch vụ phân tán kiểu
giả mạo địa chỉ IP nguồn tấn công sử dụng giải pháp một hệ thống độc
lập.
41
Hệ thống sử dụng một danh sách trắng (White list) để lưu các mạng IP
sạch. Khi xảy ra tấn công chỉ có các mạng nằm trong danh sách này mới được
kết nối vào hệ thống. Đối với giải pháp một hệ thống thì hệ thống sử dụng
tường lửa lớp 2 (Transparent Firewall) để ngăn chặn các kết nối không nằm
trong White list khi có tấn công xảy ra.
Để cho phép các kết nối mới (không nằm trong White list) kết nối vào hệ
thống khi có tấn công xảy ra, hệ thống sử dụng chức năng xác thực IP nguồn
kết nối dựa trên nguyên lý bắt tay ba bước của giao thức TCP như sau:
− Khi hệ thống nhận được một yêu cầu kết nối mới (SYN packet), hệ
thống sẽ giả mạo gói tin xác nhận kết nối (SYN, ACK) gửi lại máy nguồn.
− Đối với các IP giả mạo thì hệ thống sẽ không nhận được gói tin thiết
lập kết nối (SYN, ACK), do đó hệ thống sẽ bỏ qua yêu cầu kết nối mới của
các IP nguồn này.
42
− Đối với các IP nguồn có gửi lại gói tin xác nhận kết nối thì hệ thống
sẽ đưa mạng của IP nguồn đó vào Whitelist và cho phép kết nối vào hệ thống.
Sơ đồ và nguyên lý của hệ thống khi xử lý một kết nối mới
Hình 2.10. Sơ đồ và nguyên lý của hệ thống khi xử lý một kết nối mới
Khi có một kết nối mới gửi đến hệ thống được bảo vệ, chức năng xử lý
kết nối mới sẽ kiểm tra điều kiện xem kết nối này có phải là kết nối bình
thường không. Trường hợp là kết nối bình thường, môđun này sẽ tìm địa chỉ
mạng của IP nguồn để đưa vào WhiteList. Để đảm bảo thông tin về WhiteList
luôn được cập nhật, mỗi mạng trong WhiteList sẽ có thời gian sống. Nếu hết
thời gian sống mà không có kết nối sạch mới có IP nguồn thuộc về mạng đó,
thì mạng đó sẽ bị xóa khỏi WhiteList.
Hình 2.11. Sơ đồ và nguyên lý của hệ thống khi phòng chống tấn công
Khi có kết nối mới đến hệ thống, môđun này sẽ kiểm tra ngưỡng phát
hiện tấn công. Nếu khớp với điều kiện phát hiện tấn công, thì chức năng sẽ
gọi chức năng sẽ gọi môđun áp chính sách WhiteList và môđun xác thực IP
nguồn. Môđun này cũng đưa địa chỉ IP đích đang bị tấn công vào một danh
sách IP bị tấn công, danh sách này được môđun xác thực IP nguồn sử dụng,
môđun này chỉ xác thực những kết nối tới máy chủ có IP trong danh sách này.
Môđun này cũng cập nhật trạng thái tấn công DDoS dưới dạng một giá trị số.
Giá trị này tăng liên tục khi tấn công DDoS xả ra. Giá trị này được sử dụng để
môđun dừng chức năng chống tấn công DDoS và khôi phục lại cấu hình hệ
thống khi tấn công DDoS không xảy ra nữa. Môđun sẽ kiểm tra giá trị này sau
một khoảng thời gian được đưa vào từ thông tin cấu hình, nếu sau một khoảng
thời gian mà giá trị này không tăng thì hệ thống sẽ dừng chức năng chống tấn
công DDoS.
Hình 2.12. Sơ đồ và nguyên lý của hệ thống khi xác thực địa chỉ nguồn
Khi có kết nối mới tới hệ thống, môđun sẽ kiểm tra điều kiện lọc. Điều
kiện lọc này là điều kiện được sử dụng để xác định các kết nối sẽ được xác
thực chứ môđun không xác thực tất cả các kết nối gửi đến. Thêm nữa môđun
cũng kiểm tra địa chỉ IP đích trong kết nối có nằm trong danh sách IP đang bị
tấn công không. Nếu hai điều kiện khớp, kết nối sẽ được xác thực bằng một
trong hai phương phát được thiết lập.
Sử dụng tính năng IP packet filtering của Iptables để chăn chặn tấn
công
Iptables có thể thực hiện các chính sách đối với gói tin dựa vào các thông
tin trong TCP, UDP, IP Header.
Theo nguyên lý hoạt động của hệ thống thì Iptables sẽ sử dụng thông tin
địa chỉ IP nguồn trong IP Header để thực hiện chính sách với gói tin cần xử
lý.
Iptables sẽ cho phép các gói tin có địa chỉ nằm trong Whitelist đi qua
theo chiều từ ngoài hệ thống đi vào khi có tấn công DDoS. Các IP không nằm
trong Whitelist sẽ bị xoá khi đi qua Firewall. Tuy nhiên Firewall phải cho
phép tất cả các gói tin từ bên trong hệ thống đi ra.
Ví dụ về luật trên IP Tables:
2.2.4. Nghiên cứu giải pháp phát hiện tấn công từ chối dịch vụ phân tán sử
dụng nguồn mở (Snort)
Giới thiệu về hệ thống phát hiện tấn công mạng nguồn mở Snort
Snort là một phần mềm mã nguồn mở hệ thống phòng chống xâm nhập
và hệ thống phát hiện (IDS/IPS) được phát triển bởi Sourcefire. Kết hơp
những lợi ích của dấu hiệu, giao thức, kiểm tra bất thường dựa trên snort triển
khai công nghệ rỗng rãi IDS/IPS trên toàn thế giới.
Snort được sử dụng trong hệ thống để phát hiện tấn công DDoS dựa theo
số lượng kết nối tới hệ thống mạng được bảo vệ trong một khoảng thời gian.
R - RST - Reset
P - PSH - Push
A - ACK - Acknowledgment
U - URG - Urgent
Hệ thống sử dụng Flags:S để phát hiện những gói tin khởi tạo kết nối.
Alert TCP any any -> any any (msg:”Syn packet”; Flags:S; Sid:123456;
Rev:1)
Tuỳ chọn Mô tả
type limit|threshold|both Type limit cảnh báo trên các sự kiện trong
khoảng thời gian, sau đó bỏ qua các sự kiện cho
các phần còn lại của khoảng thời gian.
Type threshold loại cảnh báo mỗi lần chúng ta
thấy sự kiện này trong khoảng thời gian. Type
both cảnh báo này khi mỗi khoảng thời gian sau
khi nhìn thấy xuất hiện của sự kiện, sau đó bỏ
qua bất kỳ sự kiện bổ sung trong khoảng thời
48
gian.
track by _rc|by_dst Tần số sự kiện được theo dõi bằng nguồn địa
chỉ IP hoặc địa chỉ IP đích. Điều này có nghĩa
số được duy trì cho mỗi địa chỉ IP nguồn, hoặc
cho mỗi địa chỉ IP đích.
count c Số sự kiện xảy ra trong khoảng thời gian.
seconds s Thời gian đếm số sự kiện xảy ra để đưa ra cảnh
báo.
Ví dụ về Threshold Option để phát hiện 10000 kết nối khởi tạo đến máy
chủ web trong 30 giây
2.2.5. Nghiên cứu giải pháp xác thực địa chỉ IP nguồn khi hệ thống
đang bị tấn công.
Nguyên lý khởi tạo kết nối, bắt tay 3 bước của giao thức TCP
Hình 2.14. Nguyên lý khởi tạo kết nối, bắt tay 3 bước của giao thức TCP
49
Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước (3-
way handshake) Trước khi client thử kết nối với một server, server phải đăng
ký một cổng và mở cổng đó cho các kết nối: Đây được gọi là mở bị động.
Một khi mở bị động đã được thiết lập thì một client có thể bắt đầu mở chủ
động. Để thiết lập một kết nối, quy trình bắt tay 3 bước xảy ra như sau:
Bước 1: Client yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN (gói
tin TCP) tới server, trong gói tin này, tham số sequence number được gán cho
một giá trị ngẫu nhiên X.
Bước 2: Server hồi đáp bằng cách gửi lại phía client bản tin SYN-ACK,
trong gói tin này, tham số acknowledgment number được gán giá trị bằng X +
1, tham số sequence number được gán ngẫu nhiên một giá trị Y.
Bước 3: Để hoàn tất quá trình bắt tay ba bước, client tiếp tục gửi tới
server bản tin ACK, trong bản tin này, tham số sequence number được gán
cho giá trị bằng X + 1 còn tham số acknowledgment number được gán giá trị
bằng Y + 1.
Tại thời điểm này, cả client và server đều được xác nhận rằng, một kết
nối đã được thiết lập.
Hình 2.15. Nguyên lý xác thực địa chỉ nguồn của hệ thống
50
Hệ thống xác thực địa chỉ nguồn dựa trên nguyên lý bắt tay 3 bước của
giao thức TCP. Chức năng xác thực IP nguồn chỉ thực hiện khi có tấn công
DDoS xảy ra. Khi có tấn công DDoS các IP không nằm trong WhiteList sẽ
được xác thực. Khi nhận được gói tin khởi tạo kết nối đến máy chủ được bảo
vệ, hệ thống dựa vào các thông tin kết nối như cờ kết nối, số sequence
number để tạo gói tin giả mạo đồng ý kết nối (Fake SYN, ACK) gửi về máy
client. Khi máy Client nhận được thông tin phản hồi, máy client sẽ gửi gói tin
xác nhận. Khi nhận được gói tin xác nhận tự client, lúc này client đã được xác
thực thành công.
2.3. Nghiên cứu và xây dựng giải pháp chống tấn công từ chối dịch vụ
phân tán kiểu giả mạo địa chỉ IP nguồn tấn công sử dụng giải pháp kết
hợp giữa hệ thống chống tấn công từ chối dịch vụ phân tán và thiết bị
mạng.
Với mô hình hoạt động này, hệ thống hoạt động ở chế độ lắng nghe thụ
động theo dõi hoạt động mạng ở Interface đầu vào của hệ thống. Để thực hiện
các chức năng như: Đưa mạng vào Whitelist, phát hiện tấn công DDoS xác
thực địa chỉ nguồn. Mô hình này có nguyên lý hoạt động chỉ khác mô mình
nêu ở trên (mục 2.2) là cơ chế áp chính sách WhiteList vào thiết bị. Đối với
mô hình trên thì hệ thống sử dụng Iptables để thiết lập chính sách cho
Whitelist, còn ở mô hình này thì chính sách được thực hiện bằng cách áp
chính sách lên thiết bị định tuyến Cisco sử dụng Access Control List.
Giải pháp này có những ưu điểm so với giải pháp sử dụng một hệ thống
như sau:
Không làm thay đổi cấu chúc mạng của hệ thống và hiệu năng của hệ
thống mạng cần được bảo vệ do hệ thống chỉ theo dõi thụ động kết nối mạng.
Có thể tương tác với Router của nhà cung cấp dịch vụ ISP để áp chính
sách WhiteList khi băng thông kết nối từ hệ thống mạng của tổ chức đến nhà
52
cung cấp dịch vụ bị ngập băng thông. Tuy nhiên hệ thống cần được chính
sách QoS để đảm bảo rằng ưu tiên băng thông cho kết nối mạng từ hệ thống
chống tấn công đến Router của nhà cung cấp dịch vụ luôn đủ ngay khi tấn
công DDoS xảy ra.
ACLs (Access Control Lists) là một danh sách các chính sách được áp
dụng vào các cổng (interface) của một router. Danh sách này chỉ ra cho router
biết gói tin (packet) nào được cho phép đi qua (permit), hay gói tin nào bị hủy
bỏ (deny). Sự chấp nhận hay hủy bỏ này có thể dựa trên dựa vào địa chỉ
nguồn (source address), địa chỉ đích (destination address), chỉ số cổng
(socket).
− Hỗ trợ mức độ cơ bản về bảo mật cho các truy cập mạng, thể hiện ở
tính năng lọc gói tin qua router.
− Standard ACLs: là loại ACLs đơn giản, hoạt động lọc gói tin dựa vào
địa chỉ nguồn của gói tin
53
− Extended ACLs: hoạt động lọc gói tin ngoài dựa vào địa chỉ nguồn
còn có thể dựa vào địa chỉ đích, chỉ số cổng nguồn, chỉ số cổng đích của gói
tin. Vì vậy Extended ACLs có thể lọc gói tin linh hoạt hơn.
− Deny| permit: nếu gói tin thỏa mãn các điều kiện trong access-list thì
gói tin sẽ bị hủy hay cho phép qua tùy thuộc vào tham số này
− Source: chỉ đích danh địa chỉ nguồn gói tin được gửi đi
Ví dụ: Tạo extended access list 102 không cho phép traffic Telnet và
FTP từ mạng 192.168.10.0/24 đến mạng 192.168.30.0/24
54
R3(config)#interface f0/2
Dynamic ACLs
Đặc điểm: chỉ sử dụng lọc các IP traffic, Dynamic ACLs bị phụ thuộc
vào sự kết nối Telnet, sự xác thực (local or remote), và extended ACLs.
− Một user sẽ mở kết nối đến router biên được cấu hình lock-and-key.
Những kết nối của user thông qua virtual terminal port trên router.
− Khi nhận telnet packet router sẽ mở một telnet session và yêu cầu xác
thực một password hoặc một tài khoản username. User phải vượt qua sát thực
mới được cho phép đi qua router. Quá trình xác thực sẽ thực hiện bởi router
hoặc một server xác thực sử dụng giao thức RADIUS hoặc TACACS server.
− Khi user qua được sát thực, chúng sẽ thoát ra khỏi telnet session và
một entry sẽ xuất hiện trọng Dynamic ACLs
− Lúc đó, các người dùng sẽ trao đổi dữ liệu thông qua Firewall.
− Khi đúng khoảng thời gian timeout được cấu hình, router sẽ xóa entry
vừa tạo trong dynamic ACLs hoặc người quản trị có thể xóa bằng tay.
Timeout có hai loại là idle timeout hoặc absolute timeout. Idle timeout là nếu
55
user không sử dụng session này trong một khoảng thời gian thì entry trong
Dynamip sẽ bị xóa. Absolute timeout là khoảng thời gian cố định cho phép
user sử dụng session này khi hết thời gian thì entry trong Dynamic ACLs sẽ bị
xóa.
Ứng dụng: Khi bạn muốn chỉ định một user hay một group user truy cập
đến một host nào đó trong mạng của bạn, hay kết nối tới những host từ xa
thông qua Internet. Lock-and-key ACLs sẽ xác thực người dùng và sau đó
cho phép giới hạn truy cập thông qua router firewall cho một host hay một
mạng con trong một chu kỳ thời gian giới hạn.
Khi bạn muốn một đường mạng con trong mạng local network truy cập
tới một host nào đó trong mạng từ xa mà được bảo vệ bởi một firewall. Với
lock-and-key ACLs, bạn có thể truy cập tới host ở xa chỉ với một nhóm host
được đề nghị. Lock-and-key ACLs yêu cầu những người dùng xác thực thông
qua một AAA, TACACS+ server, hay những server bảo mật khác trước khi
cho phép những host truy cập đến những host ở xa.
Reflexive ACLs
Đặc điểm: ACLs này chỉ đc tạo bởi Extend Name ACLs không được tạo
bởi Numbering hay Standard Name ACL.
Ứng dụng: được sử dụng để cho phép các IP traffic từ bên ngoài của
session mà khởi tạo từ bên trọng nội mạng và ngăn những IP traffic khởi tạo
session từ mạng bên ngoài. ACLs này sẽ xem xét gói tin gửi ra ngoài nếu là
gói khởi tạo session nó tự động thêm vào một outbound entry để cho phép
traffic trả lời về. Rèflexive ACLs có thể lọc session tốt hơn thay vì chỉ ACK
và RST bit như câu lệnh permit…established. Rèflexive lọc cả địa chỉ nguồn,
đích, port, ACK và RST bit của gói tin. Ngoài ra, session filtering sử dụng
những bộ lọc tạm thời cái mà được xóa khi một session kết thúc.
56
Time-based ACLs
Đặc điểm: chức năng tương tự extended ACLs, nhưng chúng cho phép
điều khiển truy cập dựa vào thời gian
Ứng dụng: Dùng để lọc gói tin dựa vào nhiều thông tin như Exended
ACLs và dựa vào cả thông tin về thời gian.
2.3.3. Nghiên cứu phương pháp với thiết bị định tuyến Cisco sử
dụng Telnet, SSH.
SSH (Secure Shell) là một giao thức mạng dùng để thiết lập kết nối
mạng một cách bảo mật. SSH hoạt động ở lớp trên trong mô hình phân lớp
TCP/IP. Các công cụ SSH (như là OpenSSH, PuTTy,…) cung cấp cho người
dùng cách thức để thiết lập kết nối mạng được mã hoá để tạo một kênh kết nối
riêng tư. Hơn nữa tính năng tunneling (hoặc còn gọi là port forwarding) của
các công cụ này cho phép chuyển tải các giao vận theo các giao thức khác. Do
vậy có thể thấy khi xây dựng một hệ thống mạng dựa trên SSH, chúng ta sẽ
có một hệ thống mạng riêng ảo VPN đơn giản.
Mỗi khi dữ liệu được gửi bởi một máy tính vào mạng, SSH tự động mã
hoá nó. Khi dữ liệu được nhận vào, SSH tự động giải mã nó. Kết quả là việc
mã hoá được thực hiện trong suốt: người dùng có thể làm việc bình thường,
không biết rằng việc truyền thông của họ đã được mã hoá an toàn trên mạng.
− Tính bí mật (Privacy) của dữ liệu thông qua việc mã hoá mạnh mẽ
Tính toàn vẹn (integrity) của thông tin truyền, đảm bảo chúng không bị biến
đổi.
− Chứng minh xác thực (authentication) nghĩa là bằng chứng để nhận
dạng bên gửi và bên nhận
57
− Giấy phép (authorization): dùng để điều khiển truy cập đến tài khoản.
− Chuyển tiếp (forwarding) hoặc tạo đường hầm (tunneling) để mã hoá
những phiên khác dựa trên giao thức TCP/IP
Tính bí mật (Privacy)
Tính bí mật có nghĩa là bảo vệ dữ liệu không bị phơi bày. Mạng máy
tính bình thường không bảo đảm tính bí mật, bất cứ ai truy cập đến phần cứng
của mạng hoặc đến những host kết nối với mạng đều có thể sẽ đọc được tất cả
dữ liệu đi qua mạng. Mặc dù mạng chuyển mạch hiện đại đã giảm những vấn
đề này trong mạng vùng cục bộ nhưng nó vẫn còn một vấn đề nghiêm trọng
đó là mật khẩu dễ bị những kẻ xấu đánh cắp.
SSH cung cấp tính bí mật bằng việc mã hoá dữ liệu đi qua mạng. Đó là
việc mã hoá hai đầu dựa trên khoá ngẫu nhiên (sinh ra để phục vụ cho một
phiên kết nối và được huỷ đi khi phiên kết nối thành công). SSH hỗ trợ nhiều
thuật toán mã hoá đối với phiên dữ liệu, đó là những thuật toán mã hoá chuẩn
như: AES, ARCFOUR, Blowfish, Twofish, IDEA, DES và triple-DES
(3DES)
Tính toàn vẹn nghĩa là bảo đảm dữ liệu được truyền từ một đầu này đến
đầu kia của mạng không bị thay đổi. Giao thức SSH sử dụng phương pháp
kiểm tra toàn vẹn mật mã, phương pháp này kiểm tra cả việc dữ liệu có bị
biến đổi hay không và dữ liệu đến có đúng là do đầu kia gửi hay không. Nó sử
dụng thuật toán băm khoá là MD5 và SHA-1.
Chứng minh xác thực là kiểm tra định danh của ai đó để xác định chính
xác đúng là người đó hay không. Mỗi kết nối SSH bao gồm hai việc xác thực:
client kiểm tra định danh của SSH server (server authentication) và server
58
kiểm tra định danh của người sr dụng yêu cầu truy cập (user authentication).
Server authentication chắc chắn rằng SSH server là chính xác và không phải
là kẻ lừa đảo để đề phòng kẻ tấn công lại gửi kết nối mạng đến một máy khác.
Server authentication cũng bảo vệ việc bị kẻ xấu ngồi ở giữa hai bên, lừa gạt
cả hai bên nghĩa là kẻ xấu sẽ nói với server nó là client và nói với client nó là
server để đọc được dữ liệu trao đổi giữa hai bên.
User authentication theo truyền thống là làm việc với mật khẩu. Để xác
thực định danh của bạn, bạn phải đưa ra mật khẩu, và dễ bị lấy cắp. Thêm
nữa, để dễ nhớ một mật khẩu, người ta thường đặt nó ngắn và có ý nghĩa nào
đó nên dễ bị kẻ xấu đoán ra. Đối với mật khẩu dài hơn thì người ta thường
chọn những từ hoặc câu trong ngôn ngữ bẩm sinh nên cũng dễ bị bẻ khoá.
SSH hỗ trợ xác thực bằng mật khẩu, mã hoá mật khẩu khi nó truyền đi
trên mạng. Đây là sự cải thiện rất lớn so với những giao thức truy cập từ xa
thông thường khác (Telnet, FTP) mà chúng gửi mật khẩu qua mạng dưới dạng
clear text. Tuy nhiên, việc chứng thực như thế vẫn chỉ là chứng thực mật khẩu
đơn giản vì thế SSH cung cấp cơ chế mạnh hơn và dễ sử dụng hơn: mỗi user
có nhiều chữ kí khoá công cộng (per-user public-key signature) và một cải
tiến rlogin-style xác thực với định danh host được kiểm tra bằng khoá công
khai. Hơn nữa, những bản bổ sung khác nhau của SSH hỗ trợ vài hệ thống
khác bao gồm Kerberos, RSA, mật khẩu S/Key one-time và PAM. Một SSH
client và SSH server đàm phán với nhau để xác định cơ chế xác thực sẽ sử
dụng dựa trên cấu hình của chúng và một server thậm chí có thể yêu cầu
nhiều kiểu xác thực.
SSH cũng có khoá (keys), phiên (sessions) và những thứ ngộ nghĩnh
khác. Ở đây chúng ta qui định một bản tóm tắt tổng quan của tất cả các thành
phần, ví thế bạn có thể bắt đầu thấy được bức tranh lớn về SSH như sau:
Server
Một chương trình cho phép đi vào kết nối SSH với một bộ máy, trình bày xác
thực, cấp phép,…Trong hầu hết SSH bổ sung của Unix thì server thường là
sshd.
Client
Một chương trình kết nối đến SSH server và đưa ra yêu cầu như là “log me
in” hoặc “copy this file”. Trong SSH1, SSH2 và OpenSSH, client chủ yếu là
ssh và scp.
Session
Một phiên kết nối giữa một client và một server. Nó bắt đầu sau khi client xác
thực thành công đến một server và kết thúc khi kết nối chấm dứt. Session có
thể được tương tác với nhau hoặc có thể là một chuyến riêng.
Key
Một lượng dữ liệu tương đối nhỏ, thông thường từ mười đến một hoặc hai
60
nghìn bit. Tính hữu ích của việc sử dụng thuật toán ràng buộc khoá hoạt động
trong vài cách để giữ khoá: trong mã hoá, nó chắc chắn rằng chỉ người nào đó
giữ khoá (hoặc một ai có liên quan) có thể giải mã thông điệp, trong xác thực,
nó cho phép bạn kiểm tra trễ rằng người giữ khoá thực sự đã kí hiệu vào
thông điệp. Có hai loại khóa: khoá đối xứng hoặc khoá bí mật và khoá bất đối
xứng hoặc khóa công khai. Một khoá bất đối xứng hoặc khoá công khai có hai
phần: thành phần công khai và thàn phần bí mật. SSH đề cập đến 4 kiểu của
khoá như phần tóm tắt trong bảng 3-1 và diễn tả dưới đây.
User key
Là một thực thể tồn tại lâu dài, là khoá bất đối xứng sử dụng bởi client
như một sự chứng minh nhận dạng của user (một người dùng đơn lẻ có thể có
nhiều khoá).
Host key
Là một thực thể tồn tại lâu dài, là khoá bất đối xứng sử dụng bởi server
như sự chứng minh nhận dạng của nó, cũng như được dùng bởi client khi
chứng minh nhận dạng host của nó như một phần xác thực đáng tin. Nếu một
bộ máy chạy một SSH server đơn, host key cũng là cái duy nhất để nhận dạng
bộ máy đó. Nếu bộ máy chạy nhiều SSH server, mỗi cái có thể có một host
key khác nhau hoặc có thể dùng chung. Chúng thường bị lộn với server key.
Server key
Tồn tại tạm thời, là khoá bất đối xứng dùng trong giao thức SSH-1. Nó
đựợc tái tạo bởi server theo chu kỳ thường xuyên (mặc định là mỗi giờ) và
bảo vệ session key. Thường bị lộn với host key. Khoá này thì không bao giờ
được lưu trên đĩa và thành phần bí mật của nó không bao giờ được truyền qua
kết nối ở bất cứ dạng nào, nó cung cấp “perfect forward secrecy” cho phiên
SSH-1
61
Session key
Là một giá trị phát sinh ngẫu nhiên, là khoá đối xứng cho việc mã hoá
truyền thông giữa một SSH client và SSH server. Nó được chia ra làm 2 thành
phần cho client và server trong một loại bảo mật trong suốt quá trình thiết lập
kết nối SSH để kẻ xấu không phát hiện được nó.
Key generator
Một chương trình tạo ra những loại khoá lâu dài (user key và host key)
cho SSH. SSH1, SSH2 và OpenSSH có chương trình ssh-keygen
Là một chồng host key. Client và server dựa vào cơ sở dữ liệu này để
xác thực lẫn nhau.
Agent
Một chương trình lưu user key trong bộ nhớ. Agent trả lời cho yêu cầu
đối với khoá quan hệ hoạt động như là kí hiệu một giấy xác thực nhưng nó
không tự phơi bày khoá của chúng. Nó là một đặc điểm rất có ích. SSH1,
SSH2 và OpenSSH có agent ssh-agent và chương trình ssh-add để xếp vào và
lấy ra khoá được lưu.
Signer
Một chương trình kí hiệu gói chứng thực hostbased.
Random seed
Một dãy dữ liệu ngẫu nhiên được dùng bởi các thành phần SSH để khởi
chạy phần mềm sinh số ngẫu nhiên.
Configuration file
62
Một chồng thiết lập để biến đổi hành vi của một SSH client hoặc SSH
server. Không phải tất cả thành phần đều được đòi hỏi trong một bản bổ sung
của SSH. Dĩ nhiên những server, client và khoá là bắt buộc nhưng nhiều bản
bổ sung không có agent và thậm chí vài bản không có bộ sinh khoá.
Trong nhiều năm qua, một số điểm yếu (vulnerability) trong các daemon
của TELNET đã bị người ta phát hiện, và có thể vẫn còn những điểm yếu tồn
tại chưa tìm thấy. Những điểm yếu đó tạo cơ hội cho những tấn công bên
ngoài vào máy, vào người dùng, làm cho việc sử dụng và điều hành máy trở
nên một mối lo ngại. Ở dạng nguyên của mình, TELNET không mật mã hóa
các dữ liệu truyền tải qua đường dây kết nối (kể cả mật khẩu), vì thế việc
nghe trộm đường truyền thông là một việc tương đối dễ dàng thực hiện. Mật
khẩu lấy trộm được có thể được dùng vào những việc có mục đích hiểm độc.
TELNET thiếu nghi thức xác thực người dùng. Nhu cầu xác thực người dùng
63
là một nhu cầu quan trọng, đảm bảo sự giao thông giữa hai máy chủ trong
cuộc, không bị một người trung gian xen vào (xin xem thêm những tấn công
trung gian (Man-in-the-middle attacks).
Trong một môi trường làm việc mà sự an toàn và bí mật là một yêu cầu
quan trọng, nhưng trên mạng lưới công cộng Internet, việc dùng TELNET là
một việc không nên. Phiên giao dịch dùng TELNET là một phiên giao dịch
thường, dữ liệu truyền thông không được mật mã hóa (unencrypted). Nếu có
một người ngoài nào có khả năng truy cập, hoặc đến gần được vào một bộ
định tuyến (router), một bộ chuyển mạch (switch), hoặc một cổng nối
(gateway) nằm trên mạng lưới, giữa hai máy chủ dùng "telnet" ở trên, người
đó có thể chặn các gói dữ liệu của TELNET trên đường truyền, lấy những tin
tức về đăng nhập, mật khẩu (và tất cả những gì mà người gửi đã đánh máy),
bằng cách sử dụng một số những công cụ phần mềm như tcpdump hoặc
Wireshark chẳng hạn.
Những sơ hở này gây sự mất uy tín đối với TELNET rất cao và càng
ngày càng ít người sử dụng nó. Người ta dần dần chuyển sang dùng SSH, một
giao thức có tính năng tương tự, nhưng an toàn hơn. SSH ra đời vào năm
1995. SSH cung cấp tất cả những chức năng đã có trong "TELNET", nhưng
thêm chức năng mật mã hóa dữ liệu, tránh cho những dữ liệu có tính nhạy
cảm cao bị chặn lại và bị nghe trộm.
Những chuyên gia về bảo mật máy tính như Viện SANS (SysAdmin,
Audit, Network, Security Institute) và những thành viên của nhóm tin tức
(newsgroup) comp.os.linux.security - (xem thêm FAQ ở đây) - khuyên mọi
người rằng bất cứ một kết nối nào, không sử dụng đăng nhập từ xa (remote
logins) dùng TELNET, trong những hoàn cảnh bình thường, đều đáng phải bị
ngắt mạch, không được phép tiếp tục. Khi TELNET mới được thiết kế và xây
64
dựng vào năm 1969, phần đông những người dùng máy tính liên kết mạng là
những người làm việc trong bộ phận vi tính của các cơ quan giáo dục, những
bộ phận nghiên cứu lớn của tư nhân hoặc của chính phủ. Dưới môi trường ấy,
bảo an truyền thông là một việc không mấy người quan tâm. Mãi cho đến khi
sự bùng nổ về dải tần trong năm thuộc thập niên 1990, khi số lượng người
truy cập và sử dụng Internet tăng lên gấp bội lần, và đồng thời với sự tăng
trưởng này, số lượng người tấn công vào các máy chủ cũng tăng nhanh, thì
việc bảo an truyền thông kết nối mới được để ý đến.
Chương 3
Nội dung của chương 3 tác giả tập chung vào việc xây dựng hệ thống
chống tấn công từ chối dịch vụ phân tấn kiểu giả mạo địa chỉ IP nguồn tấn
65
công gồm: Thiết kế kiến trúc hệ thống; Thiết kế giao diện quản trị; Xây dựng
các môđun (Phát hiện tấn công DDoS; tự động thu thập địa chỉ IP sạch phục
vụ cho giai đoạn tấn công; xác thực địa chỉ nguồn kết nối cho phép các kết
nối bình thường vẫn có thể truy cập dịch vụ khi có tấn công xảy ra; tương tác
giữa hệ thống chống tấn công DDoS và thiết bị định tuyến của Cisco).
Network Tape đặt ở Interface Outsite của Router Cisco để lắng nghe thụ
động thông tin mạng.
66
3.2.1. Yêu cầu về thiết kế phần mềm và giao diện quản trị hệ thống
Bảng 3.1. Yêu cầu về thiết kế phần mềm và giao diện quản trị
Thiết kế hệ thống Đảm bảo đáp ứng đầy đủ các tính năng theo yêu
cầu, có khả năng mở rộng
Công nghệ Sử dụng Công nghệ Web base
Yêu cầu về giao diện Giao diện web dễ hiểu và khoa học
Cung cấp tối đa các loại dữ liệu danh mục, hỗ trợ
cho các thao tác nhập liệu và tìm kiếm dữ liệu
nhanh và chính xác.
Có tính logic trong các thao tác xử lý và tiện ích.
Bảo đảm an toàn thông Có cơ chế xác thực bằng tên truy cập và mật khẩu
tin Mật khẩu khi lưu trong CSDL phải được mã hóa
Có phương án sao lưu dữ liệu đảm bảo khả năng
lưu trữ và khôi phục dữ liệu
Có cơ chế phân quyền hợp lý để đảm bảo quản lý
chặt chẽ thông tin
Môi trường hoạt động Phần mềm chạy ổn định trên máy chủ web server
67
Ngôn ngữ lập trình Sử dụng các ngôn ngữ lập trình PHP
Tương thích với các Giao diện web có thể sử dụng tốt bằng các loại trình
trình duyệt duyệt : Internet Explorer, Mozillar Firefox
Tính năng kiến trúc Hệ thống cần có kiến trúc và thiết kế mở để dễ dàng
mở nâng cấp, mở rộng
Giao diện quản trị cho phép người dùng cấu hình và quản trị hệ thống sử
dụng giao diện web. Giao diện quản trị hệ thống bao gồm các phần sau:
Quản trị cấu hình các thông số phát hiện tấn công DDoS
68
Hình 3.3. Giao diện cấu hình thông số phát hiện tấn công DDoS
Hình 3.4. Giao diện cấu hình thông số xác thực địa chỉ nguồn
3.3. Xây dựng môđun phát hiện tấn công từ chối dịch vụ phân tán giả
mạo địa chỉ IP nguồn tấn sử dụng nguồn mở
# vi /etc/apt/sources.list
# cp /usr/src/snort-2.9.4/etc/*.conf* /etc/snort
# cp /usr/src/snort-2.9.4/etc/*.map /etc/snort
# cp /usr/src/snort.conf /etc/snort
# vi /etc/snort/snort.conf
71
Line #521 - add this line output unified2: filename snort.log, limit 128
3.4. Xây dựng môđun tự động thu thập địa chỉ IP sạch phục vụ cho giai
đoạn chống tấn công.
Hình 3.5. Sơ đồ thuật toán tự động thu thập địa chỉ IP sạch
Khi hệ thống nhận được một kết nối mới, hệ thống sẽ kiểm tra kết nối
này có là kết nối bình thường không dựa vào nguyên lý bắt tay 3 bước để khởi
tạo một kết nối TCP. Khi kết nối thành công hệ thống sẽ truy vấn để tìm ra
địa chỉ mạng của IP nguồn. Trong trường hợp không tìm thấy hệ thống sẽ lưu
log để người quản trị xử lý. Nếu tìm thấy thông tin mạng, hệ thống kiểm tra
xem mạng này đã tồn tại trong WhiteList chưa, nếu chưa thì đưa vào
WhiteList.
3.4.2. Xây dựng môđun xử lý địa chỉ nguồn khi hệ thống phát hiện
một kết nối mạng thành công
Môđun trong hệ thống có tên là ProcessIP. Sau khi kiểm tra điều kiện kết
nối thành công, môđun sẽ xử lý địa chỉ nguồn để đưa vào WhiteList như sau.
#!/bin/bash
# Lookup IP infor
time=`date`
netid=`date | sed 's/[:]//g' | awk '{print $3 $4}'`
ip=$1
country=`/etc/blockattacks/DDoSdefence/lookup_infor $ip | awk '{print $1}'`
octet=`echo $ip | awk 'BEGIN {FS = "."} {print $1}'`
if [ $octet -le 127 ]; then
Chek Source IP in Class A
73
fi
if [[ $octet -ge 128 && $octet -le 191 ]]; then
Chek Source IP in Class B
fi
if [ $octet -ge 192 ]; then
Chek Source IP in Class C
fi
# If found network in Country List
if [ "$found" != "" ]; then
# Check Netwok exists in WhiteList
exist=`cat /etc/blockattacks/DDoSdefence/DDoSDefenceWhitelist | grep -w "$net
$wc"`
if [ "$exist" = "" ]; then
# Check DDOS Status
DDoSstatus=`cat /etc/blockattacks/DDoSdefence/DDoSstatus`
if [ "$DDoSstatus" = "attacked" ]; then
netid=`date | sed 's/[:]//g' | awk '{print $3 $4}'`
# Add Net to Router
Read connection parameters
if [ "$protocol" = "telnet" ]; then
Send Policies to Router using Telnet
if [ "$protocol" = "ssh" ]; then
Send Policies to Router using SSH
fi
fi #end if DDoS attacked
3.5. Xây dựng môđun xác thực địa chỉ nguồn kết nối cho phép các kết nối
74
bình thường vẫn có thể truy cập khi tấn công xảy ra.
3.5.1. Sơ đồ thuật toán xác thực địa chỉ nguồn kết nối
Hình 3.6. Sơ đồ thuật toán xác thực địa chỉ nguồn kết nối
Khi tấn công DDoS xảy ra, để các kết nối mới có địa chỉ IP không nằm
trong WhiteList có thể kết nối tới máy chủ dịch vụ. Hệ thống phải xác thực IP
nguồn xem IP đó có phải là địa chỉ IP giả mạo hay không. Hệ thống có hai cơ
chế xác thực địa chỉ IP nguồn. Cách thứ nhất là khi hệ thống nhận được gói
tin khởi tạo kết nối thì hệ thống sẽ giả mạo gói tin xác nhận kết nối của máy
chủ dịch vụ và gửi về địa chỉ nguồn, nếu hệ thống nhận được gói tin xác nhận
của phía nguồn thì IP nguồn được xác thực. Cách thứ hai là dựa vào cơ chế
hoạt động của các ứng dụng, khi gửi gói tin khởi tạo kết nối không thành công
thì máy nguồn sẽ gửi gói tin kết nối tiếp theo trong khi các địa chỉ nguồn giả
mạo chỉ gửi một gói tin khởi tạo. Khi hệ thống nhận được từ một nguồn với
nhiều gói tin khởi tạo kết nối trong một khoảng thời gian có nghĩa IP nguồn
đó là nguồn thực. Khi địa chỉ nguồn được xác thực, hệ thống sẽ cho phép IP
nguồn đó kết nối tới máy chủ dịch vụ bằng cách gửi lệnh lên thiết bị bảo mật
75
sau đó đưa địa chỉ mạng của IP nguồn đó vào WhiteList được đưa vào
WhiteList.
3.5.2. Xây dựng môđun xác thực địa chỉ nguồn kết nối
Môđun xác thực kết nối được xây dựng dựa trên sơ đồ nguyên lý trên
như sau:
#!/bin/bash
time=`date`
srcip=$1
Reading packet Information
srcport=$2
dstip=$3
dstport=$4
seq=$5
if [ "$srcip" != "" ] && [ "$srcport" != "" ] && [ "$dstip" != "" ] &&
[ "$dstport" != "" ]
then
#check DDoS attack status
attackstatus=`cat /etc/blockattacks/DDoSdefence/DDoSstatus`
if [ "$attackstatus" == "attacked" ];then
# Check dstip in attacked list
dstipexist=`grep "$dstip"
/etc/blockattacks/DDoSdefence/attackedservers`
if [ "$dstipexist" != "" ];then
Call Fake IP Function
Send Fake IP to Source IP
Check response packets
If [time out] && [ No Response ]
Ignore this source IP
else
Lookup network for this source IP
Send permit policy for this network to Security Device
Add Network to Whitelist
fi
fi
fi
fi
3.6. Xây dựng môđun tương tác giữa môđun chống tấn công và thiết bị
76
Hình 3.7. Sơ đồ thuật toán tương tác giữa hệ thống và Router Cisco
Khi xảy ra tấn công DDoS hệ thống sẽ gọi môđun tương tác với thiết bị bảo
mật để gửi lệnh đến thiết bị bảo mật. Môđun tương tác phải đọc file cấu hình để
có thông tin kết nối với thiết bị bảo mật, đọc thông tin về các mạng trong
WhiteList sau đó gửi danh sách các mạng tới thiết bị bảo mật và cuối cùng là áp
chính sách vào Interface tương ứng của thiết bị bảo mật. Đối với thiết bị định
tuyến của Cisco, thì hệ thống có thể tương tác sử dụng giao thức Telnet và SSH.
Giao thức Telnet chỉ dùng khi thiết bị định tuyến không hỗ trợ SSH.
3.6.2. Xây dựng môđun tương tác
Môđun tương tác với thiết bị bảo mật được xây dựng dựa trên nguyên lý
trên như sau:
#!/bin/bash
#Set DDOS Defence Status
defencemode=`sudo cat /etc/blockattacks/DDoSdefence/defencemode`
defenceid=`date | sed 's/[:]//g' | awk '{print $3 $4}'`
echo $defenceid > /etc/blockattacks/DDoSdefence/attackedcount
echo $1 >> /etc/blockattacks/DDoSdefence/attackedservers
if [ "$defencemode" = "enable" ]; then
DDoSstatus=`cat /etc/blockattacks/DDoSdefence/DDoSstatus`
if [ "$DDoSstatus" != "attacked" ]; then
# Change DDOS Attack Status
77
Else
Send Policies to Router using SSH Protocol
fi
fi
if [ "$devicetype" == "iptables" ];then
Send Policies to iptables
fi
if [ "$devicetype" == "winfw" ];then
Send Policies to winfw
fi
break;
fi
done
fi
fi
Chương 4
Nội dung của chương 4 sẽ đề cập tới vấn đề Triển khai thử nghiệm giải
pháp bao gồm: Chuẩn bị thiết bị, phần mềm liên quan, chuẩn bị các nguồn tấn
công, xây dựng hệ thống mạng thử nghiệm và đưa ra một số kịch bản thử
nghiệm.
- 01 Máy chủ sử dụng để cài đặt dịch vụ Web sử dụng hệ điều hành Win
2k8 cài đặt Web server IIS.
- 01 Máy chủ sử dụng để tạo ra các nguồn tấn công thử nghiệm sử dụng
Backtrack 5 R2
4.2. Chuẩn bị nguồn tấn công từ chối dịch vụ phân tán kiểu giả mạo địa
chỉ IP nguồn tấn công phục vụ thử nghiệm hệ thống.
Nguồn tấn công thử nghiệm được thu thập từ các cuộc tấn công mạng
xảy ra tại Việt Nam. Tuy nhiên để tạo ra nguồn tấn công thử nghiệm cần phải
sửa thông tin mẫu về địa chỉ MAC, địa chỉ IP tương ứng với mô hình thử
nghiệm.
4.3. Xây dựng hệ thống mạng thử nghiệm bao gồm máy chủ dịch vụ thử
nghiệm và hệ thống chống tấn công từ chối dịch vụ phân tán kiểu giả
mạo địa chỉ IP nguồn tấn công.
Mô hình hệ thống thử nghiệm được thiết kế như sau:
Network Tape được sử dụng để trích rút dữ liệu trên Interface Outsite
của Router2900. Máy chủ Web được bảo vệ với Firewall ASA5505.
Kết nối vật lý của hệ thống được thực hiện theo hình trên.
4.4. Kịch bản thử nghiệm khả năng chống tấn công DDOS kiểu giả mạo
địa chỉ IP nguồn tấn công của hệ thống
Kịch bản 1: Kiểm tra khả năng chống tấn công DDOS của hệ thống
Kiểm tra khả năng chống tấn công DDoS của hệ thống là kiểm tra xem
khi thực hiện giả lập tấn công thì hệ thống có khả năng phòng thủ không.
Trường hợp hệ thống có khả năng phòng thủ thì khi giả lập tấn công thì ta vẫn
có thể kết nối vào hệ thống. Kiểm tra khả năng chống tấn công bao gồm các
bước sau:
Hình 4.4. Kiểm tra các kết nối đến máy chủ
Bước 4: Thử truy cập dịch vụ trên máy chủ và kiểm tra kết quả (Không
truy cập được dịch vụ)
Hình 4.6. Kiểm tra trạng thái trên hệ thống phòng thủ
Hình 4.7. Kiểm tra trạng thái trên thiết bị định tuyến
Bước 8: Thử truy cập dịch vụ trên máy chủ và kiểm tra kết quả (Truy
cập được dịch vụ).
Hình 4.8. Truy cập dịch vụ trên máy chủ và kiểm tra kết quả.
Kịch bản 02: Kiểm tra khả năng tự động xây dựng WhiteList
Kiểm tra khả năng tự động xây dựng WhiteList là kiểm tra khả năng hệ
thống tự động đưa đỉa chỉ IP nguồn của một kết nối vào WhiteList khi kết nối
đó được thực hiện thành công. Các bước kiểm tra được thực hiện như sau:
Bước 1: Kiểm tra địa chỉ mạng nguồn của máy kết nối tới hệ thống
85
Hình 4.9. Kiểm tra địa chỉ mạng của máy kết nối tới hệ thống
Bước 2: Xóa mạng của máy kết nối nếu có trong WhiteList nếu có
Hình 4.10. Xoá mạng của máy kết nối nếu có trong WhiteList
Bước 4: Kiểm tra mạng của máy kết nối đã có trong hệ thống.
Hình 4.12. Kiểm tra mạng của máy kết nối trong hệ thống
Kịch bản 03: Kiểm tra khả năng xác thực địa chỉ IP nguồn cho phép
các kết nối vào hệ thống khi xảy ra tấn công DDOS.
Bước 1: Kiểm tra địa chỉ mạng nguồn của máy kết nối tới hệ thống
87
Hình 4.13. Kiểm tra địa chỉ mạng của máy kết nối tới hệ thống
Bước 2: Xóa mạng của máy kết nối nếu có trong WhiteList nếu có
Hình 4.14. Xoá mạng của máy kết nối nếu có trong WhiteList
Hình 4.15. Thực hiện giả lập tấn công vào hệ thống
88
Bước 6: Kiểm tra kết quả cho phép kết nối nhanh của IP đã được xác
thực trên thiết bị định tuyến
89
Bước 8 : Kiểm tra kết quả kết nối thành công của IP nguồn.
90
Hình 4.20. Kiểm tra kết quả kết nối thành công của IP nguồn.
1. Kết luận
Hệ thống đã được xây dựng theo các chức năng đã đưa ra trong đề cương
luận văn. Hệ thống đã ngăn chặn được tấn công DDoS trong môi trường thử
nghiệm.
--
91
Tuy nhiên trong quá trình phát triển hệ thống phát sinh nhiều hướng phát
triển tiếp theo của hệ thống vì hệ thống còn tồn tại các vấn đề kỹ thuật sau
− Hiện tại hệ thống đang xác thực tất cả các IP nguồn khi tấn công xảy
ra. Việc này có thể gây quá tải, quá khả năng đáp ứng của hệ thống nếu sử
dụng phương pháp xác thực xác nhận kết nối. Hệ thống cần phải lọc được các
IP nguồn nghi ngờ là kết nối bình thường sau đó mới thực hiện xác thực để
tránh quá tải hệ thống.
− Ngưỡng phát hiện tấn công hiện tại là do người quản trị đưa ra mà
chưa có cơ chế tự động thiết lập và cập nhật ngưỡng.
− Khả năng tương tác với các loại thiết bị mạng còn hạn chế, hiện tại hệ
thống mới chỉ tương tác được với thiết bị định tuyến Cisco, các dòng thiết bị
định tuyến khác chưa hỗ trợ.
− Hệ thống chưa có khả năng phát hiện và ngăn chặn tấn công DDoS
xảy ra ở lớp ứng dụng.
2. Kiến nghị
Chống tấn công từ chối dịch vụ phân tán là thách thức đối với mọi hệ
thống, giải pháp của các nhà phát triển. Các cuộc tấn công DDoS đã thể hiện
hiệu quả trong việc làm ngừng dịch vụ của các hệ thống dịch vụ và công nghệ
và kỹ thuật tấn công cũng thay đổi theo từng đối tượng. Do vậy tác giả xin đề
xuất tiếp tục phát triển giải pháp chống tấn công DDoS theo hướng phát triển
sau:
Phát triển thêm các tính năng cho giải pháp chống tấn công từ chối dịch
vụ giả mạo IP nguồn tấn công với các tính năng
− Nghiên cứu xây dựng giải pháp lọc địa chỉ IP nguồn tấn công để xác
thực khi tấn công DDoS xảy ra.
− Phát triển thêm các môđun tương tác với các thiết bị bảo mật khác.
Phát triển tính năng phát hiện tấn DDoS ở lớp ứng dụng với các tính
năng sau:
− Tự động xây dựng dấu hiệu tấn công DDoS ở lớp ứng dụng.
− Tự động lệnh cho các thiết bị bảo mật, hệ điều hành máy chủ ngăn
chặn tấn công.
93