Nghiên cứu các giải pháp phòng chống tấn công từ chối dịch vụ phân tán (DDoS) dùng công nghệ FPGA Title: Nghiên cứu các giải pháp phòng chống tấn công từ chối dịch vụ phân tán (DDoS) dùng công nghệ FPGA = FPGA based DDoS attack prevention techniques Other Titles: F PGA based DDoS attack prevention techniques Authors: Hồ Anh Phúc Advisor: Phạm Ngọc Nam Keywords: Mạch tích hợp; Tấn công từ chối dịch vụ phân tán (DDoS); Công nghệ FPGA Issue Date: 2019 Publisher: Trường đại học Bách Khoa Hà Nội Abstract: Tổng quan về từ chối dịch vụ phân tán DDoS; giải pháp chống tấn công DDOS; đề xuất giải pháp.
Trang 1LỜI CẢM ƠN Tôi xin gửi lời cảm ơn trân trọng nhất tới PGS.TS Phạm Ngọc Nam, người
đã cho tôi những định hướng và những ý kiến rất quý báu để tôi hoàn thành được khóa luận tốt nghiệp này
Tôi xin tỏ lòng biết ơn sâu sắc tới các thầy cô, bạn bè đã dìu dắt, giúp đỡ tôi tiến bộ trong suốt quá trình làm khóa luận tốt nghiệp Xin cảm ơn gia đình và bè bạn, những người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn cảnh khó khăn Tôi xin cảm ơn Viện Điện tử viễn thông, Viện Đào tạo Sau đại học, Trường Đại học Bách khoa Hà Nội đã hết sức tạo điều kiện cho tôi trong quá trình học, làm và hoàn thành khóa luận này
Hà Nội, ngày … tháng …năm 2018
Người thực hiện
Hồ Anh Phúc
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan, những gì mà tôi viết trong luận văn này là do sự tìm hiểu, nghiên cứu của bản thân và sự hướng dẫn của PGS.TS Phạm Ngọc Nam Mọi kết quả nghiên cứu cũng như ý tưởng của các tác giả khác nếu có đều được trích dẫn nguồn gốc cụ thể
Tôi xin hoàn toàn chịu trách nhiệm về những gì mà tôi đã cam đoan ở trên
Hà Nội, ngày … tháng …năm 2018
Người thực hiện
Hồ Anh Phúc
Trang 3MỤC LỤC
DANH MỤC HÌNH VẼ 6
LỜI NÓI ĐẦU 8
CHƯƠNG I TỔNG QUAN VỀ DDOS 11
1.1 Tấn công từ chối dịch vụ phân tán (DDoS) 11
1.1.1 Tấn công lớp 3/4 12
1.1.2 Tấn công lớp 7 19
1.1.3 Các nguồn tấn công DDoS 21
1.1.4 Các hình thức tấn công 21
1.1.5 Xu hướng DDoS 22
1.2 Giới thiệu chung về phòng chống DDoS 23
1.2.1 Các hệ thống phòng chống DDoS phổ biến 23
1.2.2 Các giải pháp độc quyền, phía máy chủ 24
1.2.3 Phòng chống DDoS cho các nhà cung cấp dịch vụ 24
1.2.4 Bảo vệ các mạng phân phối nội dung 25
CHƯƠNG II GIẢI PHÁP CHỐNG TẤN CÔNG DDOS 27
SỬ DỤNG CÔNG NGHỆ FPGA 27
2.1 Kiến trúc của hệ thống phòng vệ dựa trên FPGA 27
2.1.1 Cấu trúc của hệ thống 27
2.1.2 Khối C-GEP 28
2.1.3 Phần mềm IDS 39
2.1.5 Thiết bị chuyển mạch 43
2.1.6 Bộ điều khiển SDN 45
2.2 Tính kịp thời của hệ thống 45
CHƯƠNG III ĐỀ XUẤT GIẢI PHÁP 47
3.1 Thiết kế một bộ phát hiện DDoS dựa trên FPGA 47
3.1.1 Khái niệm bộ giải mã nhiều bước 48
3.1.2 Thời gian phản hồi của bộ phát hiện tấn công 49
3.1.3 Thiết kế của bộ giải mã 50
Trang 43.1.4 Đo tải ở thiết bị đầu cuối 51
3.1.5 Mô-đun phát hiện tấn công DDoS 51
3.1.6 Cây ra quyết định trong kiểu tấn công UDP 52
3.1.7 Cơ sở dữ liệu dựa trên danh tiếng 55
3.2 Triển khai bộ phát hiện tấn công DDoS dựa trên FPGA 55
3.2.1 Các ràng buộc thiết kế tốc độ cao 56
3.2.2 Bộ giải mã 56
3.2.3 Module tương thích 1Gbps, 10Gbps 57
3.2.4 Tổng hợp và phân loại bảng băm 57
CHƯƠNG IV ĐÁNH GIÁ GIẢI PHÁP 63
4.1 Mô phỏng bộ phát hiện tấn công 63
4.1.1 Mẫu lưu lượng tin được sử dụng cho các thử nghiệm 63
4.1.2 Thu thập lưu lượng tin mẫu 63
4.1.3 Quy trình kiểm tra 63
4.2 Kiểm tra bộ phát hiện tấn công 64
4.2.1 Biên dịch các phép đo 64
4.2.2 Quá trình đo lường 65
4.2.3 Kết quả đo 65
4.3 Báo cáo về các thí nghiệm kiểm tra tấn công 66
4.3.1 Tấn công NTP 66
4.3.2 UDP flood 68
4.3.3 DNS flood 69
4.3.4 Tấn công phân mảnh UDP 70
4.3.5 RIPv1 71
4.3.6 SYN flood 73
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 76
Trang 5DANH MỤC TỪ VIẾT TẮT
3 DOS Denial of Service
4 DDOS Distributed Denial of Service
5 FPGA Field-programmable gate array
6 FTP File Transfer Protocol
7 HTTP HyperText Transfer Protocol
8 ICMP Internet Control Message Protocol
9 IDS Intrusion Detection System
10 IP Internet Protocol
11 IPS Intrusion Prevention System
12 NAT Network Address Translation
13 NTP Network Time Protocol
14 UDP User Datagram Protocol
15 RPC Remote Procedure Call
16 TCP Transmission Control Protocol
Trang 6DANH MỤC HÌNH VẼ
Hình 1.1 Phân phối các cuộc tấn công DDoS giữa các lớp 11
Hình 1.2 Tần suất và các biến thể của DDoS 2016 12
Hình 1.3 Tấn công SYN flood 13
Hình 1.4 Tấn công UDP flood 15
Hình 1.5 Tấn công NTP 17
Hình 1.6 Tấn công DNS 18
Hình 1.7 Phân bố các cuộc tấn công lớp 7 quý 2 năm 2016 [3] 20
Hình 1.8 Hệ thống phòng thủ của Incapsula 25
Hình 2.1 Sơ đồ khối của hệ thống bảo vệ 28
Hình 2.2 Sơ đồ của khối C-GEP 29
Hình 2.3 Cấu trúc logic của hệ thống giám sát C-GEP 30
Hình 2.4 Sơ đồ phân tích cú pháp gói 33
Hình 2.5 Phân loại gói dựa trên đường ống 37
Hình 2.6 Phân loại gói dựa trên Block RAM 38
Hình 2.7 Ví dụ về quy trình RADAR 40
Hình 2.8 Tạo lưu lượng tin cho IDS 43
Hình 2.9 Điều khiển thiết bị chuyển mạch với nguyên lý RADAR 44
Hình 3.1 Hoạt động chính của bộ phát hiện DDoS 47
Hình 3.2 Phác thảo thời gian phản hồi của bộ phát hiện DDoS 49
Hình 3.3 Cây ra quyết định trong kiểu tấn công dựa trên UDP 54
Hình 3.4 Cấu trúc của bộ phát hiện tấn công 56
Hình 3.5 Bảng thời gian lấy mẫu 59
Hình 3.6 Các bước của quá trình phân loại 60
Hình 3.7 Logic của việc tái cấu hình 60
Hình 3.8 Nguyên tắc hoạt động của việc quản lý quá trình phân loại 61
Hình 4.1 Sơ đồ khối của kiểm nghiệm vật lý 64
Hình 4.2 Bộ tạo lưu lượng tin 65
Hình 4.3 Mẫu từ tấn công NTP 66
Trang 7Hình 4.4 Một gói tin từ cuộc tấn công 67
Hình 4.5 Mô phỏng tấn công NTP 67
Hình 4.6 Một số gói tin của cuộc tấn công 68
Hình 4.7 Một gói tin của cuộc tấn công UDP flood 68
Hình 4.8 Dấu hiệu ẩn 68
Hình 4.9 Một số gói tin của cuộc tấn công DNS 69
Hình 4.10 Một gói tin của cuộc tấn công DNS 69
Hình 4.11 Một số gói tin của cuộc tấn công phân mảnh UDP 70
Hình 4.12 Một gói tin của cuộc tấn công phân mảnh UDP 70
Hình 4.13 Một số gói tin của cuộc tấn công RiP 71
Hình 4.14 Một gói tin của cuộc tấn công RiP 72
Hình 4.15 Một số gói tin của cuộc tấn công SYN flood 73
Hình 4.16 Một gói tin của cuộc tấn công SYN flood 73
Trang 8LỜI NÓI ĐẦU
Bảo vệ mạng máy tính khỏi các tác nhân độc hại ngày càng trở nên khó khăn hơn mỗi năm Tin tặc ngày càng tìm ra nhiều cách tinh vi và phức tạp hơn để tấn công các nhà cung cấp nội dung số Các chuyên gia bảo mật phải liên tục nâng cấp
và phát triển các giải pháp của họ để chiến đấu chống lại những mối đe dọa này
Câu hỏi đặt ra là làm thế nào các nhà cung cấp dịch vụ có thể bảo vệ hệ thống của mình chống lại những thế hệ tiếp theo của các cuộc tấn công phân tán từ chối dịch vụ DDoS (Distributed Denial of Service), loại thiết bị nào có thể đem lại hiệu quả nhất trong việc bảo vệ này? Thực ra, chúng ta phải tự điều chỉnh kỹ thuật
và công cụ của chính mình để chiến đấu với các mối đe dọa luôn thay đổi Luận văn này chỉ ra các xu hướng mới nhất trong lĩnh vực này và cố gắng đề xuất một giải pháp đối với vấn đề đặt ra Mục đích chính của luận văn là trình bày hệ thống phát hiện xâm nhập (IDS) dựa trên phần cứng
Việc giới thiệu sử dụng phần cứng FPGA (Field Programmable Gate Array) vào phần lớn những quá trình hướng phần mềm mở ra nhiều cơ hội mới Phần cứng FPGA cung cấp khả năng xử lý song song ở tốc độ cao có thể làm tăng khả năng tính toán phức tạp và tốc độ của quá trình phát hiện Hệ thống dựa trên FPGA có thể phát hiện các cuộc tấn công DDoS nhất định chỉ tốn một phần thời gian so với thời gian cần thiết cho một hệ thống hoàn toàn dựa trên phần mềm
Một mục đích nữa của luận văn là để mô tả làm thế nào người ta có thể phát triển firmware trở thành hệ thống xử lý gói tin dựa trên FPGA tốc độ cao nhằm mục đích có thể phát hiện các cuộc tấn công phổ biến nhất và nguy hiểm nhất Như một nghiên cứu điển hình, luận văn chứng minh khả năng của hệ thống này trong việc phát hiện và dập tắt các cuộc tấn công (D)DoS thuộc nhiều chủng loại và độ phức tạp khác nhau Mặc dù luận văn này không cung cấp giải pháp kỹ thuật cho tất cả các kiểu tấn công DDoS, nó có thể giải quyết phần lớn các cuộc tấn công kiểu này Luận văn mô tả một hệ thống linh hoạt, có thể mở rộng và các giải pháp cho các
Trang 9kiểu tấn công DDoS phổ biến nhất và hướng dẫn thiết kế mô-đun cho các kiểu tấn công DDoS khác Quá trình đánh giá giải pháp bao gồm sử dụng các mẫu lưu lượng tin được ghi lại trong nhiều cuộc tấn công và việc sử dụng một số công cụ tấn công phổ biến nhất được thiết kế để làm chết các máy chủ Khả năng xử lý dữ liệu của phần cứng cung cấp cho chúng ta những cái nhìn rõ nét về hệ thống chuyển mạch,
có thể được sử dụng để hỗ trợ việc ra quyết định cho đĩa điều khiển của SDN (Software Defined Networking)
Trong những năm gần đây, phương thức tấn công từ chối dịch vụ DDoS đã thay đổi đáng kể, một phần nguyên nhân là bắt nguồn từ sự phát triển nở rộ của các thiết bị IoT Băng thông sẵn sàng cho các cuộc tấn công DDoS ngày một tăng lên nhanh chóng Cuộc siêu tấn công Dyn năm 2016 với 1Tbps băng thông là một ví dụ rất đáng để suy nghĩ [1] Điều này đặt ra một mối đe dọa nghiêm trọng đối với các nhà cung cấp nội dung số hiện tại Trường hợp nổi tiếng nhất đã được ghi lại là với krebsonsecurity.com (một blog bảo mật mạng của Brian Krebs) – cuộc tấn công đã khiến trang web không thể truy cập được trong nhiều ngày và Akamai (một mạng phân phối nội dung lớn và là host của trang web này) đã phải xem xét các hậu quả
về tài chính do cuộc tấn công đem lại với Krebs [8]
Sự phát triển nhanh chóng của các thiết bị IoT và việc sử dụng chúng vào những mục đích độc hại trong các cuộc tấn công là rất đáng kể, tạo ra một lỗ hổng
an ninh mạng nghiêm trọng Luận văn này cố gắng nghiên cứu các tài liệu và giới thiệu một giải pháp hiệu quả cho các vấn đề này
Cùng với sự phát triển của mạng Internet và tốc độ nhanh của đổi mới công nghệ, sự phát triển của các công nghệ giám sát và phòng thủ mạng cũng đang phát triển không ngừng Nếu chúng ta không phát triển bây giờ chúng ta phải trả giá rất nghiêm trọng trong tương lai Luận văn này đóng góp ở một khía cạnh rất quan trọng đó là việc giới thiệu một hệ thống hữu ích để phòng chống DDoS
Trang 10Mục đích của luận văn này là trình bày thiết kế và triển khai thực hiện của một hệ thống xử lý gói tin dựa trên FPGA Hệ thống được dựa trên C-GEP được sản xuất bởi AITIA ZRt C-GEP là một bộ xử lý gói tin với nền tảng Xilinx Virtex 6 FPGAs Bộ phát hiện của hệ thống này cho phép xử lý các gói tin với dung lượng 100Gbps Hệ thống IDS (hệ thống phát hiện xâm nhập) được đề xuất đã được kiểm nghiệm bởi các cuộc tấn công thực sự
Trang 11CHƯƠNG I TỔNG QUAN VỀ DDOS 1.1 Tấn công từ chối dịch vụ phân tán (DDoS)
Tấn công DDoS đã tồn tại từ buổi bình minh của Internet; những hình thức hiện đại của nó đã bắt đầu từ đầu thế kỷ 21 Cuộc tấn công DDoS lớn đầu tiên xảy
ra vào năm 1999 tại Minnesota nhằm vào hệ thống máy chủ của trường đại học này trong nhiều ngày Tuy nhiên DDoS trở nên phổ biến như hiện tại thực sự là bắt đầu
từ năm 2010 khi nhóm hacker khét tiếng, Anonymous, bắt đầu sử dụng phương thức này [13] DDoS đã được sử dụng như một phương thức phục vụ cho các mục đích hoạt động chính trị, tống tiền và trả thù Trong những năm gần đây, các loại tấn công DDoS đã bùng nổ đáng kể cả về quy mô và tần suất Từ năm 2015 đến năm
2016, các cuộc tấn công DDoS đã tăng 139% về mặt quy mô [3]
Có nhiều loại tấn công DDoS khác nhau với cùng chung một đặc điểm là cố gắng sử dụng cạn kiệt tài nguyên của nạn nhân Tất cả những nỗ lực này đều nhằm mục đích làm cho nạn nhân không thể phục vụ khách hàng thường xuyên của mình Các cuộc tấn công DDoS thường nằm ở (i) Lớp 3/4 và (ii) Lớp 7
Hình 1.1 Phân phối các cuộc tấn công DDoS giữa các lớp
Trang 121.1.1 Tấn công lớp 3/4
Các cuộc tấn công lớp-3/4 thường là các cuộc tấn công đơn giản và phổ biến hơn so với lớp 7 Mục đích của các cuộc tấn công thường là để áp đảo mạng của nạn nhân bằng cách làm cho bộ xử lý hoặc dung lượng bộ nhớ của nạn nhân luôn trong tình trạng cạn kiệt dẫn đến làm quá tải các máy chủ của họ Các loại phổ biến nhất là UDP flood [4], SYN flood [5], phân mảnh UDP [6], và một loạt các kiểu tấn công khác sử dụng các giao thức cụ thể, chẳng hạn như NTP, DNS [6] Những kiểu tấn công này tuy là hết sức nguyên thủy ở cấp độ gói tin, nhưng chúng có thể rất hiệu quả nếu chúng được sử dụng đúng cách Một trong những xu hướng trong những năm gần đây chính là sự gia tăng tần suất của các cuộc tấn công này
Hình 1.2 Tần suất và các biến thể của DDoS 2016
Hình 1.2 dựa trên nghiên cứu vào quý 2 năm 2016 của Akamai Nó chỉ ra các kiểu tấn công Internet phổ biến nhất của DDoS Có thể thấy rằng các cuộc tấn công flood dựa trên UDP đóng góp phần lớn trên tổng số các cuộc tấn công DDoS, và sự phổ biến của các cuộc tấn công dựa trên TCP có xu hướng giảm
a) SYN flood
Trang 13Đây là một trong những hình thức tấn công lâu đời nhất, nó được biết đến từ năm 1996 khai thác điểm yếu của giao thức TCP TCP là một giao thức hướng kết nối an toàn sử dụng rất nhiều tài nguyên (chủ yếu là bộ nhớ và CPU) Tấn công SYN flood dựa trên phương thức là kẻ tấn công sử dụng một lượng nhỏ tài nguyên
để có thể tạo ra ngày càng nhiều hơn nữa những kết nối mới khiến cho các luồng tin thông thường không còn bộ nhớ để hoạt động [9] Kiểu tấn công này sử dụng nguyên tắc của chiến tranh bất đối xứng: một đơn vị tấn công gây ra việc sử dụng nhiều đơn vị tài nguyên của nạn nhân Thật không may, bởi vì thuộc tính này cho nên không có một phương thức thống nhất để chống lại SYN flood Thông thường phía bên máy chủ phải lập kế hoạch phòng ngừa để đối phó với những ảnh hưởng của kiểu tấn công này Bởi vì vô số phương pháp phát hiện hình thức tấn công lâu đời nhất này đã được phát triển trong những năm qua, độ phổ biến của SYN flood đang có xu hướng giảm sút
Hình 1.3 Tấn công SYN flood
Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị tấn công
Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối
Trang 14Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý của máy chủ Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn khả năng đáp lại - kết nối không được thực hiện Đây là kiểu tấn công mà kẻ tấn công lợi dụng quá trình giao tiếp của TCP theo Three-way
Các đoạn mã nguy hiểm có khả năng sinh ra một số lượng cực lớn các gói TCP SYN tới máy chủ bị tấn công, địa chỉ IP nguồn của gói tin đã bị thay đổi và đó chính là tấn công DoS
Hình 1.3 thể hiện các giao tiếp bình thường với máy chủ và bên dưới thế hiện khi máy chủ bị tấn công gói SYN đến sẽ rất nhiều trong khi đó khả năng trả lời của máy chủ lại có hạn và khi đó máy chủ sẽ từ chối các truy cập hợp pháp
Quá trình TCP Three-way handshake được thực hiện: Khi máy X muốn giao tiếp với máy A (1) máy X bắn ra một gói TCP SYN tới máy A – (2) máy A khi nhận được gói SYN từ X sẽ gửi lại máy X gói ACK đồng ý kết nối – (3) máy X gửi lại máy A gói ACK và bắt đầu các giao tiếp dữ liệu
Máy X và máy A sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực hiện một quá trình TCP Three-way handshake lần nữa để thực hiện phiên kết nối tiếp theo để trao đổi dữ liệu
Thật không may kẻ tấn công đã lợi dụng kẽ hở này để thực hiện hành vi tấn công nhằm sử dụng hết tài nguyên của hệ thống bằng cách giảm thời gian yêu cầu Three-way handshake xuống rất nhỏ và không gửi lại gói ACK, cứ bắn gói SYN ra liên tục trong một thời gian nhất định và không bao giờ trả lời lại gói SYN&ACK từ máy bị tấn công
Với nguyên tắc chỉ chấp nhận gói SYN từ một máy tới hệ thống sau mỗi 75 giây nếu địa chỉ IP nào vi phạm sẽ chuyển vào Rule deny access sẽ ngăn cản tấn công này
Trang 15b) UDP flood
UDP flood là một thể loại được định nghĩa tiêu cực, tức là bất kỳ cuộc tấn công nào dựa trên UDP thì không thuộc bất kỳ loại nào khác nữa Triển khai được biết đến nhiều nhất của loại này là kẻ tấn công gửi các gói UDP tùy ý tới các cổng được lựa chọn Hệ điều hành của nạn nhân tìm kiếm một ứng dụng đang chạy trên cổng đó, và nếu nó không tìm thấy (thường là không), nó sẽ gửi một thông báo ICMP cho biết không có ứng dụng nào trên cổng đó
Hình 1.4 Tấn công UDP flood
Trong kiểu tấn công này, kẻ tấn công có thể sử dụng tài nguyên của chúng với hiệu năng rất thấp, nhưng với chuyên môn và sự chuẩn bị tối thiểu cũng có thể tạo ra một cuộc tấn công hiệu quả vào một hệ thống không phòng bị tốt Do hiệu năng thấp, các botnet thường được sử dụng trong kiểu tấn công này Tuy nhiên,
Trang 16trong trường hợp không có mô tả đặc điểm kỹ thuật chính xác, kiểu tấn công này khó phát hiện hơn so với các kiểu tấn công khác Tỷ lệ của các cuộc tấn công dạng này có xu hướng giảm do có hiệu năng thấp
c) Phân mảnh UDP
Đây là kiểu tấn công lớp 3, 4 phổ biến nhất [3], [8] Nó khai thác một đặc điểm của gói tin IPv4 (datagram) đó là những gói tin này phải được chia nhỏ do giới hạn của tầng liên kết dữ liệu (data link) Các mảnh đã được phân chia của datagram được sắp xếp lại bởi máy chủ Vì vậy nếu kẻ tấn công cài vào một mảnh datagram
bị làm sai lệch, nó cũng sẽ được sắp xếp bởi máy chủ và máy chủ cũng sẽ cố gắng biên dịch nó cùng với các gói dữ liệu khác Tất nhiên việc biên dịch này không thành công vì kẻ tấn công không gửi phần còn lại của datagram Trong kiểu tấn công này, CPU và bộ nhớ của nạn nhân được tiêu thụ nhiều nhất; nó rất phổ biến bởi sự đơn giản và hiệu quả cao Hiện tại, việc phòng vệ chủ yếu được thực hiện ở phía nạn nhân để cố gắng đối phó với những ảnh hưởng của cuộc tấn công Sự phổ biến của kiểu tấn công này đang tăng lên đều đặn bởi vì kiểu này có thể tấn công trực tiếp rất hiệu quả
d) NTP
NTP được khuếch đại là một trong những kiểu tấn công DDoS phổ biến nhất Hình thức phổ biến nhất của nó đòi hỏi phải giả mạo Kẻ tấn công gửi NTP MON_GETLIST tới máy chủ NTP nhưng sửa địa chỉ IP đích thành IP nguồn Lệnh MON_GETLIST tra khảo địa chỉ IP của sáu trăm lượt truy cập cuối cùng Nhờ vào điều này những kẻ tấn công có thể tăng băng thông riêng của họ lên đến một nghìn [7] Trong cách tấn công này những kẻ tấn công muốn tiêu thụ băng thông của nạn nhân Với đặc tính giả mạo và ẩn định danh thật, việc ngăn chặn những cuộc tấn công kiểu này không thể thực hiện được chỉ bởi phương thức chặn địa chỉ IP Người
ta có thể phòng ngừa những cuộc tấn công kiểu này bằng cách lọc các gói tin NTP gửi đến địa chỉ IP của nạn nhân Đây là một cách dễ dàng để phát hiện những cuộc
Trang 17tấn công kiểu này, nhưng nhờ vào tính hiệu quả của nó, kiểu tấn công này vẫn còn rất phổ biến
Hình 1.5 Tấn công NTP e) DNS
Kiểu tấn công được khuếch đại dựa trên DNS là một trong những kiểu tấn công DDoS phổ biến nhất Đây cũng là một loại tấn công yêu cầu phải giả mạo Những kẻ tấn công thực hiện các truy vấn DNS mà địa chỉ IP của nạn nhân đang liên kết tới Số lượng lớn máy chủ DNS với băng thông cao và khả năng tạo các truy vấn lớn làm cho kiểu tấn công này trở thành một trong những kiểu tấn công phổ biến nhất Tấn công dựa trên DNS không có hiệu quả cao như NTP, nhưng dễ thực hiện hơn Hình thức tấn công này cũng cố gắng sử dụng băng thông của các nạn nhân của nó
Trang 18Hình 1.6 Tấn công DNS f) CHARGEN
CHARGEN (Giao thức máy tạo ký tự) là một phần của Bộ giao thức Internet, theo Định nghĩa RFC 864 [14] Đây là giao thức cũ, hiếm khi được sử dụng Nó có thể dựa trên TCP hoặc UDP, nhưng tấn công DDoS chỉ khai thác UDP Bản chất của giao thức này là gửi một chuỗi ký tự có chiều dài ngẫu nhiên (0-512) phản hồi lại những gói nhận được trên cổng tương ứng của nó (19) Giao thức này cũng có thể được sử dụng để thực hiện tấn công DDoS có sử dụng giả mạo Hình thức tấn công này đã trở nên phổ biến trong những năm gần đây khi mà tin tặc đã phát hiện ra giao thức đã bị quên lãng một phần này
g) SSDP
SSDP (Simple Service Discovery Protocol) là một dịch vụ khám phá phân tán Giao thức này cũng có thể được sử dụng như một bộ khuếch đại cho các cuộc tấn công DDoS Các thông điệp được gửi tới cổng 1900, sẽ được gửi tới các thiết bị chạy SSDP Giống như đối với CHARGEN, giao thức cũ không an toàn này được phát hiện lại gần đây vào năm 2014 [7] Bởi vì hiệu quả của kiểu này không bằng DNS hoặc NTP, nó có thể sẽ không trở thành một dạng tấn công tiêu chuẩn Nhưng
dự kiến những cuộc tấn công kiểu này sẽ tăng lên cho đến khi những hệ thống phòng vệ đều được trang bị để chống lại nó
Trang 19h) ACK flood
ACK flood tương tự như SYN flood là một dạng tấn công trực tiếp sử dụng giao thức TCP Cơ chế hoạt động của nó yếu hơn nhiều so với SYN flood bởi vì một gói chỉ gây ra một kiểm tra bộ nhớ Tuy nhiên, ngược lại với SYN flood, hầu hết hệ thống phòng thủ không được chuẩn bị chống lại ACK flood ở mức độ như là với SYN flood Dạng tấn công này chủ yếu được sử dụng để phá vỡ các hệ thống bảo vệ đơn giản Hiệu quả của nó tương tự như UDP flood
kể của kiểu tấn công này có thể được dự kiến trong vài năm tới
1.1.2 Tấn công lớp 7
Các cuộc tấn công lớp 7 sử dụng những phương pháp tinh vi hơn để đạt được mục tiêu của chúng Những cuộc tấn công này khai thác những điểm yếu của ứng dụng, vì vậy đòi hỏi tài nguyên phần cứng tấn công ít hơn nhiều so với những loại khác đã kể trên Tuy nhiên việc thực hiện chúng là khó hơn nhiều bởi vì cần phải tìm ra được những lỗ hổng có thể khai thác được ở những phần mềm cụ thể Để thiết kết một cuộc tấn công như vậy, kẻ tấn công cần phải biết về phần mềm cài đặt
ở phía máy chủ, hay thậm chí là cả những phần mềm được cài đặt trên một chiếc điện thoại thông minh Những cuộc tấn công này gửi ít gói tin hơn nhiều so với tấn công ở lớp 3 và 4, vì vậy để bắt được những gói tin này trong kiến trúc mạng cũng
là khó hơn nhiều Các cuộc tấn công lớp 7 vẫn chưa thực sự lan rộng Lý do cho điều này một phần là do khá dễ dàng để có được băng thông lớn với các cuộc tấn
Trang 20công lớp 3 và 4 và việc sử dụng chúng cũng có thể gây thiệt hại cho chính những kẻ tấn công [10]
a) Tần suất của các cuộc tấn công lớp 7
Hình 1.7 Phân bố các cuộc tấn công lớp 7 quý 2 năm 2016 [3]
b) HTTP Get, Post
Các ứng dụng HTTP thường giao tiếp với hai lệnh chính: GET thường là được sử dụng để truy cập những nội dung tĩnh, POST được sử dụng để truy cập nội dung được tạo động
Các cuộc tấn công HTTP có hai hình thức phổ biến
1) Truy vấn hoàn toàn hợp pháp tấn công nhiều máy chủ Thông thường các truy vấn gây ra việc tiêu tốn nhiều tài nguyên nhất được sử dụng Để thực hiện việc này, các botnet được sử dụng để tránh các bộ lọc chống lại tấn công băng thông
2) Gửi một header GET/POST hợp lệ từ kẻ tấn công Phần thân của gói tin thông điệp được gửi một cách từ từ sau đó, điều này sẽ làm cho máy chủ bận rộn với việc giữ liên lạc với kẻ tấn công đó Cách tấn công này mang lại hiệu quả hơn rất nhiều, nhưng dễ bị phát hiện hơn
Trang 211.1.3 Các nguồn tấn công DDoS
Những nguồn tấn công DDoS phổ biến nhất là từ các thiết bị truy cập Internet bị nhiễm phần mềm độc hại Đó có thể là máy tính cá nhân, điện thoại thông minh và ngày càng nhiều hơn các thiết bị IoT Hầu hết các thiết bị này không
có băng thông rộng và khả năng tính toán lớn, bởi vậy với hầu hết các cuộc tấn công, rất nhiều các thiết bị đã bị hack này phải được kết nối chung tới một botnet
Phần mềm botnet phổ biến nhất hiện nay là Mirai botnet đã được phát triển cách đây không lâu [15] và được công bố rộng rãi bởi những người đã tạo ra nó cũng như một số biến thể của Mirai cũng đã đang được phát triển Mirai botnet nói chung “săn” các thiết bị IoT được thiết kế riêng và không liên kết với nhau Trong hầu hết các trường hợp, việc bị hack có thể tránh được với một chút thận trọng, ví
dụ, chúng ta không nên để tên người dùng và mật khẩu kiểu như administrator/666666 trong mã nguồn [21]
1.1.4 Các hình thức tấn công
a) Tấn công trực tiếp không giả mạo
Danh sách này bao gồm các phiên bản không giả mạo của SYN, UDP, phân mảnh UDP, ACK floods Các kiểu tấn công này chiếm khoảng 40% tổng số của tất
cả các cuộc tấn công Chúng ta sẽ dễ dàng tìm ra một câu trả lời đơn giản cho những cuộc tấn công này Trong trường hợp này, IPS chịu trách nhiệm về việc giải
mã địa chỉ IP của kẻ tấn công cái mà có thể được lọc ra bằng cách phân loại tỷ lệ lưu lượng tin một cách đơn giản sau khi phát hiện cuộc tấn công trong hầu hết các trường hợp Trong một cuộc tấn công DDoS, bất kỳ luồng thông tin nào cũng chậm lại mà không phải vì lý do kiểm soát tắc nghẽn
Nếu IPS đã làm tê liệt địa chỉ IP của kẻ tấn công, nó sẽ tạo ra các luật ACL rút ra từ các địa chỉ đó, sau đó gửi tới các thiết bị chuyển mạch Các luật ACL hoặc
vô hiệu hóa các địa chỉ này hoặc giới hạn thông lượng của chúng
b) Tấn công trực tiếp giả mạo
Trang 22Danh mục này bao gồm các phiên bản giả mạo của SYN, UDP, phân mảnh UDP, ACK floods Các cuộc tấn công này chiếm khoảng 5-10% tổng số của tất cả các cuộc tấn công Trong trường hợp này, điều khó khăn nhất là tìm ra trong sự dàn xếp giả mạo này một dấu hiệu đủ tốt về sự can thiệp Thật không may, bộ lọc dựa trên IP không phải là một giải pháp cho việc này
Một điều không may khác đó là trong hầu hết các trường hợp không có nhiều giải pháp ngăn chặn có thể được thực hiện đối với kiểu tấn công này mà không làm ảnh hưởng đến lưu lượng tin bình thường
c) Tấn công phản hồi được tăng cường
Những kiểu tấn công này chiếm khoảng 50% trong tổng số các cuộc tấn công Danh sách này bao gồm các kiểu tấn công NTP, DNS, SSDP, CHARGEN, RIP Với các kiểu tấn công này, lọc IP không thể được sử dụng bởi vì các gói tin thông điệp tấn công đến từ các nhà cung cấp dịch vụ hợp pháp, bởi vậy không thể bị
vô hiệu hóa Ngược lại, các bộ lọc theo nội dung có thể được sử dụng
Ví dụ: Trong trường hợp kiểu tấn công NTP, địa chỉ gửi gói tin chứa thông điệp NTP MON_GETLIST response có thể bị giới hạn như là địa chỉ IP đã bị lợi dụng bởi kẻ tấn công
Đối với các cuộc tấn công được phản hồi và tăng cường khác, cách ngăn chặn tiêu chuẩn này cũng nên được làm theo, nghĩa là vô hiệu hóa các gói tin trả về đặc trưng cho các kiểu tấn công cụ thể trên các địa chỉ IP đã bị tấn công
1.1.5 Xu hướng DDoS
Xu hướng DDoS hiện nay có thể được chia thành hai nhóm
Có lẽ xu hướng DDoS quan trọng nhất hiện nay là sự tăng lên trong sức mạnh và băng thông dùng để tấn công, và sự gia tăng tỷ lệ của tấn công brute-force
ở lớp 3 và 4 Hai xu hướng này là hậu quả trực tiếp của sự lan tràn của các thiết bị IoT được thiết kế kém
Trang 23Nhóm xu hướng khác là tăng cường sức mạnh, tấn công liên tục dựa trên các giao thức cũ, nhóm này bao gồm CHARGEN, RIP, SSDP Xu hướng này khai thác những thiếu sót trong hệ thống phòng thủ Xu hướng này đã tồn tại trong nhiều năm
1.2 Giới thiệu chung về phòng chống DDoS
Có một số hình thức bảo vệ các cuộc tấn công DDoS với các mức hiệu quả khác nhau Do sự đa dạng của các cuộc tấn công DDoS, không thể có một phương pháp phòng thủ phổ quát nào Cùng với những "bản99 vá tự thiết kế" cho các giải pháp tinh vi dựa trên ASIC, có rất nhiều hệ thống bảo vệ khác đã được tạo ra trong những thập kỷ qua Các phương pháp phòng thủ phổ biến nhất là:
- Phân tích dấu hiệu nhận diện (Signature Analysis): Tìm kiếm trong các gói tin các mẫu nhận diện và so sánh với các mẫu cho trước [18]
- Phân tích lưu lượng tin (Traffic Analysis): Tìm kiếm sự bất thường trong luồng lưu lượng thông tin có thể cho biết đang có hay không một cuộc tấn công
- Hệ thống dựa trên danh tiếng: một cơ sở dữ liệu trung tâm lưu trữ địa chỉ IP của những kẻ tấn công đã biết cùng với các botnet [12]
- Quét từ phía máy chủ: người chủ hệ thống dùng các mẫu test khác nhau để tìm hiểu xem có hay không đang có một cuộc tấn công, ví dụ như dùng hệ thống captcha
Các hệ thống mới nhất sử dụng nhiều phương pháp hơn các phương pháp cơ bản này, bao gồm cả những giải pháp độc quyền chưa từng được công bố
Trang 24thiết bị này đi cùng với sự hiểu biết về quy hoạch mạng cái mà có liên quan đến những điểm yếu khác nhau, được tạo ra bởi các yếu tố phần cứng, phần mềm mạng
và các tiêu chuẩn tương ứng của chúng Hệ thống sẽ hoạt động tốt trong một mạng được thiết kế tốt và tuân theo các tiêu chuẩn, làm giảm thiểu các điểm yếu và lỗ hổng của các giao thức Một ví dụ điển hình về ứng dụng phương pháp này là việc cấu hình tốt của máy chủ web
1.2.2 Các giải pháp độc quyền, phía máy chủ
Những giải pháp này không nhằm mục đích phát hiện hoặc ngăn chặn các cuộc tấn công, nhưng nó làm giảm hậu quả mang lại từ cuộc tấn công Việc của nhà phát triển ứng dụng là không bỏ qua những cơ hội trong khi phát triển code để có thể lập trình một cách cẩn thận nhằm hạn chế các cuộc tấn công trong tương lai Lấy một ví dụ, nếu máy chủ web có thể xử lý 200 yêu cầu cùng một lúc và 10 phút là thời gian hết hạn của các kết nối này, một cuộc tấn công DDoS kiểu HTTP GET có thể vô hiệu hóa việc xử lý 20 gói tin mỗi phút Nếu quản trị viên hệ thống tùy chỉnh thời gian hết hạn là 6 giây, kẻ tấn công sẽ phải sử dụng số lượng tài nguyên nhiều hơn gấp 100 lần Lập trình mộtcách cẩn thận có thể ngăn chặn hầu hết những cuộc tấn công không mong đợi, bởi vì hầu hết những kẻ tấn công không phải là một chuyên gia mà chỉ là sử dụng lại các công cụ tấn công đã được dùng từ nhiều năm
và được tải xuống từ Internet Thật không may là ngay cả các chương trình được lập trình thận trọng nhất cũng không hiệu quả đối với các cuộc tấn công nghiêm trọng hơn cái mà cần có những nhu cầu bảo vệ phức tạp hơn
1.2.3 Phòng chống DDoS cho các nhà cung cấp dịch vụ
Trong một số trường hợp, chỉ thiết lập hệ thống bảo vệ phía người dùng cuối
là không đủ, vì đó là cơ hội thực sự cho kẻ tấn công chỉ cần làm bão hòa mạng của người dùng bằng một số ít lượng gói tin được gửi đi Hệ thống ngăn chặn xâm nhập (Intrusion Prevention System), không may lại không hiệu quả trong việc chống lại các cuộc tấn công làm bão hòa mạng như vậy
Trang 25Như vậy, các thiết bị IPS không chỉ cần phải được thiết lập bên phía người dùng cuối, thay vào đó, chúng còn phải được thiết lập trong hệ thống của các nhà cung cấp dịch vụ, nơi việc làm bão hòa mạng là khó khăn hơn nhiều bởi vì nhà cung cấp có băng thông thường lớn hơn nhiều so với người dùng cuối
1.2.4 Bảo vệ các mạng phân phối nội dung
Imperva cung cấp dịch vụ bảo vệ tấn công DoS lớn nhất và thành công nhất trên thế giới [16], họ sở hữu một hệ thống phòng thủ rất phức tạp Hiện tại, hệ thống này có thể phát hiện được cả xâm nhập thường và giả mạo
Hình 1.8 Hệ thống phòng thủ của Incapsula
Incapsula cung ứng giải pháp bảo vệ đa cấp độ và hiệu quả, giải pháp này đã làm cho công ty trở thành doanh nghiệp dẫn đầu thị trường Đây hiện là hệ thống công nghệ tiên tiến bậc nhất trong việc phòng chống DDoS, ít nhất là trong số các giải pháp thương mại Một mặt, nó hoạt động như một proxy cho máy khách, ẩn đi địa chỉ IP của người dùng Incapsula, ngoài phân tích dựa trên lưu lượng tin truyền thống, nó còn dùng hệ thống danh tiếng với việc sử dụng cơ sở dữ liệu để lọc các mẫu bị nghi ngờ có thể là một cuộc tấn công DDoS [17] Dễ thấy, hệ thống này gây
ra sự chậm trễ nghiêm trọng trong truyền dẫn Để hệ thống này làm việc hiệu quả, mỗi gói tin phải trải qua tất cả các quá trình của Incapsula Công ty cũng tư vấn cho khách hàng của họ rằng tất cả gói tin đến từ bên ngoài đều được chuyển tiếp đi qua quá trình này và được xử lý [17], cho nên có thể ngăn chặn hoàn toàn việc tấn công làm tắc nghẽn bộ nhớ và bộ xử lý Tuy nhiênđiều này không thật sự đúng bởi vì nếu địa chỉ IP của khách hàng bị kẻ tấn công biết được, kẻ tấn công này có thể tấn công làm ngập bằng cách gửi các gói tin tới địa chỉ IP của khách hàng và đồng thời làm tắc nghẽn các thiết bị mạng lân cận của họ Ngoài ra, hệ thống phòng thủ của
Trang 26Imperva vận hành dựa trên nhiều máy chủ mạnh mẽ với băng thông lớn Điều này thu hút các cuộc tấn công băng thông lớn với nhiều bên tham gia Đối với các cuộc tấn công băng thông lớn, có một nguyên tắc là bên tấn công cần phải tổ chức một cuộc tấn công với tài nguyên lớn hơn mạng của hệ thống phòng thủ, đủ làm cho hệ thống phòng thủ bị tổn thương ít nhiều
Trang 27CHƯƠNG II GIẢI PHÁP CHỐNG TẤN CÔNG DDOS
SỬ DỤNG CÔNG NGHỆ FPGA 2.1 Kiến trúc của hệ thống phòng vệ dựa trên FPGA
Điểm mới của cấu trúc này là một bộ công cụ được đặt trong cấu trúc liên kết vòng lặp phản hồi tích cực Đây là một hệ thống có thể được cài đặt và vận hành một cách đơn giản Ý tưởng cơ bản là chuyển luồng dữ liệu thông qua một bộ chuyển mạch tới một bộ xử lý và ra quyết định sử dụng kỹ thuật sao chép gói tin mirroring Dựa trên nền tảng FPGA, tốc độ xử lý dữ liệu sẽ chỉ ở cấp độ micro giây,
vì vậy nó sẽ cho phép việc can thiệp này được thực hiện trong thời gian thực Nếu mạng sử dụng các bộ chuyển mạch phù hợp thì chỉ cần sự can thiệp tối thiểu để cài đặt hệ thống Mỗi liên kết của bộ chuyển mạch sẽ được đưa vào quá trình sao chép Chúng ta phải lựa chọn giữa việc cài đặt các hệ thống có cùng chức năng hoặc triển khai thêm các thiết bị chuyển mạch và bộ định tuyến đắt tiền hoặc là thiết kế lại toàn bộ hệ thống mạng
2.1.1 Cấu trúc của hệ thống
Sử dụng chức năng mirroring, lưu lượng tin của thiết bị chuyển mạch được sao chép, và được chuyển tới khối C-GEP Sau đó, lưu lượng tin được sao chép này được chuyển tới bộ xử lý, cắt bỏ phần thân (payload) của gói tin Việc cắt bỏ này là một ưu điểm, bởi vì với cách này chúng ta có thể tăng số lượng gói tin có thể được chuyển thông qua quá trình mirroring Lưu lượng này được xử lý bởi khối C-GEP
và phục vụ như lưu lượng tin mẫu cung cấp cho phần mềm IDS và bộ điều khiển SDN
Trang 28Hình 2.1 Sơ đồ khối của hệ thống bảo vệ 2.1.2 Khối C-GEP
C-GEP là nền tảng được cung cấp bởi AITIA IA Nền tảng dựa trên FPGA
có khả năng xử lý gói tin với đường mạng Ethernet 100 Gbps (xem Hình 2.2) GEP sử dụng Virtex 6 Xilinx FPGA để xử lý gói Nhờ vào phần cứng có khả năng cấu hình lại mạnh, hệ thống có thể xử lý lưu lượng tin đến từ những liên kết có băng thông 100 Gbps [11] Với hiệu suất của phần cứng mục tiêu được triển khai dựa trên FPGA, chỉ những hệ thống dựa trên đám mây phức tạp và tốn kém mới có thể cạnh tranh được Tuy nhiên, FPGA với cấu hình ở 315 MHz và 100Gbps làm cho quá trình lên kế hoạch khó khăn và chậm chạp hơn nhiều FPGA có tài nguyên giới hạn hơn nhiều so với hệ thống dựa trên PC, và chúng cũng khó để mở rộng hơn nhưng có thể được sử dụng một cách hiệu quả hơn Do đó, chúng ta cần phải thêm những thành phần khác vào trong hệ thống
Trang 29C-Hình 2.2 Sơ đồ của khối C-GEP
C-GEP là một nền tảng Gigabit Ethernet đa năng, có thể lập trình được, dựa trên nền tảng đồ họa di động của C-Board Mục đích chính của nó là cung cấp phương tiện để xử lý lưu lượng Ethernet 1, 10, 40 và 100 Gbit / s một cách linh hoạt Kiến trúc cho phép các ứng dụng mạng khác nhau để triển khai các thiết bị SDN từ SDN đến các cổng đa phương tiện; từ bộ tạo lưu lượng đến hỗ trợ DPI (Kiểm tra gói sâu) Các nguyên mẫu đầu tiên được lập trình để hoạt động như các chương trình giám sát đo lưu lượng C-GEP hoạt động tốt trong môi trường này, do khả năng chụp gói tin không mất dữ liệu (thậm chí ở tốc độ 100 Gbit / giây); thời gian chính xác ns (khi được trang bị đồng hồ nguyên tử tích hợp); và lọc / chuyển tiếp gói dựa trên các quy tắc phức tạp (xem hình 2.3)
Trang 30Hình 2.3 Cấu trúc logic của hệ thống giám sát C-GEP
Thực hiện Điều khiển truy cập phương tiện và lớp vật lý 100 Gbit / s trong kiến trúc có thể cấu hình lại
Dựa trên một kiến trúc có thể cấu hình lại như một FPGA, chúng ta có khả năng thiết kế và thực hiện ngay cả các tác vụ xử lý gói mức thấp nhất Theo cách
đó, chúng ta có thể cung cấp các chức năng và I / O tùy chỉnh để truy xuất mức độ thấp, để lấy thông tin liên quan đến gói ở mức độ thấp để xác định thời gian đến trên dây Theo đó, chúng ta đã triển khai Trình mã hóa vật lý (PCS) và Điều khiển truy cập phương tiện (MAC) bên trong chip FPGA, đây là giai đoạn đầu tiên trong đường dẫn dữ liệu nội bộ Tuy nhiên, có rất nhiều lõi Sở hữu trí tuệ (IP) dựa trên nền tảng FPGA trên thị trường triển khai Ethernet MAC 100 Gbit / s Các lõi IP như vậy rất đắt và do đó đóng góp đáng kể vào giá của thiết bị giám sát
Trang 31Bảng mạch C-GEP kết nối với mạng lõi 100 Gbit / s bằng bộ thu phát CFP (C Form-Fact Pluggable) Mô-đun CFP được nối trực tiếp với các chân của chip FPGA trên bo mạch Trong chip Virtex-6, các dòng có khả năng thông lượng cao được xử lý với giao diện GTH I / O Mô-đun MAC hoạt động ở chế độ không phân đoạn, sử dụng đường dẫn dữ liệu rộng 512-bit kết hợp với tần số lõi 312,5 MHz Trong chế độ hoạt động này, mỗi byte bắt đầu của dữ liệu đi được đồng bộ hóa với byte đầu tiên của từ 512 bit Chế độ hoạt động được phân đoạn, thay thế cho thiết kế tần số thấp hơn, cho phép gói bắt đầu trong mọi ranh giới 8 byte của từ 512 bit Do các giai đoạn xử lý tiếp theo hoạt động trên các trường tiêu đề gói được xác định trước, chế độ được phân đoạn yêu cầu logic đồng bộ hóa phức tạp trong quá trình truyền dữ liệu meta Mặt khác, thiết kế bên trong của mô-đun MAC không phân đoạn chiếm nhiều logic bộ đệm hơn chế độ phân đoạn
Giám sát phân tán: Đồng bộ hóa Đồng hồ Probes
Trong phân tích lưu lượng, độ phân giải cao và tính chính xác cao là yêu cầu
cơ bản để đánh giá các số liệu QoS (chẳng hạn như độ trễ một chiều và trễ chuyến
đi và biến đổi độ trễ trong đường dẫn mạng) và để phát hiện chính xác các sự kiện mạng (ví dụ: các cặp phản hồi yêu cầu)
Tất cả các nhiệm vụ quản lý này đều cực kỳ quan trọng khi đánh giá hiệu suất mạng theo các Thỏa thuận cấp độ dịch vụ (SLA) Một ví dụ khác về độ chính xác đồng bộ hóa cao là giám sát nhiều liên kết của bộ định tuyến Đây là trường hợp đánh giá hiệu suất của một thiết bị định tuyến Trong sự sắp xếp này, mỗi liên kết được đo bằng đầu dò giám sát chuyên dụng Một gói được nhìn thấy bởi một đầu dò
có thể được chuyển tiếp đến một giao diện gửi đi của bộ định tuyến được theo dõi bởi một đầu dò khác Thứ tự điển hình của độ trễ chuyển tiếp trong các bộ định tuyến lõi ngày hôm nay là trong phạm vi 0,5-5 micro giây Mức độ yêu cầu độ trễ thấp này để đồng bộ hóa đồng hồ chính xác cao giữa các đầu dò giám sát
Trang 32Các hệ thống giám sát nên được chuẩn bị cho trường hợp xấu nhất và do đó đồng hồ bên trong phải được đồng bộ hóa để có thể xác định rõ thứ tự các cặp thông báo Có một số giải pháp cho mục đích này (ví dụ: Giao thức thời gian mạng -NTP, Giao thức thời gian chính xác -PTP và Hệ thống định vị toàn cầu -GPS), cung cấp các mức độ chính xác khác nhau Do NTP thường được triển khai như một giải pháp phần mềm, nó không có khả năng cung cấp độ chính xác đồng bộ hóa tốt hơn
1 ms trong môi trường LAN và 100-1000ms trong khoảng cách xa hơn Theo đó, các ràng buộc liên quan đến phần mềm và mạng không cho phép ứng dụng của nó trong các hệ thống đo lường hiệu suất cao Trái ngược với NTP, PTP có độ chính xác cao hơn đáng kể, nhưng yêu cầu hỗ trợ phần cứng trong mỗi thiết bị trong suốt đường dẫn mạng Các hệ thống giám sát liên quan đến cả GPS và PTP như một công nghệ cho phép hỗ trợ đồng bộ hóa đồng hồ có độ chính xác cao trong toàn bộ
hệ thống phân tán
Xem xét giám sát mạng, các thuộc tính và hiệu suất của máy đo thời gian được xác định bởi tốc độ tối đa của gói đến và loại phép đo Trong hệ thống giám sát được trình bày, chúng tôi đã triển khai đồng bộ hóa dựa trên GPS và PTP được
hỗ trợ bởi độ chính xác cao trên bo mạch thiết bị đồng hồ nguyên tử Hệ thống GEP có thể đồng bộ hóa đồng hồ cục bộ có độ chính xác cao với thiết bị chính PTPv1 (tuân thủ theo chuẩn 1588-2002) Đầu dò điều khiển hoạt động như máy khách trong giao tiếp PTPv1 và sử dụng một trong các giao diện Gigabit Ethernet của nó cho mục đích này Cơ chế đồng bộ hóa đồng hồ đã được thử nghiệm thông qua phần mềm cũng như các giải pháp phần cứng Giải pháp phần mềm là một triển khai PTPv1 Master miễn phí, cụ thể là ptpd Ngoài ra, giải pháp đã được triển khai một giải pháp phần cứng cho các thử nghiệm PTPv1, sử dụng bảng NetFPGA-1G
C-và đồng hồ nguyên tử quy mô chip
Phân tích gói tiêu đề
Giai đoạn thứ hai trong đường dẫn dữ liệu nội bộ của FPGA là mô-đun trình phân tích cú pháp gói, duy trì đường dẫn rộng 512-bit trong mỗi mô-đun phụ của
Trang 33nó Để đạt được thông lượng mục tiêu, công cụ phân tích cú pháp phải hoạt động ở tần số lõi là 312,5 MHz Do kiến trúc của các thiết bị FPGA được thiết kế để hỗ trợ nhiều tác vụ xử lý, tài nguyên vật lý của nó có thể thiết lập các giới hạn cho một số loại ứng dụng nhất định Một trong những nhược điểm này là tần số hoạt động tối
đa cho đường dẫn kết nối, thường không cao hơn 400 MHz, ngay cả trong một thiết
bị cao cấp Giới hạn này chống lại mục tiêu thiết kế thông lượng cao và yêu cầu quan điểm thiết kế cụ thể của mục tiêu
Hình 2.4 Sơ đồ phân tích cú pháp gói
Hoạt động của công cụ phân tích cú pháp dựa trên biểu đồ phân tích cú pháp,
là sự kết hợp của các cấu trúc tiêu đề được xác định trước Biểu đồ phân tích xác định các chuyển đổi trạng thái có thể có trong quá trình phân tích cú pháp (xem Hình 2.4) Theo khả năng mở rộng của biểu đồ phân tích cú pháp, máy có thể được cấu hình lại khi biên dịch hoặc thời gian chạy Các ấn phẩm liên quan đến phân tích gói hiệu suất cao thường đề xuất các giải pháp dựa trên các biểu đồ phân tích cú
Trang 34pháp có thể cấu hình lại, trong đó cấu trúc giao thức có thể xác định được có thể cấu hình lại thông qua các thuật toán ngoại tuyến bằng ngôn ngữ hướng đối tượng được chỉ định Các ngôn ngữ định nghĩa tiêu đề này được thiết kế để xử lý các cấu trúc giao thức với các công cụ lập trình cấp cao Cấu hình lại biểu đồ phân tích cú pháp trong quá trình vận hành trực tuyến yêu cầu cập nhật đồng bộ các quy tắc bộ lọc bên trong công cụ phân loại Ví dụ, hãy giả sử rằng trích xuất tiêu đề IPv4 được thay thế bằng nhận dạng tiêu đề IPv6
Sau khi kết thúc quá trình nâng cấp, công cụ phân tích cú pháp cung cấp các trường địa chỉ IPv6 thay vì các trường địa chỉ IPv4 Hoạt động này biến các công cụ phân tích cú pháp và phân loại thành trạng thái không nhất quán so với nhau, vì công cụ phân loại vẫn được chuẩn bị để lọc IPv4 Để tránh mất gói do trạng thái xử
lý không nhất quán, các liên kết được giám sát phải được chuyển hướng đến một tuyến đường vòng trong quá trình cấu hình lại Giải pháp này có thể dẫn đến kết quả phân tích sai vì lưu lượng không liên quan có thể được xử lý như một phần của luồng được giám sát Ngoài ra, lượng dữ liệu tăng đột ngột phải được lưu trữ và xử
lý, nếu không xảy ra mất gói Để tránh sự không nhất quán, thời gian hoàn thành trình phân tích cú pháp gói của chúng tôi chỉ có thể cấu hình lại
Xem xét xu hướng mạng ngày nay, phát triển các dịch vụ mạng dẫn đến sự xuất hiện của các giao thức hoặc trường giao thức mới với tần suất ngày càng tăng
Để bao quát phổ của các giao thức mạng có trong các mạng IP lõi, công cụ phân tích cú pháp của chúng tôi cho phép nhận dạng các gói được đóng gói ngoài việc giải mã 5-tuple cổ điển, tức là, cặp địa chỉ IP, cặp cổng và giao thức truyền tải Do
đó, công cụ trích xuất 14-tuple (các trường giao thức), đó là: thẻ Vlan ngoài, thẻ Vlan bên trong (QinQ), thẻ MPLS (hai cấp), thẻ EoMPLS, thẻ Vlan trong EoMPLS, tiêu đề IPv4, tiêu đề UDP hoặc TCP Độ dài động của tiêu đề IPv4 sử dụng các trường tùy chọn cũng được xử lý trong quá trình phân tích cú pháp Siêu dữ liệu giao thức được giải mã được đồng bộ hóa với gói ban đầu và được đệm để xử lý thêm
Trang 35Để đánh giá QoS của dịch vụ mạng, xử lý gói không mất dữ liệu là một yêu cầu thiết yếu Do mô-đun MAC 100 Gbit/s hoạt động ở chế độ không phân đoạn, mỗi từ 512 bit (và do đó, mỗi chu kỳ xung nhịp) có thể chứa một gói mới có kích thước tối thiểu Thuộc tính này ra lệnh ràng buộc thời gian rất nghiêm ngặt đối với công cụ phân tích cú pháp, phải giải mã cấu trúc tiêu đề trong một chu kỳ đồng hồ
Sử dụng bộ đệm hoặc bộ nhớ lưu trữ không phải là một tùy chọn khả thi ở tần số lõi này, bởi vì việc định tuyến trong chip đến các thành phần bộ nhớ thường là một điểm quan trọng về thời gian Ngoài ra, các mô-đun bộ nhớ chỉ là giải pháp tạm thời, vì lưu lượng truy cập tạm thời là các gói dữ liệu có kích thước tối thiểu, có thể gây ra tràn và giảm gói Theo các giới hạn chip và các tác vụ đích, các bước xử lý của trình phân tích cú pháp được thiết kế và tích hợp vào kiến trúc đường ống Mỗi giai đoạn đường ống có một nhiệm vụ được xác định rõ trong quá trình phân tích gói để xử lý nhận dạng và trích xuất một tiêu đề nhúng Vì tần số cốt lõi là rất quan trọng, một giai đoạn phải chứa các thao tác đơn giản trên một tiêu đề được xác định trước Cấu trúc đường ống trong C-GEP cũng được cố định tại thời điểm biên dịch
Để quản lý và theo dõi sự bắt đầu của các tiêu đề, các chỉ số đơn giản được tính toán và truyền qua các giai đoạn xử lý Ở cuối đường ống, giai đoạn đọc bảo vệ động cơ phân tích chống tràn
Đầu ra (nghĩa là lưu lượng được xử lý trước) của hệ thống giám sát luôn được lưu trữ trong một tính toán sau xử lý và thống kê dữ liệu Để giảm lượng dữ liệu được lưu trữ, việc cắt tải trọng gói là một giải pháp phổ biến Vì vậy, việc nhúng giao thức là một thuộc tính phức tạp và không xác định của các gói đến, cắt tĩnh (chiều dài snap tĩnh) được sử dụng rộng rãi trong thực tế Phương pháp này bỏ qua dữ liệu người dùng riêng tư, nằm ngoài cửa sổ tĩnh Tuy nhiên, điều đó có thể xảy ra, rằng dữ liệu riêng tư vẫn hiển thị hoặc thông tin tiêu đề quan trọng không được lưu trữ do cắt tĩnh Một lợi thế của một công cụ phân tích cú pháp phức tạp là kiến thức về cấu trúc tiêu đề, đây là một yếu tố quan trọng và bắt buộc để tính toán
độ dài snap động Thuộc tính này của quy trình phân tích cú pháp đảm bảo rằng tất
cả thông tin tiêu đề có thể được lưu trữ mà không có dữ liệu người dùng riêng tư
Trang 36Lọc và phân loại gói
Phân loại gói là một trong những quy trình chính trong hệ thống giám sát, là giai đoạn thứ ba của đường dẫn xử lý nội bộ Nó mong đợi siêu dữ liệu đầu vào về gói đến và về cơ sở của phân loại Cái trước là bộ trường tiêu đề được trích xuất, đến từ giai đoạn phân tích gói Số lượng và kích thước của các trường tiêu đề xác định độ phức tạp của công cụ tra cứu Cái sau là một tập hợp trường, cụ thể là quy tắc, trong đó kết quả ưu tiên cao nhất cho kết quả của quá trình phân loại Các quy tắc được dựa trên thông tin tiêu đề được trích xuất, cụ thể là bộ dữ liệu
Các giải pháp cổ điển là phương pháp 5-tuple Sự hội tụ của các mạng di động với IP và sự xuất hiện của phân loại phức tạp, hơn 5 tuple trở nên quan trọng
và trở thành lĩnh vực nghiên cứu tích cực trong thời gian gần đây Để thực hiện lọc hạt mịn, C-GEP hoạt động với công cụ phân loại 14-tuple hệ thống C-GEP tiếp tục luồng dữ liệu của công cụ phân tích gói, bao gồm các yêu cầu về độ rộng và tần số của đường dẫn dữ liệu
Cấu hình lại trong suốt của quy tắc lọc
Một trong những ổ đĩa thiết kế chính của công cụ phân loại gói là đang hoạt động, cấu hình lại trong suốt mà không cần chuyển hướng theo thời gian của luồng gói đến đường dẫn bỏ qua Các gói đã mua được lọc dựa trên quy tắc cũ cho đến khi
cơ chế cập nhật ghi đè lên nó Kiến trúc của mô-đun bộ lọc dựa trên cùng một nguyên tắc như công cụ phân tích cú pháp, cụ thể là đường ống Tính năng này ngụ
ý cơ chế cập nhật theo từng giai đoạn và đường dẫn dành riêng cho dữ liệu cấu hình Quá trình lọc được đồng bộ hóa với thuật toán cập nhật để thực hiện xử lý thời gian thực
Các tệp nhị phân có thể được mở lại hoặc xuất để chặn các tệp khởi tạo RAM Cơ chế này rất hữu ích trong quá trình xác nhận các nguyên mẫu Sau khi tạo tập tin cấu hình, các quy tắc mới có thể được tải lên chip FPGA Hệ điều hành Linux nhúng của nền tảng C-GEP chứa các chức năng cho cơ chế cập nhật quy tắc,
Trang 37được viết bằng C Các chức năng cập nhật sử dụng giao diện PCIe để cấu hình lại công cụ phân loại Mô-đun PCIe ở phía FPGA hoạt động ở tần số lõi 125 MHz, trái ngược với mô-đun bộ lọc Việc vượt qua miền đồng hồ được giải quyết bởi các FIFO để thu thập và đồng bộ hóa các quy tắc mới Công cụ phân loại hoạt động trên siêu dữ liệu giao thức được trích xuất bởi mô-đun trình phân tích cú pháp Mỗi quy tắc chứa 14 điều kiện cơ bản, trong đó các điều kiện có thể được nối bằng cách sử dụng các hoạt động các cổng AND hoặc NOT AND
Hình 2.5 Phân loại gói dựa trên đường ống
Với cấu trúc được trình bày của công cụ phân loại (xem Hình 2.5), nền tảng màn hình C-GEP có thể hoạt động với 16 bộ lọc dựa trên phần cứng Số lượng các quy tắc trong kiến trúc này bị hạn chế do các hạn chế tài nguyên chip FPGA Để tăng số lượng quy tắc lọc, giải pháp đã được thiết kế và triển khai giải pháp lọc dựa trên khối RAM mới (xem Hình 2.6) Là một cách tiếp cận mới, chọn một công việc
Trang 38trước đó từ các công cụ phân loại dựa trên phân tách, cơ sở của chức năng lọc của chúng tôi Vectơ bit phân tách trường (FSBV) là phương pháp lọc song song, dựa trên tra cứu, sử dụng các trường con từ thông tin tiêu đề ban đầu Vì nó chỉ hoạt động ở tần số lõi 167 MHz, nó không đáp ứng các ràng buộc tần số Để tăng cường thuật toán FSBV, giải pháp đã tối ưu hóa nó để hỗ trợ tần số hoạt động 312,5 MHz Giải pháp này được xác minh trong các thử nghiệm mô phỏng, giai đoạn tích hợp và tạo chương trình cơ sở chưa được thực hiện Tuy nhiên, công cụ phân loại được tối
ưu hóa có thể hoạt động theo quy tắc n x 72, tương tự như giải pháp FSBV Thông tin tiêu đề được trích xuất, đến từ công cụ phân tích cú pháp, được chia thành các địa chỉ 9 bit cho RAM khối Mỗi địa chỉ đại diện cho một giá trị 72 bit, trong đó mỗi bit thuộc về một quy tắc Nếu phần 9 bit của quy tắc thực tế khớp với phần 9 bit của thông tin tiêu đề được trích xuất, thì phần này được biểu thị bằng 1 tại chỉ mục
đã cho nếu không bit được đặt thành 0 Mỗi khối RAM được xử lý song song, trong
đó một phần kết quả là AND-ed cho kết quả cuối cùng Hạn chế của kiến trúc này là thiếu cấu hình lại thời gian thực Phù hợp quy tắc là một hoạt động không hợp lệ trong một chu kỳ viết đồng hồ
Hình 2.6 Phân loại gói dựa trên Block RAM
Trang 39Nếu nhà điều hành muốn giám sát một mạng con, giám sát dựa trên quy tắc
bộ lọc có thể là một giải pháp hiệu quả Giám sát dựa trên dòng chảy phù hợp cho phép đo QoS hoặc DPI Vòng tròn phân phối gói cân bằng dữ liệu Phương thức định tuyến thứ ba, phù hợp để cân bằng lưu lượng truy cập giữa các tác nhân trên cơ
sở mỗi gói Hoạt động lossless không chỉ là một yêu cầu cho các gói đến mà còn cho lưu lượng đi TCP là một giải pháp nổi tiếng cho hoạt động hướng kết nối, cung cấp chuyển gói không mất dữ liệu giữa hai nút mạng Tuy nhiên, TCP yêu cầu một vùng bigchip đáng kể trong triển khai phần cứng và mỗi phiên bản giao diện yêu cầu một phiên bản dành riêng của mô-đun TCP Để xử lý việc truyền gói tin không mất dữ liệu với tài nguyên phần cứng thấp, nhóm nghiên cứu của chúng tôi đã thiết
kế một giao thức vận chuyển dựa trên UDP, cụ thể là Giao thức vận chuyển điều khiển tốc độ (RCTP) [19] Ưu điểm của giao thức này nằm ở cơ chế điều khiển luồng, hoạt động ở phía người nhận và người gửi dựa trên logic đơn giản để quan tâm đến giới hạn tài nguyên của FPGA
2.1.3 Phần mềm IDS
Các thành phần của phần mềm IDS không bị giới hạn vào trong một số sản phẩm cụ thể mà cần phải sử dụng kết hợp một vài giải pháp Yêu cầu quan trọng nhất là các giải pháp này phải là phần mềm nguồn mở và dễ sửa đổi
Trên FPGA rất khó để thực hiện một số kiểu tấn công (chủ yếu là tấn công lớp 7) bởi vì bộ nhớ của nó bị hạn chế Tài nguyên vật lý rất là hạn chế, vì vậy cần thêm vào hệ thống một thành phần phần mềm chạy trên PC Phần cứng làm tăng hiệu suất của hệ thống, phần mềm cung cấp sự thông minh và tính linh hoạt Gần đây, nhiều phần mềm IDS đã được thiết kế với những chức năng khác nhau, nhưng không cái nào có thể xử lý dữ liệu ở tốc độ cần thiết để có thể phục vụ trung tâm dữ liệu lớn hay mạng IPX Nếu muốn kết nối phần mềm IDS với hệ thống thì nhất thiết phải có một số loại phần cứng tăng tốc, chẳng hạn như các bộ lọc gói tin dựa trên FPGA Chúng ta có thể phát triển nhiều bộ lọc khác nhau làm giảm lượng dữ liệu được xử lý bởi phần mềm Chúng ta cũng có thể lọc các cuộc tấn công dựa trên kiểu