Tiểu luận môn Giám sát và ứng phó sự cố an toàn mạng đề tài "Nghiên cứu, triển khai và đánh giá HIDS WAZUH"

Tiểu luận môn Giám sát và ứng phó sự cố an toàn mạng đề tài "Nghiên cứu, triển khai và đánh giá HIDS WAZUH" giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao. Mời bạn đọc đón xem!

lOMoARcPSD|36477832
0
MỤC LỤC
ĐÁNH GIÁ CỦA GIẢNG VIÊN ..... Error! Bookmark not defined.
DANH MỤC CÁC HÌNH ẢNH .......................................................... 0
LỜI MỞ ĐẦU ....................................................................................... 4
PHẦN I – TỔNG QUAN VỀ HỆ THỐNG IDS ................................ 6
1. Định nghĩa về IDS ............................................................................ 6
2. Kiến trúc của hệ thống IDS............................................................. 7
3. Phân loại IDS .................................................................................... 8
4. Cách thức hoạt động của Host-Based IDS .................................. 10
Phần II: GIỚI THIỆU VỀ WAZUH 4.0 ......................................... 11
1. Khái niệm ........................................................................................ 11
2. Các thành phần của WAZUH ...................................................... 13
3. Kiến trúc của WAZUH ................................................................. 19
4. Các port cần thiết ........................................................................... 22
Phần III: TRIỂN KHAI THỰC NGHIỆM ..................................... 24
Phần IV: KẾT LUẬN ........................................................................ 25
TÀI LIỆU THAM KHẢO ................................................................. 27
DANH MỤC CÁC HÌNH ẢNH
hình 1. khởi chạy ứng dụng dễ bị tổn thương thông qua thiết bị đầu cuối............9
hình 2. khởi chạy trình gỡ lỗi qua thiết bị đầu cuối...............................................9
hình 3. edb interface............................................................................................10
hình 4. edb - cửa sổ quy trình..............................................................................10
hình 5. đính kèm ứng dụng trong trình gỡ lỗi.....................................................11
hình 6. làm sập ứng dụng crossfire......................................................................11
hình 7. chạy code proof-of-concept từ kali.........................................................12
hình 8. sự cố cho biết tràn bộ đệm......................................................................12
hình 9. tạo một chuỗi đệm duy nhất bằng cách sử dụng msf-pattern_create......12
hình 10. làm hỏng ứng dụng bằng chuỗi đệm duy nhất......................................13
hình 11. lấy phần ghi đè.................................................................................13
lOMoARcPSD|36477832
1
hình 12. esp trỏ đến cuối bộ đệm chỉ để lại 7 byte dung lượng cho shellcode....14
hình 13. các hướng dẫn được tạo bởi mã opcode chuỗi "setup sound"...............15
hình 14. số byte cần thiết để điều chỉnh eax........................................................15
hình 15. lấy opcode shellcode giai đoạn đầu.......................................................16
hình 16. thêm tải trọng giai đoạn đầu tiên...........................................................16
hình 17. các điểm ESP đến điểm bắt đầu của shellcode giai đoạn đầu...............17
lOMoARcPSD|36477832
2
hình 18. the OpcodeSearcher plugin for EDB....................................................18
hình 19. tìm hướng dẫn tùy chỉnh assembly bằng edb........................................18
hình 20. thêm địa chỉ trả lại vào proof-of-concept..............................................19
hình 21. đặt breakpoint trong edb........................................................................19
hình 22. breakpoint trong trình gỡ lỗi.................................................................20
hình 23. dừng shellcode giai đoạn đầu tiên trong bộ nhớ................................20
hình 24. eax trỏ đến phần đầu của bộ đệm A......................................................21
hình 25. chuyển hướng thực thi đến đầu bộ đệm, sau chuỗi " setup sound".......21
hình 26. tạo trình đảo ngược payload bằng msfvenom.......................................22
hình 27. khai thác cuối cùng cho ứng dụng crossfire..........................................22
hình 28. trình đảo ngược bị mắc kẹt....................................................................23
hình 29. edb - debug event..................................................................................23
hình 30. shell đảo ngược đang hoạt động từ máy linux......................................23
hình 31. biên dịch file bằng câu lệnh gcc............................................................24
hình 32. trao quyền thực thi cho file vừa biên dịch.............................................24
lOMoARcPSD|36477832
3
hình 33. tiến hành debug.....................................................................................25
hình 34. hiển thị mã lệnh được biên dịch của hàm main.....................................26
hình 35. giao diện idapro.....................................................................................27
hình 36. in độ dời của cookie đến buff................................................................27
hình 37. đặt breakpoint và chạy tham số.............................................................27
hình 38. hiển thị giá trị thanh ghi........................................................................28
hình 39. lấy tham scủa biến buff......................................................................28
hình 40. chép đè lên biến cookie.........................................................................28
hình 41. tiến hành chạy........................................................................................28
hình 42. kiểm tra địa chbiến cookie..................................................................29
hình 43. kết quả của chép đè lên cookie..............................................................29
hình 44. kết quả của chép đè lên cookie..............................................................29
hình 45. vuln.c: Tệp mã nguồn C của chương trình cần được biên dịch.............30
hình 46. Câu lệnh chuyển đổi mã máy thành mã lệnh dễ đọc hơn......................31
hình 47. đặt điểm dừng........................................................................................31
hình 48. in ra giá trị của biến give_shell và đặt break point tại 24......................32
hình 49. hàm give_shell.......................................................................................32
hình 50. hàm give_shell.......................................................................................33
hình 51. tạo file expl.py.......................................................................................33
hình 52. khởi chạy file expl.py...........................................................................34
lOMoARcPSD|36477832
4
LỜI MỞ ĐẦU
Thế giới gần đây đã chứng kiến sự phát triển lớn trong công nghệ thông
tin và truyền thông và kỹ thuật số. Internet đã và đang thay đổi mọi quan điểm
về học tập, kinh doanh và đưa chúng ta đến với thời đại mới - thời đại công nghệ
số. Internet trở thành một môi trường kinh doanh xoá đi mọi ranh giới quốc gia
và tạo ra một thị trường lớn nhất trong lịch sử nhận loại, cùng với nó là sự phát
triển như vũ bão của mạng toàn cầu tại Việt Nam. Bên cạnh những thành tựu to
lớn của mạng Internet mang lại cho nhân loại mà chúng ta đang đạt được, nỗi lo
về an toàn thông tin ngày càng được quan tâm hơn. Hàng ngày chúng ta được
nghe rất nhiều thông tin về các cuộc tấn cồng vào các hệ thổng thông tin quan
trọng với những thiệt hại rất lớn về tài chính, thông tin riêng tư ca các cá nhân
và các tổ chức.
Việc đảm bảo an ninh thông tin trên không gian mạng đang là vấn đề dành được
nhiều sự quan tâm. Nguy cơ mất an toàn thông tin đang là mối đe dọa lớn và
ngày càng gia tăng đối với an ninh quốc gia. Có nhiều mục tiêu mà tin tặc
thường nhắm tới như các máy chủ dịch vụ mạng, hệ thống cơ sở hạ tầng mạng.
Mục tiêu của các cuộc tấn công mạng thì rất đa dạng, từ những vấn đề cá nhân,
những mục đích xấu trong kinh doanh cho đến mục tiêu chính trị với tầm ảnh
hường trên nhiêu quốc gia. Tội phạm an ninh mạng ngày càng phát triển cả về
số lượng, quy mô và mức độ nguy hiểm. Rất nhiêu hãng có uy tín về bảo mật đã
có nhiều giải pháp để hạn chế sự tấn công trên mạng và những phương thức đã
được triển khai trong nỗ lực bảo vệ hạ tầng mạng và truyền thông qua mạng
internet bao gồm firewall, các phương thức mã hóa, và các mạng riêng ảo.
Phát hiện xâm nhập cũng là một kỹ thuật liên quan được áp dụng. Các phương
thức phát hiện xâm nhập xuất hiện vài năm gần đây. Với các phương pháp này
người quản trị có thể thu thập và sử dụng thông tin từ các dạng tấn công chưa
được biết hoặc phát hiện cuộc tấn công đang diễn ra. Những thông tin thu thập
được sẽ giúp người quản trị gia cố an ninh mạng, đưa ra các chính sách an toàn
cho hệ thống nhằm giảm thiểu những tấn công bất hợp pháp.
Việc nâng cao kiến thức về an toàn hệ thống là rất cần thiết. Kiến thức là sức
mạnh và chúng ta nên tận dụng tất cả những gì có sẵn. Nhận thấy được tầm quan
trọng cũng như sự nguy hiểm của mã độc và cùng với những kiến thức đã được
lOMoARcPSD|36477832
5
học, chúng em đã quyết định lựa chọn đề tài: “NGHIÊN CỨU VÀ TRIỂN
KHAI, ĐÁNH GIÁ HIDS WAZUH”.
Mục tiêu đặt ra khi thực hiện đồ án:
1. Nghiên cứu tổng quan về HIDS trình bày những kiến thức chung nhất
liên quan đến Wazuh.
2. Trình bày về quá trình thực nghiệm và đánh giá, các kết quả được
thựcnghiệm.
Mặc dù đã cố gắng hết khả năng của mình nhưng do trình độ kiến thức và kinh
nghiệm còn hạn chế, nên không tránh khỏi có sự sơ sót. Chúng em rất mong
nhận được sự nhận xét, đánh giá, đóng góp ý kiến của thầy để bài tập này được
hoàn thiện hơn. Chúng em chân thành cảm ơn.
lOMoARcPSD|36477832
6
PHẦN I – TỔNG QUAN VỀ HỆ THỐNG IDS
1. Định nghĩa về IDS
IDS (Intrusion Detection Systems - Hệ thống phát hiện xâm nhập) là thiết
bị hoặc phần mềm có nhiệm vụ giám sát traffic mạng, các hành vi đáng ngờ và
cảnh báo cho admin hệ thống.
Mục đích của IDS là phát hiện và ngăn ngừa các hành động phá hoại bảo mật hệ
thống, hoặc những hành động trong tiến trình tấn công như dò tìm, quét các
cổng.
IDS cũng có thể phân biệt giữa những cuộ tấn công nội bộ (từ chính nhân viên
hoặc khách hàng trong tổ chức) và tấn công bên ngoài (từ hacker). Trong một số
trường hợp, IDS có thể phản ứng lại với các traffic bất thường/độc hại bằng cách
chặn người dùng hoặc địa chỉ IP nguồn truy cập mạng.
Phân biệt rõ ràng sự khác nhau giữa IDS và một số cơ chế bảo mật khác:
Hệ thống ghi nhật ký mạng được sử dụng để phát hiện lỗ hổng đối với
những cuộc tấn công từ chối dịch vụ (DoS) trên mạng đang bị tắc nghẽn.
Đây là các hệ thống giám sát traffic trong mạng.
Các công cụ đánh giá lỗ hổng, dùng để kiểm tra lỗi và lỗ hổng trong hệ
điều hành, dịch vụ mạng (các bộ quét bảo mật).
Các phần mm diệt virus được thiết kế để phát hiện phần mm nguy hiểm
như virus, Trojan horse, worm, logic bomb... Mặc dù những tính năng
mặc định có thể rất giống hệ thống phát hiện xâm nhập và thường cung
cấp một công cụ phát hiện vi phạm bảo mật hiệu quả, nhưng xét tổng thể
chúng không phải là IDS. • Tường lửa: Dù nhiều tưởng lửa hiện đại được
tích hợp sẵn IDS, nhưng IDS không phải là tường lửa.
Các hệ thống bảo mật/mật mã, ví dụ như VPN, SSL, S/MIME, Kerberos,
Radius.
lOMoARcPSD|36477832
7
2. Kiến trúc của hệ thống IDS
HÌNH 1. THÀNH PHẦN CỦA IDS
Bộ tạo sự kiện (Event Generato): 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. 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 mt chút nào đó đến các
gói mạng.
Bộ cảm biến (Sensor):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 (Response Module): 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 nhập phức tạp tiềm ẩn (tạo ra từ
nhiều hành động khác nhau).
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ả.
lOMoARcPSD|36477832
8
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
nhập 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)
hoặc phân tán. Mt IDS phân tán gồm nhiều IDS khác nhau trên một mạng lớn,
tất cả chúng truyền thông với nhau. Nhiều hệ thống tinh vi đi theo nguyên lý cấu
trúc một tác nhân, nơi các module nhỏ được tổ chức trên một host trong mạng
được bảo vệ.
Hệ thống IDS sẽ hoạt động theo 3 bước: Giám sát - Cảnh báo - Bảo vệ:
Giám sát : Giám sát lưu lượng mạng cũng như các hoạt động bất thường
Cảnh báo: Gửi cảnh báo hệ thống cho người quản trị khi phát hiện có bất
thường.
Bảo vệ : Sử dụng các thiết lập từ người quản trị để bảo vệ hệ thống.
Khi một sự xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các quản tr
viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các quản trị
viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ sung
(các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến các
kết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,. . . ) theo các chính sách bảo mật
của các tổ chức. Một IDS là một thành phần nằm trong chính sách bảo mật.
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong những
nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp lý
các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn
công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống.
Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn đề
xảy ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công
hoặc các chữ ký thông qua email.
3. Phân loại IDS
IDS có nhiều loại và tiếp cận các traffic đáng ngờ theo nhiều cách khác
nhau. Có IDS dựa trên mạng (NIDS) và dựa trên máy chủ (HIDS). Có IDS phát
hiện dựa trên việc tìm kiếm các chữ ký cụ thể của những mối đe dọa đã biết
(tương tự như cách các phần mm diệt virus phát hiện và ngăn chặn malware) và
IDS phát hiện bằng cách so sánh các mẫu traffic với baseline rồi xem có sự bất
lOMoARcPSD| 36477832
9
thường nào không. Có những IDS chỉ theo dõi và cảnh báo, có IDS sẽ thực hiện
hành động khi phát hiện xâm nhập. Chúng ta sẽ xem xét cụ thể dưới đây:
NIDS: Network Intrusion Detection Systems được đặt tại một điểm chiến
lược hoặc những điểm giám sát traffic đến và đi từ tất cả các thiết bị trên
mạng. Lý tưởng nhất là bạn có thể quét tất cả traffic inbound và outbound,
nhưng việc này có thể tạo ra nút thắt cổ chai làm giảm tốc độ chung của
mạng.
HIDS: Host Intrusion Detection Systems, hệ thống phát hiện xâm nhập
này chạy trên máy chủ riêng hoặc một thiết bị đặc biệt trên 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. HIDS
chỉ giám sát các gói dữ liệu inbound và outbound từ thiết bị và cảnh báo
người dùng hoặc quản trị viên về những hoạt động đáng ngờ được phát
hiện.
Signature-Based: Là các IDS hoạt động dựa trên chữ ký, giám sát các gói
tin trên mạng và so sánh chúng với cơ sở dữ liệu chữ ký, thuộc tính từ
những mối đe dọa đã biết, tương tự như cách phần mm diệt virus hoạt
động. Vấn đề đối với hệ thống IDS này là có thể không phát hiện ra mối
đe dọa mới, khi chữ ký để nhận biết nó chưa được IDS kịp cập nhật.
Anomaly-Based: IDS này sẽ phát hiện mối đe dọa dựa trên sự bất
thường. Nó giám sát traffic mạng và so sánh với baseline đã được thiết
lập. Baseline sẽ xác định đâu là mức bình thường của mạng: loại băng
thông thường được dùng, giao thức thường dùng, cổng và thiết bị thường
kết nối với nhau, cảnh báo cho quản trị viên mạng hoặc người dùng khi
phát hiện traffic truy cập bất thường hoặc những khác biệt đáng kể so với
baseline.
Passive: IDS thụ động sẽ chỉ phát hiện và cảnh báo. Khi phát hiện traffic
đáng ngờ hoặc độc hại, nó sẽ tạo cảnh báo và gửi đến quản trị viên hoặc
người dùng. Việc hành động như nào sau đó tùy thuộc vào người dùng và
quản trị viên.
lOMoARcPSD|36477832
10
Reactive: Loại IDS này bên cạnh nhiệm vụ như IDS Passive, nó còn thực
hiện những hành động được thiết lập sẵn để ngay lập tức phản ứng lại các
mối đe dọa, ví như: chặn truy cập, khóa IP.
4. Cách thức hoạt động của Host-Based IDS
Với các cuộc tần công trong không gian mạng và kẻ tần công có thẻ đánh
cắp thông tin của một hệ thống khi bị chiếm quyền truy cập, việc bảo mật cho
một công ty hay một tô chức ngày càng được chú trọng. Biết rằng một bức
tường lửa không đủ và không phải là công cụ duy nhất mà dựa vào vì sự an toàn.
Chuyển sang một giai đoạn mới mà chúng ta có thể thực hiện các bước đề bảo
đảm cơ sở hạ tằng CNTT của mình khỏi phần mm độc hại với giao diện đa lớp.
Phân mềm phát hiện xâm nhập (IDS) là một ứng dụng giám sát mạng hoặc giám
sát một hệ thống cho hoạt động đáng ngờ và thường được ghép nổi với tường
lửa đề tăng tính bảo mật. Một loại khác thuộc IDS là phần mm phát hiện xâm
nhập dựa trên máy chủ (HIDS). HIDS là một hệ thống rất đa dạng của IDS. Như
tên của nó cho thầy, HIDS sẽ được cài đặt trong một hệ thống máy chủ duy nhất
đề theo dõi và báo cáo về cầu hình và hoạt động ứng dụng của hệ thống. Lớp
bảo vệ bỗ sung này đảm bảo mọi thứ khi vượt qua tường lửa sẽ không khiến hệ
thống dễ bị tôn thương.
HIDS có nhiều khía cạnh, chăng hạn như phát hiện chữ ký (Signature
Detection), phát hiện sự bất thường (Anomaly Detection), phát hiện phân tích
trạng thái giao thức (Stateful Protocol Analysis Detection), giám sát Iogfile
(Monitoring logfile) và giám sát tính toàn vẹn (Monitoring integrity) đễ bảo vệ
hệ thống khỏi các mồi đe doa nguy hiểm.
lOMoARcPSD|36477832
11
HÌNH 2. HÌNH HỆ THỐNG
o 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.
o Loại : software.
o 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.
o Ư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.
o Nhược điểm : Đa số chạy trên hệ điều hành Window. Tuy nhiên cũng đã
có 1 số chạy được trên Unix và những hệ điều hành khác.
Phần II: GIỚI THIỆU VỀ WAZUH 4.0
1. Khái niệm
WAZUH là một dự án mã nguồn mở với các chức năng security detection,
visibility, và compliance monitoring. Wazuh ban đầu được phát triển dựa trên
OSSEC HIDS và sau đó được tích hợp thêm Elastic Stack cùng với OpenSCAP
để trở thành mt giải pháp an ninh toàn diện với các khả năng như:
lOMoARcPSD|36477832
12
HÌNH 3. CÁC CHỨC NĂNG CỦA WAZUH
Wazuh tự động thu thập và tổng hợp dữ liệu bảo mật từ các hệ thống chạy
Linux, Windows, macOS, Solaris, AIX và các hệ điều hành khác trong miền
được giám sát, làm cho nó trở thành mt giải pháp SIEM cực kỳ toàn diện.
Nhưng quan trọng hơn, Wazuh cũng phân tíchđối chiếu dữ liệu để phát hiện
các điểm bất thường và xâm nhập. Loại thông minh này có nghĩa là có khả năng
phát hiện mi đe dọa sớm trong các môi trường khác nhau.
Phản ứng sự cố là một tính năng rất hữu ích của Wazuh đối với các mối đe dọa
đang hoạt động. Có các phản hồi hoạt động ngoài hộp, có nghĩa là người dùng
không phải làm bất cứ điều gì để thiết lập chúng. Nếu hệ thống phát hiện ra các
mối đe dọa đang hoạt động, các biện pháp đối phó sẽ bắt đầu hành động ngay
lập tức.
Ví dụ, nhiều tin tặc sử dụng các cuộc tấn công brute-force để đoán kết hợp tên
người dùng và mật khẩu. Wazuh sẽ lưu ý mỗi lần xác thực không thành công.
Với đủ lỗi, hệ thống sẽ nhận ra chúng là một phần của cuộc tấn công vũ phu. Vì
một tiêu chí nhất định được đáp ứng (ví dụ: năm lần đăng nhập không thành
công), nó sẽ chặn địa chỉ IP đó khỏi các lần thử tiếp theo. Điều này có nghĩa là
Wazuh không chỉ có thể hứng chịu các cuộc tấn công bạo lực mà còn có thể tắt
chúng.
lOMoARcPSD|36477832
13
1.1. OSSEC HIDS
OSSEC là mt HIDS (Host-based Intrusion Detection System) với kiến
trúc gồm các agent vệ tinh đa nền tảng và một hệ thống quản lý trung tâm
(central manager). Các agent này sẽ forward dữ liệu hệ thống (chẳng hạn log
messages, file hashes, và các hoạt động bất thường) đến cho trung tâm quản lý
để được phân tích và xử lý và đưa ra các alert thích hợp. Các dữ liệu này sẽ được
gửi thông qua các kênh truyền an toàn và được xác thực.
Ngoài ra, OSSEC cũng có thể được triển khai với cấu hình một syslog server
trung tâm cùng hệ thống giám sát phi tác nhân (agentless configuration
monitoring system). Ở cấu hình này, OSSEC sẽ đưa ra các security insight từ
các sự kiện và thay đổi diễn ra trên các thiết bị agentless như firewall, switch,
routers, access point, network appliance, …
1.2. OpenSCAP
OpenSCAP là trình thông dịch cho chuẩn ngôn ngữ thẩm định OVAL
(Open Vulnerability Assess - ment Language) và định dạng cấu hình an ninh hệ
thống ECCDF (Extensible Configuration Checklist Description Format).
OpenSCAP có được sử dụng để kiểm tra các cấu hình của hệ thống và phát hiện
các ứng dụng có lỗ hổng. Đâymột công cụ được thiết kế với khả năng thẩm
định và gia cố của các hệ thống áp dụng các tiêu chuẩn an ninh công nghiệp cho
môi trường doanh nghiệp.
1.3. Elastic Stack
Elastic Stack là một bộ phần mềm (Wazuh sử dụng Filebeat,
Elasticsearch, Kibana) được dùng để thu thập, phân giải, index, lưu trữ, tìm kiếm
và biểu diễn log. Elastic Stack cung cấp mt high-level dashboard ở phía front-
end để phục vụ các thao tác phân tích nâng cao cũng như data mining.
2. Các thành phần của WAZUH
2.1. Wazuh Server
Wazuh server chịu trách nhiệm phân tích dữ liệu gửi từ agent và trigger
alert khi có một sự kiện khớp với rule (chẳng hạn phát hiện xâm nhập, file bị
thay đổi, cấu hình không tuân thủ chính sách, rootkit,...).
lOMoARcPSD|36477832
14
HÌNH 4. WAZUH SERVER
Wazuh server thường sẽ được cài đặt trên một máy chủ vật lý hoặc máy ảo riêng
biệt, hay cũng có thể là một máy trên cloud và chạy các agent để tự giám sát
chính nó. Các thành phần chính của Wazuh Server:
Agents registration service: Được sử dụng để đăng ký Agent mi bằng
cách cung cấp và phân phối khóa xác thực chia sẻ trước dành riêng cho
từng Agent. Quá trình này chạy như một dịch vụ mạng và hỗ trợ xác thực
thông qua chứng chỉ TLS / SSL hoặc bằng cách cung cấp mật khẩu cố
định.
Agents registration service: Đây là dịch vụ nhận dữ liệu từ các Agent. Nó
sử dụng các khóa được chia sẻ trước để xác thực danh tính từng tác nhân
và mã hóa thông tin liên lạc giữa tác nhân và Wazuh Serever. Ngoài ra,
dịch vụ này được sử dụng để cung cấp quản lý cấu hình tập trung, có thể
đẩy các cài đặt tác nhân mới từ xa.
Analysis engine: Đây là quá trình thực hiện phân tích dữ liệu. Nó sử dụng
bộ giải mã để xác định loại thông tin đang được xử (ví dụ: Windows
events, SSHD logs, web server logs, v.v.) và trích xuất các phần tử dữ liệu
có liên quan từ thông báo nhật ký (ví dụ: ource IP address, event ID,
username, v.v.) . Tiếp theo, bằng cách sử dụng các quy tắc (Rules), nó xác
định các mẫu cụ thể trong các sự kiện được giải mã có thể kích hoạt cảnh
báo và thậm chí có thể gọi các biện pháp đối phó tự động (ví dụ: lệnh cấm
IP trên tường lửa).
lOMoARcPSD|36477832
15
Wazuh RESTful API:Dịch vụ này cung cấp giao diện để tương tác với cơ
sở hạ tầng Wazuh. Nó được sử dụng để quản lý các tác nhân và cài đặt
cấu hình máy chủ, để theo dõi trạng thái cơ sở hạ tầng và tình trạng tổng
thể, quản lý và chỉnh sửa các quy tắc (Rule) và bộ giải mã Wazuh cũng
như truy vấn về trạng thái của các điểm cuối được giám sát. Nó cũng
được sử dụng bởi giao diện người dùng web Wazuh, đó là ứng dụng
Kibana.
Wazuh cluster daemon: Dịch vụ này được sử dụng để mở rộng các Wazuh
Server theo chiều ngang, triển khai chúng dưới dạng một cụm. Loại cấu
hình này, kết hợp với bộ cân bằng tải mạng, cung cấp tính khả dụng cao
và cân bằng tải. Daemon cụm Wazuh là thứ mà các máy chủ Wazuh sử
dụng để giao tiếp với nhau và giữ đồng bộ hóa.
Filebeat:Nó được sử dụng để gửi các sự kiện và cảnh báo tới
Elasticsearch. Nó đọc kết quả của công cụ phân tích Wazuh và gửi các sự
kiện trong thời gian thực. Nó cũng cung cấp khả năng cân bằng tải khi
được kết nối với một cụm Elasticsearch nhiều nút.
2.2. Wazuh Agent
Wazuh agent có thể được cài đặt trên các hệ điều hành Windows, Linux,
Solaris, BSD, và Mac . Các agent sẽ thu thập dữ liệu từ hệ thống và ứng dụng và
sau đó gửi chúng đến Wazuh server qua mt kênh truyền đã được mã hóa và xác
thực. Kênh truyền an ninh này sẽ được khởi tạo bởi một tiến trình đăng ký sử
dụng các khóa duy nhất với mỗi agent.
Các agent có thể được sử dụng để giám sát các máy chủ vật lý, các máy ảo và
cloud instance (Amazon AWS, Azure, Google Cloud). Các gói cài đặt agent khả
dụng hiện tại bao gồm các gói cài đặt cho Linux, HP-UX, AIX, Solaris,
Windows, và Darwin (Mac OS X).
Trên các hệ điều hành Unix-based, Wazuh agent sẽ chạy nhiều tiến trình riêng
và giao tiếp với nhau thông qua local Unix domain socket. Một trong số các tiến
trình này sẽ chịu trách nhiệm giao tiếp và gửi dữ liệu đến Wazuh server. Đối với
các hệ điều hành Windows, chỉ có một tiến trình agent duy nhất sử dụng mutex
để chạy đa nhiệm các tác vụ. Các tác vụ hoặc tiến trình khác nhau của agent sẽ
lOMoARcPSD|36477832
16
chịu trách nhiệm giám sát khác nhau (chẳng hạn file kiểm tra tính toàn vẹn của
file, đọc log, quét các cấu hình hệ thống).
HÌNH 5. WAZUH AGENT Các
thành phần chính của Wazuh Agent:
Log collector: Tiến trình này sẽ chịu trách nhiệm đọc log hệ thống và ứng
dụng, bao gồm flat log, các log sự kiện tiêu chuẩn và cả các kênh sự kiện
Windows. Ngoài ra, log collector còn có thể được cấu hình để định kỳ bắt
các output từ một số lệnh nhất định.
Command execution: Agent có thể chạy các lệnh được ủy quyền theo
định kỳ, thu thập kết quả đầu ra của chúng và báo cáo lại cho Wazuh
Server để phân tích thêm. Mô-đun này có thể được sử dụng để đáp ứng
các mục đích khác nhau (ví dụ: theo dõi dung lượng cứng còn lại, nhận
danh sách người dùng đăng nhập lần cuối, v.v.).
File integrity monitoring (FIM): Mô-đun này giám sát hệ thống tệp, báo
cáo khi tệp được tạo, xóa hoặc sửa đổi. Nó theo dõi các thuộc tính tệp,
quyền, quyền sở hữu và nội dung. Khi một sự kiện xảy ra, nó nắm bắt
thông tin chi tiết về ai , cái gì và khi nào trong thời gian thực. Ngoài ra,
-đun này xây dựng và duy trì cơ sở dữ liệu với trạng thái của các tệp
được giám sát, cho phép các truy vấn được chạy từ xa.
Security configuration assessment (SCA): Thành phần này cung cấp đánh
giá cấu hình liên tục, sử dụng các kiểm tra bên ngoài dựa trên điểm chuẩn
của Trung tâm Bảo mật Internet (CIS). Người dùng cũng có thể tạo kiểm
tra SCA của riêng họ để giám sát và thực thi các chính sách bảo mật của
lOMoARcPSD|36477832
17
họ. 11 • System inventory:Thành phần này cung cấp đánh giá cấu hình
liên tục, sử dụng các kiểm tra bên ngoài dựa trên điểm chuẩn của Trung
tâm Bảo mật Internet (CIS). Người dùng cũng có thể tạo kiểm tra SCA
của riêng họ để giám sát và thực thi các chính sách bảo mật của họ.
Malware detection: Sử dụng cách tiếp cận không dựa trên chữ ký, thành
phần này có khả năng phát hiện sự bất thường và sự hiện diện có thể
của rootkit. Giám sát các cuộc gọi hệ thống, nó tìm kiếm các quy trình ẩn,
tệp ẩn và cổng ẩn. • Active response:Mô-đun này chạy các hành động tự
động khi các mối đe dọa được phát hiện. Trong số những thứ khác, nó có
thể chặn kết nối mạng, dừng quá trình đang chạy hoặc xóa tệp độc hại.
Người dùng cũng có thể tạo phản hồi tùy chỉnh khi cần thiết (ví dụ: chạy
tệp nhị phân trong hộp cát, nắm bắt lưu lượng kết nối mạng, quét tệp bằng
phần mềm chống vi-rút, v.v.).
Containers security monitoring:Mô-đun tác nhân này được tích hợp với
API Docker Engine để theo dõi các thay đổi trong môi trường được chứa
trong vùng chứa. Ví dụ: nó phát hiện các thay đổi đối với hình ảnh vùng
chứa, cấu hình mạng hoặc khối lượng dữ liệu. Bên cạnh đó, nó cảnh báo
về các vùng chứa đang chạy ở chế độ đặc quyền và về việc người dùng
thực hiện các lệnh trong vùng chứa đang chạy.
Cloud security monitoring:Thành phần này giám sát các nhà cung cấp
đám mây như Amazon AWS, Microsoft Azure hoặc Google GCP. Nó tự
nhiên giao tiếp với các API của họ. Nó có khả năng phát hiện các thay đổi
đối với cơ sở hạ tầng đám mây (ví dụ: người dùng mới được tạo, nhóm
bảo mật được sửa đổi, phiên bản đám mây bị dừng, v.v.) và thu thập dữ
liệu nhật ký dịch vụ đám mây (ví dụ: AWS Cloudtrail, AWS Macie, AWS
GuardDuty , Azure Active Directory, v.v.)
2.3. Elastic Stack
Elastic Stack là một bộ gồm các công cụ mã nguồn mở phục vụ cho mc
đích quản lý log, bao gồm Elasticsearch, Kibana, Filebeat, Logstash,.... Các công
cụ của Elastic stack được sử dụng trong Wazuh gồm:
lOMoARcPSD| 36477832
18
Elasticsearch: Một công cụ tìm kiếm và phân tích mạnh mẽ với chức
năng full-text search cũng như khả năng mở rộng cao. Elasticsearch được
tổ chức phân phối, nghĩa là dữ liệu (index) sẽ được chia thành các phân
đoạn cơ sở dữ liệu (shard) và mỗi phân đoạn có thể có 0 hoặc nhiều bản
sao.
Kibana: Cung cấp một giao diện web linh hoạt và trực quan cho mining,
phân tích, và trình bày dữ liệu. It runs on top of the content indexed on an
Elasticsearch cluster.
Filebeat: Một công cụ gọn nhẹ để forward log trong mạng, thường được
sử dụng cho Elasticsearch.
Wazuh tích hợp Elastic Stack để lưu trữ và index các log đã được giải mã với
Elasticsearch, và sử dụng như một giao diện console real-time để theo dõi các
alert và phân tích log. Bên cạnh đó, giao diện người dùng của Wazuh (chạy trên
Kibana) cũng có thể được sử dụng để quản lý và giám sát hạ tầng của Wazuh.
Một Elasticsearch index là một tập hợp các văn bản có các đặc trưng tương tự.
Wazuh sử dụng 3 index sau:
wazuh-alerts: các alert được tạo bởi Wazuh server.
wazuh-events: mọi event được gửi đến từ agent.
wazuh-monitoring: các dữ liệu liên quan đến trạng thái của agent. Nó
được sử dụng cho giao diện web của Wazuh để hiển thị các trạng thái của
agent như: “Active”, “Disconnected” hay “Never connected”.
Như đã đề cập ở trên, các index của Elasticsearch có thể được chia thành nhiều
phân đoạn (shard) và nhân thành các bản sao. Mỗi thực thể này là một Lucene
index. Vì vậy, có thể coi mt Elasticsearch index là một tập các Lucene index.
Khi một yêu cầu tìm kiếm được thực hiện trên mt Elasticsearch index, yêu cầu
này sẽ được thực thi song song trên các phân đoạn của index và kết quả sau đó
sẽ được được trộn lại với nhau. Việc chia nhỏ các index của Elasticsearch được
sử dụng trong multiple-node Elasticsearch cluster với mục đích mở rộng tìm
kiếm để đảm bảo tính sẵn sàng. Đối với các single-node Elasticsearch cluster thì
thường miindex sẽ chỉ tồn tại một phân đoạn duy nhất và không có bản sao.
lOMoARcPSD|36477832
19
3. Kiến trúc của WAZUH
Kiến trúc của Wazuh xoay quanh mô hình: agent chạy trên các host được
giám sát và forward dữ liệu đến server trung tâm. Bên cạnh đó, Wazuh cũng hỗ
trợ các thiết bị agentless (firewall, switch, router, access point,...) submit dữ liệu
thông qua syslog, hoặc có thể bị động chờ hệ thống quét các thay đổi trong cấu
hình của chúng và sau đó forward dữ liệu đến server trung tâm. Server trung tâm
sẽ chịu trách nhiệm giải mã và phân tích các thông tin được gửi đến và chuyển
tiếp kết quả đến Elasticsearch để được index và lưu trữ.
Một Elasticsearch cluster là một tập hợp của một hay nhiều node (server) giao
tiếp với nhau để thực hiện các thao tác đọc và ghi trên các index. Một
singlenode Elasticsearch cluster có thể dễ dàng quản lý một hệ thống Wazuh cỡ
nhỏ với khoảng 50 agent đổ lại. Các multi-node Elasticsearch cluster thường
được khuyến cáo khi có một số lượng lớn hệ thống cần giám sát,hay có một
lượng dữ liệu lớn, hoặc những hệ thống có yêu cầu cao về tính sẵn sàng.
Khi mà Wazuh server và Elasticsearch cluster nằm trên các host khác nhau,
Filebeat sẽ chịu trách nhiệm truyền tải các alert hoặc các sự kiện hệ thống đến
các Elasticsearch server bằng giao thức TLS.
Mô hình bên dưới minh họa cách các thành phần của một hệt thống Wazuh.
Trong kiểu triển khai này, các thành phần sẽ được cài đặt trên các Host riêng
biệt. Kibana có thể được cài đặt trên cùng mt Host của nút Elasticsearch hoặc
trên một Host riêng biệt. Kiểu triển khai này phù hợp với môi trường sản xuất vì
nó cung cấp tính khả dụng và khả năng mở rộng cao của các dịch vụ.
lOMoARcPSD|36477832
20
HÌNH 6. WAZUH DISTRIBUTED DEPLOYMENT Các
thành phần sẽ được cài đặt:
Máy chủ Wazuh, bao gồm trình quản lý Wazuh dưới dạng một cụm nút
đơn(single-node) hoặc dưới dạng cụm nhiều nút(multi-node), API Wazuh
và Filebeat.
Elastic Stack, bao gồm Open Distro cho Elasticsearch dưới dạng một cụm
nút đơn(single-node) hoặc dưới dạng cụm nhiều nút(single-node) và
Kibana, bao gồm cả plugin Wazuh Kibana, trên cùng một máy chủ lưu trữ
như nút Elasticsearch hoặc trên một máy chủ riêng biệt.
Đối với các triển khai Wazuh quy mô nhỏ thì chúng ta sẽ cài đặt và cấu hình
Wazuh server và Elastic Stack trên cùng một máy chủ.
lOMoARcPSD|36477832
21
HÌNH 7. WAZUH ALL-IN-ONE DEPLOYMENT Các
thành phần sau sẽ được cài đặt:
Wazuh Server, Wazuh Manager dưới dạng một cụm nút đơn(single-node)
và API Wazuh.
Elastic Stack, bao gồm Open Distro cho Elasticsearch dưới dạng một cụm
nút đơn(single-node), Filebeat và Kibana bao gồm cả plugin Wazuh
Kibana.
Về cấu hình đề nghị từ Wazuh:
Tài nguyên cần thiết của Elasticsearch, Logstash và Kibana: 8 cores, tối
thiểu cần 32GB RAM, tối đa cho phép là 64G, dung lượng ổ cứng tối
thiểu 1TB.
Tài nguyên cần thiết của Wazuh Manager: 4 cores, 16GB RAM , dung
lượng ổ cứng tối thiểu 1TB.
lOMoARcPSD|36477832
22
3.1. Giao tiếp Agent Server
Wazuh Agent liên tục gửi các sự kiện đến máy chủ Wazuh Server để phân
tích và phát hiện mối đe dọa. Để bắt đầu vận chuyển chúng, Agent thiết lập kết
nối với dịch vụ Server để kết nối Agent, dịch vụ này sẽ lắng nghe trên port 1514
(cổng này có thể cấu hình được). Máy chủ Wazuh sau đó giải mã và kiểm tra
rule các sự kiện đã nhận, sử dụng công cụ phân tích. Các sự kiện liên quan đến
quy tắc được tăng cường với dữ liệu cảnh báo như Rule ID và Rule name. Sự
kiện có thể được lưu vào một hoặc cả hai tệp sau, tùy thuộc vào việc quy tắc có
bị chặn hay không:
/var/ossec/logs/archives/archives.json mọi sự kiện kể cả có vi phạm rule
hay không.
/var/ossec/logs/alerts/alerts.json các sự kiện vi phạm rule.
Alert sẽ bị lặp nếu sử dụng cả 2 file này để tạo các alert. Bên cạnh đó, cả 2 file
này đều chứa các dữ liệu đã được giải mã.
Wazuh message protocol sử dụng mã hóa Blowfish 192-bit với đủ 16-round,
hoặc mã hóa AES 128 bit mỗi block và 256-bit khóa. Có thể đọc thêm bài viết
Benefits of using AES in Wazuh commu - nications để tìm hiểu thêm chi tiết.
3.2. Giao tiếp Wazuh – Elastic
Filebeat sẽ định dạng các dữ liệu được gửi tới (có thể tùy chọn gắn thêm
thông tin GeoIP) trước khi gửi chúng đến Elasticsearch (port 9200/TCP). Một
khi dữ liệu đã được index tại Elasticsearch , Kibana (port 5601/TCP) sẽ mining
và trình bày dữ liệu ở phía front-end.
Wazuh App chạy trên Kibana sẽ thường xuyên query dữ liệu qua RESTful API
(port 55000/TCP trên Wazuh manager) để hiển thị cấu hình và các thông tin
trạng thái của các server và agent và có thể thực hiện các yêu cầu khởi động lại
agent khi cần thiết. Giao tiếp này sẽ được mã hóa TLS và xác thực với username
và password.
4. Các port cần thiết
Để đảm bảo cho việc cài đặt Wazuh và Elastic Stack, các port sau đây sẽ
được mở để đảm bảo giao tiếp giữa các thành phần trong hệ thống Wazuh được
đảm bảo:
lOMoARcPSD|36477832
23
HÌNH 8. CÁC PORT CẦN THIẾT
HÌNH 9. CÁC PORT CẦN THIẾT
Mọi sự kiện kể cả sự kiện không bị alert cũng sẽ được lưu trữ trong Wazuh
server để gửi đến Elasticsearch nếu cần. Các file lưu trữ này có thể được lưu với
định dạng JSON (.json) hoặc thuần text (.log - chưa giải mã). Các file này sẽ
được nén và checksum với MD5 và SHA1 mỗi ngày. Đường dẫn thư mục và cấu
trúc tên file sẽ như sau:
HÌNH 10. LƯU TRỮ TRONG WAZUH SERVER
lOMoARcPSD|36477832
24
Việc luân chuyển (rotation) và backup các file này sẽ tùy thuộc vào khả năng
lưu trữ củaWazuh manager server. Mặt khác, cũng có thể lựa chọn chuyển hết
mọi file dữ liệu này đến lưu trữ tại Elasticsearch, nhất là đối với các triển khai
Wazuh có Elasticsearch được cấu hình thực hiện các snapshot cho backup định
kỳ hoặc các multi-node Elasticsearch cluster với nhiều bản sao phân đoạn.
Cron job có thể được sử dụng cho việc lựa chọn các file trong một khung thời
gian nhất định để giữ lại trên Wazuh manager (chẳng hạn trong vòng vài tháng
hay một năm đổ lại). Ngoài ra, cũng có thể lên lịch với cron job để tự động
chuyển các snapshot của index trong Elasticsearch đến một server lưu trữ cuối
cùng và checksum với MD5 và SHA1.
Phần III: TRIỂN KHAI THỰC NGHIỆM
Lỗi tràn bộ đêm(buffer overflow): Xảy ra khi dữ liệu vượt ra ngoài biên của bộ
nhớ đêm có chiều dài cố định => điều này dẫn đến là dữ liệu có thể đè lên các
bộ nhớ liền kề. Nếu khai thác được, có thể leo thang đặc quyền và thực hiện các
hành vi nguy hiểm, chiếm quyền khai thác của hệ thống.
Bước 1: Vào Desktop và kiểm tra xem đã có file khai thác lỗi tràn bộ đệm. Tiếp
theo đó biên dịch file bằng câu lệnh gcc, tham số ” -fno-stack-protector ” cho
phép chạy file mà không kiểm tra lỗi tràn bộ đệm, tiếp theo là đến file nguồn
overflow.c : -g cho phép chúng ta “Debug” file: -o là file đầu ra.
lOMoARcPSD|36477832
25
Phần IV: KẾT LUẬN
Duy trì trạng thái bảo mật tốt sẽ làm giảm bề mặt tấn công vào tổ chức và
doanh nghiệp. Wazuh là một giải pháp miễn phí tích hợp tốt với nhiều hệ thống,
công nghệ và thiết bị đầu cuối, cho phép kiểm kê hệ thống, thực hiện đánh giá lỗ
hổng, kiểm tra cấu hình hệ thống, phát hiện và ứng phó với các cuộc tấn công.
Wazuh là một dự án nguồn mở được phát triển dựa trên OSSEC, HIDS và được
tích hợp thêm Elastic Stack cùng với OpenSCAP, trở thành một giải pháp an
ninh tốt trong thời điểm các cuộc tấn công, xâm nhập mạng ngày càng nhiều.
Khả năng bảo mật hệ thống tốt. Các log system của agent cập nhật thường
xuyên, có thông tin chi tiết kèm mức cảnh báo của các alert khiến việc đánh giá
khả năng hệ thống bị tấn công hay không dễ dàng. Các rule đã cài sẵn khá đầy
đủ để cảnh báo các trường hợp xâm nhập mạng phổ biến khiến việc tấn công vào
rất khó khăn. Trong suốt quá trình thực hiện đề tài: “Nghiên cứu và triển khai,
đánh giá HIDS Wazuh”, cả nhóm đã hoàn thành được các nội dung sau:
Về mặt lý thuyết:
Như đã nêu trên bài báo đã chỉ ra dạng cơ bản của hệ thống phát
hiện xâm nhập.
Giới thiệu giải pháp Wazuh và cách nó có thể cải thiện bảo mật kỹ
thuật số.
Về mặt thực nghiệm:
.
Từ đó có thể leo thang đặc quyền và thực hiện các hành vi nguy hiểm,
chiếm quyền khai thác của hệ thống.
Hạn chế: Nhóm chưa thể cài đặt phức tạp khi triển khai mô hình quy mô lớn.
Triển khai theo mô hình phân tán (Distributed deployment) cung cấp khả năng
mở rộng cao của các dịch vụ nhưng cài đặt khó khăn, thường gặp vấn đề lỗi liên
quan đến version khi cài đặt wazuh server. Triển khai wazuh bằng ansible dễ bị
lỗi về vấn đề remote hosts connection. Nhận những alert không cần thiết nếu cấu
hình rule sai.
Do thời gian và kỹ năng lập trình có hạn, nên sản phẩm không thể tránh khỏi các
thiếu sót, nên em và cả nhóm mong nhận được sự góp ý của các thầy cô để sản
phẩm có thể hoàn thiện hơn trong tương lai.
lOMoARcPSD|36477832
26
Đây là sản phẩm của nhóm 4 của học phần “Giám sát và ứng phó sự có an toàn
mạng” và được giám sát và hướng dẫn bởi thầy Đặng Xuân Bảo. Thay mặt cho
các thành viên, em xin cảm ơn sự giúp đỡ tận tình của thầy trong suốt quá trình
làm sản phẩm của nhóm.
lOMoARcPSD|36477832
27
TÀI LIỆU THAM KHẢO
[1] W. (n.d.). Components - Getting started with Wazuh · Wazuh documentation.
https://documentation.wazuh.com/current/getting-started/components/index.html.
[2] Ossec Host-Based Intrusion Detection Guide. (2014). Syngress Publishing.
[3] Dayou Liu, Yangkun, Jianzhong Chen. Research status and development trend on Agent.
Journal of software, November 2000 pp315-321.
| 1/28

Preview text:

lOMoARcPSD| 36477832 MỤC LỤC
ĐÁNH GIÁ CỦA GIẢNG VIÊN ..... Error! Bookmark not defined.
DANH MỤC CÁC HÌNH ẢNH .......................................................... 0
LỜI MỞ ĐẦU ....................................................................................... 4
PHẦN I – TỔNG QUAN VỀ HỆ THỐNG IDS ................................ 6
1. Định nghĩa về IDS ............................................................................ 6
2. Kiến trúc của hệ thống IDS............................................................. 7
3. Phân loại IDS .................................................................................... 8
4. Cách thức hoạt động của Host-Based IDS .................................. 10
Phần II: GIỚI THIỆU VỀ WAZUH 4.0 ......................................... 11
1. Khái niệm ........................................................................................ 11
2. Các thành phần của WAZUH ...................................................... 13
3. Kiến trúc của WAZUH ................................................................. 19
4. Các port cần thiết ........................................................................... 22
Phần III: TRIỂN KHAI THỰC NGHIỆM ..................................... 24
Phần IV: KẾT LUẬN ........................................................................ 25
TÀI LIỆU THAM KHẢO ................................................................. 27
DANH MỤC CÁC HÌNH ẢNH
hình 1. khởi chạy ứng dụng dễ bị tổn thương thông qua thiết bị đầu cuối............9
hình 2. khởi chạy trình gỡ lỗi qua thiết bị đầu cuối...............................................9
hình 3. edb interface............................................................................................10
hình 4. edb - cửa sổ quy trình..............................................................................10
hình 5. đính kèm ứng dụng trong trình gỡ lỗi.....................................................11
hình 6. làm sập ứng dụng crossfire......................................................................11
hình 7. chạy code proof-of-concept từ kali.........................................................12
hình 8. sự cố cho biết tràn bộ đệm......................................................................12
hình 9. tạo một chuỗi đệm duy nhất bằng cách sử dụng msf-pattern_create......12
hình 10. làm hỏng ứng dụng bằng chuỗi đệm duy nhất......................................13
hình 11. lấy phần bù ghi đè.................................................................................13 0 lOMoARcPSD| 36477832
hình 12. esp trỏ đến cuối bộ đệm chỉ để lại 7 byte dung lượng cho shellcode....14
hình 13. các hướng dẫn được tạo bởi mã opcode chuỗi "setup sound"...............15
hình 14. số byte cần thiết để điều chỉnh eax........................................................15
hình 15. lấy opcode shellcode giai đoạn đầu.......................................................16
hình 16. thêm tải trọng giai đoạn đầu tiên...........................................................16
hình 17. các điểm ESP đến điểm bắt đầu của shellcode giai đoạn đầu...............17 1 lOMoARcPSD| 36477832
hình 18. the OpcodeSearcher plugin for EDB....................................................18
hình 19. tìm hướng dẫn tùy chỉnh assembly bằng edb........................................18
hình 20. thêm địa chỉ trả lại vào proof-of-concept..............................................19
hình 21. đặt breakpoint trong edb........................................................................19
hình 22. breakpoint trong trình gỡ lỗi.................................................................20
hình 23. dừng ở shellcode giai đoạn đầu tiên trong bộ nhớ................................20
hình 24. eax trỏ đến phần đầu của bộ đệm A......................................................21
hình 25. chuyển hướng thực thi đến đầu bộ đệm, sau chuỗi " setup sound".......21
hình 26. tạo trình đảo ngược payload bằng msfvenom.......................................22
hình 27. khai thác cuối cùng cho ứng dụng crossfire..........................................22
hình 28. trình đảo ngược bị mắc kẹt....................................................................23
hình 29. edb - debug event..................................................................................23
hình 30. shell đảo ngược đang hoạt động từ máy linux......................................23
hình 31. biên dịch file bằng câu lệnh gcc............................................................24
hình 32. trao quyền thực thi cho file vừa biên dịch.............................................24 2 lOMoARcPSD| 36477832
hình 33. tiến hành debug.....................................................................................25
hình 34. hiển thị mã lệnh được biên dịch của hàm main.....................................26
hình 35. giao diện idapro.....................................................................................27
hình 36. in độ dời của cookie đến buff................................................................27
hình 37. đặt breakpoint và chạy tham số.............................................................27
hình 38. hiển thị giá trị thanh ghi........................................................................28
hình 39. lấy tham số của biến buff......................................................................28
hình 40. chép đè lên biến cookie.........................................................................28
hình 41. tiến hành chạy........................................................................................28
hình 42. kiểm tra địa chỉ biến cookie..................................................................29
hình 43. kết quả của chép đè lên cookie..............................................................29
hình 44. kết quả của chép đè lên cookie..............................................................29
hình 45. vuln.c: Tệp mã nguồn C của chương trình cần được biên dịch.............30
hình 46. Câu lệnh chuyển đổi mã máy thành mã lệnh dễ đọc hơn......................31
hình 47. đặt điểm dừng........................................................................................31
hình 48. in ra giá trị của biến give_shell và đặt break point tại 24......................32
hình 49. hàm give_shell.......................................................................................32
hình 50. hàm give_shell.......................................................................................33
hình 51. tạo file expl.py.......................................................................................33
hình 52. khởi chạy file expl.py...........................................................................34 3 lOMoARcPSD| 36477832 LỜI MỞ ĐẦU
Thế giới gần đây đã chứng kiến sự phát triển lớn trong công nghệ thông
tin và truyền thông và kỹ thuật số. Internet đã và đang thay đổi mọi quan điểm
về học tập, kinh doanh và đưa chúng ta đến với thời đại mới - thời đại công nghệ
số. Internet trở thành một môi trường kinh doanh xoá đi mọi ranh giới quốc gia
và tạo ra một thị trường lớn nhất trong lịch sử nhận loại, cùng với nó là sự phát
triển như vũ bão của mạng toàn cầu tại Việt Nam. Bên cạnh những thành tựu to
lớn của mạng Internet mang lại cho nhân loại mà chúng ta đang đạt được, nỗi lo
về an toàn thông tin ngày càng được quan tâm hơn. Hàng ngày chúng ta được
nghe rất nhiều thông tin về các cuộc tấn cồng vào các hệ thổng thông tin quan
trọng với những thiệt hại rất lớn về tài chính, thông tin riêng tư của các cá nhân và các tổ chức.
Việc đảm bảo an ninh thông tin trên không gian mạng đang là vấn đề dành được
nhiều sự quan tâm. Nguy cơ mất an toàn thông tin đang là mối đe dọa lớn và
ngày càng gia tăng đối với an ninh quốc gia. Có nhiều mục tiêu mà tin tặc
thường nhắm tới như các máy chủ dịch vụ mạng, hệ thống cơ sở hạ tầng mạng.
Mục tiêu của các cuộc tấn công mạng thì rất đa dạng, từ những vấn đề cá nhân,
những mục đích xấu trong kinh doanh cho đến mục tiêu chính trị với tầm ảnh
hường trên nhiêu quốc gia. Tội phạm an ninh mạng ngày càng phát triển cả về
số lượng, quy mô và mức độ nguy hiểm. Rất nhiêu hãng có uy tín về bảo mật đã
có nhiều giải pháp để hạn chế sự tấn công trên mạng và những phương thức đã
được triển khai trong nỗ lực bảo vệ hạ tầng mạng và truyền thông qua mạng
internet bao gồm firewall, các phương thức mã hóa, và các mạng riêng ảo.
Phát hiện xâm nhập cũng là một kỹ thuật liên quan được áp dụng. Các phương
thức phát hiện xâm nhập xuất hiện vài năm gần đây. Với các phương pháp này
người quản trị có thể thu thập và sử dụng thông tin từ các dạng tấn công chưa
được biết hoặc phát hiện cuộc tấn công đang diễn ra. Những thông tin thu thập
được sẽ giúp người quản trị gia cố an ninh mạng, đưa ra các chính sách an toàn
cho hệ thống nhằm giảm thiểu những tấn công bất hợp pháp.
Việc nâng cao kiến thức về an toàn hệ thống là rất cần thiết. Kiến thức là sức
mạnh và chúng ta nên tận dụng tất cả những gì có sẵn. Nhận thấy được tầm quan
trọng cũng như sự nguy hiểm của mã độc và cùng với những kiến thức đã được 4 lOMoARcPSD| 36477832
học, chúng em đã quyết định lựa chọn đề tài: “NGHIÊN CỨU VÀ TRIỂN
KHAI, ĐÁNH GIÁ HIDS WAZUH”.
Mục tiêu đặt ra khi thực hiện đồ án:
1. Nghiên cứu tổng quan về HIDS trình bày những kiến thức chung nhất liên quan đến Wazuh.
2. Trình bày về quá trình thực nghiệm và đánh giá, các kết quả được thựcnghiệm.
Mặc dù đã cố gắng hết khả năng của mình nhưng do trình độ kiến thức và kinh
nghiệm còn hạn chế, nên không tránh khỏi có sự sơ sót. Chúng em rất mong
nhận được sự nhận xét, đánh giá, đóng góp ý kiến của thầy để bài tập này được
hoàn thiện hơn. Chúng em chân thành cảm ơn. 5 lOMoARcPSD| 36477832
PHẦN I – TỔNG QUAN VỀ HỆ THỐNG IDS
1. Định nghĩa về IDS
IDS (Intrusion Detection Systems - Hệ thống phát hiện xâm nhập) là thiết
bị hoặc phần mềm có nhiệm vụ giám sát traffic mạng, các hành vi đáng ngờ và
cảnh báo cho admin hệ thống.
Mục đích của IDS là phát hiện và ngăn ngừa các hành động phá hoại bảo mật hệ
thống, hoặc những hành động trong tiến trình tấn công như dò tìm, quét các cổng.
IDS cũng có thể phân biệt giữa những cuộ tấn công nội bộ (từ chính nhân viên
hoặc khách hàng trong tổ chức) và tấn công bên ngoài (từ hacker). Trong một số
trường hợp, IDS có thể phản ứng lại với các traffic bất thường/độc hại bằng cách
chặn người dùng hoặc địa chỉ IP nguồn truy cập mạng.
Phân biệt rõ ràng sự khác nhau giữa IDS và một số cơ chế bảo mật khác:
• Hệ thống ghi nhật ký mạng được sử dụng để phát hiện lỗ hổng đối với
những cuộc tấn công từ chối dịch vụ (DoS) trên mạng đang bị tắc nghẽn.
Đây là các hệ thống giám sát traffic trong mạng.
• Các công cụ đánh giá lỗ hổng, dùng để kiểm tra lỗi và lỗ hổng trong hệ
điều hành, dịch vụ mạng (các bộ quét bảo mật).
• Các phần mềm diệt virus được thiết kế để phát hiện phần mềm nguy hiểm
như virus, Trojan horse, worm, logic bomb... Mặc dù những tính năng
mặc định có thể rất giống hệ thống phát hiện xâm nhập và thường cung
cấp một công cụ phát hiện vi phạm bảo mật hiệu quả, nhưng xét tổng thể
chúng không phải là IDS. • Tường lửa: Dù nhiều tưởng lửa hiện đại được
tích hợp sẵn IDS, nhưng IDS không phải là tường lửa.
• Các hệ thống bảo mật/mật mã, ví dụ như VPN, SSL, S/MIME, Kerberos, Radius. 6 lOMoARcPSD| 36477832
2. Kiến trúc của hệ thống IDS
HÌNH 1. THÀNH PHẦN CỦA IDS
• Bộ tạo sự kiện (Event Generato): 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. 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.
• Bộ cảm biến (Sensor):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 (Response Module): 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 nhập phức tạp tiềm ẩn (tạo ra từ
nhiều hành động khác nhau).
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ả. 7 lOMoARcPSD| 36477832
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
nhập 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)
hoặc phân tán. Một IDS phân tán gồm nhiều IDS khác nhau trên một mạng lớn,
tất cả chúng truyền thông với nhau. Nhiều hệ thống tinh vi đi theo nguyên lý cấu
trúc một tác nhân, nơi các module nhỏ được tổ chức trên một host trong mạng được bảo vệ.
Hệ thống IDS sẽ hoạt động theo 3 bước: Giám sát - Cảnh báo - Bảo vệ:
• Giám sát : Giám sát lưu lượng mạng cũng như các hoạt động bất thường
• Cảnh báo: Gửi cảnh báo hệ thống cho người quản trị khi phát hiện có bất thường.
• Bảo vệ : Sử dụng các thiết lập từ người quản trị để bảo vệ hệ thống.
Khi một sự xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các quản trị
viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các quản trị
viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ sung
(các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến các
kết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,. . . ) theo các chính sách bảo mật
của các tổ chức. Một IDS là một thành phần nằm trong chính sách bảo mật.
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong những
nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp lý
các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn
công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống.
Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn đề
xảy ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công
hoặc các chữ ký thông qua email. 3. Phân loại IDS
IDS có nhiều loại và tiếp cận các traffic đáng ngờ theo nhiều cách khác
nhau. Có IDS dựa trên mạng (NIDS) và dựa trên máy chủ (HIDS). Có IDS phát
hiện dựa trên việc tìm kiếm các chữ ký cụ thể của những mối đe dọa đã biết
(tương tự như cách các phần mềm diệt virus phát hiện và ngăn chặn malware) và
IDS phát hiện bằng cách so sánh các mẫu traffic với baseline rồi xem có sự bất 8 lOMoAR cPSD| 36477832
thường nào không. Có những IDS chỉ theo dõi và cảnh báo, có IDS sẽ thực hiện
hành động khi phát hiện xâm nhập. Chúng ta sẽ xem xét cụ thể dưới đây:
NIDS: Network Intrusion Detection Systems được đặt tại một điểm chiến
lược hoặc những điểm giám sát traffic đến và đi từ tất cả các thiết bị trên
mạng. Lý tưởng nhất là bạn có thể quét tất cả traffic inbound và outbound,
nhưng việc này có thể tạo ra nút thắt cổ chai làm giảm tốc độ chung của mạng.
HIDS: Host Intrusion Detection Systems, hệ thống phát hiện xâm nhập
này chạy trên máy chủ riêng hoặc một thiết bị đặc biệt trên 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. HIDS
chỉ giám sát các gói dữ liệu inbound và outbound từ thiết bị và cảnh báo
người dùng hoặc quản trị viên về những hoạt động đáng ngờ được phát hiện.
Signature-Based: Là các IDS hoạt động dựa trên chữ ký, giám sát các gói
tin trên mạng và so sánh chúng với cơ sở dữ liệu chữ ký, thuộc tính từ
những mối đe dọa đã biết, tương tự như cách phần mềm diệt virus hoạt
động. Vấn đề đối với hệ thống IDS này là có thể không phát hiện ra mối
đe dọa mới, khi chữ ký để nhận biết nó chưa được IDS kịp cập nhật.
Anomaly-Based: IDS này sẽ phát hiện mối đe dọa dựa trên sự bất
thường. Nó giám sát traffic mạng và so sánh với baseline đã được thiết
lập. Baseline sẽ xác định đâu là mức bình thường của mạng: loại băng
thông thường được dùng, giao thức thường dùng, cổng và thiết bị thường
kết nối với nhau, cảnh báo cho quản trị viên mạng hoặc người dùng khi
phát hiện traffic truy cập bất thường hoặc những khác biệt đáng kể so với baseline.
Passive: IDS thụ động sẽ chỉ phát hiện và cảnh báo. Khi phát hiện traffic
đáng ngờ hoặc độc hại, nó sẽ tạo cảnh báo và gửi đến quản trị viên hoặc
người dùng. Việc hành động như nào sau đó tùy thuộc vào người dùng và quản trị viên. 9 lOMoARcPSD| 36477832
Reactive: Loại IDS này bên cạnh nhiệm vụ như IDS Passive, nó còn thực
hiện những hành động được thiết lập sẵn để ngay lập tức phản ứng lại các
mối đe dọa, ví như: chặn truy cập, khóa IP.
4. Cách thức hoạt động của Host-Based IDS
Với các cuộc tần công trong không gian mạng và kẻ tần công có thẻ đánh
cắp thông tin của một hệ thống khi bị chiếm quyền truy cập, việc bảo mật cho
một công ty hay một tô chức ngày càng được chú trọng. Biết rằng một bức
tường lửa không đủ và không phải là công cụ duy nhất mà dựa vào vì sự an toàn.
Chuyển sang một giai đoạn mới mà chúng ta có thể thực hiện các bước đề bảo
đảm cơ sở hạ tằng CNTT của mình khỏi phần mềm độc hại với giao diện đa lớp.
Phân mềm phát hiện xâm nhập (IDS) là một ứng dụng giám sát mạng hoặc giám
sát một hệ thống cho hoạt động đáng ngờ và thường được ghép nổi với tường
lửa đề tăng tính bảo mật. Một loại khác thuộc IDS là phần mềm phát hiện xâm
nhập dựa trên máy chủ (HIDS). HIDS là một hệ thống rất đa dạng của IDS. Như
tên của nó cho thầy, HIDS sẽ được cài đặt trong một hệ thống máy chủ duy nhất
đề theo dõi và báo cáo về cầu hình và hoạt động ứng dụng của hệ thống. Lớp
bảo vệ bỗ sung này đảm bảo mọi thứ khi vượt qua tường lửa sẽ không khiến hệ
thống dễ bị tôn thương.
HIDS có nhiều khía cạnh, chăng hạn như phát hiện chữ ký (Signature
Detection), phát hiện sự bất thường (Anomaly Detection), phát hiện phân tích
trạng thái giao thức (Stateful Protocol Analysis Detection), giám sát Iogfile
(Monitoring logfile) và giám sát tính toàn vẹn (Monitoring integrity) đễ bảo vệ
hệ thống khỏi các mồi đe doa nguy hiểm. 10 lOMoARcPSD| 36477832
HÌNH 2. MÔ HÌNH HỆ THỐNG
o 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. o Loại : software.
o 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.
o Ư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.
o Nhược điểm : Đa số chạy trên hệ điều hành Window. Tuy nhiên cũng đã
có 1 số chạy được trên Unix và những hệ điều hành khác.
Phần II: GIỚI THIỆU VỀ WAZUH 4.0 1. Khái niệm
WAZUH là một dự án mã nguồn mở với các chức năng security detection,
visibility, và compliance monitoring. Wazuh ban đầu được phát triển dựa trên
OSSEC HIDS và sau đó được tích hợp thêm Elastic Stack cùng với OpenSCAP
để trở thành một giải pháp an ninh toàn diện với các khả năng như: 11 lOMoARcPSD| 36477832
HÌNH 3. CÁC CHỨC NĂNG CỦA WAZUH
Wazuh tự động thu thập và tổng hợp dữ liệu bảo mật từ các hệ thống chạy
Linux, Windows, macOS, Solaris, AIX và các hệ điều hành khác trong miền
được giám sát, làm cho nó trở thành một giải pháp SIEM cực kỳ toàn diện.
Nhưng quan trọng hơn, Wazuh cũng phân tích và đối chiếu dữ liệu để phát hiện
các điểm bất thường và xâm nhập. Loại thông minh này có nghĩa là có khả năng
phát hiện mối đe dọa sớm trong các môi trường khác nhau.
Phản ứng sự cố là một tính năng rất hữu ích của Wazuh đối với các mối đe dọa
đang hoạt động. Có các phản hồi hoạt động ngoài hộp, có nghĩa là người dùng
không phải làm bất cứ điều gì để thiết lập chúng. Nếu hệ thống phát hiện ra các
mối đe dọa đang hoạt động, các biện pháp đối phó sẽ bắt đầu hành động ngay lập tức.
Ví dụ, nhiều tin tặc sử dụng các cuộc tấn công brute-force để đoán kết hợp tên
người dùng và mật khẩu. Wazuh sẽ lưu ý mỗi lần xác thực không thành công.
Với đủ lỗi, hệ thống sẽ nhận ra chúng là một phần của cuộc tấn công vũ phu. Vì
một tiêu chí nhất định được đáp ứng (ví dụ: năm lần đăng nhập không thành
công), nó sẽ chặn địa chỉ IP đó khỏi các lần thử tiếp theo. Điều này có nghĩa là
Wazuh không chỉ có thể hứng chịu các cuộc tấn công bạo lực mà còn có thể tắt chúng. 12 lOMoARcPSD| 36477832 1.1. OSSEC HIDS
OSSEC là một HIDS (Host-based Intrusion Detection System) với kiến
trúc gồm các agent vệ tinh đa nền tảng và một hệ thống quản lý trung tâm
(central manager). Các agent này sẽ forward dữ liệu hệ thống (chẳng hạn log
messages, file hashes, và các hoạt động bất thường) đến cho trung tâm quản lý
để được phân tích và xử lý và đưa ra các alert thích hợp. Các dữ liệu này sẽ được
gửi thông qua các kênh truyền an toàn và được xác thực.
Ngoài ra, OSSEC cũng có thể được triển khai với cấu hình một syslog server
trung tâm cùng hệ thống giám sát phi tác nhân (agentless configuration
monitoring system). Ở cấu hình này, OSSEC sẽ đưa ra các security insight từ
các sự kiện và thay đổi diễn ra trên các thiết bị agentless như firewall, switch,
routers, access point, network appliance, … 1.2. OpenSCAP
OpenSCAP là trình thông dịch cho chuẩn ngôn ngữ thẩm định OVAL
(Open Vulnerability Assess - ment Language) và định dạng cấu hình an ninh hệ
thống ECCDF (Extensible Configuration Checklist Description Format).
OpenSCAP có được sử dụng để kiểm tra các cấu hình của hệ thống và phát hiện
các ứng dụng có lỗ hổng. Đây là một công cụ được thiết kế với khả năng thẩm
định và gia cố của các hệ thống áp dụng các tiêu chuẩn an ninh công nghiệp cho
môi trường doanh nghiệp. 1.3. Elastic Stack
Elastic Stack là một bộ phần mềm (Wazuh sử dụng Filebeat,
Elasticsearch, Kibana) được dùng để thu thập, phân giải, index, lưu trữ, tìm kiếm
và biểu diễn log. Elastic Stack cung cấp một high-level dashboard ở phía front-
end để phục vụ các thao tác phân tích nâng cao cũng như data mining.
2. Các thành phần của WAZUH 2.1. Wazuh Server
Wazuh server chịu trách nhiệm phân tích dữ liệu gửi từ agent và trigger
alert khi có một sự kiện khớp với rule (chẳng hạn phát hiện xâm nhập, file bị
thay đổi, cấu hình không tuân thủ chính sách, rootkit,...). 13 lOMoARcPSD| 36477832 HÌNH 4. WAZUH SERVER
Wazuh server thường sẽ được cài đặt trên một máy chủ vật lý hoặc máy ảo riêng
biệt, hay cũng có thể là một máy trên cloud và chạy các agent để tự giám sát
chính nó. Các thành phần chính của Wazuh Server:
• Agents registration service: Được sử dụng để đăng ký Agent mới bằng
cách cung cấp và phân phối khóa xác thực chia sẻ trước dành riêng cho
từng Agent. Quá trình này chạy như một dịch vụ mạng và hỗ trợ xác thực
thông qua chứng chỉ TLS / SSL hoặc bằng cách cung cấp mật khẩu cố định.
• Agents registration service: Đây là dịch vụ nhận dữ liệu từ các Agent. Nó
sử dụng các khóa được chia sẻ trước để xác thực danh tính từng tác nhân
và mã hóa thông tin liên lạc giữa tác nhân và Wazuh Serever. Ngoài ra,
dịch vụ này được sử dụng để cung cấp quản lý cấu hình tập trung, có thể
đẩy các cài đặt tác nhân mới từ xa.
• Analysis engine: Đây là quá trình thực hiện phân tích dữ liệu. Nó sử dụng
bộ giải mã để xác định loại thông tin đang được xử lý (ví dụ: Windows
events, SSHD logs, web server logs, v.v.) và trích xuất các phần tử dữ liệu
có liên quan từ thông báo nhật ký (ví dụ: ource IP address, event ID,
username, v.v.) . Tiếp theo, bằng cách sử dụng các quy tắc (Rules), nó xác
định các mẫu cụ thể trong các sự kiện được giải mã có thể kích hoạt cảnh
báo và thậm chí có thể gọi các biện pháp đối phó tự động (ví dụ: lệnh cấm IP trên tường lửa). 14 lOMoARcPSD| 36477832
• Wazuh RESTful API:Dịch vụ này cung cấp giao diện để tương tác với cơ
sở hạ tầng Wazuh. Nó được sử dụng để quản lý các tác nhân và cài đặt
cấu hình máy chủ, để theo dõi trạng thái cơ sở hạ tầng và tình trạng tổng
thể, quản lý và chỉnh sửa các quy tắc (Rule) và bộ giải mã Wazuh cũng
như truy vấn về trạng thái của các điểm cuối được giám sát. Nó cũng
được sử dụng bởi giao diện người dùng web Wazuh, đó là ứng dụng Kibana.
• Wazuh cluster daemon: Dịch vụ này được sử dụng để mở rộng các Wazuh
Server theo chiều ngang, triển khai chúng dưới dạng một cụm. Loại cấu
hình này, kết hợp với bộ cân bằng tải mạng, cung cấp tính khả dụng cao
và cân bằng tải. Daemon cụm Wazuh là thứ mà các máy chủ Wazuh sử
dụng để giao tiếp với nhau và giữ đồng bộ hóa.
• Filebeat:Nó được sử dụng để gửi các sự kiện và cảnh báo tới
Elasticsearch. Nó đọc kết quả của công cụ phân tích Wazuh và gửi các sự
kiện trong thời gian thực. Nó cũng cung cấp khả năng cân bằng tải khi
được kết nối với một cụm Elasticsearch nhiều nút. 2.2. Wazuh Agent
Wazuh agent có thể được cài đặt trên các hệ điều hành Windows, Linux,
Solaris, BSD, và Mac . Các agent sẽ thu thập dữ liệu từ hệ thống và ứng dụng và
sau đó gửi chúng đến Wazuh server qua một kênh truyền đã được mã hóa và xác
thực. Kênh truyền an ninh này sẽ được khởi tạo bởi một tiến trình đăng ký sử
dụng các khóa duy nhất với mỗi agent.
Các agent có thể được sử dụng để giám sát các máy chủ vật lý, các máy ảo và
cloud instance (Amazon AWS, Azure, Google Cloud). Các gói cài đặt agent khả
dụng hiện tại bao gồm các gói cài đặt cho Linux, HP-UX, AIX, Solaris,
Windows, và Darwin (Mac OS X).
Trên các hệ điều hành Unix-based, Wazuh agent sẽ chạy nhiều tiến trình riêng
và giao tiếp với nhau thông qua local Unix domain socket. Một trong số các tiến
trình này sẽ chịu trách nhiệm giao tiếp và gửi dữ liệu đến Wazuh server. Đối với
các hệ điều hành Windows, chỉ có một tiến trình agent duy nhất sử dụng mutex
để chạy đa nhiệm các tác vụ. Các tác vụ hoặc tiến trình khác nhau của agent sẽ 15 lOMoARcPSD| 36477832
chịu trách nhiệm giám sát khác nhau (chẳng hạn file kiểm tra tính toàn vẹn của
file, đọc log, quét các cấu hình hệ thống).
HÌNH 5. WAZUH AGENT Các
thành phần chính của Wazuh Agent:
• Log collector: Tiến trình này sẽ chịu trách nhiệm đọc log hệ thống và ứng
dụng, bao gồm flat log, các log sự kiện tiêu chuẩn và cả các kênh sự kiện
Windows. Ngoài ra, log collector còn có thể được cấu hình để định kỳ bắt
các output từ một số lệnh nhất định.
• Command execution: Agent có thể chạy các lệnh được ủy quyền theo
định kỳ, thu thập kết quả đầu ra của chúng và báo cáo lại cho Wazuh
Server để phân tích thêm. Mô-đun này có thể được sử dụng để đáp ứng
các mục đích khác nhau (ví dụ: theo dõi dung lượng ổ cứng còn lại, nhận
danh sách người dùng đăng nhập lần cuối, v.v.).
• File integrity monitoring (FIM): Mô-đun này giám sát hệ thống tệp, báo
cáo khi tệp được tạo, xóa hoặc sửa đổi. Nó theo dõi các thuộc tính tệp,
quyền, quyền sở hữu và nội dung. Khi một sự kiện xảy ra, nó nắm bắt
thông tin chi tiết về ai , cái gì và khi nào trong thời gian thực. Ngoài ra,
mô-đun này xây dựng và duy trì cơ sở dữ liệu với trạng thái của các tệp
được giám sát, cho phép các truy vấn được chạy từ xa.
• Security configuration assessment (SCA): Thành phần này cung cấp đánh
giá cấu hình liên tục, sử dụng các kiểm tra bên ngoài dựa trên điểm chuẩn
của Trung tâm Bảo mật Internet (CIS). Người dùng cũng có thể tạo kiểm
tra SCA của riêng họ để giám sát và thực thi các chính sách bảo mật của 16 lOMoARcPSD| 36477832
họ. 11 • System inventory:Thành phần này cung cấp đánh giá cấu hình
liên tục, sử dụng các kiểm tra bên ngoài dựa trên điểm chuẩn của Trung
tâm Bảo mật Internet (CIS). Người dùng cũng có thể tạo kiểm tra SCA
của riêng họ để giám sát và thực thi các chính sách bảo mật của họ.
• Malware detection: Sử dụng cách tiếp cận không dựa trên chữ ký, thành
phần này có khả năng phát hiện sự bất thường và sự hiện diện có thể có
của rootkit. Giám sát các cuộc gọi hệ thống, nó tìm kiếm các quy trình ẩn,
tệp ẩn và cổng ẩn. • Active response:Mô-đun này chạy các hành động tự
động khi các mối đe dọa được phát hiện. Trong số những thứ khác, nó có
thể chặn kết nối mạng, dừng quá trình đang chạy hoặc xóa tệp độc hại.
Người dùng cũng có thể tạo phản hồi tùy chỉnh khi cần thiết (ví dụ: chạy
tệp nhị phân trong hộp cát, nắm bắt lưu lượng kết nối mạng, quét tệp bằng
phần mềm chống vi-rút, v.v.).
• Containers security monitoring:Mô-đun tác nhân này được tích hợp với
API Docker Engine để theo dõi các thay đổi trong môi trường được chứa
trong vùng chứa. Ví dụ: nó phát hiện các thay đổi đối với hình ảnh vùng
chứa, cấu hình mạng hoặc khối lượng dữ liệu. Bên cạnh đó, nó cảnh báo
về các vùng chứa đang chạy ở chế độ đặc quyền và về việc người dùng
thực hiện các lệnh trong vùng chứa đang chạy.
• Cloud security monitoring:Thành phần này giám sát các nhà cung cấp
đám mây như Amazon AWS, Microsoft Azure hoặc Google GCP. Nó tự
nhiên giao tiếp với các API của họ. Nó có khả năng phát hiện các thay đổi
đối với cơ sở hạ tầng đám mây (ví dụ: người dùng mới được tạo, nhóm
bảo mật được sửa đổi, phiên bản đám mây bị dừng, v.v.) và thu thập dữ
liệu nhật ký dịch vụ đám mây (ví dụ: AWS Cloudtrail, AWS Macie, AWS
GuardDuty , Azure Active Directory, v.v.) 2.3. Elastic Stack
Elastic Stack là một bộ gồm các công cụ mã nguồn mở phục vụ cho mục
đích quản lý log, bao gồm Elasticsearch, Kibana, Filebeat, Logstash,.... Các công
cụ của Elastic stack được sử dụng trong Wazuh gồm: 17 lOMoAR cPSD| 36477832
Elasticsearch: Một công cụ tìm kiếm và phân tích mạnh mẽ với chức
năng full-text search cũng như khả năng mở rộng cao. Elasticsearch được
tổ chức phân phối, nghĩa là dữ liệu (index) sẽ được chia thành các phân
đoạn cơ sở dữ liệu (shard) và mỗi phân đoạn có thể có 0 hoặc nhiều bản sao.
Kibana: Cung cấp một giao diện web linh hoạt và trực quan cho mining,
phân tích, và trình bày dữ liệu. It runs on top of the content indexed on an Elasticsearch cluster.
Filebeat: Một công cụ gọn nhẹ để forward log trong mạng, thường được
sử dụng cho Elasticsearch.
Wazuh tích hợp Elastic Stack để lưu trữ và index các log đã được giải mã với
Elasticsearch, và sử dụng như một giao diện console real-time để theo dõi các
alert và phân tích log. Bên cạnh đó, giao diện người dùng của Wazuh (chạy trên
Kibana) cũng có thể được sử dụng để quản lý và giám sát hạ tầng của Wazuh.
Một Elasticsearch index là một tập hợp các văn bản có các đặc trưng tương tự.
Wazuh sử dụng 3 index sau:
• wazuh-alerts: các alert được tạo bởi Wazuh server.
• wazuh-events: mọi event được gửi đến từ agent.
• wazuh-monitoring: các dữ liệu liên quan đến trạng thái của agent. Nó
được sử dụng cho giao diện web của Wazuh để hiển thị các trạng thái của
agent như: “Active”, “Disconnected” hay “Never connected”.
Như đã đề cập ở trên, các index của Elasticsearch có thể được chia thành nhiều
phân đoạn (shard) và nhân thành các bản sao. Mỗi thực thể này là một Lucene
index. Vì vậy, có thể coi một Elasticsearch index là một tập các Lucene index.
Khi một yêu cầu tìm kiếm được thực hiện trên một Elasticsearch index, yêu cầu
này sẽ được thực thi song song trên các phân đoạn của index và kết quả sau đó
sẽ được được trộn lại với nhau. Việc chia nhỏ các index của Elasticsearch được
sử dụng trong multiple-node Elasticsearch cluster với mục đích mở rộng tìm
kiếm để đảm bảo tính sẵn sàng. Đối với các single-node Elasticsearch cluster thì
thường mỗiindex sẽ chỉ tồn tại một phân đoạn duy nhất và không có bản sao. 18 lOMoARcPSD| 36477832
3. Kiến trúc của WAZUH
Kiến trúc của Wazuh xoay quanh mô hình: agent chạy trên các host được
giám sát và forward dữ liệu đến server trung tâm. Bên cạnh đó, Wazuh cũng hỗ
trợ các thiết bị agentless (firewall, switch, router, access point,...) submit dữ liệu
thông qua syslog, hoặc có thể bị động chờ hệ thống quét các thay đổi trong cấu
hình của chúng và sau đó forward dữ liệu đến server trung tâm. Server trung tâm
sẽ chịu trách nhiệm giải mã và phân tích các thông tin được gửi đến và chuyển
tiếp kết quả đến Elasticsearch để được index và lưu trữ.
Một Elasticsearch cluster là một tập hợp của một hay nhiều node (server) giao
tiếp với nhau để thực hiện các thao tác đọc và ghi trên các index. Một
singlenode Elasticsearch cluster có thể dễ dàng quản lý một hệ thống Wazuh cỡ
nhỏ với khoảng 50 agent đổ lại. Các multi-node Elasticsearch cluster thường
được khuyến cáo khi có một số lượng lớn hệ thống cần giám sát,hay có một
lượng dữ liệu lớn, hoặc những hệ thống có yêu cầu cao về tính sẵn sàng.
Khi mà Wazuh server và Elasticsearch cluster nằm trên các host khác nhau,
Filebeat sẽ chịu trách nhiệm truyền tải các alert hoặc các sự kiện hệ thống đến
các Elasticsearch server bằng giao thức TLS.
Mô hình bên dưới minh họa cách các thành phần của một hệt thống Wazuh.
Trong kiểu triển khai này, các thành phần sẽ được cài đặt trên các Host riêng
biệt. Kibana có thể được cài đặt trên cùng một Host của nút Elasticsearch hoặc
trên một Host riêng biệt. Kiểu triển khai này phù hợp với môi trường sản xuất vì
nó cung cấp tính khả dụng và khả năng mở rộng cao của các dịch vụ. 19 lOMoARcPSD| 36477832
HÌNH 6. WAZUH DISTRIBUTED DEPLOYMENT Các
thành phần sẽ được cài đặt:
• Máy chủ Wazuh, bao gồm trình quản lý Wazuh dưới dạng một cụm nút
đơn(single-node) hoặc dưới dạng cụm nhiều nút(multi-node), API Wazuh và Filebeat.
• Elastic Stack, bao gồm Open Distro cho Elasticsearch dưới dạng một cụm
nút đơn(single-node) hoặc dưới dạng cụm nhiều nút(single-node) và
Kibana, bao gồm cả plugin Wazuh Kibana, trên cùng một máy chủ lưu trữ
như nút Elasticsearch hoặc trên một máy chủ riêng biệt.
Đối với các triển khai Wazuh quy mô nhỏ thì chúng ta sẽ cài đặt và cấu hình
Wazuh server và Elastic Stack trên cùng một máy chủ. 20 lOMoARcPSD| 36477832
HÌNH 7. WAZUH ALL-IN-ONE DEPLOYMENT Các
thành phần sau sẽ được cài đặt:
• Wazuh Server, Wazuh Manager dưới dạng một cụm nút đơn(single-node) và API Wazuh.
• Elastic Stack, bao gồm Open Distro cho Elasticsearch dưới dạng một cụm
nút đơn(single-node), Filebeat và Kibana bao gồm cả plugin Wazuh Kibana.
Về cấu hình đề nghị từ Wazuh:
• Tài nguyên cần thiết của Elasticsearch, Logstash và Kibana: 8 cores, tối
thiểu cần 32GB RAM, tối đa cho phép là 64G, dung lượng ổ cứng tối thiểu 1TB.
• Tài nguyên cần thiết của Wazuh Manager: 4 cores, 16GB RAM , dung
lượng ổ cứng tối thiểu 1TB. 21 lOMoARcPSD| 36477832
3.1. Giao tiếp Agent – Server
Wazuh Agent liên tục gửi các sự kiện đến máy chủ Wazuh Server để phân
tích và phát hiện mối đe dọa. Để bắt đầu vận chuyển chúng, Agent thiết lập kết
nối với dịch vụ Server để kết nối Agent, dịch vụ này sẽ lắng nghe trên port 1514
(cổng này có thể cấu hình được). Máy chủ Wazuh sau đó giải mã và kiểm tra
rule các sự kiện đã nhận, sử dụng công cụ phân tích. Các sự kiện liên quan đến
quy tắc được tăng cường với dữ liệu cảnh báo như Rule ID và Rule name. Sự
kiện có thể được lưu vào một hoặc cả hai tệp sau, tùy thuộc vào việc quy tắc có bị chặn hay không:
• /var/ossec/logs/archives/archives.json mọi sự kiện kể cả có vi phạm rule hay không.
• /var/ossec/logs/alerts/alerts.json các sự kiện vi phạm rule.
Alert sẽ bị lặp nếu sử dụng cả 2 file này để tạo các alert. Bên cạnh đó, cả 2 file
này đều chứa các dữ liệu đã được giải mã.
Wazuh message protocol sử dụng mã hóa Blowfish 192-bit với đủ 16-round,
hoặc mã hóa AES 128 bit mỗi block và 256-bit khóa. Có thể đọc thêm bài viết
Benefits of using AES in Wazuh commu - nications để tìm hiểu thêm chi tiết.
3.2. Giao tiếp Wazuh – Elastic
Filebeat sẽ định dạng các dữ liệu được gửi tới (có thể tùy chọn gắn thêm
thông tin GeoIP) trước khi gửi chúng đến Elasticsearch (port 9200/TCP). Một
khi dữ liệu đã được index tại Elasticsearch , Kibana (port 5601/TCP) sẽ mining
và trình bày dữ liệu ở phía front-end.
Wazuh App chạy trên Kibana sẽ thường xuyên query dữ liệu qua RESTful API
(port 55000/TCP trên Wazuh manager) để hiển thị cấu hình và các thông tin
trạng thái của các server và agent và có thể thực hiện các yêu cầu khởi động lại
agent khi cần thiết. Giao tiếp này sẽ được mã hóa TLS và xác thực với username và password.
4. Các port cần thiết
Để đảm bảo cho việc cài đặt Wazuh và Elastic Stack, các port sau đây sẽ
được mở để đảm bảo giao tiếp giữa các thành phần trong hệ thống Wazuh được đảm bảo: 22 lOMoARcPSD| 36477832
HÌNH 8. CÁC PORT CẦN THIẾT
HÌNH 9. CÁC PORT CẦN THIẾT
Mọi sự kiện kể cả sự kiện không bị alert cũng sẽ được lưu trữ trong Wazuh
server để gửi đến Elasticsearch nếu cần. Các file lưu trữ này có thể được lưu với
định dạng JSON (.json) hoặc thuần text (.log - chưa giải mã). Các file này sẽ
được nén và checksum với MD5 và SHA1 mỗi ngày. Đường dẫn thư mục và cấu
trúc tên file sẽ như sau:
HÌNH 10. LƯU TRỮ TRONG WAZUH SERVER 23 lOMoARcPSD| 36477832
Việc luân chuyển (rotation) và backup các file này sẽ tùy thuộc vào khả năng
lưu trữ củaWazuh manager server. Mặt khác, cũng có thể lựa chọn chuyển hết
mọi file dữ liệu này đến lưu trữ tại Elasticsearch, nhất là đối với các triển khai
Wazuh có Elasticsearch được cấu hình thực hiện các snapshot cho backup định
kỳ hoặc các multi-node Elasticsearch cluster với nhiều bản sao phân đoạn.
Cron job có thể được sử dụng cho việc lựa chọn các file trong một khung thời
gian nhất định để giữ lại trên Wazuh manager (chẳng hạn trong vòng vài tháng
hay một năm đổ lại). Ngoài ra, cũng có thể lên lịch với cron job để tự động
chuyển các snapshot của index trong Elasticsearch đến một server lưu trữ cuối
cùng và checksum với MD5 và SHA1.
Phần III: TRIỂN KHAI THỰC NGHIỆM
Lỗi tràn bộ đêm(buffer overflow): Xảy ra khi dữ liệu vượt ra ngoài biên của bộ
nhớ đêm có chiều dài cố định => điều này dẫn đến là dữ liệu có thể đè lên các
bộ nhớ liền kề. Nếu khai thác được, có thể leo thang đặc quyền và thực hiện các
hành vi nguy hiểm, chiếm quyền khai thác của hệ thống.
Bước 1: Vào Desktop và kiểm tra xem đã có file khai thác lỗi tràn bộ đệm. Tiếp
theo đó biên dịch file bằng câu lệnh gcc, tham số ” -fno-stack-protector ” cho
phép chạy file mà không kiểm tra lỗi tràn bộ đệm, tiếp theo là đến file nguồn
overflow.c : -g cho phép chúng ta “Debug” file: -o là file đầu ra. 24 lOMoARcPSD| 36477832
Phần IV: KẾT LUẬN
Duy trì trạng thái bảo mật tốt sẽ làm giảm bề mặt tấn công vào tổ chức và
doanh nghiệp. Wazuh là một giải pháp miễn phí tích hợp tốt với nhiều hệ thống,
công nghệ và thiết bị đầu cuối, cho phép kiểm kê hệ thống, thực hiện đánh giá lỗ
hổng, kiểm tra cấu hình hệ thống, phát hiện và ứng phó với các cuộc tấn công.
Wazuh là một dự án nguồn mở được phát triển dựa trên OSSEC, HIDS và được
tích hợp thêm Elastic Stack cùng với OpenSCAP, trở thành một giải pháp an
ninh tốt trong thời điểm các cuộc tấn công, xâm nhập mạng ngày càng nhiều.
Khả năng bảo mật hệ thống tốt. Các log system của agent cập nhật thường
xuyên, có thông tin chi tiết kèm mức cảnh báo của các alert khiến việc đánh giá
khả năng hệ thống bị tấn công hay không dễ dàng. Các rule đã cài sẵn khá đầy
đủ để cảnh báo các trường hợp xâm nhập mạng phổ biến khiến việc tấn công vào
rất khó khăn. Trong suốt quá trình thực hiện đề tài: “Nghiên cứu và triển khai,
đánh giá HIDS Wazuh”, cả nhóm đã hoàn thành được các nội dung sau: ● Về mặt lý thuyết:
• Như đã nêu trên bài báo đã chỉ ra dạng cơ bản của hệ thống phát hiện xâm nhập.
• Giới thiệu giải pháp Wazuh và cách nó có thể cải thiện bảo mật kỹ thuật số.
● Về mặt thực nghiệm: ● .
● Từ đó có thể leo thang đặc quyền và thực hiện các hành vi nguy hiểm,
chiếm quyền khai thác của hệ thống.
Hạn chế: Nhóm chưa thể cài đặt phức tạp khi triển khai mô hình quy mô lớn.
Triển khai theo mô hình phân tán (Distributed deployment) cung cấp khả năng
mở rộng cao của các dịch vụ nhưng cài đặt khó khăn, thường gặp vấn đề lỗi liên
quan đến version khi cài đặt wazuh server. Triển khai wazuh bằng ansible dễ bị
lỗi về vấn đề remote hosts connection. Nhận những alert không cần thiết nếu cấu hình rule sai.
Do thời gian và kỹ năng lập trình có hạn, nên sản phẩm không thể tránh khỏi các
thiếu sót, nên em và cả nhóm mong nhận được sự góp ý của các thầy cô để sản
phẩm có thể hoàn thiện hơn trong tương lai. 25 lOMoARcPSD| 36477832
Đây là sản phẩm của nhóm 4 của học phần “Giám sát và ứng phó sự có an toàn
mạng” và được giám sát và hướng dẫn bởi thầy Đặng Xuân Bảo. Thay mặt cho
các thành viên, em xin cảm ơn sự giúp đỡ tận tình của thầy trong suốt quá trình
làm sản phẩm của nhóm. 26 lOMoARcPSD| 36477832
TÀI LIỆU THAM KHẢO
[1] W. (n.d.). Components - Getting started with Wazuh · Wazuh documentation.
https://documentation.wazuh.com/current/getting-started/components/index.html.
[2] Ossec Host-Based Intrusion Detection Guide. (2014). Syngress Publishing.
[3] Dayou Liu, Yangkun, Jianzhong Chen. Research status and development trend on Agent.
Journal of software, November 2000 pp:315-321. 27