Chương 1. © TONG QUAN VE DE TÀI.- -22¿22222+cc222ESzetErErrrrsrrrrcree 3 PD. Mục tiêu để tài. Phạm vi nghiên CỨU.- 6 + + tk kg tre ciÕ 1.
Đối tượng nghiên cứu. Tổng quan về hệ điều hành Android. Thiết bị đi động. Khái niệm hệ điều hành Android.
Lịch sử phát triển của Android. Những đặc điểm của Android. Kiến trúc hệ thống của hệ điều hành Android. Các thư viện Android.
Những thành phan quan trọng của ứng dung Android. Trình giả lập Android — Android EmulatOr. Tổng quan về kỹ thuật hooking. __ Phân loại công cụ hooking.---¿«5cc ss+‡+sserkskekrrre 18 2.
Công cụ hooking được nghiên cứu trong đề tài. Tổng quan về công cụ hooking. Những công cụ được hỗ trợ trong Frida.-c¿ccc5222vccc2222+tvECEEEvrtErktrrerrkrrrrerrkrerrrr 25 2. Các phiên ban cua Xposed Framework.
Xposed Framework APPI. Cách hoạt động của Xposed FramewWOrK. Triển khai Xposed Module. DS Chương3.
XÂY DỰNG UNG DUNG TRIEN KHAI THU NGHIỆM. Thành phan giao diện ứng dụng.Ăcc SH Hee. Ăn HH HH HH HH 39 3. LH HH HH TH HH HH HH 39 3.
HH HH gi 39 ° N6 na.- Gv HH TH TH HH Hưng nh như40 3. Phân loại Ïnten(. Thuộc tính của Ïnf€n(. --- 5 55 + s1 nh ng ngư4I 3.
Chức năng hiện có của ứng dụng .-- -- + c + St sisrerrrrerirrrerees 41 Chương 4. | XAY DUNG HE THONG GIAM SAT HANH VI UNG DUNG. _ Đánh giá khả năng giám sat. Thực hiện triển khai và mô phỏng một số chức năng.
Thực hiện hooking phương thức startActivity. Tìm và liệt kê tất cả những lớp (class) đang được sử dung. Thực hiện hooking sự kiện onC ÏIcK. Sử dụng Frida dé khai thác tính năng Mobile Banking.- «LH HH TT TH HH Hà HH 52 4.
Giới thiệu Ứng dỤng.-- -- c1 SH kg ngư, 52 4. Tổng quan cách hoạt động. Ý tưởng thiết kế giao di@n oo.------ 2c s£+E2+EE£EE£EEEEEEEEEEEEEErEkrrkerrerree 54 4. Kết quả thực nghiệm.
Giao diện chính. - --- cv 9 ng Hàng HH gưkt 56 4. Hooking clipboard ALPÏ. Hooking sendTextMessage APPI.
Hooking Ïn(€TI. vn kg ngư 62 Chương 5. ĐÁNH GIÁ VA KET LUẬN. Kết quả đạt đƯỢC.
Những khó khăn và hạn chẾ.--- 2 ¿2+ + x+EE+EE+E££E++E££EerEerkerxerxsrxee 65 5. Hướng phát triỂn. St 2 St St E121 112115111111111111111111111111111111111 2E. EE tre 66 DANH MỤC HÌNH ANH Hình 1.1 Sơ đồ dự báo thị phần giữa các hệ điều hành di động toàn thé giới.1 Thi phần thương mại hệ điều hành di động theo StatCounter (07/2021) .2 Sơ đồ phân tang kiến trúc hệ điều hành Android.3 Sơ đồ trang thái vòng đời của một ActiVity.4 Máy ảo Android Emulator .5 Luong thực thi hooking [4] .- - - <6 +5 + k**xE+kE+EESkEEseseesskessersee 18 Hình 2.6 Phân loại công cu hooking dựa trên các đặc trưng .7 Mô hình thực hiện sử dung ETIa.8 Ví dụ các câu lệnh thuộc công cụ ÍrIda-fraC€.9 Giao diện Xposed sau khi hoàn tất cài đặt.10 Giao diện Magisk và EdXposed khi cài đặt.11 Mô hình hoạt động của beforeHookMethod và afterHookMethod [15].12 Mô hình hoạt động của replaceHookedMethod.13 Thêm thư viện XpsedBridge vào DrOJ€C.
---- 55c s+ss+exsseress 33 Hình 2.14 Thêm tag metadata vào tệp AndroidManifest.15 Thêm tệp Xposed_ Init vào thư mục aSS€fS.16 Lưu logs và hiển thị tại Xposed Manager.1 Linear Layout được sử dung trong ứng dụng thử nghiệm .2 Khai báo EditText trong file ManIfesf.3 Mô phỏng vai tro CỦa Ïn€TIE. -- -- < 11219 1v HH ng kg 40 Hình 3.4 Giao diện lựa chọn chức nang của ứng dung thử nghiệm.1 Mã nguồn JavaScript dùng dé hook phương thức startActivity().2 Kết quả log thu được khi hook phương thức startActivity().3 Mã nguồn JavaScript dùng dé liệt kê Class được sử dụng .4 Danh sách lớp đã được liệt kê.5 Mã nguồn JavaScript dùng dé hook sự kiện onClick.6 Kết quả thu được sau những lần sự kiện onClick được ĐỌI.7 Màn hình xác thực mã PIN .---- + 2113 E223 1 vs xe erzey 50 Hình 4.8 Thực hiện thành công bypass mã PIN. sàn seeseeirrrske 51 Hình 4.9 Brute-force mã PIN 4 chữ SỐ .--2-©22©225E+SE‡EE22EE2EEEEEEEEEEEEerkrrkrrer 52 Hình 4.10 Mô hình hệ thống giám sát hành vi xây dựng dựa trên Xposed .11 Giao dién hién thi 0 .12 Hién thị thông báo khi phát hiện truy cập clipboard.13 Hién thị cảnh báo khi ứng dụng gửi tin nhắn có chứa mật khẩu .14 Hiền thị thông báo ứng với lựa chọn của người dùng.15 Cảnh báo khi gọi đến ứng dụng gửi tin nhắn ngoài và có mật khẩu.16 Hién thị cảnh báo khi phát hiện URL có trong “danh sách đen”.17 Hiền thị thông báo hành vi ứng với lựa chọn của người dùng.18 Hién thị thông báo khi URL truy cập không có trong “danh sách den” .19 Hién thị thông báo hành vi mở camera từ ứng dụng.20 Hiền thị thông báo hành vi hẹn báo thức và xem lịch.-- - --‹63 DANH MỤC BẢNG Bang 2.1 Danh sách phiên ban Android đến thời điểm hiện tại.2 So sánh tính năng giữa Frida va Xposed Framework.3 Phiên bản Xposed Framework và phiên bản Android tương thich.4 Thông tin về Xposed Framework API.cc c2 cse:30 Bảng 4.1 Mô tả bang cơ sở dữ liệu "logs InÍO”.ccc<ccs<+ 54 Bang 4.2 Danh sách tên lớp và tên phương thức được hook.3 Danh sách tên lớp và tên hàm dựng được hook. 55 DANH MỤC TỪ VIET TAT API Application Programming Interface SMS Short Message Service VM Virtual Machine APK Android Package NEC Near-Field Communication SSL Secure Sockets Layer GSM Global System for Mobile Communications EDGE Enhanced Data for Global Evolution IDEN Integrated Digital Enhanced Network CDMA Code Division Multiple Access EV-DO Evolution-Data Optimized UMTS Universal Mobile Telecommunication System LTE Long Term Evolution PDA Personal Digital Assistant URL Uniform Resource Locator SD Secure Digital TÓM TẮT KHÓA LUẬN Khóa luận với đề tài “°Xây dựng giải pháp giám sát hành vi ứng dụng trên điện thoại Android” xuất phát từ thực tế hiện nay rang cùng với sự bùng bố của ngành công nghiệp 4.0, các thiết bị đi động như điện thoại thông minh, máy tính bảng trở thành một vật dụng không thé thiếu trong cuộc sống.
Một lý do chủ yếu là số lượng các thiết bị động tăng nhanh và lớn mạnh, mặt khác do càng ngày thì người dùng càng dành nhiều thời gian cho những ứng dụng điện thoại nên dẫn đến sự phát trién chóng mặt của thị trường thiết bị di động. Với vị trí hệ điều hành lớn nhất thé giới thời điểm hiện tại cũng như giá thành của những chiếc điện thoại thông minh Android ở mức trung bình thì ứng dụng chạy trên hệ điều hành này đang được sử dụng rất phô biến trong cộng đồng. Tuy nhiên, tốc độ phát triển quá nhanh của Android lại nảy sinh những khoảng trống hay lỗ hồng, đặc biệt là vấn đề về việc bảo mật và đảm bảo thông tin người dùng ứng dụng trên điện thoại. Trên một điện thoại Android hiện tại có thé thực hiện day đủ các chức năng của một máy tính thông thường thông qua các ứng dụng và những chức năng dự kiến đang ngày một mở rộng hơn.
Người dùng lưu trên đó các thông tin cá nhân, tài khoản ngân hàng, tài khoản truy cập các trang mạng. Và một điều tất yếu, ứng dụng điện thoại trở thành mục tiêu tấn công của vi rút, mã độc,. mà tin tặc hay những thành phần xấu dùng dé đánh cắp hay phá hoại thông tin người dùng. Trong đề tài này, nhóm tác giả trình bày một giải pháp sử dụng bộ công cụ Xposed và Frida để phân tích, khai thác và giám sát quá trình hoạt động của ứng dụng, nhằm mục đính hiéu rõ cơ chế hoạt động, ngăn chặn các tác nhân xấu bên ngoài cũng như xây dựng môi trường sử dụng điện thoại an toàn cho mọi người.
Sau quá trình nghiên cứu, nhóm đưa ra quyết định rằng đầu tiên sẽ xây dựng một ứng dụng Android có chứa san những chức năng cần thiết dé phục vụ cho quá trình thử nghiệm sau này. Sau đó, nhóm tác giả sử dụng thiết bị giả lập và cả thiết bị that dé kiểm tra tính khả dụng của ứng dụng được viết. Bước tiếp theo, nhóm sử dụng công cụ Xposed làm căn bản dé giúp xây dựng như một ứng dụng có thê cài đặt trực tiếp trên điện thoại đề điều tra và cảnh báo người dùng về nguy cơ xấu có thê xảy ra. Song song với đó, công cụ Firda được sử dụng một phần hữu ích hỗ trợ lập trình viên hay các nhà phát triển ứng dung có thé nghiên cứu và trích xuất những thông tin cần thiệt băng việc can thiệp vào dữ liệu mã nguôn của ứng dụng.
Hiện tại, trong khuôn khổ khóa luận tốt nghiệp của nhóm thì giải pháp này đang ở một bước triển khai nhất định, hoàn toàn có thể hoàn thiện và mở rộng hơn nữa dé có được một giải pháp tổng thé toàn diện hơn. Đây có thé là một bước đệm quan trọng cho nhóm có thê cải tiến và đưa ra sản phẩm an toàn thông tin trong tương lai có giá trị thiết thực trong cộng đồng. TONG QUAN VE ĐÈ TÀI 1. Dat van dé 100% 90% 80% 70% S(%Mhar)ket aSs ồ8&& 30% 20% 10% 0% se z#` ý? 2#? Android @8 iOS Others Hình 1.1 So đồ dự báo thị phan giữa các hệ điều hành di động toàn thế giới Trong thế giới phát triển ngày nay, thiết bi đi động ngày càng được ưa chuộng và trở nên thông dụng.
Theo dữ liệu từ trang web International Data Corporation (IDC), số lượng thiết bị di động được bán ra thị trường đạt gần 346 triệu thiết bị mỗi quý [1]. Trong đó, số lượng thiết bị chạy trên nên tảng hệ điều hành Android chiếm hơn 85% trên tổng thị phần các hệ điều hành đang được sử dụng và thị phần này được dự đoán vẫn tiếp tục tăng trong những năm tiếp đó. Độ phô biến trên vô tình biến hệ điều hành Android trở thành nguồn tài nguyên mau mỡ đề những kẻ xâm nhập tập trung khai thác lỗ hồng bảo mật nguy hiểm và có thé gây ra những hệ qua vô cùng nặng nề cả về vật chất và con người. Việc cải tiễn và sửa lỗi cũng là một vấn đề khó khăn đối với Android bởi vì đây là một hệ điều hành mở, chỉ có thé xây dựng và liên tục cải tiến một bộ công cụ đủ mạnh mới có thể nhanh chóng tim ra và khắc phục những 16 hồng hiện có và có thé có trong tương lai.
Vi vậy, chủ động giám sát ứng dụng va kip thời ngăn chặn hành vi gây ro ri dữ liệu giúp cho các nhà phân tích chủ động hơn trong việc bảo vệ thiết bị Android trước những nguy cơ tiêm ân đên từ các loại mã độc và các cuộc tân công. Nhằm kiểm soát mối đe doa đến từ việc khai thác tài nguyên trên hệ điều hành Android, nhiều phương pháp phân tích đã được đề xuất và áp dụng. Kỹ thuật phân tích tĩnh và phân tích động thường được dùng trong quá trình phân tích ứng dụng trên hệ điều hành Android.