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

Nghiên cứu phát hiện lỗ hổng bảo mật của phần mềm ứng dụng trên hệ điều hành Androi

64 24 0

Đ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 Phát Hiện Lỗ Hổng Bảo Mật Của Phần Mềm Ứng Dụng Trên Hệ Điều Hành Android
Tác giả Nguyễn Kiều Trinh
Người hướng dẫn PGS. TS. Đỗ Xuân Chợ
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành An toàn thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 64
Dung lượng 17,68 MB

Nội dung

Trong bối cảnh này, việc đảm bảo an toàn thông tin của ứng dụng di động trở thành một yếu tố quan trọng không chỉ đối với người sử dụng mà còn đối với các nhà phát triển và nhà quản trị

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG

KHOA AN TOÀN THÔNG TIN

PT,

LA

DE TAI: NGHIEN CUU PHUONG PHAP PHAT HIEN

LO HONG BAO MAT CUA PHAN MEM UNG DUNG

TREN HE DIEU HANH ANDROID

Giảng viên hướng dẫn : PGS TS DO XUAN CHỢ

Sinh viên thực hiện : NGUYEN KIEU TRINH

Lớp : ` DI9CQAT01-B

Niên khóa : 2019 - 2024

Hệ : Đại học chính quy

Hà Nội, tháng | năm 2024

Trang 3

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG

KHOA AN TOÀN THÔNG TIN

PT,

LA

DO AN

TOT NGHIEP DAI HOC

DE TAI: NGHIEN CUU PHUONG PHAP PHAT HIEN

LO HONG BAO MAT CUA PHAN MEM UNG DUNG

TREN HE DIEU HANH ANDROID

Giảng viên hướng dẫn : PGS TS DO XUAN CHỢ

Sinh viên thực hiện : NGUYEN KIEU TRINH

Trang 4

Đô án tôt nghiệp Lời cảm ơn

LỜI CẢM ƠN

Trong suốt quá trình hoc tập, thực tập va thực hiện đồ án tốt nghiệp, em luôn

nhận được sự quan tâm, hướng dẫn, giúp đỡ và chỉ bảo tận tình từ các thầy cô

trong Khoa Công nghệ thông tin 1, cũng như các thầy cô trong Khoa An toàn

thông tin — Học viện Công nghệ Bưu chính Viễn thông, bên cạnh đó là sự giúp

đỡ của bạn bè.

Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến tới các Thầy, Cô trong

Khoa Công Nghệ Thông Tin I, cùng Khoa An toàn thông tin và toàn thể các cán

bộ của Học viện Công nghệ Bưu chính Viễn thông Hà Nội, đã truyền đạt cho em

những kiến thức hữu ích và quan trọng trong suốt quá trình em học tập và rèn

luyện tại trường.

Đặc biệt, em xin gửi lời biết ơn sâu sắc tới Thầy giáo hướng dẫn đồ án tốt

nghiệp của em — PGS TS Đỗ Xuân Chợ Trong suốt khoảng thời gian làm đồ

án, thầy đã tận tình hướng dẫn và chỉ dạy, giúp em có những định hướng và

phương pháp tiếp cận trong quá trình tìm hiểu, thực hiện cho tới những bước

cuối cùng dé đồ án được hoàn thành

Cuối cùng, em xin cảm ơn gia đình, bạn bẻ và đồng nghiệp đã luôn ở bên

cạnh em, quan tâm động viên, giúp em có điều kiện tốt nhất trong cả quá trình

học tập cũng như khi thực hiện đồ án

Do trình độ kiến thức cũng như kinh nghiệm thực tế còn nhiều hạn chế, nên

trong đồ án của em không thể tránh khỏi những thiếu sót Vì thế, em rất mong

nhận được sự quan tâm, góp ý của các Thầy, Cô để đồ án của em được hoàn

thiện hơn.

Những ý kiến cũng như góp ý của các Thầy, Cô sẽ giúp em nhận ra những

hạn chế, qua đó em sẽ có thêm những nguồn tư liệu cũng như kiến thức mới cho

con đường học tập cũng như công việc sau này.

Em xin chân thành cảm ơn!

Hà Nội, thang 1 năm 2024

Sinh viên thực hiện

Nguyễn Kiều Trinh

Nguyễn Kiều Trinh - B19DCAT197 iii

Trang 5

Đồ án tốt nghiệp Nhận xét, đánh giá, cho điểm

(của người hướng dân)

NHAN XET, DANH GIA, CHO DIEM

(Của Người hướng dẫn)

Di€M (bằng chữ )

Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng cham đồ án tốt

nghiệp?

Hà Nội, ngày tháng năm 2023

CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN

(ký, họ tên)

Nguyễn Kiều Trinh - B19DCAT197 iv

Trang 6

Đồ án tốt nghiệp đại học Danh mục

NHAN XÉT, ĐÁNH GIÁ, CHO DIEM

(Của Người phản biện)

Hà Nội, ngày tháng năm 2023

CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN

(ký, họ tên)

Nguyễn Kiều Trinh — B19DCAT197 iv

Trang 7

Đồ án tốt nghiệp Mục lục

MỤC LỤCDANH MỤC CÁC TU VIET TẮTT - ¿St +x+EEE+EEEE2E+ESEEEEEEEEEESErErrrrrreree viii

DANH MỤC BẢNG -2- 52-5 9S SE EEE1E7127171711111111111 1111111 ye ix

DANH MỤC HINH VE uw.cssscssssssssessessesssssvcssesesssssscssesssssessssnesnesuesscsnessevsssaveeeees x

MỞ YO 52 5222 12112121121121121121121111121121111211211211211 2112112110101 0 |

CHƯƠNG 1: TONG QUAN VE UNG DUNG ANDROID -: 3

1.1 Gidi thiệu về hệ điều hành Android [ I] -2- 2s s+s++setx+xererxzes 3

1.2 Giới thiệu về cau trúc ứng dụng Android [1] [2] -««+- 5

1.2.1 Giao tiếp với hệ điều hành 2-2 2+52+S£+EE+EE£EEzEerxerrrerszee 5

1.2.2 Android Manifest cccccccccceesccccssssssccssssessccessssssecesseesssseeees 5

1.2.3 Các thành phan trong ứng dung Android c5 s+c+sscxe¿ 61.3 Một vài van dé bảo mật thường gặp trong ứng dụng Android 9

1.3.1 Van dé phân quyền - 2 2Ss+EE‡EEEEE2EEEE2EEEEEEE2EEEEEeEErreeg 91.3.2 Var đề lưu trữ ce+E2E2E21211211211111111 E111 cxe 101.3.3 Vấn đề WebViews -c- 2c c2 2211212112111 re 11

CHUONG 2: PHUONG PHAP KIEM THU AN TOAN UNG DUNG

ANDROID 12

2.1 Tổng quan về kiểm thử an tồn (security testing) s- seers 12

2.1.1 _ Giới thiệu về kiểm thử an tồn (security testing) - 122.1.2 _ Giới thiệu về kiểm thử an tồn trên ứng dụng Android 122.1.3 So sánh kiểm thử an tồn (security testing) và kiểm thử xâm nhập

UM9s10vi10i80:51ii12 212777 4 12

2.2 Phương pháp thực hiện kiểm thử an tồn [ I] -¿ 2sz5sz=s¿ 13

2.2.1 Phan tích tinh (static anaÏyS1S) - 5c csScsxssskssseersreee 13 2.2.2 _ Phân tích động (dynamic anaÌyS1S) +55 ssssss++sssseeexssss 15

2.2.3 Kiểm thử bảo mật tích hợp -¿- ¿set +k‡EeEEkeEerkrkererkes 15

2.3 Một vài cơng cụ phân tích tinh ứng dung Android - - 16

2.3.1 QARK (Quick Android Review KTẨ) 2-55 S5 s+<ccsee2 16 2.3.2 AndroBugs FramewWOTĂ - c1 vi rrrerree 16 2.3.3 MobSF (Mobile Security Framework) - «+ ss++ss+sssss2 16

2.4 Tổng quan về OWASP MASVS v.2.0.0 [1] [3] -se- 17

2.4.1 Giới thiệu về OWASP 2c 2k 2H22 21211211212 reo 17

Nguyễn Kiều Trinh — vì

Trang 8

Đồ án tốt nghiệp Mục lục

2.4.2 Giới thiệu về OWASP MASVS v.2.0.0 -©22©c2+cczszzezxee 18

2.4.3 OWASP ae ch 19

2.4.4 Các nhóm kiểm soát (control group) OWASP MASVS v.2.0.0 19

2.5 Nội dung danh sách kiểm thử an toàn ứng dụng di động OWASP dành

cho ứng dụng di dộng Android (OWASP MASVS Checklist) 29

CHƯƠNG3: XAY DỰNG, CÀI ĐẶT CÔNG CỤ & THUC NGHIỆM 35

3.1 GiGi thiệu CONG CỤ - cv ngư 35

3.2 Phân tích thiết kế 2-cct22EktttEkritttrittrrrrrrrrrrirrrreried 35

3.2.1 Phân tích yêu cầu -2¿+E++E++E22EE2E2EE2E2EEEE2EE2EEEEEerrrer 353.3 Thiết kế công Cụ -22+2E2EE2 2 12E121215112111212121111 111 cxe 36

3.4 Sơ đồ quy trình xử lý của CON CỤ - 2 2 2+cz+Ez+EszErxerszrersrree 37

3.5 Cấu trúc mã nguồn CUA CONG 00) 01 38

3.6 Xây dựng nội dung bộ lọc rà quét lỗ hồng ¿2-5 2 s+s+Escszxd 38

3.6.1 _ Phân tích yêu cầu 2-5 Ek E EEEE 2111111111111 38

3.6.2 Xây dựng nội dung bộ ÏỌC - ¿c2 33+ E*E+eeereeesereereses 39

3.6.3 Cau tạo một tệp json cho một module lỗ hồng'ạỘạáa 393.7 Khả năng kế thừa hướng dẫn OWASP MASTG và tiêu chuẩn OWASP

MASVS va0 CONG 0 39

3.8 Cải đẶ HH HH TH TH TH TH HH HH HT nh nh nhà 4]

3.8.1 Cài đặt trực tiep eee essccsessscsscsscsscsscsssssessssecsnessesncsneensaeeeneees 41

3.8.2 Cai đặt thông qua DoCK€T - c6 5c S331 3 3+ vEEeeeeeeesseeeree 42

3.0 Thử nghiỆm - - c1 1 TH ng HH ng re 44

3.9.1 _ Đối tượng thử nghiệm -2- 2-52 ©E+EE+EEtEEeEEeEEerkerkerkrrered 44

3.9.2 _ Thử nghiệm CONG CỤ - - + +1 k SE v vs ve 45

3.9.3 Kết quả đầu ra -c k1 151121121 1121111 11111 tk 46

3.10 _ Đánh giá hiệu quả - -.- SĂ 5c SE SE S SE SH HH HH nh, 47

3.10.1 So sánh kết quả thực nghiệm công cụ OMSA & Mobsf 47

3.10.2 _ Đánh giá tổng quan các công cụ - 2+cz+c+xerzrreerees 49

450097) A.4|Q(IA 51

Nguyén Kiéu Trinh — vũ

Trang 9

Đồ án tốt nghiệp Danh mục các từ viết tắt

DANH MỤC CÁC TU VIET TAT

Từ viết tắt Từ day du

API Application Programming Interface

APK Android Package Kit

CA Certificate Authority

IDE Integrated Development Environment

IPC Inter-Process Communication

MASTG Mobile Application Security Testing Guide

MASVS Mobile Application Security Verification Standard

MFA Multi-Factor Authentication OWASP Open Web Application Security Project

PHI Personally Identifiable Information QARK Quick Android Review Kit

SDK Software Development Kit XML Extensible Markup Language XSS Cross-Site Scripting

Trang 10

Đồ án tốt nghiệp Danh mục bảng

DANH MỤC BẢNGBang 1 So sánh kiểm thử an toàn và kiểm thử xâm nhập - s5: 12

Bảng 2 Nội dung OWASP MAS Checklist cho ứng dụng Android 30

Bang 3 Những đầu mục kiểm thử chưa được ứng dụng vào công cụ 40

Bang 4 So sánh kết quả thực nghiệm - 25c ©S2ESE£E£E£EE2EeEEzEerxrrered 48

Bang 5 Đánh giá hiệu quả các công cụ phân tích tĩnh -. -«+++-«+2 49

Nguyễn Kiều Trinh — ix

Trang 11

Đồ án tốt nghiệp Danh mục hình vẽ

DANH MỤC HÌNH VE Hình 1.1 Bộ cài đặt phần mềm Android - 2 2 2 2+S£+££+E£+E£+EzzEzEzzzezxee 3

Hình 1.2 Một tệp Android ManIfEst - + 2 322 E321 E+2EEE£EEseexeeeerreses 6

Hình 1.3 Một ACfIVI - Tnhh HH nh TT TH TH nh HH Hư 6

Hình 1.4 Một Boardcast Ñ€C€1V€T - 2c 3312230111112 v1 vn ng g1 1 xxx 8

Hình 2.1 Logo công cụ QARK - 2c 22c 1321112111311 111 11kg 16

Hình 2.2 Logo công cụ MobSkE - cv ng TH nếp 17

Hình 2.3 Trang chủ OWASP Mobile Application Se€curIfy «- 18

Hình 3.1 Lưu đồ xử lý công cụ OIMSA 2 52+E2EE2EE2EEEEEEE2EEEEErEerrkee 37 Hình 3.2 Tệp json cho một module lỗ hỗng -2- 2 2 2522 £2+E£2zE+£zzS2 39 Hình 3.3 Đường dẫn tải công cụ OMSA ¿-2- 5-5222 2EvErterrrrrrrrrrres 42 Hình 3.4 Giao diện công cụ OMSA 111 H111 11119 111 111g 11 ngư 42 Hình 3.5 Giao diện Docker Deskfop - 5 5 23c 3322 E£++EEE+seeexeeeesresss 43 Hình 3.6 Tép Dockerfile cài đặt công cụ OMSA c + +S+ss++seexsss 43 Hình 3.7 Tạo thành công Docker Image cho công cụ OMSA 44

Hình 3.8 Ung dụng Android InsecureBanikv2 2 2+ 2+ e+x+EzEzEezxzes 44 Hình 3.9 Công cụ OMSA tiến hành quá trình rà quét lỗ hồng 45

Hình 3.10 Cau hình một Docker Conntainer dé chạy công cụ OMSA 46

Hình 3.11 Công cụ OMSA tiến hành rà quét lỗ hồng thông qua Docker 46

Hình 3.12 Một phan kết quả rà quét lỗ hồng của công cụ OMSA 47

Nguyễn Kiều Trinh —

Trang 12

Đồ án tốt nghiệp Mở đầu

MỞ ĐẦUỨng dụng di động Android ngày nay đóng vai trò quan trọng trongcuộc sống hàng ngày của chúng ta, từ việc giao tiếp, giải trí đến quản lýcông việc và tài chính Trong bối cảnh này, việc đảm bảo an toàn thông

tin của ứng dụng di động trở thành một yếu tố quan trọng không chỉ đối

với người sử dụng mà còn đối với các nhà phát triển và nhà quản trị hệthống

Hiện nay, có 2 phương pháp chính dé kiểm thử an toàn các ứng dụng

Android là phân tích động và phân tích tinh Phân tích động thực hiện

việc kiểm tra bằng cách chạy ứng dụng trong môi trường thực và theo dõi

hành vi của nó trong quá trình chạy Ngược lại, phân tích tĩnh thực hiện

đánh giá bang cách kiểm tra mã nguồn và tài nguyên của ứng dụng mà

không chạy nó.

Với đề tài “Nghiên cứu phương pháp phát hiện lỗ hỗng bảo mật

của phần mềm ứng dụng trên hệ điều hành Android”, đồ án này tập

trung nghiên cứu về bộ tiêu chuẩn kiểm thử ứng dụng di động OWASPMASVS (OWASP Mobile Application Security Verification Standard)

phiên bản 2.0.0 và tài liệu hướng dẫn kiểm thử an toàn ứng dụng di động

OWASP MASTG (OWASP Mobile Application Security Testing Guide)

phiên bản 1.6.0, từ đó phát triển công cụ phân tích tĩnh ứng dụng Android

thông qua file apk.

Đồ án được chia thành 03 chương với nội dung như sau:

Chương 1: Tổng quan về ứng dụng AndroidChương này sẽ giới thiệu về hệ điều hành Android, cấu trúc của ứngdụng Android và một vài vấn đề bảo mật thường gặp với ứng dụng

Android.

Chương 2: Phương pháp kiểm thử an toàn ứng dụng Android

Nội dung chương 2 sẽ giới thiệu về kiểm thử an toàn, 2 phương phápkiểm thử an toàn: phân tích tĩnh & phân tích động Cùng với đó là giới

Nguyễn Kiều Trinh — 1

Trang 13

gồm phần kế thừa từ tiêu chuan OWASP MASVS, tài liệu OWASP

MASTG và phần tự phát triển các chức năng của công cụ Kế tiếp là phần

cài đặt, thực nghiệm công cụ va đánh giá kết quả đạt được với công cụ

phân tích tĩnh tự động khác.

Do thời gian có hạn cũng như kiến thức của còn hạn chế nên quá trình

thực hiện đồ án sẽ khó tránh khỏi những thiếu sót Em rất mong nhậnđược các ý kiến đóng góp của các Thay, Cô dé đồ án của em được hoàn

thiện hơn.

Em xin chân thành cảm ơn!

Nguyễn Kiều Trinh — 2

Trang 14

Đồ án tốt nghiệp Chương 1: Tổng quan

CHUONG 1: TONG QUAN VE UNG DUNG ANDROID1.1 Giới thiệu về hệ điều hành Android [1]

Android là một nền tảng mã nguồn mở dựa trên Linux, được phát triển bởiOpen Handset Alliance (một liên minh do Google dẫn đầu), và đóng vai trò là hệ

điều hành di động Hiện nay, nền tảng này là cơ sở cho nhiều loại công nghệ

hiện đại, bao gồm điện thoại di động, máy tính bảng, thiết bị đeo thông minh,

tivi và các thiết bị thông minh khác Các phiên bản Android thông thường đi

kèm với nhiều ứng dụng được cài sẵn và hỗ trợ cài đặt ứng dụng từ bên thứ ba

thông qua cửa hàng Google Play và các cửa hàng khác.

Bộ cài đặt phần mềm của Android bao gồm nhiều tầng khác nhau Mỗi tầngđịnh nghĩa các giao diện và cung câp các dịch vụ cụ thê.

Activity Location Package Notification

View Systern Resource Telephony

Native C/C++ Libraries Android Runtime

OpenMAX AL < Android Runtime (ART)

Media Framework OpenGL ES Core Libraries

Bluetooth

Power Management

Hinh 1.1 B6 cai dat phan mém Android

Nguyén Kiéu Trinh — 3

Trang 15

Đồ án tốt nghiệp Chương 1: Tổng quan

- Kernel (Nhân): Ở tầng thấp nhất, Android dựa trên một biến thé của hạt

nhân Linux và bao gồm một số thành phần thêm vào đáng kể, như Low

Memory Killer, wake locks, driver Binder IPC, v.v.

- HAL (Hardware Abstraction Layer — Lớp trừu tượng phan cứng):

định nghĩa một giao diện tiêu chuẩn để tương tác với các thành phần phầncứng tích hợp sẵn Nhiều triển khai HAL được đóng gói thành các modulethư viện chia sẻ mà hệ thống Android gọi khi cần Điều này là cơ sở cho

việc cho phép ứng dụng tương tác với phần cứng của thiết bị Ví dụ nhưcho phép một ứng dụng điện thoại thông thường sử dụng micro và loa của

thiết bị

- Runtime Environment (Môi trường thực thi): Ứng dụng Android được

viết bằng Java và Kotlin sau đó được biên dịch thành mã bytecode Dalvik,

có thể được thực thi bằng cách sử dụng một môi trường thực thi giải thích

các hướng dẫn bytecode và thực thi chúng trên thiết bị đích Đối với

Android, điều này được gọi là “Môi trường thực thi Android” (AndroidRuntime - ART) Điều này tương tự như máy ảo Java (JVM - Java virtual

machine) cho ứng dụng Java hoặc môi trường đơn (mono runtime) cho ứng dụng NET.

- Sandboxing (Môi trường cách ly): Ung dụng Android không có quyền

truy cập trực tiếp vào tai nguyên phần cứng và mỗi ứng dụng chạy trongmáy ảo hoặc môi trường cách ly (sandbox) riêng của nó Điều này chophép hệ điều hành kiểm soát chính xác các tài nguyên và quyên truy cập

bộ nhớ trên thiết bị Ví dụ, một ứng dung gặp sự cố không ảnh hưởng đến

các ứng dụng khác đang chạy trên cùng thiết bị Android kiểm soát số

lượng tối đa tài nguyên hệ thống được cấp phát cho các ứng dụng, ngăn

chặn bất kỳ ứng dụng nào chiếm đa số tài nguyên quá nhiều Đồng thời,thiết kế môi trường cách ly này có thể xem xét như một trong nhữngnguyên tac của chiến lược bảo mật toàn diện (defense-in-depth) củaAndroid Một ứng dụng độc hại từ bên thứ ba, có đặc quyền thấp, không

Nguyễn Kiều Trinh — 4

Trang 16

Đồ án tốt nghiệp Chương 1: Tổng quan

nên có khả năng thoát khỏi môi trường của nó và đọc bộ nhớ của một ứng

dụng đối tác trên cùng thiết bị

1.2 Giới thiệu về cấu trúc ứng dụng Android [1] [2]

1.2.1 Giao tiếp với hệ điều hành

Ứng dụng Android tương tác với các dịch vụ hệ thống thông qua khung phát

triển Android (Android Framework), một tầng trừu tượng cung cấp các API Java

cấp cao Da số các dịch vụ này được triệu hồi thông qua các cuộc gọi phương

thức Java bình thường và được dịch thành các cuộc gọi IPC (Inter-Process

Communication) đến các dich vụ hệ thống đang chạy ở nên Ví dụ về các dịch

Tệp ‘Manifest’ mô tả cau trúc của ứng dụng, các thành phan của nó (hoạt

động (Activities), dich vụ (Services), cung cấp nội dung (Content Providers) va

bộ nhận intent (Intent Receivers), va các quyền được yêu cầu (Request

Permission)) Nó cũng chứa thông tin tổng quan về ứng dụng, như biểu tượng,

sô phiên bản và giao diện.

Nguyễn Kiều Trinh — 3

Trang 17

Đồ án tốt nghiệp Chương 1: Tổng quan

Tệp có thể liệt kê các thông tin khác như API tương thích (3 loại phiên bản

SDK: tối thiểu, mục tiêu và tối đa) và loại bộ nhớ mà ứng dụng có thể được cài

đặt (bên ngoài hoặc bên trong).

<manifest

package="com.owasp.myappLication android: versionCode="6.1" >

1.2.3 Cac thanh phan trong tng dung Android

Ung dung Android được tao thành từ một số thành phan cấp cao Các thành

khai ba Activities khác nhau Các Activities được khai báo bằng cách mở rộng

Nguyễn Kiều Trinh — 6

Trang 18

Đồ án tốt nghiệp Chương 1: Tổng quanlớp Activity và chứa tat cả các yếu tô giao điện người dùng: mảnh (Fragments),

khung nhìn (Views), và khung thiết kế (Layouts)

Mỗi Activity có một vòng đời riêng và cần theo dõi các thay đổi hệ thống

để xử lý chúng Các Activity có thể ở trong các trạng thái sau: active (hoạt

động), paused (tạm dừng), stopped (đã dừng), va inactive (không hoạt động).

Các trạng thái này được quản lý bởi hệ điều hành Android

1.2.3.2 Fragments

Fragment đại diện cho một phần của giao diện người dùng bên trong

Activity Fragment được giới thiệu trong Android với phiên ban Honeycomb 3.0

(API level 11) Chúng được thiết kế dé đóng gói các phần của giao diện dé thuận

tiện tái sử dụng và phù hợp với kích thước màn hình khác nhau.

Fragments là các thực thê tự trị vì chúng bao gồm tất cả các thành phần cần

thiết của chúng (chúng có khung thiết kế riêng, nút, v.v.) Tuy nhiên, chúng cần

được tích hợp với các Activities để có ích: Fragments không thê tồn tại một cách

độc lập Chúng có một vòng đời riêng, liên quan đến vòng đời của các Activities

mà chúng triển khai Vì Fragments có vòng đời riêng, lớp Fragment chứa các

quản lý sự kiện có thé được định nghĩa lại và mở rộng

1.2.3.3 Content Providers

Android sử dung SQLite dé lưu trữ dữ liệu vĩnh viễn SQLite là một côngnghệ lưu trữ dữ liệu quan hệ nhẹ, hiệu quả, mã nguồn mở không đòi hỏi nhiều

công suất xử lý, lý tưởng cho việc sử dụng trên thiết bị di động

Android cung cấp API đầy đủ với các lớp cụ thể như Cursor,

ContentValues, SQLiteOpenHelper, ContentProvider, ContentResolver, v.v.

Content Providers cung cấp cơ chế tuyệt vời dé trừu tượng hóa nguồn dữ

liệu và chia sẻ dữ liệu giữa các ứng dụng.

1.2.3.4 Services

Nguyễn Kiều Trinh — 7

Trang 19

Đồ án tốt nghiệp Chương 1: Tổng quan

Services là các thành phần của hệ điều hành Android (dựa trên lớp Service)thực hiện các nhiệm vụ ở nền (xử ly dữ liệu, khởi động intents va thông báo,

v.v.) mà không hiền thị giao điện người dùng

Services được thiết kế dé chạy các quy trình lâu dai Ưu tiên hệ thống của

chúng thấp hơn so với ứng dụng đang hoạt động nhưng cao hơn so với ứng dụng

không hoạt động, giúp chúng ít bị hủy khi hệ thống cần tải nguyên

1.2.3.5 Inter-Process Communication

Giao tiếp giữa các tiến trình cho phép các ứng dụng trao đổi tin hiệu va ditliệu một cách an toàn Android sử dụng Binder, một triển khai tùy chỉnh của

OpenBinder, làm cơ sở cho giao tiếp liên tiến trình

Khung phát triển Binder (Binder Framework): Bao gồm nhiều khía cạnh như

Binder Driver, Binder Protocol, IBinder Interface, Binder Object, Binder

Service va Binder Client Giao tiếp qua Binder giúp ứng dụng chuyên tin hiệu

va dir liệu một cach an toàn.

1.2.3.6 Intents

Intent là một khung phát triển giao tiếp bất đồng bộ được xây dựng trên nền

tảng của Binder Khung này cho phép cả gửi tin nhắn điểm-điểm

(point-to-point) và đăng ký nhận tin nhắn Một Intent là một đối tượng tin nhắn có thê

được sử dụng dé yêu cầu một hành động từ một thành phan ứng dụng khác

Mặc du Intent hỗ trợ giao tiếp giữa các thành phan theo nhiều cách, có ba

trường hợp sử dụng cơ bản: khởi chạy một Activity, khởi chạy một Service, gửi

một Broadcast.

Có 2 loại Internt: Explicit Intent (intent rõ rang), dùng dé đặt tên cho thành

phần sẽ được khởi chạy, và Implicit Intent (intent ngụ ý), được gửi đến hệ điều

hành đề thực hiện một hành động nhất định trên một tập đữ liệu nhất định

1.2.3.7 Broadcast Receivers

Nguyễn Kiều Trinh — 8

Trang 20

Đồ án tốt nghiệp Chương 1: Tổng quan

với các sự kiện (nội bộ, được khởi chạy bởi các ứng dụng khác hoặc bởi hệ điều

hành) Thông thường, chúng được sử dụng để cập nhật giao diện người dùng,

khởi động dịch vụ, cập nhật nội dung vả tạo thông báo người dùng.

Có hai cách để làm cho một Broadcast Receiver được biết đến bởi hệ thống.

Một cách là khai báo nó trong tệp Android Manifest Trong Manifest, nên xác

định một liên kết giữa Broadcast Receiver và một bộ lọc Intent dé chỉ định các

hành động ma Receiver được thiết lập dé lắng nghe

1.3 Một vài vẫn đề bảo mật thường gặp trong ứng dụng Android

Ứng dụng Android, giống như bất kỳ hệ thống nào khác, có thể gặp phải

nhiều lỗ hồng bảo mật Dưới đây là một số van dé bảo mật thường gặp mà các

nhà phát triển và chuyên gia bảo mật cần lưu ý:

1.3.1 Vấn đề phân quyền

Android gán một danh tính hệ thống riêng biệt (ID người dùng và ID nhóm

Linux) cho mỗi ứng dụng đã được cài đặt Bởi vì mỗi ứng dụng Android hoạt

động trong một môi trường cách ly (sand box), ứng dụng phải yêu cầu một cách

rõ ràng quyền truy cập vào tài nguyên và dữ liệu nằm ngoài môi trường cách ly

của chúng.

Chúng yêu cầu quyền này bang cách khai báo các quyền họ cần sử dụng dé

truy cập dữ liệu và tính năng hệ thống Tùy thuộc vào mức độ nhạy cảm hoặc

quan trọng của dữ liệu hoặc tính năng đó, hệ thống Android sẽ tự động cấp

quyén hoặc yêu cau người dùng phê duyệt yêu cau

Nguyễn Kiều Trinh — 9

Trang 21

Đồ án tốt nghiệp Chương 1: Tổng quan

Các quyền Android được phân loại thành bốn loại khác nhau dựa trên mức độ

bảo vệ mà chúng cung câp:

- Normal (Bình thường): Quyền này cung cấp quyền truy cập cho ứng

dụng vào các tính năng cấp ứng dụng với mức độ rủi ro tối thiểu đối với

các ứng dụng khác, người dùng và hệ thống Đối với các ứng dụng dành

cho Android 6.0 (API cấp 23) trở lên, các quyền này được cấp tự độngvào thời điểm cài đặt Đối với các ứng dụng dành cho API cấp thấp hơn,người dùng cần phê duyệt chúng vào thời điểm cài đặt Ví dụ:

android.permission.INTERNET.

- Dangerous (Nguy hiểm): Quyền này thường cung cấp quyền kiểm soát

của ứng dụng đối với đữ liệu người dùng hoặc kiểm soát của thiết bị mộtcách ảnh hưởng đến người dùng Loại quyền này có thé không được cấp

tự động vào thời điểm cài đặt; việc liệu ứng dụng có nên có quyền đó hay

không có thể để lại quyết định cho người dùng Ví du:

android.permission.RECORD_ AUDIO.

- Signature (Chữ ký): Quyền này chi được cấp nếu ứng dụng yêu cầu

được ký bằng chứng chỉ giống với chứng chỉ được sử dụng để ký ứng

dụng đã khai báo quyền đó Nếu chữ ký khớp, quyền sẽ được cấp tự động

vào thời điểm cài đặt Ví dụ:

android.permission ACCESS MOCK LOCATION.

- SystemOrSignature (Hệ thống hoặc Chữ ky): Quyền nay chi được cấp

cho các ứng dụng nhúng trong hình ảnh hệ thống hoặc có chữ ký giốngvới chữ ký được sử dụng dé ky ứng dụng đã khai báo quyền đó Ví du:

android.permission ACCESS DOWNLOAD MANAGER.

Một vai van đề liên quan đến phân quyền có thé kế đến như “yêu cầu quyền

quá mức”, khi một số ứng dụng yêu cầu quyền hạn không cần thiết hoặc quá

mức so với chức năng thực tế của chúng Hoặc ngược lại 'không kiểm soát

quyền han’, khi thiếu kiểm soát đối với quyền han có thé dẫn đến việc sử

dụng sai mục đích và môi đe dọa bảo mật.

Nguyễn Kiều Trinh — 10

Trang 22

Đồ án tốt nghiệp Chương 1: Tổng quan

1.3.2 Vấn đề lưu trữ

Dữ liệu nhạy cảm và riêng tư phải được bảo vệ, hoặc tốt hơn, nên giữ chúng

ra khỏi bộ nhớ thiết bị Việc lưu trữ dữ liệu là quan trọng đối với nhiều ứng

dụng di động Thông thường, chỉ nên lưu trữ ít dữ liệu nhạy cảm nhất có thể trên

bộ nhớ cục bộ vĩnh viễn Tuy nhiên, trong hầu hết các tình huống thực tế, một số

loại đữ liệu người dùng cần được lưu trữ Ví dụ, yêu cầu người dùng nhập một

mật khâu rất phức tạp mỗi lần ứng dụng bắt đầu không phải là ý tưởng tốt về

mặt tiện ích sử dụng.

Hầu hết các ứng dụng cần lưu trữ một loại mã xác thực cục bộ nào đó dé

tránh điều này Thông tin nhận dang cá nhân (Personally identifiable

information - PII) và các loại dữ liệu nhạy cảm khác cũng có thể được lưu nếu

một tình huống cụ thể yêu cầu Dữ liệu nhạy cảm dễ bị đánh cắp khi nó không

được ứng dụng bảo vệ đúng cách khi lưu trữ liên tục Ứng dung có thé lưu trữ

dữ liệu ở nhiều nơi, ví dụ, trên thiết bị hoặc trên thẻ SD ngoại vi Ngoài ra , việc

lưu trữ thông tin cá nhân quá lâu mà không cần thiết có thể tăng nguy cơ bị tấn

công.

1.3.3 Vấn đề WebViews

WebViews là một thành phần trong bộ phát triển phần mềm Android

(Android SDK - Software Development Kit) cho phép hiển thị nội dung trang

web bên trong ứng dụng mà không cần chuyên hướng người dùng đến trình

duyệt web bên ngoài bằng cách sử dụng trình duyệt web tích hợp sẵn trong hệ

điều hành Android, giúp hiển thị trang web với đầy đủ tính năng như trên trình

duyệt bình thường.

Van dé bảo mật ứng dụng Android liên quan đến WebViews khá phô biến là

việc thực thi JavaScript trong WebViews.

JavaScript có thể được chèn vào ứng dụng web thông qua các kỹ thuật XSS

như Reflected, Stored, hoặc DOM-based Cross-Site Scripting (XSS) Với ứng

dung di động chạy trong một môi trường cách ly (sand box) và không có 16 hong

này khi triển khai một cách nguyên bản Tuy nhiên, WebViews có thê là một

Nguyễn Kiều Trinh — II

Trang 23

Đồ án tốt nghiệp Chương 1: Tổng quanphần của ứng dụng nguyên bản để cho phép xem trang web Mỗi ứng dụng có

bộ nhớ cache WebView riêng, không được chia sẻ với Trình duyệt nguyên ban

hoặc các ứng dụng khác.

Trên Android, WebViews sử dụng bộ động WebKit dé hiển thị trang web,

nhưng các trang web này được thu gọn xuống chức năng tối thiểu, ví dụ, các

trang không có thanh địa chỉ Nếu triển khai WebView quá lỏng lẻo và cho phép

sử dụng JavaScript, JavaScript có thé được sử dụng để tan công ứng dụng và

truy cập vào dir liệu của nó.

Nguyễn Kiều Trinh — 12

Trang 24

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

CHƯƠNG 2: PHƯƠNG PHÁP KIEM THU AN TOÀN UNG DỤNG

ANDROID2.1 Tổng quan về kiểm thử an toàn (security testing)

2.1.1 Giới thiệu về kiểm thử an toàn (security testing)

Kiểm thử an toàn là quá trình đánh giá và đảm bảo răng một hệ thống, ứngdụng, hay một sản phẩm phần mềm đáp ứng các tiêu chuan bảo mật và không có

lỗ hồng an ninh nao có thé bị lợi dụng Mục tiêu chính của kiểm thử an toàn là

đảm bảo rằng hệ thống hoặc ứng dụng đáp ứng các tiêu chuẩn bảo mật và không

có lỗ hồng nào trong quá trình triển khai

2.1.2 Giới thiệu về kiểm thử an toàn trên ứng dụng Android

Kiểm thử an toàn trên ứng dụng Android là bước quan trọng để đảm bảongười dùng trải nghiệm an toàn Chuyên gia kiểm thử đảm bảo tính bảo mật của

dữ liệu truyền tải và ngăn chặn lạm dụng cảm biến như camera, microphone

Đánh giá an toàn của quản lý đăng nhập và quyên truy cập là trọng tâm, giúp hệ

thống chống lại các tấn công

Kiểm thử an toàn không chỉ bảo vệ ứng dụng mà còn xây dựng niềm tin từngười dùng, đặc biệt trong bối cảnh quan tâm ngày càng cao về quyên riêng tư

và an toàn thông tin.

2.1.3 So sánh kiểm thir an toàn (security testing) và kiểm thử xâm nhập

(penetration testing)

Bang 1 So sánh kiểm thử an toàn và kiểm thử xâm nhập

Tiêu chí Kiêm thử an toàn Kiêm thử xâm nhập

Phạm vi Bao gồm một loạt các | Tập trung hơn vao việc tìm kiếm

phương pháp kiểm thử để | và khai thác lỗ héng bảo mật cụ

đảm bảo rằng hệ thống, ứng | thể trong hệ thống hoặc ứng

dụng hoặc sản phẩm đáp | dụng Kiểm thử xâm nhập được

ứng các yêu cầu bảo mật cơ | thực hiện để kiểm tra khả năng

bản Kiêm thử an toàn có | chông lại các cuộc tân công thực thê bao gôm kiêm thử bảo | tê và xác định cách mà một kẻ

Nguyễn Kiều Trinh — 13

Trang 25

Đồ án tốt nghiệp Chương 2: Phương pháp kiêm thử

mật, kiểm thử chấp nhận, vàkiểm thử chức năng để đảm

Tìm hiểu cách một kẻ tấn công

có thể xâm nhập vào hệ thống,

đánh giá mức độ nguy cơ thực tế

và cung cấp thông tin chỉ tiết vềcách bảo mật có thể được cải

giá mức độ an toàn của hệ

thống.

Thường đòi hỏi sự can thiệp thủ

công để thực hiện các kịch bảntan công và tìm kiếm lỗ hồng

bảo mật cụ thê

Thời điểm

thực hiện

Có thể được thực hiện ởnhiều giai đoạn trong quátrình phát triển và triển khai

hệ thống

Thường được thực hiện sau khi

hệ thống hoặc ứng dụng đã hoànthành và trước khi triển khai,

hoặc định kỳ để kiểm tra định kỳ

Cung cấp một báo cáo chỉ tiết về

lỗ hồng cụ thé được tim thấy và

cách chúng có thể được khắc

phục.

2.2 Phương pháp thực hiện kiểm thử an toàn [1]

Phương pháp thực hiện kiểm thử an toàn bao gồm hai khía cạnh quan

trọng: phân tích tinh (static analysis) và phân tích động (dynamic analysis).

Nguyễn Kiêu Trinh — 14

Trang 26

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

2.2.1 Phân tích tinh (static analysis)

Phân tích tinh là quá trình đánh giá các thành phan của hệ thống ma khôngthực hiện thực tế các thử nghiệm chạy Trong kiểm thử an toàn, phân tích tĩnh

tập trung vào đánh giá mã nguồn, cau trúc dữ liệu, và thiết kế dé xác định các 16

hồng bảo mật có thé xuất hiện mà không cần chạy ứng dụng

2.2.1.1 Phan tích tinh thủ công

Người kiểm thử thực hiện kiểm tra mã nguồn thủ công băng cách phân tích

mã nguồn của ứng dụng di động dé tìm kiếm lỗ hồng bảo mật Phương pháp có

thể đa dạng từ việc tìm kiếm từ khóa cơ bản thông qua lệnh 'grep' đến việc kiêm

tra từng dòng mã nguồn

Các môi trường phát triển tích hợp (IDEs) thường cung cấp các chức năng

kiểm tra mã nguồn co bản và có thé được mở rộng băng các công cụ khác

Phương pháp phổ biến cho kiểm tra mã nguồn thủ công bao gồm việc xác định

các chỉ báo lỗ hồng bảo mật quan trong bang cách tìm kiếm các API và từ khóa

nhất định, như cuộc gọi phương thức liên quan đến cơ sở dữ liệu như

"executeStatement" hoặc "executeQuery" Mã chứa các chuỗi này là điểm xuất

phát tốt cho phân tích thủ công

Khác biệt so với phân tích tự động, kiểm tra mã nguồn thủ công rat tốt dé

xác định các lỗ hồng trong lô-gic kinh doanh, vi phạm tiêu chuẩn và các thiếu

sót trong thiết kế, đặc biệt là khi mã nguồn là kỹ thuật an toàn nhưng có logic sai

lầm Những tình huống như vậy thường không thé được phát hiện bởi bất kỳ

công cụ phân tích mã tự động nảo.

Việc kiểm tra mã nguồn thủ công đòi hỏi một chuyên gia kiểm tra mãnguồn chuyên nghiệp, có kiến thức sâu sắc về cả ngôn ngữ và các khung phát

triển được sử dụng cho ứng dụng di động Kiểm tra mã nguồn day đủ có thé là

một quá trình chậm, tẻ nhạt, tốn thời gian đối với người kiêm thử, đặc biệt là đối

với các mã nguôn lớn có nhiêu phụ thuộc.

2.2.1.2 Phân tích tĩnh tự động

Nguyễn Kiều Trinh — 1Š

Trang 27

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

Các công cụ phân tích tự động có thể được sử dụng dé tăng tốc quá trìnhkiêm thử Chúng kiêm tra mã nguồn dé đảm bảo tuân thủ với một bộ quy tắc hay

các quy trình hay thực hành tốt của ngành, sau đó thường hiển thị một danh sách

các phát hiện hay cảnh báo và chỉ ra tất cả các vi phạm phát hiện được Một SỐ

công cụ phân tích tĩnh chạy trên ứng dụng đã biên dịch, một số cần được cung

cấp mã nguồn gốc, và một số chạy như tiện ích mở rộng phân tích trực tiếp trong

IDE.

Mặc dù một số công cụ phân tích mã tĩnh tích hợp nhiều thông tin về cácquy tắc và ngữ nghĩa cần thiết dé phân tích ứng dụng di động, chúng có thé tạo

ra nhiều kết quả dương tính giả, đặc biệt là nếu chúng không được cau hình cho

môi trường đích Do đó, một chuyên gia bảo mật luôn cần xem xét kết quả một

cách cân thận.

2.2.2 Phân tích động (dynamic analysis)

Phân tích động là quá trình kiểm thử hệ thống khi đang chạy để đánh giá

cách nó phản ứng và chống lại các cuộc tấn công thực tế Trong kiểm thử an

toàn, phân tích động thường bao gồm việc thực hiện các kịch bản tan công, kiêm

tra mức độ an toản của cơ sở dữ liệu, và đánh giá khả năng chống lại các

phương thức tan công phổ biến

Các chuyên gia thường sử dụng các công cụ tự động và thủ công để môphỏng cuộc tấn công và đánh giá sự an toàn của hệ thống Phân tích động giúp

xác định lỗ hồng hiện tại và kiểm tra khả năng chống lại các tình huống nguy cơ

trong môi trường thực tế

2.2.2.1 Kiém thir tương tác người dùng

Một chiến lược quan trọng trong phân tích động là kiểm thử tương tácngười dùng Điều nay bao gồm việc mô phỏng các hành động của người dùng dé

xác định liệu ứng dụng có xử lý chúng một cách an toàn hay không Các tác vụ

như đăng nhập, chuyển đổi giữa các màn hình, và thao tác với dữ liệu đều là

điểm tập trung

Nguyễn Kiều Trinh — 16

Trang 28

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

2.2.3 Kiểm thử bảo mật tích hợp

Kiểm thử bảo mật tích hợp là quá trình tích hợp các phương pháp phân tích

và động trong chu trình phát triển phần mềm Việc này giúp đảm bảo rằng các lỗ

hồng bảo mật được phát hiện và khắc phục từ giai đoạn sớm, giảm nguy cơ phát

sinh vân đề sau này và tăng cường bảo mật tông thê của ứng dụng.

2.3 Một vài công cu phân tích tinh ứng dung Android

2.3.1 QARK (Quick Android Review Kit)

QARK là một công cụ phan tích tinh mã nguồn mở dành cho ứng dụngAndroid Nó tập trung vao việc tự động kiểm tra mã nguồn dé phat hién va bao

cáo về các lỗ hồng bảo mật phô biến, giúp nha phát trién va chuyên gia an ninh

đánh giá và cải thiện tính an toàn của ứng dụng.

2.3.2 AndroBugs Framework

AndroBugs Framework là một công cụ phân tích tĩnh mã nguồn mở chuyên

dụng cho ứng dụng Android Với khả năng tự động quét mã nguồn, nó giúp xác

định và hiểu rõ về các lỗ hong bảo mật trong mã nguồn của ứng dụng, hỗ trợ quá

trình kiểm thử an toản

2.3.3 MobSF (Mobile Security Framework)

Nguyén Kiéu Trinh — 17

Trang 29

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

MobSF là một khung phát triển (framework) an toàn di động cung cap khanăng kiểm thử an toàn tự động và thủ công cho ứng dụng di động, bao gồm cả

Android Nó kết hợp các công cụ kiểm thử mạnh mẽ dé đánh giá bao mật tong

thé của ứng dụng di động, từ phân tích tĩnh đến phân tích động

Các công cụ được liệt kê bên trên, cung cấp khả năng kiểm tra mã nguồn và

xác định lỗ hổng bảo mật một cách tự động, giúp nhà phát triển và chuyên gia

bảo mật đánh giá và cải thiện chât lượng mã nguôn.

Tuy nhiên, nhược điểm đáng chú ý của nhiều công cụ này là chưa tích hợp

hoặc tích hợp chưa hoàn toàn các bộ tiêu chuẩn nồi tiếng về an toàn thông tin,

như bộ tiêu chuẩn kiểm thử ứng dụng di động OWASP MASVS Sự đồng bộ

với các tiêu chuẩn này quan trọng dé đảm bao rằng tất cả các khía cạnh của an

toàn đêu được đánh giá một cách toàn diện và chặt chẽ.

2.4 Tổng quan về OWASP MASVS v.2.0.0 [1] [3]

2.4.1 Giới thiệu về OWASP

OWASP, hoặc Open Web Application Security Project, là một tổ chức philợi nhuận quốc tế tập trung vào việc nghiên cứu và phát triển kiến thức về bảo

mật ứng dụng web OWASP được thành lập nhằm mục tiêu chia sẻ thông tin,

công cụ, và tài nguyên liên quan đến bảo mật ứng dụng web để giúp cải thiện

chất lượng bảo mật của ứng dụng và giảm rủi ro an ninh trong lĩnh vực này

Sứ mệnh chính của OWASP là làm cho việc phat triển, triển khai, và quản

lý ứng dụng web trở nên an toàn hơn bằng cách cung cấp các hướng dẫn, công

cụ, và nguôn thông tin chi tiét vê các môi đe dọa an ninh và phương pháp bảo

Nguyễn Kiều Trinh — 18

Trang 30

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

mật hiện đại Tổ chức này hoạt động dưới hình thức cộng đồng mở, thu hút sự

tham gia của hàng ngàn chuyên gia an ninh thông tin, nhà phát triển, và chuyên

gia bảo mật trên khắp thế giới

Một trong những đóng góp lớn nhất của OWASP là danh sách OWASP

Top Ten, là danh sách các rủi ro bảo mật phổ biến nhất trong ứng dụng web

Danh sách này cung cấp một hướng dẫn cho các nhà phát triển và chuyên gia an

ninh về những điểm quan trọng cần chú ý dé đảm bảo an toàn cho ứng dụng

architects and developers seeking to develop secure mobile applications, as well

MASVS-CRYPTO-† as security testers to ensure completeness and consistency of test results.

Mobile Application Security

MASVS-AUTH Verification Standard

Download the MASVS v2.0.0

MASVS-NETWORK

MASVS-PLATFORM

Hình 2.7 Trang chu OWASP Mobile Application Security

OWASP MASVS (Tiêu chuẩn xác minh bảo mật ứng dung di động) là tiêuchuẩn ngành về bảo mật ứng dụng dành cho thiết bị di động Nó có thể được sử

dụng bởi các kiến trúc sư và nhà phát triển phần mềm di động đang tìm cách

phát triển các ứng dụng di động an toàn, cũng như người kiểm tra bảo mật để

dam bảo tinh day đủ và nhất quán của kết quả kiêm tra

Phiên bản 2.0.0 của OWASP MASVS, phát hành vào ngày | tháng 4 năm

2023, được các nhà phát triển cải tiễn dé trở nên đơn giản hóa và tường minh

hơn so với phiên ban cũ 1.5.0 được phát hành vào thang 8 năm 2022.

Nguyễn Kiều Trinh — 19

Trang 31

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

Dé hoàn thiện tiêu chuân MASVS, OWASP đồng thời cũng cung cap

“Hướng dẫn kiểm thử an toàn ứng dụng di động OWASP” (OWASP MASTG —

Mobile Application Security Testing Guide) và “Danh sách kiểm thử an toàn

ứng dụng đi động OWASP” (OWASP MAS Checklist), nhằm kết hợp để tạo

nên bộ trợ lý hoàn hảo để xác minh các điều khiển được liệt kê trong tiêu chuẩn

OWASP MASVS và thé hiện sự tuân thủ

2.4.3 OWASP MASTG

OWASP MASTG (OWASP Mobile Application Security Testing Guide) là

một hướng dẫn toàn diện dé kiểm tra bao mật ứng dung di động

OWASP MASTG cung cấp cho người đọc kiến thức tổng quan về hệ điều

hành Android và iOS, các van đề bảo mật xung quanh ứng dụng di động va

hướng dẫn kiểm thử ứng dụng di động theo 2 cách, phân tích tĩnh và phân tích

động, dựa trên bộ tiêu chuẩn OWASP MASVS và danh sách các đầu mục kiểm

thử an toàn từ OWASP MAS Checklist.

2.4.4 Các nhóm kiểm soát (control group) OWASP MASVS v.2.0.0

Tiêu chuẩn trên được chia ra làm nhiều nhóm kiểm soát an toàn, gắn nhãn

MASVS-XXXXX, đại diện cho các khu vực quan trọng nhất của bề mặt tấn

- MASVS-NETWORK: Giao tiếp mang an toàn giữa ứng dụng dành cho

thiết bi di động và các điểm cuối từ xa (dữ liệu đang truyền)

- MASVS-PLATFORM: Tương tác an toàn với nền tang di động co bản

và các ứng dụng đã cài đặt khác.

Nguyễn Kiều Trinh — 20

Trang 32

Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử

- MASVS-CODE: Các phương pháp hay nhất về bảo mật dé xử lý dữ liệu

và luôn cập nhật ứng dụng.

- MASVS-RESILIENCE: Khả năng phục hồi đối với các nỗ lực đảo

ngược kỹ thuật và giả mạo.

2.4.4.1 MASVS-STORAGE: Lưu trữCác ứng dụng di động xử lý nhiều loại dit liệu nhạy cảm, chăng hạn như

thông tin nhận dạng cá nhân (PII), tài liệu mật mã, bi mật và khóa API, thường

cần được lưu trữ cục bộ Dữ liệu nhạy cảm này có thể được lưu trữ ở các vị trí

riêng tư, chăng hạn như bộ nhớ trong của ứng dụng hoặc trong các thư mục công

cộng mà người dùng hoặc các ứng dụng khác được cai đặt trên thiết bị có thé

truy cập được Tuy nhiên, dữ liệu nhạy cảm cũng có thể vô tình được lưu trữ

hoặc tiếp xúc với các vị trí có thể truy cập công khai, thường là tác dụng phụ của

việc sử dụng một số API hoặc khả năng hệ thống nhất định như sao lưu hoặc

nhật ký.

Danh mục này được thiết kế dé giúp nhà phát triển đảm bảo rằng mọi dirliệu nhạy cảm do ứng dụng có ý lưu trữ đều được bảo vệ đúng cách, bat ké vị trí

mục tiêu là gì Nó cũng bao gồm các rò ri không chủ ý có thé xảy ra do sử dụng

API hoặc khả năng hệ thống không đúng cách

2.4.4.1.1 MASVS-STORAGE-1

Nội dung: Ứng dụng lưu trữ dữ liệu nhạy cảm một cách an toàn

Ứng dụng xử lý dữ liệu nhạy cảm đến từ nhiều nguồn như người dùng,

backend, dịch vụ hệ thống hoặc các ứng dụng khác trên thiết bị và thường cần

lưu trữ cục bộ Vị trí lưu trữ có thé là riêng tư đối với ứng dụng (vi dụ: bộ nhớ

trong của ứng dụng) hoặc ở chế độ công khai và do đó người dùng hoặc các ứng

dụng đã cải đặt khác có thể truy cập được (ví dụ: các thư mục công cộng như

thư mục ‘Download’) Kiểm soát này đảm bảo rằng mọi đữ liệu nhạy cảm được

ứng dụng cố ý lưu trữ đều được bảo vệ đúng cách độc lập với vi trí dich

2.4.4.1.2 MASVS-STORAGE-2

Nguyễn Kiều Trinh — 21

Ngày đăng: 08/03/2024, 11:38

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN