Có nhiều kỹ thuật phát hiện mã độc đã được sử dụng như: Sử dụng bộ giả lập dựa trên kỹ thuật heuristics, phân rã mã ... tuy nhiên chưa có kỹ thuật nào phát hiện một cách toàn diện. Mặt khác các kỹ thuật này còn phức tạp, và để hiệu cặn kẽ về chúng là việc không đơn giản. Do vậy, việc tìm các phương pháp mới để phát hiện Virus đa hình là cần thiết. Ngoài ra, với sự phát triển của việc ứng dụng trí tuệ nhân tạo trong công nghệ tính toán mềm đang dần trở thành một xu thế tất yếu, sử dụng mạng nơ ron nhân tạo trong các bài toán phân tích và nhận dạng cũng không nằm ngoài xu thế đó. Vậy nên chúng em đã chọn đề tài Nghiên cứu, ứng dụng kỹ thuật dịch ngược và mạng nơron trong phát hiện mã độc để thực hiện nghiên cứu và đã đạt được những kết quả nhất định.
Trang 1Học Viện Kỹ Thuật Mật Mã
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
Trang 2• 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ó
• 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
Trang 3Họ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.
Mạng nơ-ron truyền thẳng nhiều lớp
Thuật toán huấn luyện mạng.
Nội Dung
Trang 4Mạ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.
Trang 5Họ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).
Trang 6Cấu Trúc Nơ-ron
Trang 7Hàm kích hoạt
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
Trang 8– Hàm tổng (u)
– Hàm kích hoạt
Cấu Trúc Nơ-ron
Hàm tuyến tính (linear fuction)
Hàm sigmoid (Sigmoid function (logsig))
Trang 9Họ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.
Trang 10Phâ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.
Trang 11• 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.
– 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
Trang 12– Luật huấn luyện có giám sát (supervised Learning)
Huấn Luyện Mạng Nơ-ron
Thay đổi trọng số
Lỗi
Trang 13Thuậ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:
Trang 14Giải Thuật Lan Truyền Ngược
Yq = f( )
Wn jq Yjj=1
Trang 15Học Viện Kỹ Thuật Mật Mã
Giải Thuật Lan Truyền Ngược
Wn jq Yjj=1
Yq = f( ) = f( Wjq
n j=1 f( )) Wn ij Xi
i=1
E = q - dq )2 = W [f( jq ) – dq ]2
n j=1 f( ))n
i=1
Wij Xi
Trang 17Họ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.
Trang 18Bổ sung thêm tính năng vào chương trình
Có được trong tay
ý tưởng code của
Trang 19Họ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.
Trang 20PE File
Signature
File Header
Optional Header
Trang 21Các trường dùng trích chọn
Trang 22Một số vấn đề lưu ý
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 ⎢x ⎢ lớn ⎢x ⎢ lớn
Trang 23Học Viện Kỹ Thuật Mật Mã
Một số vấn đề lưu ý
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).
Trang 24Một số vấn đề lưu ý
Giải pháp cho vấn đề underfitting, overfitting
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.
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.
Trang 26 Tập trích chọn: 13 đặc trưng.
Training: 25 virus + 15 file sạch.
Test: 5 virus + 5 file sạch.
Trang 27Học Viện Kỹ Thuật Mật Mã
Thank You!
Cảm ơn hội đồng và các bạn đã lắng nghe