54 Trang 7 5 DANH M C CÁC KÝ HI U, CÁC CH ỤỆỮVIẾT T T ẮTừ viết tắt Thuật ngữ tiếng anh Ý nghĩa DDoS Distributed Denial Of Service Tấn công phân tán từ chối dịch vụDoS Denial of Service
Lý do ch ọn đề tài
Các cuộc tấn công từ chối dịch vụ (DoS) và từ chối dịch vụ phân tán (DDoS) ngày càng phức tạp và khó dự đoán, gây khó khăn cho việc phát hiện và giảm thiểu của các nhà quản lý mạng Gần đây, TCP SYN Flood đã trở thành một trong những dạng tấn công DDoS phổ biến và gây thiệt hại nghiêm trọng, buộc các nhà cung cấp dịch vụ phải ngắt máy chủ Theo Verisign, trong quý 3 năm 2016, các cuộc tấn công Flood mạnh nhất được ghi nhận có tốc độ lên tới 60 Gbps và 150 Gbps.
Cuộc tấn công TCP SYN Flood là một trong những hình thức tấn công DoS nguy hiểm nhất, với số lượng gói tin gửi đi mỗi giây cao kỷ lục mà Verisign từng ghi nhận Tấn công này lợi dụng quy trình bắt tay ba bước của kết nối TCP, khiến máy chủ mục tiêu không thể phản hồi các yêu cầu kết nối hợp lệ Trong quá trình này, máy khách gửi gói tin SYN để yêu cầu kết nối, và nếu máy chủ chấp nhận, nó sẽ phản hồi bằng gói SYN ACK, tạo ra các kết nối dở dang (Half Open Connection - HOC) Tuy nhiên, trong một cuộc tấn công SYN Flood, máy chủ bị tấn công bởi một lượng lớn gói tin SYN từ các địa chỉ IP giả mạo, dẫn đến việc tạo ra nhiều HOC mà không có xác nhận từ máy khách Kết quả là tài nguyên máy chủ nhanh chóng cạn kiệt, ngăn cản khả năng phục vụ các kết nối hợp pháp từ người dùng.
Tấn công TCP SYN Flood gây ra nhiều tác động tiêu cực, bao gồm việc chiếm dụng tài nguyên máy chủ, làm giảm hiệu quả của các sơ đồ bảo mật dựa trên trạng thái luồng do khó khăn trong việc quản lý các luồng giả mạo, và làm tăng thời gian tìm kiếm trong bảng TCB Những vấn đề này cho thấy TCP SYN Flood là một trong những loại tấn công nguy hiểm và khó phòng ngừa nhất.
Trong khi đó thì hệ thống mạng hiện nay vẫn còn tồn tại một vài vấn đề:
- Thứ nhất là phương pháp tiếp cận và nghiên cứu mạng hiện nay là đóng, mang tính độc quyền của nhà sản xuất thiết bị mạng;
Hệ thống mạng hiện nay đang trở nên phức tạp và khó quản lý do sự xuất hiện của các thiết bị độc quyền, cùng với việc tích hợp nhiều thiết bị mạng từ các nhà cung cấp khác nhau.
Hệ thống mạng hiện nay gặp nhiều khó khăn trong việc phát triển và tối ưu hóa do quỹ địa chỉ IP đang ngày càng hạn chế.
Chi phí cho các thiết bị mạng và quản lý hoạt động là một vấn đề lớn, do sự phức tạp của hệ thống Hơn nữa, việc thu thập các phép đo và cấu hình thiết bị thường gặp khó khăn và không được thực hiện hiệu quả.
Mạng điều khiển bằng phần mềm (SDN) là một mô hình mạng mới, tách biệt việc kiểm soát luồng thông tin định tuyến với luồng dữ liệu, cho phép kiểm soát gói dữ liệu linh hoạt hơn so với kiến trúc mạng truyền thống Giao thức OpenFlow, một trong những tiêu chuẩn SDN đầu tiên, định nghĩa giao thức truyền thông để bộ điều khiển có thể truy cập và điều khiển lớp chuyển tiếp như bộ chuyển mạch hoặc bộ định tuyến SDN không chỉ giúp dễ dàng thay đổi chính sách quản lý mà còn cho phép thêm bớt các chức năng điều khiển và thuật toán mà không cần thay đổi thiết bị phần cứng.
Mạng SDN (Software-Defined Networking) cho phép điều khiển hoạt động của mạng thông qua lập trình và nạp mã nguồn, giúp quản lý thiết bị mạng một cách linh hoạt mà không cần thay thế toàn bộ hệ thống Nhờ vào khả năng này, SDN hỗ trợ việc triển khai các chính sách quản lý mới, kiểm soát truy cập và bảo đảm an ninh mạng, đồng thời phát hiện và giảm thiểu các cuộc tấn công mạng SDN không chỉ mang lại khả năng kết nối mạng linh hoạt mà còn trở thành mô hình hứa hẹn trong lĩnh vực bảo mật mạng.
Trong luận văn này, nhóm nghiên cứu tại phòng Lab FIL đã đề xuất một giải pháp hiệu quả để phát hiện và giảm thiểu tấn công DDoS dạng TCP SYN Flood, sử dụng kiến trúc mạng điều khiển bằng phần mềm Giải pháp này đã đạt được kết quả ấn tượng, với tỉ lệ kết nối dở dang của các luồng tấn công trên máy chủ giảm tới 76% và tỉ lệ Flow Entry của các luồng tấn công trên OFS giảm 57% trong thời gian tấn công diễn ra Nhờ đó, máy chủ và các OFS vẫn duy trì đủ tài nguyên để phục vụ các kết nối hợp lệ, ngay cả khi bị tấn công.
L ch s nghiên c u ị ử ứ
Do tính chất nghiêm trọng của tấn công DDoS, đặc biệt là tấn công TCP SYN Flood, nhiều giải pháp phòng chống và phát hiện đã được nghiên cứu và đề xuất Một trong những biện pháp hiệu quả là giảm thời gian chờ xác nhận yêu cầu kết nối TCP SYN, giúp máy chủ nhanh chóng hủy bỏ các yêu cầu không được xác nhận, từ đó giải phóng tài nguyên Ngoài ra, việc sử dụng SYN cache cho phép duy trì Backlogs chung cho toàn máy chủ, tăng cường khả năng xử lý các kết nối đang chờ xác nhận Cuối cùng, SYN Cookies là một phương pháp cho phép cấp phát tài nguyên chỉ khi kết nối đã được xác nhận, giúp hủy bỏ các yêu cầu SYN không xác nhận trước khi chuyển đến máy chủ đích.
Avant-Guard đề xuất một cơ chế ủy quyền nhằm duy trì các luồng, đảm bảo quá trình bắt tay ba hoàn tất một cách hiệu quả.
Module proxy có thể trở thành mục tiêu của cuộc tấn công từ chối dịch vụ nếu kẻ tấn công gửi nhiều yêu cầu ủy quyền LineSwitch đã chỉ ra những thiếu sót trong cơ chế ủy quyền của Avant Guards và đề xuất bổ sung cơ chế xác thực cho các gói tin trong quá trình bắt tay TCP ban đầu của Avant-proxy, cùng với danh sách đen cho lưu lượng mạng tại switch để bảo vệ mặt phẳng điều khiển Các giải pháp này thực chất là bổ sung vào module xử lý gói tại OpenFlow Switch (OFS), tuy nhiên, điều này làm mất đi bản chất thiết kế ban đầu của OFS, vốn chỉ hoạt động chuyển tiếp dữ liệu mà không xử lý gói.
M ục đích nghiên cứ u c a lu ủ ận văn, đối tƣợ ng, ph m vi nghiên c u ạ ứ
Giải pháp này được áp dụng cho các máy chủ của các nhà cung cấp dịch vụ, bao gồm công ty và doanh nghiệp trong lĩnh vực thương mại điện tử, cũng như hệ thống máy chủ của các trường học và cơ quan nhà nước.
4 Tóm tắt cô đọng các luận điểm cơ bả đóng góp mớ ủn, i c a luận văn
Nghiên cứu các thuật toán phát hiện tấn công từ chối dịch vụ (DoS) và từ chối dịch vụ phân tán (DDoS) là rất quan trọng trong việc bảo vệ hệ thống mạng Việc áp dụng các thuật toán phát hiện bất thường trong lưu lượng giúp nhận diện sớm các cuộc tấn công Đồng thời, tìm hiểu và triển khai các giải pháp hiệu quả nhằm giảm thiểu tác động của những tấn công này cũng là một yếu tố then chốt trong an ninh mạng.
- Tìm hiểu và nghiên cứu kỹ thuật mạng đƣợc điểu khiển bằng phần mềm SDN và giao thức OpenFlow;
Đề xuất giải pháp phát hiện và giảm thiểu tấn công DDoS dạng TCP SYN Flood thông qua việc sử dụng mạng điều khiển bằng phần mềm SDN và giao thức OpenFlow Giải pháp này nhằm tối ưu hóa khả năng bảo mật mạng, nâng cao hiệu quả phát hiện và ngăn chặn các cuộc tấn công SYN Flood, từ đó bảo vệ hệ thống mạng khỏi những rủi ro tiềm ẩn.
- Phương pháp nghiên cứu lí luận: Tổng hợp, phân tích tài liệu, sách báo và một số công trình nghiên cứu có liên quan;
- Phương pháp tổng hợp, so sánh: Thông qua việc tham khảo tài liệu và quá trình nghiên cứu, thử nghiệm thực tế trên Lab;
- Phương pháp lấy ý kiến chuyên gia: Sự hướng dẫn và đóng góp ý kiến của PGS.TS Trương Thu Hương.
Ngoài phần mở đầu, mục lục, kết luận, tài liệu tham khảo luận văn bao gồm ba chương:
Chương 1: Cơ sở lý thuyết về an ninh mạng và tấn công DoS/DDoS;
Chương 2: Sử dụng kiến trúc mạng OpenFlow/SDN trong phát hiện và giảm thiểu tấn công DDoS dạng TCP SYN Flood;
Chương 3 trình bày hệ thống thử nghiệm, kết quả đạt được và định hướng phát triển, với các nội dung sẽ được phân tích chi tiết trong các phần tiếp theo của luận văn.
CHƯƠNG 1 - CƠ SỞ LÝ THUY T V AN NINH M NG VÀ Ế Ề Ạ
1.1 Cơ sở lý thuy t v an ninh m ng hiế ề ạ ện nay
Theo Báo cáo an ninh website của CyStack quý 3 năm 2018, đã có 129.722 website trên toàn cầu bị tin tặc tấn công, tương đương với một website bị kiểm soát mỗi phút Số lượng website bị tấn công tăng từ 43.110 trong tháng 7 lên 45.207 vào tháng 9 Đến cuối tháng 9, 21,48% website bị tấn công trong tháng 7 vẫn chưa được khôi phục, trong khi tỷ lệ này ở tháng 8 và tháng 9 lần lượt là 33,87% và 44,08% Đến tháng 10/2018, trong số 41.405 website bị tấn công vào tháng 8, vẫn còn 12.102 website chưa được khắc phục, cho thấy nhiều chủ sở hữu không chú trọng đến bảo mật website hoặc không biết cách xử lý sự cố.
Trong bối cảnh tấn công DDoS, tội phạm mạng đang liên tục tìm kiếm các lỗ hổng an toàn thông tin mới trên các giao thức truyền tải, dự kiến sẽ xuất hiện nhiều phương pháp tấn công tinh vi hơn trong tương lai Theo thống kê quý 2 năm 2018, Trung Quốc dẫn đầu về số lượng cuộc tấn công DDoS với 59,03%, tiếp theo là Hồng Kông với 17,13% Đặc biệt, Trung Quốc cũng đứng đầu về số lượng mục tiêu tấn công riêng biệt (52,36%), trong khi Mỹ chiếm 17,75% và Hồng Kông đạt 12,88%.
Năm 2018, một botnet được hình thành từ 50.000 camera giám sát ở Nhật Bản đã gây ra những cuộc tấn công mạng nghiêm trọng Một ví dụ khác là công ty đường sắt của Đan Mạch, nơi đã trở thành mục tiêu của một cuộc tấn công DDoS, khiến họ phải mất vài ngày để khắc phục trước khi có thể phục vụ trở lại Những cuộc tấn công này được cho là có động cơ chính trị, làm dấy lên lo ngại về an ninh mạng và khả năng bị tấn công của các hệ thống quan trọng.
Tình hình an ninh mạng tại Việt Nam đang trở nên nghiêm trọng khi nước này đứng thứ 19 trong top 20 quốc gia có số lượng website bị tấn công lớn nhất thế giới trong quý 3 năm 2018 Theo Báo cáo an ninh website quý 3 năm 2018 của CyStack, Việt Nam ghi nhận 1.183 website bị tấn công.
Trong số 14 website bị tấn công, doanh nghiệp là mục tiêu chính của 71,51% các cuộc tấn công, tiếp theo là website thương mại điện tử với 13,86% Theo thống kê của Kaspersky Lab trong quý 2 năm 2018, Việt Nam đứng thứ 9 trong danh sách các quốc gia bị tấn công DDoS nhiều nhất trên thế giới Điều này cho thấy Việt Nam đang phải đối mặt với nhiều cuộc tấn công, ảnh hưởng nghiêm trọng đến hoạt động của các công ty và gây thiệt hại lớn về kinh tế.
Hình 1 1 Bảng xếp hạng các quốc gia có lƣợng tấn công DDoS lớn nhất trên thế giới của quý 2 năm 2018 do Kaspersky Lab thống kê
1.2 Cơ sở lý thuy t v t n công DDoS ế ề ấ
Trong bài viết này, tôi sẽ phân tích lý thuyết về tấn công DoS/DDoS, đặc biệt là tấn công TCP SYN Flood, để làm rõ những nguy cơ nghiêm trọng mà loại tấn công này mang lại.
Tấn công từ chối dịch vụ (DoS) là một hình thức tấn công nhằm ngăn cản người dùng hợp pháp truy cập tài nguyên mạng, có thể làm ngưng hoạt động của máy tính, máy chủ hoặc hệ thống mạng lớn Kẻ tấn công chiếm dụng một lượng lớn tài nguyên mạng như băng thông và bộ nhớ, làm mất khả năng xử lý yêu cầu từ các máy khách khác Tấn công từ chối dịch vụ phân tán (DDoS) là phiên bản nâng cao của DoS, với quy mô tấn công lớn và phát sinh đồng thời từ nhiều máy tính trên Internet.
Kể từ cuộc tấn công DDoS đầu tiên vào năm 1999, nhiều cuộc tấn công đã nhằm vào hệ thống mạng của các công ty và tổ chức, chủ yếu để ngắt quãng hoặc ngừng dịch vụ của nạn nhân Hậu quả của các cuộc tấn công này là giảm doanh thu và tăng chi phí phòng chống cũng như phục hồi dịch vụ Một ví dụ điển hình là vào tháng 12 năm 2010, nhóm tin tặc “Anonymous” đã thực hiện loạt tấn công DDoS khiến các trang web của Mastercard, Visa International, Paypal và PostFinance ngừng hoạt động.
Vào năm 2012, nhóm tin tặc “Izz ad-Din al-Qassam Cyber Fighters” đã thực hiện một cuộc tấn công DDoS quy mô lớn, gây gián đoạn hoạt động của các trang web ngân hàng trực tuyến của 9 ngân hàng lớn tại Mỹ Các cuộc tấn công DDoS ngày càng trở nên phổ biến với quy mô lớn và tinh vi hơn, nhờ vào sự phát triển của kỹ thuật tấn công và sự lan rộng của các công cụ hỗ trợ Động cơ của tin tặc trong các cuộc tấn công DDoS rất đa dạng, nhưng có thể phân loại thành một số loại chính dựa trên mục đích của họ.
Tin tặc thực hiện các cuộc tấn công DDoS nhằm mục đích giành lợi ích tài chính thường có kỹ thuật tinh vi và kinh nghiệm dày dạn, trở thành mối đe dọa thường trực cho các công ty và tập đoàn lớn Những cuộc tấn công này không chỉ nguy hiểm mà còn rất khó phòng chống, đòi hỏi các biện pháp bảo vệ mạnh mẽ để giảm thiểu rủi ro.
Phương pháp nghiên cứu
- Phương pháp nghiên cứu lí luận: Tổng hợp, phân tích tài liệu, sách báo và một số công trình nghiên cứu có liên quan;
- Phương pháp tổng hợp, so sánh: Thông qua việc tham khảo tài liệu và quá trình nghiên cứu, thử nghiệm thực tế trên Lab;
- Phương pháp lấy ý kiến chuyên gia: Sự hướng dẫn và đóng góp ý kiến của PGS.TS Trương Thu Hương.
Ngoài phần mở đầu, mục lục, kết luận, tài liệu tham khảo luận văn bao gồm ba chương:
Chương 1: Cơ sở lý thuyết về an ninh mạng và tấn công DoS/DDoS;
Chương 2: Sử dụng kiến trúc mạng OpenFlow/SDN trong phát hiện và giảm thiểu tấn công DDoS dạng TCP SYN Flood;
Chương 3 của luận văn sẽ trình bày hệ thống thử nghiệm, kết quả đạt được và định hướng phát triển, với các nội dung chi tiết sẽ được phân tích cụ thể trong các phần tiếp theo.
CHƯƠNG 1 - CƠ SỞ LÝ THUY T V AN NINH M NG VÀ Ế Ề Ạ
1.1 Cơ sở lý thuy t v an ninh m ng hiế ề ạ ện nay
Theo Báo cáo an ninh website của CyStack trong quý 3 năm 2018, có 129.722 website trên toàn cầu bị tin tặc tấn công, tương đương với một website bị kiểm soát mỗi phút Số lượng website bị tấn công lần lượt là 43.110 vào tháng 7, 41.405 vào tháng 8 và tăng lên 45.207 vào tháng 9 Đến cuối tháng 9/2018, 21,48% website bị tấn công trong tháng 7 vẫn chưa được khôi phục, với tỷ lệ này ở tháng 8 và tháng 9 lần lượt là 33,87% và 44,08% Đến tháng 10/2018, trong số 41.405 website bị tấn công vào tháng 8, vẫn còn 12.102 website chưa được khắc phục, cho thấy nhiều chủ sở hữu không quan tâm đến bảo mật website của mình hoặc không biết cách xử lý sự cố.
Trong bối cảnh tấn công DDoS, tội phạm mạng đang ngày càng tìm kiếm các lỗ hổng an toàn thông tin mới trên các giao thức truyền tải, dự báo sẽ xuất hiện nhiều phương pháp tấn công tinh vi hơn trong tương lai Theo thống kê quý 2 năm 2018, Trung Quốc dẫn đầu với 59,03% tổng số cuộc tấn công DDoS, tiếp theo là Hồng Kông với 17,13% Ngoài ra, Trung Quốc cũng đứng đầu về số lượng mục tiêu tấn công riêng biệt (52,36%), tiếp theo là Mỹ (17,75%) và Hồng Kông (12,88%).
Năm 2018, một botnet gồm 50.000 camera giám sát tại Nhật Bản đã được hình thành, gây ra các cuộc tấn công DDoS nghiêm trọng Công ty đường sắt Đan Mạch là một trong những nạn nhân, buộc phải mất vài ngày để khắc phục và phục hồi dịch vụ Những cuộc tấn công này được cho là có động cơ chính trị.
Tình hình an ninh mạng tại Việt Nam đang trở nên đáng lo ngại khi quốc gia này đứng thứ 19 trong danh sách 20 quốc gia có số lượng website bị tấn công nhiều nhất thế giới trong quý 3 năm 2018 Theo Báo cáo an ninh website quý 3 năm 2018 của CyStack, Việt Nam ghi nhận 1.183 website bị tấn công.
Trong số 14 website bị tấn công, doanh nghiệp là mục tiêu chính của 71,51% các cuộc tấn công, trong khi website thương mại điện tử chiếm 13,86% Theo thống kê của Kaspersky Lab trong quý 2 năm 2018, Việt Nam đứng thứ 9 trong danh sách các quốc gia có lượng tấn công DDoS lớn nhất thế giới Điều này cho thấy Việt Nam đang phải đối mặt với nhiều cuộc tấn công, gây ảnh hưởng nghiêm trọng đến hoạt động của các công ty và dẫn đến thiệt hại kinh tế lớn.
Hình 1 1 Bảng xếp hạng các quốc gia có lƣợng tấn công DDoS lớn nhất trên thế giới của quý 2 năm 2018 do Kaspersky Lab thống kê
1.2 Cơ sở lý thuy t v t n công DDoS ế ề ấ
Trong bài viết này, tôi sẽ khám phá lý thuyết về tấn công DoS/DDoS, đặc biệt là tấn công TCP SYN Flood, nhằm làm rõ những mối nguy hiểm nghiêm trọng mà loại tấn công này có thể gây ra.
Kể từ cuộc tấn công DDoS đầu tiên vào năm 1999, nhiều cuộc tấn công đã nhắm vào hệ thống mạng của các công ty và tổ chức, chủ yếu nhằm làm gián đoạn hoặc ngừng dịch vụ Hậu quả của các cuộc tấn công này là giảm doanh thu và gia tăng chi phí phòng ngừa cũng như phục hồi dịch vụ Một ví dụ điển hình là vào tháng 12 năm 2010, nhóm tin tặc "Anonymous" đã thực hiện hàng loạt cuộc tấn công DDoS, gây gián đoạn hoạt động của các trang web tổ chức tài chính như Mastercard, Visa International, Paypal và PostFinance.
Vào năm 2012, nhóm tin tặc "Izz ad-Din al-Qassam Cyber Fighters" đã thực hiện một đợt tấn công DDoS quy mô lớn, gây gián đoạn hoặc ngừng hoạt động cho các trang web ngân hàng trực tuyến của 9 ngân hàng lớn tại Mỹ Các cuộc tấn công DDoS ngày càng trở nên phổ biến, với quy mô và độ tinh vi ngày càng tăng nhờ sự phát triển của kỹ thuật và công cụ tấn công Động cơ của các tin tặc trong các cuộc tấn công DDoS rất đa dạng, nhưng có thể phân loại thành một số loại chính dựa trên mục tiêu của họ.
Tin tặc thực hiện các cuộc tấn công DDoS nhằm mục đích giành lợi ích tài chính thường có kỹ thuật tinh vi và kinh nghiệm dày dạn Những cuộc tấn công này luôn là mối đe dọa tiềm tàng đối với các công ty và tập đoàn lớn, vì chúng không chỉ nguy hiểm mà còn rất khó để phòng chống.
Tin tặc thực hiện tấn công DDoS nhằm mục đích trả thù thường là những cá nhân bất mãn, họ tiến hành các cuộc tấn công này để đáp trả lại những sự kiện mà họ cho là bất công.
Tin tặc thực hiện các cuộc tấn công DDoS trong không gian mạng thường thuộc về các tổ chức quân sự hoặc khủng bố, nhằm tấn công các hệ thống trọng yếu của một quốc gia khác vì lý do chính trị Những mục tiêu thường gặp bao gồm mạng lưới của các cơ quan chính phủ, tổ chức tài chính ngân hàng, hệ thống cung cấp điện nước và các nhà cung cấp dịch vụ viễn thông Những tin tặc này thường được đào tạo bài bản và có nguồn lực mạnh mẽ để thực hiện các cuộc tấn công kéo dài Hậu quả của các cuộc tấn công này có thể rất nghiêm trọng, dẫn đến sự gián đoạn nhiều dịch vụ và gây thiệt hại kinh tế lớn cho quốc gia bị tấn công.
Hình 1 2 Phân loại tấn công DDoS
Tấn công DDoS có thể được phân loại theo nhiều phương pháp khác nhau, nhưng nếu xem xét theo mục đích, chúng thường được chia thành hai loại chính: (1) Tấn công nhằm làm gián đoạn dịch vụ, và (2) Tấn công nhằm chiếm đoạt thông tin hoặc tài nguyên.
Tấn công vào băng thông kết nối là phương thức chiếm đoạt tài nguyên mạng, gây tắc nghẽn cho người dùng hợp pháp Trong khi đó, tấn công vào tài nguyên lưu trữ và xử lý của hệ thống, như RAM và CPU, thường dẫn đến tình trạng quá tải, với các hình thức phổ biến như tràn bộ đệm, đầy ổ đĩa hoặc chiếm hết khả năng xử lý của máy chủ.
CƠ SỞ - LÝ THUY T V AN NINH M NG VÀ T N CÔNG Ế Ề Ạ Ấ DOS/DDOS
Cơ sở lý thuy t v t n công DDoS 15 ế ề ấ
Trong bài viết này, tôi sẽ phân tích lý thuyết về tấn công DoS/DDoS, đặc biệt là hình thức tấn công TCP SYN Flood, nhằm làm rõ những mối đe dọa nghiêm trọng mà loại tấn công này mang lại.
Kể từ cuộc tấn công DDoS đầu tiên được xác nhận vào năm 1999, nhiều cuộc tấn công DDoS đã diễn ra, gây ngập lụt hệ thống mạng của các công ty và tổ chức Các cuộc tấn công này chủ yếu nhằm làm gián đoạn hoặc ngừng dịch vụ của nạn nhân, dẫn đến giảm doanh thu và tăng chi phí phòng chống, phục hồi dịch vụ Một ví dụ điển hình là vào tháng 12 năm 2010, nhóm tin tặc "Anonymous" đã thực hiện hàng loạt cuộc tấn công DDoS, làm ngừng hoạt động các trang web của các tổ chức tài chính lớn như Mastercard, Visa International, Paypal và PostFinance.
Vào năm 2012, nhóm tin tặc “Izz ad-Din al-Qassam Cyber Fighters” đã thực hiện một cuộc tấn công DDoS quy mô lớn, gây gián đoạn hoạt động của các trang web ngân hàng trực tuyến của 9 ngân hàng lớn tại Mỹ Các cuộc tấn công DDoS ngày càng gia tăng về quy mô và độ tinh vi nhờ vào sự phát triển của kỹ thuật tấn công và sự phổ biến của các công cụ tấn công Động cơ của các tin tặc thực hiện tấn công DDoS rất đa dạng, nhưng có thể phân loại chúng thành một số nhóm chính dựa trên mục đích của các cuộc tấn công này.
Tin tặc tấn công DDoS với mục tiêu giành lợi ích tài chính thường sở hữu kỹ thuật tinh vi và kinh nghiệm tấn công cao Chúng là mối đe dọa thường trực đối với các công ty và tập đoàn lớn, khiến các cuộc tấn công này trở thành một trong những hình thức tấn công nguy hiểm và khó phòng chống nhất.
Tin tặc thực hiện các cuộc tấn công DDoS nhằm trả thù thường là những cá nhân không hài lòng, họ tiến hành các hành động này để đáp trả những sự việc mà họ cho là bất công.
Gây chiến tranh trên không gian mạng là hành động mà tin tặc tấn công DDoS, thường thuộc về các tổ chức quân sự hoặc khủng bố, nhằm vào các hệ thống trọng yếu của một quốc gia khác vì mục đích chính trị Những mục tiêu tấn công phổ biến bao gồm hệ thống mạng của các cơ quan chính phủ, tổ chức tài chính ngân hàng, hệ thống cung cấp điện nước và các nhà cung cấp dịch vụ viễn thông Tin tặc trong trường hợp này thường được đào tạo bài bản và sử dụng nguồn lực mạnh để thực hiện các cuộc tấn công kéo dài Hậu quả của những cuộc tấn công này có thể rất nghiêm trọng, gây ngừng trệ nhiều dịch vụ và gây thiệt hại lớn về kinh tế cho quốc gia bị tấn công.
Hình 1 2 Phân loại tấn công DDoS
Tấn công DDoS có thể được phân loại dựa trên mục đích của chúng, và thường được chia thành hai loại chính Những phương pháp này giúp hiểu rõ hơn về cách thức hoạt động và mục tiêu của các cuộc tấn công, từ đó có thể áp dụng các biện pháp phòng ngừa hiệu quả hơn.
Tấn công vào băng thông kết nối là phương thức làm tắc nghẽn tài nguyên mạng, ảnh hưởng đến người dùng hợp pháp Ngoài ra, tấn công vào tài nguyên lưu trữ và xử lý của hệ thống, như RAM và CPU, gây quá tải cho hệ thống, thường gặp qua các hình thức như tràn bộ đệm, đầy ổ đĩa, hoặc chiếm dụng hoàn toàn khả năng xử lý của máy chủ.
Trong luận văn này, tôi nghiên cứu về tấn công TCP SYN Flood, trong đó kẻ tấn công gửi nhiều gói tin TCP có cờ SYN đến máy chủ Máy chủ phản hồi bằng gói tin TCP SYN-ACK và phải dành tài nguyên như RAM và CPU để xử lý kết nối Tuy nhiên, các máy gửi gói tin SYN không gửi gói tin ACK, khiến máy chủ phải giữ kết nối trong một khoảng thời gian trước khi xóa Khi có nhiều kết nối giả mạo xảy ra đồng thời, máy chủ tiêu tốn nhiều tài nguyên và khi tài nguyên cạn kiệt, máy chủ sẽ không còn khả năng đáp ứng các kết nối hợp lệ Tấn công này khai thác lỗ hổng trong quá trình thiết lập kết nối TCP thông qua ba bước trong quá trình bắt tay.
In the Network Send SYN seq = x
Hình 1 3 Quá trình bắt tay ba bước
- Bước 1: Các máy Client (máy khách) sẽ gửi gói tin (packet có SYN = 1) tới máy chủ để yêu cầu kết nối với số thứ tự seq = x;
Bước 3: Client hoàn tất việc bắt tay ba bước bằng cách gửi gói tin thông báo nhận (ACK) với số nhận y + 1
Khi máy khách gửi gói tin chứa cờ SYN để yêu cầu kết nối, máy chủ sẽ phản hồi bằng gói tin SYN-ACK và chuyển sang trạng thái SYN-RECEIVED Máy chủ sau đó chờ nhận gói tin TCP tiếp theo với cờ ACK được bật, dẫn đến trạng thái HOC (kết nối dở dang) Khi quá trình bắt tay ba bước hoàn tất, máy chủ sẽ chuyển sang trạng thái ESTABLISHED Tuy nhiên, TCP SYN Flood là một dạng tấn công DDoS, trong đó kẻ tấn công gửi hàng loạt yêu cầu SYN để chiếm đoạt tài nguyên máy chủ, làm đầy trạng thái HOC Địa chỉ IP gửi yêu cầu có thể là giả, khiến máy chủ chờ đợi cho đến khi hết thời gian mà không bao giờ nhận được gói tin ACK Kết quả là, các kết nối an toàn trước đó có thể bị ngắt, và những người dùng hợp pháp không thể kết nối do máy chủ không còn khả năng đáp ứng.
Hình 1 4 Cơ chế tấn công TCP SYN Flood
Khi xảy ra cuộc tấn công DDoS dạng TCP SYN Flood, kẻ tấn công gửi hàng loạt gói tin SYN tới Server, khiến Server phải dành thời gian chờ đợi gói tin ACK để xác nhận kết nối Nếu không nhận được gói tin ACK sau 21 giây, Server sẽ ngắt kết nối, gây tốn tài nguyên bộ nhớ Việc này trở nên nghiêm trọng khi kẻ tấn công gửi nhiều gói tin SYN, làm đầy bộ nhớ Server và dẫn đến ngừng phục vụ Để giảm thiểu tác động của cuộc tấn công này, cần phát hiện và ngắt các kết nối giả mạo càng sớm càng tốt, giúp Server tiết kiệm bộ nhớ và duy trì hoạt động.
TCP SYN Flood là một dạng tấn công mạng đặc biệt, sử dụng địa chỉ IP giả mạo và yêu cầu lưu lượng thấp nhưng có khả năng làm quá tải máy chủ trong thời gian ngắn Với tính đơn giản, hiệu quả cao và dễ dàng thực hiện, TCP SYN Flood đang thu hút sự chú ý lớn từ nhiều nhóm nghiên cứu toàn cầu.
Trong mạng truyền thống, các giải pháp cho TCP SYN Flood được phân loại thành hai loại: giải pháp dựa trên máy chủ và giải pháp dựa trên mạng Các giải pháp dựa trên máy chủ nhằm tăng cường triển khai TCP phía máy chủ, bao gồm việc giới hạn số lượng HOC, tăng backlog TCP, và điều chỉnh thuật toán cũng như cấu trúc tra cứu kết nối như bộ đệm SYN Cache và SYN Cookie Tuy nhiên, đặc điểm chung của các giải pháp này là không phân biệt được lưu lượng truy cập hợp pháp và độc hại, mặc dù chúng mang lại tiện ích trong việc cải thiện hiệu suất kết nối.
K t lu ế ận chương I
Trong chương I, chúng ta đã khám phá tổng quan về tấn công DoS và DDoS, bao gồm các loại, phương thức và giai đoạn của một cuộc tấn công DDoS Chúng ta cũng đã tìm hiểu về tấn công TCP SYN Flood và những tác hại nghiêm trọng mà nó gây ra Qua đó, ta nhận thấy DDoS là một dạng tấn công mạng rất nguy hiểm và có khả năng gây ra thiệt hại lớn.
Tấn công DDoS gây thiệt hại nghiêm trọng và hiện tại, mặc dù đã có nhiều biện pháp phòng ngừa được đề xuất, vẫn chưa có giải pháp tổng thể nào đủ hiệu quả để ngăn chặn triệt để Sự phức tạp và tinh vi của các cuộc tấn công này làm cho việc phát hiện và phòng chống trở thành thách thức lớn đối với các quản trị mạng và nhà nghiên cứu.
CHƯƠNG 2 - S D NG KI Ử Ụ Ế N TRÚC M NG Ạ
OPENFLOW/SDN TRONG PHÁT HI N VÀ GI M THI Ệ Ả Ể U
T N CÔNG DDOS D Ấ Ạ NG TCP SYN FLOOD
Trong chương này, tôi sẽ trình bày cơ sở lý thuyết về kiến trúc mạng SDN và giao thức OpenFlow, nhằm hiểu cơ chế hoạt động và lợi ích trong việc phát hiện và giảm thiểu tấn công DDoS Tôi và nhóm nghiên cứu đã phát triển một giải pháp dựa trên kiến trúc mạng điều khiển bằng phần mềm SDN, nhằm phát hiện và giảm thiểu tấn công TCP SYN Flood để bảo vệ các máy chủ dịch vụ Giải pháp này chủ yếu dựa vào việc phân tích lưu lượng mạng thực tế theo thời gian thực, thu thập các thông số và áp dụng thuật toán Fuzzy để xác định thời điểm có tấn công, từ đó đưa ra các hành động phù hợp nhằm giảm thiểu cuộc tấn công nếu xảy ra.
2.1 Cơ sở lý thuy t v ế ề kiến trúc m ng OpenFlow/SDN ạ
Kiến trúc mạng hiện tại ở Việt Nam đang gặp nhiều nhược điểm, không đáp ứng được yêu cầu của các nhà nghiên cứu và doanh nghiệp Việc tuỳ chỉnh bảng định tuyến và linh hoạt với các thay đổi chính sách gặp khó khăn, do thiết bị mạng được cài đặt sẵn các chức năng quản lý theo nhà sản xuất Khi cần thay đổi chính sách, việc thay thế thiết bị là điều cần thiết, vì các nhà sản xuất không cho phép can thiệp vào hệ thống của họ Điều này gây khó khăn cho các nhà quản lý trong việc điều chỉnh tính năng và chính sách quản lý, đặc biệt là trong môi trường phòng thí nghiệm với nhu cầu nghiên cứu đa dạng.
Trước bối cảnh hiện tại, tổ chức phi lợi nhuận ONF (Open Networking Foundation), được thành lập bởi các công ty lớn như Deutsche Telekom, Facebook, Google, Microsoft, Verizon và Yahoo, đã xác định công nghệ mạng Software Defined Networking (SDN) là giải pháp tối ưu để đáp ứng nhanh chóng các yêu cầu về độ trễ, băng thông, định tuyến và bảo mật cho các ứng dụng SDN được xem là một kiến trúc linh hoạt, giúp cải thiện hiệu suất mạng.
Công nghệ này nổi bật với 23 hoạt động, dễ quản lý, hiệu suất cao và khả năng thích nghi tốt, làm cho nó trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu băng thông cao và linh hoạt trong thời đại hiện nay.
Kiến trúc của SDN gồm 3 lớp riêng biệt: lớp ứng dụng, lớp điều khiển và lớp cơ sở hạ tầng (lớp chuyển tiếp) [15]
Hình 2 1 Kiến trúc mạng điều khiển bằng phần mềm SDN
SDN (Software-Defined Networking) là một kiến trúc tách biệt việc kiểm soát luồng thông tin định tuyến và luồng thông tin dữ liệu, cho phép quản lý gói dữ liệu một cách linh hoạt hơn so với mạng truyền thống Giao thức OpenFlow kết nối bộ điều khiển với thiết bị vật lý, giúp thu thập thông tin mạng dễ dàng Công nghệ SDN cho phép thay đổi chính sách quản lý và thêm bớt chức năng điều khiển mà không cần thay đổi phần cứng Điều này cho phép lập trình và nạp mã nguồn mới để điều khiển hoạt động của thiết bị mạng, thuận lợi cho nghiên cứu và triển khai các chính sách quản lý mới.
SDN là một kiến trúc mạng đột phá, hứa hẹn sẽ được triển khai rộng rãi trong thời gian tới, thay đổi toàn bộ các thiết bị mạng hiện có.
2.1.1 Giao th c OpenFlow ứ Để tách biệt hẳn phần điều khiển ra khỏi phần chuyển tiếp và cung cấp khả năng lập trình cho lớp điều khiển, ONF sử dụng giao thức OpenFlow [16 ] OpenFlow là tiêu chuẩn đầu tiên, cung cấp khả năng truyền thông giữa các giao diện của lớp điều khiển và lớp chuyển tiếp trong kiến trúc SDN OpenFlow cho phép truy cập trực tiếp và điều khiển mặt phẳng chuyển tiếp của các thiết bị mạng nhƣ switch và router (cả thiết bị vật lý và thiết bị ảo), do đó giúp di chuyển phần điều khiển mạng ra khỏi các thiết bị chuyển mạch thực tế tới phần mềm điều khiển trung tâm OpenFlow cho phép người quản trị có thể lập trình, tác động đến bảng các luồng để có thể định tuyến, chuyển mạch theo ý muốn Giao thức OpenFlow hỗ trợ ba loại gói tin [16]: bộ điều khiển tới switch (controller to- -switch), không đồng bộ (asynchronous) và đối xứng (symmetric) mỗi loại gói tin lại có nhiều loại gói tin phụ khác Gói tin bộ điều khiển tới switch đƣợc khởi tạo bởi bộ điều khiển và đƣợc sử dụng để trực tiếp quản lý hoặc kiểm tra trạng thái của switch Gói tin không đồng bộ đƣợc khởi tạo bởi switch và đƣợc sử dụng để cập nhật tới bộ điều khiển về các sự kiện mạng và các trạng thái thay đổi của switch Gói tin đối xứng đƣợc khởi tạo bởi switch hoặc bộ điều khiển và đƣợc gửi qua lại với nhau
Kiến trúc mạng OpenFlow/SDN giúp nhà điều hành mạng đáp ứng hiệu quả các ứng dụng băng thông cao và biến đổi động, từ đó làm cho mạng linh hoạt hơn với các nhu cầu kinh doanh thay đổi Điều này không chỉ giảm thiểu sự phức tạp trong quản lý và hoạt động mà còn mang lại nhiều lợi ích thiết thực cho doanh nghiệp và nhà điều hành mạng.
Phần mềm điều khiển SDN cho phép tập trung hóa điều khiển trong môi trường nhiều nhà cung cấp thiết bị, có khả năng quản lý mọi thiết bị mạng hỗ trợ OpenFlow, bao gồm switch, router và các switch ảo từ bất kỳ nhà cung cấp nào.
Giảm sự phức tạp trong quản lý mạng thông qua tự động hóa là một lợi ích quan trọng của kiến trúc OpenFlow/SDN, mang đến một framework linh hoạt và hiệu quả cho việc quản lý mạng.
25 framework này nhà điều hành mạng có thể phát triển các công cụ tự động hóa các nhiệm vụ hiện đang đƣợc thực hiện bằng tay
Việc áp dụng OpenFlow giúp các nhà điều hành mạng có khả năng lập trình lại mạng trong thời gian thực, từ đó đáp ứng nhanh chóng các nhu cầu kinh doanh và yêu cầu của người dùng khi có sự thay đổi Điều này dẫn đến tốc độ đổi mới cao hơn trong quản lý mạng.
Gia tăng độ tin cậy và an ninh của mạng là một ưu điểm quan trọng khi sử dụng kiến trúc OpenFlow/SDN Nhân viên điều hành mạng có khả năng định nghĩa các trạng thái cấu hình và chính sách ở mức cao, từ đó áp dụng chúng lên cơ sở hạ tầng mạng một cách hiệu quả Kiến trúc này cung cấp tầm nhìn và kiểm soát toàn diện, đảm bảo rằng việc kiểm soát truy cập, điều khiển lưu lượng, chất lượng dịch vụ (QoS) và các chính sách an ninh khác được thực thi nhất quán trên toàn bộ hệ thống mạng.
Mô hình điều khiển mạng dựa trên flow của OpenFlow cho phép nhân viên vận hành áp dụng chính sách chi tiết, bao gồm các yếu tố như phiên, người dùng, thiết bị và mức ứng dụng Điều này diễn ra trong một môi trường trừu tượng hóa cao, giúp tự động điều chỉnh các thiết lập một cách thích hợp.
S D NG KI N TRÚC M NG OPENFLOW/SDN TRONG PHÁT Ử Ụ Ế Ạ HIỆ N VÀ GI M THI U T N CÔNG DDOS D NG TCP SYN FLOOD 22 ẢỂẤẠ
Đề xu t gi i pháp ki n trúc m ng OpenFlow/SDN trong phát hi n và gi m thi u ấ ả ế ạ ệ ả ể
hiện và gi m thi u t n công DDoS ả ể ấ
Trong một cuộc tấn công DDoS, kẻ tấn công không chỉ sử dụng máy tính của riêng mình mà còn khai thác máy tính của người khác Bằng cách tận dụng lỗ hổng bảo mật và điểm yếu của ứng dụng, kẻ tấn công có thể chiếm quyền kiểm soát máy tính của người dùng Sau đó, chúng sử dụng máy tính đó để gửi dữ liệu hợp pháp đến một địa chỉ đích cụ thể, dẫn đến tình trạng quá tải cho hệ thống mục tiêu.
Khi 35 yêu cầu lớn được gửi đến các trang web điện tử hoặc tổ chức kinh tế, chúng có thể bị quá tải và tạm dừng hoạt động, dẫn đến việc không cung cấp dịch vụ cho người dùng thực sự Để phát hiện một cuộc tấn công DDoS đang diễn ra, cần theo dõi các dấu hiệu như tăng đột biến lưu lượng truy cập, thời gian phản hồi chậm và khả năng truy cập giảm sút.
Khi xảy ra tấn công DDoS, các máy chủ có thể bị gián đoạn hoạt động, nhưng không phải tất cả sự gián đoạn đều do tấn công Có thể có vấn đề kỹ thuật hoặc bảo trì hệ thống Việc phát hiện tấn công DDoS gặp nhiều khó khăn, nhưng chúng ta có thể dựa vào các đặc điểm của cuộc tấn công, chẳng hạn như lưu lượng dữ liệu gửi đến server tăng đột biến trong khoảng thời gian ngắn.
Trong điều kiện bình thường, một địa chỉ Server nhận khoảng 500 gói tin mỗi phút Tuy nhiên, khi xảy ra tấn công DDoS, số lượng gói tin gửi tới Server có thể tăng vọt lên tới 10.000 gói tin trong cùng khoảng thời gian một phút.
Để nhận diện một cuộc tấn công DDoS hiệu quả, một trong những phương pháp quan trọng là theo dõi lưu lượng dữ liệu đến một địa chỉ cụ thể.
IP của Server đóng vai trò quan trọng trong việc xác định các mức ngưỡng để phát hiện cuộc tấn công DDoS Cần chú ý đến lượng truy cập tối đa thực tế của Server để thiết lập các ngưỡng phù hợp và chính xác, nhằm bảo vệ hệ thống hiệu quả.
Trong nghiên cứu này, nhóm chúng tôi đã thu thập bộ dữ liệu CAIDA 2007 với hai trạng thái lưu lượng: bình thường và tấn công Qua phân tích, chúng tôi nhận thấy có sự khác biệt rõ rệt giữa lưu lượng bình thường và lưu lượng tấn công ở 5 thông số chính.
- Số lƣợng gói tin trên từng luồng;
- Khoảng thời gian đến giữa các gói tin;
- Sự gia tăng số port trong một đơn vị thời gian;
- Khoảng thời gian đến giữa các luồng;
- Số byte trung bình trong một đơn vị thời gian
Sau khi thu đƣợc kết quả nhƣ trên, tôi đã chọn lọc ra hai thông số chính để phân biệt trạng thái bình thường hoặc tấn công đó là:
- Số lƣợng gói tin trên từng luồng;
- Khoảng thời gian đến giữa các luồng
Việc chọn hai thông số để phân biệt là do sự khác biệt rõ rệt giữa chúng trong hai trạng thái khảo sát Hai thông số này có thể được thu thập và xử lý trên Controller Mặc dù việc sử dụng nhiều thông số hơn có thể tăng độ chính xác trong việc xác định trạng thái, nhưng điều này đồng nghĩa với việc thời gian thu thập và xử lý các thông số sẽ kéo dài, dẫn đến thời gian đáp ứng của hệ thống chậm hơn và không kịp xử lý.
Kết quả phân tích lưu lượng
- Số lƣợng gói tin trên từng luồng:
Hình 2 10 Số lƣợng gói tin của các luồng tới một Server trong một phút của dữ liệu bình thường
Hình 2 11 Số lƣợng gói tin của các luồng tới một Server trong 6,28 giây của dữ liệu tấn công
Kết quả phân tích cho thấy trong dữ liệu bình thường, số gói tin trên mỗi luồng tập trung chủ yếu ở 4 và 5 gói tin, với 5 gói tin chiếm tới 54% tổng số Ngược lại, trong dữ liệu tấn công, tỷ lệ luồng có 1 gói tin lên tới 88,5%, trong khi tỷ lệ luồng có hơn 2 gói tin rất nhỏ Sự khác biệt rõ rệt này giữa hai loại dữ liệu đã dẫn đến quyết định chọn thông số 1 gói tin/luồng để phân biệt giữa trạng thái tấn công và trạng thái bình thường.
- Khoảng thời gian đến giữa các luồng:
Hình 2 12 Khoảng thời gian đến giữa các luồng trong thời gian 1s của dữ liệu bình thường
Nhóm nghiên cứu của chúng tôi đề xuất một giải pháp kiến trúc mạng điều khiển bằng phần mềm (OpenFlow/SDN) nhằm phát hiện và giảm thiểu tấn công TCP SYN Flood, bảo vệ các máy chủ dịch vụ của tổ chức và doanh nghiệp Giải pháp này dựa vào bộ điều khiển thu thập các thông số lưu lượng mạng thời gian thực và sử dụng thuật toán Fuzzy để xác định thời điểm có tấn công Khi phát hiện tấn công, bộ điều khiển SDN sẽ thực hiện các biện pháp hành động, bao gồm việc hủy bỏ luồng thông tin trong bảng luồng và các kết nối dở dang (Half_Open Connection-HOC) trên máy chủ dịch vụ Trong luận văn này, tôi nghiên cứu và áp dụng giao thức OpenFlow 1.5.1 trên OpenvSwitch 2.10.0, nổi bật với khả năng điều khiển nhiều bộ điều khiển cho một OFS.
Với tính năng vượt trội, nhà cung cấp dịch vụ mạng có thể cung cấp giải pháp bảo mật chuyên biệt, bao gồm việc sử dụng Controller 2 để bảo vệ các máy chủ khỏi các cuộc tấn công DDoS Giải pháp này sẽ đảm bảo an toàn cho các công ty và tổ chức có nhu cầu, bằng cách cung cấp dịch vụ định tuyến và bảo mật địa chỉ cho các IP Server mà họ thuê từ nhà cung cấp.
Kiến trúc tổng quan của hệ thống là:
Hình 2 14 Kiến trúc tổng quan của hệ thống
Kiến trúc mạng dựa trên SDN mà nhóm nghiên cứu đề xuất cho phép lưu lượng Internet, bao gồm cả lưu lượng tấn công và lưu lượng thông thường, truy cập vào Server dịch vụ thông qua thiết bị OFS Thiết bị này sẽ liên lạc và được điều khiển bởi các thuật toán phát triển trên SDN Controller Với kiến trúc SDN như vậy, quản trị mạng trở nên linh hoạt hơn, cho phép triển khai các giải pháp phát hiện và giảm thiểu tấn công một cách hiệu quả trên bộ Controller.
40 soát và ngăn chặn các luồng tấn công tại OFS, đóng vai trò nhƣ gateway nhằm bảo vệ các server dịch vụ nằm đằng sau
Giải pháp bao gồm các module chính sau:
- Module thu thập dữ liệu;
- Module phát hiện tấn công;
Để thu thập dữ liệu cần thiết, chúng ta cần xác định hai thông số quan trọng là tỷ lệ số luồng có một gói tin và tỷ lệ số luồng có khoảng cách thời gian tới nằm trong khoảng từ 0 - 0,2 ms Để đạt được điều này, chúng ta cần thu thập các giá trị như thời gian đến của các gói tin, địa chỉ IP nguồn và đích, số Port nguồn và đích, số flags, số seq và số ack của mỗi gói tin Những thông tin này sẽ giúp chúng ta xác định gói tin SYN và ACK, từ đó xác định luồng của gói tin.
Trong quá trình thiết lập kết nối TCP qua ba bước bắt tay, gói tin SYN được gửi đến Controller dưới dạng gói Packet-in Khi Controller nhận gói Packet-in và xác định đây là gói tin SYN với địa chỉ IP đích là máy chủ đang bảo vệ, nó sẽ lưu trữ thông tin về luồng dữ liệu vào danh sách các luồng, đồng thời đặt giá trị để đếm số lượng luồng và thời gian cho luồng để đo thời gian đến của gói tin SYN tiếp theo Tương tự, thông tin của gói tin SYN ACK phản hồi cũng được lưu lại trong danh sách mảng các luồng Trong trường hợp xảy ra tấn công DDoS, kẻ tấn công thường chỉ gửi gói tin SYN với địa chỉ IP nguồn giả mạo mà không gửi gói tin ACK, dẫn đến các luồng tấn công chỉ có một gói tin duy nhất Để xác định một luồng có chỉ một gói tin hay không, Controller sẽ tạo gói tin Flow-mod để cài đặt Flow Entry xuống tất cả các switch mà nó quản lý, nhằm match với các gói tin có cờ ACK và địa chỉ IP đích tương ứng.
Cơ chế ho ạt độ ng c a gi i pháp ki n trúc m ng OpenFlow/SDN trong phát hi n ủ ả ế ạ ệ và gi m thi u t n công DDoS ảể ấ
trong phát hi n và gi m thi u t n công DDoS ệ ả ể ấ
Trong bài viết này, tôi sẽ trình bày các bước thu thập dữ liệu, phát hiện và thực hiện các hành động nhằm giảm thiểu tấn công DDoS loại TCP SYN Flood mà nhóm nghiên cứu đã đề xuất.
Hình 2 17 Cơ chế hoạt động của hệ thống
Để bắt đầu, nhà cung cấp dịch vụ mạng cần kết nối tất cả các OpenFlow Switch với các Controller, không chỉ để thực hiện các nhiệm vụ định tuyến và cân bằng tải, mà còn để kết nối với một Controller chuyên trách cho dịch vụ bảo mật.
Giải pháp bảo mật Controller Security (CS) được triển khai thông qua kết nối URI với cú pháp protocol:name-or-address:port, ví dụ: tcp:192.168.1.24:6653 Sau khi kết nối, "Controller" sẽ chỉ ra CS chuyên trách nhiệm vụ bảo mật, định tuyến và chuyển tiếp cho các Server được bảo vệ Khi gói tin yêu cầu kết nối với địa chỉ IP đích và nguồn là Server đang bảo vệ, OFS sẽ gửi gói tin tới CS, cho phép CS nhận các gói tin có cờ SYN và SYN ACK từ Server Đồng thời, CS cũng gửi gói tin Flow mod đến tất cả OFS để thiết lập Flow Entry, đảm bảo rằng gói tin có cờ ACK được xử lý đúng cách.
Địa chỉ IP đích là địa chỉ của Server mà chúng ta bảo vệ, và OFS sẽ gửi gói tin đến CS để thực hiện giải pháp bảo mật Sau bước đầu tiên, CS đã thiết lập để nhận tất cả các gói tin yêu cầu kết nối đến các máy chủ được bảo vệ.
Bước 2: Thu thập và phân tích dữ liệu là giai đoạn quan trọng trong quá trình bảo vệ máy chủ Tại đây, hệ thống thu thập tất cả các thông số của gói tin SYN, gói tin SYN-ACK và gói tin ACK từ các yêu cầu kết nối đến máy chủ Dữ liệu được thu thập theo chu kỳ thời gian 6 giây và sau đó được phân tích để tính toán hai thông số chính: tỷ lệ số lượng luồng có một gói tin và tỷ lệ số lượng luồng có khoảng cách thời gian nằm trong khoảng từ 0-0,2 ms Đồng thời, hệ thống cũng lưu trữ thông số của các luồng có một gói tin vào một danh sách mảng riêng để thực hiện các hành động bảo vệ cần thiết.
Để phát hiện hệ thống bị tấn công, chúng ta cần tính toán hai thông số quan trọng: tỷ lệ số luồng có một gói tin và tỷ lệ số luồng có khoảng cách thời gian nằm trong khoảng 0-0,2 ms Nhóm nghiên cứu đã áp dụng chu kỳ thống kê 6 giây để đưa ra hai thông số này, giúp hệ thống xác định xem mình có đang bị tấn công hay không.
Để phát hiện và quyết định nhanh chóng nhằm giảm thiểu các luồng tấn công, thời gian theo dõi cần được rút ngắn tối đa.
Khi tăng kích thước cửa sổ theo dõi, chúng ta có thể xác định thời gian đáp ứng của hệ thống chậm hơn, mang lại lợi ích trong việc thiết kế hệ thống không cần hoạt động trong khoảng thời gian ngắn Tuy nhiên, việc theo dõi lâu dài yêu cầu khả năng lưu trữ và thời gian phân tích lớn, đặc biệt trong trường hợp tấn công với lưu lượng cao Để mở rộng thời gian quan sát, cần đánh đổi giữa khả năng lưu trữ và băng thông của các thành phần điều khiển Thời gian sống của một luồng là yếu tố quan trọng quyết định chu kỳ theo dõi Nhóm nghiên cứu đã phân tích dữ liệu CAIDA trong cả trạng thái lưu lượng bình thường và khi có tấn công, với kết quả được thể hiện qua hai hình ảnh.
Hình 2 18 Hàm CDF thời gian đến các luồng của dữ liệu tấn công
Hình 2 19 Hàm CDF thời gian đến các luồng của dữ liệu bình thường
Kết quả phân tích lưu lượng cho thấy hơn 95% thời gian sống của một luồng là nhỏ hơn hoặc bằng 6 giây, cho thấy hầu hết các gói tin trong luồng có khoảng cách thời gian dưới 6 giây Điều này có nghĩa là nếu một gói tin đến sau trong khoảng thời gian này, nó sẽ được xem là thuộc cùng một luồng Nếu không có gói tin nào đến sau 6 giây, luồng sẽ hết thời gian chờ và các gói tin tiếp theo sẽ thuộc về một luồng mới Do đó, thời gian quan sát tối ưu được chọn là 6 giây để đảm bảo tính chính xác của các thông số Bên cạnh đó, chúng tôi cũng phân tích yêu cầu lưu trữ của hệ thống trong cả lưu lượng bình thường và lưu lượng tấn công với các kích thước cửa sổ quan sát khác nhau để đưa ra những quan điểm phù hợp.
Hình 2 20 Số luồng trong mỗi cửa sổ của dữ liệu bình thường
Hình 2 21 Số luồng trong mỗi cửa sổ của dữ liệu tấn công
Trong lưu lượng bình thường, hệ thống tiếp nhận khoảng 900 luồng trong khoảng thời gian 6 giây, như thể hiện trong Hình 2.20 và 2.21 Tuy nhiên, khi xảy ra tấn công, số luồng tăng lên đáng kể, đạt 7000 luồng trong cùng khoảng thời gian 6 giây Điều này cho thấy khả năng lưu trữ và xử lý dữ liệu trong khoảng thời gian quan sát 6 giây là khả thi.
Bước 3: Phát hiện và giảm thiểu tấn công mạng bao gồm việc sử dụng hai thông số quan trọng: tỷ lệ số lượng luồng có một gói tin và tỷ lệ số luồng có khoảng cách thời gian từ 0 - 0,2 ms Hai thông số này sẽ được đưa vào thuật toán FuzzyLogic, giúp phân tích và đưa ra hệ số đầu ra để xác định khả năng xảy ra tấn công Dựa trên kết quả từ thuật toán, chúng ta có thể thực hiện các hành động chính xác nhằm giảm thiểu nguy cơ tấn công mạng.
K t lu ế ận chương II
Chương II trình bày cơ sở lý thuyết về kiến trúc mạng OpenFlow/SDN, giúp chúng ta hiểu rõ về cấu trúc và các thành phần chính của nó Kiến trúc này hoạt động khác biệt so với mạng truyền thống, mang lại nhiều lợi ích trong việc phát hiện và giảm thiểu tấn công DDoS, đặc biệt là tấn công TCP SYN Flood Ngoài ra, chương cũng đề xuất giải pháp sử dụng kiến trúc OpenFlow/SDN để đối phó hiệu quả với các cuộc tấn công DDoS, từ đó nâng cao khả năng bảo mật mạng.
H TH NG TH NGHI M, K T QU Ệ Ố Ử Ệ Ế Ả ĐẠT ĐƯỢC VÀ ĐỊ NH HƯỚ NG PHÁT TRI N 52 Ể
H ệ thố ng th nghi m ử ệ
Xây dựng hệ thống kiểm thử cho giải pháp đề xuất gặp nhiều khó khăn do yêu cầu về cơ sở vật chất Tuy nhiên, nhóm nghiên cứu đã phát triển một hệ thống kiểm thử quy mô nhỏ (testbed) để giả lập tấn công và triển khai giải pháp phát hiện cũng như giảm thiểu tấn công DDoS Hệ thống giả lập bao gồm một Controller (Controller CS nhằm mục đích bảo mật) và một OpenFlow Switch.
01 Server, 01 PC client và 01 PC attacker Bộ SDN Controller sử dụng Floodlight
FTP Server là nơi quản lý kết nối và kiểm soát truy cập gói tin đến dịch vụ Server Nó được thiết lập như một Server dịch vụ trong mạng, trong khi mạng lưới tấn công botnet được mô phỏng bởi một máy tính PC.
Hình 3 1 Mô hình hệ thống thử nghiệm
- Controller Floodlight sẽ đƣợc cài đặt hệ điều hành Ubuntu 14.04 trên máy tính với cấu hình:
+ Vi xử lý: Intel® Core TM i5-2450M CPU @ 2.5GHz;
- OpenFlow Switch sẽ đƣợc cài đặt hệ điều hành CentOS 6.5 trên máy tính với cấu hình:
+ Vi xử lý: Pentium ® Dual Core E6700 @ 3.2 Ghz x 2;
- Application Server đƣợc sử dụng là FTP Server cài trên hệ điều hành Window Server của máy tính có cấu hình:
+ Vi xử lý : Intel ® Core TM i5-2450M CPU @ 2.5GHz;
- PC Attacker: giả lập môi trường mạng botnet Máy được cài đặt hệ điều hành Ubuntu 14.04 có cấu hình:
+ Vi xử lý: Pentium ® Dual Core 2 1.8GHz x 2;
- PC Client: là máy tính truy cập tới Server hợp pháp Máy đƣợc cài đặt hệ điều hành Ubuntu 14.04 có cấu hình:
+ Vi xử lý: Intel® Core TM i5-2450M CPU @ 2.5GHz;
Kịch bản tấn công mô tả rằng máy Attacker sẽ sử dụng công cụ Bonesi để phát lưu lượng tới máy chủ FTP Server với các tốc độ 100, 150 và 200 bản tin/giây Quá trình này được thực hiện thông qua bộ chuyển mạch và bộ điều khiển, cho phép các bản tin từ máy Attacker được gửi tới máy chủ FTP Server một cách hiệu quả.
Bộ chuyển mạch sẽ gửi các bản tin cần thiết lên bộ điều khiển để thu thập dữ liệu trong chu kỳ 6 giây Sau đó, bộ điều khiển sẽ phân tích và tính toán hai thông số, đưa vào thuật toán Fuzzy để xác định xem có cuộc tấn công DDoS đang xảy ra hay không Nếu phát hiện tấn công DDoS, bộ điều khiển sẽ thực hiện các biện pháp nhằm giảm thiểu tác động của cuộc tấn công Để thực hiện kịch bản này, cần sử dụng một số công cụ hỗ trợ.
Floodlight là một khối điều khiển trong mạng SDN, được lập trình bằng ngôn ngữ Java và sử dụng giao thức OpenFlow để điều khiển switch Nó được phát triển bởi cộng đồng các kỹ sư từ Big Switch Networks và được thiết kế để tương thích với các switch, router và switch ảo sử dụng chuẩn giao thức OpenFlow.
Các tính năng nổi trội:
- Xây dựng dựa trên các module hệ thống nên thuận lợi cho việc mở rộng và nâng cấp;
- Dễ dàng cài đặt và tích hợp các module;
- Hỗ trợ các thiết bị chuyển mạch vật lý và ảo;
- Hiệu năng cao Floodlight là lõi của một sản phẩm thương mại đến từ- Big Switch Networks;
- Hỗ trợ nền tảng điện toán đám mây OpenStack
Hình 3 2 Kiến trúc bộ điều khiển Floodlight
Bonesi là công cụ giả lập tấn công DDoS, tạo ra lưu lượng mạng botnet cho hệ thống thử nghiệm testbed Công cụ này được thiết kế nhằm thử nghiệm và nghiên cứu tác động của các cuộc tấn công DDoS.
Bonesi là công cụ mạnh mẽ cho phép tạo ra nhiều kịch bản tấn công khác nhau như UDP, ICMP, và TCP SYN Flood từ các gói dữ liệu botnet với địa chỉ IP đa dạng Được xây dựng với cấu hình cao về tốc độ, kích thước dữ liệu và URLs, Bonesi cho phép người dùng cài đặt các thông số để tùy chỉnh tốc độ và loại tấn công mong muốn Đây là công cụ mô phỏng tấn công HTTP-GET Flood đầu tiên từ các mạng botnet quy mô lớn, với khả năng cấu hình để giảm thiểu việc tạo ra các gói tin dễ bị phát hiện là giả mạo.
Hình 3 3 Giao diện sử dụng của Bonesi
Trong nghiên cứu này chúng tôi sử dụng công cụ tấn công Bonesi chạy trên máy attack với các dòng lệnh sau:
$ sudo bonesi -i 50k-bots p tcp r 100 d eth0 v 192.168.1.100:21 – – – –
$ sudo bonesi -i 50k-bots p tcp r 150 d eth0 v 192.168.1.100:21 – – – –
$ sudo bonesi -i 50k-bots p tcp r 200 d eth0 v 192.168.1.100:21 – – – –
Trong đó, các tùy chọn:
+ -i, ips: một file chứa danh sách các điạ chỉ IP giả mạo;
+ -p, protocol: giao thức truyền thông UDP, TCP, ICMP…
+ -r, send_rate: tốc độ gói tin phát đi tính theo số gói/giây;
+ -d, device: cổng thiết bị mà ta tiến hành phát ra;
+ -v, verbose: in các bản tin sửa lỗi;
+ 50k-bots: tập tin với dữ liệu là 50000 địa chỉ IP ngẫu nhiên;
Địa chỉ IP 192.168.1.100 với cổng dịch vụ 21 được sử dụng để xác định máy chủ Để đánh giá khách quan hiệu suất của giải pháp đã triển khai trên hệ thống và bộ điều khiển, chúng tôi đã xây dựng một bộ lưu lượng tấn công mô phỏng môi trường mạng botnet.
- Tấn công trực tiếp vào Server bằng công cụ tấn công Bonesi theo các tốc độ tấn công khác nhau ở các lần khác nhau;
- Sử dụng phần mềm Wireshark để bắt các gói tin đã phát đi;
- Phát lại lưu lượng mạng tấn công sử dụng phần mềm TCPreplay
Sau khi hoàn thành công việc, chúng tôi đã tạo ra một bộ lưu lượng mạng tấn công Bộ lưu lượng này sẽ được sử dụng để phát lại trong các thử nghiệm hệ thống, nhằm so sánh hiệu quả giữa việc sử dụng và không sử dụng giải pháp đã đề xuất.
Wireshark, còn được gọi là Ethereal, là một công cụ quen thuộc với sinh viên chuyên ngành điện tử viễn thông, công nghệ thông tin và các quản trị viên mạng Đây là phần mềm dùng để bắt và phân tích dữ liệu mạng qua các cổng Ethernet, hoạt động trên nhiều nền tảng như Windows, Linux và OSX Wireshark có khả năng đọc dữ liệu từ Ethernet, Token-Ring và Wireless LAN, cho phép người dùng bắt gói tin theo thời gian thực và hiển thị chúng một cách dễ hiểu Với các bộ lọc, bảng mã màu và nhiều tính năng khác, Wireshark hỗ trợ người dùng phân tích lưu lượng mạng và kiểm tra các gói dữ liệu cá nhân Phần mềm này cung cấp thông tin chi tiết về các trường trong gói tin, giúp người dùng nắm bắt rõ ràng hơn về hoạt động của mạng máy tính.
Chúng tôi sử dụng phần mềm Wireshark để bắt gói tin trong môi trường giả lập botnet với công cụ tấn công Bonesi, sau đó lưu lại dưới định dạng tập tin pcap Wireshark cũng được sử dụng để kiểm tra và giám sát các giao tiếp cũng như kết nối trong mạng.
3.1.4 TCPreplay Transmission Control Protocol Replay-
TCPreplay là một công cụ mã nguồn mở miễn phí được viết bằng ngôn ngữ C, hoạt động qua dòng lệnh, cho phép người dùng giả lập các cuộc tấn công mạng theo kịch bản đã định Công cụ này cho phép chỉnh sửa và phát lại lưu lượng mạng từ file pcap, phân loại lưu lượng thành khách hàng hoặc máy chủ, tạo lại các gói tin ở các lớp 2, 3 và 4, và phát lại lưu lượng qua các thiết bị mạng như switch, router, firewall, NIDS và IPS.
TCPreplay bao gồm các kịch bản sau [25 ]:
Tcpprep là công cụ xử lý các tập tin định dạng pcap, cho phép phân tích và bóc tách gói tin từ máy khách và máy chủ trong hệ thống Quá trình này tạo ra các tệp cache, phục vụ cho việc sử dụng trong tcprewrite và tcpreplay.
- Tcprewrite: Chỉnh sửa thông tin trong header của gói tin;
- Tcpreplay: Phát lại các gói tin của một file pcap vào hệ thống mạng;
- Tcpliveplay: Cho phép phát các gói tin truyền theo giao thức truyền thông TCP vào mạng Internet, thiết lập quá trình bắt tay ba bước;
- Tcpreplay-edit: Thực hiện các chức năng tương tự như tcpreplay và tcprewire tuy nhiên không đƣợc khuyến cáo sử dụng nhiều;
- Tcpbridge: Thực hiện chức năng kết nối hai đoạn mạng với nhau;
- Tcpcapinfo: Đƣợc sử dụng để phân tích các bug của tcprewrite hay các gói tin pcap bị lỗi
Hầu hết người dùng sẽ sử dụng Tcprep với file pcap để tạo lưu lượng mạng giữa máy khách và máy chủ Dưới đây là hình ảnh minh họa cửa sổ terminal của máy tính Attacker khi thực hiện phát lại gói tấn công DDoS bằng công cụ TCPreplay.
Hình 3 5 Giao diện sử dụng của TCPreplay
Trong hệ thống thử nghiệm, nhóm nghiên cứu đã triển khai TCPreplay trên máy tính chạy hệ điều hành Ubuntu 14.04, đảm nhận vai trò máy tính tấn công Máy tính này sẽ phát lại lưu lượng của một cuộc tấn công DDoS thực tế đã xảy ra.