Trong phạm vi đồ án của mình, tôi xin phép trình bày một số thông tin cơ bản về kiểm thửxâm nhập; hiện trạng các quy trình, khóa học và công cụ hỗ trợ kiêm thử xâm nhập ứng dụngAndroid;
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THONG TIN I
Đề tài: Kiểm thử xâm nhập ứng dung Android
Giảng viên hướng dẫn :TS Nguyễn Ngọc ĐiệpSinh viên thực hiện :Trần Minh Nhật
Mã sinh viên :B17DCAT139
:D17AT03
32017 — 2022
:Dai hoc chinh quy
Hà Nội, tháng 12 năm 2021
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THONG TIN I
Dé tai: Kiểm thử xâm nhập ứng dung Android
Giảng viên hướng dẫn :TS Nguyễn Ngọc ĐiệpSinh viên thực hiện :Trần Minh Nhật
Mã sinh viên :B17DCAT139
:D17AT03
:2017 — 2022 :Đại học chính quy
Hà Nội, tháng 12 năm 2021
Trang 3Đồ án tốt nghiệp Lời cảm ơn
LOI CAM ON
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc tới Thầy giáo TS Nguyễn Ngọc Điệp đã tận
tình chỉ bảo, hướng dẫn em trong không chỉ quá trình thực hiện đồ án này, nhờ sự giúp đỡ và
những chia sẻ của Thầy, em đã có những định hướng riêng cho tương lai của mình
Em xin chân thành cảm ơn các Thay, Cô trong Khoa Công nghệ Thông tin 1 nói riêng vàtoàn thê các cán bộ của Học viện Công nghệ Bưu chính Viễn thông nói chung đã tạo điều kiện
dé em có thé học tập và phát triển bản thân trong một môi trường rat tốt Cảm ơn các Thầy Cô
đã cung cấp cho em không chỉ kiến thức mà còn là kỹ năng sống, đó là những hành trang hữu
ích cho em trên chặng đường dài phía trước của cuộc đời.
Em cũng xin gửi lời cảm ơn đến những người anh, người bạn đồng nghiệp trong bộ phậnNghiên cứu An ninh mạng thuộc Công ty TNHH Sun Asterisk Việt Nam đã cung cấp cho emnhững kiến thức về lập trình, an ninh mạng, kiểm thử xâm nhập và tạo điều kiện cho em hoànthiện đồ án này
Cuối cùng, em xin cảm ơn gia đình, bạn bè, những người đã luôn ở cạnh, quan tâm, giúp
đỡ và ủng hộ dé bản thân em có thé hoàn thành được đồ án này
Em xin chân thành cảm ơn!
Hà Nội, ngày 31 tháng 12 năm 2021
Sinh viên thực hiện
Trần Minh Nhật
Tran Minh Nhật - B17DCAT139 iil
Trang 4Đồ án tốt nghiệp Nhận xét đánh giá cho điểm
(của người hướng dân)
NHẬN XÉT DANH GIÁ CHO DIEM
(Của Người hướng dẫn)
Điểm: - SG cty (bằng chữ: -¿©2¿©cccxccxcerxerrerreerveee )Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp?
Hà Nội, ngày tháng năm
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
(ký và ghi rõ họ tên)
Tran Minh Nhật - B17DCAT139 iv
Trang 5Đồ án tốt nghiệp Nhận xét đánh giá cho điểm
(của người phản biện)
NHẬN XÉT DANH GIÁ CHO DIEM
(Của Người phản biện)
Điểm: - SG cty (bằng chữ: -¿©2¿©cccxccxcerxerrerreerveee )Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp?
Hà Nội, ngày tháng năm
CÁN BỘ - GIẢNG VIÊN PHAN BIEN
(ký và ghi rõ họ tên)
Tran Minh Nhật - B17DCAT139 v
Trang 6Đồ án tốt nghiệp Mục lục
MỤC LỤC
DANH MỤC TU VIET TAT 5- s2 se se<sessesseseeseesessesseseeseee VÏÏÏ
DANH MỤC BẢNG - 5-5 5< se se cesessessttserserserssrssrssessrrserssrssrssrsseEXDANH MỤC HÌNH VẼ 2 o- se ©setrsecseersereeersetrserserrserssrrserssrre ẨÍ
LOT MỞ ĐẦU 2-5 5< 5£ ©SeESsESsEEseEseEseEsstssessesserserserserssrssessersrrsersse I CHƯƠNG 1: TONG QUANN <5 5< 5s SscseSsevssessessessesserserssrsscsse 2
1.1 Tống quan về kiểm thử xâm nhập - 2s 2s s£ss£ss£ssessesseessessezssese 2
1.1.1 Giới thiệu về kiểm thử xâm nhập - 2-2 s¿ + £+EE+EESEE22E12711211121121121111211 21x xe, 2 1.1.2 Một số khái niệm trong kiểm thử xâm nhập - 2-2 2+E£+EE+£E£+EE+EEE+EEEzEErrkrrrkrrree 2 1.1.3 Giới thiệu về kiểm thử xâm nhập ứng dụng Android -:-2++sz+cx++ze+zxz+zxerxe+ 3
1.2 Khảo sát hiện trang ó5 9 9 9 0.00 0.0000.109 00.00008091 909ø 3
1.2.1 Các quy trình kiểm thử xâm nhập ứng dụng Android -¿- ¿z+2:++zxeerxesrseeee 3 1.2.2 Các khóa học và chứng chỉ về kiểm thử xâm nhập ứng dụng Android . 25 1.2.3 Các công cụ hỗ trợ kiểm thử xâm nhập ứng dụng Android -2 s¿ss+csz+zs+csz+z 29
1.3 Phương hướng nghiÊn Curt d d- ó5 << 9 9 989 9 99999 9.9 9808098994994 056 31
1.4 Két qua dw Kiem Sẽ 32
1.4.1 Quy tinh kiém 8n ốc Ả 32 1.4.2 Công cụ hỗ trợ kiỂm tht ccecccccceccessessesssessssssecssessecssessessuessesssessusssessusssessusssesssesseeeseesseeseess 32
1.4.3 Bộ lab hỗ trợ học và luyện tẬp ¿- ¿6-52 s21 2kE1211 1221111 21111112111111 111111 11111ce 32
CHUONG 2: KIEM THU UNG DUNG ANDROID 33
2.1 Đề xuất quy trình kiểm thử mới
2.2 Những thay đối trong quy trình kiểm thử mới
2.2.1 Kiểm thử lưu trữ dit liệu và quyền riêng tưr -¿- 2° <+E+2EE+EEEEEEEEEEEEEEErkrrrkrrrrres
2.2.2 Kiểm thử thuật toán mã hóa
2.2.3 Kiểm thử xác thực và quản lý phiên
2.2.4 Kiểm thử giao thức kết nối
2.2.5 Kiểm thử tương tác nền tảng - 2-2252 3 E1 EE1121111112112111211211211712 1171.1111110, 2.2.6 Kiểm thử chất lượng mã nguồn và cấu hình bản phát hành 2: 252 ©ce£xzcz4 54 2.2.7 Kiểm thử phương pháp bảo vệ ứng dụng -s- 22c + ©2++2E2EE£EEESEEEEESEECEkkerkrrrrerkree 55
2.3 Két qua 0n 6 6 6 56
CHƯƠNG 3: XÂY DỰNG CÔNG CỤ KIEM THỬ - Š 7
3.1 Giới thiệu Công CỤ d- G56 9 9 9.9 9.99089900089900 0009 0 0900809890804 8050 57
3.2 Phân tích thiét kẾ - se s°s©©x£©+v+e©+ke©ETxeESveEEAtETAstrseEEvseErksetrserrsseorssee 58
3.2.1 Phân tích yêu cầu ¿ 2£ ©2<+2E2EEEE22E11711211711211211 21121111 11.11.111.111 58 3.2.2 Yêu cầu về tính năng - 2 + ©+2©E£+EE+EECSEESEE2E121127121127121171211711 1121.111 58 3.2.3 Thiết kế công CỤ - 22 5c +2<2EEE1E21127121127112110711211211 111111111 11 T11 go 58
Tran Minh Nhật - B17DCAT139 vi
Trang 7Đồ án tốt nghiệp Mục lục
3.2.4 Sơ đồ quy trình xử lý của CONG Cụ -+- 52+ 2kSE2EE2 2212112112117 11 21111 1ecxe 59
3.3 Cài đặt công CỤ d có S9 9.9.9.9 999 08.0800 0910404098019 898990805809899489480096 60
3.4 Thử nghiệm và đánh gid o- 5 << 5 s9 HH 0.0 000000600 60 90 60
3.4.1 Đối tượng thử nghiệm 2-22 2 ©S2+SE£2 9E EEE11271211211121127121171 1171.1121.111 60
3.4.2 Thi nghigm CONG CU oo 60 3.4.3 Danh gid WiGU Qua nh 5 62
3.5 Phương hướng phát trién s- <2 s£©ss©Ss£EseEss£EseEssExserserseersersersserseree 62
CHƯƠNG 4: XÂY DUNG LAB THU NGHIỆM 5- 2 63
4.1 Giới thiệu LAB thử nghiệm 2 2£ se ©e£ES£Ess£Ess£zssezsserssersserse 63
by 0n ổn 6 ố ẽ ẽ 63
4.2.1 Phân tích yêu cầu - 2: ¿22+ <+EESEE9EE19E12112712112711211711 2117111121111 11 11.111 cre, 63 4.2.2 Yêu cầu về tính nang -:- 2© ©E<9EE2EE9E112212112711211711 2117111121111 0E 11.1111 crxcre, 64
4.2.3 Thiết kế ứng dung lab - 2-56 SE E9E1921111211211111111E111 111.1111111 111 11.111 key 64
4.3 Mô tả thiết kế và tính năng s- << s£©ss©Ss£Ess©ss£EseEssEsserserssersersersserserse 64
4.4 CAL 70) 66
4.5 Thử nghiệm và đánh gid o- 5 <5 5 s9 9 9 99 0.00000060968096 66
4.5.1 Phạm vi thử nghiñỆm - - 6< 1119119111191 30 1 nu TH ni HT Hi ng 66 4.5.2 Thử nghiệm LLA 22¿- 222222 92EE292EE12221127111221112211122111221112111211121112 2111 c1 re 66
4.5.3 Dah 0 nh 68
4.6 Phương hướng phát trién s-s- 2s s£©ss©Ss£EssEss£vseEssExseEserssersersersserserse 68
CHƯƠNG 5: KET LUẬN -°-5° 5c sessesssscsessesseseeseesessessessesscsee O9
5.1 Kết quả đạt được <- << 5< ©s< se se se SseEseEseESEEsEESEESEEsEEsEEsEEsEEsEEsessersessrssrssrse 69
5.2 Phương hướng phát trïỄn 2c e° 2 s£©s£©Ss£EssESseEssEseexserseEssersersersserssre 69
TÀI LIEU THAM KHẢO - 5° 2s se ssesseessesseessesseessesseesse 70
Tran Minh Nhật - B17DCAT139 vil
Trang 8Đồ án tốt nghiệp
DANH MỤC TỪ VIET TAT
Danh mục từ viết tắt
Từ viết tắt Từ đầy đủ
AIDL Android Interface Definition Language
API Application Programming Interface
CA Certificate Authority
CVV Card Verification Value
ECB Electronic codebook
IDE Integrated Development Environment
IoT Internet of Things
IPC Inter-process communication
JSON JavaScript Object Notation
JWT JSON Web Token
LAB Laboratory
NFC Near-Field Communications
PII Personally identifiable information
SaaS Software as a service
SD Secure Digital
SQL Structured Query Language
URL Uniform Resource Locator
Trang 9Đồ án tốt nghiệp Danh mục bảng
DANH MỤC BANG
Bang 1.1: đánh giá quy trình kiếm thử do tổ chức OWASP đề xuất -2- 5c s524
Bảng 1.2: đánh giá quy trình kiêm thử được sử dụng bởi công ty Oversecured - 18Bảng 1.3: đánh giá 2 quy trình kiểm thử của OWASP và Oversecured . -s- 24Bảng 1.4: đánh giá 3 khóa học kiểm thử CEH, MASPT và CMWAPT -. :-: 27Bảng 1.5: điểm đánh giá 3 khóa học kiêm thử CEH, MASPT và CMWAPT - 29Bảng 1.6: đánh giá một số công cụ kiểm thử được khuyến nghị sử dung - 30Bảng 2.1: so sánh nội dung quy trình kiểm thử cũ và mới -2- 2z ©s2++2sz+csse¿ 33
Bảng 3.1: so sánh công cụ MobSF va Firebase SCaI 5 + 23119312 3 1111 rệt 62
Tran Minh Nhật - B17DCAT139 1X
Trang 10Đồ án tốt nghiệp Danh mục hình vẽ
DANH MỤC HÌNH VE
Hình 1.2: nội dung MSTG-PLUATTRFORM-S - Q.1 TT HH Hư tư 17
Hình 1.3: nội dung phần ứng dụng di động trong khóa học CEH -¿2=5+¿ 26
Hình 1.4: nội dung khóa học MASTPT, - - G1 1.11 HH Hệ 26
Hình 1.5: nội dung phan giới thiệu kiểm thử của khóa học CMWAPT - 27Hình 1.6: nội dung phan kỹ thuật kiểm thử của khóa học CMWAPT ¿©5552 27Hình 1.7: công cụ MobSF rà quét lỗ hồng cau hình Firebase -2¿ ¿©5252 31Hình 2.1: ứng dụng Shopify lộ dữ liệu nhạy cảm qua nhật ký hệ thống . 42Hình 2.2: 16 hông của ứng dụng Shopify được trả 2000$ tiền thưởng -. - 42
Hình 2.3: cấu trúc mã JWT -¿ -¿- 2¿+2+++2x++EE+2EE2711271127112711271211211211211 21121 ryee 45
Hình 2.4: chứng thư số SSL của facebook.€Om 2: ¿2 +£++£+EE£EE+2EE+EEtEEvExerxezresrxee 46
Hình 2.5: Proxy > Option > Proxy Listeners - s31 gu ng n nư 47
Hình 2.6: chọn kênh kết nối dang được công cu Burp Suite theo dõi -‹ +: 47
Hình 2.7: chọn loại chứng chi SSL trong công cu Burp SuIfe 5+ se cs+ccseseeseree 48
Hình 2.8: bypass SSL pinning bằng công cụ Objection - 2 5c + £+£xe£xzEerxerresrxee 49
Hình 2.9: webview trong ứng dụng Android chạy mã JaVASCTIDI 5 55+ c+sc+sces50
Hình 2.10: lỗ hong do cấu hình Webview không an toàn ở ứng dung Twitter Lite 50Hình 2.11: lỗ héng do cấu hình Service không an toàn ở ứng dụng IRCCloud 52Hình 2.12: kiểm tra chứng thư số ký ứng dụng bằng công cụ MobSF - 55
Hình 2.13: nén và giải nén tỆp tin apk 6 5 +1 2112312 1 9115119111 1E vn ng hư55
Hình 2.14: cấu trúc bộ nhớ trong của một ứng dụng Android 2: szs2+s+zsz+zz+cs+¿ 56Hình 3.1: công cụ kiểm thử tự động Firebase SCan .- 5s 3n SS SH HH ng re57
Hình 3.2: lưu đồ hoạt động của CONG CỤ - - -G c1 1191 11 1 HH HH ng 59
Hình 3.3: tai công cụ Firebase Scan từ đường dẫn Github 25 s+5z+x+zezxczxese2 60
Hình 3.4: trạng thái thư mục công cụ trước khi Chạy - - - + c + * + EsEEsrseseersrrreereree 60
Hình 3.5: công cụ Firebase Scan tìm kiếm được lỗ hồng về quyền ghi - 61
Hình 3.6: công cụ tương tac với người dùng 5s kg HH nnưy61 Hình 4.1: man hình đăng nhập của ứng dụng PTIT pentest lab 5555 c+cc+s<sexss 63
Hình 4.2: màn hình quản lý tiến độ - 2-2 2 E£+SEEE£EEE2EESEEEEEE2EEEEEE211211711211 11.1 Xe 64
Hình 4.3: menu danh mục ab s53 8833118318 83391 83911119111 111 118111 g1 11H ng ngư 65
Tran Minh Nhật - B17DCAT139 x
Trang 11Đồ án tốt nghiệp Danh mục hình vẽHình 4.4: màn hình thông tin của một lỗ hồng - 2-22 £©+£2££££E+£E£+E++£xzxezzxez 65
Hình 4.5: thông báo hoàn thành ]ab - - 5 + 1311993191191 910 191119111 Hệ 66
Hình 4.6: nội dung lab dich ngược SỐ Ì 2S TT EEE T1 11 1111 1111111111111 11111 cry 66Hình 4.7: giải nén ứng dung bằng công cụ apktool 2-2: +2++z£+£x+zx+zzxerxezrssrxee 67
Hình 4.8: thông tin dang nhập của tài khoản admiin -ó- 6 + 55 + #sseEseeseeseeeerke 67
Hình 4.9: lab dich ngược số 1 đã được hoàn thành - 2-2 2+ ++E++EE+E+EE+EzErEerrerrees 68
Tran Minh Nhật - B17DCAT139 xi
Trang 12Đồ án tốt nghiệp Lời mở đầu
LOI MO DAU
Năm 2007 là một cột mốc lớn trong lịch sử phát triển của các thiết bị di động thông minh,
đó là thời điểm mà Steve Jobs và ông lớn Apple cho ra mắt chiếc iPhone đầu tiên với những
tính năng: màn hình cảm ứng, kho ứng dụng riêng và nỗi bật nhất là khả năng truy cập đầy đủnội dung trên internet — điều mà trước đó chỉ máy tính mới có thê làm được
Cùng năm đó, gã không lồ Google cũng công bồ hệ điều hành Android 1.0 phiên ban thử
nghiệm dành cho các nhà phát trién Nhưng khác với Apple, Google không chỉ muốn dừng lại
ở một chiếc Google Phone, họ muốn tạo ra một nền tảng hoạt động cho vô số chiếc di độngthông minh khác nhau, bat ké mẫu mã, nhãn hiệu
“Today’s announcement is more ambitious than any single ‘Google Phone’
that the press has been speculating about over the past few weeks Our vision is
that the powerful platform we’re unveiling will power thousands of different
phone models.”
Eric Schmidt, Chủ tịch kiêm CEO của Google
Với tầm nhìn đó, cho tới hiện nay, chúng ta đã có cả một thị trường các thiết bị di độngchạy hệ điều hành Android với rất nhiều kiểu dáng, mẫu mã, tới từ nhiều hãng công nghệ lớnnhư Samsung, Oppo, Xiaomi, Kéo theo đó là sự phát triển của rất nhiều ứng dụng đáp ứngmọi nhu cau công việc được công bồ trên Google play store
Tuy nhiên, sự phát triển của công nghệ cũng đi kèm với những mối nguy mat an toàn thôngtin Theo thống kê của Kaspersky, năm 2020 ghi nhận 156710 ứng dụng mã độc, tăng hơn224% so với số lượng ghi nhận trong năm 2019 [1] Những ứng dụng mã độc này chủ yếu
nhắm vào dữ liệu của các ứng dụng ngân hàng điện tử, ứng dụng mã độc tống tiền và lợi dụngđại dich Covid-19 dé lừa người dùng cài đặt các ứng dụng độc hại
Đó 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 Là một sinh viên ngành An toàn thông tin, bản thân
cũng có hiệu biết về hệ điều hành Android, về quá trình phát triển ứng dụng Android, kết hợpvới kiến thức về chuyên ngành An toàn thông tin, tôi đã quyết định lay “Kiểm thir xâm nhập
ứng dụng Android” làm đề tài đồ án
Trong phạm vi đồ án của mình, tôi xin phép trình bày một số thông tin cơ bản về kiểm thửxâm nhập; hiện trạng các quy trình, khóa học và công cụ hỗ trợ kiêm thử xâm nhập ứng dụngAndroid; quá trình phát triển công cụ hỗ trợ kiểm thử và quá trình phát triển lab luyện tập kiểm
thử xâm nhập ứng dụng Android.
Theo đó, đồ án của tôi sẽ gồm 5 chương theo cấu trúc như sau:
- Chương 1: Tổng quan
- Chương 2: Kiểm thử ứng dụng Android
- Chương 3: Xây dung công cụ kiếm thir
- Chương 4: Xây dung lab thử nghiệm
- Chương 5: Kết luận
Tran Minh Nhật - B17DCAT139 1
Trang 13Đồ án tốt nghiệp Chương 1: tổng quan
CHƯƠNG 1: TONG QUAN
Chương | trình bày về những nội dung tổng quan, van dé cần chú ý và nội dung nghiêncứu chính của đồ án Những van đề cần chú ý bao gồm:
- Khảo sát về các quy trình kiểm thử xâm nhập đã được công bố
- Khảo sát về các khóa học về kiểm thử xâm nhập ứng dụng Android hiện có
- Khảo sát về các công cụ hỗ trợ kiểm thử xâm nhập ứng dụng Android đang được sử
dụng.
Sau đó tiễn hành phân tích, đánh giá, chỉ ra các điểm thiếu sót, chưa tiên tiến của các quytrình, khóa học và công cụ kiểm thử Từ kết quả phân tích được, xác định phương hướng nghiêncứu nhằm:
- Cải tiễn, bổ sung cho các quy trình kiểm thử xâm nhập ứng dụng Android
- Xây dựng công cụ hỗ trợ học tập kiêm thử xâm nhập ứng dụng Android
- Phát triển công cụ hỗ trợ kiém thử xâm nhập ứng dụng Android
1.1 Tổng quan về kiểm thử xâm nhập
1.1.1 Giới thiệu về kiêm thứ xâm nhập
Kiểm thử xâm nhập là hình thức đánh giá mức độ an toàn của một hệ thống công nghệthông tin bằng các cuộc tấn công mô phỏng thực tế Hiểu đơn giản, quá trình kiểm thử xâm
nhập là các thao tác thực hiện nhằm mục đích xâm nhập vào hệ thống, để từ đó phát hiện ra
những điểm yếu tiềm tàng của hệ thống mà tin tặc có thé khai thác và gây thiệt hại
Mục tiêu của kiểm thử xâm nhập là giúp tổ chức phát hiện càng nhiều lỗ hồng càng tốt, từ
đó khắc phục chúng dé loại trừ khả năng bị tan công trong tương lai
Thời gian thực hiện kiểm thử xâm nhập được quy định sẵn, và khoảng thời gian này thường
ngắn (khoảng vài tuần đến 1 tháng) Khi hết thời gian theo hợp đồng quy định, mọi hành độngtan công nhắm vào hệ thống được coi là vi phạm pháp luật
Kiểm thử xâm nhập có thê được thực hiện trên hệ thống máy tính, ứng dụng web, ứngdụng di động, hạ tầng mạng, các thiết bị IoT, ứng dụng và hạ tầng đám mây, phần mềm dịch
vụ SaaS, API, mã nguon, hoặc một đối tượng trong tổ chức có kết nối với mạng Internet và có
khả năng bị tan công nhưng phổ biến nhất là kiểm thử xâm nhập ứng dụng web và ứng dung
di động Những thành phan trên được gọi là đối tượng kiểm thử
1.1.2 Một số khái niệm trong kiém thir xâm nhập
Trong kiểm thử xâm nhập có 3 khái niệm cần chú ý, đó là:
- Lỗ hồng (vulnerabilities): là những điểm yếu bảo mật của một phần mềm, phan cứng,
hệ điều hành, hay ứng dụng web cho phép kẻ tan công một cơ sở dé tan công hệ thống
Lỗ hồng có thé đơn giản như mật khẩu yếu, hay phức tạp như lỗ hồng SQL hoặc tran
bộ nhớ đệm.
Tran Minh Nhật - B17DCAT139 2
Trang 14Đồ án tốt nghiệp Chương 1: tổng quan
- Khai thác (exploits): là hành động lợi dụng một lỗ hồng, sự có hay lỗi của phần mềm,
đoạn dữ liệu hay một chuỗi các lệnh nhằm gây ra hành vi bat thường không mong muốnxảy ra trên một hệ thống máy tính Những hành vi đó bao gồm leo thang đặc quyền,đánh cắp thông tin nhạy cảm, tan công từ chối dich vụ, v.v
- Trọng tai (payloads): là dit liệu được truyền đi Trong kiểm thử xâm nhập, phan dữ liệu
này sẽ được chọn lựa đặc biệt dé khai thác được lỗ hồng.
1.1.3 Giới thiệu về kiểm thir xâm nhập ứng dụng Android
Kiểm thử xâm nhập ứng dụng Android là một phần nằm trong kiểm thử xâm nhập ứngdụng di động Đối tượng kiểm thử trong trường hợp này là tat cả các ứng dụng chạy trên hệđiều hành Android, bao gồm các loại thiết bị như: di động thông minh, máy tính bảng, đồng hồthông minh, vòng đeo tay thông minh, ti vi thông minh, va tất cả các thiết bị thong minhchạy hệ điều hành Android
Mục tiêu của kiếm thử xâm nhập ứng dụng Android là giả lập các cuộc tan công nhắm vào
ứng dụng Android, từ đó phát hiện các nguy cơ đến từ yếu tố: con người, thiết bị chạy hệ điềuhành Android và các ứng dụng khác cài đặt trên thiết bị Trong đó phô biến nhất là việc giả lập
tấn công đề xác định các lỗ hồng bảo mật tiềm tàng trong ứng dụng Android
ứng dụng Web là phổ biến và có nhiều tô chức đưa ra quy trình kiểm thử đầy đủ Còn các loại
hình kiểm thử xâm nhập khác vẫn chưa phô biến và phát triển
Kiểm thử xâm nhập ứng dụng Android là một phần nằm trong kiểm thử xâm nhập ứngdụng di động Tuy trong khoảng 5 năm trở lại đây, số lượng ứng dụng Android được đưa lênGoogle play store tăng nhanh, công nghệ lập trình ứng dụng cũng có nhiều sự thay đổi lớn Dễthấy rang xu hướng sử dụng ứng dụng Android hiện nay đã trở nên phô biến Quy trình kiểmthử ứng dụng Android hiện tại đã có, nhưng còn một số điểm chưa phù hop, cần cải tiến
Hiện nay có khoảng 3 quy trình kiểm thử khác nhau, gồm:
- Quy trình kiểm thử do tổ chức OWASP đề xuất [2] [3]
- Quy trình kiểm thử được sử dụng bởi công ty Oversecured (một công ty chuyên về
Trang 15Đồ án tốt nghiệp Chương 1: tổng quan
này nếu có, thì chỉ bao gồm rất ít đề mục kiểm thử, mang mục đích giới thiệu và gắn với nộidung khóa học là chính Cụ thé sẽ được trình bay trong phan khảo sát và đánh giá các khóa họckiêm thử xâm nhập ứng dung Android ở ngay sau phan này
Vì lí do trên, phần này sẽ chỉ tập trung đánh giá 2 quy trình kiểm thử phô biến và đầy đủnhất hiện nay, đó là: quy trình kiểm thử do tô chức OWASP đề xuất và quy trình kiểm thử được
sử dụng bởi công ty Oversecured.
Kết quả đánh giá quy trình kiểm thử do tổ chức OWASP đề xuất như sau Trong đó một
số đề mục sẽ được phân tích kỹ hơn ngay sau bảng kết quả đánh giá
Bảng 1.1: đánh giá quy trình kiểm thử do tổ chức OWASP dé xuất
MSTG-ARCH-I
Tất cả các thành phần ứng dụng đềuđược xác định cụ thê và cần thiết
MSTG-ARCH-2
Các biện pháp kiểm soát bảo mật
không bao giờ chỉ được thực thi ở
phía máy khách mà cả ở trên các
điểm cuối từ xa tương ứng
MSTG-ARCH-3
„ " Kiến trúc cấp cao cho ứng dụng di
Kiên trúc, thiệt kê | động và tất cả các dịch vụ từ xa được
và mô hình hóa | kết nối đã được xác định và yếu tố
nguy co bao mật đã được quan tâm trong kiến
trúc đó.
MSTG-ARCH-4
Dữ liệu được coi là nhạy cảm trong
ngữ cảnh của ứng dụng dành cho thiết
Trang 16Đồ án tốt nghiệp
MSTG-ARCH-6
Một mô hình mối de dọa cho ứngdụng dành cho thiết bị đi động và các
dịch vụ từ xa liên quan đã được tạo ra
để xác định các mối đe dọa tiềm ân
quản lý khóa mật mã (nếu có) và
vòng đời của khóa mật mã được thực
thi Tốt nhất, hãy tuân theo tiêu chuẩn
quản lý khóa như NIST SP 800-57.
MSTG-ARCH-9
Có một cơ chế đề thực thi các bản cậpnhật của ứng dụng dành cho thiết bị
di động.
MSTG-ARCH-10
Van đẻ bảo mat được chú ý trong tat
cả các giai đoạn của vòng đời phát
triên phân mêm.
MSTG-ARCH-II
Một chính sách công bố thông tin có
trách nhiệm được đưa ra và được áp dụng hiệu quả.
Trang 17như PII, thông tin xác thực người
Không có dữ liệu nhạy cảm nào bị lộ
qua cơ chế IPC
MSTG-STORAGE-7
Không có dữ liệu nhạy cảm nào,
chăng hạn như mật khẩu hoặc ghim,
bị lộ qua giao diện người dùng.
Trần Minh Nhật — B17DCAT139
Trang 18Đồ án tốt nghiệp
MSTG-STORAGE-8
Không có dữ liệu nhạy cảm nào được
đưa vào các bản sao lưu do hệ điêu
hành di động tạo ra.
MSTG-STORAGE-9
Ứng dụng sẽ xóa dữ liệu nhạy cảm
khỏi các chê độ xem khi được chuyên
chang hạn như yêu cầu người dùng
đặt mật mã thiết bị
MSTG-STORAGE-12
Ung dung hướng dẫn người dùng về
các loại thông tin nhận dạng cá nhân
được xử lý cũng như các phương
pháp bảo mật tốt nhất mà người dùng
nên tuân theo khi sử dụng ứng dụng.
MSTG-STORAGE- 13
Không có dữ liệu nhạy cảm nào được
lưu trữ cục bộ trên thiết bị đi động
Thay vào đó, dir liệu nên được truy
xuất từ một điềm cuối từ xa khi cầnthiết và chỉ được lưu trong bộ nhớ
Tran Minh Nhật - B17DCAT139
Trang 19Đồ án tốt nghiệp Chương 1: tổng quan
MSTG-STORAGE- 14
Nếu dữ liệu nhạy cảm vẫn được yêucầu lưu trữ cục bộ, dữ liệu đó phảiđược mã hóa bằng khóa lay từ bộ lưutrữ được hỗ trợ bằng phần cứng yêucầu xác thực
Ứng dụng không dựa trên mật mã đối
xứng với các khóa được mã hóa cứng như một phương pháp mã hóa duy
nhất
MSTG-CRYPTO-2
Ứng dụng sử dụng các triển khai đã
được chứng minh của các phương
pháp mã hóa nguyên thủy.
Nên gộp lại và cải tiên
nhạy cảm.
Lí do: nội dung và hướng dẫnkiểm thử đã lỗi thời, không đủchỉ tiết
MSTG-CRYPTO-4
Ứng dụng không sử dụng các giao
thức hoặc thuật toán mật mã không
được chấp nhận rộng rãi cho các mục
Trang 20Đồ án tốt nghiệp Chương 1: tổng quan
để xác thực các yêu cầu của kháchhàng mà không cần gửi thông tin
đăng nhập của người dùng.
Đã thực hiện tốt
MSTG-AUTH-3
Nếu xác thực dựa trên mã thông báo
không trạng thái (JWT), máy chủ
cung cấp mã thông báo đã được kýbằng thuật toán bảo mật
Lí do:
kiểm thử đã lỗi thời, không đủchỉ tiết
Can cải tiên
nội dung và hướng dẫn
MSTG-AUTH-4
Điểm cuối từ xa kết thúc phiên hiện
tại khi người dùng đăng xuất
Đã thực hiện tốt
MSTG-AUTH-5
Áp dụng chính sách mật khẩu và thựcthi chính sách này tại điểm cuối từ xa
Trang 21Đồ án tốt nghiệp
MSTG-AUTH-7
Các phiên bị vô hiệu tại điểm cuối từ
xa sau một khoảng thời gian không
hoạt động được xác định trước và mã
thông báo truy cập hết hạn
MSTG-AUTH-8
Xác thực sinh trắc học, nếu có, không
bị ràng buộc bởi sự kiện (tức là sử
dụng một API chỉ trả về "true" hoặc
"false") Thay vào đó, nó dựa trên
việc mở khóa chuỗi khóa / kho khóa
MSTG-AUTH-9
Xác thực đa yếu tố (2FA) tồn tại ở
điểm cuối từ xa và được thực thi một
Ứng dụng thông báo cho người dùng
về tất cả các hoạt động nhạy cảm vớitài khoản của họ Người dùng có thểxem danh sách các thiết bị, xem
thông tin theo ngữ cảnh (địa chi IP, vi
trí, v.v.) và chặn các thiết bị cụ thể
MSTG-AUTH-12
Cơ chế ủy quyền nên được xác định
và thực thi ở điểm cuối từ xa
Giao thức kết nối
MSTG-NETWORK-1
Dit liệu được mã hóa trên mạng bằng
TLS Kênh bảo mật được sử dụng
nhất quán trong toàn bộ ứng dụng
Trang 22Đồ án tốt nghiệp
MSTG-NETWORK-2
Cài đặt TLS phù hợp với các phương
pháp hay nhất hiện tại hoặc càng gầncàng tốt nếu hệ điều hành di độngkhông hỗ trợ các tiêu chuân được đềxuất
chỉ của riêng mình hoặc ghim chứng
chỉ điểm cuối hoặc khóa công khai và
sau đó không thiết lập kết nối với cácđiểm cuối cung cấp chứng chỉ hoặc
khóa khác, ngay cả khi được ký bởi
CA đáng tin cậy.
MSTG-NETWORK-5
Ung dung không dựa vào một kênh
liên lạc không an toàn (email hoặc
SMS) cho các hoạt động quan trọng,
chăng hạn như đăng ký và khôi phục
Trang 23Đồ án tốt nghiệp
MSTG-PLATFORM-2
Tất ca các đầu vào từ các nguồn bênngoài và người dùng đều được kiểmtra, và nếu cần thiết sẽ được làm sạch
Điều này bao gồm dữ liệu nhận đượcqua giao diện người dùng, các cơ chế
IPC như intent, URL tùy chỉnh va
nguồn mang
MSTG-PLATFORM-3
Ung dụng không cho phép truy cập
các chức năng nhạy cảm qua lược đồ
URL tùy chỉnh, trừ khi các cơ chế này
được bảo vệ đúng cách.
MSTG-PLATFORM-4
Ung dung không cho phép truy cập
các chức năng nhạy cảm qua cơ chế
IPC, trừ khi các cơ chế này được bảo
WebView được định cấu hình dé chi
cho phép bộ xử lý giao thức tối thiểu
được yêu cầu (lý tưởng là chỉ httpsđược hỗ trợ) Các trình xử lý tiềm ânnguy hiểm, chăng hạn như tệp, số
điện thoại va id ứng dụng, đã bị vô hiệu hóa.
Trang 24Đồ án tốt nghiệp Chương 1: tổng quan
MSTG-PLATFORM-7
Nếu các phương thức gốc của ứngdụng được hiển thị với WebView,hãy xác minh rằng WebView chỉ hiển
thị JavaScript có trong gói ứng dụng.
Nên gộp lại
Gộp chung vào
MSTG-PLATFORM-5
MSTG-PLATFORM-8
Quá trình giải mã hóa đôi tượng, nêu
có, được triên khai băng cách sử dụng
các API tuân tự hóa an toàn.
Đã thực hiện tốt
MSTG-PLATFORM-9
Ung dung tự bao vệ mình khỏi các
cuộc tấn công che phủ màn hình
Xác minh rang ứng dụng ngăn việc sử
dụng bàn phím tùy chỉnh của bên thứ
ba bat cứ khi nào dữ liệu nhạy cảm
Lí do: nội dung và hướng dẫnkiểm thử đã lỗi thời, không đủchỉ tiết
MSTG-CODE-2
Ung dung da duoc dung 6 chế độ
phát hành, với các cài đặt phù hợp với Đã thực hiện tốt
Trang 25Đồ án tốt nghiệp
MSTG-CODE-4
Mã gỡ lỗi và mã hỗ trợ nhà phát triển(ví dụ: mã kiểm tra, cửa sau, cài đặtan) đã bị xóa Ứng dụng không ghi lại
các lỗi dài dòng, hoặc thông báo gỡ
lỗi chỉ tiết
MSTG-CODE-5
Tất cả các thành phần của bên thứ ba
được ứng dụng di động sử dụng,
chăng hạn như thư viện và dịch vụ,
đều được xác định và kiểm tra với các
lỗ hồng đã biết
MSTG-CODE-6
Ứng dụng phát hiện và xử lý cáctrường hợp ngoại lệ có thể xảy ra
MSTG-CODE-7
Mặc định từ chối quyền truy cập khi
xảy ra lỗi xử lý logic trong quy trình
kiểm soát bảo mật
từ chối hoạt động
Trang 26Đồ án tốt nghiệp Chương 1: tổng quan
MSTG-RESILIENCE-2
Ứng dung ngăn chặn việc gỡ lỗi va /hoặc phát hiện và phản hồi với trình
gỡ lỗi đang được đính kèm Tat cả các
giao thức gỡ lỗi có sẵn phải được
kiểm tra
MSTG-RESILIENCE-3
Ung dụng phát hiện các tệp thực thi
và dữ liệu giả mạo
MSTG-RESILIENCE-4
Ung dung phát hiện và phản hồi sự
hiện diện của các công cụ dịch ngược
phô biến được cài đặt trên thiết bị
MSTG-RESILIENCE-5
Ứng dụng phát hiện và phản hồi khi
được chạy trong trình giả lập.
MSTG-RESILIENCE-6
Ung dung phát hiện và phan hồi với
mã nguồn và dữ liệu giả mạo trong
không gian bộ nhớ của chính nó.
MSTG-RESILIENCE-7
Ung dung thuc hién nhiều co chế với
mỗi loại phòng thủ
Trần Minh Nhật — B17DCAT139 15
Trang 27Đồ án tốt nghiệp
MSTG-RESILIENCE-8
Các cơ chế phát hiện kích hoạt cácphản hồi thuộc nhiều loại khác nhau,bao gồm cả các phản hồi chậm vaphản hồi ngầm
thiết bị
MSTG-RESILIENCE-II
Tat cả các tệp và thư viện thực thithuộc ứng dụng đều được mã hóa ởcấp độ tệp; và mã nguồn cùng với
những dữ liệu quan trọng bên trong
tệp thực thi được mã hóa hoặc đóng gói Kỹ thuật phân tích tinh bình
thường không làm lộ mã nguồn hoặc
dữ liệu quan trọng.
MSTG-RESILIENCE- 12
Sử dụng kỹ thuật lam roi mã nguôn
đủ an toàn đê bảo vệ mã nguôn trước
các kỹ thuật gỡ rối mã nguồn
MSTG-RESILIENCE-13
Bên cạnh việc đảm bảo đường truyền
dữ liệu an toàn, có thể áp dụng thêmphương pháp mã hóa tải trọng để
ngăn chặn thêm việc nghe trộm.
Tran Minh Nhật - B17DCAT139
Trang 28Đồ án tốt nghiệp Chương 1: tổng quan
Một số đề mục chưa được trình bày tốt trong quy trình kiểm thử do tổ chức OWASP déxuất có nội dung như sau:
- MSTG-STORAGE-9 (được đánh giá khó khăn, không thích hợp khi áp dụng) yêu cầu
ứng dụng Android phải che đi nội dung của ứng dụng khi duyệt ở chế độ đa nhiệm dé
tránh lộ các dữ liệu nhạy cảm Tuy nhiên, như đã trình bày ở bảng đánh giá trên, việc
này thực tế chỉ cần áp dụng nếu ứng dụng tuân theo tiêu chuẩn PCI [5]
FLAG_SECURE not set FLAG_SECURE set
Hình 1.1: nội dung MSTG-STORAGE-9
- MSTG-PLATFORM-5 (được đánh giá cần cải tiến) chi đưa ra phương hướng kiểm tra
như sử dung các playload kiểm tra lỗ hổng XSS, chứ không đề cập tới payload như nào,trong khi payload kiểm tra lỗ héng XSS trên Webview khác so với trên ứng dụng Web
thông thường.
Dynamic Analysis
Dynamic Analysis depends on operating conditions There are several ways to inject JavaScript into an app's WebView:
Stored Cross-Site Scripting vulnerabilities in an endpoint; the exploit will be sent to the mobile app's WebView when the user navigates to the vulnerable function.
¢ Attacker takes a man-in-the-middle (MITM) position and tampers with the response by injecting JavaScript.
¢ Malware tampering with local files that are loaded by the WebView.
To address these attack vectors, check the following:
® All functions offered by the endpoint should be free of
¢ The HTTPS communication must be implemented according to best practices to avoid MITM attacks This means:
all communication is encrypted via TLS (see test case “Testing for Unencrypted Sensitive Data on the Network"), the certificate is checked properly (see test case “Testing Endpoint Identify Verification"), and/or
the certificate should be pinned (see “Testing Custom Certificate Stores and SSL Pinning").
Hình 1.2: nội dung MSTG-PLATFORM-5
Tran Minh Nhật - B17DCAT139 17
Trang 29Đồ án tốt nghiệp Chương 1: tổng quan
Kết quả phân tích và đánh giá quy trình kiểm thử được sử dụng bởi công ty Oversecured
Đánh cắp tệp tin qua Webview Cung cấp đủ thông tin cơ bản
Thực thi mã JavaScript tùy ý trên một |_ Cung cấp đủ thông tin cơ bản
miền bat kỳ (Universal XSS)Ghi đè tệp tin tùy ý Cung cấp đủ thông tin cơ bản
Khả năng khởi động các thành phan | Cung cấp đủ thông tin cơ bản
tùy ý
Khả năng khởi động fragment tùy ý | Cung cấp đủ thông tin cơ bản.Tôn tại lỗ hổng XSS Cung cấp đủ thông tin cơ bản
Khả năng truy cập cơ chế cấp phát | Cung cấp đủ thông tin cơ bản
nội dung (confent provider) tùy ý
Gửi tin nhắn giả mạo Cung cấp đủ thông tin cơ bản
Sử dung intent ngầm định để gửi di | Cung cấp đủ thông tin cơ bản
liệu quảng bá
Truyền dữ liệu đến bộ thu kết quả | Cung cấp đủ thông tin cơ bản.(Result Receiver) nam trong su kiém
soát của kẻ tấn công
Khai báo bộ thu dữ liệu quảng bá | Cung cấp đủ thông tin cơ bản
(Broadcast Receiver) không an toàn.
Tôn tại lỗ hổng SQL injection Cung cấp đủ thông tin cơ bản
Tran Minh Nhật - B17DCAT139 18
Trang 30Đồ án tốt nghiệp Chương 1: tổng quan
Lưu trữ dữ liệu nhạy cảm trên thẻ nhớ | Cung cấp đủ thông tin cơ bản
Có khả năng cài đặt các ứng dụng của |_ Cung cấp đủ thông tin cơ bản
bên thứ ba
Khai báo cứng mật khẩu hoặc token | Cung cấp đủ thông tin co bản
Khai báo cứng khóa mã hóa Cung cấp đủ thông tin cơ bản
Tin nhắn NFC giả mạo Cung cấp đủ thông tin cơ bản.Khởi động Activity không an toàn Cung cấp đủ thông tin cơ bản.Thay thế địa chỉ dịch vụ Internet Cung cấp đủ thông tin cơ bản
Kha năng lấy dữ liệu từ micrô / máy | Cung cấp đủ thông tin cơ bản
ảnh
Kha năng gọi đến số điện thoại tùy ý | Cung cấp đủ thông tin cơ bản.Khả năng ghi đẻ bộ nhớ cache Cung cấp đủ thông tin cơ bản
Lắng nghe từ một cổng cục bộ Cung cấp đủ thông tin cơ bản
Sử dụng một lớp tùy ý Cung cấp đủ thông tin cơ bản
Chèn mã HTML tùy ý Cung cấp đủ thông tin cơ bản.Lưu trữ nhật ký thiết bị không an toàn | Cung cấp đủ thông tin cơ bản.Gia mao cookies Cung cap đủ thông tin cơ bản
Khởi động một dịch vụ với một thành |_ Cung cấp đủ thông tin cơ bản.phần không xác định
Vượt qua cơ chế kiểm tra máy chủ Cung cấp đủ thông tin cơ bản
Khả năng quản lý các tiến trình Cung cấp đủ thông tin cơ bản
Giả mạo thông báo day Cung cấp đủ thông tin cơ bản
Đọc hoặc chỉnh sửa dữ liệu tùy ý từ | Cung cấp đủ thông tin cơ bản
cơ chế chia sẻ tùy chọn (Shared
Preferences)
Lộ giao giện AIDL Cung cấp đủ thông tin cơ bản
Tran Minh Nhật - B17DCAT139 19
Trang 31Chương 1: tổng quanĐánh cắp ảnh của người dùng Cung cấp đủ thông tin cơ bản.
Sử dụng setResult với Activity đã bị
công khai
Cung cấp đủ thông tin cơ bản
Thuộc tính cho phép chạy ở chế độ
gỡ lỗi (debuggable) được bật
Cung cấp đủ thông tin cơ bản
Khả năng tạo thông báo giả mạo Cung cấp đủ thông tin cơ bản
Tùy ý phá hủy nội dung tệp tin Cung cấp đủ thông tin cơ bản
Tùy ý xóa tệp tin Cung cấp đủ thông tin cơ bản
Phát âm thanh / video tùy ý trong ứng
dụng
Cung cấp đủ thông tin cơ bản
Giả mạo yêu cầu HTTP Cung cấp đủ thông tin cơ bản
Truyền dữ liệu độc hại vào phương
thức gốc
Cung cấp đủ thông tin cơ bản
Lưu trữ mật khẩu trên thiết bị Cung cấp đủ thông tin cơ bản
Kha năng truyên thông tin chưa được xác minh vào cơ sở dữ liệu
Cung cấp đủ thông tin cơ bản
Tệp tin có thuộc tính thiếu an toàn
(đọc và ghi)
Cung cấp đủ thông tin cơ bản
Tệp tin có thuộc tính thiếu an toàn
(đọc)
Cung cấp đủ thông tin cơ bản
Tệp tin có thuộc tính thiếu an toàn(ghi)
Cung cấp đủ thông tin cơ bản
Thay đồi hình nền tùy ý Khó khăn khi áp dụng
Mức độ nguy hiểm gần như
không có.
Sử dụng quyền với mức bảo vệ "bình
thường”
Cung cấp đủ thông tin cơ bản
Trang 32Đồ án tốt nghiệp Chương 1: tổng quan
Sử dụng quyền với mức bảo vệ "nguy |_ Cung cấp đủ thông tin cơ bản.hiểm"
Chèn nội dung Cung cấp đủ thông tin cơ bản.Cấu hình SSL / TLS thiếu an toàn Cung cấp đủ thông tin cơ bản
Sử dụng giao thức HTTP không an | Cung cấp đủ thông tin cơ bản
toàn
Sử dụng kết nối Bluetooth không an | Cung cấp đủ thông tin cơ bản
toàn
Sử dụng mã bí mật của Android Khó khăn khi áp dụng
Mức độ nguy hiểm gần như
không có.
Lưu trữ dữ liệu trên thẻ nhớ Khó khăn khi áp dụng
Với đề mục “Lưu trữ dữ liệu
nhạy cảm trên thẻ nhớ” ở mục
nguy hiểm CAO
Giả mạo đường dẫn tệp tin Cung cấp đủ thông tin cơ bản
Thay thé tệp XML hoặc nội dung của | Cung cấp đủ thông tin cơ bản
nó
Sử dụng addJavascriptInterface trên Khó khăn khi áp dụng
Android 4.1 trở xuông Đã lỗi thời do hầu như không
còn thiết bị Android 4.2
Quyền truy cập tệp chung từ URL tệp Trùng lặp
được bật cho WebView Với đề mục “Đánh cắp tệp tin
qua Webview” ở mục nguy
hiểm CAO
Quyên truy cập tệp từ URL tệp được Trùng lặp
bật cho WebView Với đề mục “Đánh cắp tệp tin
qua Webview” ở mục nguy
Trang 33Đồ án tốt nghiệp Chương 1: tổng quan
Nội dung HTTP hỗn hợp được bật Khó khăn khi áp dụng
Không mô tả yêu cầu kiểm thử
cụ thê
Gỡ lỗi từ xa của WebView được bật | Cung cấp đủ thông tin cơ ban
Quyền truy cập nội dung được bật Trùng lặp
cho WebView Với đề mục “Đánh cắp tệp tin
qua Webview” ở mục nguy
hiểm CAO
Cookie được bật cho WebView Trùng lặp
Với đề mục “Đánh cắp tệp tin
qua Webview” và “Gia mao
cookies” ở mục nguy hiểm
CAO.
Quyền truy cập tệp được bật cho | Cung cấp đủ thông tin cơ bản
WebView
Cookie của bên thứ ba được bat Khó khăn khi áp dụng
Không mô tả yêu cầu kiểm thử
cụ thể
Sử dụng lớp SecureRandom trên Loại bỏ
Android 4.2 trở xuông Đã lỗi thời do hau như không
Tải mã nguồn động Khó khăn khi áp dụng
Không mô tả yêu cầu kiêm thử
cụ thể
Sao lưu ứng dụng được bật Cung cấp đủ thông tin cơ bản
Tran Minh Nhật - B17DCAT139 22
Trang 34Đồ án tốt nghiệp Chương 1: tổng quan
Thay thế dữ liệu nhật ký Trùng lặp
Với đề mục “Lưu trữ nhật kýthiết bị không an toàn” ở mụcnguy hiểm CAO
Sử dụng một intent ngầm định để gửi Trùng lặp
EU UV Với đề mục “Sử dụng intent
ngầm định dé gửi dữ liệu quảngbá” ở mục nguy hiểm CAO
Sử dụng một intent ngầm định để Khó khăn khi áp dụng
khởi động một activity Không mô tả yêu cầu kiểm thử
cụ thể
Khởi động một service với một thành Khó khăn khi áp dụng
panikhong xav\dinks Không mô tả yêu cầu kiểm thử
cụ thể
Lưu trữ thông tin có thê không nhạy Trùng lặp
cảm trên thẻ SD Với đề mục “Lưu trữ dữ liệu
nhạy cảm trên thẻ nhớ” ở mục
nguy hiểm CAO
Công khai bộ cung cấp nội dung Khó khăn khi áp dụng
(content provider) Không mô tả yêu cầu kiểm thử
cụ thể
Công khai bộ thu tin quảng bá Khó khăn khi áp dụng
(broadcast receiver) Không mô tả yêu cầu kiểm thử
cụ thể
Công khai activity Khó khăn khi áp dụng
Không mô tả yêu cầu kiểm thử
cụ thé.
Công khai dịch vu (service) Khó khăn khi áp dụng
Không mô tả yêu cầu kiểm thử
cụ thê
Cho phép chạy mã Javascript Cung cấp đủ thông tin cơ bản
Trần Minh Nhật — B17DCAT139 23
Trang 35Đồ án tốt nghiệp Chương 1: tổng quan
Sử dụng thuật toán mã hóa yếu Khó khăn khi áp dụng
Không mô tả yêu cầu kiểm thử
cụ thể
Sử dụng thuật toán SSL/TLS yếu Khó khăn khi áp dụng
Không mô tả yêu câu kiêm thử
cụ thé.
Sử dụng ham băm yếu Khó khăn khi áp dụng
Không mô tả yêu cầu kiểm thử
cụ thé.
Lộ đường dẫn cục bộ trên thiết bị
trong bản phát hành
Khó khăn khi áp dung
Mức độ nguy hiểm gần như
- Danh mục kiểm thử đượcQuy trình kiểm thử do tô | chia theo các phần kiểm thử
chức OWASP đề xuất | liên quan
- Hướng dẫn phương phápkiểm thử, giải thích nguyênnhân và cách vá 16 hồng tươngđối chỉ tiết
- Thiên hướng các quy tắc vềlập trình an toàn nhiều hơn
- Không hoặc rất ít giới thiệucông cụ kiêm thử
Trang 36Đồ án tốt nghiệp Chương 1: tổng quan
Quy trình kiểm thử được
sử dụng bởi công ty
Oversecured
- Nội dung kiểm thử tốt
- Danh mục kiểm thử đượcchia theo mức độ nguy hiểmcủa các lỗ hồng
dễ hiểu, vì công ty Oversecured cung cấp dịch vụ kiểm tra mã nguồn ứng dung dé xác định các
lỗ hồng bảo mật, nên họ chỉ muốn tập trung vào xác định các lỗ hồng chứ không muốn thực
hiện đánh giá toàn diện.
Quy trình kiểm thử do tổ chức OWASP đề xuất tuy chưa phải tốt nhất hiện nay, nhưngthích hợp đề sử dụng làm đề mục kiểm thử hơn
1.2.2 Các khóa học và chứng chỉ về kiểm thử xâm nhập ứng dụng Android
1.2.2.a Khảo sát
Các khóa học online hoặc khóa học, tài liệu được cung cấp khi đăng ký thi chứng chỉ làmột trong số những cách tốt nhất để những người muốn tìm hiểu có thé tiếp cận kiến thức Tuy
nhiên các khóa học thi chứng chỉ chưa thực sự đáp ứng được điều này Ngay cả khóa học của
các chứng chỉ nổi tiếng như: chứng chỉ CEH của EC-Council, MASPT của eLearnSecurity (tên
chứng chỉ là eMAPT), CMWAPT của infosecinstitute, cũng chưa thực sự tốt.
1.2.2.b Phân tích và danh gia
Theo như danh mục nội dung thì khóa học CEH chủ yếu là giới thiệu và không đi sâu vàokiến thức:
Tran Minh Nhật - B17DCAT139 25
Trang 37Đồ án tốt nghiệp Chương 1: tổng quan
Ethical Hacking and Countermeasures Exam 312-50 Certified Ethical Hacker Hacking Mobile Platforms
Module Flow CE H
1 ^
3)
Mobile Platform Attack Vectors Hacking iOS
là áiHacking Android OS Mobile Device Management
Hình 1.3: nội dung phân ứng dung di động trong khóa hoc CEH
Khóa học MASPT có tập trung sâu vào các kiến thức về kiểm thử như: cài đặt môi trường,dịch ngược ứng dụng, kiểm soát kết nối mạng, bảo mật thiết bị và dữ liệu, phân tích mã độc
Android, Tuy nhiên các ví dụ, LAB và công cụ được giới thiệu trong khóa học đã lỗi thời.
Quy trình kiểm thử xâm nhập cũng không được hướng dẫn trong khóa học này
Syllabus
Section: Android
Module 1 : Android: Android Architectures Module 2 : Android: Setting up a Testing Environment
Module 3 : Android: Android Build Process
Module 4 : Android: Reversing APKs
Module 5 : Android: Device Rooting Module 6 : Android: Android Application Fundamentals Module 7 : Android: Network Traffic
Module 8 : Android: Device and Data Security
Module 9 : Android: Tapjacking
Module 10 : Android: Static Code Analysis
Module 11 : Android: Dynamic Code Analysis
Hình 1.4: nội dung khóa hoc MASPT
Khóa học CMWAPT hướng dẫn sử dụng một số công cụ mạnh thường được sử dụng trongcông việc thực tế như: Drozer, Frida, Phần cuối còn nói thêm một số quy ước lập trình ứngTran Minh Nhật - B17DCAT139 26
Trang 38Đồ án tốt nghiệp Chương 1: tổng quan
dụng an toàn Tuy nhiên phần nội dung về kiểm thử xâm nhập ứng dụng Android thì lại quá sơsài, đa số chỉ là cài đặt môi trường cơ bản và giới thiệu
Introduction Duration: 2:31
Setting up the VM Duration: 2:12
Setting up the Emulator Duration: 3:24
Reversing Android Applications Duration: 7:43
Introduction to Drozer Duration: 4:29
Hình 1.5: nội dung phan giới thiệu kiểm thử cua khóa học CMWAPT
Course syllabus
Exploiting Android Components Duration: 10:43
Insecure Data Storage Duration: 2:55
Analyzing Network Traffic Duration: 4:47
Side Channel Data Leakage Duration: 3:29
Broken Cryptography Duration: 1:14
- Nội dung bao quát nhiều kiến thức | - Phần về kiểm thử xâm nhập chỉ
CEH trong lĩnh vực An toàn thông tin mang tính chất giới thiệu, không đi
sâu vào hướng dẫn kiểm thử
Tran Minh Nhật - B17DCAT139 27
Trang 39Đồ án tốt nghiệp Chương 1: tổng quan
- Nội dung kiến thức chuyên sâu vàtập trung vào kiểm thử xâm nhập
- Chưa hướng dẫn quy trình kiểmthử trong thực tế
ứng dụng di động - Các công cụ được giới thiệu đã
MASPT | - Nhiều bài LAB luyện tập lôi thời, _,
- Các bai LAB chứa những lô hông
đã cũ, không còn xuất hiện nhiềutrong thực tế
- Nội dung khóa học bao quát cả - Kiến thức không kỹ bằng khóa
CMWAPT kiêm thử xâm nhập ứng dụng Web học CEH.
dụng trong thực tế
Về thời gian công bố và cập nhật mới thì:
- Khóa học CEH được cập nhật lên phiên ban thứ 11 vào tháng 9 năm 2020.
- Khóa học MASPT được cập nhật lên phiên bản thứ 2 vào thang 9 năm 2016.
- Khóa học CMWAPT được công bồ vào thang 8 năm 2020
Bên cạnh các khóa học trên, tôi đã học nhiều khóa học khác về kiểm thử xâm nhập ứng
dụng Android như: các khóa học trên Udemy, trên trang web freeeducationweb, khóa học cua
aditya, khóa học của os prashant, tông cộng hơn 10 khóa học khác nhau Những tình trạng
đã đề cập ở trên đều xuất hiện trong các khóa học này Và tình trạng xuất hiện chung ở hầu hết
các khóa học là:
- Nội dung đã cũ, không còn áp dụng được với các ứng dụng Android hiện nay.
- Không giới thiệu các quy trình kiểm thử được sử dung trong thực tế
- Các bài lab chỉ tái hiện được các lỗ héng đã quá cũ, không còn xuất hiện trong các ứng
dụng hiện nay.
- Chỉ giới thiệu các công cụ cơ bản, không giới thiệu các công cụ mạnh.
Bản thân tôi đã có thời gian dài học tập các kiến thức về an toàn thông tin, trong quá trình
đó tôi cũng dành nhiều thời gian và sự chú ý đến kiến thức về kiểm thử xâm nhập ứng dụngAndroid Từ những trải nghiệm đó, tôi đúc kết ra được những yếu tố cần thiết của một khóahọc kiểm thử xâm nhập gồm:
- Nội dung bao gồm day đủ kiến thức cơ bản
- Giải thích kỹ các kiến thức
- Có các ví dụ thực tế
- Đưa ra các quy trình kiểm thử trong thực tế
- Hướng dẫn thực hiện kiểm thử xâm nhập
- GIới thiệu các công cụ kiêm thử.
- Các bài lab tái hiện những 16 hồng còn xuất hiện trong thực tế
Các yếu tố trên có thể đánh giá theo thang điểm tăng dan, thấp nhất là 1 và cao nhất là 5,tương ứng với đánh giá tăng dan từ: không đáp ứng được — đáp ứng được một phần — đáp ứng
ở mức cơ bản — đáp ứng tốt — đáp ứng đầy đủ
Trang 40Đồ án tốt nghiệp
Tôi đã đánh giá 3 khóa học CEH, MASPT và CMWAPT dựa trên các yếu tố trên, kết qua
cụ thé như sau:
Chương 1: tổng quan
Bang 1.5: điểm đánh giá 3 khóa học kiểm thử CEH, MASPT và CMWAPT
Nội dung bao gồm day đủ
Dua ra các quy trình kiểm
thử trong thực tế
1 - không đáp ứng được
1 — không đáp ứng được
— không đáp ứng được
Hướng dẫn thực hiện kiểm
Các công cụ hỗ trợ cho quá trình kiểm thử xâm nhập ứng dụng Android thường được giới
thiệu trong các khóa học gồm: ADB (Android Debug Bridge), Bytecode Viewer, Apktool,
Drozer, Frida, Burp Suite, Qark Các công cụ này vẫn hiệu quả trong quá trình làm việc thực
tế, tuy nhiên một số công cụ đã quá lỗi thời và sớm bị các công cụ mới thay thế
Hiện nay đã có những công cụ mới ra mắt và rất mạnh mẽ, hỗ trợ nhiều cho quá trình kiểm
thử xâm nhập ứng dụng Android Một số cái tên nồi bật có thé kê đến như: MobSF (Mobile
Security Framework), Brida, Mariana Trench,
1.2.3.b Phân tích va đánh gia
Tôi đã thực hiện phân tích và đánh giá về các công cụ đang được các quy trình kiểm thử
và khóa học mà tôi đã đề cập tới khuyến nghị sử dụng Điểm hiệu quả được đánh giá theo 3
mức độ:
Tran Minh Nhật - B17DCAT139 29