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

Luận văn thạc sĩ Công nghệ thông tin: Nghiên cứu hệ thống điều tra ứng dụng android

105 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 đề Nghiên cứu hệ thống điều tra ứng dụng android
Tác giả Đặng Trường Giang
Người hướng dẫn PGS.TS Lờ Đình Duy, TS. Nguyễn Tấn Cầm
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 105
Dung lượng 60,06 MB

Nội dung

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 2

LỜ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 3

LỜ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 4

CÁ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 5

DANH 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 6

Hì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 7

Hì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 8

DANH 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 9

9099.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 10

3.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 11

CHUONG 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 12

1.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 13

1.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 14

Nộ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 15

CHƯƠ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 16

2.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

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 17

e 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 18

2.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

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 23

Bả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 24

2.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 25

IDA [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 29

Decode 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 30

CO 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 31

2.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 32

Bả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 33

CHUONG 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 34

Hệ 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 35

File 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 36

AnalyzeAPKiFilePath, session=None, raw=False]

Trang 37

3.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 38

3.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 39

3.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 40

3.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

Ngày đăng: 08/11/2024, 17:40

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN