Kiến thức cơ bản
Bất thường và các phương pháp phát hiện bất thường phổ biến
Bất thường được định nghĩa là những đối tượng, sự kiện hoặc dấu hiệu không phù hợp với phần lớn các yếu tố còn lại trong tập dữ liệu được coi là bình thường Nó cũng có thể được hiểu là bất kỳ hành vi nào không tuân theo quy tắc chung.
Hành vi "bất thường" khác biệt với hành vi "bình thường" và thường mang tính tạm thời, xuất hiện hoặc biến mất mà không theo quy luật nhất định Việc phát hiện bất thường liên quan đến việc tìm kiếm các mẫu trong tập dữ liệu không phù hợp với hành vi mong đợi, cũng như nhận diện các cá thể khác biệt so với phần lớn dữ liệu trong tập.
Những mẫu không phù hợp thường được gọi là bất thường, dị thường, ngoại lai, quan sát trái ngược, sự bất ngờ, sự đặc thù hoặc chất gây ô nhiễm trong nhiều lĩnh vực ứng dụng khác nhau Trong số các thuật ngữ này, bất thường và ngoại lai là hai cụm từ phổ biến nhất được sử dụng trong bối cảnh phát hiện bất thường, đôi khi có thể thay thế cho nhau.
Phát hiện bất thường là công nghệ quan trọng được áp dụng trong nhiều lĩnh vực, bao gồm an ninh mạng, gian lận tài chính, kiểm tra y tế và quy trình sản xuất Chẳng hạn, bất thường trong giao dịch thẻ tín dụng có thể cảnh báo về hành vi trộm cắp thẻ hoặc đánh cắp danh tính, trong khi bất thường trong việc đăng nhập vào hệ thống có thể chỉ ra sự xâm nhập trái phép Ngoài ra, sự biến đổi bất thường trong lưu lượng dữ liệu mạng nội bộ có thể là dấu hiệu cho thấy dữ liệu nhạy cảm đang bị kẻ tấn công sao chép hoặc gửi đi.
Việc phát hiện bất thường rất quan trọng vì chúng chứa đựng thông tin hữu ích cho nhiều ứng dụng thực tế Bất thường có nhiều dạng khác nhau, do đó, mỗi ứng dụng cụ thể sẽ sử dụng các phương pháp phát hiện khác nhau Có ba loại bất thường chính: bất thường điểm (point anomalies), bất thường bối cảnh (contextual anomalies) và bất thường tập hợp (collective anomalies) Dưới đây là mô tả chi tiết về các loại bất thường này.
Một điểm dữ liệu được coi là bất thường khi nó khác biệt rõ rệt so với phần còn lại của tập dữ liệu, thường thể hiện qua khoảng cách lớn hơn đến trung tâm của tập hợp Những điểm này, với khoảng cách vượt trội so với các điểm khác, được xác định là bất thường Đây là dạng bất thường cơ bản nhất và là chủ đề chính trong nhiều nghiên cứu về phát hiện bất thường.
Hình 1.1 Một ví dụ về bất thường điểm trong một tập dữ liệu trong không gian hai chiều
Hình 1.1 mô tả các điểm O1, O2 và khu vực O3 nằm ngoài phạm vi bình thường của các cụm N1 và N2, cho thấy chúng là những điểm bất thường Ví dụ thực tế về phát hiện bất thường có thể thấy qua việc theo dõi thời gian đăng nhập hệ thống Giả sử dữ liệu chỉ được xác định bằng thời gian đăng nhập, thì bất kỳ lần đăng nhập nào diễn ra vào thời điểm khác với thời gian đăng nhập bình thường hàng ngày của cá nhân sẽ được coi là một sự bất thường.
Bất thường bối cảnh được xác định dựa trên một bối cảnh cụ thể, hay còn gọi là bất thường có điều kiện, và khái niệm này phụ thuộc vào cấu trúc, hình thái của dữ liệu đang được xem xét Một điểm có thể là bất thường trong bối cảnh này nhưng lại hoàn toàn bình thường trong bối cảnh khác Thông thường, bất thường bối cảnh được nghiên cứu trong các ứng dụng liên quan đến dữ liệu biến đổi theo thời gian Các khái niệm về bối cảnh được hình thành từ các cấu trúc trong tập dữ liệu và cần được quy định khi xây dựng vấn đề Mỗi trường hợp dữ liệu được xác định thông qua hai bộ thuộc tính.
Các thuộc tính ngữ cảnh được sử dụng để xác định bối cảnh hoặc vùng lân cận của một thể hiện Chẳng hạn, trong bộ dữ liệu không gian, kinh độ và vĩ độ là các thuộc tính ngữ cảnh quan trọng Trong khi đó, trong dữ liệu chuỗi thời gian, thời gian đóng vai trò là thuộc tính ngữ cảnh giúp xác định vị trí của một thể hiện trong toàn bộ chuỗi.
Các thuộc tính hành vi là những đặc điểm phi ngữ cảnh của một thể hiện Chẳng hạn, trong một tập dữ liệu không gian liên quan đến lượng mưa trung bình toàn cầu, lượng mưa tại bất kỳ vị trí nào đều được coi là một thuộc tính hành vi.
Các hành vi bất thường được xác định dựa trên các giá trị thuộc tính trong một bối cảnh cụ thể Một thể hiện dữ liệu có thể được coi là bất thường trong một ngữ cảnh nhất định, trong khi cùng một thể hiện đó có thể được xem là bình thường trong ngữ cảnh khác Tính chất này là yếu tố quan trọng trong việc xác định các thuộc tính ngữ cảnh và hành vi trong kỹ thuật phát hiện bất thường theo ngữ cảnh.
Thời gian (tháng) Hình 1.2 Ví dụ về bất thường bối cảnh
Biểu đồ nhiệt độ trong ba năm liên tiếp cho thấy thời điểm t2 là một bất thường trong chuỗi nhiệt độ theo thời gian, trong khi nhiệt độ tại t1, mặc dù tương tự t2, lại không được xem là bất thường do xảy ra trong bối cảnh khác.
Một ví dụ cụ thể về phát hiện gian lận thẻ tín dụng là việc phân tích thời điểm mua sắm Chẳng hạn, nếu một cá nhân thường chi tiêu khoảng một triệu đồng mỗi tuần, nhưng có một giao dịch lên tới 10 triệu đồng trong tháng Bảy, điều này sẽ được coi là bất thường vì không phù hợp với thói quen chi tiêu thông thường của họ Ngược lại, cùng một mức chi tiêu 10 triệu đồng trong tuần trước Tết Âm lịch lại được xem là bình thường Việc áp dụng kỹ thuật phát hiện bất thường theo ngữ cảnh phụ thuộc vào ý nghĩa của những bất thường đó trong lĩnh vực ứng dụng cụ thể.
Bất thường tập hợp là loại bất thường thứ ba, xảy ra khi một tập dữ liệu có những đặc trưng khác biệt so với các tập dữ liệu khác Hình 1.3 minh họa lưu lượng dữ liệu trên một hệ thống, cho thấy sự khác biệt này.
Ta có thể thấy, lưu lượng trên hệ thống trong khoảng thời gian từ mẫu thứ 250 đến
Thời điểm 300 khác biệt so với các khoảng thời gian khác, mặc dù mẫu dữ liệu trong giai đoạn này khá tương đồng Những thời điểm này được xem là những tập hợp bất thường.
Hình 1.3 Ví dụ về bất thường tập hợp về lưu lượng trên hệ thống
1.1.2 Các phương pháp phát hiện bất thường phổ biến
Các phương pháp đánh giá một hệ thống phân lớp dữ liệu
Để đánh giá hiệu quả của một hệ thống phân lớp, cần áp dụng các khái niệm chung cho bài toán phân lớp hai lớp dữ liệu mà chúng ta quan tâm, bao gồm các khái niệm về bất thường và bình thường.
Cách đánh giá này thường được áp dụng cho các bài toán phân lớp có hai lớp dữ liệu
Trong các bài toán dự đoán, có những lớp dữ liệu mà việc dự đoán chính xác là rất quan trọng Chẳng hạn, trong việc xác định bệnh ung thư, việc bỏ sót ca bệnh nghiêm trọng hơn so với việc chẩn đoán nhầm âm tính thành dương tính Tương tự, trong việc phát hiện mìn dưới lòng đất, việc không phát hiện mìn nguy hiểm hơn việc báo động sai Đối với việc lọc email rác, việc đưa nhầm email quan trọng vào thùng rác là nghiêm trọng hơn so với việc xác định sai một email rác là email thông thường.
Trong các bài toán phân loại, lớp dữ liệu quan trọng cần xác định chính xác là lớp Positive (P-dương tính), trong khi lớp còn lại được gọi là Negative (N-âm tính) Các khái niệm True Positive (TP), False Positive (FP), True Negative (TN) và False Negative (FN) được định nghĩa dựa trên Ma trận nhầm lẫn, như mô tả trong Bảng 1.1 Bảng này cụ thể hóa các trường hợp dựa trên sự so sánh giữa kết quả dự đoán và thực tế.
Bảng 1.1 Ma trận nhầm lẫn
Dự đoán: Positive Dự đoán: Negative
Thực tế: Positive True Positive (TP) False Negative (FN)
Thực tế: Negative False Positive (FP) True Negative (TN)
Người ta thường chú ý đến các chỉ số như Tỷ lệ dương tính giả (FPR), Tỷ lệ âm tính giả (FNR), Tỷ lệ dương tính thật (TPR) và Tỷ lệ âm tính thật (TNR) thông qua Ma trận nhầm lẫn chuẩn hóa Bảng 1.2 cung cấp công thức tính toán cho các tỷ lệ này, giúp người dùng hiểu rõ hơn về hiệu suất của mô hình.
Bảng 1.2 Ma trận nhầm lẫn chuẩn hóa
Dự đoán: Positive Dự đoán: Negative
Thực tế: Positive TPR = TP/(TP + FN) FNR = FN/(FN+ TP)
Thực tế: Negative FPR = FP/(FP + TN) TNR = TN/(FP + TN)
The False Positive Rate (FPR), also known as the False Alarm Rate, and the False Negative Rate (FNR), referred to as the Miss Detection Rate, are critical metrics in mine detection scenarios In these situations, it is often preferable to accept a higher False Alarm Rate to ensure a lower Miss Detection Rate, emphasizing the importance of minimizing missed detections over the risk of false alarms.
Căn cứ mục đích xây dưng bài toán phân lớp dữ liệu, ta có các chú ý như sau:
Trong các bài toán có nhiều lớp dữ liệu, chúng ta có thể tạo bảng True/False và Positive/Negative cho từng lớp bằng cách coi lớp đó là lớp Positive, trong khi các lớp còn lại được gộp chung thành lớp Negative.
Việc điều chỉnh FNR và FPR trong một số bài toán có thể thực hiện thông qua việc thay đổi ngưỡng (Threshold) Tiếp theo, chúng ta sẽ khám phá thêm các khái niệm liên quan.
1.2.2 Độ chính xác và độ hồi tưởng
Trong bài toán phân loại với tập dữ liệu có sự chênh lệch lớn giữa các lớp, hai phép đo hiệu quả quan trọng thường được sử dụng là độ chính xác (Precision) và độ hồi tưởng (Recall) Để làm rõ, chúng ta xem xét bài toán phân loại nhị phân, trong đó một lớp được coi là Positive và lớp còn lại là Negative Hình 1.4 cung cấp cái nhìn trực quan về các khái niệm này cùng với công thức tính độ chính xác và độ hồi tưởng.
Hình 1.4 Cách tính độ chính xác và độ hồi tưởng
Độ chính xác (Precision) được xác định là tỉ lệ giữa số điểm True Positive và tổng số điểm được phân loại là Positive (TP + FP) Trong khi đó, Recall được định nghĩa là tỉ lệ giữa số điểm True Positive và tổng số điểm thực sự là Positive (TP + FN) Các công thức để tính độ chính xác và hồi tưởng được trình bày trong các Công thức 2.1 và 2.2 tương ứng.
TPR và Recall là hai đại lượng tương đương, trong khi Precision và Recall đều có giá trị không âm và không vượt quá một Precision cao cho thấy độ chính xác của các điểm tìm được là cao, trong khi Recall cao phản ánh True Positive Rate (TPR) cao, tức là tỉ lệ bỏ sót các điểm thực sự positive là thấp.
Khi Precision đạt giá trị 1, tất cả các điểm được xác định đều là Positive, không có điểm Negative nào trong kết quả Tuy nhiên, điều này không đảm bảo rằng mô hình hoạt động hiệu quả, bởi vì cần xem xét liệu mô hình đã tìm ra tất cả các điểm Positive hay chưa.
Nếu một mô hình chỉ tìm được đúng một điểm Positive mà nó chắc chắn nhất thì ta không thể gọi nó là một mô hình tốt
Khi Recall bằng 1, tất cả các điểm Positive đều được phát hiện, nhưng không đo lường được số lượng điểm Negative bị lẫn Nếu mô hình phân loại tất cả các điểm là Positive, Recall sẽ đạt giá trị 1, nhưng đây là một mô hình kém hiệu quả Một mô hình phân lớp tốt cần có cả Precision và Recall cao, tức là càng gần 1 càng tốt.
- True Positive (TP): số lượng điểm của lớp Positive được phân loại đúng là Positive
- True Negative (TN): số lượng điểm của lớp Negative được phân loại đúng là Negative
- False Positive (FP): số lượng điểm của lớp Negative bị phân loại nhầm thành Positive
- False Negative (FN): số lượng điểm của lớp Positive bị phân loại nhầm thành Negative
- True Positive Rate (TPR), False Negative Rate (FNR), False Positive Rate (FPR), True Negative Rate (TNR)
Bài viết này sẽ trình bày về việc phát hiện bất thường trong hành vi người dùng thông qua dữ liệu ghi nhận từ hệ thống thông tin Mục tiêu là phát hiện và cảnh báo các vấn đề liên quan đến việc đảm bảo an toàn thông tin.
Mô hình phát hiện hành vi đăng nhập hệ thống bất thường
Giới thiệu đề tài phát hiện bất thường trên hệ thống
Luận văn đề xuất một giải pháp giám sát và phát hiện hành vi đăng nhập bất thường trên hệ thống thông tin thông qua mô hình phân tích dữ liệu hành vi người dùng Phân tích dựa trên thông tin log như thời điểm đăng nhập, số lần đăng nhập thành công và thất bại, địa chỉ IP client và hệ thống, cũng như các yêu cầu tác động và dữ liệu truy xuất Giải pháp này giúp cảnh báo kịp thời cho bộ phận giám sát an toàn thông tin về những bất thường trong việc đăng nhập, hỗ trợ việc bảo đảm an toàn thông tin, đặc biệt là với những hệ thống chứa dữ liệu quan trọng Mục tiêu của luận văn là mô tả bài toán, cơ sở lý thuyết và xây dựng công cụ thu thập, phân tích mẫu hành vi người dùng nhằm phát hiện và cảnh báo các hành vi bất thường trong quá trình đăng nhập.
Trong phần tiếp theo, luận văn sẽ trình bày về việc xây dựng hệ thống phân tích và phát hiện bất thường, với trọng tâm là phân tích các bất thường liên quan đến đăng nhập.
Mô tả bài toán bất thường đăng nhập
Trong phần này, luận văn sẽ mô tả chi tiết về bài toán phát hiện bất thường trong quá trình đăng nhập hệ thống, một vấn đề quan trọng đối với đơn vị Hành vi đăng nhập không chỉ liên quan đến người dùng thông thường mà còn đến kẻ tấn công, những người có thể chiếm đoạt tài khoản qua nhiều hình thức như tấn công dò quét mật khẩu hoặc khai thác lỗ hổng Khi có được tài khoản, kẻ tấn công có thể thực hiện các hành vi đăng nhập trái phép, truy xuất thông tin mật và đánh cắp dữ liệu, gây tê liệt hệ thống Tuy nhiên, do không nắm bắt được thói quen của người dùng, hành vi đăng nhập của kẻ tấn công thường có các thuộc tính khác biệt so với hồ sơ đăng nhập thông thường Tại VTNet, các hành vi đăng nhập được coi là bất thường khi phát hiện địa chỉ IP, dải địa chỉ IP, thời điểm và địa điểm đăng nhập khác với các hành vi đã được ghi nhận trong vòng 60 ngày Thông tin thu thập từ hệ thống sẽ giúp nhận diện và phát hiện các bất thường này, từ đó cảnh báo cho lực lượng bảo mật thông tin.
- Địa chỉ IP, dải địa chỉ IP của người dùng khi thực hiện đăng nhập hệ thống
Sẽ phát hiện bất thường nếu thực hiện đăng nhập từ máy tính không phải máy tính làm việc thường xuyên của người dùng
Khi người dùng đăng nhập vào hệ thống, thông tin về quốc gia, số hiệu mạng (ASN) và nhà cung cấp dịch vụ Internet (ISP) sẽ được thu thập từ địa chỉ IP Dữ liệu này không chỉ giúp xác định vị trí truy cập mà còn hỗ trợ trong việc phân tích hành vi, đặc biệt là khi phát hiện các hoạt động bất thường, chẳng hạn như khi kẻ tấn công thực hiện đăng nhập từ xa, không phải từ vị trí làm việc quen thuộc của người dùng.
Loại đăng nhập và môi trường đăng nhập có sự khác biệt rõ rệt Người dùng thường sử dụng giao diện đăng nhập để truy cập hệ thống, trong khi kẻ tấn công thường lợi dụng cửa sổ lệnh hoặc truy cập từ xa để thực hiện hành vi xâm nhập.
Thời điểm đăng nhập là yếu tố quan trọng giúp xác định thời gian diễn ra hành vi đăng nhập, từ đó cho phép đánh giá các giờ trong ngày và các ngày trong tuần mà người dùng thường thực hiện hành động này.
Dựa trên thông tin thu thập từ hệ thống, chúng tôi đã phát triển một công cụ để tính toán, phân tích và cảnh báo các bất thường liên quan đến đăng nhập Ví dụ, hệ thống có khả năng xác định những lần đăng nhập từ địa chỉ IP lạ, không phải là địa chỉ IP thường dùng của người dùng Khi phát hiện bất thường, hệ thống sẽ gửi cảnh báo đến bộ phận an toàn thông tin để họ tiến hành kiểm tra và xử lý, từ đó nâng cao hiệu quả bảo mật thông tin tại đơn vị Bài viết tiếp theo sẽ trình bày phương pháp tiếp cận và đề xuất xây dựng hệ thống phát hiện bất thường này.
Giới thiệu mô hình hệ thống phát hiện bất thường
Hệ thống phát hiện bất thường thực hiện phân tích dữ liệu log về các sự kiện trên hệ thống công nghệ để tìm kiếm dấu hiệu bất thường thông qua việc phân tích hành vi của đối tượng và đưa ra cảnh báo Hệ thống này được gọi là khai phá dữ liệu an toàn thông tin (Security Data Mining) và là một phần quan trọng trong hệ thống giám sát an toàn thông tin của VTNet Hình 2.1 mô tả mô hình tổng quan của hệ thống quản lý và giám sát an toàn thông tin.
Hệ thống giám sát an toàn thông tin VTNet, như mô tả trong Hình 2.1, bao gồm nhiều thành phần liên kết chặt chẽ, tạo nên một hệ sinh thái phục vụ cho việc giám sát và bảo đảm an toàn thông tin tại đơn vị Hệ thống này được cấu trúc thành ba lớp, mỗi lớp đóng vai trò quan trọng trong việc tăng cường hiệu quả giám sát an toàn thông tin.
Lớp dưới cùng của hệ thống chịu trách nhiệm thu thập và cung cấp thông tin dữ liệu đầu vào, bao gồm nhiều thành phần quan trọng.
Endpoint được cài đặt trên máy chủ và máy trạm để thu thập toàn bộ thông tin hồ sơ của chúng Thành phần này còn hỗ trợ điều tra sâu, cách ly và khôi phục các máy chủ, máy trạm khi cần thiết.
- Network Security Monitoring (NSM) hỗ trợ thu thập lấy log truy cập, giám sát các kết nối giữa các node mạng
- Gateway Security Monitoring (GSM) hỗ trợ thu thập log và kiểm soát kết nối của ngõ (Gateway) vào vùng cần bảo vệ
Các sản phẩm và giải pháp từ hãng thứ ba, bao gồm hệ thống quản lý máy tính tập trung (AD), hệ thống quản lý tên miền (DNS), hệ thống phòng chống virus (AV) và hệ thống tường lửa (Firewall), đều có khả năng kết nối và gửi thông tin log đến các hệ thống tập trung an toàn thông tin (ATTT).
Lớp tiếp theo là nơi các thành phần xử lý tập trung dữ liệu từ lớp bên dưới Lớp này bao gồm các thành phần quan trọng như:
SIEM (Quản lý và Phân tích Sự kiện An ninh Thông tin) là một hệ thống thiết yếu trong giám sát an toàn thông tin, thu thập, lưu trữ và xử lý dữ liệu an ninh tập trung Hệ thống này chuẩn hóa và phân loại dữ liệu theo định dạng chung, giúp tối ưu hóa cho việc phân tích và điều tra sự cố SIEM loại bỏ các thành phần dư thừa và cho phép phân tích tập trung, báo cáo các sự kiện an ninh mạng Bằng cách sử dụng các quy tắc tương quan, SIEM phát hiện các cuộc tấn công mà các giải pháp thông thường không thể nhận diện, giúp người vận hành nhanh chóng điều tra và nhận diện các vi phạm, từ đó đưa ra quyết định kịp thời và hiệu quả.
Advanced Malware Analysis (AMA) là hệ thống phân tích mã độc tự động và đa lớp, giúp phát hiện mã độc và mã khai thác, đặc biệt là các mã độc trong các cuộc tấn công APT Hệ thống nhận yêu cầu quét tệp từ các nguồn khác, thực hiện phân tích và cung cấp kết quả về tình trạng độc hại của tệp AMA áp dụng nhiều phương pháp phân tích tiên tiến như Hypervisor, Static Analysis và Dynamic Analysis, cho phép phát hiện cả mã độc thông thường và mã độc chưa từng được biết đến.
Security Data Mining (SDM) là một hệ thống phân tích dữ liệu lớn, ứng dụng công nghệ Big Data và Data Mining nhằm phát hiện các bất thường trong hệ thống để giám sát và đảm bảo an toàn thông tin Giải pháp này kết hợp khả năng lưu trữ phân tán và tính toán song song của công nghệ Big Data với các thuật toán học máy thông minh, giúp phát hiện các dấu hiệu tấn công và bất thường từ dữ liệu log được lưu trữ lâu dài Đây là trọng tâm của luận án nhằm xây dựng và hoàn thiện hệ thống SDM.
Lớp trên cùng của mô hình giám sát hệ thống là thành phần quản lý an toàn thông tin, đóng vai trò quan trọng trong việc giám sát và quản lý toàn bộ hệ thống Thành phần này hỗ trợ việc vận hành và xử lý các cảnh báo an toàn thông tin theo quy trình đã được đơn vị thiết lập.
Hình 2.1 Mô hình tổng thể hệ thống giám sát an toàn thông tin
Luận văn này tập trung vào thành phần Khai thác Dữ liệu Bảo mật (Security Data Mining - SDM), với việc phân tích dữ liệu lớn thông qua công nghệ Big Data và Data Mining nhằm phát hiện các bất thường trong hệ thống Một trong những vấn đề được chú trọng là phát hiện bất thường trong quá trình đăng nhập, góp phần vào công tác giám sát và đảm bảo an toàn thông tin.
Third-party solutions, including AD, DNS, and Firewalls, play a crucial role in security data mining, which relies on the data provided The data flow for this system is illustrated in Figure 2.2 below.
Hình 2.2: Mô hình luồng dữ liệu cho hệ thống phát hiện bất thường
Hệ thống Security Data Mining (SDM) nhận dữ liệu đầu vào từ các phần mềm giám sát an toàn thông tin trên máy chủ và máy trạm, cùng với thông tin từ các thành phần giám sát an toàn thông tin lớp mạng và các thiết bị của hãng thứ ba Dữ liệu này được tập trung vào hệ thống Log và được SDM đồng bộ theo thời gian thực Các tiến trình trong SDM sử dụng thuật toán để xử lý và phân tích dữ liệu, nhằm phát hiện các hành vi bất thường, đặc biệt là hành vi đăng nhập không hợp lệ Sau khi phân tích, hệ thống sẽ gửi cảnh báo về các hành vi bất thường đến hệ thống giám sát an toàn thông tin tập trung để bộ phận phụ trách xử lý theo quy trình.
Việc thu thập, lưu trữ và xử lý log từ các nguồn như mô tả trong Hình 2.2 là rất quan trọng Các log này được lưu trữ tập trung không chỉ phục vụ cho quản lý, phân tích và giám sát an toàn thông tin mà còn cho nhiều ứng dụng khác Dữ liệu thô trên hệ thống lưu trữ log sẽ được xử lý qua hệ thống log parser theo chuẩn, tạo ra chuỗi dữ liệu JSON (JavaScript Object Notation), một định dạng dữ liệu mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc và sử dụng.
Khai phá dữ liệu an toàn thông tin (Security Data Mining)
Job phát hiện bất thường
Hệ thống giám sát ATTT (Security Management) Cảnh báo
GSM lưu trữ dữ liệu vào tệp và tạo bản ghi trong cơ sở dữ liệu một cách dễ dàng Với định dạng đơn giản, GSM dễ sử dụng và truy vấn hơn nhiều so với XML, nên ngày càng được ứng dụng phổ biến trong thực tế.
Thực nghiệm
Kiến trúc công cụ
Hệ thống phát hiện bất thường bao gồm ba phân hệ chính: lưu trữ phân tán, tính toán song song và bộ các ca sử dụng Kiến trúc tổng thể của hệ thống được thể hiện qua Hình 3.1, trong đó phân hệ lưu trữ dữ liệu lớn áp dụng cơ sở dữ liệu phân tán Hadoop, còn phân hệ xử lý dữ liệu lớn sử dụng tính toán song song MapReduce Cả hai phân hệ này đều dựa trên nền tảng phổ biến toàn cầu cho việc xử lý dữ liệu lớn.
Phân hệ phân tích bất thường trong luận văn này tập trung vào việc phát hiện bất thường liên quan đến đăng nhập Hệ thống này được phát triển bằng ngôn ngữ Scala, sử dụng Framework Spark và Hadoop để tối ưu hóa khả năng phân tích dữ liệu.
Hình 3.1: Mô hình luồng dữ liệu cho hệ thống phát hiện bất thường.
Cài đặt công cụ
Luận văn này nghiên cứu việc áp dụng hệ thống lưu trữ phân tán và tính toán song song để phát hiện bất thường trong các hành vi đăng nhập Hệ thống sẽ phân tích và cảnh báo về những hoạt động đăng nhập không bình thường, chẳng hạn như việc đăng nhập từ địa chỉ IP lạ hoặc vào những thời điểm không thường thấy.
Phân hệ lưu trữ dữ liệu lớn
Cơ sở dữ liệu phân tán Hadoop
Phân hệ xử lý dữ liệu lớn
Tính toán song song MapReduce
Phân hệ phân tích bất thường
Phân tích các ca sử dụng
Job phát hiện bất thường
Hệ thống giám sát ATTT (Security Management) Cảnh báo
3.2.1 Phân hệ lưu trữ dữ liệu lớn
- Về lưu trữ phân tán ứng dụng công nghệ lưu trữ tệp phân tán (Distributed
Hệ thống File System trên nền tảng công nghệ Hadoop cung cấp giải pháp lưu trữ dữ liệu lớn với nhiều tính năng nổi bật, bao gồm băng thông đọc/ghi cao, cơ chế tự sao lưu bảo đảm an toàn cho dữ liệu, và khả năng nâng cấp phần cứng dễ dàng Hệ thống này hỗ trợ đa dạng định dạng dữ liệu, từ dữ liệu có cấu trúc đến dữ liệu bán cấu trúc và phi cấu trúc, mang lại sự linh hoạt cho người dùng trong việc quản lý và xử lý dữ liệu trên Hadoop.
Dữ liệu log được thu thập từ nhiều nguồn khác nhau, bao gồm syslog từ hệ thống máy chủ, ứng dụng, thiết bị mạng và các endpoint cài đặt trên máy chủ Những thông tin và hoạt động của máy chủ này sẽ được truyền tải và lưu trữ trên hệ thống log tập trung.
Hình 3.2: Hệ thống lưu trữ dữ liệu
Hình 3.3: Hệ thống lưu trữ dữ liệu (tiếp)
Dữ liệu thô được xử lý qua hệ thống phân tích log, bao gồm việc parse log theo từng chuẩn riêng, nén và đánh index để tăng tốc độ xử lý, sau đó được lưu trữ trên hệ thống HDFS (Hadoop Distributed File System) Các tệp từ các nguồn khác nhau được tổ chức vào các thư mục riêng biệt; ví dụ, dữ liệu từ hệ thống Email, AD, SSO, VPN được lưu trữ vào các thư mục khác nhau Hình 3.3 cung cấp chi tiết về các tệp được lưu trữ trong một thư mục cụ thể trên hệ thống.
Hệ thống quản lý dịch vụ lưu trữ HDFS cung cấp giao diện để quản lý dịch vụ lưu trữ phân tán hiệu quả Như hình 3.4 cho thấy, hệ thống hiện tại đang hoạt động với 11 node phân tán và có tổng dung lượng lưu trữ dữ liệu lên đến 714 TB, với tỷ lệ sử dụng ổ đĩa đạt 59,29%.
Hình 3.4: Quản lý dịch vụ trữ dữ liệu trên HDFS
Hệ thống tính toán song song, dựa trên nền tảng MapReduce của Google, cho phép xử lý dữ liệu phức tạp trên quy mô lớn trong thời gian ngắn Thay vì sử dụng các truy vấn cơ sở dữ liệu truyền thống, hệ thống này triển khai các thuật toán phức tạp để giám sát và phát hiện tấn công Việc tổ chức xử lý song song được áp dụng thực tế thông qua cấu hình tài nguyên, trong đó mỗi container đại diện cho một khối CPU và bộ nhớ động Mỗi container chỉ hoạt động trên một máy vật lý, và các ứng dụng có thể chạy trên nhiều container và máy khác nhau để tối ưu hóa khả năng tính toán Hình 3.5 minh họa việc quản lý hệ thống với thông tin về tài nguyên sử dụng như CPU, bộ nhớ, tình trạng các node và số lượng ứng dụng đang hoạt động.
Hình 3.5: Hệ thống quản lý việc xử lý song song
Nội dung luận văn này tập trung vào việc ứng dụng công nghệ học máy để phát hiện bất thường trong quá trình vận hành hệ thống công nghệ thông tin tại Viettel, đặc biệt là trong việc phát hiện các hành vi đăng nhập bất thường trên các hệ thống.
3.2.3 Phân hệ phân tích ca sử dụng phát hiện bất thường đăng nhập Đây là phân hệ được xây dựng để phục vụ cho bài toán mà luận văn đưa ra Phân hệ phân tích và phát hiện các bất thường đăng nhập vào hệ thống được thiết kế chạy định kì để xây dựng hồ sơ hành vi và thực hiện đánh giá để phát hiện bất thường theo mô hình toán học được áp dụng tính điểm bất thường của hành vi đăng nhập như đã giới thiệu tại Chương 2 Từ các dữ liệu đã được lưu trữ và xử lý tại 3.2.1 và 3.2.2 dựa trên nền tảng có sẵn, phân hệ phân tích ca sử dụng phát hiện bất thường đăng nhập được được xây dựng bằng ngôn ngữ Scala Phân hệ bao gồm nhiều tiến trình nhỏ Tiến trình đầu tiên sẽ trích xuất các thông tin đầu vào từ cơ sở dữ liệu gốc phục vụ bài toán được nêu trong luận văn bao gồm đối tượng tác động, đối tượng chịu tác động, loại đăng nhập vào hệ thống (login hay logout), các thuộc tính gồm địa chỉ IP, thời gian đăng nhập Tiến trình tiếp theo thực hiên bổ sung thêm thông tin phục vụ phân tích
Dựa trên thông tin thuộc tính địa chỉ IP, tiến hành truy vấn danh mục quản lý địa chỉ IP để bổ sung thông tin về dải IP, nhà cung cấp dịch vụ Internet (ISP), quốc gia, và thông tin thời gian, bao gồm giờ trong ngày và ngày trong tuần Sau khi thu thập đầy đủ thông tin đầu vào, tiến trình tiếp theo sẽ lưu trữ và tính điểm các hành vi theo công thức đã nêu Cuối cùng, ngưỡng cảnh báo được thiết lập trên giao diện hệ thống sẽ ghi nhận kết quả phân tích và chuyển tiếp cảnh báo đến hệ thống giám sát an toàn thông tin chung của đơn vị.
Phân hệ được phát triển bằng ngôn ngữ Scala kết hợp với Framework Spark và Hadoop Sau khi hoàn tất, chương trình sẽ được biên dịch qua trình biên dịch Scala thành tệp thực thi (.jar) Tệp này sau đó được triển khai lên hệ thống Hadoop YARN để lên lịch thực thi, với các cấu hình và tham số cụ thể nhằm phục vụ cho việc phân tích bất thường.
Hình 3.6 Lập lịch và cấu hình chạy định kì phân tích dữ liệu
Hình 3.7 Các job chạy định kì phân tích dữ liệu
Quản lý phân tích hành vi đăng nhập bất thường trên hệ thống được thiết lập dưới dạng job chạy định kỳ hàng ngày, như thể hiện trong Hình 3.7 và 3.8 Hình 3.7 mô tả một ca sử dụng cho việc phát hiện hành vi bất thường (anomaly-behavior-detection) và cung cấp cái nhìn chi tiết về các thành phần trong tiến trình này.
Hình 3.8 Job chạy định kì phân tích dữ liệu hành vi bất thường
Sau khi phân tích các hành vi, hệ thống sẽ so sánh với ngưỡng đã được thiết lập để đánh giá mức độ bất thường Nếu hành vi được xác định là bất thường, hệ thống sẽ phát sinh cảnh báo và cung cấp thông tin chi tiết trong phần tiếp theo.
Thực nghiệm
3.3.1 Thu thập dữ liệu và kịch bản
Trong phần này, chúng tôi thực hiện một thí nghiệm để đánh giá kết quả đạt được trong luận văn bằng cách tạo ra một bộ dữ liệu thông qua công cụ sinh ngẫu nhiên Bộ dữ liệu này mô phỏng hành vi truy cập của người dùng bình thường với các thuộc tính như địa chỉ IP, địa điểm truy cập, khung thời gian trong ngày và ngày trong tuần, có tính chất ít thay đổi hoặc lặp lại Đồng thời, công cụ cũng sinh ra các bản ghi về hành vi bất thường, thể hiện sự khác biệt về địa chỉ IP, địa điểm và thời gian truy cập so với kịch bản bình thường Kết quả là bộ dữ liệu với 3.763.678 bản ghi về các log đăng nhập.
Hệ thống đã tiếp nhận 200,000 người dùng từ hơn 10,000 IP khác nhau, tạo ra 99,116 bản ghi bất thường để kiểm thử khả năng phát hiện Dữ liệu đăng nhập được thu thập trong 60 ngày Kết quả phân tích hành vi bất thường đã được thực hiện dựa trên bộ dữ liệu đầu vào, tương ứng với các ngưỡng đã chỉ định trong Bảng 3.1 Kết quả đầu ra từ phân hệ phân tích ca sử dụng được trình bày rõ ràng tại mục 3.2.3.
- Precision: tỉ lệ phát hiện bất thường chính xác trên tổng số bất thường đã dự đoán
- Recall: tỉ lệ dự đoán bất thường trên tổng số bất thường thực tế
- FPR: tỉ lệ bắt sai
- TP: số lượng bất thường bắt được
- TN: số lượng bình thường bắt được
- FP: số lượng mẫu bình thường nhưng bắt bất thường
- FN: số lượng mẫu bất thường nhưng dự đoán là bình thường
Bảng 3.1 Kết quả chạy với tập dữ liệu
Precision (tỉ lệ phát hiện bất thường chính xác trên tổng số bất thường đã dự đoán)
Recall (tỉ lệ dự đoán bất thường trên tổng số bất thường thực tế)
FPR ( tỉ lệ bắt sai)
TP (số lượng bất thường)
TN ( số lượng bình thường)
FP (số lượng mẫu bình thường nhưng bắt bất thường)
FN (số lượng mẫu bất thường nhưng dự đoán là bình thường)
3.3.2 Chọn ngưỡng cảnh báo bất thường
Sau khi phân tích dữ liệu và xác định mức độ bất thường của hành vi, bước tiếp theo là thiết lập chỉ số ngưỡng cảnh báo cho hành vi bất thường trong hệ thống SDM Hệ thống sẽ tự động gửi cảnh báo đến hệ thống giám sát khi chỉ số vượt ngưỡng đã được định sẵn Mỗi ngưỡng cảnh báo sẽ dẫn đến kết quả khác nhau về số lượng phát hiện và cảnh báo bất thường Việc thiết lập ngưỡng này cũng liên quan đến quá trình giám sát và xử lý các cảnh báo trong hệ thống an toàn thông tin khi đưa vào hoạt động thực tế Do đó, việc lựa chọn ngưỡng cần dựa vào mục đích sử dụng của đơn vị và từng bài toán cụ thể.
Kết quả từ các thử nghiệm trên tập dữ liệu mẫu cho thấy rằng việc thay đổi ngưỡng ảnh hưởng đến số lượng mẫu được xác định là bất thường và bình thường Như thể hiện trong Bảng 3.1, các chỉ số như tỷ lệ phát hiện bất thường chính xác, tỷ lệ dự đoán bất thường và tỷ lệ bắt nhầm cũng biến đổi theo từng ngưỡng Khi tăng số lượng phát hiện bất thường, đồng thời có sự gia tăng trong việc xác định sai các hành vi bình thường là bất thường Do đó, việc điều chỉnh ngưỡng là cần thiết để đạt được mục tiêu mong muốn trong ứng dụng thực tiễn.
Khi áp dụng ngưỡng từ 63 trở lên, như trong Bảng 3.2, tỉ lệ bắt sai đạt 0, cho thấy đây là ngưỡng lý tưởng cho việc xử lý tự động các cảnh báo bất thường Điều này giúp đơn vị giám sát an toàn thông tin không cần xác minh độ chính xác của cảnh báo, mà có thể nhanh chóng điều hành xử lý Tuy nhiên, với ngưỡng này, tỷ lệ phát hiện bất thường chỉ đạt 47,8%, dẫn đến việc bỏ sót 51.761 mẫu bất thường Do đó, nếu muốn giảm thiểu việc bỏ sót và tăng cường phát hiện bất thường, khả năng dự đoán sai sẽ gia tăng, tức là những trường hợp thực tế bình thường nhưng lại bị dự đoán là bất thường.
Bảng 3.2 Kết quả chạy với tập dữ liệu threshold
Precision (tỉ lệ phát hiện bất thường chính xác trên tổng số bất thường đã dự đoán)
Recall (tỉ lệ dự đoán bất thường trên tổng số bất thường thực tế)
FPR ( tỉ lệ bắt sai))
TP (số lượng bất thường)
TN ( số lượng bình thường)
FP (số lượng mẫu bình thường nhưng bắt bất thường)
FN (số lượng mẫu bất thường nhưng dự đoán là bình thường)
Để hỗ trợ việc chọn ngưỡng cảnh báo, luận văn mô phỏng kết quả trên biểu đồ với ba đường Precision, Recall và FPR Biểu đồ này giúp trực quan hóa sự thay đổi của các chỉ số đánh giá kết quả đầu ra của hệ thống phát hiện bất thường khi thay đổi các ngưỡng Cụ thể, tại ngưỡng 63, tỉ lệ bắt chính xác các bất thường đạt 100% với chỉ số Precision=1 và FPR=0 Tuy nhiên, tỉ lệ phát hiện bất thường chỉ đạt 47,8%, dẫn đến việc bỏ sót 52,2% các bất thường.
Hình 3.8 Biểu đồ tại ngưỡng 63
Đối với bài toán phát hiện bất thường đã được trình bày ở Mục 1.2, chỉ số tối ưu cho mô hình này là khi tỉ lệ chính xác và tỉ lệ phát hiện bất thường đều đạt mức cao.
Precision và Recall đều đạt mức cao, cho thấy hiệu quả của mô hình Dựa trên tập dữ liệu mẫu, ngưỡng 41 được xác định là tối ưu cho việc phát hiện bất thường Hơn nữa, tỷ lệ sai sót khi phát hiện (FPR) cũng rất thấp, chỉ ở mức 0,1%.
Hình 3.9: Kết quả đầu ra của việc xác định ngưỡng cảnh bảo
Sau khi đánh giá kết quả từ tập dữ liệu, chúng ta sẽ xác định ngưỡng phù hợp để nhận diện các bất thường và đưa ra cảnh báo Những trường hợp được coi là bất thường khi giá trị vượt qua ngưỡng đã đặt ra, như thể hiện trong biểu đồ Đối với tập dữ liệu mẫu, luận văn quyết định sử dụng ngưỡng cảnh báo là 41, tại đó độ chính xác của mô hình được thể hiện qua chỉ số precision đạt 0.948 và recall đạt 0.821, đảm bảo hiệu quả trong việc phát hiện bất thường.
Áp dụng thực nghiệm
Hệ thống phát hiện bất thường (SDM) đã được triển khai tại đơn vị, cho phép phân tích dữ liệu thực trên hệ thống công nghệ thông tin VTNet SDM bao gồm 11 node phân tán, lưu trữ và xử lý 50 TB dữ liệu trong vòng 60 ngày để phục vụ cho việc phân tích bất thường Hệ thống được lập lịch để chạy một lần mỗi ngày, nhằm phân tích và cảnh báo các hành vi đăng nhập bất thường trong ngày Ngoài ra, SDM còn được liên kết với hệ thống giám sát và cảnh báo an toàn thông tin thông qua máy chủ Redis 6, giúp cảnh báo các bất thường liên quan đến việc đăng nhập trên các hệ thống quan trọng như Email.
Gần đây, hệ thống giám sát SDM của VTNet đã phát hiện và xác minh các trường hợp đăng nhập bất thường, đặc biệt là từ các địa chỉ IP ngoài Việt Nam qua VPN Hệ thống ATTT đã nhận thông tin cảnh báo từ SDM, cho thấy sự cần thiết phải tăng cường bảo mật cho các hệ thống công nghệ.
Redis, viết tắt của REmote DIctionary Server, là một mã nguồn mở mạnh mẽ cho việc lưu trữ dữ liệu có cấu trúc Nó có thể được sử dụng như một cơ sở dữ liệu, bộ nhớ đệm, hoặc trình chuyển tiếp tin nhắn và danh sách tác vụ chờ xử lý Hệ thống này sử dụng mô hình lưu trữ dữ liệu dạng khóa-giá trị (KEY-VALUE), rất phổ biến và hiệu quả trong việc quản lý dữ liệu hiện nay.
Hình 3.10 Cảnh báo trên hệ thống
Hệ thống phát hiện bất thường trong hoạt động khai thác CNTT tại VTNet đã đạt được những kết quả khả quan, đặc biệt trong việc xử lý tình huống đăng nhập bất thường Hệ thống này không chỉ hoạt động độc lập mà còn được tích hợp với các công cụ giám sát an toàn thông tin hiện có, tạo ra một hệ thống quản lý an toàn thông tin toàn diện cho VTNet.
Luận văn đã trình bày việc xây dựng công cụ phân tích và mô hình sử dụng thuật toán để tính điểm hành vi đăng nhập vào hệ thống, nhằm xác định ngưỡng tối ưu cho việc phát hiện hành vi bất thường Phần mềm đã hoàn thành và chạy thử trên tập dữ liệu thực nghiệm, cho thấy hệ thống hoạt động hiệu quả và mô hình hóa kết quả phân tích trực quan, hỗ trợ quyết định về ngưỡng phát hiện bất thường Khi phát hiện hành vi bất thường, hệ thống sẽ gửi cảnh báo đến hệ thống giám sát an toàn thông tin của VTNet để các bộ phận chuyên trách xử lý Công cụ này đã được áp dụng thực tiễn, phát hiện nhiều trường hợp đăng nhập bất thường vào các hệ thống quan trọng, góp phần nâng cao công tác quản lý giám sát an toàn thông tin tại đơn vị.