You are on page 1of 28

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.

HCM
KHOA CÔNG NGHỆ THÔNG TIN

BÀI THUYẾT TRÌNH


Đề tài: Android malware detection through
generative adversarial networks (GANs)
Nhóm PBP:

Ngô Võ Minh Phát


Đinh Thịnh Phát
Lê Xuân Bảo
Đào Trọng Thắng

Lớp: 21DTHB6

Giảng viên: Bùi Danh Hường


I. Tổng quan:
1.Giới thiệu:

- Đề tài "Android Malware Detection through Generative

Adversarial Networks" là một nghiên cứu về việc sử dụng

mạng phân loại phân tầng (Generative Adversarial Networks -

GANs) để phát hiện và ngăn chặn phần mềm độc hại trên hệ
bl

điều hành Android.


Dạng malware Android phổ
biến
1 Spyware 2 Ransomware

Malware thu thập thông tin cá Malware mã hóa dữ liệu và yêu


nhân mà người dùng không cầu tiền chuộc để giải mã.
biết.

3 Phishing apps

Malware giả mạo các ứng dụng phổ biến để lừa đảo người dùng.
Sử dụng GAN trong xác định malware
Android

Generating Malicious Data Augmentation Feature Extraction


Behaviors
GANs có thể học cách GANs có thể tạo dữ GANs có thể trích xuất
tạo ra hành vi của liệu bổ sung để cải các tính năng liên quan
phần mềm độc hại cho thiện độ tin cậy của từ các mẫu phần mềm
mục đích phát hiện. mô hình phát hiện. độc hại để phát hiện
chính xác hơn.
-Một số nghiên cứu và lý thuyết:

+ Sử dụng mạng GANs để phát hiện malware

+ Phát hiện malware dựa trên học máy

+ Phân tích đặc điểm malware Android

+ Phát triển cơ sở dữ liệu malware


2.Nhiệm vụ đồ án:

- Các lí do hình thành đề tài

- Mục tiêu nghiên cứu

- Đối tượng

- Phạm vi giới hạn


II. Cơ sở lý thuyết :
1.Khái niệm:

- Mạng GAN (Generative Adversarial

Network) là một kiến trúc mạng nơ-ron đặc

biệt được sử dụng để tạo ra dữ liệu mới, có

tính phát sinh.


Các mô hình Generative Adversarial
Networks (GAN)

Generative Model: Discriminative Adversarial Training:


Mô hình tổng quát Model: Mô hình phân Đào tạo bất lợi
Tạo các mẫu mới dựa trên dữ liệu
biệt đối xử Các mô hình cạnh tranh và cải
đào tạo. Phân loại các mẫu là thật hoặc giả. thiện hiệu suất của nhau.
2.Cấu trúc mạng GANs:

- Generator (mạng sinh): Generator là

mạng sinh ra dữ liệu, tức là sinh ra các chữ

số giống với dữ liệu trong MNIST dataset.

Generator có input là noise (random

vector) là output là chữ số.


+ Để tạo được hình ảnh ban đầu này, chúng ta sẽ thực hiện
theo cách sau: chúng ta tạo ra một vector đặc trưng z bằng
cách sử dụng phân phối chuẩn hoặc phân phối đồng đều,
... .Với việc đầu vào là một vector đặc trưng z, chúng ta sẽ
thực hiện sử dụng trình tạo G để tạo ra hình ảnh đầu
ra x giống như hình trên.

+ Về mặt khái niệm, vector đặc trưng z đại diện cho các

đặc trưng ẩn của hình ảnh, ví dụ như: màu sắc, hay hình

dạng hình ảnh đầu ra.


- Discriminator (Mạng phân biệt) : Discriminator là

mạng để phân biệt xem dữ liệu là thật (dữ liệu từ

dataset) hay giả (dữ liệu sinh ra từ Generator). Trong bài

toán này thì discriminator dùng để phân biệt chữ số từ

bộ MNIST và dữ liệu sinh ra từ Generator. Discriminator

có input là ảnh biểu diễn bằng 784 chiều, output là ảnh

thật hay ảnh giả.


+ Chúng ta sẽ đào tạo trình so sánh này như

giống như một trình phân loại trong Deep

Learning thông thường. Thông qua quá trình đào

tạo này, thì trình so sánh có thể xác định được sự

đóng góp của các đặc trưng z được tạo ra trong

hình ảnh X đầu vào có gần giống với hình ảnh

trong thế giới thực hay chưa .


Mô hình GAN và kiến trúc của nó

1 Generator
Tạo ra mẫu malware dựa trên mô
hình học từ dữ liệu huấn luyện.
Discriminator 2
Phân loại các mẫu malware là thật
hoặc giả mạo. 3 Adversarial Training
Các mô hình tranh đấu để nâng
cao hiệu suất nhau.
3.Nguyên lí hoạt động:

Mạng Generative Adversarial Networks (GANs) hoạt

động dựa trên một nguyên tắc cơ bản gồm hai phần chính:

Generator (Mạng sinh) và Discriminator (Mạng phân

biệt). Cả hai mạng này hoạt động song song và tương tác

với nhau để đạt được mục tiêu cuối cùng, là tạo ra dữ liệu

giả tốt hơn và khó phân biệt hơn.


- Generator (mạng sinh):
+ Generator nhận vào một vector ngẫu
nhiên từ không gian tiền tố (latent space),
thường được gọi là vector ngẫu nhiên z.
+ Generator sử dụng các tầng nơ-ron và
hàm kích hoạt để biến đổi vector z thành
một đối tượng dữ liệu giả, thường là hình
ảnh, âm thanh, hoặc dữ liệu nhiều chiều
khác.
+ Mục tiêu của Generator: tạo ra dữ liệu
giả sao cho nó thật sự gần với dữ liệu thật
từ tập huấn luyện.
- Discriminator (Mạng phân biệt) :
+ Discriminator nhận vào một đối tượng dữ liệu, có
thể là thật hoặc giả, và cố gắng phân biệt nó.
+ Discriminator sử dụng các tầng nơ-ron và hàm
kích hoạt để đưa ra dự đoán xem đối tượng dữ liệu đó
có phải là thật (đến từ tập huấn luyện) hay giả (do
Generator tạo ra).
+ Mục tiêu của Discriminator là phân biệt giữa dữ
liệu thật và dữ liệu giả một cách chính xác nhất.
- Quá trình tương tác:
+ GAN hoạt động thông qua quá trình tương tác giữa Generator
và Discriminator.
+ Generator cố gắng tạo ra dữ liệu giả tốt nhất có thể để đánh
lừa Discriminator.Discriminator cố gắng cải thiện khả năng phân
biệt giữa dữ liệu thật và giả.Quá trình này tiếp tục lặp đi lặp lại.
Generator cố gắng cải thiện khả năng tạo ra dữ liệu giả, trong khi
Discriminator cố gắng cải thiện khả năng phân biệt.
+ Như mô tả ở hình trên, generator G(z) lấy input z từ pz(z), với
z là sample thuộc phân phối xác xuất p(z), được sinh ngẫu nhiên
từ latent space, sau đó gán thêm nhiễu (noise). Sample sinh ra từ
G(z) được nạp vào Discriminator network D(x).
4.Các ứng dụng của mạng GANs:

- Thao tác dữ liệu

- Bảo mật

- Tạo dữ liệu
5.Ứng dụng thực tế của mạng GANs:

- Thời trang, nghệ thuật

- Phim ảnh

- Khoa học

- Các ứng dụng khác


6.Các hàm kích hoạt:

- Hàm kích hoạt trong Generator:

+ Tanh (Hyperbolic Tangent)

+ ReLU (Rectified Linear Unit) ReLU

+ Sigmoid Tanh

- Hàm kích hoạt trong Discriminator:

+ Sigmoid
Sigmoid Leaky ReLU
+ Leaky ReLU
7.Xây dựng và đánh giá mô hình:
Xây dựng và đánh giá mô hình Generative Adversarial Network (GAN) liên quan đến việc tạo ra một
Generator và một Discriminator, sau đó huấn luyện chúng để đạt được một mức độ chất lượng cụ thể trong
việc tạo dữ liệu giả. Dưới đây là các bước cơ bản để xây dựng và đánh giá mô hình GAN:

- Bước 1: Chuẩn bị dữ liệu


- Bước 2: Xây dựng Generator và Discriminator
- Bước 3: Xây dựng hàm mất mát (Loss Function)
- Bước 4: Huấn luyện mô hình
- Bước 5: Đánh giá chất lượng của dữ liệu giả bằng cách xem xét các độ đo như SSIM (Structural
Similarity Index), PSNR (Peak Signal-to-Noise Ratio) cho hình ảnh hoặc độ đo khác tùy thuộc
vào loại dữ liệu.
- Bước 6: Tinh chỉnh và cải thiện mô hình . Dựa vào kết quả đánh giá, điều chỉnh siêu tham số
của mô hình như kích thước batch, số tầng ẩn, hệ số học, v.v.,
III. Kết quả thực nghiệm:
Độ chính xác cao

Tính năng phát hiện dựa trên GAN

đạt được độ chính xác cao trong

việc xác định phần mềm độc hại

trên Android.
Phát hiện nhanh

Mô hình GAN có thể nhanh

chóng phân tích và phân loại

các mẫu phần mềm độc hại.


Cải thiện hiệu quả

Sử dụng GAN giúp giảm thời gian và

công sức cần thiết cho việc phân tích

phần mềm độc hại theo cách thủ

công.
IV. Kết luận và kiến nghị:

1. Kết quả chung về đề tài

2. Kết quả và thành tựu đạt được

3. Đề xuất mới và kiến nghị


Link tham khảo
https://github.com/nttuan8/GAN_Tutorial/blob/master/G3/CGAN.ipynb

https://kb.pavietnam.vn/mang-gan-global-area-network-la-gi.html

https://vi.wikipedia.org/wiki/M%E1%BA%A1ng_%C4%91%E1%BB%91i_ng

h%E1%BB%8Bch_t%E1%BA%A1o_sinh

https://filegi.com/tech-term/global-area-network-gan-3001/

https://vinbigdata.com/kham-pha/khu-nhieu-du-lieu-anh-voi-mang-

gan.html

You might also like