4.1.1. Môi trường thực nghiệm
Với thông tin đầu vào và yêu cầu đầu ra của bài toán như trên, cần xây dựng môi trường thực nghiệm có đủ các thành phần sau:
- Máy chủ ứng dụng cần được giám sát để cảnh báo tấn công từ chối dịch vụ.
- Firewall.
- Máy chủ giả lập tấn công từ chối dịch vụ. - Hệ thống mạng kết nối ba thành phần trên.
- Phần mềm khai phá dữ liệu logfile của Firewall để đưa ra cảnh báo tấn công từ chối dịch vụ.
Đề xuất xây dựng môi trường thực nghiệm cụ thể như sau:
- 01 máy chủ ảo chạy Windows Server 2003 (sau đây gọi là máy chủ Web). Trên máy chủ cài đặt web server Apache và 01 website demo bằng ngôn ngữ PHP. Máy chủ này sẽ được giám sát để cảnh báo tấn công từ chối dịch vụ thông qua ứng dụng web.
- 01 máy tính làm máy chủ giả lập tấn công từ chối dịch vụ (sau đây gọi là máy chủ giả lập). Sử dụng phần mềm giả lập là Apache- Jmeter.
- 01 máy chủ ảo chạy Windows Server 2003 (sau đây gọi là Firewall). Trên máy chủ này cài đặt phần mềm Firewall ISA Server 2006. Firewall ISA được cấu hình để lưu thông tin vận hành vào logfile đặt tại thư mục cài đặt của Firewall ISA.
- Phần mềm khai phá dữ liệu DoSAlert được viết bằng ngôn ngữ Visual Basic.NET. Phần mềm này sẽ được chạy trên máy chủ ảo cài đặt Firewall ISA 2006 để thu thập dữ liệu logfile của Firewall ISA và đưa ra cảnh báo khi có tấn công. Việc thu thập, phân tích dữ liệu logfile và đưa ra cảnh báo được thực hiện theo thời gian thực. Với mô hình thực nghiệm như trên, các công nghệ được sử dụng bao gồm:
- Ngôn ngữ lập trình phần mềm DoSAlert: Visual Basic.NET. - Cơ sở dữ liệu của phần mềm DoSAlert: Microsoft Access. - Phần mềm tạo máy ảo: VMWare.
- Hệ điều hành máy ảo: Windows Server 2003.
- Phần mềm Web Server Apache trên Windows: XAMPP. Phần mềm giả lập tấn công từ chối dịch vụ: Apache-Jmeter.
Mô hình hệ thống thực nghiệm như sau:
Hình 4.1: Mô hình hệ thống thực nghiệm
Tiêu chí để kết luận đang diễn ra cuộc tấn công từ chối dịch vụ: “Có trên 500 kết nối đến cùng một cổng dịch vụ trên cùng một địa chỉ IP đích được tạo ra từ cùng một địa chỉ IP nguồn trong khoảng thời gian 10 giây”.
4.1.2. Mô tả quy trình thực nghiệm
Quy trình thực nghiệm được thực hiện theo các bước sau đây: 1. Thiết lập môi trường thực nghiệm.
2. Cấu hình Firewall ISA đẩy thông tin vận hành vào logfile. 3. Cấu hình phần mềm DoSAlert, bao gồm:
Địa chỉ đích cần giám sát để cảnh báo tấn công từ chối dịch vụ.
Tham số cảnh báo tấn công từ chối dịch vụ: Threshold=500.
Interval=10 giây.
Đường dẫn đến logfile của Firewall ISA.
4. Sử dụng công cụ giả lập tấn công từ chối dịch vụ để tạo dữ liệu logfile trên Firewall ISA.
5. Kiểm tra thông tin cảnh báo trên phần mềm DoSAlert.
4.2. PHÂN TÍCH DỮ LIỆU LOGFILE FIREWALL ISA
Mỗi một bản ghi (một dòng log) trong logfile của Firewall ISA Server 2006 chứa thông tin về một kết nối (connection). Các bản ghi này được tạo ra liên tục trong quá trình vận hành của hệ thống (ví dụ: người dùng duyệt web).
Máy giả lập tấn công DoS Firewall ISA + DoSAlert Web Server 192.168.0.48 192.168.0.219 10.0.0.124
Mỗi bản ghi này có cấu trúc như sau:
STT Tên trường Giải thích
1 Server Name Tên máy chủ cài đặt Firewall ISA 2 Log Date Ngày tạo bản ghi log
3 Log Time Thời gian tạo bản ghi log
4 Transport
Giao thức truyền dữ liệu được sử dụng (ví dụ: TCP, UDP)
5 Client IP and Port
Địa chỉ IP và cổng của máy trạm. Trường này có cấu trúc là IP:Port
6
Destination IP and Port
Địa chỉ IP và cổng của máy đích. Trường này có cấu trúc là IP:Port
7 Original Client IP Địa chỉ IP gốc của máy trạm 8 Source Network Lớp mạng của máy trạm
9
Destination
Network Lớp mạng của máy đích
10 Action
Hành động được thực thi bởi Firewall đối với kết nối hiện tại (ví dụ: denied, establish,…)
11 Result Code Mã lỗi thực thi
12 Rule
Tham chiếu đến luật được thiết lập trên ISA. Luật này sẽ xác định Action đối với kết nối hiện tại
13 Protocol
Giao thức ứng dụng mà kết nối hiện tại sử dụng (ví dụ: HTTP, NetBios Name Service)
14 Bytes Sent
Tổng số byte dữ liệu được gửi từ máy trạm trong kết nối hiện tại
15 Bytes Sent Delta
Tổng số byte dữ liệu được gửi từ máy trạm trong kết nối hiện tại tính đến thời điểm bản ghi log trước đó được tạo ra
16 Bytes Received
Tổng số byte dữ liệu máy đích nhận được trong kết nối hiện tại
Delta kết nối hiện tại tính đến thời điểm bản ghi log trước đó được tạo ra
18 Processing Time
Tổng số thời gian (tính theo milliseconds) mà ISA Server xử lý kết nối hiện tại
19
Processing Time Delta
Tổng số thời gian (tính theo milliseconds) mà ISA Server xử lý kết nối hiện tại tính đến thời điểm bản ghi log trước đó được tạo ra
20 Client Username
Tên đăng nhập của người dùng tạo ra yêu cầu kết nối
21 Client Agent
Tên và phiên bản hệ điều hành hoặc tên ứng dụng tạo yêu cầu kết nối của máy trạm
22 Session ID Mã phiên làm việc hiện tại 23 Connection ID Mã kết nối hiện tại
Bảng 4.1: Cấu trúc logfile Firewall ISA 2006
Các bản ghi dữ liệu logfile Firewall ISA cần quan tâm là các bản ghi thỏa mãn điều kiện sau đây:
- Trường dữ liệu Action có giá trị khác “denied”. - Trường dữ liệu Protocol có giá trị là “HTTP”.
4.3. PHẦN MỀM DoSAlert
Sử dụng mô hình đề xuất, tác giả đã xây dựng phần mềm DoSAlert và ứng dụng trong quá trình thực nghiệm. Phần mềm DoSAlert đưa ra cảnh báo tấn công từ chối dịch vụ dựa trên việc phân tích dữ liệu logfile của Firewall ISA Server 2006.
4.3.1. Chức năng chính của phần mềm
Phần mềm DoSAlert có những chức năng chính sau đây: - Thiết lập tham số cảnh báo tấn công từ chối dịch vụ. - Thiết lập danh sách địa chỉ IP cần giám sát.
- Thu thập dữ liệu logfile Firewall ISA Server 2006 theo thời gian thực.
- Dựa trên cơ sở phân tích dữ liệu logfile Firewall ISA Server 2006, phát hiện các cuộc tấn công từ chối dịch vụ và đưa ra cảnh báo trên giao diện phần mềm.
4.3.2. Mô tả cơ sở dữ liệu
Cơ sở dữ liệu của phần mềm DoSAlert bao gồm các bảng dữ liệu sau đây: - Bảng tbl_setting: bảng này chứa các tham số cấu hình cho phần
mềm
Tên trường Kiểu dữ liệu Giải thích
st_name Text Mã tham số cấu hình st_value Text Giá trị tham số cấu hình
Bảng 4.2: Cấu trúc bảng cơ sở dữ liệu tbl_setting
Các tham số cấu hình bao gồm:
ConnThreshold: ngưỡng kết nối Interval: ngưỡng thời gian
LogPath: đường dẫn thư mục chứa logfile của Firewall ISA
- Bảng tbl_destinationip:
Tên trường Kiểu dữ liệu Giải thích
d_id Text Mã số địa chỉ IP cần giám sát. Đây cũng chính là nhãn lớp máy đích. Trường này có dạng "IP(bỏ dấu
chấm)_port" đích, ví dụ:
1921680219_80
d_ip Text Địa chỉ IP máy đích cần giám sát d_p Text Cổng dịch vụ của máy đích cần
giám sát
Bảng 4.3: Cấu trúc bảng cơ sở dữ liệu tbl_destinationip
- Các bảng phụ có dạng “IP đích (bỏ dấu chấm)_port đích”: Mỗi bảng phụ là một lớp máy đích. Phần tử của bảng phụ là các bản ghi log đã được xử lý, đại diện cho những kết nối đến địa chỉ và cổng máy đích tương ứng trong khoảng thời gian Interval. Các phần tử trong bảng phụ được xóa bỏ sau mỗi khoảng thời gian Interval, phần mềm DoSAlert sẽ bổ sung các phần tử mới trong khoảng thời
gian Interval tiếp theo. Ví dụ tên bảng: “1921680219_80”. Mỗi bảng phụ có cấu trúc như sau:
Tên trường Kiểu dữ liệu Giải thích
cl_rawdata Text Bản ghi dữ liệu thô
cl_did Text Nhãn lớp máy đích (ví dụ: 1921680219_80)
cl_sip Text Nhãn lớp máy trạm (ví dụ: 192168048)
Bảng 4.4: Cấu trúc bảng phụ trong cơ sở dữ liệu
4.3.3. Giao diện phần mềm
Giao diện chính của phần mềm bao gồm các thành phần sau đây:
- Menu phần mềm: cho phép bật, tắt chức năng giám sát, thiết lập các tham số của phần mềm.
- Danh sách các bản ghi log dạng thô mà phần mềm thu thập được trong khoảng thời gian Interval
- Bảng thống kê tổng số kết nối từ các máy trạm tới các máy đích. - Bảng thông báo về các cuộc tấn công từ chối dịch vụ được phần
mềm phát hiện.
Hình 4.2: Giao diện chính của phần mềm DoSAlert
- Bắt đầu giám sát: bật chức năng giám sát. - Kết thúc giám sát: tắt chức năng giám sát. - Thiết lập danh sách IP cần giám sát.
- Thiết lập đường dẫn thư mục chưa logfile.
- Thiết lập tham số cảnh báo tấn công từ chối dịch vụ.
Hình 4.3: Menu chính của phần mềm DoSAlert
Giao diện cho phép thiết lập danh sách IP cần giám sát:
Hình 4.4: Giao diện thiết lập danh sách IP cần giám sát
Hình 4.5: Giao diện thiết lập đường dẫn thư mục
Giao diện cho phép thiết lập tham số cảnh báo tấn công từ chối dịch vụ:
Hình 4.6: Giao diện thiết lập tham số cảnh báo tấn công từ chối dịch vụ
4.4. KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.4.1. Kết quả thực nghiệm 4.4.1. Kết quả thực nghiệm
Quá trình thực nghiệm được tiến hành như sau: 1. Thiết lập môi trường thực nghiệm:
- Cài đặt 02 máy chủ ảo Windows Server 2003. - Thiết lập địa chỉ mạng cho các máy chủ như sau:
Máy chủ cài đặt Firewall ISA 2006:
Địa chỉ IP lớp ngoài: 192.168.0.219. Địa chỉ IP lớp trong: 10.0.0.1.
Máy chủ Web: 10.0.0.124
Máy giả lập tấn công: 192.168.0.48
- Trên máy chủ Web: Cài đặt XAMPP và copy mã nguồn của website demo vào thư mục “htdocs” của phần mềm XAMPP.
Hình 4.7: Giao diện quản trị phần mềm XAMPP
- Cài đặt phần mềm ISA Server 2006
Hình 4.8: Giao diện quản trị ISA Server 2006
- Cấu hình trên ISA Server cho phép chuyển hướng các kết nối đến tên miền “petshop.com” sang máy chủ Web. Khi đó, “petshop.com” sẽ là tên miền của máy chủ Web.
- Thiết lập phân giải tên miền trên máy chủ giả lập tấn công: Thêm dòng sau vào file “hosts” của Windows để trỏ tên miền “petshop.com” vào địa chỉ của máy chủ Firewall.
- Chạy thử website demo:
Hình 4.9: Giao diện website demo
2. Cấu hình Firewall ISA đẩy thông tin vận hành vào logfile.
Hình 4.10: Cấu hình ghi log trên Firewall ISA
Logfile của Firewall ASIA được lưu trong thư mục có đường dẫn như sau:
C:\Program Files\Microsoft ISA Server\ISALogs\
ISALOG_yyyymmdd_FWS_nnn.w3c
Trong đó “yyyymmdd” là năm, tháng, ngày mà logfile đó được tạo
ra; “nnn” là mã số thứ tự của logfile. Trong một ngày có thể tạo ra
nhiều logfile do kích thước logfile vượt ngưỡng cho phép, do đó cần phải đánh số để phân biệt. Phần mềm DoSAlert sẽ tự động nhận diện logfile mới nhất đang được Firewall ISA sử dụng để thu thập dữ liệu. Ví dụ về tên một logfile của Firewall ISA như sau:
“ISALOG_20130904_FWS_000.w3c”.
3. Cấu hình phần mềm DoSAlert:
- Nhập địa chỉ IP của WebServer vào danh sách các địa chỉ IP cần giám sát
- Thiết lập đường dẫn thư mục chứa logfile là: - C:\Program Files\Microsoft ISA Server\ISALogs\
- Thiết lập tham số cảnh báo tấn công từ chối dịch vụ, trong đó:
Threshold=500.
Interval=10 giây. 4. Giả lập tấn công
- Thiết lập tham số trên phần mềm giả lập Apache-Jmeter: Đích tấn công: petshop.com; port: 80.
Tham số khởi tạo kết nối: 1000 kết nối trong khoảng thời gian 3 giây và lặp lại quá trình này 30 lần.
- Chạy phần mềm Apache-Jmeter, kiểm tra dữ liệu được tạo ra trong logfile của Firewall ISA
Hình 4.11:Dữ liệu trên logfile của Firewall ISA
Hình 4.12:Thông tin cảnh báo trên phần mềm DoSAlert
Quá trình thực nghiệm trên được thực hiện lặp lại nhiều lần. Sau đó thay đổi các thiết lập của phần mềm và tiếp tục thực hiện lại quá trình thực nghiệm. Cụ thể là bổ sung thêm 03 địa chỉ IP đích cần giám sát và cài đặt thêm một máy chủ Web ảo. Mục đích của việc thay đổi này là để đánh giá hiệu quả của phần mềm khi có thêm điều kiện kiểm tra trong quá trình khai phá dữ liệu logfile của Firewall ISA.
Kết quả thực nghiệm cho thấy phần mềm thực hiện tốt chức năng cảnh báo khi có tấn công từ chối dịch vụ. Trong các lần thử nghiệm tấn công, phần mềm đều phát hiện được và đưa ra thông điệp cảnh báo trên giao diện.
4.4.2. Đánh giá kết quả thực nghiệm
Trong quá trình tiến hành thực nghiệm, phần mềm DoSAlert đã thực hiện tốt chức năng đưa ra cảnh báo khi có tấn công từ chối dịch vụ với độ trễ khoảng 5-10 giây kể từ thời điểm bắt đầu chạy chương trình giả lập. Tiến hành so sánh với một số công cụ khác cũng cho phép cảnh báo tấn công từ chối dịch vụ dựa trên việc phân tích logfile hiện nay (như ArcSight, Nxlog, Splunk), cho thấy độ trễ như vậy là chấp nhận được.
Trong quá trình diễn ra tấn công từ chối dịch vụ, mức chiếm dụng CPU của phần mềm dao động trong khoảng 40%-70%. Khi kết thúc tấn công từ chối dịch vụ, mức chiếm dụng CPU khoảng 30%. Có thể thấy, mức độ chiếm dụng tài nguyên như vậy là tương đối cao. Tuy nhiên, do môi trường thực nghiệm sử dụng các máy ảo chạy trên cùng một máy tính vật lý nên việc đánh giá mức độ chiếm dụng tài nguyên chưa được chính xác vì thực tế chỉ có 01 CPU vật lý. Cần phải xây dựng môi trường thực nghiệm trong đó có các máy chủ vật lý riêng lẻ để đánh giá chính xác mức độ chiếm dụng tài nguyên của phần mềm, từ đó tiến hành điều chỉnh mã nguồn để đảm bảo phần mềm vận hành tối ưu nhất.
KẾT LUẬN
Kết quả đạt được của luận văn:
Luận văn này tiến hành khảo sát các giải pháp và đề nghị một mô hình thử nghiệm khai phá dữ liệu logfile của Firewall trong hệ thống mạng IPTV nhằm phát hiện tấn công từ chối dịch vụ. Luận văn cũng xác định một tiêu chí để nhận dạng tấn công từ chối dịch vụ.
Luận văn tiến hành thực nghiệm mô hình đã được đề nghị trên một hệ thống giả lập có đầy đủ các thành phần bao gồm: máy chủ dịch vụ, Firewall kiểm soát kết nối, máy chủ giả lập tấn công. Quá trình thực nghiệm đem lại những kết quả khả quan. Phần mềm DoSAlert sử dụng mô hình đề xuất đã hoạt động tốt trong môi trường giả lập. Các cuộc tấn công thử nghiệm đều được phát hiện và cảnh báo trong thời gian thuộc khoảng 5-10 giây; đây là độ trễ chấp nhận được.
Mô hình này có thể được tối ưu và áp dụng để phát hiện các loại hình tấn công khác, đặc biệt là những kiểu tấn công phức tạp, đòi hỏi phải có sự phân tích kết hợp giữa nhiều nguồn log khác nhau, nhiều yếu tố khác nhau, chẳng hạn: tấn công dò quét mật khẩu, leo thang đặc quyền, sql injection, xss, v.v…
Định hướng phát triển:
Mặc dù quá trình thực nghiệm cho kết quả tốt, mô hình cần được tiếp tục nghiên cứu phát triển, hoàn thiện để có thể đạt được hiệu quả cao hơn khi áp dụng vào những hệ thống có quy mô lớn.
Một số định hướng phát triển cần thực hiện như sau: - Cải tiến tốc độ của quá trình phân cụm.
- Tối ưu thực thi đa luồng (multithread) để giảm thiểu chiếm dụng tài nguyên, đồng thời tăng cường khả năng xử lý dữ liệu logfile.
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:
[1] Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009), Giáo trình khai phá dữ liệu web, Nhà