Thử nghiệm và đánh giá

Một phần của tài liệu Phát hiện và xử lý botnet (Trang 50)

3. Cấu trúc luận văn

3.3. Thử nghiệm và đánh giá

3.3.1. Bonesi

Bonesi, DDos Bonet Simulator là một công cụ giúp mô phỏng lại lưu lượng của Bonet trong môi trường thử nghiệm. Mục đích của công cụ này giúp nghiên cứu về ảnh hưởng của tấn công DDoS thực hiện bởi Botnet. Bonesi có thể tạo ra các tấn công tràn ngập (flooding attack) ICMP, UDP và TCP từ một mạng Botnet (với các địa chỉ IP khác nhau). Các thuộc tính của các gói tin và kết nối có thể dễ dàng tùy chỉnh như tốc độ gửi gói tin, tập các địa chỉ IP nguồn, kích thước payload gói tin và cá thông số khác (Hình 9). Hiện nay có rất nhiều công cụ khác có thể mô phỏng các cuộc tấn công tràn nhập UDP và ICMP với các địa chỉ IP khác nhau. Nhưng đối với việc tấn công giả mạo TCP, thì Bonesi là công cụ đầu tiên giúp mô phỏng tấn công HTTP-GET flood từ một mạng bot quy mô lớn. Bonesi cũng tránh việc tạo ra các gói tin với mẫu có thể nhận diện dễ dàng. Bonesi tập trung nhiều vào hiệu suất khi mô phỏng các mạng Botnet lớn. Trên một máy tính có cấu hình mạnh, Bonesi có thể tạo một cuộc tấn công DDoS với tần suất lưu lượng lên đến 1.500.000 gói tin/ 1 giây.

50

Hình 9: Tùy chỉnh các thông số trong Bonesi

3.3.2. Cài đặt Snort

Tôi sẽ cài đặt Snort trên 1 máy chủ cung cấp bởi Google cloud, máy chủ này sẽ chạy một dịch vụ web và Snort sẽ là một IDS giúp hệ thống phát hiện các cuộc tấn công DDoS được tiến hành bởi mạng Botnet. Cấu hình hệ thống như sau:

Hệ điều hành Ubuntu 14.04.03 Server LTS x64

Ram 4GB

CPU platform Intel Ivy Bridge

Core 2 vCPUs

Snort Snort 2.9.8.0

HDD 20GB

Bảng 2: Cấu hình hệ thống

Các bƣớc cài đặt và cấu hình cho Snort:

Cài đặt Snort Pre-Requisites: Trước khi cài đặt Snort có bốn thư viện bắt buộc phải cài đặt như dưới đây. Chúng ta sẽ phải lần lượt cài đặt các thư viện này

51

- Pcap (libpcap-dev) - PCRE (libpcre3-dev) - Libdnet (libdumbnet-dev)

- DAQ (http://www.snort.org/downloads/) Cài đặt thư viện Pcap, Pcre, Libdnet

sudo apt-get install -y build-essential

sudo apt-get install -y libpcap-dev libpcre3-dev libdumbnet-dev Tạo một thư mục lưu toàn bộ mã nguồn của Snrot

mkdir ~/snort_src cd ~/snort_src Cài đặt DAQ

sudo apt-get install -y bison flex cd ~/snort_src wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz tar -xvzf daq-2.0.6.tar.gz cd daq-2.0.6 ./configure Make

sudo make install

Cài đặt Snort: Để cài đặt Snort trên ubuntu, chúng ta cần phải cài đặt thêm một số thư viện như zlibg

sudo apt-get install -y zlib1g-dev liblzma-dev openssl libssl-dev

Sau khi các thư việc cần thiết được cài đặt, tôi sẽ tải về mã nguồn của Snort, giải nén, biên dịch và tiến hành cài đặt. Các câu lệnh được thực hiện như sau:

cd ~/snort_src

wget https://snort.org/downloads/snort/snort-2.9.8.3.tar.gz tar -xvzf snort-2.9.8.3.tar.gz

52

cd snort-2.9.8.3

./configure --enable-sourcefire make

sudo make install

Sau khi cài đặt thành công, tôi tiến hành chạy thử Snort thông qua lệnh snort -V nếu đầu ra được tương tự như dưới đấy nghĩa là Snort đã được cài đặt thành công

user@snortserver: ~$ snort -V ,,_ -*> Snort! <*-

o" ) ~ Version 2.9.8.0 GRE (Build 229) '''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team

Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved. Copyright (C) 1998-2013 Sourcefire, Inc., et al.

Using libpcap version 1.5.3

Using PCRE version: 8.31 2012-07-06 Using ZLIB version: 1.2.8

user@snortserver:~$

3.3.3. Mô phỏng, kết quả và nhận xét

Sử dụng công cụ Bonesi tiến hành mô phỏng một cuộc tấn công tràn ngập UDP (UDP flood) được thực hiện bởi Botnet đến máy chủ. Trên máy chủ có cài đặt Snort IDS. Snort sẽ tiến hành bắt tất cả các gói tin từ hệ thống, phân tích và so sánh với các tập luật đã cài đặt trước và đưa ra cảnh bảo.

Tiến hành tấn công: Thực hiện mô phỏng tấn công UDP flood được thực hiện bởi các Botnet (có địa chỉ IP khác nhau từ một tập 50 nghìn địa chỉ IP) kích thước payload của 1 gói tin là 32byte. Tốc độ gửi gói tin từ một bot là

53

không giới hạn (tùy thuộc vào phần cứng của hệ thống). Thời gian thực hiện là 30 giây. Tổng số gói tin gửi đến máy chủ xấp xỉ 1.621160 gói tin. Quá trình thực hiện được trình bày như hình dưới đây:

54

Hình 11: Các gói tin tấn công được gửi đến máy chủ

Sử dụng công cụ Wireshark, tôi tiến hành bắt tất cả các gói tin trong quá trình tấn công để tiến hành phân tích, rút ra các đặc trưng để xây dựng các luật giúp phát hiện các cuộc tấn công này.

55

Hình 12: Các gói tin tấn công được ghi lại bởi phần mềm Wireshark

Phát hiện tấn công bởi Snort: Snort dễ dàng phát hiện được các gói tin được gửi đi thông qua công cụ Bonesi là gói tin tấn công UDP floot bởi các luật đã được xác định từ trước và xuất ra cảnh báo theo thời gian thực như hình dưới đây. Tổng cộng Snort phát hiện được 1.621.160 gói tin nghi ngờ là gửi từ các bot để tấn công hệ thống và đưa ra cảnh báo và log lại các gói tin này (Hình 13). Tỷ lệ phát hiện đạt 100%.

56

Hình 13: Snort đưa ra cảnh báo khi phát hiện gói tin tấn công UDP flood

Nhận xét: Dễ dàng nhận thấy, với những dạng tấn công đã biết và đã xây dựng được các luật để nhận biết được dạng tấn công này thì Snort hoạt động rất hiệu quả trong việc phát hiện tấn công khi hệ thống bị tấn công bởi các dạng tấn công này và cho tỷ lệ cảnh báo đạt 100%. Vì cuộc tấn công này được thực hiện bởi một Botnet, ta có thể thấy các gói tin UDP được gửi từ một loạt các máy tính với địa chỉ IP khác nhau với một cường độ cao. Việc xác định được các gói tin này là tấn công đồng thời giúp ta xác định được địa chỉ IP của các gói tin. Các thông tin này sẽ được ghi lại và phân tích. Dựa vào các thông tin này sẽ giúp xác định các máy tính mang địa chỉ IP như vậy có khả năng cao là một bot và đang gửi các truy vấn không hợp lệ đến hệ thống nhằm đánh sập hệ thống. Nhà quản

57

trị có thể chặn tất cả các gói tin từ các địa chỉ đó bằng cách đưa các địa chỉ IP đó vào một danh sách đen (blacklist) và sẽ giúp đảm bảo hoạt động của hệ thống mạng không bị gián đoạn.

Tuy nhiên ta cũng thể dễ dàng nhận ra được điểm yếu của Snort là đối với các dạng tấn công mới hoặc các dạng tấn công đã được tùy biến thì với tập luật hiện có, Snort không thể phát hiện được những dạng tấn công này nên không thể xác định được các truy cập đến hệ thống là từ một người dùng hợp lệ hay từ một bot trong mạng Botnet. Vì vậy việc cập nhật tập luật thưởng xuyên cho Snort là vô cùng cần thiết và cần phải kết hợp các phương pháp phát hiện xâm nhập khác như phát hiện bất thường để phát hiện được các bot. Từ đó có thể đưa ra được các biện pháp ngăn chặn và phòng thủ hợp lý cho hệ thống.

58

KẾT LUẬN

Cùng với sự phát triển mạnh mẽ của Internet thì những mối đe dọa cũng xuất hiện ngày càng nhiều, nổi bật là mối đe dọa về Botnet. Các mạng Botnet được sinh ra một cách bí mật và tiềm ẩn trong đó những nguy cơ lớn đối với an ninh mạng. Trong những năm gần đây, hiểm họa Botnet ngày càng trở nên nguy hiểm hơn với rất nhiều các công cụ và hình thức tấn công mới. Trước những nguy cơ và thách thức như vậy thì việc nghiên cứu về các phương pháp phát hiện và xử lý Botnet là cần thiết và cấp bách hơn bao giờ hết. Trong luận văn này, tôi đã đi sâu và nghiên cứu về các phương pháp phát hiện và ngăn chặn Botnet và đã đạt được một số kết quả nhất định như sau.

Những kết quả đạt đƣợc:

– Giới thiệu tổng quan về Botnet và mô tả cụ thể được các đặc trưng của để

từ đó ta có thể hiểu rõ được cơ chế và các hành vi của Botnet.

– Nghiên cứu các phương pháp phát hiện Botnet một cách tổng quan thông qua cách phân loại các phương pháp phát hiện thành 3 nhóm chính dựa trên thành phần của botnet để phát hiện. Đó là phát hiện bot, phát hiện máy chủ C&C, phát hiện botmaster.

– Từ cái nhìn tổng quan về các phương pháp phát hiện Botnet tôi đi sâu vào nghiên cứu phương pháp phát hiện bot bằng cách xây dựng một tập luật cho Snort-IDS để có thế phát hiện được Bonet một cách nhanh chóng và hiệu quả. Sau đo tôi tiến hành thử nghiệm và đánh giá trên một tập dữ liệu mẫu và phần mềm mô phỏng tấn công và kết quả thu được bước đầu đã có khả quan.

– Cuối cùng tôi trình bày một số cơ chế và kiến nghị để phòng vệ chống lại Botnet.

59

Hạn chế:

Tuy nhiên, Botnet là một lĩnh vực khá rộng và khó, phát triển liên tục. Do hạn chế về mặt thời gian và kiến thức nên luận văn vẫn còn tồn tại những hạn chế sau:

– Việc sử dụng Snort-IDS mới chỉ giúp phát hiện được các dạng Botnet đã biết. Còn những dạng bot mới thì hệ thống này chưa thể phát hiện được.

– Việc đánh giá và thử nghiệm chỉ được tiến hành trên tập dữ liệu mẫu và phần mềm mô phỏng tấn công mà chưa đánh giá trong điều kiện thực tế.

– Còn rất nhiều kỹ thuật phát hiện Botnet khác cần được nghiên cứu sâu và chi tiết hơn nữa.

Hƣớng phát triển:

Trong tương lai, tôi sẽ tiếp tục tiến hành nghiên cứu thêm các phương pháp phát hiện Botnet khác. Tiến hành thử nghiệm và nghiên cứu xây dựng một module phát hiện Botnet dựa trên các dấu hiệu bất thường và tích hợp vào Snort-IDS để có thể phát hiện được các dạng Botnet mới.

60

TÀI LIỆU THAM KHẢO

1. Alan Shaikh, “Botnet Analysis and Detection System”, International Journal of Network Security, November 2010.

2. Riccardo Bortolameotti, “C&C Botnet Detection over SSL”, University of Twente - EIT ICT Labs masterschool, 2013.

3. Youksamay Chanthakoummane, Saiyan Saiyod, Nunnapus Benjamas, and Nattawat Khamphakdee, “Evaluation Snort-IDS Rules for Botnets Detection”, National Conference on Information Technology: NCIT, 2014.

4. François Bégin, “BYOB: Build Your Own Botnet”, SANS Institute InfoSec Reading Room, 27th July 2011.

5. Sheharbano Khattak, Naurin Rasheed Ramay, Kamran Riaz Khan, Affan A. Syed, and Syed Ali Khayam, “A Taxonomy of Botnet Behavior, Detection and Defense”, IEEE Communications Surveys & Tutorials, 02 October 2013.

6. Saiyan Saiyod, Youksamay Chanthakoummane, Nunnapus Benjamas, Nattawat Khamphakdee and Jirayus Chaichawananit, “Improving Intrusion Detection on Snort Rules for Botnet Detection”, Convergence Security, Vol. 1, 19–40., 29 May 2016

7.http://antoanthongtin.vn/Detail.aspx?CatID=762c71a3-7540-4718-964e-b2bced 858291&NewsID=15cc1dd2-6874-4aeb-a5f5-00d13e7a8e75, 10-21-2016

8. http://mcfp.weebly.com/, 10-21-2016

9. Saiyan Saiyod, Youksamay Chanthakoummane Nunnapus Benjamas, Nattawat Khamphakdee and Jirayus Chaichawananit1,” Improving Intrusion Detection on Snort Rules for Botnet Detection”, Publication 29 May 2016

Một phần của tài liệu Phát hiện và xử lý botnet (Trang 50)

Tải bản đầy đủ (PDF)

(61 trang)