Tải bản đầy đủ (.doc) (81 trang)

Nghiên cứu, xây dựng một số giải pháp và phần mềm cảnh báo, phát hiện xâm nhập mạng, chống truy cập trái phé

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 (1.7 MB, 81 trang )

i

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TẠ TUẤN DŨNG

NGHIÊN CỨU, XÂY DỰNG MỘT SỐ GIẢI PHÁP
VÀ PHẦN MỀM CẢNH BÁO, PHÁT HIỆN XÂM NHẬP
MẠNG, CHỐNG TRUY CẬP TRÁI PHÉP
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01

LUẬN VĂN THẠC SỸ

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. HỒ VĂN CANH

Thái Nguyên - năm 2013


ii

MỤC LỤC
LỜI MỞ ĐẦU........................................................................................................................1
CHƯƠNG I: NGHIÊN CỨU VỀ CÁC HỆ THỐNG GIÁM SÁT, PHÁT HIỆN XÂM
NHẬP MẠNG MÁY TÍNH...................................................................................................3
1.1 Nghiên cứu nguyên tắc cơ bản và một số hình thái xâm nhập trái phép trên mạng ..........3
1.1.1 Các hình thái xâm nhập mạng trái phép...........................................................................3
1.1.2 Các biện pháp hoạt động xâm nhập máy tính...................................................................6
1.1.3 Thủ đoạn của hacker lấy mật khẩu đăng nhập.................................................................7
1.2 Nghiên cứu khái niệm về phần mềm IDS giám sát, phát hiện xâm nhập...............................7


1.2.1 Tổng quan về phần mềm IDS...........................................................................................7
1.2.2 Thành phần của một IDS chuẩn bao gồm:.......................................................................9
1.2.3 Những tính năng cơ bản nhất của hệ thống phát hiện xâm nhập..................................12
1.2.4 Thành phần chức năng cơ bản của một hệ thống giám sát an ninh mạng....................14
1.2.5 Các công cụ hỗ trợ bổ sung cho IDS...............................................................................23

CHƯƠNG II: TÌM HIỂU VỀ PHẦN MỀM SNORT.........................................................27
2.1 Giới thiệu về Snort...............................................................................................................27
2.2 Kiến trúc của Snort...............................................................................................................27
2.2.1 Module giải mã gói tin...................................................................................................28
2.2.2 Module tiền xử lý............................................................................................................29
2.2.3 Module phát hiện...........................................................................................................30
2.2.4 Module log và cảnh báo..................................................................................................31
2.2.5 Module kết xuất thông tin.............................................................................................31
2.3 Cấu trúc luật của Snort.........................................................................................................31
2.3.1 Khái niệm cơ sở..............................................................................................................31
2.3.2 Phần header của luật.....................................................................................................36
2.3.3 Các tuỳ chọn luật...........................................................................................................39


iii

2.3.4 Preprocessors................................................................................................................50
2.3.5 Các module Output........................................................................................................54

CHƯƠNG III: ỨNG DỤNG TRIỂN KHAI GIẢI PHÁP IDS VỚI PHẦN MỀM SNORT
57
3.1 Mục đích và yêu cầu.............................................................................................................57
3.2 Xây dựng cấu trúc của hệ phần mềm cảnh báo, phát hiện xâm nhập mạng máy tính.........57
3.3 Cài đặt đầu dò Snort.............................................................................................................60

3.4 Chạy chương trình Snort......................................................................................................61
3.4.1 Sniffer Mode..................................................................................................................61
3.4.2 Mode Packet Logger......................................................................................................61
3.4.3 Mode Network Inturusion Detection.............................................................................63
3.4.4 Hỗn hợp.........................................................................................................................65
3.5 Hình ảnh cài đặt chương trình và một số kết quả................................................................67
3.5.1 Hình ảnh cài đặt chương trình.......................................................................................67
3.5.2 Kết quả thực hiện một phiên giám sát an ninh..............................................................70
3.5.3 Kết quả kiểm tra khả năng phát hiện dấu hiệu xâm nhập của phần mềm.....................72

TÀI LIỆU THAM KHẢO....................................................................................................74


iv

LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn chân thành tới các thầy, cô giáo trường
Đại học Công Nghệ Thông Tin và Truyền Thông – Đại Học Thái Nguyên
cùng các thầy cô giáo thuộc Viện Công nghệ thông tin – Đại học Quốc gia Hà
Nội đã nhiệt tình giảng dạy và truyền đạt kiến thức cho tôi trong thời gian học
tập.
Tôi xin gửi lời cảm ơn sâu sắc tới thầy Hồ Văn Canh, người đã định
hướng, hướng dẫn và hỗ trợ tôi rất nhiều để hoàn thành luận văn này.
Tôi xin gửi lời cảm ơn tới các anh chị đồng nghiệp và cảm ơn bạn bè
cùng khóa, cùng trường đã nhiệt tình hỗ trợ trong thời gian tôi làm luận văn.
Mặc dù đã rất cố gắng hoàn thành luận văn này, xong luận văn sẽ khó
tránh khỏi những thiếu sót. Tôi rất mong nhận được sự nhận xét, góp ý, tận
tình chỉ bảo từ các thầy, cô.
Một lần nữa, tôi xin chân thành cảm ơn!
TÁC GIẢ LUẬN VĂN


Tạ Tuấn Dũng


v

LỜI CAM ĐOAN
Tôi xin cam đoan bản Luận văn là công trình nghiên cứu khoa học độc
lập của tôi. Luận văn này không sao chép toàn bộ các tài liệu, công trình
nghiên cứu của người khác. Tất cả các đoạn trích dẫn nằm trong các tài liệu,
công trình nghiên cứu của người khác đều được ghi rõ nguồn và chỉ rõ trong
tài liệu tham khảo.
Tôi xin cam đoan những điều trên là đúng sự thật, nếu sai, tôi xin chịu hoàn
toàn trách nhiệm.
TÁC GIẢ LUẬN VĂN

Tạ Tuấn Dũng


vi

BẢNG KÝ HIỆU VIẾT TẮT
KÝ HIỆU

DẠNG ĐẦY ĐỦ

IDS

Intrusion Detection Systems


IPS

Intrusion Prevention Systems

DoS

Denial of Services

LAN

Local Area Network

GUI

Graphical User Interface

NIDS

Mode Network Inturusion Detection

CSDL

Cơ sở dữ liệu

SMB

Server Message Block

OS


Operating System

TTL

Time To Live

BASE

Basic Analysis and Security Engine


vii


1

LỜI MỞ ĐẦU
Song song với sự phát triển ứng dụng mạng máy tính trong hầu hết các
lĩnh vực của đời sống xã hội và an ninh quốc phòng là nguy cơ bị lộ lọt nhiều
thông tin quan trọng ra bên ngoài. Hiện nay chúng ta đã có nhiều phương
pháp bảo vệ mạng có hiệu quả như ứng dụng mật mã học, hàm băm an toàn
và tường lửa (Firewall)... Mỗi phương pháp đó có những ưu và nhược điểm
nhất định. Do đó người ta đã sử dụng nhiều biện pháp đồng thời để bảo vệ
thông tin cho mạng dùng riêng khi kết nối với mạng máy tính toàn cầu.Tuy
nhiên, một vấn đề đặt ra trong thực tế là: Các biện pháp hiện có đã đủ đảm
bảo an toàn thông tin cho mạng dùng riêng của mình chưa? Tại sao, nhiều
thông tin quan trọng vẫn thường bị lộ lọt ra bên ngoài? Do đó, người ta luôn
nghiên cứu và bổ sung các biện pháp khác nhằm tăng cường an ninh, an toàn
cho mạng dùng riêng của mình khi kết nối với mạng Internet. Một trong
những biện pháp được quan tâm nghiên cứu và ứng dụng rộng rãi trên toàn

thế giới, đó là hệ thống phần mềm giám sát, cảnh báo đối với các tấn công,
xâm nhập trái phép vào hệ thống mạng. Trong những năm gần đây, các vụ tấn
công ngày càng tăng lên về số lượng và mức độ nghiêm trọng thì các hệ thống
phát hiện xâm nhập là sự bổ sung cần thiết và kịp thời cho hệ thống thiết bị an
ninh mạng đã có.
Hiện nay, trên thế giới có rất nhiều sản phẩm giám sát an ninh mạng
(IDS) ở mức công nghiệp (Enterprise-level) – hệ IPS (Intrusion Prevention
Systems) có khả năng tích hợp nhiều chức năng: Phát hiện xâm nhập
(detection), giám sát (monitoring) và ngăn chặn (blocking). Nhiều hệ thống
phần mềm được tích hợp vào các thiết bị máy tính chuyên dụng có cấu trúc
rack-mount để cắm trực tiếp vào các tủ mạng và chạy theo chế độ thời gian
thực. Một số hệ thống còn tích hợp luôn với firewall. Đa phần các sản phẩm
loại này là của Mỹ có chất lượng và tính năng đảm bảo an toàn cao. Tuy


2

nhiên, giá của các hệ thống thiết bị này rất cao thông thường từ 25.000 USD
đến 35.000 USD. Vì vậy, tại Việt Nam, chỉ có một số cơ quan, đơn vị lớn về
ứng dụng công nghệ thông tin mua các sản phẩm bảo vệ an ninh này để sử
dụng bảo vệ mạng máy tính của mình.[4]
Xuất phát từ nhu cầu trên, để xây dựng và triển khai được một hệ phần
mềm giám sát IDS đủ mạnh, nhưng lại tiết kiệm được chi phí, phù hợp với
các tổ chức, đơn vị có quy mô vừa và nhỏ, tôi đã nghiên cứu và lựa chọn giải
pháp phần mềm nguồn mở cho hệ thống giám sát an ninh mạng IDS. Sau một
thời gian nghiên cứu, triển khai với sự cộng tác, giúp đỡ của bạn bè, cơ quan
đồng nghiệp, và đặc biệt là sự hướng dẫn của thầy giáo – Tiến sĩ Hồ Văn
Canh, tôi đã triển khai thành công hệ phần mềm giám sát, phát hiện xâm nhập
mạng, chống truy cập trái phép, được tích hợp vào hệ thống mạng riêng tại
Trung tâm Công nghệ thông tin và Truyền thông Thái Nguyên. Kết quả là khả

quan, những hoạt động thăm dò mạng, virus (các gói tin qua cổng 135), khai
thác proxy (8080), khai thác Cơ sở dữ liệu, ping flood đều được phát hiện.
Báo cáo luận văn được trình bày trong 3 chương:
Chương 1: Nghiên cứu về các hệ thống giám sát, phát hiện xâm nhập
mạng máy tính.
Chương 2: Tìm hiểu về phần mềm Snort.
Chương 3: Ứng dụng triển khai giải pháp IDS với phần mềm Snort.


3

CHƯƠNG I: NGHIÊN CỨU VỀ CÁC HỆ THỐNG GIÁM SÁT,
PHÁT HIỆN XÂM NHẬP MẠNG MÁY TÍNH
1.1 Nghiên cứu nguyên tắc cơ bản và một số hình thái xâm nhập
trái phép trên mạng
Hầu hết các cuộc tấn công xâm nhập mạng máy tính chỉ với mục tiêu
phá hủy hệ thống bảo mật của hệ thống theo những phương thức rất cụ thể.
Ví dụ, những cuộc tấn công nhất định có thể cho phép kẻ tấn công đọc các tệp
nhưng không cho phép bất cứ các thay đổi nào đối với các thành phần của hệ
thống. Mặc dù cuộc tấn công xâm nhập có nhiều dạng và nhiều khả năng khác
nhau, nhưng chung quy lại chúng thường gây nên các thương tổn đến tính bảo
mật hệ thống: tính khả dụng, tính tin cậy, tính toàn vẹn và tính điều khiển.
Tính tin cậy: Một cuộc tấn công gây ra một vi phạm về tính toàn vẹn nếu
nó thay đổi được trạng thái hệ thống hoặc bất cứ dữ liệu nào thường trú trên
hệ thống.
Tính khả dụng: Một cuộc tấn công gây ra vi phạm về tính khả dụng khi nó
có khả năng ngăn những người sử dụng hợp pháp truy cập vào tài nguyên hệ
thống trong những thời điểm người sử dụng cần truy cập.
Tính điều khiển: Một cuộc tấn công gây ra vi phạm điều khiển hệ thống nếu
nó tạo khả năng cho kẻ tấn công những đặc quyền về chính sách điều khiển

truy cập hệ thống. Những đặc quyền này sẽ dẫn đến những vi phạm về tính
khả dụng, tính tin cậy và tính toàn vẹn của thông tin.
1.1.1 Các hình thái xâm nhập mạng trái phép
1.1.1.1 Quét, thăm dò hệ thống
Thông qua hoạt động quét, thăm dò hệ thống, kẻ tấn công có thể biết
được nhiều thông tin về hệ thống như:
- Cấu hình mạng mục tiêu
- Loại lưu lượng được phép đi qua firewall


4

- Các máy có mặt trên mạng
- Hệ điều hành đang sử dụng trên từng máy đang chạy
- Phần mền máy chủ dịch vụ trên các máy đang chạy
- Số hiệu phiên bản phần mềm….
Ngoài ra kẻ tấn công có thể biết thêm nhiều thông tin khác nếu máy
đang chạy có nhiều sơ hở hoặc lỗ hổng bảo mật. Các dạng thông tin nhạy cảm
như tên account, account default, mật khẩu yếu, nguồn thông tin chia sẻ…
những thông tin này có lợi cho việc khai thác, tấn công mạng của kẻ xâm
nhập. Về mặt pháp lý thì hành động quét, thăm dò mạng là một hành động
hợp pháp. Trên mạng Internet có nhiều người quét, thăm dò chỉ vì mục đích
khai thác tài nguyên miễn phí từ Internet. Ngoài ra quét, thăm dò cũng còn có
mục đích có lợi là cho phép người quản trị an ninh mạng phân tích các điểm
yếu về bảo mật để khắc phục.
Mặt trái của hoạt động này đó là kẻ tấn công lợi dụng những kết quả
phân tích thu được để thực hiện xâm nhập thực sự vào hệ thống.[4]
1.1.1.2 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ chia làm hai loại chính: khai thác lỗ hổng và
tấn công ngập lụt (flooding). Tấn công từ chối dịch vụ là cuộc tấn công khai

thác lỗ hổng phần mềm hệ thống để gây ra lỗi xử lý hoặc làm cạn kiệt tài
nguyên trên hệ thống đích. Một thí dụ điển hình của kiểu tấn công này là “
ping of death”. Kẻ tấn công gửi gói tin lớn bằng lệnh “ping” đến máy đích
windows. Hệ thống windows không thể xử lý kịp gói tin bất thường này và
kết quả là máy đích bị treo hoặc bị tê liệt trước kiểu tấn công này. Với các
kiểu tấn công làm cạn kiệt tài nguyên, bao gồm: Thời gian tính toán của CPU,
bộ nhớ trong, dung lượng đĩa còn trống, dung lượng bộ đệm còn trống, băng
thông mạng.


5

Tấn công DoS flooding: Đây là cuộc tấn công mà kẻ tấn công gửi đến
hệ thống đích liên tiếp nhiều gói tin làm cho hệ thống đích không kịp xử lý
chúng. Hệ quả là kẻ tấn công có thể độc chiếm kết nối mạng tới mục tiêu và
từ chối bất cứ người dùng nào sử dụng các tài nguyên này.
Tấn công từ chối dịch vụ kiểu phân tán là loại tấn công mà kẻ tấn công
dùng nhiều máy tính đồng thời trong cùng một thời điểm gửi gói tin liên tiếp
đến máy đích. Một kẻ tấn công không thể làm ngưng dịch vụ một trang web
thương mại điện tử cỡ lớn bằng tấn công ngập lụt nó bởi các gói tin gửi đi từ
một máy tính. Tuy nhiên, nếu chiếm quyền điều khiển được 20 ngàn máy
cùng đồng thời tấn công thì chắc chắn sẽ thành công.
1.1.1.3 Các cuộc tấn công xâm nhập hệ thống
Các cuộc tấn công xâm nhập là các tấn công nhằm đạt được quyền thay
đổi dữ liệu, tài nguyên và các đặc quyền hệ thống khác mà đáng ra không
được phép. Thông thường kiểu tấn công này được thực hiện bằng cách khai
thác các lỗ hổng phần mềm hoặc các lỗ hổng trong dịch vụ hệ thống. Nếu
người quản trị hệ thống chưa kịp vá lỗi phần mềm hoặc dịch vụ thì hệ thống
đó rất dễ bị tấn công.
Một cách phân loại khác, đó là phân loại các cuộc tấn công theo hướng:

Tấn công từ bên ngoài vào và tấn công từ trong nội bộ. Kẻ tấn công từ ngoài
mạng là người tấn công từ phía bên ngoài, ví dụ sử dụng spam để gửi thư điện
tử. Họ có thể vượt qua bức tường lửa để tấn công vào các máy tính của mạng
bên trong. Những kẻ tấn công từ bên ngoài thông thường là từ mạng Internet,
trực tiếp thâm nhập bằng đường vật lý hoặc thông qua các bạn hàng trên
mạng có liên hệ đến mạng nội bộ. Kẻ xâm nhập bên trong mạng là những
người sử dụng mạng chính thức bên trong. Những người này có thể là những
user tạo cho người khác mất quyền truy nhập mạng hoặc chiếm quyền truy
nhập hoặc chiếm quyền sử dụng mạng của người khác. Theo số liệu của cơ


6

quan an ninh mạng EU thì 80% các vụ vi phạm về an ninh mạng là từ những
kẻ xâm nhập từ bên trong mạng.[2]
1.1.2 Các biện pháp hoạt động xâm nhập máy tính
Xâm nhập vật lý: là những kẻ xâm nhập bằng phương pháp sử dụng bàn
phím máy tính của nạn nhân để đăng nhập mạng, thay hoặc lấy cắp các thiết
bị đĩa từ lưu dữ liệu trên máy tính.
Xâm nhập thông qua lỗ hổng của phần mềm: Lỗ hổng phần mềm
được phân loại như sau:
Lỗ hổng do tràn bộ đệm:
Phần lớn các lỗ hổng về an ninh là do tràn bộ đệm. Lỗi này đều do hầu
hết các hệ điều hành, các phần mềm quản trị cơ sở dữ liệu, thậm chí có trong
một vài phiên bản của hệ điều hành UNIX được đánh giá là hệ điều hành
công nghiệp an toàn nhất hiện nay. Một trong những thí dụ tràn bộ đệm được
coi là điển hình nhất mà không ai nghĩ đến đó là lỗi tràn bộ đệm sinh ra do tên
user. Thông thường tên user trên mạng cũng chỉ được thiết lập tối đa 256 ký
tự hoặc số là cùng. Ít ai nghĩ ra được điều gì sẽ xẩy ra nếu tên đó dài hơn 256
ký tự có kèm theo mã code để thực hiện trên máy chủ. Thông qua thủ đoạn

này hacker có thể xâm nhập hệ thống.[3]
Lợi dụng chỗ yếu để tấn công tệp mật khẩu:
Từ Service Pack 3 trở đi, NT sử dụng chương trình syskey cho phép bảo
vệ tệp SAM và tệp sao lưu của SAM là sam_. Bằng kỹ thuật mã hóa thêm một
lần nữa với khóa 128 bit. Khóa này có thể ko cần lưu trên máy chủ mà có thể
lưu trên đĩa mềm. Việc bảo vệ theo cách này có thể được thực thi trên máy
chủ và trên các máy trạm. Tuy vậy nếu để mất đĩa khóa thì không thể nào
đăng nhập vào hệ thống được nữa.


7

Một yếu tố khác đã tạo điều kiện để cho kẻ tấn công xem được toàn bộ
danh sách của người sử dụng, nhóm người sử dụng, log hệ thống cũng như
một số công cụ quản trị hệ thống từ xa dựa trên giao thức SMB (Server
Message Block) đó là người sử dụng vô danh (anonymous). Mục đích tồn tại
của user này trên hệ thống nhằm phục vụ cho các dịch vụ Null Session không
cần đòi hỏi xác thực. NT cho phép người sử dụng vô danh truy cập vào nguồn
đặc biệt gọi là IPC$ (inte-proscess communication).
1.1.3 Thủ đoạn của hacker lấy mật khẩu đăng nhập
Chúng ta biết rằng phần lớn các máy sử dụng trong mạng diện rộng cũng
như trong mạng LAN đều sử dụng hệ điều hành Windows XP/VISTA.
Hacker chỉ cần đột nhập bất kỳ một máy trạm nào đó trong mạng lấy tệp mật
khẩu dạng tên_user.pwl nằm trong thư mục c:\windows hoặc tệp SAM trong
thư mục \winnt\repair và sử dụng một loạt các chương trình mở mật khẩu
khác nhau để lấy mật khẩu user và sử dụng mật khẩu đó để đăng nhập lại
mạng máy tính.[3]
1.2 Nghiên cứu khái niệm về phần mềm IDS giám sát, phát hiện
xâm nhập
1.2.1 Tổng quan về phần mềm IDS

Các hệ thống phát hiện xâm nhập (IDS) là những hệ thống phần mềm
hoặc phần cứng thực hiện tự động hóa quá trình giám sát các sự kiện xảy ra
trong hệ thống mạng máy tính; phân tích các sự kiện đó để nhận biết những
vấn đề liên quan đến an ninh mạng. Trong những năm gần đây, khi các vụ tấn
công ngày càng tăng lên về số lượng và mức độ nghiêm trọng thì các hệ thống
phát hiện xâm nhập là sự bổ sung cần thiết và kịp thời cho hệ thống thiết bị an
ninh mạng đã có.
Phát hiện xâm nhập là một quá trình giám sát các sự kiện diễn ra ở một
hệ thống máy tính hoặc một mạng máy tính và phân tích chúng để tìm ra các


8

xâm nhập làm tổn hại đến độ tin cậy, tính toàn vẹn và khả năng hoạt động của
hệ thống hoặc để vượt qua cơ chế kiểm soát an ninh của hệ thống máy tính.
Những kẻ tấn công thường xâm nhập mạng từ bên ngoài Internet hoặc mạng
công cộng hoặc chính là những người sử dụng trong chính mạng đó đã sử
dụng trái phép quyền sử dụng được cấp cho họ. Các hệ thống phát hiện xâm
nhập là các phần mềm hoặc các sản phẩm phần cứng thực hiện việc tự động
giám sát và phân tích quá trình này.
Việc phát hiện xâm nhập cho phép các cơ quan bảo vệ hệ thống mạng
máy tính khỏi các mối đe dọa thường xuyên khi mạng máy tính đang vận
hành nhằm bảo vệ an toàn cho các hệ thống thông tin và dữ liệu. Với ý nghĩa
đó, vấn đề đặt ra cho công tác đảm bảo an ninh mạng máy tính không phải là
có nên hay không nên sử dụng IDS mà là sử dụng đặc điểm và tính năng nào
của IDS cho phù hợp với yêu cầu của công tác bảo vệ an ninh mạng. Sau đây
là những tính năng cơ bản nhất của một hệ thống phát hiện xâm nhập.
Hình sau đây giới thiệu một mô hình tổng quát của hệ thống giám sát an
ninh mạng:



9

Hình 1.1: Mô hình tổng quan một hệ thống giám sát an ninh mạng IDS [7]

1.2.2 Thành phần của một IDS chuẩn bao gồm:
- Giải mã gói tin (Packet Decoder)
- Xử lý bộ (Preprocessors)
- Phát hiện phạm vi (Detection Engine)
- Ghi nhật ký và cảnh báo (Logging and Alerting System)
- Các modul xử lý đầu ra (Output Modules)


10

Hình 1.2: Các thành phần cơ bản của một hệ IDS [9]

Giải mã gói tin
Gói tin được tiếp nhận từ card mạng và được bộ chương trình thư viện
libcap tiếp nhận để giải mã. Hệ IDS giải mã gói tin trên tầng Data-link. Hệ
thống IDS có khả năng nhận biết các giao thức truyền thống như IP, TCP,
UDP. Ngoài ra nó còn có khả năng nhận biết các giao thức khác như Ethernet,
802.11, Token Ring.
Hàm PocessPacket() trong bộ chương trình decode có nhiệm vụ giải mã
khung dữ liệu Ethernet. Hàm DecodeIP thực hiện chức năng giải mã gói IP.
Trong quá trình giải mã, nếu các gói tin bị phân mảnh thì khi xử lý phải thêm
chức năng hợp gói tin (defragmentation). Chức năng này được thực hiện bởi
hàm frag2preprocessor.
Một số hệ thống IDS chuyên nghiệp còn có tính năng statefull – tính
năng kiểm soát toàn diện trạng thái. Với tính năng này, IDS có khă năng xử lý

đến 2000 dòng và 64.000 kết nối cùng một lúc. Hệ IDS Snort sử dụng hàm
stream4Preprocessor đảm bảo tính năng statefull cho hệ thống. Ngoài ra, tính
năng statefull còn cho phép hệ thống IDS khả năng xác định được hệ điều
hành của máy xâm nhập và các gói tin vượt ra khỏi phạm vi kiểm soát thông


11

thường (out of state). Chương trình quét thăm dò cổng mạng NMAP cũng có
khả năng tương tự.
Giống như các phần mềm bắt các gói tin khác, hệ thống IDS có khả năng
thu thập mọi thông tin trong quá trình “bắt tay ba lần” của một kết nối TCP và
lưu chúng vào bảng trạng thái kết nối của máy chủ và máy tấn công. Những
thông tin đó là: địa chỉ IP, địa chỉ MAC, các cờ trạng thái kết nối như SYN,
ACK và FIN. Hệ thống IDS còn thông báo kịp thời những tín hiệu sai lệch
trong quá trình bắt tay. Ví dụ hệ IDS Snort có khả năng phát hiên kỹ thuật “
Stealth FIN scan” của chương trình quét cổng NMAP. Kỹ thuật này được áp
dụng để phát hiện những cổng đóng của máy chủ (closed port).
Luật giám sát an ninh và bộ phần mềm phát hiện xâm nhập
Luật giám sát an ninh thông thường được tạo dưới dạng text để tiện cho
việc sửa đổi, cập nhập bổ sung và được lưu trong một thư mục riêng, các tệp
luật được phân theo nhóm. Ví dụ tệp ftp. rules chuyên lưu các dấu hiệu xâm
nhập dịch vụ FTP, http.rules chuyên lưu các dấu hiệu tấn công đối với dịnh vụ
web. Hệ thống giám sát an ninh sẽ so sánh nội dung các gói tin với các dấu
hiệu đã biết trong các dòng của tệp luật và làm kết xuất các phản ứng của hệ
thống một khi có dấu hiệu trùng khớp.
Hệ giám sát an ninh mạng IDS sử dụng danh sách kết nối 3 chiều (3D)
và thuật toán so sánh nội dung Boyer-Moore.
Luật giám sát an ninh mạng được phân chia thành 4 loại tương ứng với 4
loại giao thức:

- TCP: giao thức TCP cho các dịch vụ SMTP, HTTP, FTP
- UDP: giao thức UDP cho các dịch vụ DNS lookups
- ICMP: giao thức ICMP cho các dịch vụ ping, traceroute
- IP: giao thức IP cho các dịch vụ IPSEC, IGMP….


12

Phát hiện vi phạm: Là cấu thành quan trọng nhất của một hệ IDS. Nếu
có sự xuất hiện của hành động xâm nhập trong gói tin thì bộ phát hiện sẽ được
khởi sinh để so sánh với bảng các luật đã cho sẵn. Nếu có gói tin phù hợp với
luật trong khi so sánh thì sẽ có phản ứng từ hệ thống, kể cả chặn gói tin đó lại.
Thông thường sự phản ứng là ghi lại nhật ký hoặc tạo ra cảnh báo.
Bộ phát hiện chiếm khá nhiều thời gian của một hệ IDS, do vậy hiệu quả
của sự phát hiện phụ thuộc nhiều đến năng lực phần cứng của máy tính và số
lượng luật nhiều hay ít. Ngoài ra nếu IDS hoạt động trên môi trường mạng có
băng thông lớn thì có thể xảy ra những trường hợp bỏ qua không bắt kịp gói
tin, do vậy đã không thể ngăn chặn kịp thời gói tin có dấu hiệu xâm nhập hoặc
không thể có những phản ứng kịp thời khác khi có hiện tượng xâm nhập. Dựa
vào những phân tích trên, ta thấy bộ phát hiện xâm nhập phụ thuộc vào những
yếu tố cơ bản sau:
- Số lượng các luật cần phát hiện
- Năng lực của máy tính chạy IDS
- Tốc độ của máy tính chạy IDS
- Khả năng tải trên mạng
Chính vì vậy khi thiết kế một hệ thống IDS chạy trên thực tế phải đảm
bảo bốn yếu tố cơ bản trên để hệ thống hoạt động phù hợp với năng lực của
mạng. [9]
1.2.3 Những tính năng cơ bản nhất của hệ thống phát hiện xâm nhập
Một hệ thống giám sát, phát hiện xâm nhập trái phép phải có đầy đủ các

tính năng cơ bản sau:
- Phòng ngừa các hoạt động bất thường bằng việc gia tăng khả năng phát
hiện các nguy cơ và xử phạt kẻ tấn công hoặc lạm dụng quyền sử dụng hệ
thống vượt qua phạm vi cho phép.


13

- Phát hiện các cuộc tấn công hoặc những vi phạm chế độ an ninh do các
biện pháp khác không ngăn chặn được. Kẻ tấn công thường sử dụng những kỹ
thuật được phổ biến rộng rãi trên mạng Internet để xâm nhập mạng, đặc biệt
là đối với các mạng nối trực tuyến với mạng công cộng. Điều này thường hay
xảy ra khi trong mạng máy tính có các thiết bị mạng, thiết bị máy tính chưa
khắc phục các lỗ hổng an toàn, chưa kịp cài đặt các bản vá phần mềm cần
thiết (service pack) hoặc trong môi trường mạng có quá nhiều chủng loại phần
mềm và phần cứng mà bản thân người quản trị an ninh không kiểm soát nổi.
Một trong những lý do quan trọng khác tạo điều kiện cho kẻ tấn công là lỗi
cấu hình và sử dụng hệ thống của cả người quản trị mạng cũng như người sử
dụng mạng.
- Phát hiện và xử lý các khởi đầu của các cuộc tấn công, thông thường là
các hoạt động thăm dò mạng (doorknob ratting). Khi đối phương tấn công
một hệ thống mạng, chúng thường sử dụng bước thăm dò cấu trúc mạng, các
dịch vụ cho phép sử dụng trên mạng và các lỗ hổng an ninh nếu có. Trên cơ
sở phân tích những kết quả thu nhận được qua bước thăm dò, kẻ tấn công có
thể tìm kiếm khe hở xâm nhập mạng một cách tối ưu nhất. Nếu không áp
dụng IDS thì khả năng phát hiện các cuộc thăm dò là rất ít và kẻ tấn công tự
do phân tích toàn bộ hệ thống mạng nhằm phát hiện chỗ yếu để làm cơ sở cho
các bước tiếp theo của cuộc tấn công.
Khi được bổ sung thêm IDS để giám sát toàn bộ hoạt động, IDS sẽ quan
sát việc quét thăm dò mạng, xác định những dấu hiệu đáng nghi vấn và cảnh

báo cho người quản trị an ninh mạng biết để có những hành động đối phó
thích hợp. Chỉ riêng việc đối phó kịp thời đối với những hoạt động quét,
thăm dò mạng cũng đã góp phần làm giảm nguy cơ khá lớn đối với
những hoạt động xâm nhập mạng.


14

- Ghi nhận những nguy cơ đe dọa an ninh mạng. Hệ thống giám sát an
ninh mạng thẩm tra, ghi nhận và mô hình hóa các nguy cơ từ bên trong và
nguy cơ từ bên ngoài mạng máy tính, hỗ trợ cho các cơ quan ra quyết định về
chính sách và trang thiết bị đảm bảo an ninh an toàn mạng máy tính. Những
thông tin về nguồn gốc và tính chất của cuộc tấn công sẽ giúp chúng ta đưa ra
những quyết định đúng trong định hướng về chiến lược đảm bảo an ninh.
- Thông qua những thông tin phát hiện được để đánh giá công tác quản
trị an ninh mạng và tính hiệu quả của thiết kế các hệ thống đảm bảo an ninh
đang được thực thi. Trên cơ sở đó, giúp bộ phận an ninh mạng khắc phục
được những yếu tố trong hệ thống mạng đang vận hành.
- Cung cấp kịp thời các thông tin hữu ích về các vụ xâm nhập đang xảy
ra nhằm nâng cao nhận thức về công tác đảm bảo an ninh mạng cũng như
tăng cường áp dụng các biện pháp nhằm khắc phục những tác nhân dẫn đến
các cuộc tấn công.[6]
1.2.4 Thành phần chức năng cơ bản của một hệ thống giám sát an
ninh mạng
Trên thị trường hiện nay có khá nhiều IDS khác nhau. Mỗi một IDS đặc
trưng bởi phương pháp phân tích và giám sát khác nhau. Mỗi một phương
pháp có những ưu điểm và nhược điểm riêng. Tuy nhiên tất cả các IDS đều
phải đảm bảo ba thành phần chức năng cơ bản sau:
Thu lượm tài nguyên thông tin ( Information Sources ): Thu lượm tài
nguyên thông tin các sự kiện xảy ra trên mạng để xem việc xâm nhập đã xảy

ra chưa. Các nguồn thông tin này có thể đưa ra từ các cấp độ khác nhau của
hệ thống: mức mạng, mức host, mức ứng dụng.
Phân tích (Analysis): Đó là việc tổ chức, nắm chắc các sự kiện rút ra từ
nguồn thông tin, trên cơ sở đó có thể xác định được các vụ xâm nhập đã và
đang xảy ra. Hai phương pháp phân tích thường gặp nhất là: phương pháp


15

phân tích theo phát hiện sử dụng trái phép (misuse delection) và phương pháp
phân tích theo phát hiện bất thường (anomaly delection).
Đối phó (Response): Đây là thành phần chức năng thứ ba là tập hợp các
biện pháp hành động mà hệ thống phát hiện xâm nhập sẽ đối phó một khi nó
phát hiện có xâm nhập. Biện pháp hành động được phân làm 2 loại: biện pháp
chủ động và biện pháp bị động. Biện pháp chủ động là biện pháp mà hệ thống
IDS tự động can thiệp vào một phần nào đó của hệ thống nhằm ngăn chặn tức
thời cuộc xâm nhập. Biện pháp bị động là biện pháp thông báo, cảnh báo cho
người quản trị an ninh và những người có trách nhiệm biết những phát hiện về
sự xâm nhập để họ xử lý. [2]
1.2.4.1 Thu lượm các tài nguyên thông tin
Một trong những cách thông thường để phân loại hệ thống IDS là dựa
vào phương pháp thu lượm nguồn thông tin. Một số loại IDS phân tích các
gói tin trên các phân đoạn của mạng LAN để xác định kẻ tấn công. Một số
IDS khác lại dựa vào các nguồn thông tin từ các nhật ký (log) của hệ điều
hành hoặc từ các nhật ký phần mềm ứng dụng sinh ra để phát hiện xâm nhập.
Các IDS dựa trên phương pháp thu lượm nguồn thông tin theo cách thứ nhất
gọi là các IDS trên nền mạng (Network-based IDS). Các IDS dựa trên phương
pháp thu lượm nguồn thông tin theo cách thứ hai gọi là các IDS trên nền host
(Host-based IDS).
Hệ thống các IDS trên nền mạng (Network Base IDS) [5] [6] [8]

Phần lớn các hệ thống IDS thương mại là các IDS trên nền mạng. Những
IDS này phát hiện cuộc tấn công bằng cách bắt và phân tích gói tin trên mạng,
trên một nhánh mạng hoặc trên switch hay trên máy nối giữa hai mạng
(firewall). IDS trên nền mạng bao gồm một tập các sensor đơn hoặc các máy
tính đóng vai trò sensor này giám sát thi công mạng, thực hiện phân tích lưu
thông và thông báo các cuộc tấn công đến màn hình quản lý trung tâm. Nhiều


16

loại sensor được thiết kế để chạy trong mode “stealth” làm cho kẻ tấn công
khó xác định được sự có mặt và vị trí của chúng.

Hình 1.3: Ví dụ về hệ thống giám sát an ninh trên nền mạng [1]

Ưu điểm của IDS trên nền mạng:
- Chỉ cần một số lượng nhỏ IDS được bố trí một cách tối ưu có thể giám
sát được một mạng lớn. Việc bổ sung thêm các IDS không làm ảnh hưởng
đến sự hoạt động của mạng vì chúng lắng nghe trên đường truyền một cách
thụ động mà không kèm theo nhiễu đến các thiết bị khác trong mạng.
- Hệ thống này có thể tự bảo vệ để chống lại các cuộc tấn công đến nó,
thậm chí những kẻ tấn công có thể không thấy được sự hiện diện của nó trên
mạng.
- Ngoài ra IDS trên nền mạng còn có một số lợi thế:
+ Quản lý được cả một network segment (gồm nhiều host).
+ Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng.


17


+ Tránh DoS ảnh hưởng tới một host nào đó.
+ Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI).
+ Độc lập với OS.
Nhược điểm của IDS trên nền mạng:
- Hệ thống này sẽ gặp khó khăn khi xử lý tất cả các gói tin trong một
mạng lớn do không thể xử lý lưu lượng lớn gói tin trong thời gian cho phép.
Để khắc phục sự bất cập này, một số nhà thiết kế đề xuất giải pháp triển khai
IDS hoàn toàn dựa trên phần cứng. Một số sản phẩm thương mại theo hướng
này đã xuất hiện trên thị trường, ví dụ sản phẩm IDS Dragon của công ty
Security Wizards, Proventia A, G Series của hãng ISS.
- Nhiều đặc tính của IDS dựa trên nền mạng không áp dụng được đối với
mạng chuyển mạch tiên tiến. Các chuyển mạch chia nhỏ các mạng thành
nhiều phân đoạn mạng nhỏ và đưa ra các liên kết dành riêng giữa các host
dùng chung trong một chuyển mạch. Hầu hết các chuyển mạch không có một
cổng giám sát chung và hạn chế phạm vi giám sát của sensor chỉ còn cho một
máy. Chính vì vậy khi cắm các thiết bị chuyển mạch như vậy thì hệ thống
này không thể giám sát tất cả mọi lưu lượng đi qua thiết bị chuyển mạch.
- Một số hệ IDS gặp phải trục trặc khi ứng phó với các cuộc tấn công
dùng cách phân mảnh gói tin. Quá trình xử lý hợp phân mảnh các gói tin loại
này làm cho hệ thống IDS trở nên bất ổn định.
Các hệ thống IDS trên nền host (Host Base IDS) [5] [6] [8]
Các hệ thống IDS trên nền host hoạt động dựa vào những thông tin thu
thập được trong hệ thống máy tính. Những thông tin do hệ điều hành máy tính
thu nhận cho phép IDS trên nền host phân tích các hoạt động tấn công với độ
tin cậy và chính xác cao, xác định các tiến trình và người sử dụng nào liên
quan đến cuộc tấn công cụ thể lên hệ điều hành. Hơn nữa, khác với IDS trên


18


nền mạng, IDS trên nền host có thể theo dõi diễn biến tiếp theo của cuộc tấn
công, do chúng tiếp cận trực tiếp và giám sát các tệp dữ liệu hệ thống và các
tiến trình hệ thống mà cuộc tấn công đang nhằm vào.

Hình 1.4: Ví dụ về hệ thống giám sát an ninh trên nền host [1]
IDS trên nền host thường khai thác dựa trên hai nguồn thông tin: thông
tin kiểm tra hệ điều hành và nhật ký hệ thống. Thông tin kiểm tra hệ điều
hành sinh ra ở trong nhân của hệ điều hành và do đó thường chi tiết hơn so
với nhật ký hệ thống. Tuy vậy, nhật ký hệ thống thường rõ ràng tường minh
hơn và dễ dàng cho việc tổng hợp, phân tích. Một số loại IDS trên nền host
được thiết kế để hỗ trợ cho việc quản lý một IDS tập trung và cho phép màn
hình có thể theo dõi, quản lý nhiều máy chủ mục tiêu.
Ưu điểm của IDS trên nền host:
- Các IDS trên nền host với khả năng giám sát các sự kiện đến từng máy
quan sát để phát hiện các cuộc tấn công mà IDS trên nền mạng không thể làm
được. Hơn thế nữa trên một môi trường mã hóa đường truyền thì chỉ có IDS


×