Nội dung chính của nghiên cứu xây dựng ứng dụng dựa trên công cụ chính là Androguard dé rút trích các thông tin từ các file apk đầu vào permission, activity, manifest, Min SDK, max SDK,
Trang 1ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
NGHIEN CUU HE THONG DIEU TRA
UNG DUNG ANDROID
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan:
a Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của
thầy PGS.TS Lê Dinh Duy (hướng dẫn chính) và thay TS Nguyễn Tan Cam (hướng dẫnphụ)
b Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực
tên tác giả, tên công trình, thời gian, địa điểm công bố
c Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo tôi xin hoàn toàn chịu trách
nhiệm.
TP Hồ Chí Minh, tháng 3 năm 2022
NGƯỜI CAM ĐOAN
Đặng Trường Giang
Trang 3LỜI CẢM ƠN
Trước tiên tôi xin dành lời cảm ơn đến thầy PGS TS Lê Đình Duy - Thầy đãchấp thuận là Người Hướng dẫn chính cho đề tài luận văn của tôi; chỉ bảo, hỗ trợ và tạonhững điều kiện tốt nhất đề tôi hoàn thành luận văn
Tôi cũng xin gửi lời cảm ơn chân thành đến thầy TS Nguyễn Tan Cầm (Ngườihướng dan thứ 2) — Người đã gợi ý những nội dung đề tai dé tôi chọn lựa; thầy luôn bámsát, hỏi thăm, hỗ trợ tài liệu, hướng dẫn chỉ tiết, tận tình chi bảo dé tôi có định hướng
đúng và hoàn thành luận văn.
Bên cạnh đó tôi cũng gởi lời cảm ơn đến thay TS Nguyễn Gia Tuan Anh (trưởngkhoa công nghệ thông tin); thầy luôn quan tâm theo dõi tôi và nhóm các bạn (KiênGiang) từ những ngày đầu học cho đến khi hoàn thành luận văn
Tôi gởi lời cảm ơn đến quí thầy, cô phòng đào tạo sau đại học đã nhiệt tình, quan
tâm, hỗ trợ tôi hoàn thành các hồ sơ, thủ tục liên quan đến quá trình học và làm luận
văn.
Tôi xin cảm ơn tat cả những người thân yêu trong gia đình tôi cùng toàn thé ban
bè những người đã luôn giúp đỡ, động viên tôi dé có tinh thần tốt hoàn thành luận văn
Cuối cùng, tôi xin chân thành cảm ơn đến Ban giám hiệu; các thầy cô trường Đạihọc Công nghệ Thông tin — Dai học Quốc gia Thành phố Hồ Chí Minh, đã tạo điều kiện
cho tôi học tập, nghiên cứu và hoàn thành chương trình Thạc sĩ tại trường.
Trang 4CÁC TỪ VIET TAT
APK : Android Package Kit
Al : Artificial Intelligence
CFG : Control Flow Graphs
CPUs : Control Prossesing Units
DVMF : Dalvik Virtual Machine Format
AMD : Advanced Micro Devices
App : Application
Permission_max : ứng dung có Permissions cao nhât trong nhóm
Permission_min : ứng dụng có Permissions thap nhât trong nhóm
: lây phân nguyên của trung bình sô permissions của các Permission_avg
SDK : Software Development Kit
IDA : Interactive Disassembler
ADB : Android Debugging Bridge
Trang 5DANH MỤC HÌNH
Hình 1: Cách xem thơng tin ứng dụng trên Google Play «5+ +< << +ssss 15
Hình 2: Xem thơng tin chi tiết về các quyền (permissions) và thơng tin cụ thé trong
chính sách bảo mật (DỌICIYY) - - - c1 112111121119 1119 111v 1v ng HH ng 15
Hình 3: file apk ứng dụng Xiaomi Security khơng cĩ trên Google Play 16
Hình 4: Bảng bộ dữ liệu kiểm định với 71 file apk (12 nhĩm ứng dụng) 16
Hình 5: Bài báo [2] triển khai phương thức mã hĩa Cipher -2- 5z 5z: 17 Hình 6: Kiến trúc AnForA bài báo [5] xây dựng - 2-2 2 +++zx+zxe+zxsrxczes 20 Hình 7: Bảng các tinh năng tương ứng với các phiên bản IDA - 5+: 23 Hình 8: APK Tool thực hiện bằng Ong i0 25
Hình 9: Kết quả hién thị thơng tin với file apk ứng dụng Tiki . : 5: 26
Hình 10: APK Easy Tool xuất thơng tin ra file tXt 2 2 2 ++EzEzE+zxerxcres 27 Hình 11: Kết quả hiền thị thơng tin bị lỗi với file apk ứng dụng Facebook 28
Hình 12: Kết quả hién thị thong tin bị lỗi với file apk ứng dụng WeChat 29
Hình 13: Gĩi cơng cụ APK Tool trong Kali thực hiện bang dịng lệnh 30
Hình 14: So đồ hệ thống điều tra ứng dụng Android 2-2 z+sz+sezse£x+z++xszz 32 Hình 15: Kiểm tra cơng cụ Androguard sau khi cài đặt -: -¿-¿ +22: 33 Hình 16: Lược đồ Mơ-đun rút trích thơng tỉn 2 2 ++22++2x++zx+zzxzzxeex 34 Hình 17: Lược đồ khối rút trích thơng tin từ biến a (APK Object) - 35
Hình 18: Lược đồ khối rút trích thơng tin từ biến d (DalvikVM Format Object) 36
Hình 19: Lược đồ khối rút trích thơng tin từ biến dx (Analysis Object) 37
Hình 20: Lược đồ Mơ-đun điều tra hành vi ứng dung 2-2 2 s2 s£s+zs+se+z 38 Hình 21: Lược đồ Mơ-đun báo cáo - -c::-5+tc2xtttExxtttkttrrtrtrrrrtrrrrtrirerrriei 39 Hình 22: Cửa số chọn file apk - 2-52 + ©2++2E££EE+2EEE2EEEEEEEEEEEEEEEEerkrerkrrrrees 41 Hình 23: Thơng báo hồn thành và thời gian XỬ Í - - + + ++kxsseeeeseesrsers 41 Hình 24: Cửa số chính hiển thị các thơng tin đã được rút trích 42
Hình 25: Thơng tin các Permissions rút trích được từ file apk đầu vào 42
Hình 26: Thơng tin các Features rút trích được từ file apk đầu vào 43
Hình 27: Thơng tin các Providers rút trích được từ file apk đầu vào 43
Hình 28: Thơng tin các Receivers rút trích được từ file apk đầu vào 44
Hình 29: Thơng tin các DalvikVM Format rút trích được từ file apk đầu vào 44
Hình 30: Xem thơng tin của lớp (class) cĩ vi trí thứ 1=0 . + ss+sscxssesssre 45
4
Trang 6Hình 31: Kết quả xuất ra sau khi hiện decompile với file apk ứng dụng WeChat
151917 — 47
Hình 32: Một CFG trong thư mục kết quả (Androidx/appcompact/app/AlertController$bhandleMessage) từ việc decompile file apk ứng dụng WeChat (8.0.18) G1 HS HH TH ng HH HH 48 Hình 33: Dùng JD-GUI xem tập tin AlertController$b.java trong thư mục kết qua (Androidx/appcompact/app/AlertController$bhandleMessage) từ việc decompile file apk ứng dụng WeChat (8.0.18) cess SHnHHHHnHnHHHHnHnHnnHnHkkt 49 Hình 34: Kết quả dex2jar file apk ứng dụng WeChat (8.0.18) .: -: 50
Hình 35:Dùng JD-GUI xem các lớp của WeChat (8.0.18) -Ặ.c Sex 51 Hình 36: Dùng JD-GUI xem các lớp của Twitter (9.25.0) che, 52 Hình 37: Dùng JD-GUI xem các lớp của Facebook (349.0.0) - se 53 Hình 38: Dùng công cụ Android Studio tạo điện thoại Android ảo (Emulator Pixel_4_API_ 26) cài đặt ứng dụng VIĐer - - - - c2 1211k SH hy re 54 Hình 39: Dùng chức năng Device File Explorer (công cu Android Studio) dé truy cập vào thư mục data ứng dụng Viber - 1x v9 TH HH nh nh gà 55 Hình 40: Công cu DB Browser SQLite xem cau trúc file db của ứng dụng 56
Hình 41: Thông tin rút trích từ file Apk xuất ra file Excel - 2 22 s2 sec s+¿ 57 Hình 42: Hiền thị thông tin lớp (Classes) trong file tx - 5c ©5¿55z2cs+cx+zxzss 57 Hình 43: Thông tin rút trích từ file Apk xuất ra file PDE - 2-55: 58 Hình 44: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 1 61
Hình 45: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 2 64
Hình 46: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 3 66
Hình 47: Thông tin permissions Camera 360 được rút trích bởi chương trình 67
Hình 48: Thông tin permissions Meitu được rút trích boi chương trình 68
Hình 49: Thông tin permissions Wuta Cam được rút trích bởi chương trình 69
Hình 50: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 4 71
Hình 51: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 5 - 73
Hình 52: Biéu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 6 - 75
Hình 53: Biéu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 7 - 77
Hình 54: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 8 79
Hình 55: Biểu đồ so sánh thông tin rút trích từ các ứng dụng nhóm 9 32
5
Trang 7Hình 56:
Hình 57:
Hình 58:
Hình 59:
Hình 60:
Hình 61:
Hình 62:
Hình 63:
Hình 64:
Hình 65:
Hình 66:
Biểu đồ so sánh thông tin rút trích từ các ứng dung nhóm 10 85
Biểu đồ so sánh thông tin số lượng Permissions của 10 nhóm ứng dung 88
Biểu đồ so sánh thông tin số lượng Features của 10 nhóm ứng dung 89
Biểu đồ so sánh thông tin số lượng Activities của 10 nhóm ứng dung 90
Biểu đồ so sánh thông tin số lượng Providers của 10 nhóm ứng dụng 91
Biểu đồ so sánh thông tin số lượng Receivers của 10 nhóm ứng dung 92
Biểu đồ so sánh thông tin rút trích từ các phiên bản của ứng dụng Facebook — ễ 95
Biểu đồ so sánh thông tin rút trích từ các phiên bản của ứng dụng WeChat 97 Xem thông tin permissions ứng dụng WeChat trên Google Play 98
Thông tin rút trích từ file apk ứng dung Xiaomi Security - 99
Bang thống kê thời gian thực hiện rút trích thông tin -5- 5s 99
Trang 8DANH MỤC BANG
Bảng 1: Các công cụ sử dụng trong bài báo [2] - <s + + kE*skEsseeesseeseere 17 Bang 2: Các công cụ sử dung trong bài báo [3] -c + ++kseeerseeereseeeerre 18 Bảng 3: VỊ trí cua Artifacts trong ứng dụng WeChat được bài báo [4] phân tích 19 Bang 4: VỊ trí cua Artifacts trong ứng dụng Viber được bài báo [4] phân tích 19
Bang 5: Kết qua thử nghiệm trong bài báo [8] với thiết bi Nexus android 5 21Bảng 6: So sánh kết qua đóng góp của các bài báo so với nội dung đề tài nghiên cứu 22
Bảng 7: So sánh ưu- nhược điểm giữa các CONG CỤ -2222+ ++cxczEzrzrxerxcres 31
Bang 8: Liệt kê thông tin các Permissions (chia làm 2 nhóm) của file apk Wechat 46
Bảng 9: Kết quả rút trích thông tin của các ứng dụng nhóm | (các ứng dung dùng cho
các cơ quan nhà THƯỚC) - - - + + xxx vn TT nh TH HH Hà Hưng 59
Bang 10: Kết quả rút trích thong tin của các ứng dụng nhóm 1 (các ứng dụng độc lập
do cd nhan 09/181 0Ð" ẻ 60Bảng 11: Kết quả rút trích thông tin của các ứng dụng nhóm 2 : - 63Bang 12: Kết quả rút trích thông tin của các ứng dụng nhóm 3 2- 25+: 65Bang 13: Kết quả rút trích thông tin của các ứng dụng nhóm 4 -5- 2 5+: 70Bảng 14: Kết quả rút trích thông tin của các ứng dụng nhóm 5 .: 72Bảng 15: Kết quả rút trích thông tin của các ứng dụng nhóm 6 -.: : 74Bang 16: Kết quả rút trích thông tin của các ứng dụng nhóm 7 - 25252 76Bảng 17: Kết quả rút trích thông tin của các ứng dụng nhóm § . -: 78Bảng 18: Kết quả rút trích thông tin của các ứng dụng nhóm Ô9 2-2552 81Bang 19: Kết quả rút trích thông tin của các ứng dụng nhóm l0 -:- 84Bảng 20: Tổng hợp số lượng Permissions; Activities; Features; Providers; Receivers từ
10 nhóm ứng dụng - . cece + +1 E1 TH HH TH HH Hệ 87
Bảng 21: Kết quả rút trích thông tin của các phiên ban ứng dụng Facebook 94Bang 22: Kết quả rút trích thông tin của các phiên bản ứng dụng WeChat 96
Bảng 23:So sánh các thông tin rút trích từ APK Easy Tool và Forensics Android 100
Bang 24: So sánh chức năng xuất kết quả rút trích thông tin ra các định dang file phổ
Trang 99099.899057 a3 l LOT CAM ON 8 3 2 CAC TU VIET là v77 3
DANH MỤC HINH o.0 c.ccccccssccsscesssessssesssesssesssecssecssecssecssecssecssscsseesssesssesssesssesssesssecsseessecssessseesseess 4
DANH MỤC BANG 0.0.0 ccccssssssssssessssssesssessscssessecsusssessssssecsssssessecssessessuessessuessecsuessecsuessecasessecseeeaes 7
MUC LUC
CHUONG I: GIỚI THIEU TONG QUAN VE DE TÀI -2 52 sc2EE‡EEEeEEEeEExerrkerred 10
1.1 Đặt vấn Occ cccccssessecssessesssessessecssssssessessessusssecssessessiessesssesaesssessessesssessesssesseasess 10
IV U00) 09/8.//)0)0 (200 11
1.3 Tim hiểu các phương pháp điều tra hành vi ứng dụng 2 2 s2 +sz+zxzxzcz+ 11
1.3.1 Phân tích tomb o 0.cccccccssscssssssssessseessecssecssecssssssssssssssesssssesssssessseessesssesssecssecssecsseesseee 11 1.3.2 Phan 090) 17 d 12
1.3.3 Phân tích kết hợpp -22- 2+ 2<921221221121122112112212112112111121111111 2111111 ce 12 1.4 Đối tượng, phạm vi nghiên cứu - 2 2+ z+EE2EEE+EE££EEEEEEEEEEEEEEEEEEEEEEEkerkrrrree 12
1.5 Phuong phap nghiém Ctr 12
1.5.1 Các nội dung nghiên €Ứu - - eceseeseseeseeseseeeenceseeseceeeceeeseeseeseeeeeeeseeaeeaeees 12
1.5.2 Phương pháp nghiên CỨU -G G3 c1 82113118 1 911911 11911 11H ng nưrry 13
1.6 Tính khoa học và tính mới của đề tài 2- 22 2s+22E2EECSEECEEECEEESEECEEErrrkrrrkrerkree 13
1.6.1 Tính khoa hỌC - - - 55 +5 tt S919 91 1T TH HT nh HH HT TT Hàn TH hệ 13
1.6.2 Tính mới - E22 121112301 112111011 211v TT TH KH 13
CHƯƠNG II: CÁC NGHIÊN CỨU LIEN QUAN - 2- 2£ ©52+EE2EEE2EE2EEE2EEEEEErrxerkerrxees 14
2.1 Giới thiệu tổng quan về điều tra số (pháp y ứng dụng) 2-2 2 se =s2 14 2.2 Đặt vấn đề thực nghiệm 2 + +Sz£EE2E1SE12111711211271711211711211111 111111110 15
2.3 Timlh hinh 8i)i 2u 0n - 17
2.4 Các công cụ liên quan đến lĩnh vực điều tra ứng dụng Android - 23
QAD Vẽ 23
P U06 0n hs 24 2.4.3 APK Easy T00Ì - -Q- Gà HH TH HH nu HH TH HH TH nh 25 2.4.4, Kali - 0v ồn n ẽ n4 30
CHUONG III: NGHIÊN CỨU HE THONG DIEU TRA UNG DỤNG ANDROID 32
3.1 Kiến trúc hệ thống điều tra ứng dụng Android đề xuất 2-52 5 sz2ss2 32
3.1.1 Mô-đun rút trích thông tỉn - - 1S 112119 TH 91 1111110 11 111 g1 ng ve 33
3.1.1.1 Khối rút trích thông tin từ biến a (APK Objeet) -¿©c-c-c5ce¿ 34 3.1.1.2 Khối rút trích thông tin từ biến d (DalvikVMFormat) - 36
3.1.1.3 Khối rút trích thông tin từ biến dx (Analysis Objeef) -+- 37
8
Trang 103.1.2 Mô-đun điều tra hành vi ứng dụng 2-2 £+EE+EE£+EEtEEzEEtrEerrerrkerrree 38
3.1.3 Mô-đun báo Cáo - - ch HH HH TH HH HT TH HT TT TH TT HH 39 3.2 Thre mghigm 0 39
3.2.1 Tao lập môi trường, công cụ biên soạn code Python ccceeseseeseeeeeeeteeeeees 39
3.2.2 Mẫu thử nghiệm 2-2 213C 1E E3 1121110112111 211 110111111111 0101 T1 11 1c rg 40
3.2.3 Kết quả thực nghiệm 2- 22 ©2SSE+ÊEE£EEEC2EX2E12712711271127112711 11.11 41
3.2.3.1 Kết quả thực nghiệm với 1 file apk - 2-2522 E+2E+EEerEerrxrrkrrrxees 41
3.2.3.2.8 Nhóm 8 ( các ứng dụng mang xã hội) 55 5- + sscsserserrsreree 78
3.2.3.2.10 Nhóm 10 (các ứng dung theo dõi sức khỏe) - ¿5c <+x+<<s+ 84
3.2.3.2.11 Tổng hợp 10 nhóm ứng dụng 2-22 s22 £E+EE£+EE+Ex++Exzrxzzreeex 87 3.2.3.2.12 Kết quả với bộ mẫu thực nghiệm các phiên bản của ứng dụng Facebook
¬— 94
3.2.3.2.13 Kết quả với bộ mẫu thực nghiệm các phiên bản của ứng dụng WeChat%6 3.2.3.3 Giải quyết vấn đề thực nghiệm đặt ra 2-2: 2s22xcSzxcerxrerkrerkrerkeee 98
3.2.3.4 So sánh công cụ Android Forensics với các công cụ khác 100
CHUONG IV: KET LUAN - - 101
IV 080000050 11 102
Trang 11CHUONG I: GIỚI THIỆU TONG QUAN VE DE TÀI
1.1 Dat van dé
Bên cạnh những sự cai tiến về Hệ điều hành Android của Google cung cấp;
sự phát triển công nghệ: Big Data, AI, Cloud Computing, Machine Learning, DeepLearning; tham vọng của Google và các công ty công nghệ lớn triển khai AI, MLlên các ứng dụng Android [1]; phần cứng (kỹ thuật thiết kế vi mạch, vi xử lí) ngàycàng mạnh; các hệ thống ha tang mạng (5G) đang dan được sử dụng phô biến gópphần cho các thiết bị di động nhỏ gọn như điện thoại có thê lưu trữ với dữ liệu lớn,
xử lí những tác vụ đòi hỏi tính toán phức tạp; chính điều này làm cho người dùng
sử dụng điện thoại thoải mái tải nhiều ứng dụng với nhiều mục đích Ngoài ra xuhướng kết hợp điện thoại với các thiết bị thông minh (vòng deo tay, đồng hồ, thiết
bị cảm biến IoTs) dé theo đõi sức khỏe, đáp ứng tối đa nhu cầu cá nhân hóa; và cáccông ty cũng đang dan mở rộng làm việc với hình thức trao đối trực tuyến nhiều
hơn bằng điện thoại và các thiết bị trên các nền tảng mạng
Một điện thoại cá nhân có thể được cài đặt hàng chục các ứng dụng (và có
thé nhiều hơn) dé phục vụ các nhu cầu khác nhau; và dé các ứng dụng đó thực hiệntốt chức năng cá nhân hóa (theo nhu cầu, theo sở thích, theo dõi sức khỏe riêng
theo biểu đồ, ) thì các ứng dụng khi cài đặt đòi hỏi một số quyền được phép truycập vào các nội dung liên quan cá nhân người dùng thiết bị như: danh bạ, camera,micro, kho hình ảnh, Buletooth, kết nói Internet, vị trí (GPS), nơi lưu trữ dữ liệu
(bộ nhớ trong của thiết bị, thiết bị lưu trữ ngoài),
Vẫn đề đặt ra, các ứng dụng này đang lưu giữ nhiều thông tin cá nhân người
dùng, nếu các ứng dụng không có các biện pháp an toàn thì vô tình làm rò ri thôngtin cá nhân người dùng cho bên thứ 3 khai thác với những mục đích không tốt
Điều tra hành vi ứng dụng Android, cũng như phân tích bảo mật các ứngdụng Android là cần thiết Có nhiều nghiên cứu liên quan đến chủ đề này [2, 3, 4,
5, 6, 7, 8].
10
Trang 121.2 Mục đích nghiên cứu
Trong luận văn này, chúng tôi đề xuất ứng dụng cho phép rút trích các thông tinứng dụng Android phục vụ điều tra và phân tích bảo mật Ứng dụng tích hợp một sốcông cụ hiện có dé cung cấp khả năng điều tra và phân tích một cách hệ thống
Nội dung chính của nghiên cứu xây dựng ứng dụng dựa trên công cụ chính là
Androguard dé rút trích các thông tin từ các file apk đầu vào (permission, activity,
manifest, Min SDK, max SDK, provider, feature, receiver, classes, dex, signature,
certificates, types); từ đó làm co sở phục vụ điều tra va phân tích bảo mật
1.3 Tìm hiểu các phương pháp điều tra hành vi ứng dụng
Có 3 phương pháp phân tích cơ bản: phân tích tĩnh (trích xuất thông tin từ file cài
đặt ban đầu); phân tích động (theo dõi hoạt động của ứng dụng); kết hợp phân tích tĩnh
và phân tích động Tùy theo đặc điểm của từng ứng dụng (độ phổ biến người dùng, tính
năng của ứng dụng) dé xác định phương pháp phân tích phù hợp và hiệu quả
1.3.1 Phân tích tĩnh
Phân tích nh được thực hiện khi ứng dụng không được cài đặt (không khởi chạy
ứng dụng) Cơ bản là thu thập (trích xuất) các thông tin của ứng dụng trong file cài đặt
(file apk) như: tên (file name), tên gói (package), phiên ban (version), kích thước (size),
các sự cho phép (permission), hoạt động (activity), tính năng chính (feature); các nội
dung ứng dụng cung cấp (provider) thông qua truyền nhận, các hoạt động ứng dụng tiếp
nhận (receiver), hỗ trợ các phiên bản hệ điều hành android (min SDK, max SDK); cácnội dung trích xuất từ tập tin AndroidManifest.xml, thông tin classes, thông tin các tậpdex Trong một vài trường hợp cần khai thác, phân tích sâu hơn với một ứng dụng thì
sử dụng kỹ thuật dịch ngược (decompile), chức năng chuyên các tập tin dex sang tập jar
(dex2jar) có thé đọc được dé phân tích code Java
Thuận lợi của phân tích tĩnh đó là phương pháp cho kết quả nhanh (phù hợp nhucầu cấp thiết), tiết kiệm chi phí, tiết kiệm tài nguyên của các máy kiểm thử; và phan lớntrong chuyên ngành phân tích pháp y ứng dụng thì ưu tiên sử dụng phân tích tĩnh phầnnhiều Khó khăn của phương pháp này là kết quả nhận được có thé không được toàndiện (vì có một số ứng dụng thông qua phân tích tĩnh sẽ biết được phần lớn thông tin về
ứng dụng: song bên cạnh đó có một số ứng dụng phải kích hoạt khởi chạy và theo dõi
mới có đầy đủ thông tin pháp y về ứng dụng)
11
Trang 131.3.2 Phân tích động
Loại phương pháp phân tích này (được biết như phân tích hành vi) được thực hiệntrong suốt quá trình thực thi ứng dụng Phân tích giám sát hoạt động bên trong và bênngoài (sự truyền — nhận dữ liệu), các kết nối, các lời gọi, các click xảy ra trong khi ứng
dụng đang được thực thi, và theo dõi sự chiếm dụng bộ nhớ RAM của thiết bi; xem xét
tình huống ứng dụng kết nối với ứng dụng khác Phương pháp này có thuận lợi cho kếtquả đánh giá toàn diện về việc điều tra pháp y ứng dụng Bắt tiện của phương pháp này
đó là tốn thời gian (vì theo dõi ghi nhận hoạt động của ứng dụng theo thời gian thực);tốn kém chỉ phí, tốn tài nguyên trên các thiết bị kiểm thử Thêm vào đó, phương phápnày đòi hỏi kiến thức nhiều hơn, chuyên sâu hơn khi phải trực tiếp vừa giám sát, ghinhận, xử lí các luồng dữ liệu, hành vi của ứng dụng khi đang hoạt động
1.4 Đối tượng, phạm vi nghiên cứu
Tập tin mẫu đầu vào cần phân tích là các file apk Luận văn này tập trung vào việcrút trích thông tin các ứng dụng Android phục vụ điều tra và phân tích bảo mật
Phạm vi nghiên cứu của luận vap tập trung vào việc tìm hiểu và kết nối các giảipháp đơn lẻ để tạo thành giải pháp có tính hệ thống nhăm tăng tính hiệu quả của việcđiều tra và phân tích bảo mật trên ứng dụng Android
1.5 Phương pháp nghiên cứu
1.5.1 Các nội dung nghiên cứu
= Nội dung 1: Kiến thức tổng quan về điều tra số [9, 10, 11]; ngôn ngữ Python
[12].
= Nội dung 2: Bộ công cụ rút trích thông tin ứng dung Android Androguard [13].
= Nội dung 3: Các công cụ phục vụ cho việc thu thập và quan lý thông tin điều tra
[2, 3, 14].
“ Nội dung 4: Xây dung hệ thống tích hợp các công cụ phục vu cho việc thu thập
và quản lý thông tin điều tra
12
Trang 14Nội dung 5: Thử nghiệm hệ thống đề xuất.
1.5.2 Phương pháp nghiên cứu
Trong quá trình thực nghiệm dé tai đã sử dụng các phương pháp sau:
Các kiến thức tổng quan về điều tra số nói chung; và điều tra số về ứng dụng
Android nói riêng; các nghiên cứu (bai báo, công trình) liên quan đề tìm khoảng
cách nghiên cứu (đánh giá ưu — nhược điểm) trong lĩnh vực điều tra ứng dụng
Android;
Các chức năng, hoạt động của bộ công cụ Androguard khi kết hợp sử dụng với
ngôn ngữ Python; trong môi trường Anaconda [15, 16];
Các công cụ mã nguồn mở khác (dex2jar, JD-GUI, DB Browser SQLite, StudioAndroid) dé tùy biến và xây dựng hệ thống đề xuất;
Thực nghiệm hệ thống đề xuất với các ứng dụng phổ biến và đánh giá kết quả;
Tổng hợp kết quả, tạo báo cáo về kiến thức nhận được khi phân tích các thông
tin rút trích từ ứng dung (file apk).
1.6 Tính khoa học và tính mới của đề tài
1.6.1 Tính khoa học
Xây dựng hệ thống cho phép thu thập các thông tin liên quan đến ứng dụng
Android phục vụ cho việc điều tra và phân tích bảo mật giúp ích cho nhiều bài toán liênquan Các bài toán liên quan như: điều tra hành vi ứng dụng, phát hiện mã độc, phân
loại mã độc, và một sô bài toán khác.
Trang 15CHƯƠNG II: CÁC NGHIÊN CỨU LIÊN QUAN
2.1 Giới thiệu tổng quan về điều tra số (pháp y ứng dụng)
Pháp y máy tính (còn được gọi là khoa học pháp y máy tính) là một nhánh của
khoa học pháp y kỹ thuật số liên quan đến bằng chứng được tìm thấy trong máy tính vàphương tiện lưu trữ kỹ thuật số Mục tiêu của pháp y máy tính là kiểm tra các phươngtiện kỹ thuật số một cách rõ ràng về mặt pháp lý với mục đích xác định, bảo quản, khôiphục, phân tích và trình bay các sự kiện và ý kiến về thông tin kỹ thuật số [9]
Pháp y máy tính xuất hiện từ năm 1980, cùng thời gian này khi mà các máy tính
cá nhân (giá thành hợp lí) đến được với nhiều người dùng hơn, các công ty trang bị nhiềumáy tinh hơn cho nhân viên; lúc này tội phạm liên quan đến việc sử dụng máy tính nỗilên (lay cap dữ liệu công ty, cá nhân) [9]
Kỹ thuật pháp y và kiến thức chuyên môn được sử dụng để giải thích trạng tháihiện tại của hiện vật kỹ thuật số , chang hạn như hệ thống máy tính, phương tiện lưu trữ
(vi du: đĩa cứng hoặc CD-ROM ) hoặc tài liệu điện tử (ví dụ: thư email hoặc hình ảnh
JPEG) Phạm vi của phân tích pháp y có thé thay đổi từ truy xuất thông tin đơn giản đến
tái tạo lại một loạt sự kiện [9].
Các kỹ thuật phân tích pháp y được giới chuyên gia trong các cơ quan thực thi
pháp luật sử dụng nhiều: phân tích ô đĩa chéo; mã hóa ngược; phân tích trực tiếp bên
trong hệ điều hành của máy tính; khôi phục tệp đã xóa; pháp y ngẫu nhiên;Steganography; dữ liệu biến động [9]
14
Trang 162.2 Đặt vấn đề thực nghiệm
« Van dé đặt ra thứ nhất: Có cách nào (công cụ nào) lấy thông tin file apk, dùng
dé kiểm chứng với những thông tin (lời giới thiệu) của nhà sản xuất ghi trên hệthống Google Play?
) Google Play
Matdn
WeChat International Pte Ltd lỀ
CHINH SACH BAO MAT CUA WECHAT
Hiển thị các quyền cho tất cả phiên bản của ứng dụng nay
Ứng dụng này có quyền truy cập vào:
| Thông tin về kết nối Wi-Fi
* xem kết nối Wi-Fi “CHÍNH SÁCH BẢO MAT NÀY CÔ AP DUNG CHO BẠN KHÔNG?
ou bạn là người dùng WeChat, noha bạn đã ding ký bing cách lên kt sổ
tý không ph :86 số điện hop dg không phải của Trung Quốc Đại lục
© Điện thoại
s doc trang thái và nhận dạng của điện thoại
@ Micré
9 Hủy
Hình 2: Xem thông tin chỉ tiết về các quyền (permissions)
và thông tin cụ thê trong chính sách bảo mật (policity)
15
Trang 17e Vấn dé đặt ra thứ hai: Có những ứng dụng không xuất hiện trên Google Play;
xem thông tin file apk ứng dụng đó bằng cách nào? Vì vậy cần có công cụ rút
trích thông tin file apk
) Google Play
Hình 3: file apk ứng dụng Xiaomi Security không có trên Google Play
e Vấn đề đặt ra thứ ba: Với bộ 12 nhóm ứng dung (71 file apk); nêu dùng cách
xem thông tin trên Google Play thì đây là thách thức về mặt thời gian Vì vậycần có công cụ rút trích thông tin file apk
Số
Tên nhóm Mô tả lượng Các ứng dụng (file apk)
TraceTogether; PC-Covid; COVID-19 Contact App; NZ COVID Tracer; (tawakkalna) S33;
Social Distancing Alarm; Taiwan Social Distancing;
covid19: théng tin dich té; 2M Social distance; Social Distance Alerter; Social Distance;
Nhóm 1 cảnh báo tiếp xúc gần (2m) |_ 12 |Social Distancing; Social Distancing
Nhóm 2 dịch vụ gọi xe 6 |Gojek; Grab Driver; VietGo; DiDi; FastGo; be
Nhóm 3 chụp hình; quay - xử lí video|_ 6 _ |UIike; CapCut; Camera360; B612; Wuta Cam; Meitu
Nhóm 4 tin nhắn trên nền mạng 5 |Messenger; Viber; WhatsApp; Zalo; WeChat
Nhóm 5 họp trực tuyến 3 |Meet; Teams; Zoom
NoRoot Firewall; CM Locker; CM Security Lite; DuckDuck;
Nhém 6 an toan, bao vé dién thoai 7 |GoFind My Device; Security; McAfee Security
Nhém 7 mua sắm trực tuyến 4 |eBay; Lazada; Shopee; 324355 (Alipay)
Nhóm 8 mạng xã hội WeChat; Weibo; Twitter; TikTok; Instagram; Facebook
Cốc Cốc Beta; Firefox; Mi Browser; Opera;
Nhóm 9 trình duyệt web 8 |Samsung Internet; UC Browser; SE (baidu); Chrome
Nhóm 10 theo dõi sức khỏe 6 |Huawei Wear; Huawei Health; Galaxy Wearable; Samsung Health; Mi Fit; Urban fit
Nhóm Facebook | các phiên bản của Facebook! 4 |300.1.0.57.129; 325.0.0.36.170; 348.0.0.39.118; 349.0.0.39.470
Nhóm WeChat_ | các phiên bản của WeChat 4 |7.0.7; 8.0.0; 8.0.17; 8.0.18
TỔNG: 71
Hình 4: Bảng bộ dữ liệu kiểm định với 71 file apk (12 nhóm ứng dụng)
16
Trang 182.3 Tình hình nghiên cứu
Hiện có nhiêu nghiên cứu liên quan đên việc điêu tra ứng dụng Android,
như:
" Theodoula-Ioanna Kitsaki và cộng sự [2] phân tích với nhóm ứng dụng
android e-Banking, phân tích mức độ an toàn của data (bảng dữ liệu) lưu
thông tin người dùng như: số thẻ tín dụng, mã PIN, thông tin tài khoản
Bảng 1: Các công cụ sử dụng trong bài báo [2]
Tool Details
apk apk >.dex
dex2jar apk > jar
Jd-gui jar > class
Root Browser Truy cap vao thiét bi da Root Droid Explorer Copy các file của ứng dụng trong thiết bị
? Khai thác các tap data của các ứng
DB Browser for SQLite dụng
Cipher localCipher = Cipher.getInstance("AES/CBC/PKCSSPADDING");
localCipher.init(1, localSecretKeySpec, locallvParameterSpec) ;
byte[] arrayOfByte = localCipher.doFinal(paramString3.getBytes());
System.out.println(“encrypted string: " + Base64.encodeToString(arrayOfByte, 0));
Trang 19" Tooska Dargahia và cộng sự [3] nghiên cứu sự đảm bảo an toàn của các ứng
dụng gọi điện trực tuyến phổ biến (Viber, Skype, WhatsApp, Messenger);
phân tích hình ảnh chụp bộ nhớ thu được khi các ứng dụng này hoạt động,
bên cạnh đó phân tích data của các ứng dụng này, xem xét mức độ bảo mật,
sự an toàn.
Bảng 2: Các công cụ sử dụng trong bài báo [3]
Android Platform Phone
Samsung S3 GT
-i9300, Firmware version 3.0.31
Thiết bi được dùng thử
nghiệm trong bài báo
Skype - 4.9.0.45564 WhatsApp - 2.11.23
Các ứng dụng android làm mâu thử
AccessData FTK Imager
thác hình ảnh logic thu được (bộ nhớ trong)
của điện thoại
Finder Timeline IEF
SGLite Database 2.0bl Công cụ trực quan
Browser được sử dụng để khai
như dấu thời gian
Timestamp Converter
Root-Kit Frameware CFAuto- | Phần mềm khung
Root- m0 m0xx- được sử dụng đề root
Epoch & Unix Được sử dụng để
chuyển đổi dấu thời
gian được tìm thấy ở
định dạng hex
lð
Trang 20= Khushboo Rathi và cộng sự [4] phân tích các ứng dụng nhắn tin tức thi
(Instant Messaging) được mã hóa được sử dụng rộng rãi là WeChat,
Telegram, Viber và Whatsapp Bài báo cũng thảo luận về các tác động pháp
lý của các ứng dụng nhắn tin tức thì đang sử dụng mã hóa; phân tích hiện vật
thu thập được từ các ứng dụng được thực hiện bằng công cụ Android
Debugging Bridge (ADB) và một số công cụ mã nguồn mở khác
Bảng 3: Vị trí của Artifacts trong ứng dụng WeChat được bài báo [4] phân tích
Artifact Location
Encrypted SQLite database of chat | /data/data/ /<udir>/EnMicroMsg.db
message (EnMicroMsg.db)
SQLite database for moments /data/data/ /<udir>/SnsMicroMsg.db
Send and Received Images /sdcard/tencent/MicroMsg/<udir>/image2 Send and Received Videos /sdcard/tencent/MicroMsg/<udir>/video
Downloaded Documents /sdcard/tencent/MicroMsg/ Download
Send and Received audio file /sdcard/tencent/MicroMsg/<udir>/video2
All the images captured via ‘take photo’ | /sdcard/tencent/MicroMsg/ WeChat
Download images and video /sdcard/tencent/MicroMsg/ WeChat
Profile picture /sdcard/tencent/MicroMsg/<udir>/avatar
Send and Received Stickers /sdcard/tencent/MicroMsg/<udir>/emoji
Bang 4: Vi tri của Artifacts trong ứng dụng Viber được bài báo [4] phân tích
Artifact Location
User Photos /sdcard/viber/media/User Photos
Send and Received Viber Images /sdcard/viber/media/Image
Send and Received Viber Videos /sdcard/viber/media/Image
19
Trang 21* Cosimo Anglano và cộng sự [5] đề xuất cách xây dựng công cụ AnForA dé
phân tích pháp y đối với các ứng dụng Android như: Google Gmail; Microsoft
Sky; Facebook Messenger.
Analyst Analysis machine
Hình 6: Kiến trúc AnForA bài báo [5] xây dựng
= Suneela Pasha và Shahzad Saleem [6] phân tích pháp y với ứng dụng mua
sắm trực tuyến Wish-Shopping với việc lưu và quản lí các thông tin cá nhânnhạy cảm (thông tin thẻ tín dụng thanh toán mua sắm, tài khoản cá nhân )
20
Trang 22“" Junfu Zhang và cộng sự [7] xây dựng kỹ thuật phân tích pháp y trên bộ nhớ
Heap của thiết bị Android
= B Liu và cộng sự [8] xây dựng kỹ thuật phân tích pháp y dé khai thác trên bộ
nhớ cấp phát cho các ứng dụng khi hoạt động (dựa trên ptrace, một chương
trình khai thác bộ nhớ Android ở cấp quy trình được đề xuất) bao gồm khônggian bộ nhớ chia sẽ ân danh bởi quá trình và các quá trình khác, không gian
bộ nhớ của quá trình và không gian bộ nhớ của mỗi luồng trong quá trình
Bảng 5: Kết quả thử nghiệm trong bài báo [8] với thiết bị Nexus android 5
Number | Size | Size Name
of A Process Name pid of of of
PP threads | MEM | MAPS
Tecent 1.25 | 106.65
QQ com.tencent.mobileqq 16883 | 126 GB KB
Google 1.66 | 63.60 calender com.google.android.calender | 18485 | 68 GB KB
: 2.30 | 72.35
Gmail com.google.android.gm 25745 | 78 GB KB
21
Trang 23Bảng 6: So sánh kết quả đóng góp của các bài báo so với nội dung đề tài nghiên cứu
Kết quả đóng góp các bài báo Đánh giá Luận văn
Bài báo phân tích nhóm ứng dụng e- Tap trung vào
Bài | Banking; phân tích vào data để kiểm | phân tích data
bao | chứng độ an toàn khi lưu các thông tin | của ứng dụng
[2] | khách hàng liên quan mã PIN, tài
khoản
Bài báo phân tích pháp y các Artifact An xab xà
(message, contact detail, phone t hân tích tập
Bài | number, voicemail, email images rung vao một
h , a ans xi nội dung
bao | videos, audios, location information) (arti fact) của ứn
[3] | của nhóm ứng dụng thoại được sử dụng: 9
Rik yh ung; chưa da dung pho bién: Viber, Skype, dan
WhatsApp ang
Bai bao phan tich phap y cac Artifact Phân tích từng
Bài | (message; photo; profile; media) của nội dung pháp y
báo | nhóm các phan mềm nhắn tin tức thì _ | với từng ứng He thốn
[4] | được sử dụng phô biên: WeChai; dụng (phân tích hóa các
Telegram; Viber; Watshap riêng lẻ) công cu điều
Bài báo phân tích vào Artifact Thông tin pháp y tra ứng dụng
Bài (Contacts, conversations, call logs; nhận được chưa Android
bá Shared media files; Shared media da dang; phan Se
ao > , > Ey aa nham tang
metadata) của 3 ứng dung được sử tích riêng lẻ › Ề
[5] dụng phổ biến: Google Gmail: cương SO
x Bì ; lượng thông
Microsoft Sky; Facebook Messenger tin và khả
Phân tích sự tác động của ứng dụng Phân tích pháp y năng tự
Bài Wish-shopping đên các thông tin cá trên 1 ứng dụng động hóa
bá nhân (vị trí GPS; thông tin tài khoản cá | (chưa đa dạng ta ak
ao N ae = ` việc điều tra.
[6] nhan khi dang nhap trên trang mua lứng dụng)
sam trực tuyên; thông tin cá nhân thẻ
tín dụng khi thanh toán trực tuyến)
Bài báo tập trung phân tích pháp yvề | Phân tích 1 khía
sự tác động của phần mềm lên bộ nhớ | cạnh pháp y (bộ
Bài Heap (Heap File Size, Class Object, nhớ Heap)
báo Object Instant, Char Array, Processing
[7] Time) với các phan mêm: Mobile QQ;
Wechat; 163 Mail; OutLook; MiTalk;
Momo 360; Browser Dolphin; Browser AIiPay
Bài Bài báo phân tích pháp y vào Artifact Phân tích 1 khía
báo (Memory) với thử nghiệm trên 3 ứng cạnh pháp y (bộ
I8] dung:Teen QQ; Google Calendar; nhớ )
Gmail
Nhận xét: Các tác gia bai báo va các chuyên gia sử dung các phương pháp phan tích
chuyên sâu vào những van đề (nội dung) cu thể với từng nhóm ứng dụng dé điều tra tính
an toàn Thông qua các bài báo không tìm thay cách giải quyết van dé đặt ra là rút trích
thông tin của file apk đầu vào.
22
Trang 242.4 Các công cụ liên quan đến lĩnh vực điều tra ứng dụng Android
Save your analysis work
Floating license available
Technical support: emai,
Androtd(Dabvik) More mía
Over 45 + custom via
SDKAIDAPython
86, x04, ARM, AHMIs4, PPC, PPDn4, MIPS, MIPSC
Local + GDGServer
Aboul 20 processce-specific formats
cloud-based x64, PPCB4 or ARMG4 (beta)
Trang 25IDA [17] là phần mềm dịch mã ngược (disassembler) và gỡ lỗi (debugger) nhiều tínhnăng, hỗ trợ nhiều họ vi xử lý (multi-processor), nhiều nền tảng khác nhau (cross-platform), đây là một công cụ tạo mã nguồn ngôn ngữ Assembly (assembly language
source code) từ mã thực thi của máy (machine-executable code) IDA hiện nay có 3 phiên bản: IDA Pro, IDA Home, IDA Free.
= Uu điểm: Với ban IDA Pro có nhiều chức năng thích hợp với nghiên cứu
điều tra ứng dụng chuyên sâu
" Nhược điểm: sử dụng với ban IDA Free thì không hỗ trợ đầu vào nhiều
loại file (file apk không được hé trợ); không có hỗ trợ kết hợp với code
Python.
Do đó với IDA Free không giải quyết được vấn đề rút trích thông tin của file apk
2.4.2 APK tool
APK Tool [18] thực hiện lệnh thông qua dòng lệnh;
" Uu điểm: file cài đặt dung lượng nhỏ (file nén); sau khi giải nén có thể
hoạt động trên môi trường câu lệnh cmd Apk Tool thực hiện lệnh
decompile xuất ra file Manifest.xml của file apk đầu vào (tat cả các thông
tin cơ ban của file apk có trong file Mainfest.xml)
" Nhược điểm: khi thực hiện gõ lệnh (có thể gõ chậm, gõ sai chính tả lệnh
phải gõ lại), đây là yếu tô bat tiện và mat nhiều thời gian
Do đó nếu phải thực hiện với bộ mẫu test 12 nhóm ứng dụng (71 file apk) thì đây là
thách thức về mặt thời gian
24
Trang 26$ apktool d test.apk
1: Using Apktool 2.6.1 on test.apk
1: Loading resource table
Decoding AndroidManifest.xml with resources
: Loading resource table from file: 1.apk
: Regular manifest package
: Decoding file-resources
: Decoding values */* XMLs
: Baksmaling classes.dex
Copying assets and libs
: Copying unknown files
: Smaling smali folder into classes.dex
: Checking whether resources has changed
: Building resources
: Building apk file
Copying unknown files/dir
Hình 8: APK Tool thực hiện bang dòng lệnh
2.4.3 APK Easy Tool
APK Easy Tool [19] (nền chạy công cụ APK Tool)
= Ưu điểm: lấy thông tin nhanh; ít tốn bộ nhớ RAM Hiển thi thông tin trên
giao diện chính của chương trình, hién thị hình icon ứng dung; xuất thông
tin ra dạng file txt.
= Nhược diém: thông tin rút trích của file apk hién thị không nhiều (chỉ có
một vài thông tin cơ bản: app name; package name; min SDK; Target
SDK); thông tin xuất ra file txt chủ yêu là các permissions; chưa có đượcnhiều thông tin rút trích; trong quá trình thử nghiệm test với file apk của
ứng dụng WeChat (version 8.0.18) và file apk của ứng dung Facebook
(vesion 349) thì bị lỗi không tìm thấy thông tin
25
Trang 27© APK Easy Tool
Smali/baksmali Options
File / folder: Z:\Me_Share_Virtual_Machine\apk_file\wn.tiki.app.tikiandroid.apk » Browse
Decompile name: vn.tiki.app.tikiandroid Decode API level:
| Rebuild API level:
Complie name: vn.tiki.app.tikiandraid
~⁄| Force delete destination directory
Decompile Compile Sign APK ZipAlign
## Compile:
AO, ae, | Skip changes detection
L] Keep original signature
Check
Extract APK Zip APK Install APK alignment Use aapt2
@®: Sign:
Decompiled Compiled APK Extracted APK Zipped APK
APK directory directory directory directory “| ZipAlign after compile
me wee ee
Package name: vn.tiki.app.tikiandroid tr
Launch activity: vn.tiki.android.shopping.homeV3.HomeActivity > iF! &
Min SDK version: 21 Target SDK version: 30 Version name: 4,
Signature scheme: v2, v3 Version code: 1700538 Full APK Infomation
Hình 9: Kết quả hién thi thông tin với file apk ứng dụng Tiki
26
Trang 28(9) Tiki_info - Notepad — im x
File Edit Format View Help
package: name="vn.tiki.app.tikiandroid’ versionCode="1700538" versionName="4.89.0° platform ^
sdkVersion: ‘21°
targetSdkVersion: ' 38"
uses-permission: name="android.permission.WiAKE_LDCK"
uses-permission: name="com.android.launcher.permission.INSTALL_SHORTCUT"
uses-permission: name="android.permission.ACCESS NETWORK_STATE'
uses-permission: name="android.permission INTERNET’
uses-permission: name="android.permission.ACCESS WIFI_STATE'
uses-permission: name="android.permission.CAMERA'
uses-permission: name="android.permission.WRITE_EXTERNAL_STORAGE*
uses-permission: name="android.permission.READ_EXTERNAL_STORAGE*
uses-permission: name="android.permission.READ_CONTACTS'*
uses-permission: name="android.permission.ACCESS COARSE_LOCATION'
uses-permission: name="android.permission.ACCESS FINE_LOCATION'
uses-permission: name="android permission VIBRATE"
Trang 29Decode API level:
Rebuild API level:
Quick Options
Use tag:
y NS P a P.3 L_] Replace spaces with underscore
APK Easy Tool
Compile Sign APK ZipAlig
Compiled APK Extracted APK Zipped APK
directory directory directory ZipAlign after compile
Package name:
Launch activity:
a Min SDK version:
Target SDK version: Version name:
Signature scheme: v2 Version code:
> Ho
Full APK Infomation
Hình 11: Kết qua hién thị thông tin bị lỗi với file apk ứng dụng Facebook
28
Trang 30CO EasyTool «=
Main Smali/baksmali Log output Framework Options About
File / folder: 2:\Me_Share_Virtual_Machine\com.tencent.mm_38.0.18-2060_minAPI21(arr ~~ Browse k
Decompile name: com.tencent.mm_8.0.13-2060_minAPI21(arm64-v8a)(nodpij_apkmirror.com | Decode API level:
Complie name: com.tencent.mm_8.0.13-2060_minAPI21(arm64-v8a)(nodpij_apkmirror.com + | Rebuild API level:
Quick Options “
Use tag:
APK Easy Tool x
Decompile Compile Sign APK ZipAlig
: A Decompile failed Please read the log
Chec
Extract APK Zip APK Install APK alignm:
—
Decompiled Compiled APK Extracted APK Zipped APK —
-APK directory directory directory directory | ZipAlign after compile `
Trang 312.4.4 Kali - ApkTool
Kali hỗ trợ gói công cụ APK Tool [20], sử dụng qua dòng lệnh.
= Ưu điểm: thực hiện phân tích nhanh; kết quả hiển thị xuất ra file txt
= Nhược điểm: Nếu làm việc với bộ mẫu 12 nhóm ứng dụng (71 file apk) sẽ tốn
nhiều thời gian vì thực hiện qua việc gõ lệnh trong môi trường dòng lệnh
rootflkali:~# apktool -h
Apktool v2.5.8-dirty - a tool for reengineering Android apk files
with smali v2.4.@-debian and baksmali v2.4.8-debian
Copyright 2818 Ryszard Wisniewski <brut.alll@gmail.com>
Copyright 2818 Connor Tumbleson <connor.tumbleson@gmail.com>
usage: apktool
-advance, advanced prints advance information.
-version, version prints the version then exits
usage: apktool if|install-framework [options] <framework.apk>
-p, frame-path <dir> Stores framework files into <dir>.
-t, tag <tag> Tag frameworks using <tag>.
usage: apktool d[ecode] [options] <file_apk>
-f, force Force delete destination directory.
-o, output <dir> The name of folder that gets written Default is apk.out
-p, frame-path <dir> Uses framework files located in <dir>.
“F,~~no~res Do not decode resources.
-s, no-src Do not decode sources.
-t, frame-tag <tag> Uses framework files tagged by <tag>.
usage: apktool b[uild] [options] <app_path>
-f, force-all Skip changes detection and build all files.
-o, output <dir> The name of apk that gets written Default is dist/name.apk
-p, frame-path <dir> Uses framework files located in <dir>.
Seeds sextant ~# apktool d Facebook\ Lite_v121.8.8.8.37_ apkpure.com apk
: Using Apktool 2.3.4-dirty on Facebook Lite v121.8.8.8.97 apkpure com apk
: Loading resource table.
: Decoding AndroidManifest xml with resources
: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
: Regular manifest package
: Decoding file-resources
: Decoding values */* XMLs
: Baksmaling classes.dex
: Copying assets and libs
: Copying unknown files
: Copying original files
See eA eee eee
Hình 13: Gói công cu APK Tool trong Kali thực hiện bằng dòng lệnh
30
Trang 32Bảng 7: So sánh ưu- nhược điểm giữa các công cụ
Công cụ Ưu điềm Nhược điểm
Voi bản HÀ | Với ban IDA
Pro có nhiêu Am.
chức năng phân Free có rât ít
IDA l T CA chức năng; và
tích chuyên sâu; A X
x x, không ho trợ
hồ vợ đâu VÀO | đài vào file apk
nhiều loại file pe
Thông tin hiên thị rời rạc; dùng
dòng lệnh nên
Dung lượng nhẹ, | |; Xap.
^: | tôn nhiéu thời
chạy trong môi ian khi phân
Apk Tool lệnh nên không
cân cài đặt
nhiêu; ít tôn bộ nhớ RAM
lượng nhiều file
apk Thông tin
xuất ra khôngnhiều định dạng
file (chỉ là file txt)
Kali — Apk Tool
Chạy trong môi
trường linux nên
tiết kiệm tài
nguyên máy; ít xảy ra xung đột
hệ thống như
trên Windows
Thông tin hiên
thị rời rạc; dùng dòng lệnh nên
file (chỉ là file txt)
Thông tin rút trích từ file apk
Giao diện trực không nhiêu;
aA hoạt động chưa quan; phân tích |; - x 1:
nek ôn định (gặp lôi
nhanh; có hiên với file apk ứn
APK Easy Tool thị hình anh icon P &
, dung WeChat,
us dung > Cun Facebook).
cap nhiéu chuc
ra không nhiều
định dạng file
(chỉ là file txt)
Công cụ Android Forensics
(dé tài luận văn
xây dựng)
Rút trích nhiều
thông tin từ file
apk đầu vào; các
giúp phục vụ các bài toán phân tích
điều tra khác
31
Trang 33CHUONG III: NGHIÊN CỨU HE THONG DIEU TRA
UNG DUNG ANDROID
3.1 Kiến trúc hệ thống điều tra ứng dung Android đề xuất
Mô-đun rút trích
thông tin
Androguard
Androguard
Dex2jar JD-GUI
Trang 34Hệ thống điều tra ứng dụng Android đề xuất (xem Hình 14) có 3 thành phần chính:
Mô-đun rút trích thông tin, Mô-đun điều tra hành vi ứng dụng, và Mô-đun tạo báo cáo
3.1.1 Mô-đun rút trích thông tin
Trong Mô-đun rút trích thông tin đề tài sử dụng công cụ Androguard;
Các tính năng chính của công cụ Androguard được sử dụng trong phạm vi đề tài:
e analyze: phân tích, rút trích các thông tin từ file apk;
e aTSC: giai ma resources.arsc;
e axml: đọc nội dung file Androi Manifest.xml;
e sign: lay tat cả certificates bên trong file apk;
e decompile: dịch ngược, giãi mã file apk va tao CFG
unction, script file, or operable program Check the spelling of the name, or if a path was included, verify that the
bath is correct and try again.
At line:1 char:1
androguard.misc.AnalyzeAPK("E:\Me_Documents\Me_CH2@17\DeTai LV 2 Fore
+ CategoryInfo : ObjectNotFound: (androguard.misc.AnalyzeAPK:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
(base) PS C:\Users\C&C LAPTOP> Androguard
Usage: androguard [OPTIONS] COMMAND [ARGS]
Androguard is a full Python tool to play with Android files.
Dptions:
version Show t sion and exit.
verbose, debug Print moi
quiet Print less (only warnings and above)
silent Print no log messages
help Show this message and exit.
ommands :
analyze Open a IPython Shell and start reverse engineering.
apkid Return the packageName/versionCode/versionName per APK as
arsc Decode resources.arsc either directly from a given file or
axml Parse the AndroidManifest.xml.
ce Create a call graph and export it into a graph format.
decompile Decompile an APK and create Control Flow Graphs.
disassemble Disassemble Dalvik Code with size SIZE starting from an
gui Androguard GUI
sign Return the fingerprint(s) of all certificates inside an APK.
(base) PS C:\Users\C&C LAPTOP>
Hình 15: Kiểm tra công cụ Androguard sau khi cài đặt
33
Trang 35File apk
AnalyzeAPK(FilePath, session=None, raw=False)
d
an array of DalvikVMFormat
dx
an Analysis Object
a
an APK Object
Hình 16: Lược đồ Mô-đun rút trích thông tin
Hàm AnalyzeAPK phân tích file apk đầu vào, sau đó kết quả sẽ được truyền
vào 3 biến: a, d, dx:
e Khối biến a (an APK object) chứa thông tin về file apk;
e Khối biến d (an array of DalvikVMFormat object) chứa các tệp DEX;
e Khối biến dx (an analysis object) chứa các lớp (classes)
3.1.1.1 Khối rút trích thông tin từ biến a (APK Object)
Từ file apk đầu vào, qua hàm AnalyzeAPK(FilePath, session=None, raw=False)phân tích, kết quả về các thông tin APK truyền vào biến a, tiếp theo dùng các hàm
(xem Hình 17) dé rút trích từng thông tin (name, version name, version code, min SDK,
max SDK, target SDK, permissions, activities, providers, features, receivers,
Manifest_AXM, libraties, resources, raw, types, certificates, signatures); sau d6 cac két
quả rut trích được sẽ được hiên thị trên cửa sô chính cua chương trình.
34
Trang 36AnalyzeAPKiFilePath, session=None, raw=False]
Trang 373.1.1.2 Khối rút trích thông tin từ biến d (DalvikVMFormat)
File apk
AnalyzeAPK(FilePath, session=None, raw=False)
d
an array of DalvikVMFormat object
Hình 18: Lược đồ khối rút trích thông tin từ biến d (DalvikVM Format Object)
Từ file apk đầu vào, qua hàm AnalyzeAPK phân tích, kết quả các thông tin vềtập dex của file APK truyền vào biến d; sau đó kết quả được hiển thị trên giao diện cửa
sô chính của chương trình
36
Trang 383.1.1.3 Khối rút trích thông tin từ biến dx (Analysis Object)
Hình 19: Lược đồ khối rút trích thông tin từ biến dx (Analysis Object)
Từ file apk đầu vào, qua hàm AnalyzeAPK phân tích, kết quả các thông tin vềcác lớp (Classes) truyền vào biến dx; tiếp theo dùng hàm dx.get_classes() dé lay thông
tin về các lớp; sau đó kêt quả được hiên thi trên giao diện cửa sô chính của chương trình.
37
Trang 393.1.2 Mô-đun điều tra hành vi ứng dụng
File apk
Androguard công cụ công cụ file ag <_
(decompile) dex2jar Android Studio
file CFG Device File
Hình 20: Lược đồ Mô-đun điều tra hành vi ứng dụng
Từ file apk đầu vào, dùng công cụ Androguard (lệnh decompile), kết quả sẽ cho
ra các tập tin ag (tên lớp, các khối lệnh), tập tin java (code), tập tin CFG png (hướng
đi của các khối lệnh); tiếp theo ding công cụ JD-GUI dé xem, chỉnh sửa (nếu can), phân
tích các code Java.
Từ file apk đầu vào, dùng công cụ dex2jar [21] dé thực hiện chuyên đổi các tậpDEX sang tập jar, tiếp theo dùng công cụ JD-GUI [22] dé xem, chỉnh sửa (nếu cần),
phân tích các code Java.
Dùng công cụ Androi Studio [23] tạo điện thoại Android ảo (Virtual Android
Phone) dé cài đặt các file apk, tiếp theo dùng chức năng Device File Explorer duyệt đến
các thư mục data của ứng dụng để truy cập vào file db; dùng công cụ DB Browser
SQLite [24] để xem cấu trúc các file db
38
Trang 403.1.3 Mô-đun báo cáo
Các thông tin rút trích từ chương trình
Module báo cáo
Hình 21: Lược đồ Mô-đun báo cáo
Sử dụng ngôn ngữ Python (hàm, câu lệnh) điều hướng thông qua các nút (button)trong cửa số chính của công cụ dé xuất các thông tin ra các định dạng file phô biến: txt;
.Xlsx; pdf
3.2 Thực nghiệm
3.2.1 Tạo lập môi trường, công cụ biên soạn code Python
e Môi trường: Anaconda 3 2021.5 (64 bit)
e Androguard: version 3.3.5; pydot-1.4.2
e Python: version 3.8.8 [MSC v.1916 64 bit (AMD64)]; Ipython 7.22.0
e Spyder: version 4.2.5 (trinh soan thao code Python)
e Máy tính chạy thử nghiệm: Windows 10 Pro 64 bit; Intel core 17-6700HQ; CPU
2.60GHz (8CPUs); memory 16384 MB; BIOS-1.7; DirectX 12.
39