You are on page 1of 63

NHÓM 2

Tìm hiểu phương pháp


phát hiện mã độc dựa trên học máy
Nhóm 2
Lương Đức Tuấn Đạt

Leader

Hồ Thảo Ngân Trần Thiện Dinh


Tổng quan về mã độc Thu thập dữ liệu mạng (các cách thu thập pcap
(Đồng thời chịu trách nhiệm chỉnh cho toàn từ mã độc / đoạn mã độc ) Bộ dữ liệu kdd99
bộ word < căn lề, cỡ chữ, in ấn, in ba>)

Phạm Văn Ngọc Ngụy Đình Thành


Tổng quan về học máy Bộ trích xuất dữ liệu, chạy thực
nghiệm và đưa ra cảnh báo
Chương 1
Tổng quan về mã độc
01 Giới thiệu về mã độc

C ấu
trúc
02 Phân loại mã độc

03 Các kỹ thuật phát hiện mã độc


01
Giới thiệu về mã độc
02
Phân loại mã độc
Virus máy tính

Logic Bomb Backdoor

Trojan Horse Worm (Sâu máy tính)


03
Kỹ thuật phát hiện mã độc
Giới thiệu về phân tích động

Yêu cầu hệ thống phân tích


Xây dựng môi trường
Thực hiện phương pháp
Các kỹ thuật phát hiện dựa trên phân tích tĩnh

Giới thiệu về phân tích tĩnh Yêu cầu hệ thống

Xây dựng môi trường Thực hiện phương pháp


Chương 2
Tổng quan về
machine learning
01 Các khái niệm cơ bản
Nộ i
Giới thiệu về feature engineering
dung 02

03 Overfitting
01
Khái niệm cơ bản
Khái niệm

Một chương trình máy tính được gọi là học từ kinh


nghiệm E để hoàn thành nhiệm vụ T, với hiệu quả được đo
bằng phép đánh giá P, nếu hiệu quả của nó khi thực hiện
nhiệm vụ T, khi được đánh giá bởi P, cải thiện theo kinh
nghiệm E.
Khái niệm

Nhiệm vụ, T Phép đánh giá, P

Hàm mất mát


Kinh nghiệm,E và tham số
mô hình
Nhiệm vụ
Các nhiệm vụ trong machine learning thường được mô tả thông qua việc
một hệ thống machine learning xử lý một điểm dữ liệu (data point) như thế
nào.

Mỗi điểm dữ liệu bao gồm nhiều đặc trưng (feature) khác nhau, mỗi
feature thường được biểu diễn dưới dạng một con số.

Chúng ta thường biểu diễn một điểm dữ liệu như một vector trong đó mỗi
phần tử là một đặc trưng, vector này thường được gọi là vector đặc trưng
(feature vector).
Nhiệm vụ

Classification Machine translation

Regression Clustering

Completion Ranking
Phép đánh giá

Để kiểm tra năng lực của một thuật toán machine learning, chúng ta cần
phải thiết kế các phép đánh giá có thể đo đạc được kết quả.

Dữ liệu thường được chia thành hai phần riêng biệt: tập huấn luyện
(training set) và tập kiểm thử (test set). Tập kiểm thử được dùng để đánh giá
năng lực của mô hình tìm được.
Kinh nghiệm

Việc huấn luyện các mô hình machine learning có thể coi là việc cho
chúng trải nghiệm trên các tập dữ liệu (dataset)–chính là training set. Chất
lượng của các tập dữ liệu này cũng ảnh hưởng tới hiệu năng của mô hình

Dựa trên tính chất của các tập dữ liệu, các thuật toán machine learning có thể
phân loại thành hai nhóm chính là học không giám sát (unsupervised learning)
và học có giám sát (supervised learning).
Kinh nghiệm

Supervised learning unsupervised learning

Dự đoán đầu ra dựa Không biết được kết


trên các cặp (đầu quả đầu ra mà chỉ
vào, đầu ra) đã biết biết các vector đặc
từ trước trưng của dữ liệu
đầu vào
Tham số mô hình và hàm mất mát

Quan hệ giữa một phép


Mỗi mô hình machine
đánh giá và các tham số
learning được mô tả
mô hình thường được mô tả
bởi các tham số mô hình
thông qua một hàm số
(model parameters)
được gọi là hàm mất mát

Mục đích của chúng ta


Việc đi tìm các tham số mô
là đi tìm các tham số mô hình
hình sao cho phép đánh giá
sao cho các phép đánh giá
trả về kết quả tốt tương
cho kết quả tốt nhất.
đương với việc tối thiểu
hàm mất mát
02
Feature enginerring
Feature engineering

Feature Engineering là quá trình chuyển đổi tập dữ liệu


thô ban đầu thành tập các thuộc tính (features) có thể giúp
biểu diễn tập dữ liệu ban đầu tốt hơn, tạo điều kiện để giải
quyết các bài toán dễ dàng hơn, giúp tương thích với từng
mô hình dự đoán cụ thể, cũng như cải thiện độ chính xác của
mô hình dự đoán hiện tại.
Mô hình thường gặp trong Machine Learning
Ví dụ feature engineering

Trực tiếp lấy dữ Giảm chiều dữ


liệu thô 标题文本 liệu
预设

Lựa chọn đặc Bag of word


标题文本
trưng 标题文本 预设
预设
03
Overfitting
Giới thiệu
Overfitting là hiện tượng mô hình tìm được quá khớp với dữ liệu
huấn luyện. Việc này sẽ gây ra hậu quả lớn nếu trong training set có
nhiễu.

Mô hình quá chú trọng vào việc xấp xỉ training set mà quên đi việc
quan trọng hơn là tính tổng quát, khiến cho mô hình không thực sự
mô tả tốt dữ liệu ngoài training set.

Overfitting đặc biệt xảy ra khi lượng dữ liệu huấn luyện quá
nhỏ hoặc độ phức tạp của mô hình quá cao.
Giới thiệu
Phòng tránh overfitting
Training error: Đại lượng này là mức độ sai khác giữa đầu ra thực
và đầu ra dự đoán của mô hình, thường là giá trị của hàm mất mát áp
dụng lên training data.

Test error: Tương tự như trên, nhưng mô hình tìm được được áp
dụng vào test data.

Một mô hình được coi là tốt (fit) nếu cả training error và test error
đều thấp. Nếu training error thấp nhưng test error cao, ta nói mô hình bị
overfitting. Nếu training error cao và test error cao, ta nói mô hình bị
underfitting.
Kỹ thuật phòng tránh overfitting

Regularization
Validation

Cross-validation
Validation
Cross-validation

Cross-validation là một cải tiến của validation với lượng dữ liệu trong
validation set là nhỏ nhưng chất lượng mô hình được đánh giá trên nhiều
tập validation khác nhau.

Một cách thường được sử dụng là chia training set ra k tập con không giao
nhau, có kích thước gần bằng nhau. Tại mỗi lần, một trong số k tập con
được lấy ra làm validation set.
Regularization

Regularization, một cách dễ hiểu, là thay đổi mô hình một chút, chấp nhận
hy sinh độ chính xác trong training set, nhưng giảm độ phức tạp của mô
hình, giúp tránh overfitting trong khi vẫn giữ được tính tổng quát của nó.
Chương
P h3
ương pháp phát
hiện mã độc dựa trên
học máy
01 Một số thuật toán học máy cơ bản
Nộ i
Mô hình phát hiện mã độc
dung 02

03 Chạy thực nghiệm


01
ML Algorithms
Khái niệm - KNN

K-nearest neighbor (KNN) là một trong những thuật toán supervised


learning đơn giản. Khi huấn luyện, thuật toán này không học một điều gì từ dữ
liệu huấn luyện mà nhớ lại một cách máy móc toàn bộ dữ liệu đó
Khái niệm
Khái niệm
Khái niệm
Ưu điểm
 Độ phức tạp tính toán của quá trình training là bằng 0.
 Việc dự đoán kết quả của dữ liệu mới rất đơn giản.
 Không cần giả sử gì về phân phối của các class.

Nhược điểm
 KNN rất nhạy cảm với nhiễu khi K nhỏ.
Khái niệm – K-means

Trong thuật toán K-means


clustering, chúng ta không biết
nhãn (label) của từng điểm dữ
liệu. Mục đích là làm thể nào
để phân dữ liệu thành các cụm
(cluster) khác nhau sao
cho dữ liệu trong cùng một
cụm có tính chất giống nhau.
Thuật toán– K-means
Đầu vào: Dữ liệu X và số lượng cluster cần tìm K.
Đầu ra: Các center M và label vector cho từng điểm dữ liệu Y.
1. Chọn K điểm bất kỳ làm các center ban đầu.
2. Phân mỗi điểm dữ liệu vào cluster có center gần nó nhất.
3. Nếu việc gán dữ liệu vào từng cluster ở bước 2 không thay đổi so với vòng
lặp trước nó thì ta dừng thuật toán.
4. Cập nhật center cho từng cluster bằng cách lấy trung bình cộng của tất các
các điểm dữ liệu đã được gán vào cluster đó sau bước 2.
5. Quay lại bước 2.
Thuật toán– K-means
Thu thập dữ liệu mạng

PCAP là một tài nguyên có giá trị để phân tích tệp và theo dõi lưu lượng
mạng của bạn.

Giám sát việc sử dụng băng thông, xác định máy chủ DHCP giả mạo,
phát hiện phần mềm độc hại, giải pháp DNS và phản ứng sự cố.

Một số ứng dụng phổ biến có thể mở tệp .pcap là Wireshark, WinDump,
tcpdump, …
Thu thập dữ liệu mạng
https://www.malware-traffic-analysis.net/training-exercises.html
Cuckoo Sandbox
Bộ dữ liệu KDD99

KDD99 được tạo ra năm 1999 bởi MIT Lincoln Labs. Nó được thu thập trong 9
tuần trong các mạng LAN giả lập mạng U.S. Air Force.

Dữ liệu gốc (raw) chứa khoảng 4 GB các dữ liệu nhị phân TCP Dump của
traffice mạng trong 7 tuần.

Tập dữ liệu huấn luyện có 4.898.431 vectơ kết nối đơn, mỗi vectơ có 41 thuộc
tính và được dán nhãn là bình thường hoặc một cuộc tấn công một cách chính
xác với một kiểu tấn công cụ thể.
Các dạng tấn công

Denial of Service (DoS): kẻ tấn công làm cho các tài nguyên tính toán hoặc bộ
nhớ quá tải để xử lý các yêu cầu hợp lệ, hoặc từ chối người dùng hợp lệ truy
cập máy.
Remote to Local (R2L) : kẻ tấn công tuy không có tài khoản nhưng có khả
năng gửi các gói tin đến một máy qua mạng, sẽ khai thác một số lỗ hổng để
đạt được quyền truy cập cục bộ như là người sử dụng của máy đó.

User to Root (U2R): kẻ tấn công bắt đầu với một quyền truy cập bình thường
và sau đó khai thác một số lỗ hổng để đạt được quyền truy cập root trên hệ
thống.

Probe: kẻ tấn công nỗ lực thu thập thông tin về mạng máy tính nhằm phá vỡ
khả năng kiểm soát an ninh của nó.
Bộ dữ liệu KDD99
Các kỹ thuật tấn công
Các kỹ thuật tấn công
Các thuộc tính
Các thuộc tính
Mô hình thực thi với KDD99
Bộ trích xuất dữ liệu
Chạy thực nghiệm và đưa ra cảnh báo
Thank you

You might also like