BÁO CÁO THỰC TẬP CƠ SỞ
Áp dụng Dịch Ngược,
Mạng Nơ-ron trong phát hiện Mã Độc.
Giáo Viên HD: Phạm Văn Hưởng.
Nhóm SV thực hiện:
1. Ngô Văn Thỉnh.
2. Phạm Công Lý.
3. Nguyễn Văn Hoàng.
Lớp AT9A
Học Viện Kỹ Thuật Mật Mã
Phân Tích Mã Độc
•
Phân tích xem xét kỹ mã của virus thông qua dịch ngược
•
Với những loại virus phức tạp, thì để đọc hiểu được hết mã thực thi của nó là một việc
rất khó
Tĩnh
Động
•
Cung cấp cho người phân tích cái nhìn hết sức chính xác về những gì mà nó làm
•
Phân tích cách hoạt động của virus khi nó được thực thi
•
Quá trình phân tích diễn ra nhanh hơn, dễ dàng hơn.
•
Không phải hành vi nào cũng phân tích được
Học Viện Kỹ Thuật Mật Mã
Mạng Nơ-ron
Mạng nơ-ron là gi?
Cấu trúc nơ-ron nhân tạo.
Nội Dung
Mạng nơ-ron truyền thẳng nhiều lớp
Thuật toán huấn luyện mạng.
Học Viện Kỹ Thuật Mật Mã
Mạng Nơ-ron
•
Mạng nơ-ron nhân tạo hoạt động dựa theo cách thức của bộ não con người nhưng
ở cấp độ đơn giản hơn.
•
Hai đặc tính cơ bản của mạng nơ-ron là:
–
Quá trình tính toán được tiến hành song song và phân tán trên nhiều nơ-ron gần như
đồng thời.
–
Tính toán thực chất là quá trình học, chứ không phải theo sơ đồ định sẵn từ trước.
Học Viện Kỹ Thuật Mật Mã
Cấu Trúc Nơ-ron
•
Noron nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra với ba thuộc tính quan
trọng là: trọng số kết nối (Weight), ngưỡng (Threshold) và hàm kích hoạt (Activation function
hay Transfer function).
Học Viện Kỹ Thuật Mật Mã
Cấu Trúc Nơ-ron
Học Viện Kỹ Thuật Mật Mã
Cấu Trúc Nơ-ron
Hàm kích hoạt
•
Quá trình xử lý thông tin gồm: xử lí tín hiệu đầu vào và xử lí tín hiệu đầu ra.
–
Hàm tổng (u): dùng để kết hợp và xử lí tín hiệu các thông tin ở đầu vào
–
Hàm kích hoạt: là hàm xử lý tìm hiệu đầu ra. Kí hiệu: f(.)
Học Viện Kỹ Thuật Mật Mã
Cấu Trúc Nơ-ron
–
Hàm tổng (u)
Hàm tuyến tính (linear fuction)
u = (∑ j =1 w j x j ) − θ = W T X − θ
n
–
Hàm kích hoạt
Hàm sigmoid (Sigmoid function (logsig))
1
f (x) =
1 + e− x
Học Viện Kỹ Thuật Mật Mã
Mạng Nơ-ron truyền thẳng nhiều lớp
Tầng đầu vào: Mỗi tín hiệu xi của tín hiệu vào sẽ được đưa đến tất cả các nơ-ron của lớp nơ-ron đầu tiên. Thông thường, các
nơ-ron đầu vào không làm biến đổi các tín hiệu vào, chúng chỉ đóng vai trò phân phối các tín hiệu và không đóng vai trò
sửa đổi chúng.
Học Viện Kỹ Thuật Mật Mã
Phân Loại Mạng Nơ-ron
Tầng ẩn: là lớp nơ-ron dưới lớp vào, chúng không trực tiếp liên hệ với thế giới bên ngoài như các nơ-ron vào ra.
Tầng đầu ra: là lớp nơ-ron tạo ra các tín hiệu cuối cùng.
Học Viện Kỹ Thuật Mật Mã
Huấn Luyện Mạng Nơ-ron
•
Kiểu huấn luyện:
–
Huấn luyện thông số (Parameter Learning): dùng để cập nhật các trọng số liên kết
giữa các tế bào nơ-ron và ngưỡng phân cực trong mạng.
•
Luật huấn luyện:
–
Có giám sát (supervised Learning)
Học Viện Kỹ Thuật Mật Mã
Huấn Luyện Mạng Nơ-ron
–
Luật huấn luyện có giám sát (supervised Learning)
Học Viện Kỹ Thuật Mật Mã
Giải Thuật Lan Truyền Ngược
Thuật toán sử dụng một tập các mẫu gồm các cặp đầu vào - đầu ra để luyện mạng. Với mỗi cặp đầu vào - đầu ra
(x(k),d(k)) thuật toán lan truyền ngược sai số thực hiện hai giai đoạn sau:
X1
E1 = Y-1d1
Y2
X2
E2 =
- d2
Y3
X3
E3 =
- d3
Học Viện Kỹ Thuật Mật Mã
Giải Thuật Lan Truyền Ngược
j
n
Yj = f( Σ Wij Xi
n
Σ Wij Xi
)
i=1
f(x)
i=1
Hidden
Y1
q
W1q
n
Yq = Σf(Wjq Yj)
n
Yj
Wjq
Wnq
Yn
Σ Wjq Yj
j=1
f(x)
j=1
Học Viện Kỹ Thuật Mật Mã
Giải Thuật Lan Truyền Ngược
n
n
ΣW
Yq =
f( jq Yj ) = f(
j=1
Σ Wjq
j=1
n
E=
2
q - dq ) =
Σ Wjq [f(
j=1
n
Σf(Wij Xi ))
i=1
n
Σf(Wij Xi ))) – d ]2
q
i=1
Học Viện Kỹ Thuật Mật Mã
ủ
tạo
các
to
Áp Dụng phát hiện Mã Độc
RE
PE File
Học Viện Kỹ Thuật Mật Mã
Kỹ Thuật Dịch Ngược (RE)
•
Kỹ thuật dịch ngược là quá trình tìm hiểu những công nghệ được sử dụng bởi 1
thiết bị, 1 đối tượng hoặc 1 hệ thống thông qua việc phân tích cấu trúc, các chức
năng và hoạt động của nó
•
Kỹ thuật dịch ngược là 1 khái niệm rất rộng, bao gồm cả dịch ngược phần cứng và
dịch ngược phần mềm.
Học Viện Kỹ Thuật Mật Mã
Ứng Dụng Kỹ Thuật RE
Có được trong tay ý tưởng code
Kiểm tra chất lượng phần mềm
Ý tưởng
của tác giả.
Tester
Security
Bổ sung thêm tính năng vào
RE
chương trình
Phá vỡ cơ chế bảo vệ phần
Functions
mềm.
Học tập nghiên cứu virus hay mã độc.
Research
Một số ứng dụng RE trong khoa học máy
tính.
Học Viện Kỹ Thuật Mật Mã
PE File
PE file là gì?
PE là từ viết tắt của Portable Executable.
PE là định dạng riêng của Win32.
Tất cả các file có thể thực thi được trên Win32 (ngoại trừ các tập tin VxDs và
Dlls 16bit) đều sử dụng định dạng PE.
Học Viện Kỹ Thuật Mật Mã
PE File
PE header
Signature
File Header
Optional Header
Học Viện Kỹ Thuật Mật Mã
Các trường dùng trích chọn
Một số vấn đề lưu ý
Chuẩn hóa số liệu đầu vào
Giá trị ở đầu ra của mỗi nơ-ron nằm trong phạm vi khoảng (0,1) và nó đạt các
giá trị bão hoà ( xấp xỉ 0 hay 1 ) khi ⎢x ⎢ lớn
Học Viện Kỹ Thuật Mật Mã
Một số vấn đề lưu ý
Học chưa đủ hoặc quá thuộc
Khi mạng có cấu trúc (số nút ẩn và liên kết) cũng như số lần học chưa đủ so với nhu cầu của
bài toán => học chưa đủ (underfitting).
Nếu mạng quá phức tạp (quá nhiều nút ẩn và quá nhiều tham số) và được học “quá khít” đối
với các mẫu dùng để luyện mạng thì có thể dẫn tới tình trạng mạng học cả thành phần nhiễu
lẫn trong các mẫu đó, đây là tình trạng “học quá thuộc” (overfitting).
Học Viện Kỹ Thuật Mật Mã
Một số vấn đề lưu ý
Giải pháp cho vấn đề underfitting, overfitting
Sử dụng tập số liệu có tính đại diện tốt để luyện mạng: Khi tập mẫu dùng để luyện mạng thể hiện
được nhiều trạng thái có thể xảy ra của quá trình cần nghiên cứu thì sau khi học mạng sẽ có khả năng
tổng quát hoá tương đối tốt từ tập dữ liệu đó và sẽ không chịu ảnh hưởng nhiều của hiện tượng
overfitting.
Lựa chọn cấu trúc mô hình phù hợp: Việc lựa chọn mô hình của mạng (số lớp ẩn, số nơ-ron trên mỗi
lớp ẩn) có ảnh hưởng quan trọng đến hiện tượng học chưa đủ (underfitting) và học quá (overfitting) của
mạng.
Học Viện Kỹ Thuật Mật Mã
Một số vấn đề lưu ý
Lựa chọn kích thước mạng
Một số công trình nghiên cứu về chủ đề này cho rằng:
số nơ-ron tối ưu ở lớp ẩn thường nhỏ hơn
(2p+1). p- số nơ-ron tầng vào.
số mẫu của cơ sở dữ liệu học cần phải thoả mãn
N ≈ 4.(p+1).L, trong đó L – số nơ-ron tầng ẩn.
Học Viện Kỹ Thuật Mật Mã