Tải bản đầy đủ (.pdf) (23 trang)

Xây dựng hệ thống giám sát và cảnh báo nguy cơ xâm nhập mạng tại trung tâm dữ liệu điện tử tỉnh Quảng Bình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (771.95 KB, 23 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN VĨNH HUẾ

XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ
CẢNH BÁO NGUY CƠ XÂM NHẬP MẠNG
TẠI TRUNG TÂM DỮ LIỆU
ĐIỆN TỬ TỈNH QUẢNG BÌNH

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2018


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA

Người hướng dẫn khoa học: PGS.TS. NGUYỄN TẤN KHÔI

Phản biện 1 : TS. ĐẶNG HOÀI PHƯƠNG

Phản biện 2 : TS. ĐẬU MẠNH HOÀN

Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ chuyên ngành khoa học máy tính họp tại Trường
Đại học Bách khoa Đà Nẵng vào ngày 05 tháng 01 năm 2018


Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu và Truyền thông Trường Đại học Bách khoa
Đại học Đà Nẵng
- Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa
Đại học Đà Nẵng.


1
MỞ ĐẦU
1. Tổng quan về đề tài
Xã hội ngày càng phát triển, Internet trở thành một phần không
thể thiếu đối với từng cá nhân, doanh nghiệp, các tổ chức, trường
học. Internet đã trở thành công cụ, phương thức giúp cho các doanh
nghiệp tiếp cận với khách hàng, cung cấp dịch vụ, quản lý dữ liệu của
tổ chức một cách hiệu quả và nhanh chóng.
Cùng với sự phát triển theo chiều hướng tốt, các cuộc tấn công
và xâm nhập mạng của những kẻ xấu cũng phát triển theo. Không chỉ
trên thế giới mà ở Việt Nam vấn đề “An toàn thông tin” đã và đang
trở thành vấn đề nóng bỏng. Sự đa dạng và phức tạp trong các loại
hình tấn công đã gây ra nhiều khó khăn cho việc ngăn chặn và phòng
chống.
Một hệ thống phòng chống và phát hiện xâm nhập sẽ giúp
người quản trị có thể luôn luôn theo dõi và thu thập nhiều thông tin
đáng giá cho quá trình chống lại các hình thức tấn công và xâm nhập
đó.
Hiện nay, các chương trình bảo mật, phòng chống virus, giám
sát bảo vệ hệ thống đều có giá thành cao và được phát triển ở nước
ngoài. Ngoài ra, các chương trình giám sát hầu hết được tích hợp trên
các thiết bị phần cứng nên việc khai thác chức năng, hoặc người dùng
tự phát triển mở rộng thêm chức năng của các chương trình này nhằm

phục vụ cho công việc quản trị mạng bị hạn chế.
Vì thế, nhu cầu có được một hệ thống hỗ trợ giám sát và bảo
vệ hệ thống mạng trực quan nhằm giúp cho công việc quản trị mạng


2
được tập trung và đạt hiệu quả cao là rất cần thiết. Đó là lý do mà tôi
chọn nghiên cứu và thực hiện đề tài:
“Xây dựng hệ thống giám sát và cảnh báo nguy cơ xâm nhập
mạng tại Trung tâm dữ liệu điện tử tỉnh Quảng Bình”
2. Mục tiêu đề tài
Nghiên cứu chung về hệ thống phát hiện xâm nhập, các đặc
điểm, kiến trúc của một hệ thống phát hiện xâm nhập, đặc biệt là các
kỹ thuật phát hiện xâm nhập đang được áp dụng.
Nghiên cứu về hệ thống phát hiện xâm nhập Snort, cách cài
đặt, cấu hình, triển khai trong hệ thống mạng.
Phân tích các dấu hiệu của các hình thức tấn công, hình thành
nên các luật tương ứng với đặc điểm của các dạng tấn công và xâm
nhập đó.
3. Phương pháp thực hiện
Nghiên cứu về lý thuyết phát hiện xâm nhập thông qua các tài
liệu các bài báo cáo.
Nghiên cứu lý thuyết về Snort thông qua tài liệu từ trang chủ
của Snort, tài liệu hướng dẫn cho người sử dụng từ Sourcefire và các
nguồn tài liệu khác.
Triển khai hệ thống trên máy ảo VMware Workstation, xây
dựng hệ thống mạng đơn giản mô tả một hệ thống mạng nhỏ trong
thực tế. Triển khai các dịch vụ như trong mô hình mạng cỡ nhỏ.
Tìm hiểu về các phương thức xâm nhập, tấn công và khai thác
lỗ hổng, công cụ và cách thức thực hiện.

Triển khai tấn công, xâm nhập, khai thác lỗ hổng. Sau đó đọc
log, phân tích gói tin bắt được, chuyển hóa thành các luật nhằm phát


3
hiện và ngăn chặn.
4. Cấu trúc của luận văn
Ngoài phần mở đầu, kết luận và tài liệu tham khảo trong luận
văn gồm có các chương dưới đây.
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
CHƯƠNG 2: PHÂN TÍCH VÀ CÀI ĐẶT HỆ THỐNG
CHƯƠNG 3: TRIỂN KHAI KẾT QUẢ ĐẠT ĐƯỢC

.


4
NỘI DUNG
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Chương 1 sẽ giới thiệu tổng quan về hệ thống phát hiện xâm
nhập IDS, hệ thống Snort và ngôn ngữ lập trình C#.
1.1. Hệ thống phát hiện xâm nhập IDS
1.1.1. Giới thiệu
Hệ thống phát hiện xâm nhập được xây dựng để bảo vệ các tài
nguyên của hệ thống mạng trước những hacker không mong muốn.
1.1.2. Hệ thống phát hiện xâm nhập.
Intrusion Detection Systems (IDS) có thể là một thiết bị phần
cứng (các thiết bị phát hiện xâm nhập của Cisco (Cisco IDSM-2 hoặc
Cisco IPS 4200 Series Sensors)) hoặc cũng có thể là một ứng dụng
phần mềm giúp giám sát máy tính, hệ thống mạng trước các hành

động đe dọa đến hệ thống hoặc vi phạm chính sách an ninh và báo
cáo lại cho người quản trị hệ thống.
1.1.3. Cấu trúc bên trong của một IDS
Mỗi IDS đều bao gồm các thành phần cơ bản sau:
-

Sensor (là một packet sniffer)

-

Preprocessors

-

Detection Engine

-

Output (Alerting System và Longging System)

Mỗi thành phần này làm việc với nhau để phát hiện các tấn
công cụ thể và tạo ra các output đã được quy định trước.


5
1.1.4. Đặt IDS trong hệ thống mạng

Hình 1: Một số vị trí đặt IDS trong hệ thống mạng
1.2. Hệ thống Snort
1.2.1. Giới thiệu

Snort là một số hệ thống phát hiện xâm nhập hàng đầu bằng
phần mềm. Snort là một sản phẩm IDS Open source của công ty
SourceFire, họat động dựa trên một tập luật linh họat, thông qua phân
tích các protocol, tìm kiếm nội dung và các bộ tiền xử lý (preprocessor) để phát hiện ra hàng ngàn lọai sâu (worm), các kiểu tấn
công, quét cổng và những hành động đáng ngờ khác trên mạng.
1.2.2. Luật trong Snort.
Một luật trong Snort được chia thành hai phần đó là phần
header và options. Phần header bao gồm: rule action, protocol, địa
chỉ ip nguồn, địa chỉ ip đích, subnetmask, port nguồn, port đích. Phần
options bao gồm các thông điệp cảnh báo, thông tin các phần của gói


6
tin sẽ được kiểm tra để xác định xem hành động nào sẽ được áp
dụng.
Rules được hình thành từ 02 thành phần chính là rules header
và rules options.
Ví dụ:

1.3. Ngôn ngữ C#
1.3.1. Giới thiệu:
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó
được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và
Java
C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho
việc tạo một ứng dụng Windows Forms hay WPF (Windows
Presentation Foundation), . . . trở nên rất dễ dàng.
1.3.2. Đặc trưng của ngôn ngữ C#
1.3.2. Các loại ứng dụng C#
- Ứng dụng console

- Ứng dụng Windows Form
- Ứng dụng Web
1.4. Kết chương
Chương này trình bày cơ sở lý thuyết về hệ thống phát hiện
xâm nhập IDS, hệ thống Snort và ngôn ngữ C# để viết chương trình
App-BASE, App-Rules hỗ trợ quản lí, giám sát Snort.


7
CHƯƠNG 2. PHÂN TÍCH VÀ CÀI ĐẶT HỆ THỐNG
Chương 2 trình bày về phương pháp tấn công mạng, cách cài
đặt và cấu hình Snort, cách xây dựng ứng dụng quản lý Snort.
2.1. Phân tích một số phương pháp tấn công
Một cách tổng quát, một cuộc tấn công xâm nhập hệ thống
mạng có thể chia thành năm giai đoạn:
- Thăm dò (Reconnaissance) là giai đoạn tiền tấn công, trong
đó hacker tìm kiếm và tập trung các thông tin về hệ thống cần tấn
công. Kỹ thuật Footprint được sử dụng trong giai đoạn này. Trong
kỹ thuật footprint hacker sẽ cố gắng tìm kiếm nhiều nhất các thông
tin liên quan đến mục tiêu bao gồm các doanh nghiệp, tổ chức và cá
nhân, từ đó hacker có thể xác định được sẽ tấn công và điểm yếu nào
của hệ thống. Thông tin đạt được trong giai đoạn này liên quan đến
tên miền (domain), dãy địa chỉ mạng, địa chỉ email sử dụng trong
domain. Các công cụ thường dùng là whois (SmartWhois), nslookup,
1st email address spider
- Quét mạng (Scanning): Trong giai đoạn này, hacker bắt đầu
tìm kiếm lỗi có thể khai thác trên hệ thống mục tiêu.
- Truy cập hệ thống (Gaining Access) là giai đoạn khai thác lỗi
và truy cập vào hệ thống.
- Duy trì sự có mặt trong hệ thống (Maintaining Access) giai

đoạn này hacker thực hiện các mục đích xâm nhập như là khai thác
dữ liệu, đánh cắp thông tin...
- Xoá dấu vết (Covering Tracks) hacker cố gắng xoá đi các dấu
vết để không bị phát hiện là đã xâm nhập hệ thống.


8
2.1.1. Scanning(Quét mạng)
Scanning hay quét mạng là giai đoạn không thể thiếu trong quá
trình tấn công vào một hệ thống của hacker. Kết quả đạt được trong
giai đoạn này là hacker xác định được những máy nào đang hoạt
động, các dịch vụ (sevices) đang chạy (running) và lắng nghe
(listening), các cổng (port) đang mở, hệ điều hành đang chạy và các
lỗi có thể khai thác trên hệ thống.
2.1.2. Tấn công ARP (ARP attack)
ARP là giao thức giúp giải quyết sự bất đồng bộ giữa địa chỉ
luận lý (IP) và địa chỉ vật lý (MAC). Trong hệ thống mạng, điều kiện
tiên quyết để trao đổi thông tin giữa các máy tính là máy tính gửi
phải biết địa chỉ của máy tính nhận. Nhưng địa chỉ IP (internet
protocol) là địa chỉ luận lý ở lớp 3 của mô hình OSI, nên không giúp
máy gửi xác định máy đích trong mạng LAN để có thể truyền dữ liệu
khi xuống lớp 2, vì vậy mà ở lớp 2 phải cần địa chỉ MAC (Media
Access Control) để phân biệt giữa các máy tính.
2.1.3. Sniffer
Sniffer được hiểu đơn giản là một chương trình cố gắng nghe
ngóng các lưu lượng thông tin trên một hệ thống mạng. Sniffer có thể
được sử dụng như một công cụ để các nhà quản trị mạng theo dõi và
bảo trì hệ thống mạng.
2.1.4. Tấn công từ chối dịch vụ (DoS attack)
DoS attack là cách tấn công từ chối dịch vụ. Kiểu tấn công này

nguy hiểm, với loại tấn công này , máy hacker chỉ cần kết nối
Internet là đã có khả năng thực hiện việc tấn công được máy tính của
nạn nhân. Thực chất của tấn công từ chối dịch vụ là hacker sẽ chiếm


9
dụng một lượng lớn tài nguyên trên server có thể là băng thông, bộ
nhớ, cpu, đĩa cứng, làm cho server không thể nào đáp ứng các yêu
cầu từ các máy client bình thường được. Hệ thống bị tấn công sẽ
chạy chậm, bị treo hoặc có thể nhanh chóng bị ngừng hoạt động.
2.1.5. Tắt kết nối TCP (TCP Kill)
TCP (Transmission Control Protocol) là giao thức truyền thông
tin phổ biến và tin cậy trên mạng vì có biện pháp khắc phục lỗi các
gói tin. TCP hoạt động dựa trên nguyên tắc “bắt tay ba bước”.

Hình 2: Mô hình bắt tay 3 bước
2.1.6. SQL Injection
SQL injection là một kĩ thuật tấn công lợi dụng lỗ hổng trong
việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo
lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các
câu lệnh SQL bất hợp pháp. Công cụ dùng để tấn công là một trình
duyệt web bất kì, chẳng hạn như Internet Explorer, Chrome…


10
2.2. Cài đặt và cấu hình Snort
2.2.1. Sơ đồ hệ thống

Hình 3: Sơ đồ hệ thống
2.2.2. Cài đặt Snort

2.2.3. Cài đặt và cấu hình PHP
2.2.4. Cấu hình MySQL để chạy Snort
2.2.5. Cài đặt và cấu hình Barnyard2
2.2.6. Cài đặt và cấu hình BASE
2.2.7. Kiểm tra cài đặt


11
2.3. Xây dựng ứng dụng quản lí Snort
2.3.1. App-BASE : Quản lí dữ liệu Snort
Việc xây dựng App-BASE bên cạnh Web-BASE giúp cho việc
giám sát, theo dõi Snort được tổng quan, dễ dàng và thuận tiện hơn

cho người giám sát.
Hình 4: Giao diện App-BASE
2.3.2. AppRules : Quản lí Rules Snort


12
Việc cập nhật, thêm, xóa Rules của Snort phải tốn nhiều thao
tác khởi động lại Snort và Barnyard2, do đó AppRules cho phép
thổng hợp các Rules của hệ thống, cập nhật, chỉnh sửa Rules và thực
hiện các thao tác để khởi động lại Snort nhanh chóng.
Giao diện AppRules

2.4. Kết chương
Chương này tập trung phân tích một số phương pháp tấn công
phổ biến hiện nay. Bên cạnh đó, hướng dẫn cấu hình và cài đặt hệ
thống Snort.



13
CHƯƠNG 3. TRIỂN KHAI KẾT QUẢ ĐẠT ĐƯỢC
Trình bày về việc thực hiện cài đặt mô phỏng trực quan các
phương pháp ở chương 1 và chương 2.
Đề tài đã thực hiện được hầu hết các nội dung nghiên cứu đã
đặt ra từ đầu là tìm hiểu nguyên tắc và thực nghiệm các phương pháp
tấn công xâm nhập mạng phổ biến hiện nay để tìm ra các biện pháp
phòng chống hiệu quả. Từ nền tảng là các nguyên tắc tấn công xâm
nhập đã tìm hiểu được chúng tôi tiến hành xây dựng và triển khai hệ
thống phát hiện xâm nhập dựa trên phần mềm mã nguồn mở Snort.
Chúng tôi đã tiến hành khảo nghiệm khả năng phát hiện tấn công
xâm nhập của hệ thống bằng các phương pháp tấn công khác nhau,
các luật sẵn có và viết một số luật mới để cho hệ thống hoạt động
phù hợp với từng kiểu tấn công cụ thể. Phần này sẽ trình bày một số
kết quả khảo nghiệm thu được.
3.1.

Quét cổng (port scan)
Port scan là quá trình thu thập các thông tin về cổng dịch vụ

được mở, phiên bản hệ điều hành, phiên bản các phần mềm trên máy
chủ.
Công cụ : Nmap


14

Hình port scan bằng Zenmap


Hình đáp ứng của hệ thống với Port scan


15
3.2.

Ping of Death
ping -l 1000 192.168.1.100 -t
Attacker gửi các gói tin ICMP có kích thước lớn tới máy chủ

nhằm chiếm đường truyền và ngăn việc cung cấp dịch vụ của máy
chủ. Luật Snort sẽ kiểm tra kích thước của các gói tin ICMP được gửi
tới.
alert icmp any any-> any any (msg: “ICMP ping of
death”; itype:8; dsize>1024; sid:100001; rev:1;)

Hình đáp ứng của hệ thống với Ping of Death
3.3.

DDOS UDP
Công cụ : UDP – Unicorn


16

DDOS UDP bằng UDP – Unicorn


17


Hình đáp ứng của hệ thống với DDOS UDP
3.4.

SYN attack
hping3 -I eth0 -a 192.168.1.200 -S 192.168.1.100 -p 80 --

flood
Hacker gửi tràn ngập đến hệ thống đích các gói tin có cờ
SYN nhưng đây là dữ liệu hợp lệ nên hệ thống đích đáp ứng lại bằng
SYN/ACK. Các luật mặc định và các preprocessor có sẵn không phát
hiện được tấn công. Ta cần viết luật cho Snort để nhận biết nếu trong
một đơn vị thời gian mà số lượng các gói tin có cờ SYN đến hệ thống
đích rất lớn thì phải cảnh báo là có SYN attack. Ví dụ :
alert tcp any any -> any any (msg: “SYN attack”; flags:S;
threshold: type threshold, track by_dst, count 1000, seconds 60;
sid:100002; rev:1;)


18

3.5.

SQL Injection
Ta biết là các gói tin mà hacker gửi từ một client đến sever

trong SQL Injection khi được phân tích bằng các công cụ phân tích
protocol sẽ có chứ một số từ khoá như SELECT, UNION, INSERT...
ta có thể viết luật cho snort để phát hiện ra kiểu tấn công này trong
một số cách như ví dụ sau :
alert tcp any any -> any any (msg: “SQL Injection detect”;

content:”UNION”; flow: to_server; sid:100005; rev:1;)

alert tcp any any -> any any (msg: “SQL Injection detect”;
content:”SELECT”; flow: to_server; sid:100005; rev:1;)
Từ một client nếu ta truy cập vào server mà trong gói tin có
chưa các từ khóa như: union, select thì các rules trên của Snort sẽ bắt
được.


19

Hình 12: Đáp ứng của IDS với một kiểu SQL Injection
3.6.

Kết chương
Chương này trình bày các kiểu tấn công khảo nghiệm được

và kết quả hoạt động của hệ thống.


20
KẾT LUẬN
1. Kết quả đạt được
Trong thời gian tìm hiểu, nghiên cứu cơ sở lý thuyết và triển
khai ứng dụng công nghệ, đồ án đã đạt được những kết quả sau:
Về mặt lý thuyết, việc làm đồ án đã cũng cố thêm kiến thức
về an ninh mạng, các phương thức tấn công và phòng thủ, ngăn chặn
tấn công hệ thống, về ngôn ngữ C#. Trình bày được phần lớn các tấn
công phổ biến hiện nay trên mạng. Cung cấp những kiến thức về bảo
mật, đây là nền tảng giúp cho người quản trị nâng cao hiệu quả trong

bảo mật mạng.
Về mặt thực tiễn ứng dụng, việc làm đồ án đã thực tế tiến
hành các hình thức tấn công hệ thống, phát hiện và ngăn chặn các
loại tấn công. Hiểu, sử dụng được một số công cụ tấn công và phòng
thủ, cài đặt và triển khai IDS nói chung và Snort IDS nói riêng, có
thể áp dụng trong môi trường thực tế.
Tuy nhiên, đồ án còn tồn tại các vấn đề như sau :
- Quy mô đồ án vẫn còn nhỏ, chỉ mô phỏng được một phần
nhỏ của hệ thống.
- Các kiểu tấn công xâm nhập mạng trình bày trong đề tài
được tiến hành thử nghiệm trên mạng nội bộ hoặc môi trường mạng
giả lập nên có thể chưa bao quát được hết các vấn đề thực tế trên
mạng Internet.
- Chưa thể tiếp cận được với các hệ thống IDS đang vận hành
trong thực tế để có những so sánh, đánh giá về tính năng, hiệu quả…
2. Hướng phát triển
Một số hướng nguyên cứu và phát triển của đề tài như sau :


21
-

Tìm hiểu, bổ sung, đánh giá hiệu năng của hệ thống trên
nhiều môi trường khác nhau.

-

Xây dựng, phát triển giao diện và cách sử dụng của hệ
thống thêm thân thiện, dễ dàng hơn.
Nghiên cứu và ứng dụng công nghệ tri thức để viết plugin


tích hợp vào hệ thống IDS nhằm mục đích tăng cường khả năng nhận
dạng cũng như linh hoạt trong quá trình nhận dạng tấn công xâm
nhập của hệ thống.



×