Trường Đại học Công nghệ thông tin – ĐHQG Tp.HCMKhoa Mạng máy tính và Truyền thông BÁO CÁO TIẾN ĐỘ ĐỒ ÁN MÔN ĐỒ ÁN LẬP TRÌNH ỨNG DỤNG MẠNG Tên đồ án: Phân tích đặc tính bảo mật của các ứ
Trang 1Trường Đại học Công nghệ thông tin – ĐHQG Tp.HCM
Khoa Mạng máy tính và Truyền thông
BÁO CÁO TIẾN ĐỘ ĐỒ ÁN MÔN ĐỒ ÁN LẬP TRÌNH ỨNG DỤNG MẠNG
Tên đồ án: Phân tích đặc tính bảo mật của các ứng dụng Android
Giáo viên hướng dẫn: T.S Phạm Văn Hậu
Sinh viên thực hiện: Đỗ Bảo Thành – 12520396
Nguyễn Phạm Thủy Ngân – 12520282
Tuần 1: (18/3 -> 24/3) Đọc, hiểu tài liệu Stowaway, hiểu mục đích thực hiện
đồ án
Tuần 2: (25/3 -> 31/3) ● Tìm hiểu cấu trúc file APK
● Cấu trúc 3 loại intent (Explicit Intents, Implicit Intents, Pending Intent)
● Tự động hóa việc tải các ứng dụng (file apk về máy), với số lượng lớn để nghiên cứu, thống kê
● Tìm hiểu cơ chế install-time và run-time của hệ thống Android
● Tìm hiểu về Permission Framework Cơ chế nhận diện chữ ký của developer để xác định các ứng dụng cùng một nhà phát triển
● Xác định nội dung default key
Google Play Downloader chạy trên Ubuntu – tải được 100 file apk/lần
Trang 2● Tự động hóa tải và phân tích hàng loạt file APK
● Xác định nội dung certificate, public key của 1 app
● Thống kê các permission, intent filter, action, category mà app đã sử dụng rồi đưa vào database
Các đoạn shell script dùng để phân tích file APK và đưa vào file text
APK Tool để giải nén APK, và keytool để lấy file RSA
ShellScript
Tuần 4: (8/4 -> 14/4) Tiếp tục nghiên cứu Tiếp tục nghiên cứu
Tuần 5: (15/4 -> 21/4) ● Clustering và cách biểu hiện sự tương tác giữa
các app
● Bước đầu xây dựng chuẩn riêng cho clustering
để phân tích app
● Sử dụng MySQL và đưa dữ liệu từ file text vào database có nội dung là: ID App, tên
developer, permission, action, category …
Xây dựng databases trong MySQL chạy trên Ubuntu
Vẽ cấu trúc databases bằng Microsoft Access
Tuần_5_MySQLBasicTutorial
Tuần 6: (22/4 -> 28/4) Tiếp tục xây dựng database Cơ bản hoàn thành cấu trúc database Tuần_6_Chi tiết Component và
Intent Filter Xây dựng xong cấu trúc database nhưng không chính xác
Tuần 7: (29/4 -> 5/5) Nghỉ lễ 30/4
Tuần 8: (6/5 -> 12/5) ● Hoàn toàn sử dụng câu lệnh khi thao tác với
MySQL
● Mô hình hóa mối liên hệ giữa các bảng
truy vấn, nhưng không đúng chuẩn và thể hiện rõ mối liên hệ của các thành phần trong file APK
Tuần 9: (13/5 -> 19/5) ● Chuẩn hóa cấu trúc database để dễ dàng truy
vấn và thể hiện rõ mối liên hệ các component
và intent filter
● Lược bỏ những chi tiết không ảnh hưởng đến khảo sát bảo mật của APK, thẻ meta data
● Thống nhất cách thức đưa dữ liệu vào database
● Định dạng file text chứa dữ liệu để đưa vào db
● Hoàn thiện cấu trúc database (mối quan
hệ, khóa ngoại, các trường cần đưa vào)
● Dữ liệu được lọc từ file apk bằng code shell script, đưa vào file txt và nạp vào database.
Tuần_9_Lược bỏ Tuần_9_ShellScript
Tuần 10: (20/5 -> 26/5) ● Xây dựng cấu trúc database trên máy
● Đưa dữ liệu vào tất cả các bảng
● Hoàn thành
● Dữ liệu null không đưa vào bảng
Tuần_10_Database
Trang 3● Tải khoảng 300 apps để chính thức phân tích
dữ liệu
● Viết báo cáo tiến độ
● Hơn 300 apps tương đương 3GB bộ nhớ
● Hoàn thành
Báo cáo tiến độ đồ án
Tuần 11: (27/5 -> 2/6) ● Nạp dữ liệu vào bảng và phân tích ● Apktool khi phân tích file apk bị lỗi
(không phân tích được file tên tiếng hoa,
có khoảng trắng trong tên file …)
● File XML không chuẩn dẫn đến tính toán sai
● Input 300 Phân tích xong còn
200 -> Đổi tên và phân tích lại hoặc tìm tool khác
● Chuẩn hóa XML trước khi chạy shell script nạp vào
● Tuần_11_Lỗi phát sinh
● Tuần_11_ShellScript (tập hợp tất cả code shell script dùng để phân tích apk)