You are on page 1of 10

Kỹ thuật thu thập và phân tích tệp tin nhật ký từ honeynet

ÁP DỤNG KỸ THUẬT KHAI THÁC DỮ LIỆU TRONG PHÂN TÍCH HONEYPOT VÀ


HONEYNET

1. Giới thiệu

Các cách phòng thủ truyền thống (ví dụ: tường lửa, IDS, IPS) đang trở nên ít hơn và không
hiệu quả. Đó là do bản chất thay đổi của những kẻ tấn công hành vi, phương pháp và công cụ.
Do đó, những kẻ tấn công là một vài bước trước các cơ chế phòng thủ. Từ quan điểm này,
chúng tôi cần tìm ra các phương pháp mới để bảo vệ thông tin và cơ sở hạ tầng của các tổ
chức. Một trong những cách tiếp cận hiệu quả để bảo vệ chúng là khái niệm của honeypots và
honeynets.

Một honeypot là một tài nguyên điện toán, có giá trị trong việc bị tấn công của. Lance Spitzner
định nghĩa honeypots là một tài nguyên hệ thống thông tin có giá trị nằm trong việc sử dụng
trái phép hoặc bất hợp pháp tài nguyên đó. Honeypots là một công cụ rất hữu ích cho tìm hiểu
về các công cụ, thủ tục, mục tiêu và phương pháp của những kẻ tấn công.

Đối với mục đích của bài viết này, chúng tôi phân loại honeypots theo mức độ tương tác và vai
trò của chúng. Việc phân loại đầu tiên dựa trên vai trò của honeypot.
Theo cách phân loại này, honeypots được chia thành honeypots phía máy chủ và honeypots
phía khách hàng. Honeypots phía máy chủ rất hữu ích trong việc phát hiện các khai thác mới,
thu thập phần mềm độc hại và làm phong phú nghiên cứu về phân tích mối đe dọa (ví dụ:
Conpot). Mặt khác, honeypots cho các cuộc tấn công phía khách hàng được gọi là phía khách
hàng (ví dụ: Thug). Động lực chính của honeypots phía khách hàng là xác định và phát hiện
các hoạt động độc hại trên Internet

Việc phân loại thứ hai dựa trên mức độ tương tác. Mức độ tương tác có thể được định nghĩa là
phạm vi khả năng mà honeypot cho phép kẻ tấn công có. Các honeypot tương tác thấp phát
hiện những kẻ tấn công bằng cách sử dụng phần mềm mô phỏng các đặc điểm của một hệ điều
hành và dịch vụ mạng cụ thể trên hệ điều hành máy chủ. Ưu điểm của phương pháp này là
kiểm soát tốt hơn các hoạt động của kẻ tấn công, vì kẻ tấn công bị giới hạn ở phần mềm chạy
trên hệ điều hành máy chủ. Mặt khác, bất lợi về phương pháp này là thực tế là honeypot tương
tác thấp mô phỏng dịch vụ, hoặc vài dịch vụ, nhưng nó không mô phỏng hệ điều hành hoàn
chỉnh. Ví dụ về honeypot loại này là Dionaea, HoneyD.

Honeypots cung cấp cho kẻ tấn công khả năng tương tác nhiều hơn so với honeypots tương tác
thấp, nhưng ít chức năng hơn các giải pháp tương tác cao, được gọi là honeypots tương tác
trung bình. Họ có thể, mong đợi hoạt động nhất định và được thiết kế để đưa ra những phản
hồi nhất định vượt ra ngoài những gì một honeypot tương tác thấp sẽ mang lại cho
Ví dụ về loại honeypot này là Kippo.
2. Khung đề xuất để phân tích dữ liệu
Để triển khai thành công honeynet, chúng ta phải triển khai chính xác honeyne kiến trúc. Có
một quy tắc duy nhất về cách người ta nên triển khai kiến trúc này. Có ba yếu tố cốt lõi của
kiến trúc honeynet:
 Thu thập dữ liệu - theo dõi và ghi nhật ký mọi hoạt động của kẻ tấn công trong honeynet
 Kiểm soát dữ liệu - mục đích của nó là kiểm soát và chứa hoạt động của kẻ tấn công.
 Thu thập dữ liệu - tất cả dữ liệu được thu thập và lưu trữ ở một vị trí trung tâm.

Hai chức năng cốt lõi đầu tiên là quan trọng nhất và chúng có thể áp dụng cho mọi triển khai
honeynet. Hàm cốt lõi cuối cùng - thu thập dữ liệu - được tổ chức áp dụng trong trường hợp tổ
chức đó có nhiều honeynet trong môi trường phân tán.

Phân tích .Data là một khả năng của honeynet để phân tích dữ liệu đang được thu thập từ nó.
Phân tích dữ liệu được sử dụng để hiểu, phân tích và theo dõi các đầu dò bị bắt, các cuộc tấn
công hoặc một số hoạt động độc hại khác. Ví dụ về điều này yếu tố cốt lõi là sự kết hợp của
các thiết bị bảo mật, như tường lửa (IPtables), hệ thống ngăn chặn xâm nhập (Cisco IPS) và hệ
thống phát hiện xâm nhập (Snort, Suricata), trong đó các thiết bị bảo mật này có thể phân tích
chi tiết lưu lượng mạng và trả về kết quả phân tích một cách hữu hình.

Triển khai và sử dụng honeypots và honeynets mang lại nhiều lợi ích, ví dụ: khả năng khám
phá các hình thức tấn công mới. Mặt khác, việc sử dụng honeypots và honeynets mang đến
một số vấn đề. Động lực chính để xây dựng bài báo này là có một số vấn đề trong lĩnh vực
phân tích dữ liệu. Có rất nhiều triển khai của honeypots thu thập dữ liệu. Ở hầu hết các trường
hợp họ sử dụng định dạng khác nhau để lưu trữ hoặc dữ liệu được thu thập khác nhau. Do đó,
rất khó để phân tích cuộc tấn công từ các loại honeypots khác nhau. Một vấn đề khác thể hiện
một cách an toàn để chuyển dữ liệu được thu thập từ honeypots sang bản phân tích.

Mục đích của khung đề xuất là phân tích dữ liệu được thu thập bởi các loại honeypots khác
nhau. Khung này được hiển thị trong hình 1và bao gồm hai phần, chẳng hạn như phần máy
khách và phần máy chủ. Phần khách hàng được đặt trong honeypots hoặc trong honeynets (đặc
biệt là honeynets ảo). Mục đích của nó là chuyển đổi dữ liệu từ honeypot hoặc honeynet và
chuyển chúng vào cơ sở dữ liệu trung tâm. Phần khách hàng bao gồm:
 bộ sưu tập khách hàng
 kết nối an toàn - giao tiếp giữa mỗi bộ thu và cơ sở dữ liệu trung tâm được bảo mật bởi dịch
vụ mạng Stunnel4 với xác thực PKI lẫn nhau.
Hình 1: Sơ đồ khung đề xuất

Phần máy khách của hệ thống đề xuất được thực hiện theo 2 cách:
 Thu thập dữ liệu trực tiếp từ honeypots độc lập (hình 2a).
 Thu thập dữ liệu từ honeynet ảo dựa trên ảo hóa hệ điều hành (hình 2b).

Hình 2: Sơ đồ thu thập dữ liệu.

Mặt khác, dữ liệu được thu thập từ honeypots hoặc honeynets được lưu trữ và phân tích ở một
nơi - phần máy chủ. Phần này bao gồm:
 cơ sở dữ liệu trung tâm.
 mô đun phân tích với giao diện web.

3. Collector trong honeypots và honeynets ảo.


Dữ liệu để phân tích được thu thập từ honeypots và honeynets bởi Collector. Collector là một
tập lệnh python đơn giản (với các công cụ bên ngoài - ví dụ: mysqlbinlog), có thể xử lý dữ liệu
từ honeypot hoặc honeynet và gửi nó đến cơ sở dữ liệu trung tâm.

Có hai lựa chọn làm thế nào để thu thập dữ liệu của collector. Trong trường hợp đầu tiên,
collector được đặt trực tiếp vào honeypot. Collector này truy cập cơ sở dữ liệu honeypot.
Trong trường hợp này, collector có thông tin về cơ sở dữ liệu trung tâm. Do đó, collector này
chỉ được áp dụng trong honeypot tương tác thấp hoặc tương tác trung bình. Honeypots tương
tác cao là hệ thống thực sự và kẻ tấn công sẽ có quyền truy cập vào collector.

Để loại bỏ điểm yếu của trình thu thập trước, chúng tôi sử dụng tùy chọn thứ hai, đó là thu
thập dữ liệu từ honeynet ảo dựa trên ảo hóa cấp hệ điều hành. Ưu điểm của phương pháp ảo
hóa này được mô tả trong. Một trong số đó là truy cập trực tiếp vào các thùng chứa (máy ảo)
mà không cần biết các máy ảo về quyền truy cập này. Trong bài báo này, chúng tôi sử dụng
triển khai ảo hóa cấp hệ điều hành - các thùng chứa Linux (LXC). Collector được đặt trong hệ
điều hành máy chủ, là hệ điều hành thực tế, trên đó diễn ra ảo hóa. Hệ điều hành máy chủ có
quyền truy cập trực tiếp vào hộp đựng.

Hình 3: Quá trình thu thập dữ liệu trong honeynet ảo dựa trên LXC.

Việc triển khai Honeypots sử dụng trong hầu hết các trường hợp cơ sở dữ liệu MySQL và cơ
sở dữ liệu SQLite. Quá trình thu thập dữ liệu trong honeynet ảo dựa trên LXC được hiển thị
trong Hình 3 và bao gồm bốn bước. Trong trường hợp cơ sở dữ liệu MySQL, hệ điều hành
máy chủ có quyền truy cập vào nhật ký nhị phân. Các nhật ký này được tạo ra tại mỗi thay đổi
trong cơ sở dữ liệu. Trong trường hợp cơ sở dữ liệu SQLlite, hệ điều hành máy chủ có thể sao
chép tệp cơ sở dữ liệu và đọc dữ liệu cần thiết từ nó (tạo kết xuất cơ sở dữ liệu). bên trong trình
thu thập bước thứ hai chuyển đổi nhật ký nhị phân (MySQL) và kết xuất (SQLite) thành tệp
với các hoạt động cơ sở dữ liệu (chèn hoặc cập nhật). Tất cả các hoạt động chèn được cho
phép, nhưng một số hoạt động cập nhật được cho phép. Ví dụ: chấm dứt kết nối trong Kippo,
các hoạt động cơ sở dữ liệu khác không được phép (ví dụ: xóa). Trong bước thứ ba collector
sửa đổi các hoạt động theo các biểu thức thông thường. Trong trường hợp cơ sở dữ liệu
MySQL, cột cảm biến đầu được thêm vào. Trong trường hợp cơ sở dữ liệu SQLite, các thay
đổi cú pháp nhỏ được thực hiện. Những sửa đổi này là cần thiết để chuẩn bị dữ liệu để chèn
vào cơ sở dữ liệu trung tâm. Trong bước cuối cùng, trình thu thập chèn dữ liệu vào cơ sở dữ
liệu trung tâm, sử dụng kết nối an toàn.

4. Cơ sở dữ liệu trung tâm.

Cơ sở dữ liệu trung tâm là phần lưu trữ chính của hệ thống được đề xuất và nó được hiển thị
trong Hình 4. Chúng tôi đã lưu trữ dữ liệu từ các honeypots khác nhau vào cơ sở dữ liệu này ở
định dạng ban đầu ngoại trừ một ngoại lệ. Khung đề xuất thêm cột, xác định cảm biến
(sensor_id). Thay đổi này cho phép thu thập dữ liệu từ khác nhau honeypots (cảm biến) mà
không tạo bảng cho mỗi cảm biến.

Hình 4: Sơ đồ cơ sở dữ liệu trung tâm.

Hồ sơ được thu thập bởi honeypots hoặc honeynets bao gồm:


 dấu thời gian của từng sự kiện - 3 loại - dấu thời gian được tạo, thu thập và phân tích
 giao thức - giao thức mạng được sử dụng để liên lạc với honeypots
 Địa chỉ IP của kẻ tấn công - vị trí
 xác định honeypots - lỗ hổng, địa chỉ IP, vị trí
 thông tin về sự kiện
Bảng chính được gọi là Sự kiện tập trung vào các sự kiện. Các cột từ bảng này (id, sensor_id,
sensor_table) xác định chính xác từng sự kiện (có dấu thời gian) từ honeypots.

Trong các cảm biến cơ sở dữ liệu được coi là honeypots tương tác thấp, honeypots tương tác
trung bình và cảm biến của honeypots tương tác cao. Các honeypot tương tác cao được chia
thành nhiều cảm biến (ví dụ: mạng, CPU, HDD, v.v.). Đây là một trong những lợi thế của thiết
kế hệ thống đề xuất. Thiết kế này cho phép dữ liệu tương quan từ mỗi loại honeypots.

5. Mô-đun phân tích với giao diện web

Mô-đun Phân tích cung cấp một giao diện được tiêu chuẩn hóa để phân tích trong khung đề
xuất. Nó cho phép các quản trị viên tích hợp các honeypot tương tác thấp và tương tác cao.
Mô-đun này bao gồm hai phần chính:

 thông tin chi tiết về sự kiện (kết nối trực tiếp với các cảm biến).

 báo cáo từ dữ liệu được thu thập bởi honeypots và honeynets (báo cáo của tất cả honeypots,
báo cáo về honeypot độc lập).

Trong cơ sở dữ liệu trung tâm có một đối tượng, kết nối thông tin được chia sẻ từ mỗi cảm
biến. Nó cung cấp thông tin cơ bản về các sự kiện (ví dụ: dấu thời gian, địa chỉ IP của kẻ tấn
công). Đối với mục đích phân tích dữ liệu, chúng tôi cũng cần mở rộng
thông tin về sự kiện được thu thập bởi các cảm biến cụ thể (ví dụ: các lệnh đầu vào của bộ dữ
liệu). Phần đầu tiên của mô-đun phân tích là giao diện để lấy thông tin từ các cảm biến cụ thể
cho từng sự kiện.

Phần thứ hai và không thể thiếu của mô-đun phân tích được thể hiện bằng các báo cáo dữ liệu.
Từ góc độ đa dạng của honeypots, có các báo cáo địa phương (chỉ báo cáo cho một honeypot)
và báo cáo toàn cầu (báo cáo cho nhóm honeypots hoặc tất cả honeypots và honeynets). Ví dụ
về báo cáo toàn cầu là phân tích thường xuyên mật khẩu xảy ra từ nhiều honeypot. Nói cách
khác, mô-đun phân tích là một giao diện cơ bản để tạo báo cáo. Giao diện cũng chứa một menu
các báo cáo và biểu mẫu, nơi chúng tôi chỉ định báo cáo được chọn. Ví dụ: lọc dữ liệu theo
một khoảng thời gian nhất định, dịch vụ, địa chỉ IP.

Mô-đun phân tích bao gồm các mô hình con. Nó có thể được định nghĩa là một triển khai cụ
thể của mô-đun phân tích giao diện cho một loại cảm biến cụ thể. Mỗi mô hình con cũng chứa
một lược đồ cơ sở dữ liệu của cảm biến được ghi vào cơ sở dữ liệu trung tâm bằng các tập lệnh
di chuyển. Giao diện web là một phần không thể thiếu của khung được đề xuất và bảng điều
khiển của nó được hiển thị trong hình 5. Mục đích của nó là giao tiếp với mô-đun phân tích và
tạo báo cáo từ các sự kiện được thu thập.

Hình 5: Sơ đồ giao diện web


Giao tiếp giữa ứng dụng web, mô đun phân tích và cơ sở dữ liệu (gói con) được hiển thị trong
hình 6. Ứng dụng web giao tiếp với phân tích mô-đun và mô-đun này giao tiếp với một phần
của cơ sở dữ liệu, nơi có dữ liệu từ honeypot cụ thể.

Hình 6: Giao tiếp giữa các bộ phận phía máy chủ của hệ thống được đề xuất.

6. Phân loại sự cố Honeypot.

Ở trên chúng tôi đề xuất khung phân tích dữ liệu. Phần này phác thảo sự cố phân loại dựa trên
dữ liệu thu thập từ honeypots và honeynets. Phân loại tư duy là một sơ đồ phân loại phân vùng
một nhóm kiến thức và định nghĩa mối quan hệ của các mảnh.

Theo phân loại học được phát triển tại Phòng thí nghiệm quốc gia Sandia, mỗi sự cố bảo mật là
sự kết hợp của một hoặc nhiều cuộc tấn công, sử dụng các công cụ để khai thác lỗ hổng hệ
thống và tạo ra kết quả trái phép. Chúng tôi đề xuất phân loại sự cố honeypot, dựa trên phân
loại Sandia, và có tính đến các đặc tính của honeypot và honeynet.

Hình 7. Phân loại sự cố dựa trên dữ liệu Honeypot và dữ liệu Honeynet.


7. Biến cố

Tấn công được định nghĩa là một loạt các bước được thực hiện bởi kẻ tấn công để đạt được
kết quả không được ủy quyền.
Tấn công = {công cụ, lỗ hổng, sự kiện}
Công cụ được định nghĩa là một khai thác lỗ hổng máy tính hoặc mạng máy tính. Trong phân
loại đề xuất, chúng tôi sử dụng tất cả các công cụ từ phân loại Sandia, ngoại trừ vật lý tấn
công, có nghĩa là một vụ đánh cắp vật lý hoặc làm hỏng máy tính, mạng các thành phần, hoặc
các hệ thống hỗ trợ của nó (như điều hòa không khí, năng lượng điện, v.v.). Từ bản chất của
honeypots, chúng tôi không bao gồm loại tấn công này. Trong trường hợp Kẻ tấn công đó có
quyền truy cập vào honeypot, người đó dễ dàng xác định được honeypots. Chúng tôi phân biệt
các loại công cụ sau:

 Trao đổi thông tin được định nghĩa là lấy thông tin từ những kẻ tấn công khác hoặc từ những
người bị tấn công (ví dụ: dữ liệu từ thư rác honeypot).

 Lệnh người dùng được định nghĩa là khai thác lỗ hổng bằng cách nhập lệnh cho một quá
trình thông qua đầu vào người dùng trực tiếp tại giao diện quá trình (ví dụ: nhập lệnh trong
honeypot Kippo).

 Tập lệnh hoặc chương trình được định nghĩa là khai thác lỗ hổng bằng cách nhập ra lệnh cho
một quá trình thông qua việc thực thi một tệp lệnh (script) hoặc chương trình tại giao diện tiến
trình (ví dụ: shell script để khai thác lỗi phần mềm trong Kippo hoặc Dionaea honeypot).

 Tác nhân tự trị được định nghĩa là khai thác lỗ hổng bằng cách sử dụng một chương trình
hoặc đoạn chương trình hoạt động độc lập với người dùng (ví dụ: vi-rút, sâu).

 Bộ công cụ được định nghĩa là gói phần mềm chứa tập lệnh, chương trình hoặc tác nhân tự
trị khai thác lỗ hổng (ví dụ: rootkit được lưu trữ trong honeypot tương tác cao).

Shirey định nghĩa lỗ hổng là một lỗ hổng hoặc điểm yếu trong thiết kế hệ thống, triển khai
hoặc quản lý có thể bị khai thác để vi phạm hệ thống chính sách bảo mật. Nó có thể được định
nghĩa là một điểm yếu trong hệ thống cho phép hành động trái phép trực tiếp. Phân loại Sandia
thường sử dụng ba loại lỗ hổng, như lỗ hổng thiết kế, lỗ hổng triển khai và cấu hình dễ bị tổn
thương. Mục đích của honeypot là cung cấp các lỗ hổng cho kẻ tấn công hoặc để tìm kiếm các
lỗ hổng bằng cách sử dụng các dịch vụ và triển khai. Vì lý do này, chúng tôi sử dụng các lỗ
hổng trong dịch vụ mạng (ví dụ: dịch vụ web, ssh, dịch vụ, dịch vụ dns, hệ thống scada, v.v.).

8. Biến cố

Hoạt động của máy tính và mạng liên quan đến vô số sự kiện. Một sự kiện là một sự thay đổi
riêng biệt về trạng thái hoặc trạng thái của một hệ thống hoặc thiết bị. Định nghĩa sự kiện là
hình ảnh tức thời của một hệ thống. Sự kiện có thể được định nghĩa là một thực thể cấp thấp
(ví dụ gói TCP, cuộc gọi hệ thống, mục nhập nhật ký hệ thống) từ đó một phân tích được thực
hiện bởi một công cụ bảo mật.
Sự kiện = {hành động, mục tiêu, dấu thời gian}

Hành động có nghĩa là một bước được thực hiện bởi người dùng hoặc quá trình để đạt được kết
quả. Trong phân loại của chúng tôi, chúng tôi sử dụng các hành động theo phân loại của
Sandia, chẳng hạn như thăm dò, quét, lũ lụt, xác thực, bỏ qua, giả mạo, đọc, sao chép, đánh
cắp, sửa đổi hoặc xóa. Chúng tôi thêm hành động mới:
 tải xuống.
 đầu vào - thực hiện hành động (ví dụ: đọc, sao chép) mà không có bất kỳ thay đổi nào.

Ví dụ về các hành động trong honeypots như sau: quét, thăm dò (honeypot tương tác thấp -
HoneyD), để xác thực, thăm dò, quét (honeypot tương tác trung bình Kippo), và để xác thực,
quét, thăm dò, sửa đổi, đọc, sao chép ( honeypot tương tác cao HonSSH). Với sự gia tăng
tương tác, số lượng hành động là ngày càng tăng.

Mục tiêu có thể được định nghĩa là một máy tính hoặc thực thể logic mạng (tài khoản, quy
trình hoặc dữ liệu) hoặc thực thể vật lý (thành phần, máy tính và mạng). Ví dụ: tài khoản ssh
trong Kippo, mỗi quy trình trong honeypot tương tác cao.

Thuộc tính chung của tất cả các sự kiện là dấu thời gian. Yêu cầu cho ý kiến 4765 - IDMEF sử
dụng ba dấu thời gian riêng biệt, chẳng hạn như Detectime, Tạo thời gian, phân tích thời gian.
Các dấu thời gian của phân loại đề xuất được dựa trên yêu cầu này cho ý kiến. Trong phân loại
đề xuất, chúng tôi sử dụng:
 DetectTimestamp - sự kiện đã được tạo (chính xác là một).
 CollTimestamp - sự kiện đã được chèn vào cơ sở dữ liệu trung tâm (chính xác một).
 AnalysisTimestamp - sự kiện đã được sử dụng trong phân tích (không hoặc một).

Về mặt phân tích sau đây, chúng tôi biết các sự kiện trong honeypots và honeynets và lỗ hổng
của honeypots. Mục đích của phân tích dữ liệu là tìm thông tin về những kẻ tấn công và các
mục tiêu và công cụ của chúng.
9. Kết luận

Honeypots và honeynets là những công cụ độc đáo. Mục đích chính của họ là thu thập dữ liệu
và sau đó phân tích chúng để tìm hiểu thông tin về những kẻ tấn công và phương pháp, công
cụ và mục tiêu của họ. Do đó, chúng tôi đề xuất khung phân tích dữ liệu được thu thập từ
honeypots và honeynets. Trong bài báo, chúng tôi phác thảo các phần chính của khung đề xuất
- phía khách hàng và phía máy chủ.

Vị trí của collector là một vấn đề quan trọng trong việc thu thập dữ liệu. Sử dụng an toàn kênh
truyền thông chỉ đủ cho mật ong tương tác thấp và tương tác trung bình. Đối với honeypots
tương tác cao, cần phải sử dụng khác phương pháp thu thập dữ liệu. Collector nằm trên
honeynet ảo dựa trên ảo hóa cấp hệ điều hành là giải pháp cho loại honeypots này. Phân tích
dữ liệu từ các honeypot khác nhau là vấn đề quan trọng thứ hai. Trong giấy chúng tôi đề xuất
khung, trong đó thêm một lớp trừu tượng mới - lớp sự kiện trên tất cả dữ liệu honeypots. Sự
kiện là phần thiết yếu của dữ liệu từ mỗi honeypots. Sandia phân loại thảo luận về phân loại sự
cố nói chung.

Trong bài báo, chúng tôi tập trung vào phân loại sự cố từ quan điểm của honeypots và
honeynets. Chúng tôi đề xuất phân loại sự cố honeypot mới, đó là sửa đổi
đã đề cập đến phân loại học Sandia. Trong tương lai, chúng tôi sẽ tập trung vào phân tích sự
cố, dựa trên dữ liệu được thu thập bởi
honeypots và honeynet chi tiết hơn. Chúng tôi muốn phát triển phân loại đề xuất. Ngoài ra,
chúng tôi muốn đề xuất và triển khai một mô-đun để tạo ra sự xâm nhập
hệ thống phát hiện sơ đồ hệ thống.

You might also like