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

Tìm hiểu hệ thống phát hiện xâm nhập ids snort

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 (2.18 MB, 42 trang )

TRƢỜNG ĐẠI HỌC VINH

005.8

KHOA CÔNG NGHỆ THÔNG TIN
--------------------------

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Đề tài:

HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
TRIỂN KHAI SNORT TRÊN WINDOWS

Sinh viên thực hiện:

Bùi Văn Tường

Mã số sinh viên:

1051070381

Lớp:

51K1

Giáo viên hướng dẫn:

ThS. Phạm Thị Thu Hiền

Nghệ An, tháng 12 năm 2014




HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS

LỜI CẢM ƠN

Để hoàn thành đề tài này, ngoài nổ lực cố gắng của bản thân, em đã nhận đƣợc
sự giúp đỡ nhiệt tình của các thầy giáo, cơ giáo, của gia đình và bạn bè.
Em xin bày tỏ lời cảm ơn sâu sắc tới Th.S. Phạm Thị Thu Hiền ngƣời đã tận tình
hƣớng dẫn, giúp đỡ và chỉ bảo trong suốt quá trình thực hiện đề tài.
Em xin chân thành cảm ơn các thầy cô giáo trong tổ Phƣơng pháp giảng dạy
của khoa CNTT Trƣờng Đại Học Vinh.
Mặc dù đã cố gắng tiếp thu ý kiến của các thầy, cô giáo hƣớng dẫn và nổ lực
trong nghiên cứu, song đề tài này chắc chắn khơng thể tránh những sai sót. Vì vậy, rất
mong đƣợc sự góp ý của các thầy cơ giáo và các bạn để em có đƣợc cái nhìn sâu sắc
hơn về vấn đề nghiên cứu, hoàn thiện đề tài, đạt chất lƣợng cao hơn.
Em xin chân thành cảm ơn!

Vinh, tháng 12 năm 2014
SV thực hiện

Bùi Văn Tường

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

1


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS


MỤC LỤC
LỜI MỞ ĐẦU .................................................................................................................4
CHƢƠNG I: HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS .........................................5
I.

KHÁI NIỆM ......................................................................................................5

II.

CHỨC NĂNG VÀ PHÂN LOẠI IDS ...............................................................5

2.1.

Chức năng .......................................................................................................5

2.1.

Phân loại .........................................................................................................5

III.

CƠ CHẾ HOẠT ĐỘNG CỦA IDS ...................................................................8

3.1.

Phát hiện sự lạm dụng (Misuse Detection Model) .........................................8

3.2.

Phát hiện sự bất thƣờng (Anomaly Detection Model) ...................................8


3.3.

So sánh giữa hai mơ hình ...............................................................................9

IV.

SỰ CẦN THIẾT CỦA IDS ..............................................................................9

4.1.

Sự giới hạn của các biện pháp đối phó ...........................................................9

4.1.

Những cố gắng trong việc hạn chế xâm nhập trái phép ...............................11

V.

PHƢƠNG PHÁP PHÁT HIỆN TẤN CÔNG CỦA IDS .................................12

5.1.

Tấn công từ chối dịch vụ (Denial of Service attack) ....................................12

5.2.

Quét và thăm dò (Scanning và Probe) ..........................................................12

5.3.


Tấn công vào mật mã (Password attack) ......................................................13

5.4.

Chiếm đặc quyền (Privilege-grabbing) ........................................................13

5.5.

Cài đặt mã nguy hiểm (Hostile code insertion) ............................................14

5.6.

Hành động phá hoại trên máy móc (Cyber vandalism) ................................ 14

CHƢƠNG II: TRIỂN KHAI ỨNG DỤNG DỊ TÌM XÂM NHẬP TRÊN HỆ THỐNG
WINDOWS DỰA TRÊN SNORT ................................................................................16
I.

GIỚI THIỆU VỀ SNORT ................................................................................16

II.

BỘ LUẬT CỦA SNORT .................................................................................21

III.

CÁC CƠ CHẾ HOẠT ĐỘNG CỦA SNORT .................................................28

CHƢƠNG III. CÀI ĐẶT VÀ MÔ PHỎNG ..................................................................29

I.

GIỚI THIỆU KỊCH BẢN ................................................................................29
1.1.

Mơ tả kịch bản ..............................................................................................29

1.2.

Tình huống đặt ra ..........................................................................................29

II.

ĐẶT RA GIẢI PHÁP ...................................... Error! Bookmark not defined.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

2


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
III.

YÊU CẦU ........................................................ Error! Bookmark not defined.

IV.

CÀI ĐẶT SNORT TRÊN WINDOWS SERVER ...........................................30

4.1.


Cài đặt và cấu hình .......................................................................................30

4.2.

Chế độ NIDS ................................................................................................ 36

KẾT LUẬN ................................................................................................................40
A. Kết quả đạt đƣợc của đề tài ..............................................................................40
B. Hƣớng phát triển đề tài ....................................................................................41

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

3


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS

LỜI MỞ ĐẦU
Hiện nay mạng Internet đã trở thành một phần không thể thiếu của con ngƣời.
Việc học tập, vui chơi giải trí, kinh doanh, liên lạc trao đổi thông tin trên mạng đã trở
thành những hành động thƣờng ngày của mọi ngƣời. Khả năng kết nối trên toàn thế
giới đang mang lại thuận tiện cho tất cả mọi ngƣời, nhƣng nó cũng tiềm ẩn những
nguy cơ khó lƣờng đe dọa tới mọi mặt của đời sống xã hội. Việc mất trộm thông tin
trên mạng gây ảnh hƣởng đến tính riêng tƣ cho các cá nhân, những vụ lừa đảo, tấn
công từ chối dịch vụ gây ảnh hƣởng lớn đến hoạt động kinh doanh cho các cơng ty và
gây phiền tối cho ngƣời sử dụng Internet… làm cho vấn đề bảo mật trên mạng ln là
một vấn đề nóng và đƣợc quan tâm đến trong mọi thời điểm.
Hệ thống phát hiện xâm nhập trái phép IDS là một phƣơng pháp bảo mật có khả
năng chống lại các kiểu tấn công mới, các vụ lạm dụng, dùng sai xuất phát từ trong hệ

thống và có thể hoạt động tốt với các phƣơng pháp bảo mật truyền thống. Nó đã đƣợc
nghiên cứu, phát triển và ứng dụng từ lâu trên thế giới và đã thể hiện vai trị quan trọng
trong các chính sách bảo mật. Tuy nhiên ở Việt Nam hiện nay hệ thống phát hiện xâm
nhập trái phép vẫn mới đang đƣợc nghiên cứu, vẫn chƣa đƣợc ứng dụng vào trong
thực tế. Nguyên nhân của việc này có thể do các hệ thống IDS hiện nay quá phức tạp,
tốn thời gian đào tạo để sử dụng, cũng có thể do nó là những hệ thống lớn, yêu cầu
nhiều trang thiết bị, nhiều công sức để quản lý bảo dƣỡng, không phù hợp với điều
kiện của các hệ thống ở Việt Nam hiện nay.
Từ vấn đề nói trên nên em đã chọn đề tài “ Tìm hiểu hệ thống phát hiện xâm
nhập IDS-Snort” để nghiên cứu.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

4


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
CHƯƠNG I: HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
KHÁI NIỆM
IDS (Intrusion Detection System hệ thống phát hiện xâm nhập) là một thống
giám sát lƣu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống, nhà quản
trị.
I.

Ngoài ra IDS cũng đảm nhận việc phản ứng lại với các lƣu thông bất thƣờng
hay có hại bằng cách hành động đã đƣợc thiết lập trƣớc nhƣ khóa ngƣời dùng hay địa
chỉ IP nguồn đó truy cập hệ thống mạng,….
IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong (từ
những ngƣời trong cơng ty) hay tấn cơng từ bên ngồi (từ các hacker). IDS phát hiện
dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống nhƣ cách các phần mềm

diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựa trên so
sánh lƣu thông mạng hiện tại với baseline(thông số đo đạc chuẩn của hệ thống) để tìm
ra các dấu hiệu khác thƣờng.
II.
2.1.

CHỨC NĂNG VÀ PHÂN LOẠI IDS
Chức năng
Chức năng quan trọng nhất : Giám sát, cảnh báo và bảo vệ
Giám sát: Lƣu lƣợng mạng, các hoạt động khả nghi.
Cảnh bảo: Báo cáo về tình trạng mạng cho hệ thống và ngƣời quản
trị.
- Bảo vệ: Dùng những thiết lập mặc định và sử dụng cấu hình từ nhà
quản trị mà có những hành động thiết thực chống lại kẻ xâm nhập và
phá hoại.
Chức năng mở rộng: Phân biện và phát hiện
- Phân biệt: phân biệt kẻ tấn công từ bên trong hay bên ngoài.
- Phát hiện: Những dấu hiệu bất thƣờng dựa trên những gì đã biết hoặc
nhờ vào sự so sánh thơng lƣợng mạng hiện tại với baseline.
-

Phân loại
Có 2 loại IDS là Network Based IDS(NIDS) và Host Based IDS (HIDS):
- Network Based (NIDS): Đƣợc đặt giữa kết nối hệ thống mạng bên trong và
mạng bên ngoài để giám sát tồn bộ lƣu lƣợng vào ra.
Có thể là một thiết bị phần cứng riêng biệt đƣợc thiết lập sẵn hay phần mềm cài
đặt trên máy tính. Chủ yếu dùng để đo lƣu lƣợng mạng đƣợc sử dụng.Tuy nhiên có thể
xảy ra hiện tƣợng nghẽn cổ chai khi lƣu lƣợng mạng hoạt động ở mức cao.
2.1.


Ví trí : mạng bên trong và mạng bên ngoài
Loại : hardware (phần cứng) hoặc software (phần mềm)
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

5


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Nhiệm vụ : chủ yếu giám sát lƣu lƣợng ra vào mạng.
Nhƣợc điểm : Có thể xảy ra hiện tƣợng nghẽn khi lƣu lƣợng mạng hoạt động ờ
mức cao. Một số sản phẩm NIDS:
+ Cisco IDS
+ Dragon® IDS/IPS
- Host Based IDS (HIDS): Đƣợc cài đặt cục bộ trên một máy tính làm cho nó
trở nên linh hoạt hơn nhiều so với NIDS. Kiểm soát lƣu lƣợng vào ra trên một máy
tính, có thể đƣợc triển khai trên nhiều máy tính trong hệ thống mạng. HIDS có thể
đƣợc cài đặt trên nhiều dạng máy tính khác nhau cụ thể nhƣ các máy chủ, máy trạm,
máy tính xách tay. HIDS cho phép bạn thực hiện một cách linh hoạt trong các đoạn
mạng mà NIDS không thể thực hiện đƣợc.
Lƣu lƣợng đã gửi tới máy tính HIDS đƣợc phân tích và chuyển qua nếu chúng
khơng chứa mã nguy hiểm. HIDS đƣợc thiết kế hoạt động chủ yếu trên hệ điều hành
Windows , mặc dù vậy vẫn có các sản phẩm hoạt động trong nền ứng dụng UNIX và
nhiều hệ điều hành khác
Ví trí : cài đặt cục bộ trên máy tính và dạng máy tính => linh hoạt hơn NIDS
Loại : software (phần mềm)
Nhiệm vụ : phân tích lƣu lƣợng ra vào mạng chuyển tới máy tính cài đặt HIDS
Ƣu điểm:
+ Cài đặt trên nhiều dạng máy tính : xách tay, PC,máy chủ
+ Phân tích lƣu lƣợng mạng rồi mới forward
Nhƣợc điểm : Đa số chạy trên hệ điều hành Windows . Tuy nhiên cũng đã có 1

số chạy đƣợc trên Unix và những hệ điều hành khác. Một số sản phẩm HIDS:
+ Snort(Miễn phí_ open source)
+ GFI EventsManager 7
+ ELM 5.0 TNT software
Các kỹ thuật xử lý dữ liệu đƣợc sử dụng trong các hệ thống phát hiện xâm nhập
phụ thuộc vào kiểu phƣơng pháp đƣợc sử dụng để phát hiện xâm nhập, các cơ chế xử
lý khác nhau cũng đƣợc sử dụng cho dữ liệu đối với một IDS.
Hệ thống Expert (Expert systems): Hệ thống này làm việc trên một tập các nguyên tắc
đã đƣợc định nghĩa từ trƣớc để miêu tả các tấn công. Tất cả các sự kiện có liên quan
đến bảo mật đều đƣợc kết hợp vào cuộc kiểm định và đƣợc dịch dƣới dạng nguyên tắc
if-then-else. Lấy ví dụ Wisdom & Sense và ComputerWatch (đƣợc phát triển tại
AT&T).
Phát hiện xâm nhập dựa trên luật(Rule-Based Intrusion Detection): Giống nhƣ
phƣơng pháp hệ thống Expert, phƣơng pháp này dựa trên những hiểu biết về tấn công.
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

6


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Chúng biến đổi sự mô tả của mỗi tấn công thành định dạng kiểm định thích hợp. Nhƣ
vậy, dấu hiệu tấn cơng có thể đƣợc tìm thấy trong các bản ghi(record). Một kịch bản
tấn cơng có thể đƣợc mơ tả, ví dụ nhƣ một chuỗi sự kiện kiểm định đối với các tấn
công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy đƣợc trong cuộc kiểm định. Phƣơng
pháp này sử dụng các từ tƣơng đƣơng trừu tƣợng của dữ liệu kiểm định. Sự phát hiện
đƣợc thực hiện bằng cách sử dụng chuỗi văn bản chung hợp với các cơ chế. Điển hình,
nó là một kỹ thuật rất mạnh và thƣờng đƣợc sử dụng trong các hệ thống thƣơng mại
(ví dụ nhƣ: Cisco Secure IDS, Emerald eXpert-BSM(Solaris)).
Phân biệt ý định ngƣời dùng(User intention identification): Kỹ thuật này mơ
hình hóa các hành vi thơng thƣờng của ngƣời dùng bằng một tập nhiệm vụ mức cao

mà họ có thể thực hiện đƣợc trên hệ thống (liên quan đến chức năng ngƣời dùng). Các
nhiệm vụ đó thƣờng cần đến một số hoạt động đƣợc điều chỉnh sao cho hợp với dữ
liệu kiểm định thích hợp. Bộ phân tích giữ một tập hợp nhiệm vụ có thể chấp nhận cho
mỗi ngƣời dùng. Bất cứ khi nào một sự khơng hợp lệ đƣợc phát hiện thì một cảnh báo
sẽ đƣợc sinh ra
Phân tích trạng thái phiên (State-transition analysis): Một tấn công đƣợc miêu tả
bằng một tập các mục tiêu và phiên cần đƣợc thực hiện bởi một kẻ xâm nhập để gây
tổn hại hệ thống. Các phiên đƣợc trình bày trong sơ đồ trạng thái phiên. Nếu phát hiện
đƣợc một tập phiên vi phạm sẽ tiến hành cảnh báo hay đáp trả theo các hành động đã
đƣợc định trƣớc.
Phƣơng pháp phân tích thống kê (Statistical analysis approach): Đây là phƣơng
pháp thƣờng đƣợc sử dụng hành vi ngƣời dùng hay hệ thống (tập các thuộc tính) đƣợc
tính theo một số biến thời gian. Ví dụ, các biến nhƣ là: đăng nhập ngƣời dùng, đăng
xuất, số tập tin truy nhập trong một khoảng thời gian, hiệu suất sử dụng không gian
đĩa, bộ nhớ, CPU,… Chu kỳ nâng cấp có thể thay đổi từ một vài phút đến một tháng.
Hệ thống lƣu giá trị có nghĩa cho mỗi biến đƣợc sử dụng để phát hiện sự vƣợt quá
ngƣỡng đƣợc định nghĩa từ trƣớc. Ngay cả phƣơng pháp đơn giản này cũng không thế
hợp đƣợc với mơ hình hành vi ngƣời dùng điển hình. Các phƣơng pháp dựa vào việc
làm tƣơng quan thơng tin về ngƣời dùng riêng lẻ với các biến nhóm đã đƣợc gộp lại
cũng ít có hiệu quả.
Vì vậy, một mơ hình tinh vi hơn về hành vi ngƣời dùng đã đƣợc phát triển bằng
cách sử dụng thông tin ngƣời dùng ngắn hạn hoặc dài hạn. Các thông tin này thƣờng
xuyên đƣợc nâng cấp để bắt kịp với thay đổi trong hành vi ngƣời dùng. Các phƣơng
pháp thống kê thƣờng đƣợc sử dụng trong việc bổ sung trong IDS dựa trên thông tin
hành vi ngƣời dùng thông thƣờng.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

7



HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
III.

CƠ CHẾ HOẠT ĐỘNG CỦA IDS
Có hai cách tiếp cận cơ bản đối với việc phát hiện và phòng chống xâm nhập là:

Phát hiện sự lạm dụng, Phát hiện sự bất thƣờng
3.1.

Phát hiện sự lạm dụng (Misuse Detection Model)
Hệ thống sẽ phát hiện các xâm nhập bàng cách tìm kiếm các hành động tƣơng

ứng với các kĩ thuật xâm nhập đã đƣợc biết đến (dựa trên các dấu hiệu - signatures)
hoặc các điểm dễ bị tấn cơng của hệ thống.
- Mơ hình phát hiệnsự lạm dụng
Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố gắng đột nhập
vào hệ thống mà sử dụng một số kỹ thuật đã biết. Nó liên quan đến việc mô tả đặc
điếm các cách thức xâm nhập vào hệ thống đã đƣợc biết đến, mỗi cách thức này đƣợc
mô tả nhƣ một mẫu. Hệ thống phát hiện sự lạm dụng chỉ thực hiện kiểm soát đối với
các mẫu đã rõ ràng. Mẫu có thể là một xâu bit cố định (ví dụ nhƣ một virus đặc tả việc
chèn xâu),... dùng để mô tả một tập hay một chuỗi các hành động đáng nghi ngờ.
Một hệ thống phát hiện sự lạm dụng điển hình sẽ liên tục so sánh hành động của
hệ thống hiện tại với một tập các kịch bản xâm nhập để cố gắng dò ra kịch bản đang
đƣợc tiến hành. Hệ thống này có thể xem xét hành động hiện tại của hệ thống đƣợc
bảo vệ trong thời gian thực hoặc có thể là các bản ghi kiểm tra đƣợc ghi lại bởi hệ điều
hành.
Các hệ thống phát hiện sự lạm dụng thế hệ đầu tiên sử dụng các luật (rules) để
mô tả những gì mà các nhà quản trị an ninh tìm kiếm trong hệ thống. Một lƣợng lớn
tập luật đƣợc tích luỹ dẫn đến khó có thể hiểu và sửa đổi bởi vì chúng khơng đƣợc tạo

thành từng nhóm một cách hợp lý trong một kịch bản xâm nhập.
Để giải quyết khó khăn này, các hệ thống thế hệ thứ hai đƣa ra các biểu diễn
kịch bản xen kẽ, bao gồm các tổ chức luật dựa trên mơ hình và các biểu diễn về phép
biến đổi trạng thái. Điều này sẽ mang tính hiệu quả hơn đối với ngƣời dùng hệ thống
cần đến sự biểu diễn và hiểu rõ ràng về các kịch bản. Hệ thống phải thƣờng xuyên duy
trì và cập nhật để đƣơng đầu với những kịch bản xâm nhập mới đƣợc phát hiện.
Phát hiện sự bất thường (Anomaly Detection Model)
Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành động khác
với hành vi thơng thƣờng của ngƣời dùng hay hệ thống.
- Mơ hình phát hiện sự bất thƣờng: Dựa trên việc định nghĩa và mơ tả đặc điểm
của các hành vi có thể chấp nhận của hệ thống để phân biệt chúng với các hành vi
khơng mong muốn hoặc bất thƣờng, tìm ra các thay đổi, các hành vi bất hợp pháp.
3.2.

Nhƣ vậy, bộ phát hiện sự khơng bình thƣờng phải có khả năng phân biệt giữa những
hiện tƣợng thông thƣờng và hiện tƣợng bất thƣờng.
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

8


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Ranh giới giữa dạng thức chấp nhận đƣợc và dạng thức bất thƣờng của đoạn mã
và dữ liệu lƣu trữ đƣợc định nghĩa rõ ràng (chỉ cần một bit khác nhau), còn ranh giới
giữa hành vi hợp lệ và hành vi bất thƣờng thì khó xác định hơn.
3.3.

So sánh giữa hai mơ hình
Bảng 1.1. So sánh 2 mơ hình phát hiện
Phát hiện sự bất thƣờng

(Anomaly Detection Model)

Phát hiện sự lạm dụng
(Misuse Detection Model)

Bao gồm:- Cơ sở dữ liệu các dấu hiệu tấn Bao gồm: - Cơ sở dữ liệu các hành động
cơng.

thơng thƣờng.

- Tìm kiếm các hành động tƣơng ứng với - Tìm kiếm độ lệch của hành động thực tế
các kĩ thuật xâm nhập biết đến (dựa trên so với hành động thông thƣờng.
dấu hiệu - signatures).
Hiệu quả trong việc phát hiện các dạng Hiệu quả trong việc phát hiện các dạng
tấn công hay các biến thế của các dạng tấn tấn công mới mà một hệ thống phát hiện
công đã biết.
sự lạm dụng bỏ qua.
Không phát hiện đƣợc các dạng tấn công
mới.
Dễ cấu hình hơn do địi hỏi ít hơn về thu Khó cấu hình hơn vì đƣa ra nhiều dữ liệu
thập dữ liệu, phân tích và cập nhật.
hơn, phải có đƣợc một khái niệm toàn
diện về hành vi đã biết hay hành vi đƣợc
mong đợi của hệ thống
Đƣa ra kêt luận dựa vào phép so khớp Đƣa ra kêt quả dựa vào độ lệch giữa
mẫu (pattern matching).
thông tin thực tế và ngƣỡng cho phép.
Có thể kích hoạt một thơng điệp cảnh báo Có thể hỗ trợ việc tự sinh thơng tin hệ
nhờ một dấu hiệu chắc chắn, hoặc cung thống một cách tự động nhƣng cần có thời
cấp dữ liệu hỗ trợ cho các dấu hiệu khác. gian và dữ liệu thu thập đƣợc phải rõ

ràng.
Để có đƣợc một hệ thống phát hiện xâm nhập tốt nhất ta tiến hành kết hợp cả
hai phƣơng pháp trên trong cùng một hệ thống. Hệ thống kết hợp này sẽ cung cấp khả
năng phát hiện nhiều loại tấn công hơn và hiệu quả hơn.
SỰ CẦN THIẾT CỦA IDS
Sự giới hạn của các biện pháp đối phó
Hiện nay có nhiều cơng cụ nhằm gia tăng tính bảo mật cho hệ thống. Các cơng
cụ đó vẫn đang hoạt động có hiệu quả, tuy nhiên chúng đều có những hạn chế riêng
IV.
4.1.

làm hệ thống vẫn có nguy cơ bị tấn công cao.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

9


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS

Firewall bảo vệ hệ thống: Firewall là một công cụ hoạt động ở ranh giới giữa
bên trong hệ thống và Internet bên ngồi (khơng đáng tin cậy) và cung cấp cơ chế
phòng thủ từ vành đai. Nó hạn chế việc truyền thơng của hệ thống với những kẻ xâm
nhập tiềm tàng và làm giảm rủi ro cho hệ thống. Đây là một công cụ không thể thiếu
trong một giải pháp bảo mật tổng thể. Tuy nhiên Firewall cũng có những điểm yếu
sau:
Firewall khơng quản lý các hoạt động của ngƣời dùng khi đã vào đƣợc hệ
thống, và không thể chống lại sự đe dọa từ trong hệ thống.
Firewall cần phải đảm bảo một mức độ truy cập nào đó tới hệ thống, việc này có thể
cho phép việc thăm dị điểm yếu.

Chính sách của Firewall có thể chậm trễ so với sự thay đổi của mơi trƣờng, điều
này cũng có thể tạo nên cơ hội cho việc xâm nhập và tấn cơng.
Hacker có thể sử dụng phƣơng thức tác động đến yếu tố con ngƣời để đƣợc truy
nhập một cách tin cậy và loại bỏ đƣợc cơ chế firewall.
Firewall không ngăn đƣợc việc sử dụng các modem khơng đƣợc xác thực hoặc
khơng an tồn gia nhập hoặc rời khỏi hệ thống.
Firewall không hoạt động ở tốc độ có lợi cho việc triển khai Intranet.
Việc sử dụng cơ chế mã hóa và VPN cung cấp khả năng bảo mật cho việc
truyền thông đầu cuối các dữ liệu quan trọng. Nhóm mã hóa với việc xác thực khóa
cơng khai và khóa mật cung cấp cho ngƣời dùng, ngƣời gửi và ngƣời nhận sự từ chối,
sự tin cậy và toàn vẹn dữ liệu.
Tuy nhiên, các dữ liệu có mã hóa chỉ an tồn với những ngƣời khơng đƣợc xác
thực. Việc truyền thông sẽ trở nên mở, không đƣợc bảo vệ và quản lý, kể cả những
hành động của ngƣời dùng. PKI có vai trị nhƣ khung làm việc chung cho việc quản lý
và xử lý các dấu hiệu số với mã hóa cơng khai để bảo đảm an tồn cho dữ liệu. Nó
cũng tự động xử lý để xác nhận và chứng thực ngƣời dùng hay ứng dụng. PKI cho
phép ứng dụng ngăn cản các hành động có hại, tuy nhiên hiện tại việc triển khai sử
dụng chỉ mới bắt đầu (chỉ có các dự án thí điểm và một số dự án có quy mơ lớn áp
dụng) vì những lý do sau:
Chuẩn PKI vẫn đang phát triển với việc hoạt động chung của các hệ thống
chứng chỉ không đồng nhất.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

10


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Có q ít ứng dụng có sử dụng chứng chỉ.
Các phƣơng thức trên cung cấp khả năng bảo vệ cho các thông tin, tuy nhiên

chúng không phát hiện đƣợc cuộc tấn công đang tiến hành. Phát hiện xâm nhập trái
phép đƣợc định nghĩa là “một ứng dụng hay tiến trình dùng để quản lý mơi trƣờng cho
mục đích xác định hành động có dấu hiệu lạm dụng, dùng sai hay có ý đồ xấu”.
Những cố gắng trong việc hạn chế xâm nhập trái phép
Trong những năm 80, khi nền thƣơng nghiệp và truyền thông dựa trên mạng
quy mơ lớn vẫn cịn trong thời kỳ đầu, một câu hỏi đã đƣợc đặt ra: “Làm sao có thể
4.1.

biết chúng ta an tồn với sự dùng sai, và làm sao để theo dõi đƣợc khi ta bị tấn công?”
Ta nhận thấy cách tốt nhất để phát hiện xâm nhập trái phép là tạo ra log hay biên bản
kiểm tra (audit trail) với mọi hành động có liên quan đến bảo mật. Ngày nay, hầu hết
các hệ điều hành, ứng dụng và thiết bị mạng đều tạo ra một số dạng biên bản kiểm tra.
Tƣ tƣởng cơ bản là nhà quản trị có thể xem lại chúng để tìm những sự kiện đáng nghi.
Trong khi đó trong thực tế, q trình xử lý thủ cơng đó khơng thể ứng dụng đƣợc với
quy mơ lớn, sức ngƣời có hạn không thể kiểm tra lại đƣợc tất cả các log để tìm điểm
nghi vấn. Ví dụ nhƣ vào năm 1984, hệ thống Clyde Digital phát triển một sản phẩm là
AUDIT, có nhiệm vụ tự động tìm trong audit trai OpenVMS để tìm sự kiện nghi vấn.
Vào năm 1987, một dự án đƣợc tài trợ bởi chính phủ Mỹ tên là IDES tại Stanford
Research Institute thực hiện đọc audit trail và tạo ra khn mẫu những hành động
thơng thƣờng, sau đó gửi thông báo về những hành động lệch so với khn mẫu đó.
Trong suốt những năm đầu của thập kỷ 90, cố gắng phát hiện xâm nhập trái phép tập
trung vào việc phân tích các sự kiện có trong audit trail.
Tuy nhiên, hầu hết các công ty không thể sử dụng đƣợc phƣơng pháp phân tích
log này vì hai lý do chính. Thứ nhất là cơng cụ đó khá nặng, phụ thuộc vào khả năng
hiểu loại tấn công và điểm yếu của ngƣời dùng. Với sự tăng trƣởng của số ngƣời dùng,
hệ điều hành, ứng dụng, cơ sở dữ liệu cũng tăng theo với kích cỡ của file audit trail
làm chúng tốn bộ nhớ và dẫn đến lỗi từ chối dịch vụ. Do đó, các tổ chức nhận ra rằng
thao tác viên của họ thƣờng xóa hay vơ hiệu hóa audit trail nhằm làm giảm giá thành
hệ thống và duy trì đủ hiệu suất. Nửa cuối những năm 90 chứng kiến sự mở rộng của
các ứng dụng tạo audit trail mới để quản lý, nhƣ router, network traffic monitor, và

firewall. Tuy hệ phƣơng pháp IDS đã phát triển trong suốt 20 năm, câu hỏi vẫn đƣợc
đặt ra: “Làm sao có thể biết chúng ta an toàn với sự dùng sai, và làm sao để theo dõi
và phản ứng khi ta bị tấn cơng?”
Scanner, các cơng cụ thăm dị và đánh giá chính sách rất hiệu quả trong việc
tìm lỗ hổng bảo mật trƣớc khi bị tấn cơng. Chúng có thể làm đƣợc điều đó dựa trên
việc tìm khiếm khuyết, cấu hình sai có thể can thiệp đƣợc của hệ điều hành và ứng
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

11


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
dụng, những hệ thống, cấu hình ứng dụng, thao tác trái ngƣợc với chính sách chung.
Các cơng cụ này có thể trả lời đƣợc câu hỏi “độ an tồn của mơi trƣờng trƣớc sự dùng
sai”, chúng cung cấp phƣơng thức tốt nhất để đánh giá độ an toàn của hệ điều hành và
ứng dụng. Chúng có thể cung cấp sự đánh giá chính sách một cách tự động dựa trên
yêu cầu bảo mật của công ty nhƣ phiên bản của phần mềm, độ dài mật mã,…
Tuy nhiên, hầu hết các scanner chỉ báo cáo lại về lỗ hổng bảo mật và yêu cầu
chỉnh sửa tình trạng đó một cách thủ cơng. Hơn nữa, nó yêu cầu một thủ tục định kỳ
mỗi khi cài đặt một hệ điều hành, server hay ứng dụng mới vào mạng. Cũng nhƣ các
công cụ kiểm tra biên bản, scanner và các cơng cụ thăm dị, đánh giá chính sách không
thể mở rộng quy mô do dựa trên hoạt động của con ngƣời và các ràng buộc bảo mật có
tính chun mơn cho một tổ chức. Ta có một chân lý là “nếu ta khơng thể đo đƣợc nó
thì ta khơng thể quản lý đƣợc nó”. Một lợi ích quan trọng khác của công cụ đánh giá
bảo mật là cho phép quản lý cả với độ lệch trong bảo mật và biểu đồ thơng tin. Nó có
thể đƣợc sử dụng để xác định hiệu quả thực tế của bảo mật và dự đoán hiện tại cũng
nhƣ tƣơng lai.
PHƯƠNG PHÁP PHÁT HIỆN TẤN CƠNG CỦA IDS
Tấn cơng từ chối dịch vụ (Denial of Service attack)
Denial of Service (DoS) attack có mục đích chung là đóng băng hay chặn đứng

tài ngun của hệ thống đích. Cuối cùng, mục tiêu trở nên khơng thể tiếp cận và không
thể trả lời. DoS tấn công vào các mục tiêu bao gồm 3 dạng là mạng, hệ thống và ứng
dụng.
Phá hoại Network: kiểu tấn công SYN flood là một dạng tấn công từ chối dịch
V.
5.1.

vụ, kẻ tấn cơng sẽ gửi các gói tin kết nối SYN đến hệ thống...
Phá hoại hệ thống: bao gồm thiết bị nhƣ Ping of Death, Teardrop.. các kiểu tấn công
nhằm lợi dụng lỗ hống trên hệ điều hành nhằm phá hoại, gây quá tải hệ thống. Sự kiện
này có thể xáy ra bằng cách gửi gói tin có định dạng khác thƣờng tới hệ thống và thiết
bị, chúng có thể đƣợc tạo ra bằng các công cụ tấn công đƣợc lập trình trƣớc.
Phá hoại ứng dụng: bằng cách lợi dụng điểm yếu trên ứng dụng, cơ sở dữ liệu,
email, trang web,... Ví dụ nhƣ một email rất dài hay một số lƣợng email lớn có thể gây
quá tải cho server của các ứng dụng đó.
 Giải pháp của IDS: Một firewall dạng proxy rất hiệu quả để ngăn chặn các
gói tin khơng mong muốn từ bên ngồi, tuy nhiên Network IDS có thể phát hiện đƣợc
các tấn cơng dạng gói tin.
Qt và thăm dò (Scanning và Probe)
Bộ quét và thăm dò tự động tìm kiếm hệ thống trên mạng để xác định điểm yếu.
Tuy các công cụ này đƣợc thiết kế cho mục đích phân tích để phịng ngừa, nhƣng
5.2.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

12


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
hacker có thể đƣợc sử dụng để gây hại cho hệ thống. Các công cụ quét và thăm dò

nhƣ: SATAN, ISS Internet Scanner.... Việc thăm dị có thể đƣợc thực hiện bằng cách
ping đến hệ thống cũng nhƣ kiểm tra các cổng TCP và UDP để phát hiện ra ứng dụng
có những lỗi đã đƣợc biết đến. Vì vậy các cơng cụ này có thể là cơng cụ đắc lực cho
mục đích xâm nhập.
 Giải Pháp của IDS: Network-based IDS có thể phát hiện các hành động nguy
hiếm trƣớc khi chúng xảy ra. Host-based IDS cũng có thế có tác dụng đối với kiểu tấn
công này, nhƣng không hiệu quả bằng giải pháp dựa trên mạng.
5.3.

Tấn cơng vào mật mã (Password attack)
Có 3 phƣơng thức tiếp cận đối với kiểu tấn công Passwork attack. Kiếu dễ nhận

thấy nhất là ăn trộm mật mã, mang lại quyền hành cho kẻ tấn cơng có thể truy nhập tới
mọi thơng tin tại mọi thành phần trong mạng.
Ví du về trộm mật mã: nhƣ nghe trộm mật mã gửi trên mạng, gửi thƣ, chƣơng
trình có kèm keylogger, trojan cho ngƣời quản trị.
Đốn hay bẻ khóa mật mã là phƣơng thức tiếp cận đƣợc gọi là brute force bằng cách
thử nhiều mật mã đế mong tìm đƣợc mật mã đúng. Với bẻ khóa, kẻ tấn cơng cần truy
nhập tới mật mã đã đƣợc mã hóa, hay fìle chứa mật mã đã mã hóa, kẻ tấn cơng sử
dụng chƣơng trình đốn nhiều mã với thuật tốn mã hóa có thể sử dụng đƣợc để xác
định mã đúng. Với tốc độ máy tính hiện nay, việc bẻ khóa là rất hiệu quả trong trƣờng
hợp mật mã là từ có nghĩa (trong từ điến), bất cứ mã nào nhỏ hơn 6 ký tự, tên thơng
dụng và các phép hốn vị.
Ví du đốn và bẻ khóa nhƣ: đốn từ tên, các thơng tin cá nhân, từ các từ thơng
dụng (có thể dùng khi biết usemame mà không biết mật mã), sử dụng tài khoản khách
rồi chiếm quyền quản trị; các phƣơng thức tấn cơng nhƣ brute íịrce, đốn mật mã đã
mã hóa từ các từ trong từ điển...
 Giải pháp của IDS: Một Network-based IDS có thể phát hiện và ngăn chặn
cố gắng đốn mã (có thể ghi nhận sau một số lần thử khơng thành cơng), nhƣng nó
khơng có hiệu quả trong việc phát hiện truy nhập trái phép tới fíle đã bị mã hóa.

Trong khi đó Host-based IDS lại rất có hiệu quả trong việc phát hiện việc đoán mật mã
cũng nhƣ phát hiện truy nhập trái phép tới file chứa mật mã.
Chiếm đặc quyền (Privilege-grabbing)
Khi kẻ tấn công đã xâm nhập đƣợc vào hệ thống, chúng sẽ cố chiếm quyền truy
nhập. Khi thành công, chúng đã chiếm đƣợc hệ thống. Trong hệ điều hành UNIX, điều
này nghĩa là trở thành “root”, ở Windows NT là “Administrator”, trên NetWare là
5.4.

“Supervisor”. Dƣới đây là một số kỹ thuật thƣờng dùng cho việc chiếm đặc quyền:
- Đốn hay bẻ khóa của root hay administrator
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

13


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
-

Gây tràn bộ đệm
Khai thác Windows NT registry

- Truy nhập và khai thác console đặc quyền
- Thăm dò file, scrip hay các lỗi của hệ điều hành và ứng dụng.
 Giải pháp của IDS: Cả Network và Host-based IDS đều có thể xác định việc
thay đổi đặc quyền trái phép ngay lập tức, ở cấp phần mềm, do việc đó xảy ra trên thiết
bị chủ.
5.5.

Cài đặt mã nguy hiểm (Hostile code insertion)
Một số loại tấn cơng có thể cài đặt mã nguy hiểm vào hệ thống. Mã này có thể


lấy trộm dữ liệu, gây từ chối dịch vụ, xóa file, hay tạo backdoor cho lần truy nhập trái
phép tiếp theo. Ta có một số ví dụ về việc cài đặt mã nguy hiếm sau:
- Virus: chƣơng trình hay đoạn mã mà khi thực thi sẽ dẫn đến một số hành

-

động tự động, có hoặc khơng có hại, nhƣng ln dẫn đến việc tạo ra bản sao
của file hệ thống, file của ứng dụng hay dữ liệu.
Trojan Horse: một chƣơng trình hay đoạn mã mà khi thực thi sẽ dẫn đến
một số hành động tự động, thƣờng có hại, nhƣng khơng có mục đích nhân
bản. Thƣờng thì Trojan Horse đƣợc đặt tên hay mơ tả nhƣ một chƣơng trình

mà ngƣời ta muốn sử dụng, nhƣng thƣc tế chúng kích hoạt các hành động có
thể dẫn đến hỏng file hay hệ thống.
 Giải pháp của IDS: Cài đặt các phần mềm bảo mật có tác dụng chống virus
và các đoạn mã nguy hiểm lên gateway, server và workstation là phƣơng pháp hiệu
quả nhất để giảm mức độ nguy hiểm.
Hành động phá hoại trên máy móc (Cyber vandalism)
Hành động phá hoại trên máy móc bao gồm: thay đổi trang web, xóa file, phá
block khởi động và chƣơng trình hệ điều hành, format ổ đĩa.
 Giải pháp của IDS: Đối với giải pháp của Host-based IDS, cài đặt và cấu
5.6.

hình cẩn thận có thể xác định đƣợc tất cả các vấn đề liên quan đến Cyber vandalism.
Network-based IDS thì có thế sử dụng dấu hiệu tấn cơng đƣợc định nghĩa trƣớc để
phát hiện chính xác việc truy nhập trái phép vào hệ điều hành, ứng dụng cũng nhƣ xóa
file và thay đổi trang web.
Tấn cơng hạ tầng bảo mật (Security infrastructure attack)
Có nhiều loại tấn cơng can thiệp vào việc điều khiển cơ bản của cơ sở hạ tầng

bảo mật, nhƣ tạo tƣờng lửa trái phép, chỉnh sửa tài khoản của ngƣời dùng hay router,
hay thay đổi quyền của fìle. Tấn cơng vào cơ sở hạ tầng cho phép kẻ xâm nhập có
5.7.

thêm quyền truy nhập hay tạo thêm nhiều đƣờng xâm nhập vào hệ thống hay mạng.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

14


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
 Giải pháp của IDS: Host-based IDS có thế bắt giữ các cuộc đăng nhập mà
thực hiện những hành động nhƣ đƣa thêm tài khoản có đặc quyền, hay router và
firewall bị thay đổi một cách đáng nghi.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

15


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS

CHƯƠNG II: TRIỂN KHAI ỨNG DỤNG DỊ TÌM XÂM NHẬP
TRÊN HỆ THỐNG WINDOWS DỰA TRÊN SNORT
GIỚI THIỆU VỀ SNORT
Snort là một kiểu IDS (Instruction Detection System). Nói ngắn gọn IDS là một
hệ thống đƣợc cài đặt trên mạng (hay máy tính) của bạn và nhiệm vụ của nó là giám
I.


sát những gói tin vào ra hệ thống của bạn. Nếu một cuộc tấn công đƣợc phát hiện bởi
Snort thì nó có thể phản ứng bằng nhiều cách khác nhau phụ thuộc vào cấu hình mà
bạn thiết lập, chẳng hạn nhƣ nó có thể gởi thông điệp cảnh báo đến nhà quản trị hay
loại bỏ gói tin khi phát hiện có sự bất thƣờng trong các gói tin đó.
Snort là một sản phẩm đƣợc phát triển dƣới mơ hình mã nguồn mở. Tuy Snort
miễn phí nhƣng nó lại có rất nhiều tính năng tuyệt vời mà khơng phải sản phẩm
thƣơng mại nào cũng có thể có đƣợc. Với kiến trúc thiết kế theo kiểu module, ngƣời
dùng có thể tự tăng cƣờng tính năng cho hệ thống Snort của mình bằng việc cài đặt
hay viết thêm mới các module.
Cơ sở dữ liệu luật của Snort đã lên tới 2930 luật và đƣợc cập nhật thƣờng xuyên
bởi một cộng đồng ngƣời sử dụng. Snort có thế chạy trên nhiều hệ thống nền nhƣ
Windows, Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX,
MacOS..
 KIẾN TRÚC SNORT
Snort bao gồm nhiều thành phần, với mỗi phần có một chức năng riêng. Các
phần chính đó là:
- Module giải mã gói tin (Packet Decoder)
- Module tiền xử lý (Preprocessors)
- Module phát hiện (Detection Engine)
- Module log và cảnh báo (Logging and Alerting System)
- Module kết xuất thông tin (Output Module)
Kiến trúc của Snort đƣợc mơ tả trong hình sau:

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

16


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS


Hình 2.1. Mơ hình kiến trúc hệ thống Snort
Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các gói tin
nào di chuyển qua nó. Các gói tin sau khi bị bắt đƣợc đƣa vào Môđun Giải mã gói tin.
Tiếp theo gói tin sẽ đƣợc đƣa vào mơđun Tiền xử lý, rồi môđun Phát hiện. Tại đây tùy
theo việc có phát hiện đƣợc xâm nhập hay khơng mà gói tin có thế đƣợc bỏ qua để lƣu
thơng tiếp hoặc đƣợc đƣa vào module Log và cảnh báo để xử lý. Khi các cảnh báo
đƣợc xác định thì module Ket xuất thông tin sẽ thực hiện việc đƣa cảnh báo ra theo
đúng định dạng mong muốn. Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế hoạt động
và chức năng của từng thành phần.
THÀNH PHẦN VÀ CHỨC NĂNG CỦA SNORT

Hình 2.2. Thành phần hệ thống của Snort
Module giải mã gói tin (Packet Decoder): Chuyển những gói tin bắt đƣợc thành
những cấu trúc và những định danh liên kết những tầng giao thức. Sau đó, nó làm ở
tầng tiếp theo, mã hóa IP  TCP hay UDP hay loại giao thức khác  lấy những thông
tin hứu ích nhƣ những cổng và những địa chỉ... Snort sẽ cảnh báo nếu nó tìm thấy
những header khơng đúng cấu trúc, chiều dài TCP bất thƣờng.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

17


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Module tiền xử lý (Preprocessor)

Hình 2.3. Bộ tiền xử lý
Module tiền xử lý là một module rất quan trọng đối với bất kỳ một hệ thống
IDS nào để có thể chuẩn bị gói dữ liệu đƣa và cho module Phát hiện phân tích. Ba
nhiệm vụ chính của các mơđun loại này là:

- Kết hợp lại các gói tin: Khi một lƣợng dữ liệu lớn đƣợc gửi đi, thơng tin sẽ
khơng đóng gói tồn bộ vào một gói tin mà phải thực hiện việc phân mảnh, chia gói tin
ban đầu thành nhiều gói tin rồi mới gửi đi. Khi Snort nhận đƣợc các gói tin này nó
phải thực hiện việc ghép nối lại để có đƣợc dữ liệu nguyên dạng ban đầu, từ đó mới
thực hiện đƣợc các công việc xử lý tiếp. Nhƣ ta đã biết khi một phiên làm việc của hệ
thống diễn ra, sẽ có rất nhiều gói tin đuợc trao đổi trong phiên đó. Một gói tin riêng lẻ
sẽ khơng có trạng thái và nếu công việc phát hiện xâm nhập chỉ dựa hồn tồn vào gói
tin đó sẽ khơng đem lại hiệu quả cao.
- Giải mã và chuẩn hóa giao thức: công việc phát hiện xâm nhập dựa trên dấu
hiệu nhận dạng nhiều khi bị thất bại vì khi kiếm tra các giao thức thì dữ liệu có thể
đƣợc thể hiện dƣới nhiều dạng khác nhau. Ví dụ: một web server có thế chấp nhận
nhiều dạng URL nhƣ URL đƣợc viết dƣới dạng mã hexa/Unicode, URL chấp nhận cả
dấu \ hay / hoặc nhiều ký tự này liên tiếp cùng lúc. Chẳng hạn ta có dấu hiệu nhận
dạng “scripts/iisadmin”, kẻ tấn cơng có thể vƣợt qua đƣợc bằng cách tùy biến các yêu
cấu gửi đến web server nhƣ sau:
“scripts/./iisadmin”
“scripts/examples/../iisadmin”
“scripts\iisadmin”
“scripts/Aiisadmin”

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

18


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Hoặc thực hiện việc mã hóa các chuỗi này dƣới dạng khác. Nếu Snort chỉ thực
hiện đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽ xảy ra tình trạng bỏ sót
các hành vi xâm nhập. Do vậy, một số module tiền xử lý của Snort phải có nhiệm vụ
giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào này để thông tin khi đƣa đến

module phát hiện có thể phát hiện đƣợc mà khơng bỏ sót. Hiện nay Snort đã hỗ trợ
việc giải mã và chuẩn hóa cho các giao thức: telnet, http, rpc, arp.
- Phát hiện các xâm nhập bất thƣờng: Các module tiền xử lý dạng này có thể
thực hiện việc phát hiện xâm nhập theo bất cứ cách nào mà ta nghĩ ra bằng
cách tăng cƣờng thêm tính năng cho Snort. Ví dụ, một plugin tiền xử lý có
nhiệm vụ thống kê thơng lƣợng mạng tại thời điểm bình thƣờng để rồi khi
có thơng lƣợng mạng bất thƣờng xảy ra nó có thể tính toán, phát hiện và đƣa
ra cảnh báo (phát hiện xâm nhập theo mơ hình thống kê). Phiên bản hiện tại
của Snort có đi kèm hai plugin giúp phát hiện các xâm nhập bất thƣờng đó
là portscan và bo (backoffice). Portcan dùng để đƣa ra cảnh báo khi kẻ tấn
công thực hiện việc quét các cổng của hệ thống để tìm lỗ hổng. Bo dùng để
đƣa ra cảnh báo khi hệ thống đã bị nhiễm trojan backoffice và kẻ tấn công
từ xa kết nối tới backoffìce thực hiện các lệnh từ xa.
Module phát hiện (Detection Engine)

Hình 2.4. Bộ phát hiện

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

19


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Đây là module quan trọng nhất của Snort. Nó chịu trách nhiệm phát hiện các
dấu hiệu xâm nhập. Module phát hiện sử dụng các luật đƣợc định nghĩa trƣớc để so
sánh với dữ liệu thu thập đƣợc từ đó xác định xem có xâm nhập xảy ra hay khơng. Rồi
tiếp theo mới có thể thực hiện một số công việc nhƣ ghi log, tạo thông báo và kết xuất
thông tin.
Một vấn đề rất quan trọng trong module phát hiện là vấn đề thời gian xử lý các
gói tin: một IDS thƣờng nhận đƣợc rất nhiều gói tin và bản thân nó cũng có rất nhiều

các luật xử lý. Có thể mất những khoảng thời gian khác nhau cho việc xử lý các gói tin
khác nhau. Và khi thơng lƣợng mạng q lón có thể xảy ra việc bỏ sót hoặc khơng
phản hồi đƣợc đúng lúc. Khả năng xử lý của module phát hiện dựa trên một số yếu tố
nhƣ: số lƣợng các luật, tốc độ của hệ thống đang chạy Snort, tải trên mạng. Một số thử
nghiệm cho biết, phiên bản hiện tại của Snort khi đƣợc tối ƣu hóa chạy trên hệ thống
có nhiều bộ vi xử lý và cấu hình máy tính tƣơng đối mạnh thì có thể hoạt động tốt trên
cả các mạng cỡ Giga.
Một module phát hiện cũng có khả năng tách các phần của gói tin ra và áp dụng
các luật lên từng phần nào của gói tin đó. Các phần đó có thể là:
- IP header
- Header ở tầng giao vận: TCP, UDP
- Header ở tầng ứng dụng: DNS header, HTTP header, FTP header, ...
- Phần tải của gói tin (bạn cũng có thể áp dụng các luật lên các phần dữ liệu
đƣợc truyền đi của gói tin)
Một vấn đề nữa trong module phát hiện đó là việc xử lý thế nào khi một gói tin
bị phát hiện bởi nhiều luật. Do các luật trong Snort cũng đƣợc đánh thứ tự un tiên, nên
một gói tin khi bị phát hiện bởi nhiều luật khác nhau, cảnh báo đƣợc đƣa ra sẽ là cảnh
báo ứng với luật có mức ƣu tiên lớn nhất.
Module log và cảnh báo (Logging and Alerting system): Tùy thuộc vào việc
module phát hiện có nhận dạng đuợc xâm nhập hay khơng mà gói tin sẽ bị ghi log
hoặc đƣa ra cảnh báo. Các fíle log là các file text dữ liệu trong đó có thể đƣợc ghi dƣới
nhiều định dạng khác nhau chẳng hạn nhƣ tcpdump...
Module kết xuất thông tin (output module)

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

20


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS


Hình 2.5. Bộ kết xuất thơng tin
Module này có thể thực hiện các thao tác khác nhau tùy theo việc bạn muốn lƣu
kết quả xuất ra nhƣ thế nào. Tùy theo việc cấu hình hệ thống mà nó có thể thực hiện
các cơng việc nhƣ là:
- Ghi log fíle.
- Ghi syslog: syslog và một chuẩn lƣu trữ các file log đƣợc sử dụng rất nhiều
trên các hệ thống Unix, Linux.
- Ghi cảnh báo vào cơ sở dữ liệu.
- Tạo file log dạng xml: việc ghi log file dạng xml rất thuận tiện cho việc trao
đổi và chia sẻ dữ liệu.
- Gửi các cảnh báo đƣợc gói trong gói tin sử dụng giao thức SNMP. Các gói tin
dạng SNMP này sẽ đƣợc gửi tới một SNMP server từ đó giúp cho việc quản lý các
cảnh báo và hệ thống IDS một cách tập trung và thuận tiện hơn.
- Gửi các thông điệp SMB (Server Message Block) tới các máy tính Windows.
Nếu khơng hài lịng với các cách xuất thơng tin nhƣ trên, ta có thể viết các luật để
module kết xuất thông tin thực hiện tuỳ theo mục đích sử dụng của bạn.
BỘ LUẬT CỦA SNORT
Snort chủ yếu là một IDS dựa trên luật, nó sử dụng các luật đƣợc lƣu trữ trong
các file text, có thể đƣợc chỉnh sửa bởi ngƣời quản trị. Các luật thuộc về mỗi loại đƣợc
lƣu trong các fíle khác nhau. File cấu hình chính của Snort là snort.conf. Snort đọc
II.

những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu cung cấp các luật để nắm
bắt dữ liệu.
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

21



HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
Snort tìm ra các dấu hiệu và sử dụng chúng trong các luật là một vấn đề địi hỏi
sự tinh tế, vì bạn càng sử dụng nhiều luật thì năng lực xử lý càng đƣợc đòi hỏi để thu
nhập dữ liệu trong thực tế. Snort có một tập hợp các luật đƣợc định nghĩa trƣớc để phát
hiện xâm nhập và bạn cũng có thể thêm vào các luật chính của bạn. Bạn cũng có thế
xóa một vài luật đã đƣợc tạo trƣớc để tránh việc báo động sai. Cũng giống nhƣ virus,
hầu hết các hoạt động tấn cơng hay xâm nhập đều có các dấu hiệu riêng. Hệ thống phát
hiện của Snort hoạt động dựa trên các luật (rules) và các luật này lại đƣợc dựa trên các
dấu hiệu nhận dạng tấn công. Các luật có thể đƣợc áp dụng cho các phần khác nhau
của một gói tin dữ liệu.
Một luật có thể đƣợc sử dụng để tạo nên một thông điệp cảnh báo, log một
thơng điệp hay có thể bỏ qua một gói tin.
Cấu trúc luật của Snort:

Hình 2.6. Cấu trúc luật của Snort
Diễn giải: Tất cả các Luật của Snort về logic đều gồm 2 phần: Phần Header và
phần Option.
- Phần Header: chứa thơng tin về hành động mà luật đó sẽ thực hiện khi phát
hiện ra có sự xâm nhập nằm trong gói tin và nó cũng chứa các tiêu chuấn đế áp dụng
luật với gói tin đó.
- Phần Option: chứa một thông điệp cảnh báo và các thông tin về các phần của
gói tin dùng để tạo nên cảnh báo. Phần Option chứa các tiêu chuẩn phụ thêm để đối
sánh luật với gói tin. Một luật có thể phát hiện đƣợc một hay nhiều hoạt động thăm dị
hay tấn cơng. Các luật thơng minh có khả năng áp dụng cho nhiều dấu hiệu xâm nhập.
Dƣới đây là cấu trúc chung của phần Header của một luật Snort:

Hình 2.7: Header của luật Snort
Action: là phần qui định loại hành động nào đƣợc thực thi khi các dấu hiệu của
gói tin đƣợc nhận dạng chính xác bằng luật đó. Thơng thƣờng, các hành động tạo ra
một cảnh báo hoặc log thông điệp hoặc kích hoạt một luật khác.

- Protocol: là phần qui định việc áp dụng luật cho các packet chỉ thuộc một giao
thức cụ thể nào đó. Ví dụ nhƣ IP, TCP, UDP ...
- Address: là phần địa chỉ nguồn và địa chỉ đích. Các địa chỉ có thể là một máy
đơn, nhiều máy hoặc của một mạng nào đó. Trong hai phần địa chỉ trên thì một sẽ là

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

22


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
địa chỉ nguồn, một sẽ là địa chỉ đích và địa chỉ nào thuộc loại nào sẽ do phần Direction
qui định.
- Port: xác định các cống nguồn và đích của một gói tin mà trên đó luật đƣợc áp
dụng.
- Direction: phần này sẽ chỉ ra đâu là địa chỉ nguồn, đâu là địa chỉ đích.
Ví du: alert icmp any any  any any (msg: “Ping with TTL=100”;ttl: 100;).
Phần đứng trƣớc dấu mở ngoặc là phần Header của luật còn phẩn còn lại là phần
Option.
- Chi tiết của phần Header:
Hành động của luật ở đây là “alert” một cảnh báo sẽ đƣợc tạo ra nếu nhƣ các
điều kiện của gói tin là phù hợp với luật (gói tin ln đƣợc log lại mỗi khi cảnh báo
đƣợc tạo ra).
Protocol của luật ở đây là ICMP tức là luật chỉ áp dụng cho các gói tin thuộc
loại ICMP. Bởi vậy, nếu nhƣ một gói tin khơng thuộc loại ICMP thì phần cịn lại của
luật sẽ khơng cần đối chiếu.
Địa chỉ nguồn ở đây là tức là luật sẽ áp dụng cho tất cả các gói tin đến từ mọi
nguồn cịn cổng thì cũng là “any” vì đối với loại gói tin ICMP thì cổng khơng có ý
nghĩa, số hiệu cổng chỉ có ý nghĩa với các gói tin thuộc loại TCP hoặc UDP thôi.
- Chi tiết của phần Option:

Trong dấu đóng ngoặc chỉ ra một cảnh báo chứa dịng “Ping with TTL=100” sẽ
đƣợc tạo khi tìm thấy điều kiện TTL=100. TTL là “Time To Live"là một trƣờng trong
Header IP.
Phần Header: Nhƣ phần trên đã trình bày, Header của luật bao gồm nhiều phần.
Sau đây, là chi tiết cụ thể của từng phần một.
 Hành động của luật (Rule Action)
Là phần đầu tiên của luật, chỉ ra hành động nào đƣợc thực hiện khi mà các điều
kiện của luật đƣợc thoả mãn. Một hành động đƣợc thực hiện khi và chỉ khi tất cả các
điều kiện đều phù hợp. Có 5 hành động đã đƣợc định nghĩa nhƣng ta có thể tạo ra các
hành động riêng tuỳ thuộc vào yêu cầu của mình.
Đối với các phiên bản trƣớc của Snort thì khi nhiều luật là phù hợp với một gói
tin nào đó thì chỉ một luật đƣợc áp dụng. Sau khi áp dụng luật đầu tiên thì các luật tiếp
theo sẽ khơng áp dụng cho gói tin ấy nữa. Nhƣng đối với các phiên bản sau của Snort
thì tất cả các luật sẽ đƣợc áp dụng gói tin đó.
- Pass: Hành động này hƣớng dẫn Snort bỏ qua gói tin này. Hành động này
đóng vai trị quan trọng trong việc tăng cƣờng tốc độ hoạt động của Snort khi mà ta
không muốn áp dụng các kiểm tra trên các gói tin nhất định. Ví dụ ta sử dụng các bẫy
Bùi Văn Tường – Lớp 51K1 – Khoa CNTT

23


HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
(đặt trên một máy nào đó) đế nhử các hacker tấn cơng vào thì ta phải cho tất cả các gói
tin đi đến đƣợc máy đó. Hoặc là dùng một máy quét để kiểm tra độ an tồn mạng của
mình thì ta phải bỏ qua tất cả các gói tin đến từ máy kiểm tra đó.
- Log: Hành động này dùng đế log gói tin. Có thế log vào fìle hay vào cơ sở dữ
liệu tuỳ thuộc vào nhu cầu của mình.
- Alert: Gửi một thông điệp cảnh báo khi dấu hiệu xâm nhập đƣợc phát hiện. Có
nhiều cách để gửi thơng điệp nhƣ gửi ra fíle hoặc ra một Console. Tất nhiên là sau khi

gửi thơng điệp cảnh báo thì gói tin sẽ đƣợc log lại.
- Activate: sử dụng để tạo ra một cảnh báo và kích hoạt một luật khác kiểm tra
thêm các điều kiện của gói tin.
- Dynamic: chỉ ra đây là luật đƣợc gọi bởi các luật khác có hành động là
Activate.
- Protocols: Là phần thứ hai của một luật có chức năng chỉ ra loại gói tin mà
luật sẽ đƣợc áp dụng. Hiện tại Snort hiểu đƣợc các protocol sau :
- IP
- ICMP
- TCP
- UDP
Nếu là IP thì Snort sẽ kiểm tra header của lớp liên kết để xác định loại gói tin.
Nếu bất kì giao thức nào khác đƣợc sử dụng thì Snort sử dụng header IP đế xác định
loại protocol. Protocol chỉ đóng vai trị trong việc chỉ rõ tiêu chuẩn trong phần header
của luật. Phần option của luật có thể có các điều kiện khơng liên quan gì đến protocol.
 Address
Có hai phần địa chỉ trong một luật của Snort. Các địa chỉ này đƣợc dùng để
kiếm tra nguồn sinh ra và đích đến của gói tin. Địa chỉ có thể là địa chỉ của một IP đon
hoặc là địa chỉ của một mạng. Ta có thể dùng từ any để áp dụng luật cho tất cả các địa
chỉ.
Địa chỉ đƣợc viết ngay theo sau một dấu gạch chco và số bit trong subnet mask.
Ví du:
Địa chỉ 192.168.2.0/24 thể hiện mạng lớp C 192.168.2.0 với 24 bit của subnet
mask. Subnet mask 24 bit chính là 255.255.255.0. Ta biết rằng :
- Nếu subnet mask là 24 bit thì đó là mạng lớp C.
- Nếu subnet mask là 16 bit thì đó là mạng lớp B.
- Nếu subnet mask là 8 bit thì đó là mạng lớp A.
- Nếu subnet mask là 32 bit thì đó là địa chỉ IP đơn.

Bùi Văn Tường – Lớp 51K1 – Khoa CNTT


24


×