Tải bản đầy đủ (.docx) (25 trang)

Hệ thống phát hiện xâm nhập OSSEC

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 (679.22 KB, 25 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG
******

BÁO CÁO BÀI TẬP LỚN

“Tổng quan về hệ thống phát hiện xâm nhập OSSEC”

Giảng Viên

TS.Hoàng Xuân Dậu

Học Viên

Nguyễn Ngọc Quý

Lớp

Đặng Anh Tuấn
Hệ Thống Thông Tin

Hà Nội năm 2023


Mục Lục
Phân cơng cơng việc................................................................................................3
Giới thiệu..................................................................................................................4
Kiến trúc và quy trình hoạt động của OSSEC........................................................7
2.1. Kiến trúc......................................................................................................7
2.2. Quy trình hoạt động....................................................................................8
2.3. Tính năng của OSSEC.................................................................................9


2.4. Luật và cách tạo luật trong OSSEC...........................................................9
2.5. Các đặc điểm của luật OSSEC.................................................................10
2.6. Phân loại luật.............................................................................................14
Cài đặt, thử nghiệm một số kịch bản của OSSEC................................................16
3.1. Phát hiện người dùng đặng nhập mật khẩu sai trên máy client cài
OSSEC Agent.....................................................................................................16
3.2. Phát hiện hành vi đổi mật khẩu người dùng trên máy client cài OSSEC
Agent...................................................................................................................20
Kết Luận.................................................................................................................24
Tài liệu tham khảo.................................................................................................25


Phân cơng cơng việc
Nguyễn Ngọc Q

Tìm hiểu về hệ thống OSSEC (kiến trúc, tính năng, thành
phần, luật trong OSSEC).

Đặng Anh Tuấn

Hồn thiện tài liệu báo cáo, làm slide, thuyết trình.
Tìm hiểu cài đặt OSSEC, demo một số kịch bản về OSSEC


Giới thiệu
OSSEC là hệ thống phát hiện xâm nhập dựa trên host (HIDS) dựa trên log mã
nguồn mở, miễn phí, đa nền tảng có thể mở rộng và có nhiều cơ chế bảo mật
khác nhau. OSSEC có thể phát hiện xâm nhập bằng cả chữ ký hoặc dấu hiệu bất
thường. Các dấu hiệu bình thường và bất thường được mơ tả trong bộ luật của
OSSEC. OSSEC có một cơng cụ phân tích và tương quan mạnh mẽ, tích hợp

giám sát và phân tích log, kiểm tra tính tồn vẹn của file, kiểm tra registry của
Windows, thực thi chính sách tập trung, giám sát chính sách, phát hiện rootkit,
cảnh báo thời gian thực và phản ứng một cách chủ động cuộc tấn cơng đang diễn
ra. Các hành động này cũng có thể được định nghĩa trước bằng luật trong
OSSEC để OSSEC hoạt động theo ý muốn của người quản trị. Ngoài việc được
triển khai như một HIDS, nó thường được sử dụng như một cơng cụ phân tích
log, theo dõi và phân tích các bản ghi lại, IDS, các máy chủ Web và các bản ghi
xác thực. OSSEC chạy trên hầu hết các hệ điều hành, bao gồm Linux,
OpenBSD, FreeBSD, Mac OS X, Sun Solaris và Microsoft Windows. OSSEC
cịn có thể được tích hợp trong trong các hệ thống bảo mật lớn hơn là SIEM
(Security information and event management). OSSEC chỉ có thể cài đặt trên
Windows với tư cách là một agent.
- Ưu điểm của HIDS
HIDS có một số điểm cải tiến hơn so với NIDS:
o Phù hợp với môi trường dữ liệu mã hố ngày càng phổ biến. HIDS
có khả năng đọc được các dữ liệu (log) được mã hoá tại server
nhận.


o Thích hợp trong các mạng được chuyển đổi nơi mà chỉ có máy chủ
lưu trữ cuối cùng mới có thể nhìn thấy lưu lượng truy cập.
o Theo dõi được các tiến trình sử dụng của người dung tại máy chủ.
o Có khả năng phát hiện và phản ứng với thời gian thực.
o Xác minh khả năng của một cuộc tấn cơng. NIDS thường đưa ra
một cảnh báo sớm, cịn HID có khả năng xem một cuộc tấn cơng
hay xâm nhập trái phép có khả năng thành cơng hay thất bại.
o Khắc phục các cuộc tấn công NIDS không thể cảnh báo được như
tấn công phân mảnh hay ghép nối phiên.
- Các tính năng nổi bật của OSSEC là:
o Theo dõi và phân tích các log: OSSEC thu thập log theo thời

gian thực từ nhiều nguồn khác nhau để phân tích (giải mã, lọc và
phân loại) và đưa ra cảnh báo dựa trên bộ luật được xây dựng
trước. OSSEC phát hiện các cuộc tấn công trên mạng, hệ thống
hoặc ứng dụng cụ thể bằng cách sử dụng log làm nguồn thơng tin
chính. Log cũng rất hữu ích để phát hiện việc khai thác lỗ hổng
phần mềm, vi phạm chính sách và các hình thức hoạt động khơng
phù hợp khác. Một số loại log mà OSSEC có thể phân tích là log
proxy, log web, log ghi lại xác thực, system log.
o Kiểm tra tính tồn vẹn của file: Sử dụng hàm băm mật mã, có
thể tính tốn giá trị băm của mỗi file trong hệ điều hành dựa trên
tên file, nội dung file và giá trị băm này là duy nhất. OSSEC có thể
giám sát các ổ đĩa để phát hiện các thay đổi của giá trị băm này khi
có ai đó, hoặc điều gì đó, sửa đổi nội dung của file hoặc thay thế
phiên bản file này bằng một phiên bản file khác.


o Giám sát Registry: Hệ thống Registry là danh sách thư mục tất cả
các cài đặt phần cứng và phần mềm, các cấu hình hệ điều hành,
người dung, nhóm người dùng, và các preference trên một hệ
thống Microsoft Windows. Các thay đổi được thực hiện bởi người
dùng và quản trị viên đối với hệ thống được ghi lại trong các khoá
registry để các thay đổi được lưu khi người dung đăng xuất hoặc
hệ thống được khởi động lại. Registry cũng cho thấy kernel của hệ
điều hành tương tác với phần cứng và phần mềm máy tính như thế
nào. HIDS có thể giám sát những thay đổi này đối với các khoá
registry quan trọng để đảm bảo rằng người dung hoặc ứng dụng
khơng cài đặt một chương trình mới hoặc sửa đổi chương trình
hiện có với mục đích xấu.
o Phát hiện Rootkit: OSSEC phát hiện Rootkit dựa trên chữ ký,
rootkit là công cụ cho phép kẻ đột nhập khả năng xâm nhập bởi

máy tính bị cài rơtkit và xố dấu vết về sự tồn tại của nó. Kẻ xâm
nhập có thể sử dụng rootkit để ăn cắp thông tin và tài ngun từ
máy tính nạn nhân. OSSEC có khả năng phát hiện rootkit bằng
cách đọc file cơ sở dữ liệu về rootkit và tiến hành quét hệ thống
định kỳ, thực hiện các lời gọi hệ thống để phát hiện các file khơng
bình thường, các tiến trình ẩn, các dấu hiệu vượt quyền, các cổng
ẩn và so sánh chúng với cơ sở dữ liệu để phát hiện rootkit.
o Phản ứng chủ đông: Phản ứng chủ động cho phép các IDS nói
chung và OSSEC nói riêng tự động thực thi các lệnh hoặc phản
ứng khi một sự kiện hoặc tập hợp sự kiện cụ thể được kích hoạt.
Phản ứng chủ động có thể được xác định bằng luật. Các lợi ích của
phản ứng chủ động là rất lớn, nhưng cũng rất nguy hiểm, có thể
ngăn chặn kết nối hợp pháp hoặc là lỗ hổng để kẻ tấn công khai


thác. Ví dụ: quản trị viên hợp pháp có thể tạo ra báo động sai và
chặn người dừng/máy chủ hợp pháp truy cập nếu các luật được
thiết kế kém.

Kiến trúc và quy trình hoạt động của OSSEC
2.1. Kiến trúc
OSSEC được thiết kế theo mơ hình client - server, gồm 2 thành phần chính
là OSSEC server và OSSEC agent
- OSSEC server:
o Đây là phần trung tâm và quan trọng nhất của OSSEC. Server là
nơi lưu trữ dữ liệu. Tất các các luật, bộ giải mã (decoder) cũng
được lưu trữ trên server.
o Server còn đảm nhận nhiệm vụ quản lý các agent. Các agent kết
nối với máy chủ trên cổng 1514 hoặc 514, giao thức UDP. Kết nối
với cổng này phải được cho phép để các agent kết nối với managet.

o Nhiệm vụ quan trọng nhất của server là phân thích các log nhận
được từ các agent hay agentless (gọi chung là client) và xuất ra
cảnh báo. Các cảnh báo này có thể xuất ra cho các công cụ xử lý
log như Logstach, Elastic Search để hiển thị cho người quản trị
bằng Kibana, lưu trữ trong cơ sở dữ liệu
- OSSEC Agent:
o Agent (đầy đủ là installable agent) là một chương trình nhỏ, hoặc
tập hợp các chương trình, được cài đặt trên các hệ thống được
giám sát.


o Agent sẽ thu thập thông tin và gửi cho manager để phân tích và so
sánh. Một số thơng tin được thu tập trong thời gian thực, những
thông tin khách theo định kỳ.
o Agent có một bộ nhớ rất nhỏ và sử dụng rất ít CPU, khơng ảnh
hưởng đến việc sử dụng của hệ thống. Server cấu hình cho các
agent. Các agent được cài đặt trên các host và gửi chúng lại các log
cho server thông qua giao thức thông điệp được mã hoá OSSEC.
o Các module chức năng của agent là: giám sát host, kiểm tra tính
tồn vẹn file trên máy host mà nó được cài, phát hiện rootkit trên
máy host, đọc các log và gửi các log cho server.
o Agentless là tính năng hỗ trợ cho các thiết bị khơng cài đặt được
agent theo cách bình thường như router, switch, tường lửa. Nó có
chức năng như agent. Agentless kết nối để gửi thông điệp, log cho
manager bằng các phương thức RPC.


2.2. Quy trình hoạt động
OSSEC hoạt động theo mơ hình Client - Server:
o Các agent có trách nhiệm theo dõi và thu thập log từ các máy host

được cài đặt, mã hoá chúng và gửi cho server theo giao thức UDP,
cổng 1514.
o Server chịu trách nhiệm nhận log từ agent và phần tích chúng, so
sánh với các luật.
o Log đã được xử lý sẽ được server chuyển về hệ thống được tích
hợp ELK để lưu trữ và hiển thị cảnh báo cho admin theo giao diện
web.
2.3. Tính năng của OSSEC
- Ảo hoá/Vmware ESX: OSSEC cho phép người quản trị cài đặt agent trên
các hệ điều hành guest. Agent cũng có thể được cài đặt bên trong một số
phiên bản của VMWare ESX, nhưng điều này có thể gây ra các vấn đề kỹ
thuật. Với agent được cài đặt bên trọng VMware ESX, người quản trị có
thể nhận được thơng báo về thời điểm một máy khách VM đang được cài
đặt, gỡ bỏ, khởi động, vv…Agent cũng giám sát các đăng nhập, đăng
xuất và lỗi bên trong máy chủ ESX. Thêm nữa, OSSEC cịn có thể thực
hiện kiểm tra an ninh (CIS) cho VMware, cảnh báo nếu có tuỳ chọn cấu
hình khơng an tồn nào được bật hoặc bất kỳ vấn đề nào khác.
- Router, tường lửa và switch: OSSEC có thể nhận và phân tích các sự kiện
trong syslog từ rất nhiều router, tường lửa và switch. Đây có thể là nguồn
thu thập log rất hiệu quả để managet phân tích, đưa ra các dấu hiệu, cảnh
báo về các cuộc xâm nhập trên mạng cho quản trị viên vì OSSEC không
phải là NIDS


2.4. Luật và cách tạo luật trong OSSEC
Luật (rules) là một phần vô cùng quan trọng trong hệ thống OSSEC, nó
chính là cốt lõi trong việc đảm bảo hệ thống OSSEC có được hoạt động theo
quy trình, chính xác và hiệu quả hay khơng. Rules có định dạng XML, được
cấu hình trong ossec server /var/ossec/etc/ossec.config và nằm trong
thẻ <ossec_config>. Rules được lưu trong /var/ossec/rules.

2.5. Các đặc điểm của luật OSSEC
- OSSEC có 16 cấp độ luật:
o 00 - Ignored: Khơng thực hiện hành động nào. Khi gặp luật có cấp
độ này thì sẽ khơng có thơng báo. Các luật này được quét trước tất
cả các luật khác. Chúng bao gồm các sự kiện khơng có sự liên quan
về bảo mật.
o 01 - None (không).
o 02 - System low priority notification (hệ thống thông báo ưu tiên
thấp): Thông báo hệ thống hoặc thơng báo trạng thái. Khơng có sự
liên quan về bảo mật.
o 03 - Successful/Authorized events (sự kiện thành công/được ủy
quyền): Bao gồm các lần đăng nhập thành công, tường lửa cho
phép sự kiện, v.v.
o 04 - System low priority error(lỗi ưu tiên hệ thống thấp): Các lỗi
liên quan đến cấu hình hoặc thiết bị/ứng dụng khơng sử dụng.
Chúng khơng có sự liên quan về bảo mật và thường được gây ra bởi
các cài đặt mặc định hoặc kiểm thử phần mềm.


o 05 - User generated error(lỗi do người dùng tạo): Chúng bao gồm
mật khẩu bị bỏ lỡ, hành động bị từ chối, v.v. Chính chúng khơng có
sự liên quan về bảo mật.
o 06 - Low relevance attack (tấn công mức độ liên quan thấp): Chúng
chỉ ra một con sâu hoặc virus không ảnh hưởng đến hệ thống (như
mã màu đỏ cho các máy chủ apache, vv). Chúng cũng bao gồm các
sự kiện IDS thường xuyên và các lỗi thường xuyên.
o 07 - “Bad word” matching (kết hợp “Từ xấu”): Chúng bao gồm các
từ như "bad", "error", v.v. Những sự kiện này hầu như khơng được
phân loại và có thể có một số mức độ liên quan về bảo mật.
o 08 - First time seen (lần đầu tiên nhìn thấy): Bao gồm các sự kiện

lần đầu tiên được xem. Lần đầu tiên một sự kiện IDS được kích
hoạt hoặc lần đầu tiên người dùng đăng nhập. Nếu bạn mới bắt đầu
sử dụng OSSEC HIDS, những thơng báo này có thể sẽ thường
xuyên. Sau một thời gian sẽ giảm dần, Nó cũng bao gồm các hành
động bảo mật có liên quan (như bắt đầu của một sniffer).
o 09 - Error from invalid source(lỗi từ nguồn không hợp lệ): Bao
gồm các lần đăng nhập dưới dạng người dùng không xác định hoặc
từ nguồn khơng hợp lệ. Có thể có sự liên quan về bảo mật (đặc biệt
nếu được lặp lại). Chúng cũng bao gồm các lỗi liên quan đến tài
khoản "quản trị" (root).
o 10 - Multiple user generated errors (tập hợp lỗi do người dùng tạo):
Chúng bao gồm nhiều mật khẩu không hợp lệ, nhiều lần đăng nhập
khơng thành cơng, v.v. Họ có thể chỉ ra một cuộc tấn cơng hoặc có
thể chỉ là người dùng vừa quên thông tin đăng nhập của mình.


o 11 - Integrity checking warning (cảnh báo kiểm tra tính tồn vẹn):
Chúng bao gồm các thơng báo liên quan đến việc sửa đổi các tệp
nhị phân hoặc sự hiện diện của rootkit (bằng kiểm tra root). Nếu
bạn chỉ cần sửa đổi cấu hình hệ thống của bạn, bạn sẽ được báo về
các thơng báo "syscheck". Nó có thể chỉ ra một cuộc tấn công thành
công. Cũng bao gồm các sự kiện IDS sẽ bị bỏ qua (số lần lặp lại
cao).
o 12 - High importancy event (sự kiện quan trọng cao): Chúng bao
gồm các thông báo lỗi hoặc cảnh báo từ hệ thống, hạt nhân, v.v.
Chúng có thể chỉ ra một cuộc tấn công chống lại một ứng dụng cụ
thể.
o 13 - Unusual error (high importance) - Lỗi bất thường (mức độ
quan trọng cao): Hầu hết các lần khớp với một kiểu tấn công chung.
o 14 - High importance security event (sự kiện bảo mật quan trọng

cao): Hầu hết thời gian được thực hiện với sự tương quan và nó chỉ
ra một cuộc tấn công.
o 15 - Severe attack (tấn công nghiêm trọng): Cần chú ý ngay lập tức.
- Rules trong OSSEC được hỗ trợ quản lý theo nhóm, các bộ luật được xây
dụng sẵn trong hệ thống OSSEC thuộc 12 nhóm sau:
o invalid_login
o authentication_success
o authentication_failed
o connection_attempt


o attacks
o adduser
o sshd
o ids
o firewall
o squid
o apache
o syslog
=> Đặc biệt: admin có thể tự tạo một group chứa một hoặc nhiều bộ luật
mới.
Một vài thuộc tính của 1 rule trong OSSEC:
- Level (bắt buộc phải có): thể hiện mức độ của rule, ossec có 16 cấp độ từ
0-15.
- Id (bắt buộc phải có): id của rule, mỗi rule sẽ có một id riêng biệt khơng
trùng lặp và là 1 trong các số từ 100-99999. (Khi tạo một luật mới nên đặt
ip từ khoảng 100.000).


- Maxsize: chỉ định kích thước tối đa của sự kiện tiến hành, là 1 trong các

số từ 1-99999.
- Frequency: chỉ định số lần rules được kiểm tra trước khi thực hiện. Số lần
kích hoạt phải gấp đơi số lần cài đặt. Ví dụ: tần sơ = 2 => rule phải được
so sánh 4 lần.
- Timeframe: khung thời gian tính bằng giây, được sử dụng để kết hợp với
frequency.
- Ignore: thời gian (s) bỏ qua rule này.
- Overwrite: Cho phép chỉnh sửa rule.

2.6. Phân loại luật
Trong OSSEC, luật được chia thành 2 loại: Luật nguyên tố và luật kết hợp:
- Luật nguyên tố - các luật xử lý 1 sự kiện: cảnh báo, thơng báo hay hành
động ứng phó sẽ xuất hiện khi có 1 sự kiện thỏa mãn. Ví dụ: Bao nhiêu
lần đăng nhập thất bại sẽ xuất hiện bấy nhiêu lần thông báo.

- Luật kết hợp – xử lý nhiều sự kiện một lúc trong 1 luật:


o Có thể sử dụng với thẻ Frequency và Timeframe để xử lý một xự
kiện được diễn ra nhiều lần.
o Các luật được kết hợp với nhau thông qua id, sử dụng
thẻ <if_sid> hoặc
(<if_matched_sid> hoặc <same_id> hoặc <same_source_ip> - các
thẻ này được kết hợp với Frequency và Timeframe).


Cài đặt, thử nghiệm một số kịch bản của OSSEC
3.1. Phát hiện người dùng đặng nhập mật khẩu sai trên máy client cài OSSEC
Agent
Các bước thực hiện:

 Bước 1: Cài đặt và đảm bảo OSSEC kết nối và hoạt động thông suốt
 Bước 2: Thiết lập luật cảnh báo hành vi đăng nhập mật khẩu khơng
chính xác.


 Bước 3: Thực hiện đăng nhập với mật khẩu khơng chính xác trên máy
Client.
 Bước 4: Kiểm tra kết quả giám sát của hệ thống
Thực hiện thử nghiệm
Bước 1: Cài đặt và đảm bảo OSSEC kết nối và hoạt động thơng suốt
Nhóm học viện đã cài đặt OSSEC Server và OSSEC Agent trên hay máy để
thực hiện giám sát.
Thiết bị có ID 002 đang được giám sát.

Trên OSSEC Agent cũng hiển thị đã kết nối thành công đến OSSEC Server.


Bước 2: Thiết lập luật cảnh báo hành vi đăng nhập mật khẩu khơng chính
xác.
Nhóm học viên truy cập vào đường dẫn /var/ossec/rules để thiết lập
luật phát hiện đăng nhập không thành công với luật như sau.

<rule id="40111" level="10" frequency="10" timeframe="160">
<if_matched_group>authentication_failed</if_matched_group>
<description>Multiple authentication failures.</description>
<group>authentication_failures,</group>
</rule>

Bước 3: Thực hiện đăng nhập với mật khẩu khơng chính xác trên máy
Client.



Nhóm học viện đăng nhập trên thiết bị Client với mật khẩu sau để
quan sát.

Bước 4: Kiểm tra kết quả giám sát của hệ thống
Khi kiểm tra logs hệ thống đã thấy OSSEC Server ghi nhận sự kiện
đăng nhập không thành công trên Client. Log cảnh báo được hệ thống lưu
trữ tại /var/ossec/logs/alerts/alerts.log


3.2. Phát hiện hành vi đổi mật khẩu người dùng trên máy client cài OSSEC
Agent
Các bước thực hiện:
 Bước 1: Cài đặt và đảm bảo OSSEC kết nối và hoạt động thông suốt
 Bước 2: Thiết lập luật cảnh báo hành vi đổi mật khẩu người dùng.
 Bước 3: Thực hiện đổi mật khẩu một người dùng trên máy Client.
 Bước 4: Kiểm tra kết quả giám sát của hệ thống
Thực hiện thử nghiệm:
Bước 1: Cài đặt và đảm bảo OSSEC kết nối và hoạt động thơng suốt
Nhóm học viện đã cài đặt OSSEC Server và OSSEC Agent trên hay máy để
thực hiện giám sát.
Thiết bị có ID 002 đang được giám sát.



×