Tổng quan nghiên cứu
Trong bối cảnh phát triển nhanh chóng của công nghệ di động và hệ điều hành Android, số lượng ứng dụng (app) trên nền tảng này ngày càng gia tăng, phục vụ đa dạng nhu cầu người dùng từ giải trí, giao tiếp đến y tế và thương mại điện tử. Theo ước tính, một thiết bị Android cá nhân có thể cài đặt hàng chục ứng dụng, mỗi ứng dụng yêu cầu các quyền truy cập khác nhau như danh bạ, camera, vị trí GPS, bộ nhớ trong... Điều này đặt ra thách thức lớn về bảo mật và quyền riêng tư, khi các ứng dụng có thể thu thập và lưu trữ nhiều thông tin cá nhân nhạy cảm. Vấn đề rò rỉ dữ liệu và khai thác trái phép thông tin người dùng ngày càng được quan tâm trong lĩnh vực an ninh mạng và pháp y kỹ thuật số.
Luận văn tập trung nghiên cứu xây dựng hệ thống điều tra ứng dụng Android nhằm rút trích thông tin từ các file cài đặt (.apk) phục vụ cho việc điều tra và phân tích bảo mật. Mục tiêu cụ thể là phát triển một công cụ tích hợp dựa trên Androguard và các công cụ mã nguồn mở khác để trích xuất các thông tin quan trọng như permissions, activities, providers, receivers, manifest, certificate, dex files... từ các ứng dụng Android. Phạm vi nghiên cứu bao gồm 71 file apk thuộc 12 nhóm ứng dụng phổ biến, được thu thập từ các nguồn như APKPure và APKMirror, trong khoảng thời gian gần đây (đến năm 2022).
Nghiên cứu có ý nghĩa quan trọng trong việc hỗ trợ các cơ quan thực thi pháp luật, chuyên gia an ninh mạng và nhà phát triển ứng dụng trong việc phân tích hành vi ứng dụng, phát hiện mã độc, bảo vệ quyền riêng tư người dùng và nâng cao hiệu quả điều tra pháp y kỹ thuật số trên nền tảng Android.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Luận văn dựa trên các lý thuyết và mô hình sau:
Pháp y kỹ thuật số (Digital Forensics): Là lĩnh vực khoa học pháp y liên quan đến việc thu thập, bảo quản, phân tích và trình bày bằng chứng kỹ thuật số một cách hợp pháp. Pháp y ứng dụng Android tập trung vào việc phân tích các file apk, dữ liệu ứng dụng và hành vi chạy ứng dụng để xác định các dấu hiệu bất thường hoặc vi phạm bảo mật.
Phân tích tĩnh và động (Static and Dynamic Analysis): Phân tích tĩnh là phương pháp trích xuất thông tin từ file apk mà không cần chạy ứng dụng, bao gồm đọc manifest, permissions, cấu trúc file dex, decompile code. Phân tích động theo dõi hành vi ứng dụng trong quá trình chạy, ghi nhận các kết nối mạng, truy cập tài nguyên, tương tác người dùng. Kết hợp hai phương pháp giúp có cái nhìn toàn diện về ứng dụng.
Mô hình rút trích thông tin (Information Extraction Model): Sử dụng công cụ Androguard để phân tích file apk, tạo các đối tượng APK Object, DalvikVMFormat Object và Analysis Object nhằm trích xuất các thành phần như permissions, activities, providers, receivers, classes, certificates.
Mô hình điều tra hành vi ứng dụng (Behavioral Investigation Model): Kết hợp các công cụ decompile (dex2jar, JD-GUI), giả lập thiết bị Android (Android Studio Emulator), và phân tích cơ sở dữ liệu SQLite để theo dõi và phân tích hành vi thực thi của ứng dụng.
Các khái niệm chính bao gồm: Permissions (quyền truy cập), Activities (hoạt động), Providers (nhà cung cấp dữ liệu), Receivers (bộ nhận sự kiện), DalvikVM Format (định dạng mã bytecode Android), Control Flow Graphs (CFG - đồ thị luồng điều khiển).
Phương pháp nghiên cứu
Nguồn dữ liệu: Bộ mẫu gồm 71 file apk thuộc 12 nhóm ứng dụng phổ biến như ứng dụng phòng chống dịch Covid-19, gọi xe, chụp hình, nhắn tin tức thì, họp trực tuyến, bảo mật điện thoại, mua sắm trực tuyến, mạng xã hội, trình duyệt web, theo dõi sức khỏe. Các file apk được tải về từ các trang APKPure và APKMirror.
Phương pháp phân tích: Sử dụng công cụ Androguard làm lõi để phân tích tĩnh file apk, kết hợp với các công cụ dex2jar, JD-GUI để decompile và phân tích mã nguồn Java. Dùng Android Studio tạo môi trường giả lập để phân tích động, kết hợp DB Browser SQLite để xem cấu trúc dữ liệu ứng dụng. Các kết quả được tổng hợp và xuất ra các định dạng báo cáo phổ biến.
Timeline nghiên cứu: Quá trình nghiên cứu kéo dài trong năm 2021-2022, bao gồm giai đoạn khảo sát lý thuyết, xây dựng hệ thống, thử nghiệm với bộ mẫu apk, đánh giá kết quả và hoàn thiện luận văn.
Cỡ mẫu và chọn mẫu: 71 file apk được chọn đại diện cho các nhóm ứng dụng phổ biến, đảm bảo tính đa dạng về chức năng và mức độ phổ biến người dùng. Phương pháp chọn mẫu dựa trên tiêu chí ứng dụng được sử dụng rộng rãi và có tính đại diện cho từng nhóm chức năng.
Phương pháp phân tích dữ liệu: Phân tích định lượng số lượng permissions, features, activities, providers, receivers được rút trích từ các file apk; phân tích định tính hành vi ứng dụng qua decompile và theo dõi hành vi trên giả lập. So sánh kết quả giữa các nhóm ứng dụng và các phiên bản khác nhau của cùng ứng dụng.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
Số lượng permissions và tính đa dạng quyền truy cập: Qua phân tích 71 file apk, trung bình mỗi ứng dụng yêu cầu khoảng 30-40 permissions, trong đó nhóm permissions hệ thống chiếm đa số (44 permissions trong file apk WeChat), bên cạnh đó xuất hiện các permissions do nhà sản xuất hoặc bên thứ ba cung cấp (khoảng 24 permissions trong file apk WeChat). Điều này cho thấy sự phức tạp và đa dạng trong quyền truy cập của ứng dụng, tiềm ẩn rủi ro về bảo mật.
Thông tin rút trích từ các thành phần ứng dụng: Các thành phần như activities, providers, receivers được rút trích đầy đủ từ file apk, với số lượng trung bình từ 20-30 cho mỗi loại trong các nhóm ứng dụng phổ biến. Ví dụ, file apk WeChat có 24 providers và nhiều receivers liên quan đến các chức năng nhắn tin và truyền thông.
Hiệu quả của công cụ Androguard: Công cụ cho phép rút trích thông tin nhanh chóng, chính xác, hỗ trợ phân tích tĩnh toàn diện các thành phần apk. Thời gian xử lý trung bình cho một file apk khoảng 500 giây, phù hợp với nhu cầu điều tra pháp y. So sánh với các công cụ khác như APK Tool, APK Easy Tool, Androguard có ưu thế về tính hệ thống và khả năng tích hợp.
Phân tích hành vi ứng dụng qua decompile và giả lập: Qua decompile bằng dex2jar và JD-GUI, các lớp Java và CFG được tạo ra giúp phân tích chi tiết luồng điều khiển và hành vi ứng dụng. Việc sử dụng Android Studio Emulator và DB Browser SQLite hỗ trợ theo dõi dữ liệu runtime, giúp phát hiện các hành vi bất thường hoặc truy cập dữ liệu nhạy cảm.
Thảo luận kết quả
Kết quả nghiên cứu cho thấy việc tích hợp các công cụ mã nguồn mở trong một hệ thống điều tra ứng dụng Android là khả thi và hiệu quả. Việc rút trích thông tin permissions, activities, providers, receivers từ file apk giúp cung cấp dữ liệu pháp y quan trọng phục vụ điều tra bảo mật. Sự xuất hiện của permissions từ bên thứ ba (như Huawei, Xiaomi) trong các ứng dụng phổ biến như WeChat cảnh báo về nguy cơ rò rỉ thông tin và cần được giám sát chặt chẽ hơn.
So với các nghiên cứu trước đây tập trung phân tích sâu từng nhóm ứng dụng hoặc từng loại artifact, luận văn đã xây dựng được hệ thống tổng thể, tích hợp nhiều công cụ, giúp tăng tính tự động và hiệu quả trong phân tích. Việc kết hợp phân tích tĩnh và động giúp khắc phục hạn chế của từng phương pháp, cung cấp cái nhìn toàn diện hơn về hành vi ứng dụng.
Dữ liệu có thể được trình bày qua các biểu đồ so sánh số lượng permissions, features, activities giữa các nhóm ứng dụng, cũng như bảng tổng hợp chi tiết các thành phần rút trích được từ từng file apk. Các biểu đồ này minh họa rõ sự khác biệt về mức độ truy cập và phức tạp của các ứng dụng theo nhóm chức năng.
Đề xuất và khuyến nghị
Phát triển và hoàn thiện hệ thống điều tra ứng dụng Android: Tiếp tục nâng cấp hệ thống tích hợp các công cụ mã nguồn mở, bổ sung thêm các tính năng phân tích động nâng cao, hỗ trợ tự động hóa quy trình điều tra. Mục tiêu tăng tốc độ xử lý và mở rộng phạm vi phân tích trong vòng 12 tháng tới, do nhóm nghiên cứu và các đơn vị an ninh mạng thực hiện.
Tăng cường giám sát permissions và quyền truy cập của ứng dụng: Đề xuất các cơ quan quản lý và nhà phát triển ứng dụng xây dựng chính sách kiểm soát chặt chẽ hơn về permissions, đặc biệt là các permissions do bên thứ ba cung cấp. Thực hiện đánh giá định kỳ và cảnh báo sớm các ứng dụng có nguy cơ rò rỉ thông tin cá nhân.
Đào tạo và nâng cao năng lực chuyên môn cho cán bộ pháp y kỹ thuật số: Tổ chức các khóa đào tạo về phân tích pháp y ứng dụng Android, sử dụng thành thạo các công cụ Androguard, dex2jar, JD-GUI, Android Studio. Mục tiêu nâng cao kỹ năng phân tích và điều tra trong vòng 6-12 tháng, do các trường đại học và trung tâm đào tạo chuyên ngành thực hiện.
Xây dựng cơ sở dữ liệu pháp y ứng dụng Android: Thu thập, lưu trữ và cập nhật liên tục các thông tin rút trích từ các phiên bản ứng dụng phổ biến, phục vụ cho việc so sánh, phát hiện mã độc và hỗ trợ điều tra. Cơ sở dữ liệu này cần được duy trì và phát triển bởi các tổ chức an ninh mạng trong dài hạn.
Đối tượng nên tham khảo luận văn
Chuyên gia an ninh mạng và pháp y kỹ thuật số: Luận văn cung cấp phương pháp và công cụ phân tích ứng dụng Android, hỗ trợ điều tra các vụ việc liên quan đến rò rỉ dữ liệu, mã độc và hành vi bất thường của ứng dụng.
Nhà phát triển ứng dụng Android: Tham khảo để hiểu rõ hơn về các quyền truy cập và thành phần ứng dụng, từ đó thiết kế ứng dụng an toàn, bảo vệ quyền riêng tư người dùng.
Cơ quan quản lý và giám sát công nghệ thông tin: Sử dụng kết quả nghiên cứu để xây dựng chính sách quản lý permissions, kiểm soát ứng dụng trên các kho ứng dụng, đảm bảo an toàn thông tin quốc gia.
Sinh viên và nhà nghiên cứu trong lĩnh vực công nghệ thông tin: Tài liệu tham khảo quý giá về kỹ thuật phân tích tĩnh, động ứng dụng Android, phương pháp pháp y kỹ thuật số và phát triển hệ thống tích hợp công cụ.
Câu hỏi thường gặp
Phân tích tĩnh và phân tích động khác nhau như thế nào?
Phân tích tĩnh trích xuất thông tin từ file apk mà không chạy ứng dụng, nhanh và tiết kiệm tài nguyên. Phân tích động theo dõi hành vi ứng dụng khi chạy, cung cấp thông tin toàn diện hơn nhưng tốn thời gian và tài nguyên.Androguard có ưu điểm gì so với các công cụ khác?
Androguard tích hợp nhiều chức năng phân tích tĩnh, hỗ trợ decompile, tạo CFG, trích xuất permissions, activities... giúp phân tích toàn diện và tự động hơn so với các công cụ dòng lệnh như APK Tool.Làm thế nào để phân tích hành vi ứng dụng khi chạy?
Sử dụng giả lập Android Studio để cài đặt và chạy ứng dụng, kết hợp theo dõi các kết nối mạng, truy cập dữ liệu, sử dụng DB Browser SQLite để xem dữ liệu runtime, ghi nhận hành vi bất thường.Có thể phát hiện mã độc qua phân tích apk không?
Có thể phát hiện các dấu hiệu mã độc như permissions bất thường, hoạt động ẩn, kết nối mạng không rõ ràng qua phân tích tĩnh và động, tuy nhiên cần kết hợp nhiều phương pháp để đánh giá chính xác.Hệ thống đề xuất có thể áp dụng cho các ứng dụng mới không?
Hệ thống có khả năng phân tích các file apk mới tải về, giúp cập nhật thông tin và phát hiện sớm các nguy cơ bảo mật, hỗ trợ điều tra pháp y kịp thời.
Kết luận
- Xây dựng thành công hệ thống điều tra ứng dụng Android tích hợp công cụ Androguard và các công cụ mã nguồn mở, phục vụ phân tích tĩnh và động file apk.
- Rút trích được các thông tin quan trọng như permissions, activities, providers, receivers, manifest, certificates với độ chính xác cao.
- Phân tích cho thấy sự đa dạng và phức tạp trong quyền truy cập ứng dụng, cảnh báo nguy cơ rò rỉ thông tin cá nhân.
- Hệ thống hỗ trợ hiệu quả cho công tác điều tra pháp y kỹ thuật số, phát hiện mã độc và bảo vệ quyền riêng tư người dùng.
- Đề xuất các giải pháp nâng cao năng lực phân tích, giám sát permissions và xây dựng cơ sở dữ liệu pháp y ứng dụng Android trong tương lai.
Tiếp theo, nhóm nghiên cứu sẽ mở rộng phạm vi thử nghiệm, tích hợp thêm các công cụ phân tích động nâng cao và phát triển giao diện người dùng thân thiện hơn. Đề nghị các tổ chức, cá nhân quan tâm liên hệ để hợp tác nghiên cứu và ứng dụng hệ thống trong thực tế.