1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Một nghiên cứu trong việc phát hiện mã độc Android dựa trên mô hình học sâu đa phương thức

63 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Nghiên Cứu Trong Việc Phát Hiện Mã Độc Android Dựa Trên Mô Hình Học Sâu Đa Phương Thức
Tác giả Lưu Nguyễn Công Minh, Trần Đăng Khoa
Người hướng dẫn TS. Nguyễn Tấn Cầm
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Cử nhân ngành An toàn thông tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 63
Dung lượng 66,6 MB

Nội dung

Các kẻ tấn công luôn luôn tìm cáchbiến đổi và cải tiến các ứng dụng độc hại, trong khi các phương pháp phân tích vàphát hiện truyền thống ngày một lỗi thời do dựa vào mô hình học máy đơn

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

LƯU NGUYEN CONG MINH - 20521604

TRAN DANG KHOA - 20521474

KHOA LUAN TOT NGHIEP

MOT NGHIEN CUU TRONG VIEC PHAT HIEN MA

DOC ANDROID DUA TREN MO HINH HOC SAU DA

PHUONG THUC

A STUDY ON ANDROID MALWARE DETECTION USING

MULTIMODAL DEEP LEARNING

CU NHAN NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

TS NGUYEN TAN CAM

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, nhóm nghiên cứu chúng tôi xin gửi lời cảm ơn chân thành đến cácthầy cô thuộc Trường Đại học Công nghệ Thông tin — Dai học Quốc gia Thành phố

H6 Chí Minh nói chung và khoa Mạng máy tinh và Truyền thông nói riêng đã tạo

điều kiện thuận lợi cho nhóm chúng tôi được học tập, làm đồ án, nghiên cứu và cũngnhư là thực hiện khóa luận tốt nghiệp trong khoảng thời gian vừa qua

Dé có được thành công này, nhóm chúng tôi không thé không gửi lời tri ân âusắc đến Tiến sĩ Nguyễn Tan Cầm — một người thầy tận tâm, tận tụy, đã luôn luônquan tâm, hỏi thăm tình hình làm việc, đưa ra những lời nguyên bổ ích một cáchnhanh chóng và chỉ tiết cho chúng tôi mỗi khi nhóm vấp phải khuất mắt, khó khăn

trong quá trình thực hiện khóa luận tốt nghiệp này.

Cuối cùng, do kiến thức chuyên môn còn có nhiều hạn chế do đó chắc chắn sẽkhông thể tránh khỏi những sai xót trong quá trình thực hiện luận văn tốt nghiệp này.Nhóm chúng tôi rất mong sẽ nhận được những góp ý, lời nhận xét từ các quý thầy côtrong hội đồng khoa đề cho khóa luận của chúng tôi được hoàn thiện hơn

Nhóm thực hiện.

Trang 3

MỤC LỤC

Chương 1 TONG QUAN DE TÀII -2¿ 22 SE2E£2EE£EEtEEEEEEEEEEEEEEkrrkerrkrree 2

1.1 Lý do chọn đề tài 25c SE E2 1211211211211211211 211111 1.1ecetree 21.2 0i 0i) 4 1.3 Pham ¿bi )ì an ae 41.4 Đối tượng nghiên CỨU 2-52 £+S£+EE+EE+EE+EE2EEEEEEEEEEEEEEEEEEEErrrrrrrei 4

1.5 Phuong pháp thực hiỆn - S5 2+ 32313113 EESk g gnrriệp 4

1.6 _ Cấu trúc khoá luận -¿ ++©++++++E+£EEEEESEEEEEESEEEEEErEkerkerkrrrrrree 5Chương 2 -TONG QUAN TINH HÌNH NGHIÊN CỨU -2- 552 6

2.1 _ Tình hình nghiên cứu và các công trình liên quan -«+-s<>+ 62.2 Định hướng nghiên cứu sử dụng kết hợp đa phương thức đầu vào, đặc trưngDalvik Opcode, API Package và System Commands - -«++s«++s++s«2 82.3 Định hướng nghiên cứu sử dụng kết hợp và phối mô hình học sâu CNN vàFFNN cho các đặc trưng khác nhau - 5 5 2S 33331 E+*EE++EEEEeeEseeeeeeeseserrse 9Chương 3 CƠ SỞ LÝ THUYÊẾT - 2: 2 2+SE+EE£EE2EE+EE2EEEEEEEEEErrrrrerreee 11

3.1 Tổng quan về hệ điều hành Android - 2-2 2 s+s+++sz+s£+£zzz+se2 11

3.1.1 Khái niệm hệ điều hành Android -¿-+cc+ccxxrrrrxeerrre 11 3.1.2 Kiến trúc hệ điều hành Android -c-c+++rrxxerrrrreerrrke 12

3.2 Tổng quan về mã độC - + ++++2+EE+EE+EEE+EE£EE+2EEEEEEEEE2EEEEEEEErrkrrkee 16

3.2.1 Khai niệm mã đỘC - - kh HH ng 16

3.2.2 Phân loại các loại mã đỘC © + +21 33+ Eeseekeereeeee 16 3.2.3 Mã độc AndFrOIC - - G1 9H ng ng Hy 18 3.3 Kỹ thuật phân tích mã độc AndrOId - s55 + + *£+++svseeexeeerss 21

Trang 4

Chương 4._ PHƯƠNG PHAP THỰC HIỆN 2-22 22+ £+£E+£Eezxserxez 29

4.1 Chon lọc và xây dựng quá trình xử lí dữ liệu đặc trưng Dalvik bytecode

4.4 _ Xây dựng và huấn luyện mô hình học sâu phối kết hợp hai mô hình 38

Chương 5 KET QUÁ THỰC NGHIỆM 2-2 52 £+£E+E+£xerxzrxerxee 40

5.1 Phuong pháp đánh giá - - 5 + 1x ngàng ng 40

Trang 5

5.1.1 Chi số mất mat (ÏOSS) ¿+ Sk+E£EEE‡EEEEEEEEEEEEEEEEEEEEEEkrkererkrkerrree 405.1.2 Chỉ số chính xác (ACCUTACY)) 2G HH như 4I

5.2 Môi trường thực nghiỆm - 5 6 6 xxx vn ng ng 41

5.3 Hiéu năng của mô hình CNN 2.0.0 eee eeeceeeseeesceeeeeceeeeeeeceseeseceeeeeeeeeenseenees 42

5.3.1 Hiệu năng của mô hình CNN eee eeeeeseeceeeeeeeeeeeeeeeeeeeeeeeeeaeenee 42

5.3.2 _ Hiệu năng của mô hình FENN .- 5c SĂ 1S + seeeerreree 44

5.3.3 _ Hiệu năng của mô hình phối bởi 2 mô hình học sâu trên 46

Chương 6 KÉT LUẬN VÀ HƯỚNG PHAT TRIÊN 2-52 22 s52 50

6.I _ KẾt luận ccccrhnnhh Hee 50

6.2 Hướng phát triÊn -cccc-ccS+c 2c S+EkEEEEEEEEEEEEEEEEErrrrrerree 50

Trang 6

DANH MỤC HÌNH ẢNH

Hình 3.1: Kiến trúc hệ điều hành Android -.c-¿-ccc+ccccrrrrverrrrrrrkerree 12Hình 3.2: Ví dụ về tin nhắn Sms độc hại - -¿-ccccccccvvrrrrrrrrrrrvee 19Hình 3.3 Ung dụng độc hại đội lớp là một chường trình diệt mã độc dé lừa ngườiUNG 01177 20 Hình 3.4: Các Permission được khai báo trong tệp Manifest.xml - 25 Hình 3.5: Dinh nghĩa một Activity cho ứng dụng - 5s xssxcscseeserse 26 Hình 3.6: Activity chính được khai báo trong tệp AndroidManifest.xml 26 Hình 3.7: Service được khai báo trong tệp AndroidMamifest.xml - 27Hình 3.8: Service được khai báo trong mã ngu àn 2-2 2 2+++z+sz+£zzsz 27Hình 3.9: Receiver được khai báo trong tệp AndroidManifest.xml 28

Hình 3.10: Receiver Frerapp được định nghĩa hành vi trong mã nguồn 28

Hình 4.1: Ví dụ một câu lệnh Opcode dùng để di chuyên giá trị từ một thanh ghi vBsang thanh ghi vA Trong đó 01 là giá trị thập lục phân của opcode move, 12x là giátrị của phần nội dung, move là tên của opcode, vA, vB là nội dung của opcode 32

Hình 4.2: Tóm tắt quá trình trích xuất Dalvik Opcode và xử lí biến đồi thành hình ảnh

Hình 4.3: Tóm tắt quá trình trích xuất System Command và API Package và lưu vào

Ap tin CSV 0 35Hình 4.4: Kiến trúc mô hình học sâu CNN dùng dé phân loại các mau ứng dụng APK

Hình 4.5: Kiến trúc mô hình học sâu FENN với huấn luyện 2 loại đặc trưng kết hợp

System Command va API Package << 4111111191 H1 HH ngư 38

Hình 4.6: Kiến trúc đầy đủ của mô hình học sâu đa phương thức phối từ 2 mô hìnhhọc sâu CNN và FENN xử lí đặc trưng dữ liệu đầu vào riêng lẻ của chúng 39Hình 5.1: 4 biểu đồ thé hiện hiệu năng, mức độ chính xác của mô hình CNN bởi 2

chỉ số chính xác accuracy trong huấn luyện (training) và đánh giá (validation), trong

Trang 7

100 epoch Từ trái qua phải, từ trên xuống đưới lần lượt là biểu đồ cho mức độ biến

đổi opcode ở 50000, 100000, 150000 và 200000 opcode - ¿2 s2 sz¿ 43

Hình 5.2: Biểu đồ thé hiện hiệu năng, mức độ chính xác của mô hình FENN bởi 2 chi

số chính xác accuracy trong huấn luyện (training) và đánh giá (validation), trong 100

Hình 5.3: 4 biéu đồ thé hiện hiệu năng, mức độ chính xác của mô hình học sâu phối

(fusion) bởi 2 chỉ số chính xác accuracy trong huấn luyện (training) và đánh giá(validation), trong 100 epoch Từ trái qua phải, từ trên xuống đưới lần lượt là biểu đồcho mức độ biến đổi trong mô hình mô tả trong Bảng 5.4 2-5252 48

Trang 8

DANH MỤC BANG BIEU

Bảng 4.1: Thông tin về bộ dữ liệu công khai CICMalDroid — 2020 - 30Bảng 4.2: Thông tin về dit liệu sử dụng 2-2: 2+2+2£x+2£x++zxezrxrzrxerrxee 31Bang 4.3: Ma tran liền kề hai chiều thé hiện sự liền kề của các Opcode 33Bang 5.1: Cấu hình môi trường thực nghiệm 2-2 2 22 £+££+E£+EzEzzEzzxzez 41Bang 5.2: Chi số loss va accuracy từ hiệu năng mô hình CNN ở epoch 100 tương ứngvới số lượng opcode được xử lí và biến đổi thành hình ảnh xám - - 42

Bảng 5.3: Chỉ số loss và accuracy từ hiệu năng mô hình FENN ở epoch 100 tương

ứng với véc tơ tần suất sử dụng của System Command va API Package 45Bảng 5.4: Chi số loss va accuracy từ hiệu năng mô hình kết hợp CNN và FFNN 47

Trang 9

DANH MỤC TU VIET TAT

STT Thuật ngữ Mô tả

1 OS Operating System

2 | App/Apps Application/Applications

3 HAL Hardware Abstraction Layer

4 | ART Android Runtime

5 DVM Dalvik Virtual Machine

6 | API Application Programming Interface

7 | APK Android Packaging Kit

8 | Malware | Malicious Software - }

9 | Sms Short Message Services

10 AI Artificial Intelligence

-11 | CNN Convolutional Neural Network

12 | FFNN Feed-Forward Neural Network

Trang 10

TÓM TẮT KHÓA LUẬN

Trong thời đại bùng nỗ của công nghệ và trí tuệ nhân tạo, việc mỗi người đều

sở hữu một chiếc điện thoại thông minh, hay các thiết bị thông minh với hệ điều hànhAndroid trở nên phổ biến, nhu cầu cấp thiết trong việc bảo vệ người dùng Androidtrước các mối đe dọa từ mã độc ngày càng lớn Các kẻ tấn công luôn luôn tìm cáchbiến đổi và cải tiến các ứng dụng độc hại, trong khi các phương pháp phân tích vàphát hiện truyền thống ngày một lỗi thời do dựa vào mô hình học máy đơn giản, hoặcchỉ có thé phân tích một loại khía cạnh từ mã độc

Do đó trong khóa luận này, chúng tôi nghiên cứu và đề xuất một phương pháp

phát hiện mã độc Android dựa trên mô hình học sâu đa phương thức, kết hợp các đặc

trưng quan trọng từ mã nguồn và hành vi của ứng dụng Dé chống lại các cuộc tan

công của mã độc Android, chúng tôi sử dụng ba loại đặc trưng chính: Opcode, System

Command, và API Package Các đặc trưng này được xử lý băng hai mô hình học sâuriêng biệt: mạng nơ ron tích chập (CNN) và mạng nơ ron chuyền tiếp (FFNN) CNNđược sử dung dé phân tích chuỗi Opcode, chuyền đôi thành ma trận liền kề hai chiều

để khai thác các thông tin phức tạp trong mã nguồn FENN được huấn luyện trênchuỗi tần suất sử dụng của các System Command và API Package, nhằm nắm bắt

hành vi của ứng dụng Phương pháp của chúng tôi không chỉ đóng góp vao việc nâng

cao hiệu quả của các hệ thống phát hiện mã độc hiện có mà còn có tiềm mở ra hướngnghiên cứu mới trong việc áp dụng học sâu đa phương thức cho các bài toán an ninh

mạng.

Trang 11

Chương 1 TONG QUAN ĐÈ TÀI

1.1 Lý do chọn đề tài

Sự phát triển chóng mặt của công nghệ và mọi mặt trong đời sống xã hội trongnhững năm gần đây đã và đang tạo ra nhiều thách thức trong lĩnh vực bảo mật và an

toàn thông tin Bên cạnh sự phát triển của các phần mềm phục vụ cho lợi ích của con

người, các hành vi xấu và độc hại cũng ngày càng được các kẻ tan công thực hiện, dedọa đến người dùng ở mọi loại hình thức, nhất là đưới dạng mã độc Mã độc máy tính

từ lâu đã được thiết kế đề thực hiện hành vi phá hoại hệ thống dữ liệu, đánh cắp thôngtin hoặc thực thi những hành vi vi phạm pháp luật khác Mã độc ton tại ở trên hầu hếtcác loại hệ thống, từ hệ điều hành máy tính Windows phô biến, cho đến các hệ thốngIoT, và trên cả những chiếc điện thoại với hệ điều hành IOS và hệ điều hành Android

Do điều kiện ngày càng phát triển, con người ở mọi tầng lớp, thế hệ được tiếp cậnnhiều hơn với điện thoại, nhất là hệ điều hành Android do sự tiện dụng, đa dạng trênnhiều loại thiết bị Đó chính là động lực lớn nhất cho các kẻ có mục đích xấu thựchiện hành vi tan công, đe dọa đến tính bảo mật của người dùng, thông qua mã độc docách thức dễ triển khai của nó và hệ điều hành Android cho phép người dùng cài đặt

phần mềm từ các bên cung cấp thứ ba, kích thích sự phát triển của mã độc Android

Mã độc Android phát triển ngày càng đa dạng với nhiều biến thé và độ độc hai củachúng cũng tăng rất nhanh Theo số liệu nghiên cứu báo cáo AV-ATLAS' của viện

nghiên cứu an toàn thông tin AV-TEST thuộc Đức, trong khoảng từ cuối năm 2022

đến cuối năm 2023 có trung bình tới 105,000 mã độc tan công nhắm vào hệ điều hànhAndroid được phát hiện, trong đó khoảng 90% là mã độc ở dạng tập tin nén APK

(Android Package).

Để chống lại các cuộc tan công của mã độc Android, đã có rất nhiều nghiên cứu

được đề xuất với nhiều phương pháp thực hiện khác nhau, được chia thành 2 loạichính đó là chiến thuật phân tích tĩnh và chiến thuật phân tích động Mỗi chiến thuậtphân tích đều có ưu điểm và nhược điểm khác nhau Chiến thuật phân tích tĩnh là một

! Nguồn: https://portal.av-atlas.org/malware/statistics

Trang 12

phương pháp phân tích mã nguồn của ứng dụng mà không cần phải thực thi chươngtrình, điều này cho phép chúng ta có thể nghiên cứu và phát hiện ra các chỉ tiết đángngờ có sẵn trong ứng dụng mã độc, giúp cho việc giải quyết việc nhận diện và loại

bỏ mã độc một cách nhanh chóng và tiết kiệm tài nguyên Tuy nhiên, việc phân tíchtĩnh sẽ khó cho ra những kết quả rõ ràng nêu như mã nguồn va các chỉ tiết quan trọngtrong mã độc bị làm rối mã (obfuscated) Trong khi đó, chiến thuật phân tích động cóthé giải quyết được việc này bang cách thực thi ứng dung trong một môi trường côlập, khi ấy các đoạn mã nguồn có thé được giải mã và thực thi, giúp cho các nhà phântích có thé theo dõi hành vi và đánh giá cụ thé hơn, nhưng cũng tốn kém về mặt tàinguyên và thời gian Do đó chiến thuật phân tích tĩnh luôn là chiến thuật được ưu tiênhàng đầu, là phương pháp phòng thủ đầu tiên chống lại sự tấn công của mã độc, bảo

vệ cho hệ thống.

Các phương pháp nghiên cứu phân tích tĩnh ngày càng phát triển dé đáp ứng với

sự phát triển mạnh mẽ của mã độc Android, tối ưu chi phí, thời gian tính toán Cácđặc trưng, chỉ tiết thành phần được trích xuất trong tập tin nén APK thường được sửdụng trong phân tích tĩnh đó là API call, Intent, Permisssion, Network data, Opcodes,System commands, Strings, v.v Ngoài phương pháp xử lí dữ liệu đặc trưng bằng cácphương pháp tính toán truyền thống phức tạp, không tối ưu, xu hướng từ lâu đã ápdụng các mô hình học máy, học sâu ứng dụng vào việc phát hiện mã độc bằng cáchhuấn luyện các mô hình bằng dữ liệu đặc trưng Có nhiều phương pháp xử lí đữ liệu

như sử dụng véc tơ nhị phân hoặc số liệu, trong đó mỗi phần tử có thé thé hiện cho

sự xuất hiện của mỗi loại thành phần đặc trưng trong tập tin APK, hoặc sử dụng

n-gram (một phương pháp chia một chuỗi các đặc trưng như opcode thành các cum

gồm n phan tử) dé tìm ra mối quan hệ giữa các đặc trưng, từ đó giúp cho mô hình họcmáy có hiệu năng tốt hơn Tuy nhiên phần lớn các nghiên cứu và phương pháp đều

sử dụng một loại phương pháp xử lí dữ liệu cho một loại mô hình, từ đó có thê bỏ qua

và chưa khai thác hết tiềm năng thông tin và đặc điểm được ẩn giấu thông qua cách

mà đặc trưng được xử lí sau khi trích xuất từ tập tin APK Do đó ở trong nghiên cứunày chúng tôi quyết định xây dựng một hệ thống phát hiện mã độc bằng việc huấn

Trang 13

luyện mô hình học sâu đa phương thức bằng việc kết hợp nhiều đặc trưng dit liệu củamột tập tin APK và phương pháp xử lí chuỗi đặc trưng thành ảnh xám cho việc huấn

luyện.

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

Nghiên cứu, thiết kế và xây dựng hệ thống ứng dụng mô hình học sâu đa phương

thức trong việc phát hiện và phân loại các tập tin APK.

1.3 Phạm vi nghiên cứu

- _ Các phương thức xử lí dit liệu đặc trưng để huấn luyện mô hình học sâu đượcchọn là Opcode/Mnemonic từ mã nhị phân Dalvik và các gói tài nguyên API (APIpackage) kết hợp với các lệnh hệ thống (System command)

- Nghiên cứu khả năng học và dự đoán của mô hình học sâu được chọn là mạng

nơ ron tích chập (CNN) và mạng nơ ron chuyên tiếp (FFNN)

- Nghiên cứu kha năng học và dự đoán của mô hình da phương thức sau khi phối

- Tim hiểu kiến thức nền tảng về các đối tượng nghiên cứu

- Nghiên cứu tham khảo các công trình nghiên cứu liên quan.

- Đềra phương pháp xây dựng và triển khai mô hình phân loại

- Thuc nghiệm và đánh giá kết quả đạt được

Trang 14

1.6 Cấu trúc khóa luận

Cấu trúc Khóa luận tốt nghiệp của chúng tôi được chia thành 6 chương như sau:

Chương 1: TONG QUAN DE TÀI

Nêu ra cái nhìn toàn diện về đề tài và các định hướng nghiên cứu mà chúng tôi

hướng đến.

Chương 2: TONG QUAN TINH HÌNH NGHIÊN CUU

Dua ra các bai báo, các công trình nghiên cứu có liên quan đến khóa luận của

chúng tôi để làm cơ sở tham khảo

Chương 3: CƠ SỞ LÝ THUYET

Trình bày các lý thuyết nền tảng, khái niệm cũng như là các kiến thức có liênquan dé có thé thực hiện khóa luận

Chương 4: PHƯƠNG PHÁP THỰC HIỆN

Đây chính là chương quan trọng nhất, đưa ra và mô tả chỉ tiết về mô hình mà

Trang 15

Chuong2 | TONG QUAN TINH HÌNH NGHIÊN CỨU

2.1 Tinh hình nghiên cứu và các công trình liên quan

Khi đê cập tới chiên thuật phân tích tĩnh trong việc chọn kiêu đặc trưng, xử lí

và huân luyện mô hình, đã có rât nhiêu công trình nghiên cứu giới thiệu và đê xuâtphương pháp nghiên cứu khác nhau và cho kết quả thực nghiệm cao

Về kiểu đặc trưng Permission, Sanz và cộng sự [1] đã đề xuất và thực nghiệmbăng cách tìm ra các sự khác nhau trong việc sử dụng Permission trong các ứng dụng

mã độc Họ cụ thê đã tìm ra rằng là các ứng dụng mã độc có xu hướng sử dụng chỉ 1Permission trong khi các ứng dụng lành tính sử dụng 2, 3 hoặc nhiều Permission hơn.Nhóm tác giả đã cho huấn luyện nhiều mô hình học máy như SimpleLogistic,NaiveBayes, SMO, J58, Cây Ngẫu Nhiên (Random Forest) dé có thé tìm ra được mô

hình phù hợp và cuối cùng họ đạt được 92% độ chính xác Ngoài ra, một nghiên cứu

khác cũng dé xuất phân tích với Permission là nhóm của Liang và cộng sự [2], họ đềxuất một chiến thuật phân tích dựa trên sự kết hợp của nhóm các Permission Do đó

họ đã đi thu thập nhiều nhóm Permisssion được sử dụng kết hợp trong các ứng dụng

mã độc nhưng hiểm được sử dụng trong các ứng dụng lành tính Dựa vào đó họ đã

phát triển một công cụ không sử dụng học máy để có thể trích xuất nhóm các

Permission cũng như tần suất được sử dụng trong tệp tin manifest của ứng dụng, và

họ đạt được độ chính xác cao trong cả việc phát hiện mã độc cũng như nhận diệnđúng ứng dụng lành tính, lần lượt là 96% và 88% Tuy nhiên van đề đặt ra là,

Permission đóng vai trò quan trọng trong ứng dụng, nhưng chỉ riêng mỗi phương

pháp dựa vào riêng loại đặc trưng này có thê không thực tiễn trong môi trường hiệnnay khi ngày càng nhiều mã độc phức tạp hơn, có thé sử dụng nhiều Permission hơn

để che giấu đi mục đích độc hại của nó, có thể cần xem xét áp dụng thêm các biệnpháp kết hợp với đặc trưng khác dé nâng cao hiệu năng cho mô hình

Về kiểu đặc trưng Intent, intent là một sự mô tả trừu tượng cho hoạt động trongứng dụng về cách mà nó được thực thi Kết hợp với việc truy vết tới các API call liênquan tới cả Permission, nhóm tác gia Wu và các cộng sự [3] đã thiệt kê và triên khai

Trang 16

DroidMat và dat tới 97,87% độ chính xác Có thê một van đề nổi lên với phương phápcủa nhóm nghiên cứu là phụ thuộc vào thông tin từ tệp tin AndroidManifest.xml vàAPI call, nếu như một vài mã độc không yêu cầu gọi API call trực tiếp, chúng có théđánh lừa vào thoát khỏi sự phát hiện cua mô hình.

Về kiểu đặc trưng Opcode, đặc biệt là Dalvik opcode như lệnh mã máy cho bộ

xử lí của hệ thống, có thé nam được những thông tin quan trọng về hành vi của ứng

dụng, đã được ứng dụng trong nghiên cứu của Canfora và cộng sự [4] Bằng cách chỉchọn lọc ra nhóm các opcode cụ thể, nhóm tác giả đã có thé huấn luyện một mô hìnhphân loại đạt được độ chính xác 93,9% Tuy việc phụ thuộc vào một thập hợp opcode

cụ thể có thể cho hiệu quả cao trong việc phân loại tính chất các ứng dụng Android,

phương pháp này có thê sẽ bị lỗi thời vì ngày càng nhiều biến thể mã độc được sinh

ra và không sử dụng tập hợp đó, yêu cầu phải cập nhật mô hình theo thời gian

Ngoài ra sự kết hợp sử dụng giữa 2 loại đặc trưng có khả năng thể hiện nhiềuthông tin nhất về hành vi của một ứng dụng Android đó là Permission và API callcũng được ứng dụng nhiều trong nhiều nghiên cứu như của nhóm tác giả Peiravian

và cộng sự [5] API call được sử dụng từ các API Package đóng góp nhiều trong việcthể hiện hành vi, được nhóm tác giả trích xuất và huấn luyện mô hình phân loại với

độ chính xác lên tới 94,9% Cùng sử dụng chung ứng dụng 2 loại đặc trưng này, nhóm

tác giả Liu Yue và cộng sự [6] đã thực hiện trích xuất và huấn luyện mô hình, từ đó

áp dụng XAI (Explainable AI) dé có thé hiểu được phan nào lí do dang sau việc các

mô hình học máy có thê đưa ra dự đoán có độ chính xác cao đên như vậy.

Tuy việc sử dụng chung 2 hoặc nhiều hơn số loại đặc trưng trong cùng một môhình học máy có thê cho ra kết quả dự đoán cao, nhưng thay vì sử dụng kết hợp trong

bộ dữ liệu đề huấn luyện mô hình, có thể việc tách rời riêng các loại đặc trưng rồi chohuấn luyện riêng mỗi loại đặc trưng hoặc nhiều loại đặc trưng có cùng tính chất cùngmột nhóm, rồi phối những véc tơ thé hiện giữa những mô hình như vậy đề huấn luyệnmột mô hình sau cùng dé cho ra kết quả với kì vọng độ chính xác cao hơn Đó là môhình đa phương thức, vì các đặc trưng được xử lí thành đầu vào riêng lẻ cho từng mô

Trang 17

hình khác nhau, giúp cho mỗi mô hình có thé hoc được nhiều thông tin quan trọnghơn cho từng đặc trưng, từ đó khi đưa ra dự đoán mô hình có thể thực hiện với kếtquả tiềm năng hơn Việc ứng dụng mô hình học sâu đa phương thức đã được áp dụngtrong một trong những công trình nghiên cứu về mô hình đa phương thức, đó là củanhóm tác giả TaeGuen và cộng sự [7] Nhìn chung nhóm tác giả đã sử dụng đến 7loại đặc trưng, và sắp xếp chúng vào 5 nhóm véc tơ đặc trưng dé huấn luyện với 5

mô hình học sâu DNN, sau đó phối chúng lại rồi thực hiện dự đoán, kết quả dự đoán

đạt 98% độ chính xác, cao hơn một số nghiên cứu dùng mô hình đơn đề cập trongcông trình Từ đó cho thấy việc thực hiện huấn luyện đa phương thức có tiềm nănglớn trong việc phát hiện và phân loại mã độc Android.

2.2 Định hướng nghiên cứu sử dụng kết hợp đa phương thức đầu vào, đặc

trưng Dalvik Opcode, API Package va System Commands

Ở trong khóa luận này chúng tôi sẽ tiến hành nghiên cứu và xây dựng một bộkhung phát hiện mã độc Android băng mô hình học sâu đa phương thức Chúng tôi

sẽ chỉ tập trung vào chiến thuật phân tích tĩnh, trích xuất đặc trưng Dalvik Opcode,API Package va System Command, xử lí dữ liệu đặc trưng bang phương pháp biếnthành ảnh xám, ma trận hai chiều với kích thước NxN trong đó N là số lượng đặc

trưng Opcode và phương pháp sử dụng véc tơ tần suất của kết hợp API Package và

System Command Việc chọn những loại đặc trưng như vậy giúp kết hợp các điểm

mạnh của chúng dé giúp mang lại nhiều thông tin giá trị, hữu ich tăng hiệu năng của

mô hình học sâu, nâng cao tiềm năng của mô hình so với sự phát triển của mã độc.

Opcode (Dalvik Opcode)

- _ Có thé phân tích chi tiết hành vi mã nguồn: Opcode thé hiện từng lệnh cụ théđược thực thi bởi ứng dụng, giúp chúng ta có cái nhìn chi tiết và chính xác về hành

Trang 18

System Commands

- — Giúp phản ánh hoạt động hệ thống: Các lệnh hệ thống cho thấy cách ma ứngdụng tương tác với hệ thống, bao gồm các hành vi truy cập tập tin, quản lý quy trình

và mạng, giúp phát hiện các hoạt động đáng ngờ.

- Dé đàng trích xuất và phân tích: Chuỗi tần suất sử dụng lệnh hệ thống có thé dédàng trích xuất và phân tích, cung cấp thông tin trực tiếp về cách ứng dụng hoạt động

API Package

- Có thé phân tích các hành vi phức tap: API call được sử dung trong các gói, thu

viện hàm thể hiện các chức năng và dịch vụ mà ứng dụng sử dụng, từ đó suy ra được

các hành vi của ứng dụng, như truy cập mạng, sử dụng camera hoặc truy cập dữ liệu ảnh.

- — Giúp phát hiện hành vi bất thường: Việc phân tích tần suất sử dụng các APIPackage giúp nhận diện các mau hành vi bat thường, là dâu hiệu của mã độc.

2.3 Dinh hướng nghiên cứu sử dụng kết hợp và phối mô hình học sâu CNN va

FENN cho các đặc trưng khác nhau

Ở trong khóa luận này, chúng tôi nghiên cứu áp dụng xây dựng mô hình học sâumạng nơ ron tích chập CNN và mạng nơ ron chuyên tiếp FFNN với ba loại đặc trưng

dữ liệu ké trên là Dalvik Opcode, System Command và API Package Mô hình CNNđược sử dụng dé phân tích chuỗi Dalvik Opcode chuyền đổi thành ma trận liền k haichiều, tận dụng khả năng và hiệu suất của CNN trong việc nhận diễn các mẫu dướidạng hình ảnh hai chiều biểu thị mối quan hệ giữa các lệnh trong mã nguồn chươngtrình Trong khi đó, mô hình FENN được huấn luyện dựa trên véc tơ chuỗi tần suất

sử dụng của các System Command và API Package, nhờ việc làm việc với phân tích

xử lí chuỗi dữ liệu tốt của mô hình này

Tiềm năng của việc phối hợp các mô hình nằm ở khả năng kết hợp các điểmmạnh của từng loại đặc trưng và mô hình học sâu Nếu như mô hình CNN mạnh vềnhận diện các mẫu không gian thể hiện trong mã nguồn thì FENN sẽ hiệu quả trong

Trang 19

việc phân tích tần suất Việc kết hợp 2 mô hình, tiếp nhận xử lí 2 loại dữ liệu đầu vào

sẽ giúp cho bộ khung nhận diện trở nên toàn diện và mạnh mẽ, giúp tăng độ chính xác và khả năng phát hiện các loại mã độc được nâng cao một cách tin cậy.

10

Trang 20

Chương3 CƠ SỞ LÝ THUYET

3.1 Tống quan về hệ điều hành Android

3.1.1 Khái niệm hệ điều hành Android

Hệ điều hành Android hay còn gọi là Android OS là một hệ điều hành mã nguồn

mở và được cung cấp miễn phí Hệ điều hành Android được phát triển bởi Google và

dựa trên Linux-kernel (Không phải là một hệ điều hành Linux) Ngày nay hệ điều

hành Android là một trong những hệ điều hành được ưa chuộng nhất thế giới bởi tính

tiện dụng.

Dưới đây là một số tính chất đặc trưng của hệ điều hành Android

- Kha năng mở rộng: Như đã đề cập ở trên, Android là một hệ điều hành mã nguồn

mở và được cung cấp miễn phí, vì thê các nhà phát triển ứng dụng di động có thê dễdàng truy cập, tùy chỉnh và mở rộng chúng ra Việc này đã và đang làm cho hệ điều

hành Android trở nên đã dạng và phong phú hơn bắt cứ hệ điều hành nào khác.

- Đa nền tảng, đa thiết bị: Không chỉ được cai đặt trên điện thoại, hệ điều hànhAndroid còn được sử dụng trên các thiết bị khác như: Ti-vi thông minh, thiết bị y tế,thiết bị gia dụng, v.v

- Tinh bảo mật cao: Nhằm bao vệ thông tin người dùng, các nhà nghiên cứu hệđiều hành Android đã cho ra mắt đa dang các tính năng bảo mật khác nhau như:Sandbox, Google Play Protect, các bản vá lỗ hồng được cập nhật thường xuyên, v.v.Ngoài ra, kiến trúc của Android OS còn là dạng các mô-đun độc lập, các ứng dụng chỉđược truy cập vào các mô-đun được cấp phép Hơn nữa, nếu một mô-đun bị dính lỗ

hồng mật thì sẽ không ảnh hưởng đến mô-đun khác.

- Multitask: Bang việc sử dung hệ điều hành Android, người dùng có thé sử dụngnhiều ứng dụng một cách đồng thời, chuyền đồi các ứng dụng qua lại trong quá trình

sử dụng mà không cần phải tắt chúng Điều này giúp trải nghiệm người dùng được

tăng đáng kể, hơn nữa hiệu suất làm việc cũng sẽ được cải thiện đáng kể khi sử dung

thiết bị Android

11

Trang 21

3.1.2 Kiến trúc hệ điều hành Android

Kiếm trúc của hệ điều hành Android là dạng các mô-đun Hình 3.1 sẽ cho thấy

các mô-đun trong nền tang Android Tổng cộng có sáu tang: Tầng Linux-Kernel, tang

Hardware Abstraction, tầng Android Runtime, tang Native C/C++ Libraries, tangJava API Framework, tan System Apps

Calendar

Java API Framework

Managers Content Providers

Activity Location Package Notification

View System Resource Telephony Window

Native C/C++ Libraries Android Runtime

OpenMAX AL Android Runtime (ART)

Media Framework _ Core Libraries

Trang 22

Tam dich là nhân Linux, đây là tang thấp nhất và cũng là tầng quan trọng nhấttrong kiến trúc của hệ điều hành Android Nhân Linux cung cấp các dịch vụ cơ bảnnhư: Quản lý bộ nhớ, quản lý tiến trình, quản lý driver bao gồm Camera driver,Bluetooth driver, USB driver, Wifi driver, v.v Nhân Linux đóng vai trò như là mộtnền tảng mạnh mẽ dé xây dựng nên hệ điều hành Android, cung cấp các chức năngcấp thấp dé có thé tương tác trực tiếp với thành phan phần cứng của thiết bị.

Tầng Hardware Abstraction:

Hardware Abstraction Layer viết tắt là HAL, tạm dịch là lớp trừu tượng phần

cứng Là tang thứ hai từ dưới đếm lên trong kiến trúc của hệ điều hành Android HAL

được biết như là một lớp trung gian ở giữa các API cấp cao hơn và phần cứng thiết

bị Chúng cung cấp các giao diện tiêu chuẩn dé lớp Java API framework ở tang cao

hơn có thể truy cập và sử dụng các chức năng của phần cứng mà không cần biết thông

tin chỉ tiết cụ thê của phần cứng HAL bao gồm nhiêu loại mô-đun thư viện, mỗi loạimô-đun sẽ thực hiện một giao diện cho một thành phần phần cứng cụ thể, ví dụ: Mô-

đun Audio, mô-đun Camera, mô-đun Sensors, mô-đun Bluetooth, v.v.

Tầng Android Runtime:

Android Runtime là một thành phần cốt lõi của nền tảng Android Nó sẽ cungcấp một instance máy ảo dé mỗi ứng dụng trên thiết bi Android chạy trong tiến trìnhriêng của nó Instance máy ảo đó có thé là ART đối với Android từ phiên bản 5.0hoặc là DVM đối với Android trước phiên bản 5.0 Tần Android Runtime có vai tròquản lý và thực thi bytecode đã được biên dịch từ mã nguồn thành mã máy gốc —native machine code dé nâng cao hiệu suất cũng như giảm dung lượng bộ nhớ Đốivới ART thì sẽ dùng Ahead-of-time (AOT) dé chuyên đồi bytecode thành mã máy,còn đối với DVM thi sẽ dùng Just-in-time (JIT) để chuyên đổi bytecode thành mãmáy ART và DVM cũng cung cấp các APIs cốt lõi cho Java cũng như đóng vai trònhư là một nền tảng mạnh mẽ dé phát triển ứng dụng trên thiết bị Android

Tầng Native C/C++ Libraries:

13

Trang 23

Native C/C++ Libraries: hay còn được gọi ngắn gon hơn là Native Libraries, làtập hợp các thư viện chạy ngầm trong hệ thống được viết bởi ngôn ngữ C/C++ thay

vì Java hoặc Kotlin Việc được viết bằng ngôn ngữ C hoặc C++ sẽ cho phép các thưviện này thực thi nhanh hơn, cho ra hiệu suất tốt hơn

Dưới đây là một số thư viện sốc trong kiến trúc hệ điều hành Android

- libc: Thư viện chuẩn của ngôn ngữ C, cung cap các chức năng dé nhập xuất

(input — output), xử lý chuỗi, quản lý bộ nhớ, v.v.

- libm: “m” ở đây viết tắt cho từ Mathematic, libm là một thư viện toán cung cấpcác ham tính toán như là: hàm lượng giác, hàm mũ, hàm logarit, v.v.

- libz: Triển khai các thuật toán nén và giải nén

- OpenGL ES: Viết tắt của cụm từ Open Graphics Library for Embedded

Systems, là một API được cung cấp dé xử ly đồ họa 2D va 3D trên các thiết bị nhúng

- OpenSL ES: Viết tắt của cum từ Open Sound Library for Embedded Systems,

là một API được tạo ra dé cung cấp khả năng xử ly âm thanh trên các thiết bị nhúng

- SSL: La một giao thức mang, thiết lập một đường truyền dé mã hóa thông tinđược trao đổi giữa Web Server và Web Browser

Tang Java API Framework:

Tang nay sẽ cung cấp các lớp, API, thư viện được viết bằng ngôn ngữ Java hoặcKotlin Tạo điều kiện cho các nhà phát triển ứng dụng Android tái sử dụng lại một

cách dễ dàng các thành phần, dich vụ dé tạo ra một ứng dụng Android mới Tập hợp các thành phần, dịch vụ trên bao gồm: Views system, Content Providers, Resource

Manager, Notification Manager, Activity Manager, v.v.

- Views system: Là tập hợp các danh sách, các lưới, các khung nhập liệu, các nútbam hoặc thậm chí là các trình duyệt nhúng có thể được mở rộng, sử dụng dé xaydựng giao diện cho người dùng ứng dụng.

14

Trang 24

- Content Providers: Day là một cơ chế cho phép các ứng dụng trong hệ điều hànhAndroid chia sẻ dữ liệu với nhau, truy cập đến dữ liệu của các ứng dụng khác hoặcchia sẻ dữ liệu của chính ứng dụng Ví dụ, một sỐ mạng xã hội hiện nay sử dụngContent Providers dé có thé lay được thông tin danh bạ trên thiết bị Android.

- Resource Manager: Đây là một thành phan có vai trò chịu trách nhiệm quản lý

các cung cấp các nguồn tài nguyên khác mã nguồn như: Hình ảnh, video, âm thanh,

chuỗi, v.v cho ứng dụng Ví dụ một ứng dụng trò chơi trên hệ điều hành Android córất nhiều loại tài nguyên khác mã nguồn như: Hình ảnh, âm thanh, văn bản, mau sắc,v.v Dé quản lý các tài nguyên này một cách hiệu quả thi các nhà phát triển ứng dụng

đã sử dụng.

- Notification Manager: Day là thành phan cho phép các ứng dung hiền thi thông

báo trên thanh trạng thái của thiết bị Android

- Activity Manager: Thành phan nay có tác dụng điều khiển va quản lý vòng đờicủa các Activity.

Tầng System Apps:

Tạm dịch là các ứng dụng hệ thống, đây là tầng cao nhất trong kiến trúc của hệ

điều hành Android Nền tang Android cung cấp một bộ các ứng dụng cốt lõi — cácứng dụng có sẵn, không xóa được và cũng không cần cài đặt từ Google Play như: Gọi

điện thoại, danh bạ, tin nhắn SMS, trình duyệt, email, camera, hình ảnh, v.v Ngoài

ra, các ứng dụng bên thứ ba như trò chơi, mạng xã hội, v.v khi tải về từ Google Play

thì cũng sẽ được cài đặt trên tầng này Các ứng dụng cốt lõi vừa là ứng dụng chochúng ta sử dụng vừa là nền tang dé các nhà phát triển sử dụng dé tạo ra ứng dụng

của riêng họ Ví dụ, một ứng dụng ngân hàng sẽ gửi mã OTP (One-time Password)

thông qua email người dùng cho mỗi lần xác thực trước khi giao dịch, lúc này nhàphát triển ứng dụng sẽ không cần phải xây dựng lại một ứng dụng email, thay vào đónhà phát trién sẽ gọi lại ứng dụng email được cài đặt sẵn trên thiết bị Android để gửitin nhắn có chứa mã OTP cho người dùng cụ thé

15

Trang 25

3.2 Tổng quan về mã độc

3.2.1 Khái niệm mã độc

Mã độc hay trong còn được biết với tên gọi khác là Malware, viết tắt của cụm

từ Malicious Software, là một thuật ngữ được dùng dé ám chi các chương trình, phần

mềm hoặc ứng dụng có mục đích xấu, gây hại hoặc xâm nhập trái phép vào thiết bị

mang di động, hoặc máy tính Mã độc thường được tạo ra dé gây các hoạt động gâyhại như phá hoại, truy cập và đánh cấp thông tin mật, thông tin nhạy cảm, đánh cấptài sản, chiêm quyên và kiêm soát toàn bộ hệ thông.

Mã độc ngày nay không còn là một thuật ngữ quá là xa lạ Bất cứ ai làm trong

mảng công nghệ chắc chắn đề nghe qua khái niệm này bởi những hậu quả to lớn mà

nó đã và đang gây ra trên toàn thế giới

Theo tờ báo Công nghệ của đài truyền hình Việt Nam [8], trong năm 2023 sốngười thiết bị bị nhiễm Virus là 6,062,715 máy, và hơn 740,000 tài khoản bao gồmmạng xã hội, ngân hàng bị đánh cấp, tăng hơn 40% so với cùng kỳ năm 2022 Tổngthiệt hại ước tính là hơn 17,000 tỷ Việt Nam đồng

Theo một thống kê “11 vụ tan công Ransomware lớn nhất trong lich sử” củaCobalt [9], vào năm 2017 mã độc tống tiền có tên là WannaCry đã khai thác thànhcông lỗ hồng của giao thức SMB và thực hiện tan công vào hơn 200,000 máy tínhcủa các công ty và người dùng hệ điều hành Windows trên hơn 150 quốc gia và gây

thiệt hại hơn 4 tỷ đô la Mỹ.

3.2.2 Phân loại các loại mã độc

Tính đến hiện tại, trên thế giới có rất nhiều loại mã độc khác nhau nhưng phố

biến nhất thì có các loại sau: Virus, sâu máy tính, ngựa Trojan, Ransomware, Rootkit,

Botnet, Fileless, Spyware, Adware, Sms.

Dưới day là khái niệm va định nghĩa cho các loại mã độc kê trên.

- Virus: Về ban chat, Virus là một đoạn code độc hai, có mục dich xâu được chèn

vào tệp ELF (Executable and Linkable Format) hoặc tệp PE (Portable Execute) của

16

Trang 26

một chương trình khác (vật chủ) Virus sẽ được kích hoạt khi có người tương tác vàovật chủ Ngày nay, nhiều người hiểu nhằm khái niệm Virus, cho rằng tất cả các phầnmêm, ứng dụng độc hại đêu là Virus.

- Sâu máy tinh: Là một tệp tin độc hại độc lập, sâu máy tính sẽ khai thác các lỗ

héng bảo mật của phần mềm hoặc ứng dụng và thực hiện khả năng lây nhiễm của

mình, tự phát tán từ thiết bị này sang thiết bị khác trong môi trường mạng mà không

cân sự nhúng tay của con người.

- Ngựa Trojan: Mã độc này có kha năng ngụy trang như một chương trình an

toàn Một khi Trojan được cài vào máy các nạn nhân, nó sẽ tiễn hành thực hiện những

hành vi độc hại như tạo Backdoor, tải về các mã độc khác Cũng vì cơ chế nguy trangnày giống như nhân vật ngựa Trojan trong thần thoại Hy Lạp nên mã độc này được

đặt tên là Trojan.

- Ransomware: Đây là loại mã độc tống tiền Nó sẽ tiễn hành mã hóa tat cả cáctài liệu có trong thiết bị, sau đó yêu cầu người dùng gửi tiền chuộc trong một khoảngthời gian nhất định Nếu người bị hại không gửi tiền đúng theo yêu cầu thìRansomware sẽ phá hủy toàn bộ tài liệu và không thê khôi phục được Ngày nay,Ransomware được xem là loại mã độc nguy hiém nhat.

- Rootkit: Là chương trình, thường là tập hợp các công cụ hop pháp tạo điều kiệncho hacker kiểm soát máy tính với quyền root, xây dung backdoor

- Botnet: La tập hợp các máy tinh bị chiếm quyền và điều khiển bởi hacker Botnet

là thủ phạm chính dẫn đến cuộc tan công từ chối dich vụ phân tán DDoS

- Fileless: Là loại mã độc sẽ thực hiện những hành vi độc hại mà không trực tiếp

sử dụng tệp Fileless Malware sẽ phát tán trong RAM hoặc các đối tượng không phải

tệp như API, Registry Keys.

- Spyware: Đây chính là phần mềm gián điệp, nó sẽ giúp kẻ xấu theo dõi va ghilại hoạt động của nạn nhân Loại Spyware phô biến nhất chính là Keylogger.Keylogger ghi lại toàn bộ những phím mà người dùng đã nhấn Bằng cách đọc lại

17

Trang 27

log, kẻ xấu hoàn toàn có biết được mật khâu và các thông tin nhạy cảm khác.Keylogger thường được cài đặt rất nhiều trong các máy tính ở quán trò chơi điện tử.

- Adware: Là loại phan mềm quảng cáo, nó sẽ hiển thị quảng cáo với mật độ dày

đặt lên thiết bị người dùng mà không có sự đồng ý của người dùng, làm giảm trải

nghiệm người dùng Đây là loại mã độc cực kỳ phổ biến trên nền tảng Android, ta

có thé dé dang thay, một khi truy cập một trang web lạ hoặc tải xuống một ứng dụngkhông rõ nguôn gôc trên CHPlay quảng cáo sẽ xuât hiện với sô lượng cực kỳ nhiêu.

- Sms: Day là loại mã độc chỉ xuất hiện trên điện thoại di động Một đường dẫn

độc hại sẽ được gửi tới nạn nhân thông qua phương thức gửi tin nhắn sms

3.2.3 Mã độc Android

Về cơ bản mã độc Android cũng được chia thành các loại như đã được liệt kê ởmục 3.2.2 Phần lớn các mã độc Android sẽ thuộc nhóm Trojan, Rootkit, Adware,Sms.

Hiện nay có nhiêu cach đê một mã độc có thê xâm nhập vào một thiét bi Android

- Tải xuống các ứng dung từ các nguồn không dang tin cậy Cho đến hiện tại,nguyên nhân chính làm cho một thiết bị Android bị dính mã độc đó chính là vô tìnhtải xuống các ứng dụng độc hại Các tệp tin APK, các ứng dụng crack, không có bảnquyên trên môi trường Internet sẽ dễ dang có chứa các phần mềm độc hại Các ứngdụng trên CHPlay cũng vẫn có thê có chứa mã độc Một khi mã độc đã được cài đặtthành công trên thiết bị, chúng sẽ tiến hành thực hiện những hành vi độc hại như:đánh cắp dir liệu mật, đánh cắp tài sản, v.v

- — Thiết bị Android chạy hệ điều hành lỗi thời: Một hệ điều hành cũ, lỗi thời sẽchứa những lỗ hồng bảo mật Những lỗ hồng này sẽ bị khai thác và tan công bởi Sâu.Một khi Sâu đã xâm nhập được vào thiết bị nó sẽ tiến hành lây lan mã độc cho nhữngthiết bị khác trong cùng mạng

- Bam vào các đường link lạ, không rõ nguồn gốc: Nhu đã dé cập ở mục Phânloại các loại mã độc 3.2.2 Mã độc Sms sẽ lây lan bằng cách gửi đến tin nhắn của

18

Trang 28

người dùng những đường link độc hại Nếu người dùng không có đủ kiến thức thì sẽnhấp vào những đường link này mã độc sẽ ngay lập thức lấy được những thông tinnhạy cảm của người dùng Hình 3.2 chính là một mã độc SMS được gửi bởi Hacker.

atl Viettel LTE 10:09 6 ‡ 66% a

<@ FT @®

VPBank

Tai khoan cua ban da mo dich

vu tai chỉnh toan cau phi dịch vu hang thang la 2.800.000VND se

bi tru trong 2 gio Neu khong

phai ban mo dich vu vui long

nhan vao vpbank.tp-vip.top de

huy

Hình 3.2: Ví dụ về tin nhắn Sms độc hai!

- Sử dụng Wi-Fi không an toàn: Khi đăng nhập vào một mang không rõ nguồngốc, người dùng có thé bị tan công Man-in-the-middle Với cách tan công ngày,Hacker sẽ đánh chặn thông tin giao tiếp của 2 hoặc nhiều người và đồng thời thay đôinhững thông tin trở nên sai lệch và đưa đên nạn nhân.

Do đó dé ngăn chặn được mã độc Android ta cần nam những nguyên tắc sau

- Tuyệt đối không tải về va cài đặt các ứng dung từ các nguồn không đáng tincậy Ngay cả các ứng dụng trên nguồn CHPlay đáng tin cậy, ta cũng cần phải tìm

hiểu kỹ lưỡng ứng dụng, tìm độc các bình luận, các đánh giá từ những người dingkhác trên các diễn đàn đê tránh tải vê các mã độc.

- Phải thường xuyên cập nhật các bản vá của hệ điều hành

! Nguồn: https://vietnamnet.vn/khong-mo-tai-khoan-van-nhan-duoc-tin-nhan-ngan-hang-804309.html

19

Trang 29

- Phải đọc quyền ứng dụng yêu cầu: Mã độc Android, đặc biệt là Trojan thường

sẽ yêu cầu người dùng cấp quyền Nếu người dùng không tỉnh táo, và cứ cấp quyền

vô tội va thì các ứng dụng độc hai sẽ ngay lập tức được cai đặt lên thiết bị

- Cân thận trước khi cai các phân mêm diệt mã độc: Biét được ngày nay nhiêu người có thói quen tải các phân mêm diệt mã độc đê bảo vệ thiệt bi Android được an toàn hoàn, các Hacker vì thê đã tiên hành tạo ra một mã độc dưới dạng là một phân

mềm diệt Malware để người dùng cả tin và cài đặt Hình 3.3 sẽ cho thấy cách màHackder lừa người dùng dé cài mã độc lên thiết bị

Hình 3.3 Ứng dung độc hại đội lớp là một chường trình diệt mã độc dé lừa người

Nếu điều này không được giải quyết trong một vài phút, virus

có thể làm hỏng thẻ SIM của bạn và xóa các địa chỉ liên lạc

cua bạn.

Thực hiện theo các hướng dẫn dưới đây dé loại bỏ tất cả các

virus cỏ thể ngay lập tức.

Cách diệt vi-rút ngay lập tức:

Bước 1: Nhấn vào nút "Diệt vi-rút" và nhập số điện

thoại di động trong trang tiếp theo.

Bước 2: Đề loại bỏ hoàn toàn virus, quét trên thẻ sim

sẽ được yêu cầu Gửi tin SMS mã bạn nhận được

sau khi bạn nhập số điện thoại di động của bạn.

loại bỏ tất cả các vi rút

dùng !

20

Trang 30

- Không mở nên truy cập vào Wi-Fi công cộng hoặc các mạng không có nguồnsốc rõ ràng Khi truy cập vào những mang này, người dùng sẽ thường bị dính mã độcSpyware, bị thu thập các thông tin cá nhân, các thông tin mật Ngoài ra, cũng rất cóthé bị tan công Man-in-the-middle.

3.3 Kỹ thuật phân tích mã độc Android

3.3.1 Phan tích động

Phân tích động hay còn được biết đến với một thuật ngữ khác là phân tích hành

vi Với phương pháp này các tệp tin APK sẽ được cài đặt và thực thi trên các môi

trường thử nghiệm (môi trường đó có thể là máy ảo, cũng có thể là thiết bị thật) đểthấy được hành vi của ứng dụng Cụ thê là thấy được cách mà ứng dụng tương tácvới hệ thống, các dữ liệu mà phần mềm thu thập, các dịch vụ mà ứng dụng đã sử

dụng, v.v.

Do cần môi trường đề cài đặt ứng dụng nên kỹ thuật phân tích động thường tiêutốn nhiều chỉ phí, tài nguyên và cũng như là thời gian Kỹ thuật phân tích động sẽ khó

có thê đưa ra kết quả trong một khoảng thời gian ngăn

Trong nghiên cứu [10], dé phát hiện mã độc Alessandro Armando va các cộng

sự đã sử dụng phương pháp phân tích động đề quan sát các System calls

3.3.2 Phân tích tĩnh

Không giống với phân tích động, kỹ thuật phân tích tĩnh sẽ không chạy ứngdụng trên thiết bị mô phỏng mà sẽ sử dụng các kỹ thuật dịch ngược dé trích xuất racác thông tin, các đặc trưng cần thiết Kỹ thuật phân tích tĩnh sẽ góp phần làm chothời gian phân tích mã độc được giảm đáng kê hon nữa sẽ ít tiêu tốn tài nguyên hơncũng như tiết kiệm chi phí hơn

Trong nghiên cứu [11] Borja Sanz và các cộng sự đã phân tích các đặc trưng như Intents, Permission, v.v trong tệp AndroidManifest.xml thông qua công cụ aapt(Android Asset Packaging Tool) dé phát hiện mã độc Android

21

Trang 31

Trong nghiên cứu [12] Lei Cen và các cộng sự đã sử dụng phương pháp phântích tĩnh để trích xuất ra API calls và Permissions Tác giả đã sử dụng những đặctrưng này đề huấn luyện cho mô hình Probabilistic Discriminative và sau đó so sánhkết quả với các mô hình SVM, k-NN, Decision Tree v.v.

3.3.3 Các đặc trưng thường được sử dụng khi phân tích mã độc Android

3.3.3.1 Package

Package hay API Package là tập hợp các thư viện, mô-đun, công cụ, v.v đượccung cấp bởi hệ điều hành Android Thông qua các API Package được cung cấp sẵn,các lập trình viên, nhà phát triển ứng dụng sẽ có tập trung phát triển vào những thứ

mà họ cần, không cần phải xây dựng lại những tính năng cơ bản Điều này giúp giảm

chi phí, thời gian cũng như là công sức của các nhà phát triển ứng dụng

Dưới đây là các Package pho biến trong hệ điều hành Android

- android.bluetooth: Cung cấp các tinh năng liên quan đến việc quản lý Bluetooth

- android.content: Cung cấp các lớp dé truy cập hoặc chia sé dit liệu trên thiết bị

- android.appwidget: Cung cap các thành phan cần thiết dé ra các Widget trênthiết bi Android, dé người dùng có thé nhanh chóng truy cập vào ứng dụng ma không

cân mở chúng ra.

- java.time: La API chính cũng là quan trọng nhất dé xử lý các tính năng liên

quan đến ngày và thời gian

- android.net.wifi: Cung cấp các lớp dé thực hiện quan lý các tinh năng liên quanđến Wi-Fi trên thiết bị Android

Công trình [13] tác giả và các cộng sử đã sử dụng một mô hình CNN dé huấnluyện các đặc trưng Opcodes, một mô hình CNN khác dé học các đặc trưng của APIPackage, một mô hình Fully-connected Neural Network dé học các đặc tính của

Permission.

22

Ngày đăng: 23/12/2024, 23:56