Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ 3
LỜI MỞ ĐẦU 4
Chương I 6
Lý thuyết cơ sở về hệ thống phát hiện và phòng chống xâm nhập trái phép (IPS/IDS) 6
1.1. IDS là gì? 6
1.1.1. Sự ra đời của IDS 6
1.1.2. Dự báo về tương lai của IDS 6
1.1.3. Định nghĩa 7
Hình 1.1. Mô hình hoạt động của một hệ thống IDS 8
1.2.4. Phân loại 9
Hình 1.2. Ví dụ về một NIDS phát hiện các dạng tấn công cơ bản 9
Hình 1.3. Mô hình hệ thống NIDS 10
Hình 1.4. Ví dụ về HIDS hoạt động phát hiện các tấn công tới máy chủ 11
Hình 1.5. Mô hình hệ thống HIDS 11
1.2.5. 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
11
1.2. IPS là gì? 14
1.2.1. Lý do sử dụng IPS 14
Định nghĩa 15
1.2.2. Phân loại 15
1.2.3. Kiến trúc chung của hệ thống IPS 15
1.2.4. So sánh IPS và IDS 17
1.3. IDS/IPS là gì? 18
1.3.1. Tại sao phải có IDS/IPS? 18
1.3.2. Hoạt động 18
Chương II 19
Giới thiệu tổng quan về các phần mềm phát hiện và phòng chống xâm nhập trái phép
(IPS/IDS) 19
2.1. Phần mềm Snort 19
Phần mềm Snort: cài đặt, cấu hình và quản trị 43
3.1. Chuẩn bị cài đặt Snort 43
3.2. Cài đặt Snort 44
3.2.1. Cài đặt Snort từ gói RPM 44
3.2.2. Cài đặt Snort từ source code 45
Bảng 3.1. Các tham số dòng lệnh dùng chung với configure 51
3.2.3.Lỗi trong khi cài đặt Snort 58
3.2.4.Kiểm tra Snort 59
3.2.5. Chạy Snort trên một giao diện không mặc định 71
3.2.6.Tự động startup và shutdown 71
3.3. Snort trên nhiều giao diện mạng 73
Hình 3.1.Hoạt động của 2 thư mục log trong Snort 74
3.4. Lựa chọn lệnh cho Snort 74
Bảng 3.2. Bảng liệt kê các lựa chọn thường dùng 75
3.5. Hướng dẫn từng bước cách biên dịch và cài đặt Snort từ mã nguồn 75
3.6.Vị trí tập tin Snort 76
3.7.Các chế độ Snort 77
3.7.1.Network Sniffer Mode (chế độ bắt gói trong mạng) 77
3.7.2.Chế độ phát hiện xâm nhập mạng (NIDS) 87
3.8.Chế độ cảnh báo Snort 87
3.8.1.Chế độ Fast 88
3.8.2. Chế độ Full 89
3.8.3.Chế độ UNIX Socket 89
3.8.4.Chế độ No Alert 90
3.8.5.Gửi cảnh báo vào Syslog 90
3.8.6.Gửi cảnh báo đến SNMP 90
3.8.7.Gửi cảnh báo đến Windows 90
3.9. Chạy Snort trong chế độ Stealth 92
Hình 3.2. Chạy Snort trên một giao diện mạng 93
Kết luận chung 93
LỜI MỞ ĐẦU
Ngày này, vấn đề bảo mật trong cuộc sống nói chung cũng như trong lĩnh vực
công nghệ thông tin nói riêng đã nhận được rất nhiều sự quan tâm của mọi tầng lớp
trong xã hội. Tại sao lại như vậy, như chúng ta thấy, muốn vào nhà một người quen,
bạn phái gọi cửa hoặc bấm chuông, nếu có người ở nhà thì mới ra mở cửa cho bạn và
mời bạn vào nhà. Nhưng trong trường hợp bạn là kẻ xấu, muốn xâm nhập vào căn nhà
đó vì mục đích riêng, thì khi bạn biết chắc trong nhà không có ai, đây sẽ là cơ hội hiếm
có. Tuy nhiên, nếu như nhà đó có nuôi chó giữ nhà hay bất kể một hình thức chống
trộm nào mà bạn chưa tính đến thì coi như cuộc “viếng thăm”của bạn thất bại, không
may nữa là còn thất bại một cách rất nặng nề nếu như bị phát hiện. Chính kịch bản
chống trộm này cũng đã được ứng dụng khá linh hoạt trong lĩnh vực công nghệ thông
tin nói chung, đặc biệt là nghành an toàn thông tin nói riêng.
Vậy thì điều này được ứng dụng như thế nào? Một hệ thống mạng hay hệ điều
hành cá nhân cũng giống như một ngôi nhà mà chúng ta cần phải bảo vệ nó, thực ra là
bảo vệ những gì có trong đó, chính là những tài nguyên dữ liệu quan trọng với bản
thân chủ nhân của máy và của nhiều người khác nữa. Chúng ta cần có một tài khoản
máy với user name và password là cách cơ bản nhất, cũng giống như trong nhà luôn có
người vậy. Sau đó là hệ thống tường lửa của hệ thống, cũng giống như hệ thống cửa
khóa của căn nhà. Hệ thống tường lửa càng phức tạp thì càng gây khó khăn cho kẻ
muốn xâm phạm nó, nhưng chúng ta cần lưu ý là nếu như phức tạp quá thì sẽ có lúc
chính “chủ nhà” lại là nạn nhân trực tiếp của hệ thống này. Và cuối cũng là hệ thống
phát hiện và phòng chống xâm phạm trái phép (IDS/IPS- Intrusion Detection System /
Intrusion Prevention System). Có thế nói đây là hệ thống “chống trộm” cho toàn hệ
thống mà tính chất bao quát, bởi vì đây chính là vòng bảo mật ngoài cùng, đối mặt trực
tiếp với kẻ tấn công. Nếu như hệ thống IDS/IPS này càng mạnh thì sẽ làm tê liệt mọi
hành động của kẻ tấn công ngay từ đầu. Tuy nhiên là được điều này đâu phải dễ dàng
gì, bởi vì những kẻ tấn công thì ngày càng mưu mô, hiểm độc và tinh ranh hơn về
công cụ và cách thức, còn hệ thống của chúng ta thì chỉ có thể phân tích dựa vào
những gì đã xảy ra. Vì thế mà các chuyên gia trong lĩnh vực này không ngừng nâng
cao tính năng, phương thức và phạm vi của chúng nhằm đáp ứng nhu cầu của đông
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Chương I
Lý thuyết cơ sở về hệ thống phát hiện và phòng chống xâm
nhập trái phép (IPS/IDS)
1.1. IDS là gì?
1.1.1. Sự ra đời của IDS
Cách đây khoảng 25 năm, khái niệm phát hiện xâm nhập xuất hiện qua một bài
báo của James Anderson. Khi đó người ta cần IDS với mục đích là dò tìm và nghiên
cứu các hành vi bất thường và thái độ của người sử dụng trong mạng, phát hiện ra các
việc lạm dụng đặc quyền để giám sát tài sản hệ thống mạng.
Các nghiên cứu về hệ thống phát hiện xâm nhập được nghiên cứu chính thức từ
năm 1983 đến năm 1988 trước khi được sử dụng tại mạng máy tính của không lực Hoa
Kỳ. Cho đến tận năm 1996, các khái niệm IDS vẫn chưa được phổ biến, một số hệ
thống IDS chỉ được xuất hiện trong các phòng thí nghiệm và viện nghiên cứu. Tuy
nhiên trong thời gian này, một số công nghệ IDS bắt đầu phát triển dựa trên sự bùng
nổ của công nghệ thông tin.
Đến năm 1997 IDS mới được biết đến rộng rãi và thực sự đem lại lợi nhuận với sự
đi đầu của công ty ISS, một năm sau đó, Cisco nhận ra tầm quan trọng của IDS và đã
mua lại một công ty cung cấp giải pháp IDS tên là Wheel.
1.1.2. Dự báo về tương lai của IDS
Vào năm 2003, Gartner- một công ty hàng đầu trong lĩnh vực nghiên cứu và phân
tích thị trường công nghệ thông tin trên toàn cầu- đã đưa ra một dự đoán gây chấn
động trong lĩnh vực an toàn thông tin : “Hệ thống phát hiện xâm nhập (IDS) sẽ không
còn nữa vào năm 2005”.
Phát biểu này của xuất phát từ một số kết quả phân tích và đánh giá cho thấy hệ
thống IDS khi đó đang đối mặt với các vấn đề sau:
- IDS thường xuyên đưa ra rất nhiều báo động giả (False Positives).
- Là gánh nặng cho quản trị an ninh hệ thống bởi nó cần được theo dõi liên tục (24
giờ trong suốt cả 365 ngày của năm).
- Kèm theo các cảnh báo tấn công là một quy trình xử lý an ninh rất vất vả.
dấu hiệu khác thường.
*Chức năng quan trọng nhất : giám sát - cảnh báo - 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 + nhà quản trị.
Bảo vệ : Dùng những thiết lập mặc định và sự 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ệt : "thù trong giặc 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.
7
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Hình 1.1. Mô hình hoạt động của một hệ thống IDS
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu (Hình 4) – một bộ tạo
sự kiện. Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế
độ lọc thông tin sự kiện. Bộ tạo sự kiện (hệ điều hành, mạng, ứng dụng) cung cấp một
số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sự kiện của hệ thống
hoặc các gói mạng. Số chính sách này cùng với thông tin chính sách có thể được lưu
trong hệ thống được bảo vệ hoặc bên ngoài. Trong trường hợp nào đó, ví dụ, khi luồng
dữ liệu sự kiện được truyền tải trực tiếp đến bộ phân tích mà không có sự lưu dữ liệu
nào được thực hiện. Điều này cũng liên quan một chút nào đó đến các gói mạng.
Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu không tương
thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát hiện
được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính sách phát hiện
cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công, profile hành vi thông
thường, các tham số cần thiết (ví dụ: các ngưỡng). Thêm vào đó, cơ sở dữ liệu giữ các
tham số cấu hình, gồm có các chế độ truyền thông với module đáp trả. Bộ cảm biến
cũng có cơ sở dữ liệu của riêng nó, gồm dữ liệu lưu về các xâm phạm phức tạp tiềm ẩn
(tạo ra từ nhiều hành động khác nhau).
IDS có thể được sắp đặt tập trung (ví dụ như được tích hợp vào trong tường lửa)
1.1.4.1. 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 toàn bộ
lưu lượng vào ra.
Hoạt động: Một Network-Based IDS sẽ kiểm tra các giao tiếp trên mạng với thời gian
thực (real-time). Nó kiểm tra các giao tiếp, quét header của các gói tin, và có thể kiểm
tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn
công khác nhau. Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát
hiện các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based)
của tấn công Denied of Service (DoS).
Hình 1.2. Ví dụ về một NIDS phát hiện các dạng tấn công cơ bản
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.
- Ví trí : mạng bên trong NIDS mạng bên ngoài.
9
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
- Loại : hardware (phần cứng) hoặc software (phần mềm)
- 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.
Hình 1.3. Mô hình hệ thống NIDS
1.1.4.2. 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.
Hoạt động: Một Host-Based IDS chỉ làm nhiệm vụ giám sát và gi lại log cho một
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 hoặc đầu vào của luồng dữ liệu theo một cách dễ hiểu. 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ư Stalker, Real Secure, NetRanger, Emerald eXpert-BSM).
- Phương pháp Colored Petri Nets thường được sử dụng để tổng quát hóa các tấn
công từ những hiểu biết cơ bản và để thể hiện các tấn công theo đồ họa. Hệ thống
IDIOT của đại học Purdue sử dụng Colored Petri Nets. Với kỹ thuật này, các quản trị
viên sẽ dễ dàng hơn trong việc bổ sung thêm dấu hiệu mới. Mặc dù vậy, việc làm cho
hợp một dấu hiệu phức tạp với dữ liệu kiểm định là một vấn đề gây tốn nhiều thời
gian. Kỹ thuật này không được sử dụng trong các hệ thống thương mại.
- Phân tích trạng thái phiên, 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.
- Phương pháp phân tích thống kê, đây là phương pháp thường được sử dụng. Hành
vi người dùng hoặc 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ố file truy nhập trong một
chu kỳ 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 profile 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 profile người dùng ngắn hạn hoặc dài hạn. Các profile 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 profile hành vi
cuộc gọi hệ thống, để xem chuỗi được tạo ra đã được liệt kê trong cơ sở kiến thức
chưa; nếu không, một báo cảnh sẽ được tạo ra. Kỹ thuật này có tỉ lệ báo cảnh sai rất
thấp. Trở ngại của nó là sự bất lực trong việc phát hiện lỗi trong cấu hình dịch vụ
mạng.
- Machine learning (nghiên cứu cơ chế). Đây là một kỹ thuật thông minh nhân tạo, nó
lưu luồng lệnh đầu ra người dùng vào các biểu mẫu vector và sử dụng như một tham
chiếu của profile hành vi người dùng thông thường. Các profile sau đó được nhóm vào
trong một thư viện lệnh người dùng có các thành phần chung nào đó.
- Việc tối thiểu hóa dữ liệu thường phải dùng đến một số kỹ thuật sử dụng quá trình
trích dữ liệu chưa biết nhưng có khả năng hữu dụng trước đó từ những vị trí dữ liệu
được lưu trữ với số lượng lớn. phương pháp tối thiểu dữ liệu này vượt trội hơn đối với
việc sử lý bản ghi hệ thống lớn (dữ liệu kiểm định). Mặc dù vậy, chúng kém hữu dụng
đối với việc phân tích luồng lưu lượng mạng. Một trong những kỹ thuật tối thiểu hóa
dữ liệu cơ bản được sử dụng trong phát hiện xâm nhập được kết hợp với các cây phán
quyết. Các mô hình cây phán quyết cho phép ai đó có thể phát hiện các sự bất thường
trong một cơ sở dữ liệu lớn. Kỹ thuật khác phải dùng đến các đoạn, cho phép trích
mẫu của các tấn công chưa biết. Điều đó được thực hiện bằng việc hợp lệ hóa các mẫu
đã được trích từ một tập kiểm định đơn giản với các mẫu khác được cung cấp cho tấn
công chưa biết đã cất giữ. Một kỹ thuật tối thiểu hóa dữ liệu điển hình được kết hợp
với việc tìm kiếm các nguyên tắc kết hợp. Nó cho phép ai đó có thể trích kiến thức
chưa hiểu trước đó về các tấn công mới hoặc đã xây dựng trên mẫu hành vi thông
thường. Sự phát hiện bất thường thường gây ra các báo cảnh sai. Với việc tối thiểu hóa
dữ liệu, nó dễ dàng tương quan dữ liệu đã liên quan đến các báo cảnh với dữ liệu kiểm
định tối thiểu, do đó giảm đáng kể xác suất báo cảnh sai.
13
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
1.2. IPS là gì?
1.2.1. Lý do sử dụng IPS
Trước các hạn chế của hệ thống IDS, nhất là sau khi xuất hiện các cuộc tấn công ồ
ạt trên quy mô lớn như Code Red, NIMDA, SQL Slammer, một vấn đề được đặt ra là
có các hành động hợp lý đối với từng trường hợp. Ngoài ra các hệ thống IPS còn cung
cấp các công cụ phân tích và điều tra giúp cho người quản trị mạng hiểu được về
những gì đang diễn ra trên mạng và đưa ra các quyết định sáng suốt, góp phần làm
tăng hiệu quả của giải pháp an ninh mạng.
Nhiều hệ thống IPS còn có khả năng triển khai ở chế độ thụ động để thu nhận và
phân tích gói dữ liệu cho phép quản trị mạng có được thông tin về lưu lượng và những
nguy cơ tồn tại trên mạng. Tuy vậy chúng vẫn có thể được chuyển sang chế độ dự
14
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
phòng hoặc chế độ gateway ngay khi người quản trị mạng cảm thấy rằng hệ thống
đang bị xâm nhập, tấn công để có thể phản ứng trước các cuộc tấn công, loại bỏ lưu
lượng hoặc các kết nối khả nghi để đảm bảo rằng các cuộc tấn công đó không thể gây
ảnh hưởng đến hệ thống
Định nghĩa
Hệ thống IPS (Intrusion Prevention System) là một kỹ thuật an ninh mới, kết hợp
các ưu điểm của kỹ thuật firewall với hệ thống phát hiện xâm nhập IDS (Intrusion
Detection System), có khả năng phát hiện sự xâm nhập, các cuộc tấn công và tự động
ngăn chặn các cuộc tấn công đó.
IPS không dơn giản chỉ dò các cuộc tấn công, chúng có khả năng ngăn chặn các
cuộc hoặc cản trở các cuộc tấn công đó. Chúng cho phép tổ chức ưu tiên, thực hiện các
bước để ngăn chặn lạI xự xâm nhập. Phần lớn hệ thống IPS được đặt ở vành đai mạng,
dủ khả năng bảo vệ tất cả các thiết bị trong mạng
1.2.2. Phân loại
Có hai kiểu kiến trúc IPS chính là IPS ngoài luồng và IPS trong luồng.
1.2.3.1. IPS ngoài luồng
Hệ thống IPS ngoài luồng không can thiệp trực tiếp vào luồng dữ liệu. Luồng dữ
liệu vào hệ thống mạng sẽ cùng đi qua tường lửa và IPS. IPS có thể kiểm soát luồng
dữ liệu vào, phân tích và phát hiện các dấu hiệu của sự xâm nhập, tấn công. Với vị trí
này, IPS có thể quản lý bức tường lửa, chỉ dẫn nó chặn lại các hành động nghi ngờ mà
không làm ảnh hưởng đến tốc độ lưu thông của mạng.
thống, tìm kiếm các sự kiện giống với các mẫu tấn công đã biết trước. Các mẫu tấn
công biết trước này gọi là các dấu hiệu tấn công. Do vậy phương pháp này còn được
gọi là phương pháp dò dấu hiệu. Kiểu phát hiện tấn công này có ưu điểm là phát hiện
các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai làm giảm khả
nǎng hoạt động của mạng và giúp các người quản trị xác định các lỗ hổng bảo mật
trong hệ thống của mình. Tuy nhiên, phương pháp này có nhược điểm là không phát
hiện được các cuộc tấn công không có trong cơ sở dữ liệu, các kiểu tấn công mới, do
vậy hệ thống luôn phải cập nhật các mẫu tấn công mới.
- Phương pháp dò sự không bình thường: Đây là kỹ thuật dò thông minh, nhận dạng ra
các hành động không bình thường của mạng. Quan niệm của phương pháp này về các
cuộc tấn công là khác so với các hoạt động thông thường. Ban đầu, chúng lưu trữ các
mô tả sơ lược về các hoạt động bình thường của hệ thống. Các cuộc tấn công sẽ có
những hành động khác so với bình thường và phương pháp dò này có thể nhận dạng.
Có một số kỹ thuật giúp thực hiện dò sự không bình thường của các cuộc tấn công như
dưới đây:
+ Phát hiện mức ngưỡng: Kỹ thuật này nhấn mạnh việc đo đếm các hoạt động bình
thường trên mạng. Các mức ngưỡng về các hoạt động bình thường được đặt ra. Nếu có
sự bất thường nào đó như đǎng nhập với số lần quá quy định, số lượng các tiến trình
hoạt động trên CPU, số lượng một loại gói tin được gửi vượt quá mức thì hệ thống
có dấu hiệu bị tấn công.
+ Phát hiện nhờ quá trình tự học: Kỹ thuật này bao gồm hai bước. Khi bắt đầu thiết
lập, hệ thống phát hiện tấn công sẽ chạy ở chế độ tự học và tạo ra một hồ sơ về cách
cư xử của mạng với các hoạt động bình thường. Sau thời gian khởi tạo, hệ thống sẽ
chạy ở chế độ làm việc, tiến hành theo dõi, phát hiện các hoạt động bất thường của
mạng bằng cách so sánh với hồ sơ đã thiết lập. Chế độ tự học có thể chạy song song
với chế độ làm việc để cập nhật hồ sơ của mình nhưng nếu dò ra có tín hiệu tấn công
thì chế độ tự học phải dừng lại cho tới khi cuộc tấn công kết thúc.
+ Phát hiện sự không bình thường của các giao thức: Kỹ thuật này cǎn cứ vào hoạt
động của các giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ,
các hoạt động bất thường vốn là dấu hiệu của sự xâm nhập, tấn công. Kỹ thuật này rất
phản ứng này là an toàn nhất nhưng lại có nhược điểm là dễ nhầm với các gói tin hợp
lệ.
- Thay đổi các chính sách của tường lửa: Kỹ thuật này cho phép người quản trị cấu
hình lại chính sách bảo mật khi cuộc tấn công xảy ra. Sự cấu hình lại là tạm thời thay
đổi các chính sách điều khiển truy nhập bởi người dùng đặc biệt trong khi cảnh báo tới
người quản trị.
- Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến người quản trị để
họ nắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng.
- Ghi lại vào tệp tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các
tệp tin log. Mục đích để các người quản trị có thể theo dõi các luồng thông tin và là
nguồn thông tin giúp cho modul phát hiện tấn công hoạt động.
1.2.4. So sánh IPS và IDS
- Hiện nay, Công nghệ của IDS đã được thay thế bằng các giải pháp IPS. Nếu như
hiểu đơn giản, ta có thể xem như IDS chỉ là một cái chuông để cảnh báo cho người
quản trị biết những nguy cơ có thể xảy ra tấn công. Dĩ nhiên ta có thể thấy rằng, nó chỉ
là một giải pháp giám sát thụ động, tức là chỉ có thể cảnh báo mà thôi, việc thực hiện
17
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
ngăn chặn các cuộc tấn công vào hệ thống lại hoàn toàn phụ thuộc vào người quản trị.
Vì vậy yêu cầu rất cao đối với nhà quản trị trong việc xác định các lưu lượng cần và
các lưu lượng có nghi vấn là dấu hiệu của một cuộc tấn công. Và dĩ nhiên công việc
này thì lại hết sức khó khăn. Với IPS, người quản trị không nhũng có thể xác định
được các lưu lượng khả nghi khi có dấu hiệu tấn công mà còn giảm thiểu được khả
năng xác định sai các lưu lượng. Với IPS, các cuộc tấn công sẽ bị loại bỏ ngay khi mới
có dấu hiệu và nó hoạt động tuân theo một quy luật do nhà Quản trị định sẵn.
- IDS hiện nay chỉ sử dụng từ một đến 2 cơ chế để phát hiện tấn công. Vì mỗi cuộc
tấn công lại có các cơ chế khác nhau của nó, vì vậy cần có các cơ chế khác nhau để
phân biệt. Với IDS, do số lượng cơ chế là ít nên có thể dẫn đến tình trạng không phát
hiện ra được các cuộc tấn công với cơ chế không định sẵn, dẫn đến khả năng các cuộc
tấn công sẽ thành công, gây ảnh hưởng đến hệ thống. Thêm vào đó, do các cơ chế của
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
luôn. Hiện nay đa số IDS/IPS hoạt động theo kiểu này. Tuy nhiên nếu kiểu tấn công
mới thì IDS không nhận biết được, nên phải cập nhật lỗi thường xuyên giống như cập
nhật virus.
- Nếu hoạt động theo kiểu heuristic thông minh thì IDS theo dõi mạng xem có hiện
tượng bất thường hay không, và phản ứng lại. Lợi điểm là có thể nhận biết các kiểu tấn
công mới, nhưng nhiều trường hợp bị báo động nhầm (không phải trường hợp tấn
công mà vẫn gây báo động).
Chương II
Giới thiệu tổng quan về các phần mềm phát hiện và phòng
chống xâm nhập trái phép (IPS/IDS)
2.1. Phần mềm Snort
Công Nghệ Thông Tin và Internet ngày nay đã mang lại cho chúng ta nhiều tiến bộ
trong quá trình phát triển. Máy tính không những giúp xử lý dữ liệu, thiết kế sản phẩm,
quản lý khách hàng v.v mà còn đem lại những giây phút thư giãn bằng nhiều chương
trình tiện ích khác. Và chắc chắn máy tính cùng những ứng dụng của nó sẽ còn đem
đến cho chúng ta nhiều lợi ích, niềm vui trong cuộc sống.
Tuy nhiên bên cạnh sự phát triển nhanh chóng và những khả năng mạnh mẽ thì
những vấn đề của hệ thống thông tin cũng làm cho chúng ta nhức đầu cũng không phải
là ít, trong đó hai vấn đề nhạy cảm an toàn thông tin và bản quyền phần mềm khiến
chúng ta quan tâm nhiều hơn cả, đặc biệt là khi Việt Nam trở thành thành viên thứ 150
của tổ chức thương mại quốc tế WTO bởi vì khi đó chúng ta phải tuân thủ nghiêm ngặt
“luật chơi” trong một môi trường đầy tiềm năng, cơ hội nhưng cũng lắm rũi ro nếu như
chúng ta không tuân thủ nghiêm ngặt các quy định như luật sở hữu trí tuệ, bản quyền
phần mềm. Bên cạnh đó, cần phải tăng cường khả năng an toàn thông tin để khỏi bị
mất mát dữ liệu do các lổ hổng bảo mật hay bị hacker, virus, trojan tấn công.
Một trong những giải pháp có thể đáp ứng tốt nhất cho vấn đề này là triển khai hệ
thống phát hiện xâm nhập trái phép - Instruction Detect System (IDS). Với IDS các
nhà Quản trị mạng hay Chuyên gia bảo mật hệ thống sẽ nâng cao hơn khả năng an
toàn thông tin cho mạng máy tính của mình, biết được khi nào hệ thống đang bị tấn
chuyện. Những hệ thống như Snort có thể phát hiện những sự cố gắng đang login vào
hệ thống, truy cập vào những vùng chia sẻ không được bảo vệ và nhiều điều khác nữa,
nhưng nhiều loại xâm nhập không rõ ràng để chúng ta có thể phát hiện dễ dàng như là
các các cuộc tấn công dùng phương pháp DoS tuy nó không thiệt hại nhiều chỉ chiếm
băng thông và CPU, dung lượng ổ cứng trên IDS nhưng nó cũng là tín hiệu để có biện
pháp phòng chống hữu hiệu.
NIDS như Snort có thể quét lưu lượng mạng để phát hiện những tín hiệu nghi ngờ
và các gói dữ liệu xấu, và bạn cũng có thể dùng những công cụ khác như Tcpdump hay
ethereal để xem các luồng thông tin trên các subnet khác nhau, từ những công cụ này
chúng ta có thể đánh hơi các gói tin để phân tích và gỡ rối hệ thống.
Một IDS sẽ kiểm tra tất cả các gói tin đi qua hệ thống và quyết định gói tin có vấn
đề khả nghi. Bằng cách nào nó có thể biết gói tin đó khả nghi ? Snort sẽ có các danh
sách các loại gói tin được mô tả tỷ mỉ giúp hệ thống dựa vào đó mà phán quyết gói tin
nào khả nghi, ví dụ như nếu bạn nhận được 1 gói ICMP có kích thước lớn hơn bình
thường và bạn có thể đoán được 1 người nào đó đang cố gắng ping vào mạng của bạn
hoặc như bạn nhận được các gói tin đựơc phân mảnh ra cực kì ngắn bạn cũng có thể
suy ra rằng ai đó đang dùng kĩ thuật tấn công phản hồi làm đảo lộn các gói để lừa
20
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
tường lửa thường được gọi là tấn công phân mảnh. Snort cũng như các IDS khác được
trang bị hàng ngàn tình huống để nhận dạng tấn công và được cập nhật thường xuyên
trên website của Snort. Snort và các IDS khác thực sự quan trọng và là lựa chọn hàng
đầu để phòng thủ, nếu một kẻ tấn công xâm nhập vào Server của bạn, bạn có thể phát
hiện ở system log, mặc dù nhiều kẻ tấn công tinh ranh xóa đi log của bạn.
2.1.2. Tại sao Snort là một NIDS ?
Snort được coi như là NIDS mang lại nhiều lợi ích và là 1 NIDS mạnh mẽ phù hợp
cho nhiều công ty vì nhiều lý do:
Về giá cả : Là một software mã nguồn mở và tất nhiên là miễn phí nhưng dễ dùng
được đóng gói thành nhiều sản phẩm phù hợp cho từng doanh nghiệp. Snort được phát
triển do công ty Soucefire được điều hành bởi Martin Roesch. Hiện tại công ty Check
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
- Sniffer mode: ở chế độ này snort sẽ lắng nghe và đọc các gói tin trên mạng sau đó sẽ
trình bày kết quả trên giao diện hiển thị.
- Packet Logger mode : lưu trữ các gói tin trong các tập tin log.
- Network instruction detect system (NIDS) : đây là chế độ họat động mạnh mẽ và
được áp dụng nhiều nhất, khi họat động ở chế độ NIDS, Snort sẽ phân tích các gói tin
luân chuyển trên mạng và so sánh với các thông tin được định nghĩa của người dùng
để từ đó có những hành động tương ứng như thông báo cho quản trị mạng khi xảy ra
tình huống quét lỗi do các hacker/attacker tiến hành hay cảnh báo virus.
-Inline mode: khi triển khai snort trên linux thì chúng ta có thể cấu hình snort để phân
tích các gói tin từ iptables thay vì libpcap, do đó iptable có thể drop hoặc pass các gói
tin theo snort rule.
2.1.4. Kiến trúc của Snort
Kiến trúc tổng quan của việc triển khai Snort cơ bản là đơn giản, bởi vì nó chỉ
chứa Sensor của chính nó- không có server quản trị, không bàn điều khiển hình họa,
không kiến trúc đa tầng.
Kiến trúc của công cụ Snort đã thay đổi nhanh chóng từ phiên bản 2.0 để cải tiến
tính ổn định và hiệu suất. Công cụ phát hiên mới được biến thành 3 công nghệ hay giai
đoạn riêng biệt: Rule Optimiser, Multi-Rule Inspection Engine, Event Selector.
2.1.4.1. Rule Optimiser
Rule Optimise tận dụng một phương thức dựa trên tập hợp dành cho việc quản lý
các luật của Snort và áp dụng chúng vào lưu lượng mạng. Tập con luật được hình
thành dựa vào luật duy nhất và các tham số gói có sử dụng một lược đồ phân loại dựa
trên tiêu chuẩn tập. Điều này cho phép toàn bộ tập luật Snort có thế được chia ra thành
các tập luật con nhỏ hơn dựa trên những tham số duy nhất này.
Tiện ích của phương thức dựa trên tập luật chính là việc các tập con của Snort sẽ
được định trước trong suốt quá trình khởi tạo. Bởi vì các tập con này được dựa trên
những tham số luật duy nhất như là cổng nguồn, cổng đích, và nội dung luật, cho nên
mỗi tập con sẽ chứa tập hoàn chỉnh các luật thích hợp cho từng gói. Điều này đảm bảo
rằng tất cả các luật thích hợp được kiểm tra tùy vào từng gói.
những thuộc tính luật của Snort:
- Protocol field search: tìm kiếm trường giao thức sẽ cho phép một luật xác minh
một trường đặc biệt nào đó trong một giao thức . Ví dụ, Snort sử dụng từ khóa
“uricontent” để tìm kiếm những trường yêu cầu –uri của HTTP.
- Generic content search: việc tìm kiếm nội dung chung sẽ cho phép một luật xác
minh tập byte chung cho phù hợp dựa vào payload. Ví dụ, một chức năng được sử
dụng để tìm kiếm lỗi tràn bộ đệm trong tất cả các tải của gói tin, và cũng có thể còn
được sử dụng để tìm bất kỳ tập byte nhị phân hay ASCII nào có mang dấu hiệu của
một cuộc tấn công mạng.
- Packets anomaly search: việc tìm kiếm sự bất thường của gói tin sẽ cho phép một
luật xác minh những nét đặc trưng của một gói tin hay phần tiêu đề của gói tin, bởi
chính chúng là nguyên nhân của những cuộc cảnh báo. Những luật về sự bất thường
của gói tin không có bất kỳ kiểu tìm kiếm nội dung nào, và chúng được tồn tại trên
những nét đặc trưng khác của gói tin. Trong khi 3 kiểu tìm kiếm có thể sử dụng sự
phát hiện bất thường, thì việc tìm kiếm sự bất thường của gói tin lại là một kiểu cụ thể
về sự phát hiện. Một ví dụ về luật bất thường của gói tin chính là việc tìm một gói
ICMP trên 800 byte.
Công cụ kiểm tra sẽ sử dụng một công cụ tìm kiếm đa mẫu, hiệu suất cao và có thể
cấu hình để tìm ra tất cả những sự xuất hiện của trường giao thức và những mẫu nội
dung chung. Những luật về sự bất thường của gói tin được xử lý bằng việc dùng một
lược đồ tìm kiếm dựa trên việc xử lý luật Snort chuẩn.
Khi tìm kiếm được một sự phù hợp trong bất kỳ 3 loại tìm kiếm nào, thì việc xử lý
Snort chuẩn một cách đầy đủ sẽ xác nhận tính hợp lệ của luật Snort cụ thể nào đó. Nếu
23
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
luật Snort được xác nhận hợp lệ thì một sự kiện sẽ được tạo ra và được thêm vào hàng
sự kiện. Mỗi khi công cụ kiểm tra hoàn thành việc xử lý gói tin thì Event Selector sẽ
xử lý hàng sự kiện.
2.1.4.3. Event Selector
Hàng sự kiện sẽ cho phép Snort lần theo từng xuất hiện của từng sự kiện tương
Ví dụ, mô đun stream4 cung cấp khả năng phân tích trạng thái và ráp lại dòng
TCP. Những khả năng ráp lại dòng trạng thái cho phép Snort bỏ qua những tấn công
TCP không trạng thái như là, những tấn công tạo ra bằng những công cụ như Stick và
Snort. Stream4 cũng đưa ra những người dùng có khả năng lần theo số lượng lớn
những dòng TCP đồng thời.
24
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Một điểm quan trọng cần chú ý là tất cả những bộ tiền xử lý sẽ phải xem xét từng
gói trong trường hợp- không có một cơ chế nào dành cho một bộ tiền xử lý để cắt bớt
nhanh chóng việc xử lý gói tin nhỏ và bỏ qua những gói tin còn lại. Điều này nghĩa là
nếu như một lượng lớn những bộ tiền xử lý chuyên sâu CPU sẽ được tải, sau đó nó sẽ
có thể có một tác dụng ngược lại về toàn bộ hiệu suất. Tuy nhiên, trong những kiểm
thử của chúng ta, thì chúng ta đã tìm ra được một chút chứng cớ cho phép hay không
cho phép các bộ tiền xử lý có bất kỳ tác động đáng kế nào về hiệu suất.
Mỗi khi những bộ tiền xử lý được thực hiện với gói tin (và không có bộ tiền xử lý
nào tắt cờ phát hiện) thì gói tin này sẽ đi tiếp tới hệ thống phát hiện.
Những bộ tiền xử lý sẵn có bao gồm:
- IP defragmentation
- Stateful analysis/stream reassembly
- Conversation tracking - cho phép snort lấy được những trạng thái giao hợp
cơ bản trong các giao thức khác hơn là chỉ với TCP như đã thực hiện trong
spp_stream4. Trong tương lai, điều này sẽ cho phép những luật được viết ra
thực hiện trong việc đếm byte và trạng thái người nói đầu tiên.
- Port scan detector
- BackOrifice detector
- HTTP decode - được sử dụng để xử lý các chuỗi URI của HTTP và chuyển
đổi dữ liệu của chúng thành các chuỗi ASCII phức tạp.
- Telnet decode - cho phép Snort bình thường hóa các ký tự giao thức điều
khiển telnet từ dữ liệu phiên.
- RPC decode - Bình thường hóa các bản ghi nhiều đoạn RPC thành một bản