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

Nghiên cứu qui trình kiểm thử xâm nhập cho ứng dụng chạy trên thiết bị Android

76 0 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 qui trình kiểm thử xâm nhập cho ứng dụng chạy trên thiết bị Android
Tác giả Đặng Kiều Phong
Người hướng dẫn TS. Dinh Trường Duy
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 2023
Thành phố Hà Nội
Định dạng
Số trang 76
Dung lượng 24,16 MB

Nội dung

Đồ án được chia thành các nội dung như sau: Chương 1: Tổng quan Trinh bày tổng quan về hệ điều hành Android, ứng dụng di động Android, các phương pháp kiểm thử xâm nhập, các công cụ hỗ t

Trang 1

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

KHOA AN TOÀN THÔNG TIN

"mm

[Ï -~-Đề tài: Nghiên cứu qui trình kiểm thử xâm nhập

cho ứng dụng chạy trên thiết bị Android

Giảng viên hướng dẫn : TS Dinh Trường Duy

Sinh viên thực hiện : Đặng Kiều Phong

Mã sinh viên : BI9DCAT137

Lớp sinh viên : DI9CQAT01-B

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

Hà Nội - 2023

Trang 2

Đồ án tốt nghiệp

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

(Người hướng dan)

Điểm (bằng chữ 2- 5c 5sccsczcczzcec )

Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ á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)

Đặng Kiều Phong — BI9DCAT137

Trang 3

Đồ án tốt nghiệp

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

(Người phan 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)

Đặng Kiều Phong — BI9DCAT137

Trang 4

Đồ án tốt nghiệp

LỜI CẢM ƠN

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ô trongKhoa An toản thông tin va toàn thể các cán bộ của Học viện Công nghệ Bưuchí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

Trong suốt quá trình học tập, thực tập và 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 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 be.

Đặ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ốtnghiệp của em — TS Dinh Trường Duy 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

Em cũng xin gửi lời cảm ơn đến những người anh, người bạn đồng nghiệptại CMC Cyber Security đã cung cấp cho em những kiến thức về ngành học,

công việc và luôn luôn tạo điều kiện cho em có cơ hội học tập, nghiên cứu hoàn

thầy, cô dé đồ án của em được hoan thiện hơn.

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

Trang 5

Đồ án tốt nghiệp

LỜI CAM ĐOAN

Em xin cam đoan rằng đồ án tốt nghiệp “Nghiên cứu qui trình kiểm thử xâm

nhập cho ứng dụng chạy trên thiết bị Android” là công trình nghiên cứu của bảnthân mình Những phan có sử dụng tài liệu tham khảo có trong đồ án đã được

liệt kê và nêu rõ ra tại phần tài liệu tham khảo Đồng thời những số liệu hay kết

quả trình bày trong đồ án đều mang tính chất trung thực, không sao chép

Nêu như sai em xin chịu hoan toản trách nhiệm và chịu tat cả các kỷ luật cua

bộ môn cũng như nhà trường đê ra.

Trang 6

Đồ án tốt nghiệp

MỤC LỤC

LOT MỞ ĐẦU -5°e#©E++EYE.4EE7A41 97143077141 072417A41A1enkserrkke 1CHUONG 1: TONG QUAN VE UNG DUNG VA KIEM THU UNG DUNG

TREN HE DIEU HANH ANDROID - - Q Lọ ng HH ng re 2

1.1 Giới thiệu về hệ diéu hành Android -cccccccccccxtrsrrrerrrrrerrre 2

1.2 Giới thiệu về ứng dụng Android 5s-5sccscctccEEEEEEE 2E cerrre 31.3 Khái niệm về kiểm thử xâm nhập ứng dung di động cecsss¿ 4

1.4 Các phương pháp kiểm thi xâm nhậpp - 5c ềE te EEEeterrrret 5

1.5.6 Đánh gia các CONG CỤ - c2 3121132 11191119 111 1 11111 1 nh ngư 14

1.6 Kết luận CRUONG PPERRERRERRERE :lđg,1.CLŒ.,.LÀăăă 14

CHUONG 2: XÂY DUNG QUI TRÌNH KIEM THU XÂM NHAP TREN

UNG DỤNG DI DONG ANDIROID 5 << 5S 91 19185191811 56 15

2.1 Một số lỗ hồng phổ biến trên ứng dụng Android -5ccscczcscsa 15

2.1.1 Top 10 OWASP Mobile 2023 - SE *sssireiesskrsek 15 2.1.2 Oversecured Vulnerable Android App . -««++++<<++s+ 28

2.2 Một số qui trình kiểm thử xâm nhập cho ứng dung di động hiện nay 32

2.2.1 Qui trình kiểm thử xâm nhập ứng dụng di động của OWASP 322.2.2 Qui trình kiểm thử xâm nhập ứng dụng di động của NIST 35

2.2.3 Đánh giá các qui trình hiện nay - - s5 32c * + s++svvxeeeereses 39

2.3 Xây dựng qui trình kiểm thử trên ứng dụng Android -s¿ 40

2.3.1 Chuẩn bị -c2ctc tt tt HH ng gu 40

2.3.2 Thu thập thông tIn - - + 3+2 ** + E*+#EE+veEEeereeereeerereerererre 40

2.3.3 Khai thác tìm kiếm lỗ hồng -2- 2-52 5E+E2+E+E£2E£EE2EcEEzErxrrez 4I

Đặng Kiều Phong - B19DCAT137

Trang 7

Đồ án tốt nghiệp

2.3.4 Viết báo cáO ccccc cttt tt rrrrrie 482.3.5 Kiểm tra lại -ccttthhrh Hee, 48

2.4 Kết luận chương 2 c5: Sk EE EEEEEEEEE1E11211211121111112111111E1 11 te 49

CHUONG 3: THỰC NGHIỆM KIEM THU UNG DUNG ANDROID

THEO QUI TRINH VA CONG CU DE XUATT 5 5< << 5<<<s<< se 50

3.1 Xây dựng công cụ kiểm thlee.eccecccsccsscessesesseeseesseseesesstessssseessssesvsesesseseeees 50

3.1.1 Giới thiệu CONG CU ee cccsecesecesscesecesseceseeesseesseeecesseeeeaeeesseeeeeas 50

3.1.2 Yêu cầu về CONG CU eceececcssesesesessessesessessesssessessestssessessstsseseseeseeees 503.1.3 Sơ đỗ qui trình xử lý của công Cụ - 2-5 s2522E+Esrzrzrerereee 51

3.1.4 Cải đặt công CỤ - - ST TH HH kiệt 52 3.2 Thực hiện thử nghiệm kiểm thử ứng dụng android bằng công cụ theo qui trinh Ge XUALERERRERERRERERRRRRh 53

3.2.1 Chuan Div cecccccccsccecescsscsesecesscscsececscsvsvsececsvsvssececsvsvsesecavavsvsecaeavaveeeeees 53 3.2.2 John 4 53

3.2.3 Khai thác tìm kiếm lỗ hồng bằng công CU eeceeceeessessesseeseseeseseseee 543.2.4 Viết báo cáo cv HH nàng 57

3.3 2.0.1.1 7a ốố.ốố.ốỐốẦẮẦẮe 57

3.4 Ket Gn CHUONG nan nu 58

„00077 59

TÀI LIEU THAM KHAO\ cccscscsssssessesssssssessssssessssssssssssssssssssssssssssssssssssseess 60

Đặng Kiều Phong - B19DCAT137

Trang 8

Đồ án tốt nghiệp

DANH MỤC TỪ VIET TAT

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

OWASP The Open Worldwide Application Security | Tổ chức OWASP

ADB Android Debug Bridge Câu gỡ lỗi Android

TCP Transmission Control Protocol Giao thức kiêm soát

truyền tin MobSF Mobile Security Framework Khung hệ thông bảo

mật di động ASM Assembly Language Hợp ngữ

URL Uniform Resource Locator Dia chi tai nguyén

XSS Cross-site scripting Tân công chéo trang

ID Identification Nhận diện

PIN Postal Index Number Mã PIN

SQL Structured Query Language Ngôn ngữ truy van

cấu trúc

2FA Two-factor authentication Xác thực hai bước

PI Personal Identifiable Information Thông tin nhận diện

ỊP Internet Protocol Giao thức Internet

AI Artificial intelligence Tri tué nhan tao

HTTP/HTTPS | Hypertext Transfer Protocol/ Hypertext Giao thức truyên tai

Transfer Protocol Secure siéu van ban

KDFs Key derivation functions Ham tạo khóa

OS Operating System Hé diéu hanh

CSRF Cross-Site Request Forgery Tân công giả mao yêu

cầu chéo trang

Đặng Kiều Phong - B19DCAT137

Trang 9

Đồ án tốt nghiệp

MASVS Mobile Application Security Verification Tiêu chuẩn xác minh

Standard bảo mật ứng dụng di

động IPC Inter-Process Communication Giao tiếp giữa các

tiến trình

UI User Interface Giao diện người dùng NIST National Institute of Standards and Tổ chức NIST

Technology

JWT JSON Web Token Ma JWT

XXE XML external entity Thuc thé xml bén

Trang 10

Đồ án tốt nghiệp

DANH MỤC HINH ANH

Hình 1.1 Kiến trúc hệ điều hành Android c¿-5c+++cxxsexvsrrrvrrrrsrrrree 2

Hình 1.2 Phương pháp kiêm thử xâm nhập hộp trăng -2- 2s s x+: 5Hình 1.3 Phuong pháp kiêm thử xâm nhập hộp đen - 2-2 22 52252: 6Hình 1.4 Phương pháp kiêm thử xâm nhập hộp xám ¿2 2 5252: 7Hình 1.5 Kiểm tra nền tảng Android dang sử dụng 2-2 s=s=szse+ 10

Hình 1.6 Cách hoạt động của AIDB - c1 3x13 vvirerrrrrerrvee 11

Hình 1.7 Giao diện công cụ MobSF - - c c1 3211213 SE EESssrrrerrses 13

Hình 1.8 Giao diện công cụ Bytecode VIeWCT - c cccsxsssiseeeerrsrree 13 Hình 2.1 So sánh Top 10 Mobile 2016 và Top 10 Mobile 2023 15

Hình 2.2 Qui trình kiểm thử xâm nhập của NIST 2- - 2 s+s+£ecs+x+£z 35Hình 2.3 Lưu đồ hoạt động khi ứng dụng gửi đến công cụ kiểm thử 36

Hình 2.4 Quá trình phê duyệt/từ chối ứng dụng 2-2-5252 +cs+£ezxzce2 38

Hình 2.5 Qui trình kiểm thử ứng dụng android đề xuất - +5 5¿ 40Hình 2.6 Kiểm tra chữ ký số băng MobSF - 2 2 2+ 2+E£+E+E++Eerxzrerxee 47Hình 3.1 Lưu đồ hoạt động của công cụ APKScanner - ¿5s ++ss+++++ 51Hình 3.2 Cài đặt công cụ APKScanner bằng giao diện - 5-5255 552 52Hình 3.3 Cài đặt công cụ APKScanner bang dong lệnh 5 - 52Hình 3.4 Kết qua trả về khi chạy công cụ - 2-2-2 2 E+£+E+£zEerxzEerxeree 53Hình 3.5 Thông tin về bề mặt tấn công từ công cụ -2- - 2 s+s+cecxzxsrs 54Hình 3.6 Cac activity không được cấu hình an toàn 2-2-2 2 sse+ 54

Hình 3.7 Ứng dung ton tại lỖi - 2 2-52 2+EE2EE2EE2E1211211211211211221211 1E xe 54

Hình 3.8 Thực hiện khai thắc aCfIVIẨV c2 3111122 EEEEEEvrsrreeree 55

Hình 3.9 Kết quả sau khi khai thác ¿2 2 2+x+EE+EE+E£EE+EE+EerEeExekerxrreree 55

Hình 3.10 Thực hiện khai thác serVIC€ - << 5 22211 EE*£££++2232331 1£ ££cz 55

Hình 3.11 Kết quả khai thác s€TViCe 2-2-2 sSEeEeEE£EEeEEeEEeEEerkerxrkerkrree 56

Hình 3.12 Thử nghiệm bỏ qua đăng nhập với ứng dung Zomato for Business 56

Đặng Kiều Phong - B19DCAT137

Trang 11

Đồ án tốt nghiệp

DANH MỤC BANG

Bang 1: Đánh giá công cụ kiểm thử

Bang 2: Qui trình kiểm thử của OWASP - cSc t2 E111 1111 1xx

Bảng 3: Dé mục kiêm thử cho qui trình ỚI - 5 5355 **+*++*++*v++*+2

Đặng Kiều Phong - B19DCAT137

Trang 12

Đồ án tốt nghiệp

LỜI MỞ ĐẦU

Năm 2007, Apple ra mắt chiếc IPhone đầu tiên và mở ra một kỷ nguyên mới

trong lĩnh vực điện toán di động Và cũng vào năm đó tháng 11 năm 2007,

Google cho ra mắt phiên bản thử nghiệm đầu tiên của Android 1.0 dành cho cácnhà phát triển, và phiên bản thương mại đầu tiên được phát hành vào 9/2008

Với sự phát triển của khoa học kĩ thuật, kéo theo đó là sự phát triển của rấtnhiều ứng dung di động đáp ứng mọi nhu cầu trong cuộc sống của con người.Điều này khiến ứng dụng di động trở thành mục tiêu hàng đầu của tin tặc Đâycũng là thách thức đối với những kỹ sư an toàn thông tin nói riêng và những

người làm trong lĩnh vực công nghệ thông tin nói chung.

Với các lỗ hồng mới xuất hiện hàng ngày, việc kiểm tra xâm nhập Android

là cần thiết để tránh các cuộc tan và rò ri dit liệu

Với đề tài “Nghiên cứu qui trình kiểm thử xâm nhập cho ứng dụng chạytrên thiết bị Android”, đồ án tập trung nghiên cứu về ứng dụng di động trênthiết bị Android, kiểm thử xâm nhập ứng dụng di động chạy trên Android, các lỗhồng phổ biến, các qui trình kiểm thử, các công cụ hỗ trợ kiểm thử ứng dụng

Đồ án được chia thành các nội dung như sau:

Chương 1: Tổng quan

Trinh bày tổng quan về hệ điều hành Android, ứng dụng di động Android,

các phương pháp kiểm thử xâm nhập, các công cụ hỗ trợ kiểm thử ứng dụng di

Chương 3: Thực nghiệm kiểm thử ứng dụng android theo qui trình và

công cụ đề xuất

Giới thiệu công cụ kiểm thử xây dựng, thực hiện áp dụng công cụ kiểmthử, đưa ra đánh giá về công cụ mới

Kết luận

Dua ra kết luận về những nghiên cứu của đồ án và phương hướng phat trién

Dang Kiều Phong — B19DCAT137 1

Trang 13

Đồ án tốt nghiệp

CHUONG 1: TONG QUAN VE UNG DỤNG VA KIEM

THU UNG DUNG TREN HE DIEU HANH ANDROID

Chương | giới thiệu tong quan về kiến trúc của hệ điều hành Android, các

thành phần trong ứng dụng Android, các khái niệm liên quan đến kiểm thử xâmnhập, cùng với các công cụ hỗ trợ kiểm thử xâm nhập ứng dụng Android

1.1 Giới thiệu về hệ điều hành Android

Android là một hệ điều hành dựa trên Linux mã nguồn mở dành cho các

thiết bị di động (điện thoại thông minh và máy tính bảng) Nó được phát triểnbởi Open Handset Alliance, do Google và các công ty khác lãnh đạo Hệ điều

hành Android dựa trên Linux, và nó có thé được lập trình bằng C/C++, nhưng

phần lớn việc phát triển ứng dụng được thực hiện bằng Java (Java truy cập vàothư viện C thông qua JNI, viết tắt của Java Native Interface) [1]

Hệ điều hành Android được chia thành năm tang chính Do là Linux Kernel

(Hạt nhân linux), Libraries (Thư viện), Android Runtime (Môi trường thực thi

Android), Application Framework (Khung ứng dụng), và Applications (Ứng

Hình 1.1 Kiến trúc hệ điều hành Android

Linux Kernel (Hạt nhân Linux): Là tang dưới cùng và hoạt động như một

tầng trừu tượng giữa phần mềm và phần cứng của thiết bị Hạt nhân chịu tráchnhiệm quản lý các yêu cầu vào và ra từ phần mềm Hạt nhân chứa các trình điều

khiển

Dang Kiều Phong — B19DCAT137 2

Trang 14

Đồ án tốt nghiệp

dé xử lý phần cứng đầu vào Hạt nhân cũng xử lý các chức năng hệ thống như

quản lý các tiễn trình và bộ nhớ, cũng như bảo mật và mạng

Libraries (Thư viện): Bao gồm các thư viện C/C++ được cung cấp với nhiều

công cụ mã nguồn mở Vi du như WebKit một engine trình duyệt web mã nguồn

mở cung cấp các chức năng duyệt web, OpenGL cung cấp một giao diện ứng

dụng đa nền tang dé tạo đồ họa máy tinh 2D và 3D, và còn có SSL (Secure

Socket Layer) giúp cung cấp giao tiếp Internet an toàn

Android Runtime (Môi trường thực thi Android): Cung cấp một môi trườngthực thi ứng dụng cho hệ điều hành băng cách dịch bytecode thành các chỉ thị cơ

bản mà môi trường thực thi của thiết bị thực hiện Máy ảo Dalvik đã dựa trênmáy ảo Java dé phù hợp tốt hơn với hệ điều hành Android, nhưng sau đó đã

được thay thế bởi Android Runtime trong các phiên bản sau của hệ điều hành

Application Framework (Khung ứng dụng): cung cấp cho nhà phát triển ứngdụng các dịch vụ cấp cao như Window Manager (Quản lý cửa số), Content

Providers (Nhà cung cấp nội dung), Activity Manager (Quan ly hoat dong) va

View System (Hệ thống hiển thị) Điều này cung cấp cho các nhà phát triển các

chức năng đã được xây dựng sẵn cho ứng dụng của họ Ví dụ, View System xây

dựng giao diện người dùng và xử lý các chế độ xem và bố cục

Application (Ứng dụng): Là tầng cao nhất của kiến trúc Android và đây lànơi ứng dụng được viết và cài đặt Các ứng dụng có thể bao gồm từ các ứngdụng được cài sẵn đến các cài đặt từ bên thứ ba [2]

1.2 Giới thiệu về ứng dụng Android

Các ứng dụng Android có thể được viết bằng các ngôn ngữ Java, Kotlin

hoặc C++ Các công cụ SDK Android có thể được sử dụng để biên dịch mã

nguồn và tài nguyên thành một gói ứng dụng Android, gọi là APK (Android

Package) Tập tin APK là một tệp lưu trữ chứa tất cả nội dung của ứng dụng và

là tệp được sử dụng để cài đặt ứng dụng trên các thiết bị Android Tap tin APK

bao gom một thư mục classes.dex chứa các lớp ma nguồn đã được biên dịch

thành định dạng tệp dex, mà Android Runtime có thể hiểu được, một thư mục

resources chứa chuỗi va hình anh cùng với giao diện XML Tập tin APK cũng

còn gồm một tệp AndroidManifest xml chứa thông tin về ứng dụng như tên gói

ứng dụng, các thành phần, các quyền ứng dụng cần yêu cầu và các tính năng phần mềm và phần cứng mà ứng dụng cần Có bốn loại thành phần trong các ứng dung Android: Activities, Services, Broadcast Receivers va Content

Providers.

Dang Kiều Phong — B19DCAT137 3

Trang 15

Đồ án tốt nghiệp

Activities: Đại diện cho một man hình đơn với giao diện người dùng và là

điểm khởi đầu cho tương tác của người dùng

Services: Là điểm đầu vào cho việc duy trì ứng dụng hoạt động ở nén Ví

dụ, dich vụ có thé được sử dụng dé phat nhac trong nền hoặc truy xuất đữ liệu từ

internet ma không làm gián đoạn hoạt động hiện tai của người dùng.

Broadcast Receivers: Cho phép hệ thống gửi các sự kiện đến các ứng dụngngoài luéng người dùng thông thường Chúng có thé gửi phát sóng đến các ứng

dụng ngay cả khi chúng không hoạt động Rất nhiều phát sóng đến từ chính hệ

thống như sự kiện tắt màn hình hoặc pin yếu Tuy nhiên, nó cũng có thê đến từ

các ứng dụng, ví dụ, thông báo cho ứng dụng khác biết răng một hình ảnh đãđược tải về và có thé được ứng dụng đó sử dụng

Content Providers: Quản lý một tập dữ liệu chia sẻ có thể được lưu trữ trong

hệ thống tệp của thiết bị cũng như trên web bằng cách sử dụng ví dụ như cơ sở

dữ liệu SQLite Khi được cấp quyền, các ứng dụng khác có thé truy vấn và sửađổi dữ liệu thông qua nhà cung cấp nội dung này

Dé kích hoạt các Activities, Services va Broadcast Receivers, người ta su

dung Intents (Y định) Intent là một mô ta trừu tượng cua | hoạt động sẽ được

thực hiện Intents có hai loại là Implicit Intents (Intents không tường minh) hoặc

Explicit Intents (Intents tường minh) Một Intent không tường minh kích hoạt

chỉ ra hành động cần được thực hiện và dit liệu cho hành động đó, trong khi một

Intent tường minh xác định rõ và cụ thé các thành phần tham gia hành động

Content providers được kích hoạt thông qua ContentResolver [2].

1.3 Khái niệm về kiểm thử xâm nhập ứng dụng di động

Kiểm thử xâm nhập ứng dụng di động, còn được gọi là Mobile ApplicationPenetration Testing là quá trình đánh giá bảo mật của ứng dụng di động bằngcách tìm kiếm và khai thác các lỗ hồng bảo mật có thé được tan công bởi tin tặc

hoặc kẻ xâm nhập Mục tiêu của kiểm thử này là xác định các điểm yếu trongứng dụng di động dé giúp nhà phát triển vá và cải thiện bảo mật của ứng dụng

trước khi nó được phát hành.

Các ứng dụng di động là một phần của hệ sinh thái di động lớn hơn, tương

tác với mọi thứ từ thiết bị di động, cơ sở hạ tang mạng, máy chủ, và trung tâm

dữ liệu Bề mặt tấn công càng mở rộng hơn với việc sử dụng ngày cảng tăng của

các thiết bị di động có khả năng cao Với sự tinh vi của các cuộc tấn công mạng

các tô chức đã bắt đầu đầu tư vào việc kiểm thử xâm nhập ứng dụng di động

[3].

Dang Kiều Phong — B19DCAT137 4

Trang 16

Đồ án tốt nghiệp

1.4 Các phương pháp kiểm thử xâm nhập

Mọi sản phẩm phần mềm đều không thể tránh khỏi lỗi, bởi vì chúng đượcxây dựng bởi con người, không thể đảm bảo răng sản phẩm sẽ hoàn toàn không

có khuyết điểm Vi vậy, cần phải có người, nhóm hoặc tổ chức độc lập dé tiến

hành kiểm thử xem sản phẩm có van đề hay lỗi gì không Dé thực hiện kiểm thửphần mềm, chúng ta cần xây dựng kế hoạch và chiến lược kiểm thử, cùng với

việc áp dụng các kỹ thuật và phương pháp thích hợp cho mỗi cấp độ kiểm thử

Kiểm thử phần mềm bao gồm ba phương pháp cơ bản: kiểm thử hộp trắng vàkiểm thử hộp đen và kiểm thử hộp xám, mỗi phương pháp đòi hỏi những kỹ

năng riêng biệt [4].

1.4.1 Kiểm thử hộp trắng

Kiểm thử hộp trắng là loại kiểm thử diễn ra khi nhóm kiểm thử có quyền

truy nhập sơ đồ mạng, hồ sơ tài sản và các thông tin hữu ích khác Tat cả các

thông tin này có thé được sử dụng dé khởi tạo các cuộc tấn công nhắm vào mộtmục tiêu nhiều hơn là đối với hạ tang hệ thống

Input Output

WHITE BOX

Hình 1.2 Phương pháp kiểm thr xâm nhập hộp trắng

Kiểm thử xâm nhập hộp trắng, liên quan đến việc chia sẻ thông tin toàn bộmạng và hệ thống với người kiểm thử, bao gồm bản đồ mạng và thông tin đăng

nhập, thông tin về mã nguồn và kiến thức về cách hoạt động bên trong của phần

mềm Điều này giúp tiết kiệm thời gian và giảm chi phí tông cộng của một dự

án Kiểm thử xâm nhập hộp trắng hữu ích dé mô phỏng một cuộc tan công nhăm

vào một hệ thống cụ thể, sử dụng càng nhiều phương thức tan công có thể Được

thực hiện tốt nhất trong giai đoạn đầu của một sản phẩm, khi các nhà phát triển

và kỹ sư đang xây dựng Như vậy, người kiểm thử xâm nhập có thé tìm ra các lỗ

hồng và lỗi trước khi sản phâm được công bố, va các nhà phát triển có thể làm

việc trên nó trong thời gian thực.

Uu điểm:

+ Kiểm thử toàn diện: Người kiểm thử xâm nhập có quyền truy cập mở đốivới tất cả thông tin liên quan đến hệ thống và kiến trúc của nó Điều này choDang Kiều Phong — B19DCAT137 5

Trang 17

Đồ án tốt nghiệp

phép người kiểm thử đi qua tất cả các khu vực và phương pháp có thé dé tìm

kiếm các lỗ hồng và điểm yếu

+ Phương pháp này quan trọng cho các hệ thống phức tạp và quan trọng cần

mức độ bảo mật cao Đối với những loại tô chức này, mọi khu vực của hệ

thong phải được kiêm thử dé đảm bao an ninh hàng dau

+ Phát hiện sớm các lỗ hồng: Như đã đề cập ở trên, kiểm thử xâm nhập hộp

trắng thường được thực hiện khi một ứng dụng đang được tạo ra, và điều này

cho phép phát hiện sớm các lỗi và lỗ hồng Không chỉ là phương pháp tấn

công, mà còn là phòng ngừa bởi vì nó loại bỏ tất cả các điểm yếu trước khi mộttin tặc hoặc kẻ xâm nhập có thé truy cập vào ứng dụng

Nhược điểm:

+ Quá nhiều dữ liệu: Lượng thông tin được cung cấp trong quá trình kiểm

thử xâm nhập hộp trang có thé gây quá tải cho người kiém thử xâm nhập Điều

này có thể ảnh hưởng đến sự chính xác của những người kiểm thử và có thểdẫn đến họ bỏ sót hoặc bỏ qua một số lỗi nhất định Sự dồi dào thông tin cũnglàm cho việc kiểm thử trở nên rất tốn thời gian và đồng thời rất đắt đỏ

+ Khó khăn trong việc thực hiện kiểm thử đầy đủ trên các phần mềm lớn và

phức tạp [4|.

1.4.2 Kiểm thử hộp đen

Kiểm thử xâm nhập hộp đen là loại kiêm thử mà không có bat kỳ thông tinnao được cung cấp về hệ thống cho người kiểm thử xâm nhập Người kiểm thửxâm nhập không có kiến thức về bản thiết kế của hệ thống và không có quyềntruy cập vào mã nguôn, qui trình triển khai, ứng dụng và mạng được tô chức sửdụng Các quyền đặc quyền duy nhất mà người kiểm thử xâm nhập có là quyền

người dùng.

Input Output

Hình 1.3 Phương pháp kiểm thử xâm nhập hộp đen

Người kiểm thử không có trước hướng đi và cô gắng tìm ra các lỗ hồng độclập bằng cách sử dụng cả kiểm thử xâm nhập tự động và thủ công, quét lỗ hồng,Dang Kiều Phong — B19DCAT137 6

Trang 18

Đồ án tốt nghiệp

tan công kỹ thuật xã hội và dựa trên thử nghiệm lỗi Kiểm thử xâm nhập hộp đen

là biểu hiện chính xác nhất về một cuộc tấn công mạng thực sự, vì giống như tintặc, người kiểm thử xâm nhập không có kiến thức về các hệ thống đang hoạt

động trong tô chức và phải thực hiện giai đoạn giám sát và thu thập thông tin

độc lập.

Ưu điểm:

+ Lợi ích lớn nhất của kiểm thử xâm nhập hộp đen là nó mang tính thực tế

cao Các hacker nhắm vào hệ thống không có bất kỳ kiến thức hoặc đặc quyền

đặc biệt nào Và giống như hacker, người kiểm thử xâm nhập nhìn xung quanh

và kiểm thử tất cả các lỗ hồng có thé dé đạt được các kết quả tích cực

+ Bởi vì không có kiến thức hoặc quyền truy cập đặc biệt được tiết lộ trước,

người kiêm thử xâm nhập có tư duy mở và không chủ quan đối với quá trìnhquét Người kiêm thử xâm nhập có thé tiếp cận kiểm thử xâm nhập một cáchtrung lập va tìm ra các lỗ héng mà tổ chức có thé đã bỏ qua

Nhược điểm:

+ Nhược điểm chính của kiểm thử xâm nhập hộp den là nó không hiệu qua

băng kiểm thử xâm nhập hộp xám và hộp trắng Điều này xuất phát từ việc

không có thông tin được cung cấp Mà không có thông tin đặc biệt và chỉ cóquyền đặc quyền cơ bản, một người kiểm thử xâm nhập có thê không thê tiếp

cận các phần nhạy cảm của hệ thống và mạng của tổ chức có thé dé bị tổn

thương.

+ Kẻ tan công mạng có thé mat vài tháng dé quét hệ thống của tô chức, tim

kiếm các lỗ hồng, nhưng người kiểm thử xâm nhập không có thời gian đó và

do đó cần có một sự khởi đầu nhanh chóng [4]

1.4.3 Kiếm thử hộp xám

Trong kiểm thử xâm nhập hộp xám, chỉ có thông tin hạn chế được chia sẻ

với người kiểm thử Thông thường, điều này thé hiện dưới dang thông tin đăng

nhập.

BLACK BOX WHITE BOX GREY BOX

Unknown internal Known internal Partially known code structure code structure internal code structure

Hình 1.4 Phương pháp kiểm thử xâm nhập hộp xám

Dang Kiều Phong — B19DCAT137 7

Trang 19

Đồ án tốt nghiệp

Kiểm thử hộp xám hữu ích để giúp hiểu mức độ truy cập mà một người

dùng có đặc quyền có thé đạt được và thiệt hại tiềm năng mà họ có thể gây ra

Kiểm thử hộp xám đạt được sự cân băng giữa sự chi tiết và hiệu quả va có thể

được sử dụng để mô phỏng cả mối đe dọa từ bên trong hoặc cuộc tấn công đã

xâm nhập vào mạng từ bên ngoài.

Trong hau hết các cuộc tan công trong thực tế, một kẻ tan công sẽ tiễn hành

thu thập thông tin về môi trường mục tiêu, đem lại cho họ kiến thức tương tự

như một người nội bộ Kiểm thử hộp xám thường được ưa chuộng bởi kháchhàng vì nó cân bằng tốt nhất giữa hiệu quả và tính chân thực, loại bỏ giai đoạn

thu thập thông tin tiềm năng tốn thời gian

Ưu điểm:

+ Mô phỏng một mối đe dọa nội bộ.

+ Kiểm tra một ứng dụng dé kiểm tra quyền truy cập của người dùng được

xác thực.

+ Trong một cuộc tấn công từ bên trong, một người dùng có thé gây hại cho

hệ thống mục tiêu Kiểm thử xâm nhập hộp xám có thể mô phỏng mối đe doanày dé hiểu mức độ truy cập mà một người dùng có đặc quyền có thé đạt được

dé gây hai Nó cũng có thể xác minh xác thực người dùng và kiểm tra xem mộtngười dùng cụ thê có thê truy cập đữ liệu của người dùng khác không

+ Với một cuộc kiểm thử xâm nhập hộp xám, tốc độ kiểm thử nhanh hơn

một chút so với kiểm thử hộp đen vì người kiểm thử bắt đầu với nhiều thông

tin hơn Vì các người kiểm thử không hoàn toàn trong bóng tối, họ có thé môphỏng các cuộc tấn công một cách hiệu quả hơn và vượt ra ngoài những gì có

thé thực hiện trong chế độ hộp đen Một cuộc kiểm thử xâm nhập hộp xám đạt

được sự cân bằng tốt giữa hiệu suất của phương pháp hộp đen và sự sâu sắccủa phương pháp hộp trắng

Nhược điểm:

+ Nhược điểm chính của kiểm thử hộp xám là nó đòi hỏi trình độ chuyên

môn cao hơn dé thực hiện và phân tích kết quả kiểm thử Nó cũng phức tạp

hơn kiêm thử hộp đen và có thể tốn thời gian

+ Một nhược điểm khác của kiểm thử hộp xám là khó xác định mức độ

kiểm thử phù hợp cần thiết cho một mô-đun cụ thé Điều này có thé dẫn đến

việc kiểm thử quá mức hoặc kiểm thử dưới mức, cả hai đều có thé dẫn đếnviệc bỏ sót các lỗi Ngoài ra, kiểm thử hộp xám có thé không phù hợp với tất

cả các loại ứng dụng phần mềm, đặc biệt là những ứng dụng có độ phức tạp

cao hoặc có số lượng lớn các mô-đun phụ thuộc lẫn nhau

Dang Kiều Phong — B19DCAT137 8

Trang 20

Đồ án tốt nghiệp

+ Kiểm thử hộp xám có thê khó tự động hóa hơn kiêm thử hộp đen vì nó đòi

hỏi sự hiểu biết sâu sắc hơn về hoạt động nội bộ của phần mềm đang được

Windows, macOS va Linux.

Frida cho phép người dùng sử dung các kỹ thuật tùy chỉnh dé giám sát và can thiệp vào quá trình thực thi của ứng dụng, giúp họ hiểu rõ hơn về cách ứng

dụng hoạt động, cách tương tác với hệ thống va các phần khác trong máy tính

hoặc thiết bị di động Điều này rất hữu ích cho việc phát triển ứng dụng, kiểm

thử bảo mật, giảng dạy và nghiên cứu.

Frida cho phép đưa các đoạn JavaScript hoặc một thư viện vào các ứng dụng

gốc trên Windows, Mac, Linux, iOS và Android Frida cũng cung cấp một số

công cu đơn giản được xây dựng trên API của Frida Những công cụ này có théđược sử dụng nguyên trạng, được điều chỉnh theo nhu cầu cá nhận hoặc dùng

làm ví dụ về cách sử dung API

Frida có thé sử dụng vượt qua nhiều kỹ thuật mà các nhà phat triển sử dung

dé bảo mật các ứng dụng Một số ví dụ bao gồm vô hiệu hóa việc ghim SSL dé

cho phép hacker xem toàn bộ lưu lượng mạng giữa ứng dụng và bat kỳ máy chủ

backend nào, hay vượt qua sự kiểm tra thiết bị đã root

Ngoài ra Frida có thé được sử dụng trong kiểm thử dé thực hiện một số công

việc như:

Phân tích động: Frida hỗ trợ việc thực hiện phân tích động của các ứng

dụng Android Điều này liên quan đến việc giám sát hành vi thời gian chạy củaứng dụng, chặn các cuộc gọi hàm, phân tích lưu lượng mạng và kiểm tra nội

dung bộ nhớ Điều này giúp xác định các lỗ hồng bảo mật tiềm tang, rò ri dữ liệu

và các hoạt động trái phép.

Kỹ thuật chèn mã: Nhà nghiên cứu bảo mật có thé sử dung Frida để tiêm

mã tùy chỉnh vào thời gian chạy của ứng dụng Android, cho phép họ theo dõi và

ghi lại các hoạt động nhạy cảm, giám sát sự tương tác với phan cứng và các APIcủa thiết bị và phát hiện bat kỳ hành vi độc hại nào

Dang Kiều Phong — B19DCAT137 9

Trang 21

Đồ án tốt nghiệp

Kỹ thuật dịch ngược: Frida hỗ trợ trong việc phân tích đảo mã các ứng

dụng Android bằng cách kết nối vào các hàm và phương thức cụ thể, theo dõiviệc thực thi của chúng và hiểu cách một ứng dụng hoạt động ở mức sâu hơn

Phân tích mã độc: Frida có giá trị trong việc phân tích và hiểu hành vi của

các ứng dụng Android có thé có tính độc hai Các chuyên gia bao mật có thégiám sát sự tương tác của chúng với hệ thống và các ứng dụng khác, giúp xác

định bat kỳ hành vi có hại nao

Cách cài đặt:

Việc cài đặt Frida khá dễ dàng, vì Frida là một công cụ mã nguồn mở, và

nó được cung cấp như một package dành cho Python để tương tác và sử dụng

trong môi trường Python Vậy nên ta hoàn toàn có thé cài đặt thông qua pip:

pip install frida-tools pip install frida

Tiép dén dé thiét lap Frida trén thiét bi Android, ta can tai va cai dat server cho nền tảng Android tương ứng từ trang web

frida-x86

PS C:\Users\Admin>

Hình 1.5 Kiểm tra nên tang Android dang sử dung

Sao chép frida server vào thu mục tmp của điện thoại

$ adb root # Sử dụng quyền root

$ adb push <file frida server> /data/local/tmp

Cấp quyền cho Frida server

$ adb shell

$ chmod 777 /data/local/tmp/<file frida server>

1.5.2 ADB

ADB, viét tat cua Android Debug Bridge, là một tiện ich dong lệnh di kèm

với bộ công cụ phát triển Android của Google ADB có thé điều khién thiết bị

qua công USB từ máy tính, sao chép tệp qua lại, cài đặt và gỡ bỏ ứng dụng, chạycác lệnh hệ điều hành linux, và nhiều chức năng khác

ADB là một chương trình client-server bao gồm ba thành phan:

Client (Máy khách): Sẽ gửi lệnh, ứng dụng chạy trên máy của người dùng.

Có thé gọi ứng dụng qua một dòng lệnh bằng cách chạy lệnh adb

Daemon (Tiến trình nền): Một trình nền (adbd) chạy lệnh trên thiết bị,

daemon chạy dưới dạng tiến trình trong nền trên từng thiết bị

Dang Kiều Phong — B19DCAT137 10

Trang 22

Đồ án tốt nghiệp

Server (Máy chủ): Quản lý việc giao tiếp giữa client va daemon Serverchạy dưới dạng tiến trình nền

Cách hoạt động của adb:

Khi khởi động một ứng dụng adb, trước tiên, ứng dụng sẽ kiểm tra liệu có

quá trình máy chủ adb nào đang chạy hay không Nếu không có, ứng dụng sẽ khởi động quá trình máy chủ Khi khởi động, máy chủ sẽ liên kết với công TCP

5037 cục bộ và lắng nghe các lệnh đã gửi từ ứng dụng adb Tắt cả ứng dụng adb

đều sử dụng công 5037 dé giao tiếp với may chủ adb

".—

ADB

Client

Daemon (adbd)

h 5555-5585

Server :

5037

Hình 1.6 Cách hoạt động cua ADB

Sau đó, máy chủ thiết lập kết nối với tất cả thiết bị đang chạy Máy chủ

định vị các trình mô phỏng khi quét các công được đánh số lẻ thuộc dai từ 5555đến 5585 Đây là đải được 16 trình mô phỏng đầu tiên su dung Tìm thấy một

deamon adb (adbd) ở đâu thì máy chủ sẽ thiết lập kết nối với công, đó

Mỗi trình mô phỏng sử dụng một cặp công tuần tự — một công được đánh

số chăn dé kết nối với bảng điều khiển và một cổng được đánh số lẻ để kết nối

với adb Ví dụ:

Trình mô phỏng 1, bảng điều khiến: 5554

Trình mô phỏng 1, adb: 5555

Trình mô phỏng 2, bảng điều khiển: 5556

Trinh mô phỏng 2, adb: 5557

Như đã thấy, trình mô phỏng được kết nối với adb trên công 5555 cũng

giống như trình mô phỏng có bảng điều khiển xử lý trên công 5554

Dang Kiều Phong — B19DCAT137 11

Trang 23

+ adb devices: Lệnh này liệt kê danh sách các thiết bị Android được kết

nối, gọi lệnh này dé kiểm tra và đảm bao có thiết bị kết nối dé làm việc với các

lệnh khác.

adb push: copy (upload) file từ máy tính vào thiết bị

adb pull: tải file, copy file từ thiết bị vào máy tínhadb install/uninstall: cài đặt hay gỡ ứng dụng cho thiết bị

adb shell: dùng dé truy cập vào shell linux

+ + + +

1.5.3 Apktool

Apktool là công cụ mã nguồn mở (tham khảo tai mục [6] tài liệu tham khảo)

hỗ trợ cho các developer trên Android, phần mềm giúp việt hóa, chỉnh sửa ứngdụng Android ngay từ file apk mà không cần mã nguồn ứng dụng Tức có thểdịch ngược file apk, chỉnh sửa rồi đóng gói lại mà không cần mã nguồn ban đầu

của ứng dụng.

Apktool là công cụ có khả năng giải mã tệp AndroidManifest về định dạngXML ban đầu của nó, tệp resources.arsc và cũng sẽ chuyên đổi tệp classes.dex

(và classes2.dex nếu có) thành một ngôn ngữ trung gian được gọi là smali, một

ngôn ngữ giống ASM được sử dụng dé biểu diễn mã opcode của máy ảo Dalvik

dưới dạng một ngôn ngữ dễ đọc cho con người

1.5.4 MobSF

MobSF là một framework được tích hợp rất nhiều công cụ nhằm hỗ trợ cho

quá trình phân tích và đánh giá mức độ bảo mật của ứng dụng Android MobSF

có thê phân tích các thông tin sau:

e Thông tin tổng quát về ứng dung, thông tin trên play store, số lượng các

hoạt động cau hình kém

e Chứng chỉ ký ứng dụng, các quyền ứng dụng, các API, các host và scheme

© Phan tích an toàn thông tin, mã độc, các đường dẫn, chuỗi thu thập được

Trang 24

Đồ án tốt nghiệp

& Upload & Analyze

RECENT SCANS | DYNAMIC ANALYZER | REST API | DONATE

023 Mobile Security F k-MobS!

Hình 1.7 Giao điện công cụ MobSF

1.5.5 Bytecode Viewer

Bytecode Viewer là công cụ cho phép chúng ta đồng thời xem được mã java

và mã smali (tham khảo tại mục [§] tài liệu tham khảo) Khi mở tệp tin apk bằngBytecode Viewer, công cụ sẽ tiến hành dịch ngược và biểu điễn code theo cấu

trúc thư mục Tuy nhiên nếu mã nguồn đã được làm rối (obfuscate) thì việc tìmđúng tệp tin mình cần sẽ khó khăn hơn nhiều

Bytecode Viewer cũng có chức năng tìm kiếm nội dung code java theo

regex hoặc theo string Có thê sử dụng chức năng này để tìm kiếm các điểm cókhả năng tồn tại lỗ hồng SQLite injection, XSS

Giao diện sau khi cài dat:

Bam -GUT Decompiler - Editable ral Deassenbler

GB android + + [lMatch case * < Match case

3) f8] insearebankv2 1 package com.android.insecurebankv2; a|| + -class public Leom/android/insecurebankv2/CryptoCiass;

(BB googie 2 super LJava/lang/Object;

(pg Decoded Resources Eiimport android (ia) METATNE import java.io 4 Field base64Text:Ljava/1ang/Strins;

i Ea res

lộ AndrodMarfest.xml -fie1d cipherData:[B

8 £ield cipherText :Ljava/lang/Strings

10 Field ivBytes:[B.

|eqick Ne search (ro fie extern) — ] Field key:Ljava/lang/strings Quick fle search (no file extension) T+

Clexect path C)Match case

|) Search

‘Search from Al Classes Strings

[ae iput-object vô, p8, Lcom/android/insecurebankv2/CryptoClass

return-void

ring key = “This is the super secret key 123°; Le

.arrav-data 1

Reais We

Hình 1.8 Giao diện công cu Bytecode Viewer

Dang Kiều Phong — B19DCAT137 13

Trang 25

Đồ án tốt nghiệp

1.5.6 Đánh giá các công cụ

Bang 1: Đánh giá công cụ kiểm thử

Tên công cụ Ưu điểm Nhược điểm

+ Doi hỏi kiêm thử viên

+ Cài đặt và cau hình dé dang TT 2 CA TA ˆ

phải có một kĩ năng lập

+ Tương thích nhiều nền tảng

end ran trinh nhat dinh

Frid + Có thé can thiệp vào quá trình ' rao „

nda " 2 1x _ |+ Một sô ứng dụng cóthực thi làm thay đôi chức năng Lota no

oe ` TLA x co ché phat hién Frida

của ứng dụng ma không can

thay đôi mã nguồn

+ Đi kèm với bộ công cụ phát — | Doi hỏi hiểu biết về các

triển Android của Google câu lệnh

ADB + Phục vụ nhiều chức năng như

cài đặt, gỡ bỏ ứng dụng, chạy

lệnh hệ điều hành

+ Cài đặt cầu hình đễ đàng | Cần có kiến thức về mã

+ Dịch ngược và đóng gói tệp tin | smali dé thực hiện

Apktool bat kì một cách dễ dàng chỉnh sửa mã nguồn

+ Hữu ích cho việc thay đổi mã

nguồn

+ Phân tích tự động | Kêt qua phan tich phu

MobSF + Giao diện trực quan thuộc vào câu hình

+ Hỗ trợ đa nền tảng công cụ

+ Dễ dàng cài đặt | Cần có kiến thức cơ bản

+ Cung cấp giao diện trực quan về Java và Android

xâm nhập, và các công cụ hỗ trợ kiểm thử

Dang Kiều Phong — B19DCAT137 14

Trang 26

Đồ án tốt nghiệp

CHUONG 2: XÂY DUNG QUI TRÌNH KIEM THU XÂM

NHAP TREN UNG DUNG DI DONG ANDROID

Chương 2 cung cap kiến thức về các lỗ hồng thường gặp của ứng dụng

Android từ các tô chức lớn như OWASP và Oversecured được cập nhật tới thờiđiểm hiện tại, cùng với các qui trình kiểm thử hiện có của OWASP và NIST Từ

đó đề xuất ra một qui trình kiểm thử mới Nội dung qui trình kiêm thử mới baogom những sự thay đổi dựa trên qui trình kiểm thử hiện có, cùng với các đề mục

được bổ sung phù hợp và chính xác hơn khi áp dụng vào các ứng dụng Android

hiện nay.

2.1 Một số lỗ hỗng phổ biến trên ứng dụng Android

2.1.1 Top 10 OWASP Mobile 2023

OWASP là viết tắt của The Open Worldwide Application Security Project là

một tô chức phi lợi nhuận quốc tế chuyên về bảo mật ứng dụng OWASP cungcấp các tài nguyên mở và miễn phí Nó được lãnh đạo bởi một tô chức phi lợinhuận có tên là The OWASP Foundation Các tài liệu OWASP cung cấp bao

gồm tài liệu, công cụ, video và diễn đàn OWASP được biết đến nhiều nhất qua

OWASP Top 10 OWASP Top 10 là một dự án được công bố định kỳ, nhằm

nâng cao nhận thức về bảo mật ứng dụng bằng cách xác định một số rủi ro

nghiêm trọng nhất mà các tổ chức đang đối mặt Phía dưới đề cập tới OWASP

Top 10 cho ứng dụng di động [9].

Comparison Between 2016-2023

OWASP-2016 OWASP-2023-Initial Release Comparison Between 2016-2023 |

: Improper Platform Usage |M1: Improper Credential Usage New

M2: Insecure Data Storage M2: Inadequate Supply Chain Security New

: Insecure Communication : Insecure Authentication / Authorizatio: Merged M4&M6 to M3

M4: M4:

M5: Insufficient Cryptography |M5: Insecure Communication Moved from M3 to M5

M6: Insecure Authorization M6: Inadequate Privacy Controls New

M7: Client Code Quality M7: Insufficient Binary Protections Merged M8&M9 to M7

M8: Code Tampering M8: Security Misconfiguration

M9: Reverse Engineering M9: Insecure Data Storage Moved from M2 to M9

M10: Extraneous Functionality |M10: Insufficient Cryptography Moved from M5 to M10

Hinh 2.1 So sanh Top 10 Mobile 2016 va Top 10 Mobile 2023

Insecure Authentication Insufficient Input/Output Validation New

Dang Kiều Phong — B19DCAT137 15

Trang 27

Đồ án tốt nghiệp

a) M1: Improper Credential Usage (Sử dung thông tin đăng nhập không

đúng cách)

- Phuong thức tan công (Khả năng khai thác: Dé)

Sau khi xác định được các lỗ hồng này, kẻ tấn công có thé sử dụng thông

tin đăng nhập được mã hóa cứng để có quyền truy cập trái phép vào các chức năng nhạy cảm của ứng dụng di động Họ cũng có thể sử dụng sai thông tin xác

thực, chăng hạn bằng cách giành quyền truy cập thông qua thông tin xác thựcđược xác thực hoặc lưu trữ không đúng cách, do đó bỏ qua nhu cầu truy cập hợp

pháp.

- _ Điểm yếu bảo mật (Ty lệ xuất hiện: Phổ biến, Khả năng phát hiện: Dé)

Việc triển khai quản lý thông tin xác thực kém, chăng hạn như sử dụng

thông tin xác thực được lưu trữ cô định và xử lý không đúng cách, có thể dẫnđến các điểm yếu nghiêm trọng về bảo mật Một qui trình kiểm tra bảo mật toàn

diện nên nhằm mục đích xác định những vấn đề này Ví dụ: người kiểm tra bảo

mật nên có gắng xác định thông tin xác thực được lưu trữ trong mã nguồn củaứng dụng dành cho thiết bị di động hoặc trong bat kỳ tệp cau hình nào

- Dau hiệu nhận biết

Thông tin xác thực được lưu trữ cô định; truyền thông tin xác thực không

an toàn; lưu trữ thông tin xác thực không an toàn; xác thực người dùng yếu

- Tac động (Muc độ: Nghiêm trọng)

Người dùng trái phép có thé có quyền truy cập vào thông tin hoặc chức

năng nhạy cảm trong ứng dụng di động hoặc hệ thống phụ trợ của ứng dụng đó

Điều này có thé dẫn đến vi phạm dit liệu, mất quyên riêng tư của người dùng, hoạt động gian lận và có khả năng truy cập vào chức năng quản trị, gây thiệt hại

danh tiếng: trộm cắp thông tin; gian lận; truy cập trái phép vào đữ liệu

- Phòng chống

Tránh sử dụng thông tin đăng nhập được mã hóa cứng; xử lý đúng thông tin

đăng nhập người dùng: mã hóa thông tin đăng nhập trong quá trình truyền;không lưu trữ thông tin đăng nhập người dùng trên thiết bị; triển khai các giao

thức xác thực người dùng mạnh mẽ; thường xuyên cập nhật và xoay vòng mọi khóa API hoặc mã thông báo đã sử dụng.

b) M2: Inadequate Supply Chain Security (An ninh chuỗi cung ứng không đầy

đủ)

- Phuong thức tan công (Khả năng khai thác: Trung bình)

+ Có nhiều cách dé khai thác lỗ hồng, vi dụ tác nhân đe dọa nội bộ hoặc

kẻ tan công có thể tiêm mã độc trong giai đoạn phát triển ứng dụng, sauDang Kiều Phong — B19DCAT137 16

Trang 28

Đồ án tốt nghiệp

đó

Trang 29

Một cách khác, tác nhân đe doa có thé khai thác lỗ hồng trong thư viện

hoặc thành phần của bên thứ ba được sử dụng trong ứng dụng

Điểm yếu bảo mật (Tỷ lệ xuất hiện: Pho biến, Khả năng phát hiện: Khó)

Sự tồn tại của lỗ hồng xảy ra do thiếu các thực hành lập trình an toàn,

việc xem xét mã không đầy đủ và kiểm thử, dẫn đến việc bao gồm các

lỗ hông trong ứng dụng

Các nguyên nhân khác gây ra lỗ hông bao gồm quá trình ký và phânphối ứng dụng không đủ hoặc không an toàn, điểm yếu trong các thànhphần hoặc thư viện phần mềm của bên thứ ba, thiếu điều khiển bảo mậtđối với dữ liệu, mã hóa, lưu trữ hoặc việc tiếp cận trái phép đối với dit

- Dấu hiệu nhận biết

Thiêu bảo mật trong các thành phân của bên thứ ba; các môi đe dọa nội bộ;

kiểm tra và xác thực không đầy đủ; thiếu nhận thức về bảo mật

+

Phòng tránh

Thực hiện các thực hành lập trình an toàn, kiểm tra mã và thử nghiệm

an toàn trong suốt quá trình phát triển ứng dụng di động để xác định và

giảm nhẹ các lỗ hồng:

Đảm bảo quá trình ký và phân phối ứng dụng an toàn để ngăn ngừa kẻtấn công ký và phân phối mã độc hại;

Sử dụng chỉ các thư viện hoặc thành phần bên thứ ba được xác minh và

đáng tin cậy để giảm nguy cơ lỗ hồng;

Thiết lập các điều khién bao mật cho việc cập nhật, vá lỗi và phiên bản

của ứng dụng đề ngăn chặn kẻ tấn công khai thác các lỗ hồng trong ứng

dụng;

Theo dõi và phát hiện các sự cô về bảo mật trong chuỗi cung ứng thông

qua kiểm tra bảo mật, quét hoặc các kỹ thuật khác dé phát hiện va ứng

phó với các sự cô một cách kịp thời

Dang Kiều Phong — B19DCAT137 18

Trang 30

Đồ án tốt nghiệp

c) M3: Insecure Authentication/Authorization (Xác thực/Trao quyền không an

toàn)

- Phuong thức tan công (Khả năng khai thác: Dé)

Khi kẻ tấn công hiểu được các lỗ hồng trong hệ thống xác thực hoặc ủy

quyên, họ có thể tận dụng những yếu điểm này theo một trong hai cách Họ cóthé giả mạo hoặc bỏ qua quá trình xác thực băng cách gửi trực tiếp các yêu cầu

dịch vụ đến máy chủ backend của ứng dụng di động, hoặc họ có thể đăng nhập

vào ứng dụng như một người dùng hợp lệ sau khi vượt qua thành công qui trình

xác thực và sau đó truy cập đến một điểm cuối có lỗ hồng dé thực hiện các chức

năng quan tri

- Diém yếu bảo mật (Tỷ lệ xuất hiện: Pho biến, Khả năng phát hiện: Trung

bình)

+ Đối với việc ủy quyền, người kiểm thử có thé thực hiện cuộc tấn công

nhị phân vào ứng dụng di động và thử nghiệm việc thực hiện các chức

năng đặc quyền mà chỉ có thê thực hiện được bởi người dùng có quyền

lợi cao hơn Người kiểm thử cũng nên thử thực hiện các chức năng đặcquyền bằng cách sử dụng một token phiên có đặc quyền thấp trong các

yêu cầu tương ứng đối với các chức năng nhạy cảm tới máy chủ

backend.

+ Hệ thống ủy quyền kém hoặc không day đủ có thé cho phép kẻ tan công

thực hiện các chức năng mà họ không được quyền thực hiện băng cách

sử dụng một người dùng được xác thực nhưng có đặc quyền thấp hơn

trên ứng dụng di động.

+ Hệ thống xác thực kém chất lượng có thể cho phép tin tặc thực hiện các

chức năng mà không can xác thực trên ứng dung di động hoặc máy chủ

backend được sử dụng bởi ứng dụng di động Các lỗ hồng này trong hệ

thong xác thực ứng dụng di động khá phô biến do yếu tố hình thức nhậpliệu của thiết bị di động, thường khuyến khích việc sử dụng mật khẩungắn hoặc PIN 4 chữ số

- Tac động (Mức độ: Nghiêm trọng)

+ Tác động của việc xác thực và ủy quyền kém chất lượng trong hệ thống

có thé lan rộng, đáng kể và tương tự nhau, chủ yếu phụ thuộc vào loạichức năng có quyền lợi cao được thực hiện

+ Nếu một kẻ tan công có thể thực hiện chức năng nhạy cảm một cách an

danh, điều này chỉ ra rang mã nguồn cơ bản không xác nhận quyền hạn

của người dùng gửi yêu cầu

Dang Kiều Phong — B19DCAT137 19

Trang 31

Truyền dữ liệu chứa quyền của người dùng.

Thực hiện API Backend ân danh: Ung dụng thực hiện một yêu cau dich

vụ API backend mà không cần cung cấp một mã truy cập;

Lưu trữ cục bộ mật khâu hoặc đữ liệu bí mật;

Sử dụng FaceID và TouchID dé mở khóa các bí mật được khóa sinh trắc

học và bảo vệ an toàn các tài liệu xác thực nhạy cảm, như token phiên.

d) M4: Insufficient Input/Output Validation (Xác thực đầu vào/đầu ra không

day đủ)

Phương thức tấn công (Khả năng khai thác: Khó)Việc xác thực đầu vào/đầu ra không đầy đủ sẽ khiến ứng dụng của chúng tagặp phải các phương pháp tấn công quan trọng, bao gồm cả việc chèn SQL,

XSS, chèn lệnh và truyền tải đường dẫn Những lỗ hồng này có thể dẫn đến truy

cập trái phép, thao túng dữ liệu, thực thi mã và xâm phạm toàn bộ hệ thống phụ

trợ.

+

Điểm yếu bảo mật (Tỷ lệ xuất hiện: Phổ biến, Khả năng phát hiện: Dé)

Lỗ hồng thiếu kiểm tra và xử ly dit liệu đầu vào/đầu ra đủ là khi mộtứng dụng không kiểm tra và làm sạch đúng cách đữ liệu đầu vào ngườidùng hoặc không xác nhận và làm sạch di liệu đầu ra Lỗ hong này có

thể bị tận dụng theo các cách sau:

+ Kiêm tra dữ liệu đâu vao/dau ra không đủ: Các kẻ tan công có thê điêu

khiên nó băng cách nhập dữ liệu không mong muôn hoặc độc hại Điêu

Dang Kiều Phong — B19DCAT137 20

Trang 32

Đồ án tốt nghiệp

này có thể tránh qua các biện pháp bảo mật và dẫn đến lỗ hồng thực thi

mã hoặc truy cập hệ thống không được ủy quyền

+ Thiếu xác thực theo ngữ cảnh: Việc không xem xét bối cảnh cụ thể hoặc

định dạng dữ liệu mong đợi có thể dẫn đến các lỗ hồng như SQL

injection hoặc format string vulnerabilities.

+ Không xác thực được tính toàn ven dữ liệu: Những kẻ tấn công có thể

giả mạo các biến hệ thống quan trọng hoặc đưa ra dữ liệu không đúng

định dạng làm gián đoạn chức năng của ứng dụng.

- Tac động (Mức độ: Nghiêm trọng)

Thực thi mã trái phép; rò ri dữ liệu; xâm nhập trái phép hệ thống: giánđoạn ứng dụng; tôn thất uy tín; các vấn đề pháp lý; tác động tài chính

- _ Dấu hiệu nhận biết

+ Thiếu kiểm tra đầu vào: Không thực hiện kiểm tra đúng cách đối với dữ

liệu đầu vào người dùng:

+ Thiếu xác thực dữ liệu đầu ra: Không làm sạch đúng cách dữ liệu đầu ra

có thé cho phép các kẻ tan công tiêm và thực thi các mã độc hại;

+ Bỏ qua kiểm tra theo ngữ cảnh cụ thé: Không xem xét các yêu cầu kiếm

tra cụ thể dựa trên ngữ cảnh dữ liệu có thể tạo ra lỗ hồng, như các cuộc

tan công path traversal hoặc truy cập trái phép vào tệp tin;

+ Kiểm tra tính toàn ven dữ liệu không đầy đủ: Không thực hiện kiểm tra

tính nguyên ven dit liệu đúng cách có thé dẫn đến sự tổn that dir liệu

hoặc sự sửa đổi không được ủy quyên, đe dọa tính tin cậy và bảo mật;

+ Thực hành lập trình an toàn kém: Bỏ qua các thực hành lập trình an

toàn, chăng hạn như sử dụng các truy van được tham số hóa hoặc mãhóa dit liệu, góp phan tạo ra các lỗ hong xác thực đầu vao/dau ra

- Phòng tránh

Kiểm tra dữ liệu đầu vào; xác nhận dữ liệu đầu ra; kiểm tra theo ngữ cảnh

cụ thé; kiểm tra tính toàn vẹn dữ liệu; lập trình an toàn; kiểm tra bảo mật thường

xuyên.

e) M5: Insecure Communication (Giao tiếp không an toàn)

- Phuong thức tan công (Khả năng khai thác: Dé)

Mặc dù các ứng dụng hiện đại thường sử dụng các giao thức mật mã hóa như

SSL/TLS, nhưng đôi khi chúng có thé có những lỗi trong việc triển khai như:

Dang Kiều Phong — B19DCAT137 21

Trang 33

Đồ án tốt nghiệp

+ Sử dụng các giao thức không được dùng nữa và/hoặc cài đặt cấu hình

kém;

+ Chấp nhận chứng chi ssl xấu (tự ký, bị thu hồi, hết hạn, sai máy chủ );

+ Không nhất quán (chi có SSL/TLS trên một số qui trình công việc nhất

định, chăng hạn như xác thực)

- _ Điểm yếu bảo mật (Tỷ lệ xuất hiện: Phổ biến, Khả năng phát hiện: Trung

bình)

Việc một ứng dụng sử dụng các giao thức bảo mật mạng không đồng nghĩa

với việc nó đã được triển khai đúng cách Để xác định các lỗi cơ bản, có thể

quan sát lưu lượng mạng trên điện thoại Tuy nhiên, dé phát hiện các lỗi đòi hỏi

một cái nhìn cần thận vào thiết kế và cấu hình của ứng dụng

- Tác động (Mức độ: Nghiêm trọng)

+ Lỗ hồng nay có thé làm lộ dữ liệu người dùng, điều này có thé dẫn đến

việc chiếm đoạt tài khoản, giả mạo người dùng, rò rỉ dữ liệu xác thực

người dùng và nhiều rủi ro khác

+ Ít nhất, việc chặn lay dữ liệu nhạy cảm thông qua một kênh truyền thông

sẽ dẫn đến vi phạm quyền riêng tư Vi phạm tính riêng tư của người

dùng có thê dẫn đến: đánh cắp danh tính; gian lận, hoặc ton thất uy tin

- Dau hiệu nhận biết

Đặc điểm nổi bật của rủi ro này bao gồm việc đóng gói các loại dữ liệu

nhạy cảm và truyền chúng vào hoặc ra khỏi thiết bị Ví dụ về dữ liệu nhạy cảm

bao gồm các khóa mã hóa, mật khâu, thông tin người dùng riêng tư, chỉ tiết tài

khoản, token phiên, tài liệu, siêu dữ liệu và tập tin nhị phân Dữ liệu nhạy cảm

này có thê đến từ máy chủ và chuyền đến thiết bị, có thê đến từ một ứng dụng vàchuyên đến máy chủ, hoặc nó có thể được truyền giữa thiết bị và một thiết bị cục

bộ khác.

- Phòng tránh

Đối với Android:

+ Loại bỏ các đoạn mã sau quá trình phát triển cho phép ứng dụng chấp

nhận tất cả các chứng chỉ như:

org.apache.http.conn.ssl.AllowAllHostnameVerifier hoặc SSLSocketFactory.ALLOW_ALL HOSTNAME VERIFIER;

+ Nếu sử dung một lớp mà mở rộng từ SSLSocketFactory, dam bảo rằng

phương thức checkServerTrusted được triển khai đúng dan dé chứng chỉmáy chủ được kiểm tra chính xác;

Dang Kiều Phong — B19DCAT137 22

Trang 34

Đồ án tốt nghiệp

+ Tránh việc ghi đè onReceivedSslError để chấp nhận chứng chỉ SSL

không hop lệ.

f) M6: Inadequate Privacy Controls (Kiểm soát quyên riêng tu không day đủ)

- Phuong thức tan công (Kha năng khai thác: Trung bình)

+ Thông thường các nguồn PII (Personal Identifiable Information) hay

còn gọi là thông tin nhận dạng cá nhân sẽ được bảo vệ tốt, một số có Ít

khả năng bảo vệ hơn nhưng vẫn khó truy cập, như tham số truy vấn

URL và nội dung bảng nhớ tạm.

+ Do đó, việc lay được PII yêu cầu kẻ tan công phải vi phạm bảo mật ở

cấp độ khác trước tiên Những kẻ tấn công có thể nghe trộm thông tin

liên lạc trên mạng, truy cập hệ thống tệp, khay nhớ tạm hoặc nhật ký

băng trojan hoặc sử dụng thiết bị di động và tạo bản sao lưu dé phan

tích Vi PII chi là đữ liệu có thé được lưu trữ, xử lý và truyền bang moiphương tiện có san trên thiết bị di động nên khả năng trích xuất hoặc

thao tác nó rất đa dạng

- _ Điểm yếu bảo mật (Ty lệ xuất hiện: Phổ biến, Khả năng phát hiện: Dé)

+ Hầu như tất cả các ứng dụng đều xử lý một số loại PII Nhiều khi còn

thu thập và xử lý nhiều hơn mức cần thiết để hoàn thành mục đích củamình, điều này khiến ứng dụng trở nên thu hút kẻ tấn công

+ Rủi ro vi phạm quyên riêng tư gia tăng do nhà phát triển xử ly PII bat can.+ Do đó, một ứng dụng dé bị xâm phạm quyên riêng tư nêu một số dữ liệu

cá nhân mà ứng dụng thu thập thúc đây kẻ tấn công thao túng hoặc lạm

dụng đữ liệu đó thông qua phương tiện lưu trữ hoặc truyền tải không

được bảo mật đầy đủ

- Tac động (Mức độ: Nghiêm trọng)

+ Vi phạm quyên riêng tư thường có ít tác động kỹ thuật đến toàn bộ hệ

thống Chỉ khi PII bao gồm thông tin như đữ liệu xác thực, nó mới có

thể ảnh hưởng đến một số thuộc tính bảo mật toàn cầu nhất định

+ Nếu dit liệu người dùng bị thao túng, nó có thể khiến hệ thống không

thé sử dụng được đối với người dùng đó

+ Mức độ của tác động kinh doanh mà một vi phạm quyền riêng tư gây ra

phụ thuộc mạnh vao số lượng người dùng bị ảnh hưởng, tinh quan trong

của dữ liệu bị ảnh hưởng va các quy định về bảo vệ đữ liệu áp dụng tại

nơi xảy ra vi phạm.

Dang Kiều Phong — B19DCAT137 23

Trang 35

Đồ án tốt nghiệp

- Dau hiệu nhận biết

Ứng dụng có thể tiết lộ PII như bat ky dit liệu nhạy cảm nào khác, thường

xảy ra thông qua: lưu trữ và liên lạc dữ liệu không an toàn; truy cập dữ liệu với

xác thực và ủy quyền không an toàn; các cuộc tấn công nội bộ vào ứng dụng

- Phòng tránh

+ Cách tiếp cận an toàn nhất dé ngăn chặn hành vi vi phạm quyền riêng tư

là giảm thiêu số lượng và số loại PII được xử lý;

+ PII không nên được lưu trữ hoặc truyền tải trừ khi thực sự cần thiết Nếu

nó phải được lưu trữ hoặc truyền tải, quyền truy cập phải được bảo vệ

băng xác thực đúng đắn và có thể là ủy quyên;

+ Mô hình hóa mỗi de doa có thể được sử dụng dé xác định cách thức có

thê xảy ra vi phạm quyên riêng tư trong một ứng dụng cụ thê;

+ Các công cụ kiểm tra bảo mật tĩnh và động có thé phát hiện ra những

cam bay phô biến, như ghi nhật ký dữ liệu nhạy cảm hoặc rò rỉ vào bảng

nhớ tạm hoặc các tham số truy van URL

g) M7: Insufficient Binary Protections (Bảo vệ nhị phân không day đủ)

- Phuong thức tan công (Khả năng khai thác: Dé)

Các tệp nhị phân của ứng dụng thường có thé được tải xuống từ các cửa

hàng ứng dụng hoặc sao chép từ thiết bị di động, vì vậy các cuộc tấn công nhị

phân rất dé thiết lập

Tệp nhị phân của ứng dụng có thể phải chịu hai loại tấn công:

+ Kỹ thuật đảo ngược: Tệp nhị phân của ứng dụng được dịch ngược và

quét để tìm thông tin có giá trị, như khóa bí mật, thuật toán hoặc lỗ hồng

bảo mật.

+ Giả mạo mã: Tệp nhị phân của ứng dụng bị thao túng, ví dụ: dé xóa

kiểm tra giấy phép, vượt tường phí hoặc nhận được các lợi ích khác với

tư cách là người dùng Ngoai ra, ứng dụng có thê bị thao túng dé chứa

mã độc.

- _ Điểm yếu bảo mật (Ty lệ xuất hiện: Phổ biến, Khả năng phát hiện: Dé)

+ Tất cả các ứng dụng đều dé bị tan công nhị phan và nhiều ứng dung sẽ

trở thành đối tượng của một số hình thức tan công vào một lúc nào đó

Những ứng dung có di liệu hoặc thuật toán nhạy cảm được mã hóa

cứng thành tệp nhị phân đặc biệt dễ bị tan công nhị phan

+ Đặc biệt các ứng dụng phô biến có khả năng bị thao túng và phân phối

lại thông qua các cửa hàng ứng dụng Việc phát hiện và loại bỏ các bản

sao

Dang Kiều Phong — B19DCAT137 24

Trang 36

Một cuộc tấn công nhị phân có thé xảy ra dưới dạng kỹ thuật đảo ngược

và rò rỉ thông tin từ tệp nhị phân của ứng dụng hoặc dưới dạng giả mạo

mã và thay đôi cách hoạt động của ứng dụng;

Ro rỉ thông tin từ hệ nhị phân cũng có khả năng tiết lộ các lỗ hồng bao

Thiệt hại lớn về danh tiếng có thể phát sinh, đặc biệt đối với các ứng

dụng phô biến được phân phối lại bằng mã độc

Dấu hiệu nhận biếtTất cả các ứng dụng đều dé bị tan công nhị phân Các cuộc tan công nhị

phân có thé trở nên đặc biệt nguy hiểm nếu ứng dụng có dit liệu hoặc

thuật toán nhạy cảm được mã hóa cứng trong mã nhị phân hoặc nếu ứngdụng đó rất phổ biến Nếu có các biện pháp bảo vệ bô sung, thì các cuộc

tan công thành công sẽ khó đạt được hơn nhưng không bao giờ là không

thé

Đề kiểm tra nhanh chóng, các nhà phát triển có thể kiểm tra mã nhị phâncủa ứng dung của mình bằng các công cụ tương tự như những gì kẻ tan

công sẽ sử dụng Có nhiều công cụ miễn phí hoặc giá rẻ, như MobSF,

otool, apktool và Ghidra, cũng khá dé sử dụng và được tài liệu tốt

Phòng tránh

Kỹ thuật đảo ngược: Dé ngăn chặn kỹ thuật đảo ngược, tệp nhị phân củaứng dụng phải được làm cho không thể hiểu được;

Phá vỡ các cơ chế bảo mật: Việc xáo trộn cũng giúp chống lại sự thao

túng, vì một kẻ tan công phải hiểu được luồng điều khiển dé bỏ qua cáckiểm tra bảo mật và tương tự;

Dang Kiều Phong — B19DCAT137 25

Trang 37

Đồ án tốt nghiệp

+ Phân phối lại (có mã độc): Kiểm tra tính toàn vẹn, ví dụ: khi khởi động,

cũng có thể phát hiện việc phân phối lại và sửa đổi các tệp nhị phân của

ứng dụng Những vi phạm này có thể được báo cáo tự động để tìm và

xóa các bản sao ứng dụng trái phép khỏi các cửa hàng ứng dụng trước

khi chúng trở nên phổ biến

h) M8: Security Misconfiguration (Cau hình bao mật sai)

- Phuong thức tan công (Khả năng khai thác: Khó)

+ Cấu hình sai về bảo mật trong ứng dụng dành cho thiết bi di động có thé

bị khai thác thông qua nhiều phương thức tấn công khác nhau, bao gồm:

+ Cài đặt mặc định không an toàn; kiểm soát truy cập không đúng: mã hóa

hoặc băm yếu; thiếu liên lạc an toàn; lưu trữ không được bảo vệ; quyền

truy cập tệp không an toàn; quản lý phiên bị định cấu hình

- Diém yếu bảo mật (Tỷ lệ xuất hiện: Phổ biến, Khả năng phát hiện: Dé)

+ Cấu hình sai về bảo mật thường xảy ra trong các ứng dụng dành cho

thiết bi di động do các yếu tô như hạn chế về thời gian, thiếu nhận thức

hoặc lỗi của con người trong quá trình phát triển Việc phát hiện các cấu

hình sai về bảo mật tương đối dễ dàng thông qua việc xem xét mã thủcông, kiểm tra bảo mật hoặc các công cụ quét tự động

+ Ví dụ về cấu hình sai bảo mật bao gồm:

e Không tắt tính năng gỡ lỗi trong ban phát hành, điều này có thé làm lộ

thông tin nhạy cảm;

© Cho phép các giao thức liên lạc không an toàn, chang hạn như HTTP;

e Git nguyên tên người dùng và mật khẩu mặc định;

® Kiểm soát truy cập không day đủ cho phép người dùng trái phép thực

hiện các hành động đặc quyên

- Tac động (Mic độ: Nghiêm trọng)

Cấu hình bảo mật sai có thé có tác động đáng ké đến ứng dụng dành cho

thiết bị di động, bao gồm: truy cập trái phép vào đữ liệu nhạy cảm; chiếm đoạt

tài khoản hoặc mạo danh; vi phạm dữ liệu; xâm phạm hệ thống backend; tổn thất

tài chính; gây ngừng hoặc gián đoạn hoạt động của ứng dụng; thiệt hại về danhtiếng thương hiệu

- _ Dấu hiệu nhận biết

Dang Kiều Phong — B19DCAT137 26

Trang 38

an toàn; tắt gỡ lỗi; tắt chế độ sao lưu (Android); hạn chế bề mặt tấn công ứng

dụng bằng cách chỉ hiển thị các hoạt động, nhà cung cấp nội dung và dịch vụ

cân thiệt.

i) M9: Insecure Data Storage (Luu trữ dtr liệu không an toàn)

- Phuong thức tan cong (Kha nang khai thác: Dé)

Các phương thức tan công bao gồm quyên truy cập trái phép vào hệ thống

tệp của thiết bị thông qua các phương tiện vật lý hoặc từ xa, khai thác mã hóa

yếu hoặc thiếu mã hóa, chặn truyền dir liệu va tận dụng phần mềm độc hại hoặc

ứng dụng độc hại được cai đặt trên thiết bị Ngoài ra, các thiết bị đã root hoặc bẻkhóa tạo cơ hội cho kẻ tấn công vượt qua các biện pháp bảo mật và có quyền

truy cập trực tiếp vào dữ liệu nhạy cảm Các vectơ tấn công khác bao gồm các

kỹ thuật lừa đảo xã hội dé đánh lừa người dùng cung cấp quyền truy cập vào dữ

liệu của họ hoặc thao túng hành vi của ứng dụng.

- Điểm yếu bao mật (Tỷ lệ xuất hiện: Pho biến, Kha năng phát hiện: Dé)

+ Cac điểm yêu này bao gồm việc sử dụng mã hóa yếu hoặc không mã

hóa, cho phép các kẻ tấn công dé dang truy cập và giải mã dữ liệu nhạycảm Ngoài ra, việc lưu trữ dit liệu trong các vị tri dé dàng tiếp cận trong

hệ thong tệp tin của thiết bị, như các tệp văn bản thô hoặc các cơ sở dữliệu không được bảo vệ, khiến nó trở nên dễ bị trích xuất hoặc thao tác

không được ủy quyên

+ Hon nữa, việc thiếu các giao thức truyền tải dir liệu an toàn khiến dit

liệu trở nên dễ bị chặn trong quá trình giao tiếp giữa ứng dụng di động

và các máy chủ bên ngoài.

- Tac động (Mức độ: Nghiêm trọng)

Vi phạm dữ liệu; tài khoản người dùng bị xâm phạm; các vấn dé giả mạo vàtoàn vẹn đữ liệu; truy cập trái phép vào tài nguyên ứng dụng: thiệt hại về danh

tiếng và lòng tin; hậu quả pháp lý; tác động tải chính

Dang Kiều Phong — B19DCAT137 27

Ngày đăng: 08/03/2024, 13:52

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

TÀI LIỆU LIÊN QUAN

w