Đánh giá một số thuật toán học máy trong hệ thống IDS (phần 1)

Thảo luận trong 'AI' bắt đầu bởi nktung, 11/04/20, 04:04 PM.

  1. nktung

    nktung Super Moderator Thành viên BQT

    Tham gia: 08/10/13, 04:10 AM
    Bài viết: 876
    Đã được thích: 354
    Điểm thành tích:
    83
    Phần đầu tiên của loạt bài viết sẽ đề cập về hệ thống IDS bao gồm phân loại, các kỹ thuật phát hiện, ưu điểm từng kỹ thuật.Tiếp đó bài viết đề cập đến lĩnh vực học máy, phân loại các thuật toán học máy.
    Hệ thống phát hiện xâm nhập mạng (IDS) giám sát lưu lượng mạng để phát hiện những hành vi đáng ngờ và đưa ra cảnh báo.
    Phân loại các hệ thống IDS
    • Hệ thống phát hiện xâm nhập mạng (NIDS): là hệ thống thường được đặt ở cửa ngõ của mạng, để giám sát lưu lượng truy cập. Thông thường nó được tích hợp trên các tường lửa thế hệ mới.
    • Hệ thống phát hiện xâm nhập máy chủ (HIDS): thường là các phần mềm an ninh được cài đặt trên hệ điều hành của máy chủ.
    IDS cũng có thể được phân loại dựa trên khả năng hành động:​
    • Chủ động: tạo cảnh báo và lưu bản ghi, đồng thời ra lệnh thay đổi cấu hình để bảo vệ mạng. Ví dụ hệ thống này khi phát hiện tấn công, có thể kích hoạt các luật ngăn chặn trên firewall. Hệ thống này còn gọi là IDS/IPS (Intrustion Prevention System)
    • Bị động: chỉ cảnh báo, không thực hiện hành động ngăn chặn.
    Các kỹ thuật phát hiện xâm nhập
    • Phát hiện xâm nhập dựa trên chữ ký: loại IDS này so sánh lưu lượng truy cập với cơ sở dữ liệu chứa các mẫu tấn công (gọi là chữ ký). Kiểu IDS này khó phát hiện ra những dạng tấn công mới do bị giới hạn bởi số lượng chữ ký. Loại IDS này cần được update chữ ký thường xuyên.
    • Phát hiện xâm nhập dựa trên sự bất thường: loại IDS này dùng phương pháp thống kê lưu lượng mạng trong các khoảng thời gian khác nhau để tạo nên một đường cơ sở (baseline) và dựa vào đó để phát hiện ra những hành vi đáng ngờ. Dạng IDS này sử dụng các kỹ thuật học máy để tạo ra một mô hình mô phỏng việc truy cập thông thường của người dùng mạng. Do đó nếu có một truy cập bất thường, nó sẽ đưa ra cảnh báo.
    Một số nhược điểm của dạng các hệ thống IDS trước đây
    • Tỉ lệ phát hiện sai lớn, số lượng cảnh báo sai quá nhiều làm nản lòng admin khi theo dõi hệ thống, dẫn đến admin có thể bỏ qua những cuộc tấn công thực sự
    • IDS dựa trên chữ ký cần update mẫu liên tục
    • IDS có thể bị tấn công vì nó hoạt động ở biên của mạng. Hơn nữa bản thân IDS là một bộ phân tích giao thức nên nếu kẻ gian tấn công vào điểm yếu của các giao thức, thì IDS cũng dễ bị đánh sập (ví dụ tấn công giao thức HTTP)
    • Chỉ có thể phát hiện bất thường chứ không thể phát hiện dạng tấn công mới
    • NIDS có thể tạo một nút cổ chai vì tất cả lưu lượng truy cập từ trong ra và từ ngoài vào, đều phải đi qua nó để phân tích.
    • HIDS dựa vào nhật ký kiểm toán. Do đó nếu nhật ký bị sửa đổi, thì sẽ làm ảnh hưởng đến sự chính xác.
    Machine Learning
    Machine Learning là một lĩnh vực nhỏ của khoa học máy tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể. Sau khi được học có thể đưa ra những dự đoán cho tương lai. Phân loại các thuật toán học máy:
    • Thuật toán máy học có giám sát: là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Các thuật toán này thường được ứng dụng trong các bài toán: nhận dạng ảnh, lọc thư rác, phát hiện mã độc,...
    • Các thuật toán học máy không được giám sát: Trong thuật toán này, chúng ta không biết được outcome hay nhãn mà chỉ có dữ liệu đầu vào. Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó. Ứng dụng trong các bài toán mà ta cần hiểu về dữ liệu, ví dụ phân loại khách hàng…
    • Các thuật toán học tăng cường: là các thuật toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất. Ứng dụng lý thuyết trò chơi, trong dự đoán sức khỏe của thiết bị theo thời gian (predictive maintenance)
    upload_2020-4-11_16-13-17.png
    Hình. Phân loại các thuật toán học máy và đặc điểm. Nguồn. Internet

    Đánh giá các thuật toán học máy sử dụng trong hệ thống IDS:

    • Thuật toán học máy không giám sát có thể tự "tìm hiểu" các mô hình điển hình của mạng và đưa ra cảnh báo nếu có bất thường xảy ra, mà không cần thiết tập dữ liệu phải được gán nhãn. Sử dụng thuật toán dạng này có thể phát hiện các loại tấn công mới, nhưng tỉ lệ phát hiện sai (false positive) cao. Một số phương pháp hoc̣ không có giám sát là : K-means, C-Means, One-class SVM, Clustering.
    • Thuật toán học máy có giám sát tỉ lệ phát hiện sai thấp hơn. Để làm được điều này, cần có một tập dữ liệu đã được dán nhãn, sau đó xây dựng một mô hình học máy có giám sát, tức huấn luyện cho mô hình phân biệt sự khác nhau giữa gói tin của kết nối bình thường và gói của một kết nối tấn công mạng. Sau khi được huấn luyện đầy đủ, mô hình sẽ phát hiện ra những gói tin của những cuộc tấn công đã biết, và cả những gói tin của các vụ tấn công là biến thể của chúng (chưa biết). Các thuật toán giám sát bao gồm: Bayes Network, Random Forest, Random Tree, MLP, Decision Table, One-class SVM.
    (Còn tiếp)

    Nguồn tham khảo
    https://dzone.com/articles/evaluation-of-machine-learning-algorithms-for-intr
    https://machinelearningcoban.com/
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan