Tóm tắt Luận án Phát hiện và phòng chống một số dạng tấn công từ chối dịch vụ phân tán - Trần Mạnh Thắng

Tổng quan về tấn công Web App-DDoS

Tấn công Web App-DDoS là một dạng tấn công vào lớp ứng dụng. Một trong những

hình thức tấn công Web App-DDoS phổ biến, được thực hiện thông qua việc tin tặc

sử dụng mạng botnet để gửi tràn ngập các yêu cầu HTTP tới máy chủ. Khác với dạng

tấn công TCP Syn Flood được đề cập trong chương 2, là dạng tấn công này không thể

giả mạo địa chỉ IP nguồn. Bởi vì, để máy tin tặc có thể gửi yêu cầu tới máy chủ thì

kết nối mạng phải được thiết lập (phải hoàn thiện quá trình bắt tay 3 bước của giao

thức TCP) sử dụng IP thực. Do đó, để thực hiện tấn công Web App-DDoS, tin tặc

phải sử dụng mạng botnet lớn có nhiều thành viên.

Dạng tấn công Web App-DDoS là dạng tấn công làm cạn kiệt tài nguyên trên máy

chủ mà không phải dạng tấn công DDoS làm cạn kiệt năng lực xử lý của hạ tầng

mạng. Để thực hiện tấn công, tin tặc gửi tràn ngập các yêu cầu tới Server. Các yêu

cầu này là yêu cầu có thực giống hoàn toàn với các yêu cầu bình thường được gửi đi17

từ máy người sử dụng bình thường. Lý do tin tặc sử dụng yêu cầu bình thường là để

vượt qua sự kiểm soát của các thiết bị bảo vệ.

Tài nguyên băng thông sử dụng trong tấn công Web App-DDoS không yêu cầu lớn

như đối với các hình thức tấn công DDoS vào hạ tầng mạng. Đối với các hình thức

tấn công DDoS vào hạ tầng mạng, tin tặc thường gửi số lượng lớn các gói tin UDP có

kích thước lớn để làm cạn kiệt băng thông kết nối mạng (hình thức tấn công DDoS

Volumetric). Đối với dạng tấn công Web App-DDoS, tin tặc có thể sử dụng cách thức

gửi các yêu cầu có kích thước nhỏ nhưng liên tục, đều đặn với tốc độ chậm, làm máy

chủ phải giữ và phục vụ mỗi yêu cầu gửi đến mà không được kết thúc phiên làm việc

đó khiến cho máy chủ cạn kiệt tài nguyên. Hình thức tấn công này không yêu cầu

băng thông lớn như hình thức tấn công DDoS Volumetric.

Tấn công Web App-DDoS có thể thực hiện bằng nhiều hình thức tinh vi khác nhau để

vượt qua các hệ thống phòng thủ như:

 Session flooding attacks - dạng tấn công này, tin tặc gửi số lượng lớn phiên kết

nối tới Server;

 Request flooding attacks - dạng tấn công này, tin tặc gửi số lượng lớn các yêu

cầu trong một phiên kết nối tới Server;

 Asymmetric attacks - dạng tấn công này, tin tặc gửi phiên kết nối trong đó có

các yêu cầu làm máy chủ tiêu tốn nhiều tài nguyên để xử lý;

 Slow request/response attacks - tương tự dạng tấn công Asymmetric attacks,

tin tặc gửi phiên kết nối trong đó có các yêu cầu làm máy chủ tiêu tốn nhiều tài

nguyên để xử lý.

Khi tin tặc sử dụng các yêu cầu có thực để thực hiện tấn công Web App-DDoS, từ

phía máy chủ rất khó để phân biệt yêu cầu nào là yêu cầu được gửi đi từ máy bình

thường. Đặc biệt, khi tấn công DDoS xảy ra, số lượng yêu cầu gửi đến máy chủ là rất

lớn, làm máy chủ càng khó khăn hơn trong việc phát hiện các yêu cầu gửi đi từ mạng

botnet.

Ứng dụng Web là ứng dụng có đặc trưng là dữ liệu cho mỗi ứng dụng Web thay đổi

thường xuyên. Tần suất truy nhập ứng dụng Web phụ thuộc vào nội dung mà ứng

dụng đó cung cấp. Khi có nội dung mới, được sự quan tâm của nhiều người sử dụng,

tần suất truy cập ứng dụng Web tăng đột biến, giống như bị tấn công. Đây cũng là

vấn đề cần giải quyết để có thể phân biệt trường hợp này với một cuộc tấn công thực

sự.

Những điểm yếu an toàn thông tin các hệ điều hành, ứng dụng và các thiết bị IoT

xuất hiện ngày càng nhiều, điều này dẫn tới việc lợi dụng các điểm yếu này để khai

thác chiếm quyền điều khiển và phát tán mã độc trở nên dễ dàng hơn cho tin tặc. Từ

đó, tin tặc có thể xây dựng mạng botnet lớn và có thể thực hiện nhiều hình thức tấn

công DDoS tinh vi khác nhau

pdf24 trang | Chia sẻ: trungkhoi17 | Lượt xem: 324 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận án Phát hiện và phòng chống một số dạng tấn công từ chối dịch vụ phân tán - Trần Mạnh Thắng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
a các phương pháp, tôi có cơ sở đề xuất các phương pháp phòng chống hai dạng tấn công TCP Syn Flood và Web App-DDoS theo phương pháp triển khai ở phía gần đích. Để lựa chọn được tiêu chí đánh giá các phương pháp được đề xuất, tôi cũng nghiên cứu, rà soát các tiêu chí mà các tác giả đã sử dụng để đánh giá phương pháp của họ. Trên cơ sở tham khảo kinh nghiệm của các tác giả, tôi lựa chọn đưa ra 04 tiêu chí để đánh giá giải pháp đề xuất của mình. Để có cơ sở đánh giá thực nghiệm, tôi cũng khảo sát kinh nghiệm của các tác giả có các công trình nghiên cứu liên quan để từ đó đề xuất mô hình và phương pháp đánh giá hiệu quả của các phương pháp do tôi đề xuất. CHƯƠNG II. PHÓNG CHỐNG TẤN CÔNG TCP SYN FLOOD Trong chương 2, luận án đã đưa ra những nội dung nghiên cứu chính như sau: 2.1. Giới thiệu bài toán 2.1.1. Tổng quan về nội dung nghiên cứu trong chương 2 Trong chương này, tôi đi sâu vào giải quyết bài toán thứ nhất đặt ra là phát hiện và phòng chống tấn công TCP Syn Flood. Dạng tấn công này là một trong những dạng tấn công phổ biến và khó phòng chống nhất ở lớp mạng. Bởi vì, với dạng tấn công này, tin tặc thường giả mạo ngẫu nhiên địa chỉ IP nguồn, trong khi các trường thông tin khác của gói tin hoàn toàn như các gói tin bình thường làm máy chủ bị tấn công không có cách nào phát hiện gói tin giả mạo nếu xử lý riêng rẽ từng gói tin. Mục tiêu của các phương pháp đề xuất là làm tăng cường tối đa khả năng phòng chống và chịu đựng tấn công TCP Syn Flood và giảm thiểu khả năng rơi vào trạng thái từ chối dịch vụ của hệ thống cần bảo vệ. Do đó, vấn đề mà các phương pháp cần phải giải quyết ngoài việc tìm ra các gói tin giả mạo thì còn phải có cơ chế xử lý loại bỏ thật nhanh các gói tin giả mạo này. Phương pháp mà tôi đề xuất xuất phát từ việc đi tìm các mối liên hệ giữa các gói tin IP khi chúng được gửi đi từ cùng một máy tính. Tuy nhiên việc khai thác tính chất tăng liên tiếp của trường PID để phát hiện dòng thác SYN tấn công không hề đơn giản: ta sẽ không hề thấy có dãy PID tăng liên tục này khi quan sát ở máy nạn nhân (máy bị tấn công). Nguyên do là vì: mỗi máy tính tham gia tấn công thường là một máy tay sai (của một botnet nào đó) đều phải tham gia nhiều hoạt động giao dịch mạng khác nhau, có thể 8 mở nhiều liên kết TCP đồng thời thông qua nhiều tiến trình song song, trong đó chỉ có 1 là với máy chủ nạn nhân. Cơ chế phát sinh PID sẽ hoạt động dạng round robin lần lượt sinh PID cho nhiều tiến trình song song này. . Do đó, từ phía máy chủ bị tấn công, chúng ta thường chỉ thu được các gói tin có giá trị PID tăng liên tục trên một đoạn ngắn và ngắt quãng (tức là thành các chùm PID liên tục độ dài 2,3 hay 4 ). Mặc dù vậy chúng tôi vẫn coi đây là dấu hiệu đủ tốt để phát hiện tấn công. Tất nhiên giải pháp phát hiện và phòng chống TCP SYN Flood chúng tôi đề xuất cần dựa trên một giả định quan trong: các máy tay sai tham gia tấn công, toàn bộ hoặc phần lớn, đều có hệ điều hành “sạch”, giữ vững cơ chế sinh PID tăng liên tiếp nói trên. Cần nói rõ là hầu hết các phương pháp chống tấn công TCP SYN Flood đều phải dựa trên một giả định nào đó và giả định cơ sở của chúng tôi cũng như các giả định đã được sử dụng kia đều có những cơ sở thực tế vững chắc, tức là mặc dù có thể bị vi phạm nhưng qui mô vi phạm sẽ tương đối nhỏ (hoặc để thực hiện qui mô lớn là điều khó không tưởng). Chúng tôi sẽ phân tích kỹ hơn ở phần sau. Dựa trên ý tưởng này, hai giải pháp đã được nhóm nghiên cứu đề xuất cho phép phát hiện và loại bỏ các gói tin giả mạo trong tấn công TCP Syn Flood [108,110]. Trong giải pháp PIDAD1 [108], tôi sử dụng thuật toán DBSCAN để nhóm các gói tin giả mạo vào từng Cluster. Mỗi Cluster sẽ giúp xác định được một giá trị PID của gói tin giả mạo tiếp theo gửi đến. Giải pháp này có điểm hạn chế là cần khoảng thời gian chuẩn bị nhất định khi tấn công bắt đầu xảy ra để thu thập các gói tin giả mạo đầu tiên, được sử dụng làm dữ liệu đầu vào cho thuật toán DBSCAN. Do đó, trong khoảng thời gian này máy chủ vẫn phải hứng chịu các gói tin tấn công giả mạo. Thêm nữa thuật toán DBSCAN có độ phức tạp nhất định và chưa thực sự đem lại hiệu năng phù hợp cho việc phát nhanh các gói tin giả mạo. Ở nghiên cứu tiếp theo [110] tôi đề xuất giải pháp PIDAD2 để giải quyết những hạn chế của giải pháp PIDAD1. Giải pháp này cho phép phát hiện nhanh các gói tin giả mạo đầu tiên gửi đến, thông qua cơ chế lưu trữ dữ liệu có cấu trúc và sử dụng thuật toán tìm kiếm nhanh. Để tiếp tục tăng tốc độ xử lý của PIDAD2, tôi đề xuất phương án lưu trữ và tìm kiếm nhanh thông tin PID, IP nguồn sử dụng thuật toán Bloom Filter [117]. Nghiên cứu này đã được chấp nhận đăng tại Hội nghị ACDT 2018 [116]. Mô hình, phương pháp phát hiện tấn công TCP Syn Flood và cơ chế xác thực địa chỉ IP nguồn được tôi đề xuất trong nghiên cứu [109]. Trong đề xuất này, tôi đưa ra phương pháp pháp hiện khi nào tấn công xảy ra và cơ chế xác thực các IP sạch để cho phép kết nối nhanh vào hệ thống khi tấn công xảy ra. Để có cơ sở đánh giá hiệu quả phương pháp đề xuất và so sánh với các phương pháp khác, tôi cũng đã xây dựng một hệ môi trường thực nghiệm và tạo ra dữ liệu kiểm thử tương tự như các tác giả khác đã thực hiện đối với các đề xuất của họ. 2.1.2. Phạm vi của bài toán Phương pháp chung của các giải pháp phòng chống tấn công TCP Syn Flood tôi đề xuất dựa trên giả định rằng: Mặc dù tin tặc thực hiện tấn công TCP Syn Flood có khả năng cao là sinh giả mạo địa chỉ IP nguồn và (có thể các trường thông tin khác) để che giấu nguồn gốc, nhưng trường PID của gói tin IP là giá trị được phát sinh tự động tăng liên tục mặc định theo nguyên lý chung của các hệ điều hành. Nói cách khác phương pháp đề xuất dựa trên giả định là hầu hết các máy tấn công là máy tay 9 sai (cũng là một dạng nạn nhân “ngây thơ” bị khai thác) và vẫn có các tầng thấp của hệ điều hành là sạch (có thể có bị lây nhiễm mã độc nhưng chỉ ở các tầng cao hơn) Tất nhiên thay đổi giả mạo trường thông tin PID có thể thực hiện được, nếu tin tặc có thể chiếm được quyền cao nhất của máy tính nạn nhân (và do đó can thiệp sâu các tầng bên dưới của hệ điều hành). Tuy nhiên, để có thể xây dựng một đội quân tay sai cỡ lớn đều có thể can thiệp giả mạo PID thì tin tặc phải có khả năng chiếm quyền điều khiển của cả đội quân đông đảo máy tính tay sai này. Việc này là rất khó thực hiện khi các hãng cung cấp sản phẩm luôn cập nhật bản vá lỗ hổng và phần mềm phòng chống mã độc ngày càng tinh vi, hiệu quả hơn. Cũng cần nói thêm, việc giả mạo địa chỉ IP nguồn thì dễ dàng thực hiện hơn nhiều, bởi vì bản thân giao thức IP cũng cho phép thay đổi IP nguồn hoặc đích khi gói tin đi từ nguồn đến đích. Trường hợp điển hình là các gói tin đi từ mạng Private ra ngoài Internet thì phải chuyển đổi địa chỉ IP nguồn thành địa chỉ Public thông qua giao thức NAT. Việc thay đổi IP nguồn cũng dễ dàng thực hiện bởi các ngôn ngữ lập trình như C, C++, C# hay Java đều cung cấp các API để cho phép người lập trình đưa giá trị IP nguồn vào. Tóm lại giả định cơ sở của phương pháp chúng tôi đề xuất chính là cho rằng hầu hết đội quân máy tay sai trong tấn công botnet mới chỉ tin tặc lợi dụng do sơ suất chứ chưa thực sự bị lũng đoạn điều khiển hoàn toàn. Đây có thể coi là một hạn chế của phương pháp đề xuất nhưng cũng có thể coi là một thực tế phổ biến đang diễn ra . Bên cạnh đó, một số nghiên cứu khác trong phòng chống tấn công TCP Syn Flood như phương pháp Path Identifier [36], IP Traceback [30] hay Hop-count filtering [35] đều cần phải dựa trên những giả thuyết hay giải định nhất định. Các phương pháp [30, 36] dựa trên giả định là đường đi từ nguồn đến đích của một gói tin IP là duy nhất. Tuy nhiên, trên thực tế thì luôn tồn tại nhiều đường đi từ nguồn đến đích khác nhau khi gói tin đi qua mạng Internet. Đường đi từ nguồn đến đích của gói tin là do các Router trên Internet quyết định dựa vào thước đo metric. Metric các Router sử dụng là số hiệu mạng AS qua giao thức định tuyến BGP. Nếu số lượng số hiệu mạng bằng nhau thì gói tin sẽ đồng thời sử dụng hai đường đi để cân bằng tải. Tuy nhiên, số Router trong mỗi AS là khác nhau dẫn tới số hop-count sẽ khác nhau. Điều này làm ảnh hưởng lớn đến hiệu quả của hai phương pháp trên, nếu không đưa ra giả thuyết đường đi duy nhất. Một ví dụ khác nữa, trong phương pháp [35] việc phát hiện gói tin giả mạo là dựa vào giả định là thông tin hop-count có thể tính được nhờ giá trị trường TTL sẽ giảm đi một đơn vị khi qua mỗi Router dọc đường. Tuy nhiên, nếu tin tặc có thể giả mạo trường TTL và học trước khoảng cách từ nguồn tấn công đến máy nạn nhân để giả mạo trường TTL cho phù hợp thì phương pháp này cũng không xử lý chính xác được nữa. 2.2. Tổng quan về dạng tấn công TCP Syn Flood Dạng tấn công TCP Syn Flood là dạng tấn công DDoS mà tin tặc gửi tràn ngập gói tin SYN đến đích bị tấn công [91]. Dạng tấn công này được cho là một trong những dạng tấn công khó phòng chống nhất vì địa chỉ IP nguồn của gói tin tấn công được giả mạo ngẫu nhiên, trong khi các trường thông tin khác hoàn toàn như gói tin bình thường. Do đó, máy chủ nạn nhân khó có thể phân biệt được gói tin nào là gói tin giả mạo khi quan sát riêng rẽ từng gói tin. 10 Tin tặc thực hiện tấn công TCP Syn Flood thông qua việc khai thác điểm yếu của giao thức giao vận TCP trong quá trình bắt tay ba bước (3-way handshake sub- protocol). Các gói tin giả mạo được tạo ra với các trường thông tin giống như của gói tin thông thường, nhưng với địa chỉ IP nguồn giả mạo (sinh ngẫu nhiên). Nếu không có cơ chế theo dõi đặc biệt, máy chủ không thể phân biệt được gói tin nào là gói tin thực hay giả mạo 2.3. Mô hình phương pháp phát hiện và phòng chống tấn công TCP Syn Flood 2.3.1. Mô hình tổng thể và các thành phần cơ bản Hệ thống phát hiện và phòng chống tấn công TCP Syn Flood, tôi thiết kế thành phần TCP Syn Flood Defence bao gồm 04 chức năng chính:  Chức năng xây dựng danh sách các địa chỉ IP sạch IP white-list;  Chức năng phát hiện tấn công TCP Syn Flood;  Chức năng phát hiện và loại bỏ gói tin giả mạo;  Chức năng xác thực địa chỉ IP nguồn TCP Syn Flood Defence Module Web App-DDoS Defence Module Black-List White-List DDoS-Defence System ` ` Attacker Server Internet Tab Sniffer IF Black list White list User DDosDefence Auth-IF 2.3.2. Nguyên lý hoạt động cơ bản Khi hệ thống hoạt động ở trạng thái bình thường (không bị tấn công), hệ thống DDoS-Defence sẽ theo dõi thụ động kết nối mạng để xây dựng danh sách các địa chỉ IP nguồn thường xuyên kết nối vào hệ thống (IP white-list). Danh sách IP white-list được xây dựng dựa vào các tiêu chí khác nhau để đảm bảo không để tin tặc không thể đưa các địa chỉ IP độc hại vào danh sách này (chi tiết được trình bày trong mục 3.5.5). Khi có tấn công xảy ra, danh sách IP white-list sẽ được gửi đến các thiết bị mạng để cho phép IP trong danh sách này được ưu tiên kết nối vào hệ thống cần bảo vệ. Các IP không nằm trong IP white-list sẽ phải xác minh tính hợp lệ, trước khi cho kết nối vào hệ thống thông qua cơ chế xác minh địa chỉ IP nguồn. Khi đó, hệ thống DDoS-Defence sẽ đại diện máy chủ đang bị tấn công, gửi gói tin SYN, ACK về IP nguồn để xác minh. Nếu hệ thống DDoS-Defence nhận được gói tin ACK từ IP nguồn đó thì IP đó sẽ được đưa vào danh sách IP white-list (chi tiết tại mục 2.5.4). 11 Khi phát hiện tấn công DDoS xảy ra (tần suất gửi các gói tin TCP Reset vượt quá ngưỡng) thì chức năng phát hiện và loại bỏ gói tin giả mạo sẽ được kích hoạt để chặn các gói tin tấn công gửi đến hệ thống cần bảo vệ. 2.4. Phát hiện tấn công TCP Syn Flood Việc phát hiện sớm cuộc tấn công DDoS Syn Flood là rất quan trọng trong việc xử lý và giảm thiểu ảnh hưởng của cuộc tấn công đối với hệ thống. Đối với các phương pháp sử dụng threshold để phát hiện tấn công DDoS thường gây ra các cảnh báo sai hoặc không phát hiện ra. Điểm hạn chế của phương pháp sử dụng threshold là tin tặc có thể thay đổi lưu lượng tấn công về số lượng, tần suất để tránh khỏi sự phát hiện của hệ thống, do không có cơ chế thay đổi giá trị threshold một cách tự động phù hợp để mô tả hoạt động thực tế của hệ thống mạng được bảo vệ khi có sự thay đổi. Do đó, trong nghiên cứu này, tôi đề xuất một phương pháp cho phép theo dõi và tự động cập nhật giá trị threshold khi số lượng và tần suất truy nhập trên hệ thống thay đổi. Cơ chế của phương pháp đề xuất là định kỳ theo dõi tần số xuất hiện các gói tin TCP có cờ (flag) được thiết lập là Reset. Lý do theo dõi các gói tin TCP có flag là Reset là vì theo nguyên lý hoạt động của giao thức TCP, khi máy chủ nhận được gói tin SYN giả mạo thì máy chủ sẽ gửi trả lại gói tin ACK tới địa chỉ IP của máy thực (máy bị giả mạo địa chỉ IP). Khi máy thực nhận được gói tin ACK của máy chủ thì sẽ gửi gói tin TCP Reset tới máy chủ để hủy kết nối. Đây là điểm khác biệt giữa kết nối mạng thông thường với kết nối mạng sử dụng trong tấn công DDoS Syn Flood. Attacker User User Server IP A IP B 2.5. Phát hiện và loại bỏ các gói tin giả mạo trong tấn công DDoS TCP Syn Flood 2.5.1. Đặc trưng của các gói tin IP được gửi đi từ cùng một máy nguồn Qua quan sát thực tế và khảo sát các tập dữ liệu kiểm thử, chúng tôi thấy rằng khi một máy tính gửi ra một gói tin, không phân biệt địa chỉ IP đích hay dịch vụ sử dụng thì giá trị PID sẽ tăng lên một đơn vị. Điều này có nghĩa khi quan sát ở phía máy chủ thì ta sẽ nhận được chuỗi các gói tin có giá trị PID tăng liên tiếp, nếu chúng gửi đi từ cùng một máy. 2.5.2. Kiểm chứng giả thuyết về tính chất tăng dần của giá trị PID Để có thêm sở cứ, tôi tiếp tục xác minh tỷ lệ các gói tin có giá trị PID tăng liên tiếp có cùng địa chỉ IP nguồn từ 03 tập tin tôi có được ở trên. Để tìm ra tỷ lệ các gói tin có giá trị PID tăng liên tiếp có cùng địa chỉ IP nguồn, tôi sử dụng cách làm như phương pháp [110] tôi đề xuất. Cách làm này chỉ khác là tôi sẽ tìm các gói tin có giá trị PID 12 tăng liên tiếp từ cùng địa chỉ IP nguồn thay vì tìm các gói tin có giá trị PID tăng liên tiếp nhưng có IP nguồn khác nhau như trong [110]. Tập tin 2-PID 3-PID 4-PID inside.tcpdump 89.6% 84.2% 78.2% outside.tcpdump 88.6% 82.1% 77.3% dhbkdata.pcap 90.6% 89.5% 87.5% Tôi kiểm chứng tỷ lệ các gói tin có ít nhất 02 giá trị tăng liên tục (2-PID); Tỷ lệ các gói tin có ít nhất 03 giá trị tăng liên tục (3-PID); Tỷ lệ các gói tin có ít nhất 04 giá trị tăng liên tục (4-PID). Kết quả như sau: 2.5.3. Phương pháp phát hiện và loại bỏ các gói tin giả mạo PIDAD1 Quá trình thiết lập thông tin đầu vào được thực hiện tại thời điểm hệ thống DDoS- Defence bắt đầu phát hiện tấn công DDoS. Khi đó, trong khoảng thời gian rất ngắn phương pháp PIDAD1 thực hiện lấy mẫu các gói tin tấn công đầu tiên tới hệ thống để thiết lập các tham số của thuật toán DBSCAN. Phương pháp PIDAD1 chỉ tập trung vào việc phát hiện và loại bỏ các gói tin giả mạo gửi đến hệ thống. Việc phát hiện khi nào xảy ra tấn công DDoS dạng TCP Syn Flood, luận án trình bày ở trên. Quá trình thiết lập thông tin đầu vào được thực hiện như sau: Khi hệ thống phát hiện có tấn công DDoS xảy ra, phương pháp PIDAD1 sẽ thu thập Npc gói tin đầu tiên có địa chỉ IP nguồn khác nhau gửi đến hệ thống. Sau khi có được Npc gói tin, PIDAD1 sẽ áp dụng thuật toán DBSCAN để tìm ra những Cluster là nhóm các gói tin có PID tăng liên tiếp. Thuật toán DBSCAN áp dụng tham số Eps = 1, để thỏa mãn điều kiện các PID tăng liên tiếp một đơn vị, MinPts = 3 để thỏa mãn điều kiện có ít nhất 3 gói tin có PID tăng liên tiếp thì sẽ tạo lên một Cluster. Do tính chất PID tăng liên tiếp của các gói tin trong một Cluster, nên khi mỗi khi Cluster có thành viên mới (một gói tin mới thỏa mãn điều kiện và thuộc về Cluster đó) thì vị trí của core point sẽ được cập nhật thành vị trí của thành viên mới đó (border point) để cập nhật trạng thái của Cluster và giá trị EPID. 2.5.4. Phương pháp phát hiện và loại bỏ các gói tin giả mạo PIDAD2 Phương pháp PIDAD2 cho phép phát hiện và loại bỏ nhanh các gói tin giả mạo sử dụng trong tấn công SYN Flood để bảo vệ máy chủ bị tấn công bằng cách thực hiện đồng thời hai việc: 13 - Phát hiện các địa chỉ IP nguồn tốt, đang có nhu cầu kết nối, hay đã khởi tạo kết nối. - Phát hiện các gói tin giả mạo thông qua bộ lọc PID-Filter. Để thực hiện ý đồ cơ bản này, tôi sử dụng hai bảng dữ liệu lữu trữ địa chỉ IP nguồn (có thể kèm thông tin bổ sung): - Bảng I0 để lưu trữ các địa chỉ IP nguồn sạch và tích cực (đã kết nối, hoặc đang có nhu cầu khởi tạo kết nối thực sự), được sử dụng để cho phép các máy Client đã xác định là hợp lệ kết nối đến hệ thống. - Bảng I1 để lưu trữ các thông tin địa chỉ IP nguồn, giá trị PID và thời gian đến của những gói tin mà chưa xác định được là gói tin bình thường (tốt) hay gói tin giả mạo (tấn công). Trong quá trình kiểm tra sau đó, khi một địa chỉ IP trong I1 được xác định là sạch (âm tính), nó sẽ được chuyển sang I0. Sơ đồ hoạt động cơ bản của phương pháp là như hình dưới đây: Permit I0 I1 PID-Filter 2 3 5 New Packet Found Not Found1 Deny Not Found 4 Negative Positive Có thể có những IP giả mạo (tạo ngẫu nhiên) trùng khớp với một địa chỉ IP sạch trong I0, nhưng xác suất trùng khớp này là nhỏ. Để giảm thiểu ảnh hưởng của vấn đề trùng khớp này, mỗi IP trong bảng I0 sẽ có ngưỡng thời gian sống nhất định, nếu sau ngưỡng đó mà hệ thống không nhận được kết nối thực từ IP đó thì IP này sẽ bị xóa khỏi bảng I0. Một gói tin được xác định là hợp lệ trong các trường hợp sau (và do đó sẽ được chuyển từ I1 sang I0): - Trường hợp có gói tin có cùng địa chỉ IP nguồn đã gửi đến hệ thống trước đó. Trường hợp này xảy ra khi một Client đã yêu cầu kết nối tới máy chủ nhưng không được hồi đáp nên gửi lại yêu cầu kết nối, (cơ chế tcp retransmission [21]). Hệ thống có thể phát hiện sai gói tin giả mạo là gói tin hợp lệ trong trường hợp địa chỉ giả mạo của gói tin ngẫu nhiên trùng với một địa chỉ nào đó của gói tin đã gửi đến hệ thống trước đó. Tuy nhiên xác xuất trùng khớp này chỉ là 1/232 cho mỗi nguồn gửi gói tin giả mạo. - Trường hợp nếu sau khoảng thời gian T (tham số hệ thống chọn trước) một cặp (IP, PID) trong I1 được xác định là âm tính qua xét nghiệm PID-Filter. Mỗi gói tin mới gửi đến hệ thống được xử lý theo các bước sau đây: Bước 1: Kiểm tra địa chỉ IP nguồn của gói tin có trong bảng I0 hay không. Nếu có thì cho gói tin vào hệ thống (chuyển tiếp vào Server). Nếu không sang bước 2. Bước 2: Kiểm tra IP nguồn có trong bảng I1 hay không. Nếu có thì đưa thông tin IP này vào bảng I0 (cơ chế tcp retransmission) và cho phép gói tin đi vào hệ thống. Nếu không sang các bước sau. 14 Bước 3: Lưu thông tin (địa chỉ IP, giá trị PID, thời gian đến) của gói tin hiện thời vào bảng I1. Triệu gọi PID-Filter với giá trị PID này. Bước 4: Trong quá trình thực hiện PID-Filter, nếu có các giá trị PID bị phát hiện dương tính thì các thông tin của các gói tin tương ứng sẽ bị loại bỏ khỏi bảng I1 (song song với việc các gói tin đó bị lọc bỏ, không vào tới máy chủ bên trong). Bước 5: Nếu PID-Filter báo âm tính, các thông tin tương ứng với giá trị PID này sẽ chuyển khỏi bảng I1 và đưa vào bảng I0. 2.5.5. Phương pháp xác thực địa chỉ IP nguồn 2.6. Đánh giá thực nghiệm Router Core 1 ISP02 ISP01 ISP03 ISP04 Router Core 2 Router Core 3 Router Core 4 ISP01 ISP01 ISP01 ISP01 ISP01 ISP01 ISP01 ISP01 Core Internet Web Server C&C Server Để đánh giá thực nghiệm, tôi đã xây dựng một mạng botnet trên môi trưởng ảo trên 03 máy chủ vật lý có cấu hình cao. Hệ thống thực nghiệm có quy mô bao gồm 13 Router Cisco và 45 máy tính Client, được cài đặt hệ điều hành WinXP và Centos. Các máy tính này được cho lây nhiễm mã độc và chịu sự điều khiển của một máy chủ C&C máy chủ để thực hiện tấn công TCP Syn Flood vào Web Server. Các Router được thiết lập trên môi trường ảo sử dụng phần mềm GNS3 [81] với dòng Router Cisco 7200, sử dụng IOS là c7200-adventerprisek9-mz.124-24.T.bin. Về cơ chế hoạt động của mạng botnet như sau: Các máy Client bị nhiễm mã độc sẽ định kỳ 03s, truy cập thông tin điều khiển từ C&C máy chủ thông qua giao thức http tại địa chỉ: Cấu trúc của lệnh điều khiển như sau: Dạng tấn công Địa chỉ tấn công Cổng dịch vụ Trạng thái điều khiển synflood 103.192.237.100 80 Enable/disable Với cấu trúc lệnh trên, Các máy Client sẽ thực hiện tấn công dạng TCP Syn Flood với địa chỉ IP nguồn giả mạo ngẫu nhiên và địa chỉ máy 103.192.237.100 với cổng dịch vụ là 80. Để có dữ liệu kiểm thử, tôi thực hiện tấn công giả lập vào máy chủ trong khoảng thời gian 03 phút. Tại Web Server, tôi thực hiện lấy mẫu các gói tin SYN gửi đến máy chủ sử dụng công cụ Tcpdump với câu lệnh: tcpdump -i ens32 tcp port 80 and 15 "tcp[tcpflags] & (tcp-syn|tcp-ack)! = 0" -n -p and ip dst 103.192.237.100 -w synflood-attack.pcap. Kết quả tại Web Server, tôi thu được 145.377 gói tin Syn và được lưu trong tệp tin synflood-attack.pcap [115]. Để có cơ sở đánh giá thực nghiệm, các gói tin SYN được phân làm hai nhóm, nhóm các gói tin tấn công và nhóm các gói tin bình thường. Nhóm các gói tin bình thường là nhóm các gói tin có địa chỉ IP nguồn là các địa chỉ IP của các máy Client, nằm trong dải địa chỉ 103.192.237.0/24. Các gói tin này được sinh ra khi các máy Client truy cập trang Web trên Web Server. Nhóm các gói tin tấn công là các gói tin có địa chỉ IP không nằm trong dải địa chỉ ở trên và có giá trị ngẫu nhiên. 2.6.2. Đánh giá thực nghiệm cho phương pháp PIDAD1 và PIDAD2 2.6.3. So sánh hiệu quả của phương pháp PIDAD2 với phương pháp khác CHƯƠNG III. PHÒNG CHỐNG TẤN CÔNG LỚP ỨNG DỤNG WEB Trong chương này, tôi đã tập trung nghiên cứu và đưa ra phương pháp phòng chống tấn công Web App-DDoS, bao gồm các nội dung chính như sau: 3.1. Giới thiệu bài toán Ứng dụng Web là ứng dụng phổ biến để cung cấp các dịch vụ trên mạng của nhiều loại hình ngành nghề và lĩnh vực khác nhau như: Kinh tế, Chính trị, Tài chính, Thương mại điện tử, Giao thông vận tải... Phần lớn các ứng dụng Web cung cấp dịch vụ qua môi trường mạng Internet sử dụng giao thức HTTP/HTTPS. Do đó, ngoài phải đối mặt với các dạng tấn công mạng khác (SQL Injection, XSS) thì ứng dụng Web còn phải đối với dạng tấn công DDoS. Để thực hiện tấn công DDoS vào ứng dụng Web (Web App-DDoS), như đối với hình thức tấn công TCP Syn Flood, tin tặc lợi dụng mạng botnet để gửi tràn ngập các yêu cầu tới máy chủ làm máy chủ quá tải và rơi vào trạng thái từ chối dịch vụ. Tin tặc thường cố tình tạo ra các yêu cầu có thực, giống như các yêu cầu được gửi đi từ máy tính bình thường để vượt qua các thiết bị bảo mật như Firewall và IDS/IPS. 0 50 100 24 22 9 48 45 9 72 68 8 96 91 8 12 11 47 14 53 77 DR(%) Số lượng gói tin nhận được PIDAD1 PIDAD2 0 50 100 150 200 24 22 9 48 45 9 72 68 8 96 91 8 12 11 47 14 53 77 Time(s) Số lượng gói tin nhận được PIDAD1 PIDAD2 0 50 100 24 22 9 48 45 9 72 68 8 96 91 8 12 11 47 14 53 77 DR(%) Số lượng gói tin nhận được C4.5 PIDAD2 0 0.5 1 24 22 9 48 45 9 72 68 8 96 91 8 12 11 47 14 53 77 FP(%) Số lượng gói tin nhận được C4.5 PIDAD2 16 Để giải quyết bài toán thứ hai, tôi đề xuất phương pháp phát hiện nhanh các nguồn gửi yêu cầu tấn công Web App-DDoS ngay khi tấn công xảy ra trong nghiên cứu [111]. Đề xuất này cũng đưa ra một mô hình mở cho phép kết hợp, bổ sung nhiều tiêu chí khác nhau để phát hiện và xác định nguồn gửi yêu cầu tấn công. Trong đó, có tiêu chí cho phép phát hiện ngay ra các nguồn gửi yêu cầu tấn công mà không phải trải qua quá trình máy học/huấn luyện như các phương pháp khác. Kết quả nghiên cứu đã được tôi công bố tại Hội nghị SoICT năm 2017. Sau khi luận án được Hội đồng đánh giá cấp cơ sở thông qua, tôi tiếp tục nghiên cứu, đề xuất phương pháp, thuật toán cụ thể hơn cho 02 tiêu chí tôi đã sử dụng trong nghiên cứu [111]. Cụ thể: Đối với tiêu chí về tần suất truy nhập, tôi đề xuất giải pháp cho phép tìm ra tần suất truy cập từ các IP nguồn gửi yêu cầu theo thời gian thực. Giải pháp đề xuất cần rất ít tài nguyên để lưu trữ và xử lý. Tần suất xác định được sẽ là dữ liệu đầu vào cho thuật toán của tiêu chí về tần suất. Bên cạnh đó, trong nghiên cứu này tôi cũng đề xuất một giải pháp mới để xác định các nguồn gửi yêu cầu tấn công thay cho giải pháp sử dụng DBSCAN trong nghiên cứu [111]. Tôi trình bày cụ thể tiêu chí này tại mục 3.5.4.1. Kết quả nghiên cứu được tôi gửi đăng tại Hội nghị IEEE RIVF 2019. Đối với tiêu chí về mối quan hệ tương quan giữa các yêu cầu gửi đến máy chủ từ một nguồn, tôi đưa ra giải pháp để thiết lập tập các yêu cầu tương quan trong quá trình huấn luyện (training). Tập các yêu cầu tương quan được thiết lập dựa trên các điều kiện để bảo đảm rằng tập c

Các file đính kèm theo tài liệu này:

  • pdftom_tat_luan_an_phat_hien_va_phong_chong_mot_so_dang_tan_con.pdf
Tài liệu liên quan