Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
2,33 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN NGUYỄN TẤN CẦM PHÁT HIỆN NGUY CƠ THẤT THỐT THƠNG TIN TRÊN ĐIỆN THOẠI DI ĐỘNG ANDROID Chun ngành: Công nghệ thông tin Mã số: 62 48 02 01 TĨM TẮT LUẬN ÁN TIẾN SĨ CƠNG NGHỆ THƠNG TIN Thành phố Hồ Chí Minh - 2020 Cơng trình hồn thành tại: TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Người hướng dẫn khoa học: TS Nguyễn Anh Tuấn TS Phạm Văn Hậu Phản biện 1: Phản biện 2: Phản biện 3: Luận án bảo vệ trước Hội đồng chấm luận án cấp Trường tại: vào lúc … … ngày … tháng … năm … Có thể tìm hiểu luận án tại: - Thư viện Quốc gia Việt nam - Thư viện ĐHQG-HCM - Thư viện Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Tp Hồ Chí Minh MỤC LỤC GIỚI THIỆU Chương TỔNG QUAN 1.1 Giới thiệu tóm tắt cơng trình nghiên cứu 1.2 Mục đích, đối tượng phạm vi nghiên cứu 1.3 Ý nghĩa khoa học thực tiễn đề tài 1.4 Bố cục luận án Chương 2.1 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU Các định nghĩa sử dụng luận án 2.2 Tổng quan hướng nghiên cứu phát thất thoát liệu nhạy cảm thiết bị sử dụng hệ điều hành Android 2.3 Các thách thức 11 Chương HƯỚNG TIẾP CẬN CỦA LUẬN ÁN 13 3.1 Lý lựa chọn hướng tiếp cận luận án 13 3.2 Dữ liệu thử nghiệm 14 3.2.1 ứng dụng Bộ liệu thử nghiệm tình gây thất thơng tin nhạy cảm qua liên 14 3.2.2 Bộ liệu thử nghiệm cho firmware Android tùy biến 15 3.3 Các đề xuất luận án 16 3.3.1 Đề xuất phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm qua liên ứng dụng 16 3.3.2 Đề xuất phương pháp phát thất thơng tin nhạy cảm thành phần Application Framework hệ điều hành Android 35 Chương KẾT LUẬN 39 4.1 Các kết đạt 39 4.2 Các công bố luận án 39 4.2.1 Các cơng bố luận án 39 4.2.2 Các công bố phụ liên quan đến luận án 40 4.2.3 Giải pháp hữu ích liên quan đến luận án 40 4.2.4 Các đề tài tham gia 40 4.3 Hạn chế hướng phát triển luận án 41 4.3.1 Hạn chế 41 4.3.2 Hướng phát triển luận án 41 GIỚI THIỆU Điện thoại thông minh sử dụng phổ biến thời đại ngày Trong đó, điện thoại sử dụng hệ điều hành Android sử dụng nhiều so với điện thoại sử dụng hệ điều hành khác Nguy bảo mật tồn nhiều thành phần khác điện thoại sử dụng hệ điều hành Android, ví dụ ứng dụng cài sẵn, thành phần Application Framework, chí thành phần Linux Kernel Phát thất thoát thông tin nhạy cảm điện thoại sử dụng hệ điều hành Android hướng nghiên cứu quan tâm Các nghiên cứu chủ yếu tập trung phân tích nguy bảo mật ứng dụng cài sẵn điện thoại sử dụng hệ điều hành Android Trong q trình phân tích nguy gây rị rỉ thơng tin nhạy cảm ứng dụng cài sẵn, nghiên cứu chủ yếu phân tích ứng dụng đơn Trong luận án này, chúng tơi đề xuất phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm qua liên ứng dụng phương pháp phát thất thơng tin nhạy cảm thành phần Application Framework hệ điều hành Android Kết thực luận án cho thấy đề xuất luận án sử dụng để rút trích thành phần khác hệ điều hành Android nhiều hãng điện thoại khác phân tích nguy gây thất thơng tin nhạy cảm hai thành phần mức cao hệ điều hành Android ứng dụng Application Framework Trong trình thực luận án này, nghiên cứu sinh cơng bố 09 báo, 02 tạp chí thuộc danh mục ISI (với IF=2.04), 02 tạp chí nước thuộc danh mục tính đến 01 điểm Hội đồng chức danh giáo sư nhà nước, 05 báo đăng kỷ yếu hội nghị khoa học quốc tế Bên cạnh đó, q trình thực luận án, nghiên cứu sinh tập thể cán hướng dẫn tham gia thực đề tài nghiên cứu khoa học đăng ký giải pháp hữu ích liên quan trực tiếp đến cơng việc luận án Cụ thể nghiên cứu sinh cán hướng dẫn tham gia hai đề tài nghiên cứu khoa học Trong đó, đề tài nghiên cứu khoa học cấp Sở khoa học công nghệ TP.HCM, đề tài nghiên cứu khoa học thuộc loại đề tài B, Đại học Quốc gia TP.HCM Ngoài ra, nghiên cứu sinh cán hướng dẫn đăng ký hai giải pháp hữu ích theo hai định Cục Sở hữu trí tuệ, Bộ Khoa học Cơng nghệ Chương TỔNG QUAN 1.1 Giới thiệu tóm tắt cơng trình nghiên cứu Trong luận án này, nghiên cứu sinh đề xuất số phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm thiết bị sử dụng hệ điều hành Android Cụ thể sau: Thứ nhất, luận án đề xuất phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm ứng dụng Android Cụ thể phương pháp đề xuất cho phép mở rộng loại giao tiếp liên ứng dụng, kiểm tra khả tồn giao tiếp liên ứng dụng, tiết kiệm thời gian trình phân tích động Một phần nội dung đóng góp đăng tạp chí Cluster Computing (Springer, ISI, IF: 2.04) [CB1, CB2], kỷ yếu hội nghị ICISA2016 (Springer) [CB3] ICCSN2017 (IEEE) [CB5] Thứ hai, luận án đề xuất phương pháp áp dụng kỹ thuật phân tích luồng liệu ứng dụng Android để phát thất thơng tin nhạy cảm thành phần Application Framework firmware Android Một phần nội dung phương pháp trình bày IEEE MDM2017 [CB4], FAIR2017 [CB6] Thứ ba, đóng góp mặc kỹ thuật việc phát triển công cụ phục vụ cho trình thực đề xuất luận án Mặc dù, đóng góp thứ ba mang tính kỹ thuật chủ yếu, nhiên công sức mà bỏ đáng ghi nhận trình thực luận án Bên cạnh đó, đóng góp phụ khác luận án xây dựng liệu thử nghiệm có số kịch chứa đầy đủ trường hợp gây thất thơng tin nhạy cảm Đây xem đóng góp giá trị cho cộng đồng nghiên cứu lĩnh vực Bộ liệu thử nghiệm nhận ý kiến phản hồi tích cực từ nhóm nghiên cứu liên quan Một phần nội dung đóng góp trình bày hội nghị ICCAI2019 [CB8] (kỷ yếu xuất ACM) 1.2 Mục đích, đối tượng phạm vi nghiên cứu Mục đích nghiên cứu: Đề xuất phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm thiết bị sử dụng hệ điều hành Android Cụ thể luận án phân tích nhiều thành phần khác hệ điều hành Android cách tập trung phân tích luồng thơng tin nhạy cảm ứng dụng cài sẵn thành phần Application Framework hệ điều hành Android Kết nghiên cứu sử dụng cho việc gom nhóm ứng dụng có khả kết hợp gây thất thơng tin nhạy cảm để từ người dùng biết có nên cài ứng dụng kết hợp với ứng dụng khác hay khơng Kết nghiên cứu sử dụng để đánh giá khả gây thất thơng tin nhạy cảm thiết bị sử dụng hệ điều hành Android Đối tượng nghiên cứu: Luận án tập trung vào việc phân tích hai thành phần hệ điều hành Android ứng dụng thành phần Application Framework Phạm vi nghiên cứu: Luận án tập trung vào việc phát thất thơng tin nhạy cảm thơng qua việc xác định tồn luồng liệu gây thất thơng tin nhạy cảm hai thành phần hệ điều hành Android ứng dụng Application Framework Trong phạm vi luận án dùng FlowDroid [1], IC3 [2] danh sách hàm Source-Sink cập nhật từ SuSi [3] để phát luồng liệu gây thất thơng tin nhạy cảm Về mặt kỹ thuật, danh sách hàm Source-Sink bổ sung tương lai mà không cần thiết phải thay đổi phương pháp đề xuất Luồng liệu gây thất thơng tin nhạy cảm ứng dụng qua nhiều ứng dụng khác Trong trường hợp, luồng liệu qua nhiều ứng dụng, chúng tơi phân tích hàm thực chức giao tiếp liên ứng dụng để xác định chuỗi ứng dụng mà luồng thông tin qua Luận án xét giao tiếp liên ứng dụng sau: - Giao tiếp thông qua Intent (bao gồm thành phần Activity, Service, Broadcast receiver) - Giao tiếp thông qua Content Provider - Giao tiếp thông qua việc đọc ghi tập tin chia sẻ Luận án không xét kênh giao tiếp khác dùng chung nhớ RAM, dùng tắc định nghĩa trước – covert chanel (Ví dụ: ứng dụng thứ chỉnh độ sáng hình, ứng dụng thứ hai đọc giá trị độ sáng hình,…),… 1.3 Ý nghĩa khoa học thực tiễn đề tài Các nghiên cứu liên quan chủ yếu tập trung phân tích khả gây rị rỉ thông tin nhạy cảm ứng dụng đơn Cần có nhiều nghiên cứu hướng nghiên cứu liên quan đến kỹ thuật phân tích kết hợp phân tích tĩnh phân tích động nhóm ứng dụng để đánh giá khả gây thất thơng tin nhạy cảm Luận án đề xuất kỹ thuật phân tích tĩnh liên ứng dụng, động liên ứng dụng tĩnh động kết hợp liên ứng dụng nhằm giải hạn chế nghiên cứu liên quan Việc đánh giá nguy gây thất thơng tin nhạy cảm thiết bị Android tiến hành phân tích luồng thơng tin nhạy cảm liên ứng dụng ứng dụng cài sẵn mà thành phần khác Application Framework hệ điều hành Android Luận án đề xuất phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm thiết bị Android cách phân tích luồng liệu nhạy cảm hai thành phần hệ điều hành Android ứng dụng Application Framework Kết nghiên cứu luận án áp dụng việc gom nhóm ứng dụng có nguy kết hợp để thực việc gây thất thơng tin Việc gom nhóm cho phép người dùng biết có nên cài ứng dụng chung với ứng dụng khác hay khơng Bên cạnh đó, kết luận án sử dụng để đánh giá firmware Android tùy biến trước nạp chúng vào điện thoại 1.4 Bố cục luận án Nội dung luận án bố cục gồm chương, tài liệu tham khảo phụ lục Chương 1: Mở đầu Chương 2: Tổng quan tình hình nghiên cứu Chương 3: Cơ sở lý luận giả thuyết khoa học Chương 4: Hướng tiếp cận luận án Chương 5: Kết luận Chương TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU 2.1 Các định nghĩa sử dụng luận án Định nghĩa 1: Dữ liệu nhạy cảm loại liệu cần bảo vệ, cần phải giám sát người dùng trước gửi khỏi thiết bị Theo [4], liệu nhạy cảm điện thoại sử dụng hệ điều hành Android gom thành ba nhóm chính: Personal Information, Sensitive Data Input Devices, Device Metadata Trong đó, Personal Information liệu cá nhân, ví dụ như: danh bạ, lịch, …; Sensitive Data Input Devices liệu từ cảm biến (sensor) thiết bị như: GPS, Microphone, Camera, ; Device Metadata thông tin thiết bị số IMEI, thông tin mạng, số điện thoại, Hình Ba nhóm liệu nhạy cảm điện thoại sử dụng hệ điều hành Android Định nghĩa 2: Nguồn nhạy cảm (Sensitive Source) lời gọi hàm dùng để đọc liệu nhạy cảm Ví dụ hàm getDeviceId (Đoạn mã 1) dùng để đọc số IMEI điện thoại liệu nhạy cảm thuộc nhóm Device Metadata Đoạn mã Hàm đọc số IMEI điện thoại (UNIQUE_IDENTIFIER) Định nghĩa 3: Đích nguy hiểm (Critical Sink) lời gọi hàm dùng để gửi liệu khỏi thiết bị Ví dụ hàm sendTextMessage (Đoạn mã 2) dùng để gửi thông tin khỏi thiết bị thông qua tin nhắn SMS Đoạn mã Hàm gửi tin nhắn (SMS_MMS) Định nghĩa 4: Exit Point lời gọi hàm dùng để gửi liệu khỏi ứng dụng Ví dụ hàm strartActivity hàm dùng để gửi liệu từ ứng dụng sang ứng dụng khác thông qua Intent Đoạn mã Hàm startActivity Định nghĩa 5: Entry Point lời gọi hàm ứng dụng sử dụng để đọc liệu từ bên ứng dụng Ví dụ hàm dùng để đọc thông tin Intent Định nghĩa 6: Luồng liệu nhạy cảm (Sensitive Data Flow) luồng thông tin từ nguồn nhạy cảm đến đích nguy hiểm Hình trình bày loại luồng liệu ứng dụng Android Trong đó, luồng liệu (A) luồng liệu nhạy cảm Luồng liệu (B) đọc liệu nhạy cảm (nguồn nhạy cảm) sau gửi đến hàm cho phép gửi liệu khỏi ứng dụng (Exit Point) Luồng liệu (C) nhận liệu từ ứng dụng khác hàm Entry Point gửi liệu đến hàm Exit Point Trong đó, luồng (D) cho phép nhận liệu từ hàm Entry Point gửi đến hàm gây rị rỉ liệu khỏi thiết bị (đích nguy hiểm) App X (A) (B) (C) (D) Sensitive Source Critical Sink Entry Point Exit Point Hình Các loại luồng liệu ứng dụng Định nghĩa 7: Luồng liệu nhạy cảm liên ứng dụng (Inter-Application Sensitive Data Flow) luồng liệu nhạy cảm có nguồn bắt đầu ứng dụng đích kết thúc ứng dụng khác Hình trình bày minh họa luồng liệu nhạy cảm hai ứng dụng X Y App Y App X Giao tiếp liên ứng dụng Sensitive Source Critical Sink Entry Point Exit Point Hình Hình minh họa luồng liệu nhạy cảm liên ứng dụng 2.2 Tổng quan hướng nghiên cứu phát thất thoát liệu nhạy cảm thiết bị sử dụng hệ điều hành Android Theo thống kê Gartner [5] thiết bị di động chiếm thị phần cao Theo nghiên cứu khác từ IDC [6], Android hệ điều hành điện thoại di động phổ biến so với hệ điều hành khác Theo thống kê Symantec [7], có đến 94% họ mã độc điện thoại di động nhắm đến hệ điều hành Android Các thống kê động lực cho việc triển khai nghiên cứu liên quan đến việc phân tích bảo mật thiết bị sử dụng hệ điều hành Android Cũng theo thống kê Symantec [7], nguy bảo mật hệ điều hành Android, đánh cắp liệu nhạy cảm chiếm tỷ lệ cao với 36% Qua thống kê này, thấy việc phát thất thoát liệu nhạy cảm điện thoại Android cần thiết Thất thơng tin nhạy cảm hành động làm rò rỉ liệu nhạy cảm khỏi thiết bị Tức tồn luồng liệu nhạy cảm theo Định nghĩa Định nghĩa Hình mơ tả trường hợp liệu nhạy cảm bị thất thoát khỏi thiết bị Hình Minh họa luồng liệu nhạy cảm Hệ điều hành Android có nhiều thành phần khác (Hình 5), như: Applications, Application Framework, Libraries, Linux Kernel,… Về mặt lý thuyết, nguy gây thất thơng tin nhạy cảm tồn thành phần hệ điều hành Android Như vậy, việc đánh giá nguy gây thất thơng tin nhạy cảm hệ điều hành Android thực cách phân tích thành phần Tuy nhiên, thực tế, theo danh sách 47 nghiên cứu liên quan mà nghiên cứu sinh tham khảo có đến 85% nghiên cứu tập trung vào việc phân tích ứng dụng Android, tức đối tượng nghiên cứu nghiên cứu thất thoát liệu nhạy cảm thành phần Applications Trong đó, có chưa đến 15% nghiên cứu liên quan chọn đối tượng nghiên cứu Android firmware APPLICATIONS LAYER Home APPLICATIONS LAYER Contacts Phone Browser APPLICATIONS FRAMEWORK LAYER Activity Manager Package Manager Content Providers Window Manager Telephony Manager Resource Manager View System Location Manager LIBRARIES LAYER Surface Manager Media Framework SQLite OpenGL/ES FreeType WebKit SGL SSL libc Notification Manager ANDROID RUNTIME Core Libraries Davik Virtual Machine LINUX KERNEL LAYER Display Driver Camera Driver Flash Memory Driver Binder (IPC) Driver Keypad Driver WIFI Driver Audio Drivers Power Management Hình Cấu trúc hệ điều hành Android Trong nghiên cứu phân tích ứng dụng Android chia thành hai nhóm Nhóm thứ khơng dựa vào việc phân tích luồng liệu nhạy cảm mà dựa vào dấu hiệu liên quan đến việc gây thất thơng tin nhạy cảm xuất hàm truy cập liệu nhạy cảm, hàm gửi liệu khỏi thiết bị [8, 9] Nhóm thứ hai tập trung vào việc phân tích luồng Kiểm tra KHÔNG kiểm tra Kiểm tra liệu nhạy cảm, tức kiểm tra xác liệu nhạy cảm có thật bị gửi khỏi thiết bị hay không Với hướng nghiên cứu thứ nhất, họ tập trung vào việc phát có mặt lúc hàm truy cập liệu nhạy cảm hàm gửi liệu khỏi thiết bị (Hình 6) Với hướng tiếp cận này, kiểm tra xuất quyền tương ứng với nguồn nhạy cảm đích nguy hiểm Kirin [8] nghiên cứu điển hình cho hướng nghiên cứu Kirin kiểm tra xuất đồng thời quyền hạn liên quan đến nguồn nhạy cảm đích nguy hiểm để phát khả gây thất thơng tin nhạy cảm Trong đó, MAD-API [9] kiểm tra xuất nguồn nhạy cảm đích nguy hiểm ứng dụng Hình Phát thất thông tin nhạy cảm việc kiểm tra tồn Nguồn nhạy cảm Đích nguy hiểm Việc khả lan truyền liệu từ nguồn nhạy cảm đến đích nguy hiểm làm giảm độ xác việc phát thất thơng tin nhạy cảm nghiên cứu theo hướng Vì xuất hàm truy cập liệu nhạy cảm hàm gửi liệu khỏi thiết bị trường hợp việc gây thất thoát liệu nhạy cảm trường hợp khơng gây thất liệu nhạy cảm Ví dụ Hình 7, tồn nguồn nhạy cảm đích nguy hiểm, nhiên khơng phải trường hợp gây thất thơng tin nhạy cảm Vì thông tin gửi khỏi thiết bị liệu lan truyền từ hàm đọc liệu không nhạy cảm Hình Minh họa cho trường hợp tồn Nguồn nhạy cảm Đích nguy hiểm khơng gây thất thơng tin nhạy cảm Như vậy, phân tích hành trình lan truyền liệu từ nguồn nhạy cảm đến đích nguy hiểm (tức luồng liệu nhạy cảm theo Định nghĩa Định nghĩa 7) điều cần thiết để phát xác trường hợp gây thất thơng tin nhạy cảm khỏi thiết bị (Hình 8) Đặc điểm kỹ thuật xác định chuỗi hàm lan truyền liệu từ nguồn nhạy cảm đến đích nguy hiểm để phát thất thơng tin nhạy cảm thay xác định tồn nguồn nhạy cảm đích nguy hiểm Có nhiều nghiên cứu liên quan sử dụng hướng tiếp cận [10-27] FlowDroid [1] công cụ mã nguồn mở sử dụng phổ biến (1130 trích dẫn, 3.3.1.4 Đề xuất phương pháp cải thiện độ xác việc phân tích luồng liệu liên ứng dụng cách kết hợp phân tích tĩnh phân tích động Trong phần trước, chúng tơi đề xuất phương pháp cải thiện độ xác kết phân tích tĩnh kỹ thuật phân tích động, nhiên cịn gặp số hạn chế việc phân tích ứng dụng sử dụng kỹ thuật phát sinh liệu động trình thực luồng liệu nhạy cảm liên ứng dụng Trong phần này, đề xuất phương pháp (đặt tên uitHydroid) kết hợp phân tích tĩnh động để giải hạn chế nhằm cải thiện độ xác Hướng tiếp cận khơng cần chỉnh sửa mã nguồn hệ điều hành Android cơng trình [34] eddLeak Việc tương tác lên tất thành phần giao diện trình phân tích động [66] tốn nhiều thời gian Việc xác định thành phần giao diện cần tương tác trình phân tích động [32] giúp ích giảm thời gian phân tích Tuy nhiên cơng trình [32] phân tích ứng dụng đơn Cơng việc luận án xuất mở rộng cho phép phân tích liên ứng dụng Nội dung phương pháp cơng bố Tạp chí ClusterComputing (Springer, ISI, IF=2.04) [CB1] Các ứng dụng Android chứa nhiều Activity Mỗi Activity có chứa nhiều thành phần giao diện Có nhiều loại thành phần giao diện Button, Edit Text, Text View,… Người dùng tương tác với ứng dụng thông qua thành phần Để phát ứng dụng có gây thất thơng tin nhạy cảm hay không, phải thực việc tương tác lên ứng dụng để kích hoạt hành vi chúng Việc tương tác theo cách vét cạn, tức tương tác lên tất thành phần giao diện Tuy nhiên việc tốn nhiều thời gian Thay vào đó, ta cần tương tác lên thành phần giao diện có khả gây thất thơng tin nhạy cảm để rút ngắn thời gian phân tích Ý tưởng phương pháp dùng phân tích tĩnh để xác định thành phần giao diện liên quan đến luồng liệu Thông tin có từ q trình phân tích tĩnh giúp định hướng q trình phân tích động để q trình phân tích động diễn nhanh Tuy nhiên, q trình phân tích tĩnh, số đường bị gián đoạn thông tin thành phần xác định dựa vào thơng tin người dùng tương tác Trong phân tích động, uitHyDroid tương tác với thành phần giao diện liên quan xác định q trình phân tích tĩnh Việc tương tác giúp phát sinh thông tin thành phần/ứng dụng thông qua hàm thực giao tiếp liên thành phần (ICC) giao tiếp liên ứng dụng (IAC) Việc thu thập thông tin ICC IAC lúc phân tích động thực mô-đun sử dụng kỹ thuật hook (Xposed Framework [67]) Điều cho phép phân tích động mà khơng cần phải chỉnh sửa mã nguồn hệ điều hành Android Hình 18 trình bày sơ đồ hệ thống phương pháp uitHyDroid Hệ thống có ba phần chính: Data Path Collector, Automation Operator IAC Collector Data Path Collector thành phần xác định thành phần giao diện cần tương tác theo luồng liệu xác định q trình phân tích tĩnh Trong đó, Automation Operator tiến hành việc tương tác lên thành phần giao diện, IAC Collector thực việc thu thập thông tin giao tiếp liên ứng dụng để hỗ trợ việc xác định thành phần ứng dụng ứng dụng trình phân tích động 29 Static Analysis Data Path Collector Dynamic Analysis Data Flow Path APK file IAC Information Hình 18 Sơ đồ hệ thống phương pháp uitHydroid Kết thử nghiệm phương pháp đề xuất trình bày Bảng cho thấy phương pháp uitHyDroid xác eDSDroid việc phân tích tình phát sinh thơng tin giao tiếp liên ứng dụng động Kết thử nghiệm cho thấy, độ đo Precision (p) uitHydroid (96,36%) cao so với phương pháp đề xuất trước nhiên cịn tình trạng phát nhầm không phát luồng liệu liên lớp thành phần Đây hướng nghiên cứu tương lai luận án Bảng Kết thử nghiệm phương pháp uitHyDroid so sánh với DidFail, IACDroid, eddLeak eDSDroid True Positive False Positive False Negative True Positive False Positive False Negative True Positive False Positive False Negative True Positive False Positive False Negative uitHydroid False Negative eDSDroid Activity SendSMS + StartActivity ForResult1 + Echoer 10 10 10 10 10 0 10 0 Activity ntcIntentActi vity1 + ntcIntentActi vity2 + ntcIntentActi vity3 + ntcIntentActi vity4 ntcIntentActi vity5 + ntcIntentActi vity6 + ntcIntentActi vity7 + ntcIntentActi vity8 0 3 0 0 0 0 0 3 0 0 0 0 Nhóm tình Activity eddLeak False Positive S T T IACDroid True Positive uitIACDroid-Bench DroidBench Data Set DidFail Tình Số luồng thực tế 30 Activity Activity Activity Activity Service Service Service 10 Service 11 Service 12 13 Service ntcIntentActi vity9 + ntcIntentActi vity10 + ntcIntentActi vity11 + ntcIntentActi vity12 ntcIntentActi vity13 + ntcIntentActi vity14 + ntcIntentActi vity15 ntcIntentActi vityPermissio n1 + ntcIntentActi vityPermissio n2 + ntcIntentActi vityPermissio n3 + ntcIntentActi vityPermissio n4 ntcIntentActi vityPermissio n5 + ntcIntentActi vityPermissio n6 + ntcIntentActi vityPermissio n7 + ntcIntentActi vityPermissio n8 ntcService1 + ntcService2 + ntcService3 ntcService4 + ntcService5 + ntcService6 ntcService7 + ntcService8 + ntcService9 + ntcService10 ntcService11 + ntcService12 + ntcService13 + ntcService14 ntcService15 + ntcService16 ntcService17 + 4 4 0 0 2 2 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 31 Broadcast Receiver 14 Broadcast Receiver 15 Broadcast Receiver 16 Broadcast Receiver 17 Broadcast Receiver 18 Broadcast Receiver 19 Shared file 10 Shared file 21 Shared file 22 Shared file 23 Shared file 24 Shared file 25 ntcService18 ntcBroadcast + ntcBroadcast + ntcBroadcast ntcBroadcast + ntcBroadcast + ntcBroadcast ntcBroadcast + ntcBroadcast + ntcBroadcast ntcBroadcast 10 + ntcBroadcast 11 + ntcBroadcast 12 ntcBroadcast 13 + ntcBroadcast 14 + ntcBroadcast 15 ntcBroadcast 16 + ntcBroadcast 17 + ntcBroadcast 18 ntcWriteFile1 + ntcReadFile2 + ntcReadFile1 ntcWriteFile3 + ntcReadFile3 + ntcWriteFile4 ntcWriteFile5 + ntcReadFile5 ntcWriteFile6 + ntcReadFile6 ntcWriteFile7 + ntcReadFile7 ntcWriteFile8 + ntcReadFile8 + 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 32 Shared file 26 Shared file 27 Shared file 28 Shared file 29 30 31 32 33 Content provider Content provider Content provider Dynamic Content Dynamic Content 34 35 Dynamic Content Dynamic Content 36 Inter Layer 37 ntcReadAnd WriteFile8 ntcWriteFile9 + ntcReadFile9 + ntcReadAnd WriteFile9 ntcWriteFile1 + ntcReadFile1 + ntcReadAnd WriteFile10 ntcWriteFile1 + ntcReadFile1 + ntcReadAnd WriteFile11 ntcSharedFile Chain1+ … + ntcSharedFile Chain200 ntcContentPr ovider1 + ntcContentPr ovider2 ntcContentPr ovider3 + ntcContentPr ovider4 ntcContentPr ovider5 + ntcContentPr ovider6 ntcDynamicC ontent1 + ntcDynamicC ontent2 ntcDynamicC ontent3 + ntcDynamicC ontent4 + ntcDynamicC ontent5 ntcDynamicC ontent6 + ntcDynamicC ontent7 ntcDynamicC ontent8 + ntcDynamicC ontent9 + ntcDynamicC ontent10 ntcInterLayer + ntcInterLayer 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 33 Inter Layer ntcInterLayer + ntcInterLayer Tổng số Precision p = TP/(TP+FP) = /(+) Recall r = TP/(TP+FN) = /(+) F1 measure = 2pr/(p+r) 55 16 38 T ổ n g 37 76,19% 47 1 87,04% 49 1 90,74% 49 1 96,07% 53 2 96,36% 30,19% 88,68% 89,09% 89,09% 96,36% 43,24% 87,85% 89,91% 92,45% 96,36% Để đánh giá tính hiệu việc tương tác lên thành phần giao diện cần thiết thay tương tác lên tất cả, chúng tơi định nghĩa số công thức sau: Gọi t thời gian thao tác thành phần giao diện Gọi Nb số thành phần giao diện toàn ứng dụng Gọi Tb thời gian để thao tác tất thành phần giao diện 𝑇𝑏 = 𝑡 × 𝑁𝑏 (1) Gọi Na số thành phần giao diện mà đường liệu qua 𝑁𝑎 ≤ 𝑁𝑏 (2) Gọi Ta thời gian để thao tác thành phần giao diện theo đường liệu qua 𝑇𝑎 = 𝑡 × 𝑁𝑎 (3) Từ (1), (2) (3) ta có: 𝑇𝑎 ≤ 𝑇𝑏 (4) Từ công thức (4) ta thấy việc kiểm thử trường hợp rị rỉ thơng tin cách thao tác thành phần giao diện liên quan đến đường liệu nhạy cảm nhanh so với việc thao tác tất thành phần giao diện số giải pháp trước [68] 𝑁 Trong nghiên cứu này, gọi tỷ số 𝑓 = 𝑁𝑎 biểu diễn tính hiệu việc tương 𝑏 tác theo kịch thay tương tác theo thuật toán duyệt theo chiều sâu (vét cạn) Tỷ số f nhỏ chứng tỏ hiệu việc tương tác theo kịch cao Kết phân tích liệu thử nghiệm cho thấy tỷ lệ f có giá trị thấp Giá trị trung bình f 𝑓 ̅ = 37.22% Kết cho thấy, tỷ lệ thành phần giao diện cần tương tác ứng dụng so với tổng số thành phần giao diện trường hợp muốn kích hoạt hành động gây rị rỉ thông tin nhạy cảm Phát cho thấy cần thiết phải thực bước phân tích tĩnh để định hướng cho việc phân tích động hiệu Để đánh giá hiệu mặt thời gian q trình thực phân tích, chúng tơi thử nghiệm phương pháp đề xuất hướng tiếp cận tương tác lên tất thành phần giao diện theo thuật tốn duyệt theo chiều sâu Thời gian phân tích hướng tiếp cận đề xuất bao gồm thời gian q trình phân tích tĩnh phân tích động, thời gian phân tích hướng tiếp cận duyệt theo chiều sâu bao gồm thời gian thực q trình phân tích động Tuy nhiên, kết thử nghiệm cho thấy thời gian phân tích trung bình theo hướng tiếp cận luận án 42% so với hướng tiếp cận duyệt theo chiều sâu Như giải pháp đề xuất hiệu so với nghiên cứu liên quan tại, khả phân tích liên ứng dụng tốc độ Mặc dù vậy, đề xuất trước luận án cơng trình liên quan, chúng tập trung vào việc phát thất thơng tin một nhóm ứng dụng Chúng chưa xét đến ngữ cảnh sử dụng ứng dụng đó, tức chưa xét đến chức ứng dụng phân tích Tuy nhiên, thực tế, thấy có số ứng dụng phát triển để thực số chức cụ thể, số có chức liên quan đến việc gửi thông tin nhạy cảm khỏi thiết bị Ví dụ, ứng dụng gọi xe taxi thu thập vị trí hành khách gửi đến máy chủ trước chia sẻ cho tài xế Trong trường hợp này, ứng dụng gọi xe đánh dấu gây thất thơng tin kỹ thuật phát ứng dụng viết để thực điểu Như vậy, phát ứng dụng gây thất 34 thơng tin cần thiết phải kiểm tra xem hành vi có phải chức mô tả ứng dụng hay không trước cảnh báo cho người dùng Nhận thức vấn đề trình thực luận án, bước đầu đề xuất phương pháp giảm tỷ lệ phát nhầm ứng dụng có chức gửi thơng tin khỏi thiết bị cách phân tích nội dung thơng tin mô tả ứng dụng hành vi phân tích tập tin APK chúng Hình 19 Với giả định rằng, nhà phát triển ứng dụng mô tả chức ứng dụng phần mơ tả (App Description) sách bảo mật (Privacy policy) chợ ứng dụng Sensitive Data Flow Analyzer Sensitive Data Flow APK Sensitive Checker App Downloader Google Play Meta Data Analyzer Result Sensitive Feature App Description / Privacy policy Hình 19 Hệ thống kiểm tra mối liên hệ thông tin mô tả hành vi ứng dụng Trong hệ thống đề xuất này, mô-đun App Downloader chịu trách nhiệm tải liệu dạng meta data ứng dụng chợ ứng dụng thông tin mơ tả, sách bảo mật tập tin cài đặt (apk) ứng dụng Mô-đun Meta Data Analyzer chịu trách nhiệm phân tích thơng tin mơ tả sách bảo mật ứng dụng để rút trích hành vi chức (Sensitive Feature) ứng dụng (ví dụ: danh sách hàm truy cập liệu nhạy cảm, hàm gửi liệu khỏi thiết bị quyền hạn tương ứng với hàm này) Thông tin Sensitve Feature từ mô-đun Meta Data Analyzer dùng để kiểm chứng kết phân tích mơ-đun phân tích tập tin cài đặt (APK) ứng dụng Mơ-đun Sensitive Checker chịu trách nhiệm kiểm tra kết phân tích mơ-đun Sensitive Data Flow Sensitive Data Flow có nằm nhóm hành vi (Sensitive Feature) mơ tả thơng tin mơ tả sách bảo mật hay khơng Nếu có, tức việc thất thơng tin ứng dụng chức bình thường ứng dụng lúc hệ thống ghi nhận mà không cảnh báo cho người dùng Ngược lại, việc thất thơng tin ứng dụng khơng bình thường cần phải cảnh báo cho người dùng Một phần nội dung đề xuất cơng bố tạp chí Thơng tin truyền thơng (CB9) Vì mảng xử lý ngơn ngữ tự nhiên khơng phải mạnh chúng tôi, nên đề xuất dừng lại mức đề xuất mơ hình sử dụng kỹ thuật xử lý ngơn ngữ tự nhiên đơn giản Do kết việc phân tích mơ tả ứng dụng xử lý ngơn ngữ tự nhiên cịn hạn chế Tuy nhiên, hướng tiếp cận hứa hẹn nhiều kết khả quan tương lai kết hợp với nhóm nghiên cứu mạnh xử lý ngơn ngữ tự nhiên 3.3.2 Đề xuất phương pháp phát thất thơng tin nhạy cảm thành phần Application Framework hệ điều hành Android Với giả định rằng, thành phần ứng dụng cài sẵn an tồn, chí loại bỏ ứng dụng cài sẵn firmware Android chưa thể kết luận an tồn, nguy gây thất thơng tin nhạy cảm tồn thành phần khác Application Framework, Linux Kernel Chính việc phân tích thành phần Application Framework có ý nghĩa quan trọng bối cảnh Trong phần này, đề xuất phương pháp phát thất thơng tin nhạy cảm thành phần Application Framework hệ điều hành Android cách áp dụng phương pháp phân tích luồng liệu ứng dụng Một phần nội dung phương pháp trình bày hội nghị FAIR2017 [CB5] MDM2017 [CB6] Thành phần Application Framework hệ điều hành Android chứa nhiều lớp liên quan Khi khởi động hệ thống, lớp tải lên nhớ để ứng dụng sử dụng chức cung cấp lớp Tương tự cách thức phân tích tập tin APK Chúng 35 ta cần phải xác định điểm bắt đầu cho Application Framework (giống hàm main ứng dụng Java) Trong nghiên cứu này, để tạo điểm bắt đầu cho trình phân tích luồng liệu Application Framework, tạo hàm main ảo cho hàm Applicaition Framework Tuy nhiên, không giống ứng dụng Android, Application Framework Android có nhiều hàm (mỗi Application Framework có trung bình 65,100 hàm, tùy phiên Hệ điều hành Android) Do đó, chúng tơi tiến hành lựa chọn hàm khác biệt Application Framework cần phân tích Application Framework từ firmware chuẩn Google trước tiến hành tạo hàm main ảo Quy trình thực theo ba bước chính: Bước 1: Liệt kê hàm khác biệt so với hàm firmware Android chuẩn Trong nghiên cứu này, firmware chuẩn hiểu firmware từ Google firmware đánh dấu an tồn lần phân tích trước Bước 2: Tạo hàm main ảo cho hàm lựa chọn bước Bước 3: Sau liệt kê hàm khác biệt tạo hàm main ảo, chúng tơi tiến hành phân tích luồng thông tin nhạy cảm Application Framework phương pháp phân tích luồng liệu nhạy cảm kỹ thuật phân tích tĩnh trình bày đề xuất Trong nghiên cứu này, thử nghiệm phương pháp đề xuất với liệu thử nghiệm uitCustomROM-Bench nhóm tự phát triển mơ tả Bảng 290 firmware Android tải từ Internet Hệ thống đề xuất triển khai hệ thống máy tính với cấu hình phần cứng trình bày Bảng Bảng Cấu hình phần cứng hệ thống thử nghiệm Thành phần Thơng số cấu hình CPU Intel Core i7-4720HQ Memory 16 GB HDD 1TB, 7200 rpm Kết thử nghiệm cho thấy hệ thống phát xác trường hợp gây thất thơng tin nhạy cảm tầng Application Framework firmware Android tùy biến nhóm tự phát triển Listing mơ tả kết phân tích phương pháp đề xuất mẫu thử thứ Bảng Kết phân tích cho thấy, hệ thống phát trường hợp thất thơng tin nhạy cảm thành phần Application Framework Listing 1: Một ví dụ kết phân tích tầng Application Framework ROM Android { "analyzeTime": { "date": { "year": 2017, "month": 4, "day": 27 }, "time": { "hour": 14, "minute": 33, "second": 50, "nano": 60000000 } }, "totalDuration": { "seconds": 19, "nanos": 671000000 }, "systemInfo": { "memorySpeed": "2133", "os": "Microsoft Windows 10 Pro", "availableMemory": "9566780", 36 "processor": "Intel(R) Core(TM) i7-4720HQ CPU @ 2.70GHz" }, "frameworkName": "Leak_IMEI_Socket.jar", "frameworkHash": "1216c927c6d7206d1007fef5bd269f06e059a5740b667eeba129cd25f353fec7", "sizeInByte": 6576366, "numberOfAnalyzeMethods": 6, "analyzeMethods": [ "", "", "", "", "", "" ], "numberOfFlow": 1, "flows": [ { "source": "$r9 = virtualinvoke $r19.()", "sink": "virtualinvoke $r2.($r9)", "sourceMethod": "", "sinkMethod": "", "pathLength": 2, "path": [ "virtualinvoke $r2.($r9)", "$r9 = virtualinvoke $r19.()" ] } ] } Để thử nghiệm khả phân tích firmware Android tùy biến từ diễn đàn chia sẻ Internet, chúng tơi tiến hành phân tích 290 firmware Android tùy biến tải từ nguồn khác Trong giới hạn số lượng firmware Android tùy biến tải này, chưa phát nguy bảo mật mức Application Framework giới thực Kết phân tích trình bày Bảng Bảng Kết rút trích thành phần Linux Kernel Số lượng firmware Tên hãng Số ứng dụng trung bình Tình rị rỉ thơng tin Application Framework 37 Thời gian rút trích thành phần (giây) Thời gian phân tích Application Framework uitCustomROM Bench Asus LG Motorola Nexus Samsung Sony Khác 10 348 Có 78,01 19,62 27 32 28 24 30 29 120 116 102 77 160 109 85 125 Không Không Không Không Không Không Không 90,21 140,33 70,49 121,42 118,87 79,99 88,52 20,11 19,22 18,92 20,01 19,88 21,72 20,92 Như vậy, với đề xuất này, hướng tiếp cận luận án cho phép phát thất thơng tin nhạy cảm qua nhiều ứng dụng thất thơng tin nhạy cảm thành phần Application Framework hệ điều hành Android Nghiên cứu tương lai luận án mở rộng phân tích loại giao tiếp covert chanel, phân tích thành phần khác hệ điều hành Android Linux Kernel phân tích mối quan hệ thành phần thay phân tích thành phần riêng biệt để phát luồng liệu nhạy cảm liên lớp thành phần 38 Chương KẾT LUẬN 4.1 Các kết đạt Luận án có ba đóng góp sau: Thứ nhất, luận án đề xuất phương pháp cải thiện độ xác việc phát thất thơng tin nhạy cảm ứng dụng Android Cụ thể phương pháp đề xuất cho phép mở rộng loại giao tiếp liên ứng dụng, kiểm tra khả tồn giao tiếp liên ứng dụng, tiết kiệm thời gian q trình phân tích động Một phần nội dung đóng góp đăng tạp chí Cluster Computing (Springer, ISI, IF: 2.04) [CB1, CB2], kỷ yếu hội nghị ICISA2016 (Springer) [CB3] ICCSN2017 (IEEE) [CB5] Thứ hai, luận án đề xuất phương pháp áp dụng kỹ thuật phân tích luồng liệu ứng dụng Android để phát thất thơng tin nhạy cảm thành phần Application Framework firmware Android Một phần nội dung phương pháp trình bày IEEE MDM2017 [CB4], FAIR2017 [CB6] Thứ ba, đóng góp mặc kỹ thuật việc phát triển công cụ phục vụ cho trình thực đề xuất luận án Mặc dù, đóng góp thứ ba mang tính kỹ thuật chủ yếu, nhiên công sức mà bỏ đáng ghi nhận trình thực luận án Bên cạnh đó, đóng góp phụ khác luận án xây dựng liệu thử nghiệm có số kịch chứa đầy đủ trường hợp gây thất thơng tin nhạy cảm Đây xem đóng góp giá trị cho cộng đồng nghiên cứu lĩnh vực Bộ liệu thử nghiệm nhận ý kiến phản hồi tích cực từ nhóm nghiên cứu liên quan Một phần nội dung đóng góp trình bày hội nghị ICCAI2019 [CB8] (kỷ yếu xuất ACM) 4.2 Các công bố luận án 4.2.1 Các công bố luận án 4.2.1.1 Tạp chí ISI Trong trình thực luận án, nghiên cứu sinh tham gia cơng bố kết luận án tạp chí khoa học chuyên ngành nằm danh mục ISI (SCIE) xuất Springer với Impact factor 2.04 Cụ thể: [CB1] Nguyen Tan Cam, Van-Hau Pham, Tuan Nguyen, 2017, “Detecting sensitive data leakage via inter-applications on Android using a hybrid analysis technique”, Cluster Computing - The journal of networks software tools and applications, ISSN: 13867857, Springer, ISI (SCIE), Impact factor: 2.04, (2017) https://doi.org/10.1007/s10586-017-1260-2 [CB2] Ly Hoang Tuan, Nguyen Tan Cam, Van-Hau Pham, 2017, “Enhancing the accuracy of static analysis for detecting sensitive data leakage in Android by using dynamic analysis”, Cluster Computing - The journal of networks software tools and applications, ISSN: 1386-7857, Springer, ISI (SCIE), Impact factor: 2.04, (2017) https://doi.org/10.1007/s10586-017-1364-8 4.2.1.2 Kỷ yếu hội nghị khoa học Trong trình thực luận án, nghiên cứu sinh tham gia báo cáo kết nghiên cứu luận án hội nghị khoa học quốc tế với kỷ yếu xuất nhà xuất Springer IEEE, hội nghị khoa học uy tín nước hội nghị FAIR Cụ thể: [CB3] Nguyen Tan Cam, Van-Hau Pham, and Tuan Nguyen, 2016, "Android Security Analysis Based on Inter-application Relationships," in Proceedings of Information Science and Applications (ICISA) 2016, Springer DOI: 10.1007/978-981-10-05572_68 39 [CB4] Nguyen Tan Cam, Van-Hau Pham, Tuan Nguyen, 2017, “Sensitive Data Leakage Detection in Pre-Installed Applications of Custom Android Firmware”, in Proceedings of the 18th IEEE International Conference on Mobile Data Management (MDM2017) IEEE, DOI 10.1109/MDM.2017.56 Rank C (ERA) [CB5] Phan The Duy, Nguyen Tan Cam, Van-Hau Pham, 2017, “eddLeak: Enhancing precision of detecting inter-app data leakage in Android applications”, in Proceeding of 2017 IEEE 9th International Conference on Communication Software and Networks (ICCSN2017) IEEE DOI 10.1109/ICCSN.2017.8230197 [CB6] Nguyen Tan Cam, Van-Hau Pham, Tuan Nguyen, 2017, “Detect security threat in android custom firmware by analyzing applications framework and default settings”, in Proceedings of the 10th National Conference on Fundamental and Applied Information Technology Research (FAIR'10), ISBN: 978-604-913-614-6, DOI:10.15625/vap.2017.00011 4.2.2 Các công bố phụ liên quan đến luận án Ngồi cơng bố chính, công bố công bố phụ liên quan đến nội dung luận án Cụ thể: [CB7] Nguyễn Tấn Cầm, Phạm Văn Hậu, Nguyễn Anh Tuấn, 2017, “Phát nguy gây thất thơng tin thiết bị Android kỹ thuật phân tích động”, Tạp chí Thơng tin truyền thông, ISSN 1859-3550, trang 17-23, Số 551(741) 12/2017 [CB8] Nguyen Tan Cam, Nghi Hoang Khoa, Le Duc Thinh, Van-Hau Pham, Tuan Nguyen, 2019, Proposing Automatic Dataset Generation System to Support Android Sensitive Data Leakage Detection Systems, In the proceeding of 5th International Conference on Computing and Artificial Intelligence (ICCAI 2019), ACM [CB9] Nguyễn Tấn Cầm, Nguyễn Văn Tâm, Văn Hồng Thư, Ung Văn Giàu, Phạm Văn Hậu, Nguyễn Anh Tuấn, 2018, “Đánh giá mối liên hệ thông tin mô tả quyền hạn ứng dụng Android”, Tạp chí Thơng tin truyền thơng, ISSN 1859-3550, Trang 108113, Special Issues SoIS2018, 2018 4.2.3 Giải pháp hữu ích liên quan đến luận án Trong q trình thực luận án này, đăng ký 02 giải pháp hữu ích liên quan đến nội dung luận án Cụ thể: [SC1] “Hệ thống phân tích nguy gây thất thơng tin nhạy cảm thiết bị Android”, định số 73924/QĐ-SHTT Cục sở hữu trí tuệ, Bộ Khoa học Cơng nghệ ngày 24/10/2017 [SC2] “Hệ thống phân tích ROM Android tùy biến để phát rị rỉ thơng tin nhạy cảm”, định số 37370/QĐ-SHTT Cục sở hữu trí tuệ, Bộ Khoa học Cơng nghệ ngày 31/05/2018 4.2.4 Các đề tài tham gia Trong trình thực luận án, nghiên cứu sinh tham gia hai đề tài nghiên cứu khoa học Trong đó, đề tài thuộc Sở khoa học Công nghệ, đề tài lại thuộc Đại học Quốc gia TPHCM Cụ thể: Tham gia đề tài “Xây dựng hệ thống phát spyware tảng Android” với vai trò thành viên Đây đề tài cấp Sở khoa học cơng nghệ Thành phố Hồ Chí Minh, thời gian thực 2015-2017, nghiệm thu với kết Khá Bên cạnh đó, nghiên cứu sinh tham gia đề tài “Một hướng tiếp cận việc đánh giá an toàn thơng tin ROM Android” với vai trị thành viên Đây đề tài B, Đại học Quốc gia TPHCM, thời gian thực 2016-2018, nghiệm thu với kết Tốt 40 4.3 Hạn chế hướng phát triển luận án 4.3.1 Hạn chế Phân tích lớp thành phần (layer) hệ điều hành Android cách riêng biệt: Luận án phân tích thành phần ứng dụng cài sẵn Application Framework cách riêng biệt Tuy nhiên, thực tế, có luồng liệu bắt nguồn từ lớp thành phần này kết thúc lớp thành phần khác, luồng liệu qua lớp thành phần khác để thực việc gây thất liệu nhạy cảm Do đó, thời điểm tại, luận án chưa thể phát luồng liệu liên lớp thành phần Một hạn chế luận án chưa có liệu thử nghiệm chuẩn đủ lớn để đánh giá phương pháp đề xuất nghiên cứu liên quan Hiện tại, cộng đồng nhóm nghiên cứu liên quan đến lĩnh vực nghiên cứu sử dụng DroidBench Do đó, việc mở rộng dataset cố gắng nghiên cứu sinh trình thực luận án 4.3.2 Hướng phát triển luận án Với giải pháp phân tích nguy gây rị rỉ thơng tin nhạy cảm nhiều ứng dụng luận án giúp phát trường hợp cơng cộng tác mở rộng tương lai để đánh giá, gom nhóm ứng dụng chợ ứng dụng có mối liên hệ với việc thực công cộng tác Hiện phát triển thêm công cụ tải tự động ứng dụng Android miễn phí từ Google Play Trong tương lai, chúng tơi hồn thiện cơng cụ để tích hợp hệ thống đề xuất luận án để trở thành hệ thống xây dựng đồ nguy bảo mật chợ ứng dụng Bên cạnh đó, cần phát triển luận án theo hướng cho phép phát luồng liệu liên lớp thành phần để giúp phân tích tồn diện tình gây thất thơng tin nhạy cảm thiết bị sử dụng hệ điều hành Android Tài liệu tham khảo [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] S Arzt, S Rasthofer, C Fritz, E Bodden, A Bartel, J Klein, et al., "FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps," presented at the Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, Edinburgh, United Kingdom, 2014 D Octeau, D Luchaup, M Dering, S Jha, and P McDaniel, "Composite Constant Propagation: Application to Android Inter-Component Communication Analysis," in the 37th International Conference on Software Engineering (ICSE), 2015 S Rasthofer, S Arzt, and E Bodden, "A Machine-learning Approach for Classifying and Categorizing Android Sources and Sinks," 2014 Google (2019, Janruary 10) Application security - Android Open Source Project Available: https://source.android.com/security/overview/app-security Gartner (2018) Gartner Says Worldwide Device Shipments Will Increase 2.1 Percent in 2018 Available: https://www.gartner.com/en/newsroom/press-releases/2018-01-29-gartner-says-worldwide-device-shipmentswill-increase-2-point-1-percent-in-2018 IDC (2018) Smartphone Market Share Available: https://www.idc.com/promo/smartphone-market-share/os Semantec (2015, May) 2015 Internet Security Threat Report, Volume 20 Available: http://www.symantec.com/security_response/publications/threatreport.jsp W Enck, M Ongtang, and P McDaniel, "On lightweight mobile phone application certification," presented at the Proceedings of the 16th ACM conference on Computer and communications security, Chicago, Illinois, USA, 2009 T Luo, J Wu, M Yang, S Zhao, Y Wu, and Y Wang, "MAD-API: Detection, Correction and Explanation of API Misuses in Distributed Android Applications," in International Conference on Artificial Intelligence: Methodology, Systems, and Applications, 2018, pp 123-140 F Wei, S Roy, X Ou, and Robby, "Amandroid: A Precise and General Inter-component Data Flow Analysis Framework for Security Vetting of Android Apps," ACM Trans Priv Secur., vol 21, pp 1-32, 2018 S Liang, A W Keep, M Might, S Lyde, T Gilray, P Aldous, et al., "Sound and precise malware analysis for android via pushdown reachability and entry-point saturation," in Proceedings of the Third ACM workshop on Security and privacy in smartphones & mobile devices, 2013, pp 21-32 C Gibler, J Crussell, J Erickson, and H Chen, "AndroidLeaks: automatically detecting potential privacy leaks in android applications on a large scale," in International Conference on Trust and Trustworthy Computing, 2012, pp 291-307 M Xia, L Gong, Y Lyu, Z Qi, and X Liu, "Effective real-time android application auditing," in 2015 IEEE Symposium on Security and Privacy, 2015, pp 899-914 41 [14] D Titze and J Schütte, "Apparecium: Revealing data flows in android applications," in 2015 IEEE 29th International Conference on Advanced Information Networking and Applications, 2015, pp 579-586 [15] W Yang, X Xiao, B Andow, S Li, T Xie, and W Enck, "Appcontext: Differentiating malicious and benign mobile app behaviors using context," in Proceedings of the 37th International Conference on Software Engineering-Volume 1, 2015, pp 303-313 [16] M Zhang and H Yin, "Automatic Generation of Vulnerability-Specific Patches for Preventing Component Hijacking Attacks," in Android Application Security, ed: Springer, 2016, pp 45-61 [17] Y Feng, S Anand, I Dillig, and A Aiken, "Apposcopy: semantics-based detection of Android malware through static analysis," presented at the Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong, China, 2014 [18] V Rastogi, Z Qu, J McClurg, Y Cao, and Y Chen, "Uranine: Real-time privacy leakage monitoring without system modification for android," in International Conference on Security and Privacy in Communication Systems, 2015, pp 256-276 [19] Y Zhou, L Wu, Z Wang, and X Jiang, "Harvesting developer credentials in android apps," in Proceedings of the 8th ACM Conference on Security & Privacy in Wireless and Mobile Networks, 2015, p 23 [20] W Huang, Y Dong, A Milanova, and J Dolby, "Scalable and precise taint analysis for android," in Proceedings of the 2015 International Symposium on Software Testing and Analysis, 2015, pp 106-117 [21] Z Wu, X Chen, Z Yang, and X Du, "Reducing Security Risks of Suspicious Data and Codes through a Novel Dynamic Defense Model," IEEE Transactions on Information Forensics and Security, 2019 [22] D Rathi and R Jindal, "DroidMark: A Tool for Android Malware Detection using Taint Analysis and Bayesian Network," arXiv preprint arXiv:1805.06620, 2018 [23] Z Meng, Y Xiong, W Huang, L Qin, X Jin, and H Yan, "AppScalpel: Combining static analysis and outlier detection to identify and prune undesirable usage of sensitive data in Android applications," Neurocomputing, vol 341, pp 10-25, 2019 [24] M Zhang, Y Duan, Q Feng, and H Yin, "Towards automatic generation of security-centric descriptions for android apps," in Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, 2015, pp 518-529 [25] W Klieber, L Flynn, A Bhosale, L Jia, and L Bauer, "Android taint flow analysis for app sets," presented at the Proceedings of the 3rd ACM SIGPLAN International Workshop on the State of the Art in Java Program Analysis, Edinburgh, United Kingdom, 2014 [26] Y Zhang, Y Li, T Tan, and J Xue, "Ripple: Reflection analysis for android apps in incomplete information environments," Software: Practice and Experience, vol 48, pp 1419-1437, 2018 [27] Y Tsutano, S Bachala, W Srisa-An, G Rothermel, and J Dinh, "An efficient, robust, and scalable approach for analyzing interacting android apps," in Proceedings of the 39th International Conference on Software Engineering, 2017, pp 324-334 [28] L Li, A Bartel, T Bissyandé, J Klein, and Y Traon, "ApkCombiner: Combining Multiple Android Apps to Support Inter-App Analysis," in ICT Systems Security and Privacy Protection vol 455, H Federrath and D Gollmann, Eds., ed: Springer International Publishing, 2015, pp 513-527 [29] L Li, A Bartel, T Bissyande, J Klein, Y L Traon, S Arzt, et al., "IccTA: Detecting Inter-Component Privacy Leaks in Android Apps," presented at the The 37th International Conference on Software Engineering (ICSE), Firenze, Italy, 2015 [30] A Feizollah, N B Anuar, R Salleh, G Suarez-Tangil, and S Furnell, "Androdialysis: Analysis of android intent effectiveness in malware detection," computers & security, vol 65, pp 121-134, 2017 [31] Z Meng, Y Xiong, W Huang, F Miao, T Jung, and J Huang, "Divide and Conquer: Recovering Contextual Information of Behaviors in Android Apps around Limited-quantity Audit Logs," arXiv preprint arXiv:1809.07036, 2018 [32] C Zheng, S Zhu, S Dai, G Gu, X Gong, X Han, et al., "SmartDroid: an automatic system for revealing UIbased trigger conditions in android applications," presented at the Proceedings of the second ACM workshop on Security and privacy in smartphones and mobile devices, Raleigh, North Carolina, USA, 2012 [33] L Onwuzurike, M Almeida, E Mariconti, J Blackburn, G Stringhini, and E De Cristofaro, "A Family of Droids: Analyzing Behavioral Model based Android Malware Detection via Static and Dynamic Analysis," arXiv preprint arXiv:1803.03448, 2018 [34] M Hammad, H Bagheri, and S Malek, "DelDroid: An automated approach for determination and enforcement of least-privilege architecture in android," Journal of Systems and Software, vol 149, pp 83-100, 2019 [35] M Zheng, M Sun, and J C S Lui, "DroidRay: a security evaluation system for customized android firmwares," presented at the Proceedings of the 9th ACM symposium on Information, computer and communications security, Kyoto, Japan, 2014 [36] M Grace, Y Zhou, Z Wang, and X Jiang, "Systematic Detection of Capability Leaks in Stock Android Smartphones," in The 19th Annual Network & Distributed System Security Symposium, 2012 [37] Y Aafer, X Zhang, and W Du, "Harvesting Inconsistent Security Configurations in Custom Android ROMs via Differential Analysis," presented at the USENIX SECURITY, 2016 [38] X Zhou, Y Lee, N Zhang, M Naveed, and X Wang, "The Peril of Fragmentation: Security Hazards in Android Device Driver Customizations," presented at the Proceedings of the 2014 IEEE Symposium on Security and Privacy, 2014 [39] Y Cao, Y Fratantonio, A Bianchi, M Egele, C Kruegel, G Vigna, et al., "EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework," in NDSS, 2015 42 [40] M Backes, S Bugiel, E Derr, P D McDaniel, D Octeau, and S Weisgerber, "On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis," in USENIX Security Symposium, 2016, pp 1101-1118 [41] Y Cao, Y Fratantonio, A Bianchi, M Egele, C Kruegel, G Vigna, et al., "EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework," in NDSS [42] L Wu, M Grace, Y Zhou, C Wu, and X Jiang, "The impact of vendor customizations on android security," presented at the Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, Berlin, Germany, 2013 [43] F Liu, H Cai, G Wang, D D Yao, K O Elish, and B G Ryder, "MR-Droid: A scalable and prioritized analysis of inter-app communication risks," Proc of MoST, 2017 [44] E SPRIDE (2018, March 10) DroidBench – Benchmarks Available: http://sseblog.ecspride.de/tools/droidbench/ [45] L Li, A Bartel, J Klein, and Y le Traon, "Automatically Exploiting Potential Component Leaks in Android Applications," in Trust, Security and Privacy in Computing and Communications (TrustCom), 2014 IEEE 13th International Conference on, 2014, pp 388-397 [46] I Burguera, U Zurutuza, and S Nadjm-Tehrani, "Crowdroid: behavior-based malware detection system for Android," presented at the Proceedings of the 1st ACM workshop on Security and privacy in smartphones and mobile devices, Chicago, Illinois, USA, 2011 [47] T Ravitch, E R Creswick, A Tomb, A Foltzer, T Elliott, and L Casburn, "Multi-App Security Analysis with FUSE: Statically Detecting Android App Collusion," presented at the Proceedings of the 4th Program Protection and Reverse Engineering Workshop, New Orleans, LA, USA, 2014 [48] A Bosu, F Liu, D Yao, and G Wang, "Collusive Data Leak and More: Large-scale Threat Analysis of Inter-app Communications," presented at the Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, Abu Dhabi, United Arab Emirates, 2017 [49] S Bhandari, V Laxmi, A Zemmari, and M S Gaur, "Intersection automata based model for android application collusion," in Advanced Information Networking and Applications (AINA), 2016 IEEE 30th International Conference on, 2016, pp 901-908 [50] S Bhandari, F Herbreteau, V Laxmi, A Zemmari, P S Roop, and M S Gaur, "Poster: Detecting inter-app information leakage paths," in Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, 2017, pp 908-910 [51] E Chin, A P Felt, K Greenwood, and D Wagner, "Analyzing inter-application communication in Android," presented at the Proceedings of the 9th international conference on Mobile systems, applications, and services, Bethesda, Maryland, USA, 2011 [52] D Boxler and K R Walcott, "Static Taint Analysis Tools to Detect Information Flows," in Proceedings of the International Conference on Software Engineering Research and Practice (SERP), 2018, pp 46-52 [53] Z Bohluli and H R Shahriari, "Detecting Privacy Leaks in Android Apps using Inter-Component Information Flow Control Analysis," in 2018 15th International ISC (Iranian Society of Cryptology) Conference on Information Security and Cryptology (ISCISC), 2018, pp 1-6 [54] G Bai, Q Ye, Y Wu, H Botha, J Sun, Y Liu, et al., "Towards model checking android applications," IEEE Transactions on Software Engineering, vol 44, pp 595-612, 2018 [55] H Cao, J Jiao, and D Li, "A Static Analysis Model for Implicit Information Leakage in Android Application," in 2018 IEEE 18th International Conference on Communication Technology (ICCT), 2018, pp 1133-1140 [56] D D Perez and W Le, "Specifying Callback Control Flow of Mobile Apps Using Finite Automata," IEEE Transactions on Software Engineering, 2019 [57] A Tiwari, S Groß, and C Hammer, "IIFA: Modular Inter-app Intent Information Flow Analysis of Android Applications," arXiv preprint arXiv:1812.05380, 2018 [58] F Sattler, A von Rhein, T Berger, N S Johansson, M M Hardø, and S Apel, "Lifting inter-app data-flow analysis to large app sets," Automated Software Engineering, vol 25, pp 315-346, 2018 [59] A I Ali-Gombe, B Saltaformaggio, D Xu, and G G Richard III, "Toward a more dependable hybrid analysis of android malware using aspect-oriented programming," computers & security, vol 73, pp 235-248, 2018 [60] G Meng, R Feng, G Bai, K Chen, and Y Liu, "DroidEcho: an in-depth dissection of malicious behaviors in Android applications," Cybersecurity, vol 1, p 4, 2018 [61] Google (2017, March 10) Android Open Source Project Available: https://source.android.com/ [62] A K Jha and W J Lee, "An empirical study of collaborative model and its security risk in Android," Journal of Systems and Software, vol 137, pp 550-562, 2018 [63] F Liu, H Cai, G Wang, D Yao, K O Elish, and B G Ryder, "Prioritized Analysis of Inter-App Communication Risks," presented at the Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy, Scottsdale, Arizona, USA, 2017 [64] Xposed (2016) Xposed framework Available: http://repo.xposed.info/ [65] D T Milano (2017, April 2) Android ViewServer client Available: https://github.com/dtmilano/AndroidViewClient [66] L Xue, C Qian, H Zhou, X Luo, Y Zhou, Y Shao, et al., "NDroid: Toward Tracking Information Flows Across Multiple Android Contexts," IEEE Transactions on Information Forensics and Security, vol 14, pp 814-828, 2019 [67] (2017, 5/7/2017) Xposed framework Available: http://repo.xposed.info/module/de.robv.android.xposed.installer [68] T Azim and I Neamtiu, "Targeted and depth-first exploration for systematic testing of android apps," SIGPLAN Not., vol 48, pp 641-660, 2013 43