Đồ á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 1HỌ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 29Mộ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 31Truyề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 36Mộ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 38an 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