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 2LỜ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 3MỤ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 4Chươ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 55.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 6DANH 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 7100 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 8DANH 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 9DANH 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 10TÓ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 11Chươ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 12phươ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 13luyệ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 141.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 15Chuong2 | 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 16DroidMat 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 17hì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 18System 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 19việ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 20Chươ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 213.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 22Tam 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 23Native 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 253.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 26mộ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 27log, 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 28ngườ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 31Trong 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