Tích hợp vào hệ thống hiện tại

Một phần của tài liệu Hệ thống phát hiện thực thể bất thường trên log giám sát (Trang 60 - 63)

Dựa trên dữ liệu được lưu trữ lại, có thể thấy các thực thể thường có hữu hạn các hành vi cũng như các hành vi này có các khuôn mẫu giống nhau. Vì thế, tuy khối lượng xử lý lớn nhưng đa phần bị lặp lại, điều này dẫn tới suy nghĩ đến việc phân cụm cho dữ liệu trước và chỉ trích lấy các cụm hành vi nhỏ lẻ, không tương xứng với các cụm hành vi khác. Sau đó việc xử lý hoặc phân tích trên các hành vi còn lại trở lên dễ dàng hơn rất nhiều và có thể đưa ra nhiều đánh giá về sự liên hệ giữa chúng.

Việc xử lý trên hệ phân tán giúp hỗ trợ xử lý nhiều dữ liệu hơn, khối lượng tải và tài nguyên dùng để tính toán được dàn trải trên nhiều máy chủ, đây là ưu điểm so với chạy trên một máy chủ truyền thống. Tuy nhiên, khối lượng xử lý lớn dẫn tới việc không đáp ứng chạy theo thời gian thực như hệ thống Microservices đã nêu trước đó, mà ở đây, mô đun chạy trên hệ phân tán gọi là Advanced Computing Engine sẽ được lập lịch chạy định kỳ hàng ngày. Mô đun này có đầu

ra tương đương với service Anomaly Detector. Kết quả đó đi qua Kill Chain

processor và Alert Optimizer, ta sẽ có được thông tin của các sự kiện hiếm xảy ra nhưng lặp đi lặp lại với chu kì lớn hơn cả thông tin hồ sơ được cấu hình của hệ thống hiện tại, hay các sự kiện xảy ra nhiều lần trong quá khứ đã lâu và ta cho là sạch mà giờ lại lặp lại sẽ giúp cho update tri thức cho Profiling Engine hoặc mô đun giảm cảnh báo sai Alert Optimizer. Hình 4.1 mô tả vị trí của mô đun trong hệ thống.

50

Hình 4.1.Vị trí của mô đun xử lý nâng cao trong hệ thống

Một trung tâm lưu trữ dữ liệu tập trung sẽ là nơi lưu trữ lâu dài các loại log thuộc nhiều hệ thống khác nhau với tần suất truy cập thấp, bao gồm các log trên máy tính các người dùng, các hệ thống máy chủ chạy cho các dự án khác nhau như hệ thống chia sẻ nhạc, hệ thống thương mại điện tử, hệ thống chạy các tiến trình phân tích dữ liệu, hệ thống chạy các phần mềm xuất báo cáo,… Với dữ liệu được lưu trữ định kỳ theo thời gian dài đến hàng năm, dữ liệu thuộc các hệ thống khác nhau sẽ được lưu ở các phân vùng khác nhau theo tên của hệ thống đó. Bên trong đó còn được chia thành các phân vùng dữ liệu với phân cấp loại log - năm – tháng – ngày. Tức là thư mục của loại log nào sẽ có các thư mục con là các năm, năm nào sẽ chứa 12 thư mục của các tháng, trong mỗi thư mục của tháng có chứa thư mục của từng ngày, và trong mỗi thư mục của ngày có lưu trữ dữ liệu các event của ngày hôm đó. Các event này chứa các trường dữ liệu đã được định nghĩa từ trước, như log hệ thống thì có tên tiến trình, các tham số chạy cho tiến trình đó, đường dẫn khởi chạy, thời gian khởi chạy, hay log người dùng thì có tên người dùng, hành động xử lý file, thời gian login,… Lượng dữ liệu này sẽ được lưu trữ phân tán ở các trung tâm dữ liệu lớn, có thể đọc ra khi cần thiết và hàng ngày vẫn được cập nhật dữ liệu vào đây. Đây chính là nguồn đầu vào cho mô đun xử lý nâng cao, và nó giống hệt với nguồn đầu vào cho hệ thống phát hiện thực thể bất thường đã nêu ở chương 3.

Mô đun xử lý nâng cao sẽ nhận các tham số cấu hình về số ngày cần xử lý, xong rồi tiền xử lý dữ liệu đầu vào thành các vectơ để làm đầu vào cho thuật toán HBDSCAN. Xong rồi sẽ áp dụng thuật toán HDBSCAN để tìm ra các vectơ không

51 thuộc cụm nào cả, để lấy ra đưa vào một queue trên Redis. Chi tiết theo các bước như sau

Bước Cách xử lý

1 Đọc tham số cấu hình về thời gian, loại log chạy để load các phân vùng dữ liệu tương ứng. Đọc các tham số cấu hình để lấy trường dữ liệu dùng để phân cụm để biến đổi sang dạng vectơ

2 Áp dụng thuật toán phân cụm thứ cấp để tạo thành 1 cây dendogram hoàn chỉnh.

3 Lấy mẫu ngẫu nhiên 100 cặp điểm lân cận nhau trong cây để xác định khoảng cách tiệm cận phù hợp cho việc cắt lấy cụm. Lấy khoảng cách tiệm cận lớn nhất trong số các cặp điểm có sự tương quan với nhau.

4 Sau khi cắt cụm, lấy dữ liệu ở điểm tâm các cụm và dữ liệu ngoài rìa cụm và các dữ liệu của các cụm khác để xem độ tương quan rồi xác định có nên thu hẹp cụm lại không.

5 Nếu tổn tại nhiều cụm có dữ liệu ở ngoài rìa khác biệt so với dữ liệu ở gần tâm và giống với dữ liệu ở rìa các cụm lân cận thì thu hẹp khoảng cách tiệm cận đi. Nếu tổn tại nhiều cụm có dữ liệu ở ngoài rìa giống với dữ liệu ở rìa các cụm lân cận thì tăng khoảng cách tiệm cận lên. Sau đó thực hiện lại bước 4

6 Các điểm dữ liệu không thuộc vào cụm nào sẽ đưa cả event ban đầu vào Redis để Kill chain processor xử lý, từ đây chúng sẽ gộp các event này lại theo cấu hình và số lượng theo các khung thời gian.

Tuy rằng đây là một ý tưởng khả thi, nhưng nó lại không đáp ứng được về khả năng đưa ra đánh giá theo thời gian thực, vì thế đây sẽ là mô đun chạy độc lập và là mô đun phân tích năng cao chạy hàng ngày, nhằm tăng cường khả năng phát hiện, hỗ trợ bổ sung và mở rộng về lịch sử của hệ thống. Đồng thời giúp đánh giá phát hiện đưa ra theo thời gian thực có phải là false positive hay không khi mà dữ liệu là bất thường theo hiện tại nhưng đã từng xuất hiện trong quá khứ và được nhận định là không nguy hiểm. Dù chưa thể là một giải pháp thay thế hoàn toàn nhưng nó sẽ giúp bao phủ nhiều nguy cơ tấn công hơn.

52

Một phần của tài liệu Hệ thống phát hiện thực thể bất thường trên log giám sát (Trang 60 - 63)

Tải bản đầy đủ (PDF)

(69 trang)