Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
532,68 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN PHAN THẾ DUY NGHIÊN CỨU CƠ CHẾ PHÁT HIỆN RỊ RỈ THƠNG TIN BẰNG PHƯƠNG PHÁP PHÂN TÍCH TĨNH TRÊN ỨNG DỤNG ANDROID ĐỀ CƯƠNG LUẬN VĂN THẠC SĨ Ngành: Công Nghệ Thông Tin TP HỒ CHÍ MINH – 2015 ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN PHAN THẾ DUY NGHIÊN CỨU CƠ CHẾ PHÁT HIỆN RỊ RỈ THƠNG TIN BẰNG PHƯƠNG PHÁP PHÂN TÍCH TĨNH TRÊN ỨNG DỤNG ANDROID ĐỀ CƯƠNG LUẬN VĂN THẠC SĨ Ngành: Công Nghệ Thông Tin Mã ngành: 60.48.02.01 Người hướng dẫn khoa học: TS Phạm Văn Hậu TP HỒ CHÍ MINH – 2015 ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc ĐỀ CƯƠNG ĐỀ TÀI LUẬN VĂN THẠC SĨ Tên đề tài hướng nghiên cứu: Tên Tiếng Việt: Nghiên cứu chế phát rị rỉ thơng tin phương pháp phân tích tĩnh ứng dụng Android Tên Tiếng Anh: Static Analysis for detecting sensitive data leakage on Android applications Ngành mã ngành đào tạo: Ngành Công nghệ Thông Tin, mã ngành: 60.48.02.01 Thông tin học viên người hướng dẫn: Họ tên học viên thực đề tài: Phan Thế Duy Địa email: phantheduy.ptd@gmail.com Điện thoại liên lạc học viên: 01683456056 Người hướng dẫn: TS Phạm Văn Hậu Địa email: haupv@uit.edu.vn Điện thoại liên lạc người hướng dẫn: 0915727282 Tổng quan tình hình nghiên cứu nước ngồi nước: 4.1 Giới thiệu chung: Cùng với việc thiết bị di động điện thoại thơng minh, máy tính bảng tảng Android ngày trở nên phổ biến rộng khắp sống hàng ngày, ngày có hàng nghìn ứng dụng nhà phát triển công bố mơ hình kho ứng dụng marketplace, nơi mà người dùng dễ dàng tiếp cận tải thiết bị Android cách tiện lợi ứng dụng phù hợp với nhu cầu thân Theo AppBrain Stats [2], kho ứng dụng Android phổ biến toàn cầu Google Play đạt ngưỡng 1.400.000 ứng dụng vào thời điểm tháng 11, năm 2014 Cũng theo số lượng thống kê [1], có 50 tỉ lượt tải ứng dụng thiết bị cài đặt từ Google Play tính đến tháng 7, năm 2013; có tỷ người dùng thông qua thiết bị Android kích hoạt Tuy nhiên, nhà nghiên cứu ứng dụng Android ẩn chứa mối nguy hiểm tiềm tàng khả truy cập, tiếp cận vào liệu thông tin cá nhân quan trọng, nhạy cảm người dùng, vị trí địa lý tại, danh bạ liên hệ, thông tin định danh thiết bị (IMEI, số điện thoại), … thường xuyên gửi bên ngồi thơng tin cá nhân mà khơng đồng ý từ người dùng [28] Những ứng dụng mang tính giải trí hay nội dung trị chơi thường kẻ xấu lợi dụng để thiết lập lỗ hổng đánh cắp liệu cá nhân thiết bị người dùng, nơi mà nhiều ứng dụng mạng xã hội hay phần mềm tài chính, ngân hàng thu thập lưu trữ khối lượng lớn liệu thông tin cá nhân người sử dụng Các lo ngại ngày tăng lên việc thơng tin cá nhân người dùng bị rị rỉ bên ngồi trái phép, vi phạm sách quyền riêng tư, kèm với việc theo dõi hành vi người sử dụng mà khơng có đồng ý Bằng chứng là, kho ứng dụng Google Play phổ biến tảng Android có hàng nghìn ứng dụng độc hại truy cập, sử dụng, đánh cắp liệu nhạy cảm người dùng thiết bị cài đặt, sử dụng ứng dụng mà họ không hay biết được, từ số lượng khoảng 11.000 ứng dụng độc hại ghi nhận năm 2011, tăng lên 42.000 trường hợp ứng dụng malware phát Google Play, theo số liệu công bố vào tháng 2, năm 2014 RiskIQ [20] , công ty chuyên giải pháp an ninh trực tuyến Hoa Kỳ Các ứng dụng xác định chương trình Android độc hại gây rị rỉ thông tin cá nhân hay liệu nhạy cảm người dùng Theo liệu công bố năm 2013 Kaspersky [12], có khoảng 148.427 ứng dụng di động nguy hại khác chia thành 777 nhóm 98.05% số ghi nhận thuộc ứng dụng Android kho ứng dụng Google Play bên thứ ba Bên cạnh đó, nghiên cứu báo cáo Securelist [22], [16] gần nửa ứng dụng nguy hiểm phát Android Trojan có khả đánh cắp thông tin người sử dụng lưu trữ thiết bị smartphone Nền tảng di động Android phổ biến nay, sử dụng hệ thống quyền hạn (permission system) cấp phát cài đặt ứng dụng để thiết lập giới hạn đặc quyền mà ứng dụng hoạt động truy cập vào nguồn liệu thiết bị Tuy nhiên, hệ thống quyền hạn không đủ hiệu để ngăn chặn việc đánh cắp hay rò rỉ thông tin nhạy cảm, hay liệu cá nhân quan trọng từ phía người dùng lưu trữ thiết bị di động Giới nghiên cứu an ninh, bảo mật đưa phương pháp bản: phân tích tĩnh phân tích động, để phát lỗ hổng rị rỉ thơng tin cá nhân ứng dụng Android Phương pháp phân tích động TaintDroid [8], liên quan đến việc nghiên cứu chế hành vi ứng dụng cách thực thi mơi trường cụ thể, thí dụ xác định hành vi chương trình ứng dụng cài đặt chạy thiết bị Android,… Trong đó, phương pháp phân tích tĩnh, điển FlowDroid [3] phương pháp phân tích chương trình ứng dụng dựa mã ứng dụng dạng mã nguồn hay mã bytecode mà không cần thực thi mã lệnh Thực tế chứng minh rằng, khơng phải chương trình ứng dụng dự đốn xác hành vi bất thường cách cài đặt thử nghiệm mơi trường phân tích giả lập, ứng dụng nguy hại nhận biết bị phân tích phương pháp phân tích động, che giấu hành vi nguy hại nên kết phân tích khơng xác Ngược lại, phương pháp phân tích tĩnh lại đưa kết hữu ích cách ước lượng, xác định nhiều khía cạnh, kiểu đường liệu nhạy cảm để đâu lỗ hổng rị rỉ liệu ứng dụng Một cơng cụ phát rị rỉ thơng tin cá nhân ứng dụng Android dựa vào phương pháp phân tích tĩnh sử dụng nhiều cách thức khác Một kĩ thuật thực phương pháp phân tích tĩnh phân tích dịng liệu Trong đó, “taint analysis” trường hợp đặc biệt cách phân tích dịng liệu, theo vết liệu đánh dấu xuyên suốt đường lan truyền liệu ứng dụng Trong kỹ thuật này, liệu cá nhân quan trọng, nhạy cảm nguồn liệu (source) định nghĩa trước đọc vị trí địa lý GPS, danh sách liên hệ, thông tin định danh, xác thực… đánh dấu với “taint”, từ theo vết liệu “taint” lan truyền xa thơng qua đường chạy chương trình Sự diện “taint” xác định trước nơi chứa (sink) – nơi có khả gửi liệu bên ngồi kết nối mạng, SMS, ghi lưu file,… định dùng để thiết lập dòng liệu nguồn (source) chứa (sink) [18] Nói tóm lại, dịng chảy liệu dùng để phát rị rỉ liệu, thơng tin cá nhân từ nguồn đến chứa Hình - Ví dụ dịng liệu liên kết Activity Service Cấu trúc ứng dụng Android bao gồm nhiều thành phần (component) khác nhau, hầu hết lổ hổng rị rỉ thơng tin cá nhân đơn giản thực hành vi phạm vi thành phần đơn ứng dụng Nhưng gần đây, vấn đề thất thoát liệu riêng tư phát ghi nhận xảy phạm vi liên thành phần ứng dụng, hay chí liên ứng dụng thông qua việc tương tác thành phần khác ứng dụng khác biệt [26] Phương pháp phân tích riêng rẽ thành phần ứng dụng, phân tích ứng dụng điều kiện tách biệt, không đủ để phát nhiều mối nguy rò rỉ riêng tư người dùng bên ngồi, rị rỉ gián tiếp xảy thành phần khác ứng dụng, thỏa hiệp ứng dụng với Do đó, vấn đề quan trọng đặt phải thực phân tích liên thành phần ứng dụng, hay cịn gọi phân tích đa ứng dụng, kết hợp tăng cường với phân tích đơn ứng dụng, đưa kết xác cao giảm tỉ lệ phát sai lầm, để cảnh báo nguy hiểm tiềm tàng ứng dụng malware độc hại Các phương pháp phân tích tĩnh dịng liệu kỹ thuật đánh dấu “taint flow analysis” có khả phân tích liên thành phần, đa ứng dụng trở nên cần thiết hứa hẹn nhiều kết trội so với phương pháp khác việc xác định liệu cá nhân thiết bị Android lưu trữ sử dụng giới hạn mong muốn nào, đề phòng nguy rò rỉ liệu nhạy cảm từ ứng dụng tiềm ẩn độc hại cài đặt vào thiết bị người dùng 4.2 Các thách thức Đầu tiên, khác với chương trình ứng dụng Windows, ứng dụng Android cấu thành từ nhiều từ thành phần bản: Activity, Service, Content provider, Broadcast Receiver Chúng hoạt động tương tác với ứng dụng, thành phần ứng dụng giao tiếp hoạt động tương tác với thành phần ứng dụng khác chế ICC – (Inter Component Communication), đường luân chuyển, truyền liệu ứng dụng Android xác định cách rõ ràng, tường minh Một ứng dụng Android xem an tồn thơng tin người dùng phân tích riêng biệt độc lập; nhiên nhiều trường hợp, hoạt động với ứng dụng khác thiết bị Android trở thành ứng dụng độc hại, khai thác công cụ để đánh cắp thơng tin nhạy cảm ứng dụng có khả tương tác, thỏa hiệp để thực hành vi rò rỉ liệu người dùng Activity: Là thành phần quan trọng ứng dụng Android Thuật ngữ Activity việc mà người dùng thực ứng dụng Android, gần activity tương tác với người dùng thông qua giao diện định Nói tóm lại, thành phần ứng dụng cung cấp giao diện mà người dùng tương tác vào để thực hành động định Service: Một service thành phần ứng dụng, thể mong muốn ứng dụng thực hành động không tương tác với người dùng cung cấp chức cho ứng dụng khác sử dụng Nói cách đơn giản, service tác vụ (task) chạy ngầm hệ thống nhằm thực nhiệm vụ Content provider: Là nơi lưu trữ cung cấp cách truy cập liệu ứng dụng tạo nên Đây cách mà ứng dụng chia sẻ liệu Broadcast receiver: có chức dùng để thu nhận kiện, thông báo, thông điệp mà ứng dụng hệ thống phát Phương pháp phân tích tĩnh địi hỏi phải xác định nơi xuất phát nguồn liệu nhạy cảm để đánh dấu theo vết liệu nhằm đưa kết hữu ích nhà phân tích người dùng Nhưng việc xác định đâu nguồn thông tin nhạy cảm, cần theo dõi, bảo vệ trước nguy bị rò rỉ thách thức không nhỏ, số lượng nguồn thông tin người dùng nhiều dự đốn, hay hết trường thơng tin cần “đánh dấu” taint để theo dõi cách rõ ràng, xác Android hệ thống hướng kiện, cấu trúc ứng dụng có nhiều entrypoint nên khơng thể định hình trước tồn dịng liệu cấu trúc chương trình có hàm khởi chạy ứng dụng thường gọi hàm main() Các control-flow điều khiển kiện từ môi trường ứng dụng kích hoạt lời gọi callbacks khác nhau, xác định control flow khả nghi, dịng liệu khơng tường minh module cấu thành ứng dụng Android mà không đưa nhiều báo động giả thách thức lớn Hơn thế, tất thành phần ứng dụng Android hoạt động theo cách thức giống nhau, địi hỏi làm để đưa mơ hình phù hợp với việc phân tích dịng liệu nhằm phát cảnh báo rò rỉ liệu phận cấu thành nói Một số ứng dụng Android đóng gói kèm với mã native code, chưa có cơng cụ có phương pháp phân tích hiệu dạng ứng dụng này, phải kể đến cơng cụ đình đám IccTA [15], AsDroid [9], DidFail [11] chưa có giải pháp 4.3 Tình hình nghiên cứu Tình hình nghiên cứu ngồi nước: Hiện tại, số nhóm nghiên cứu có đề xuất cơng bố số nghiên cứu kèm với cơng cụ phân tích tĩnh dành cho ứng dụng Android, hiệu năng, hiệu công cụ có khác cách mơ hình hóa phương pháp phân tích tập trung vào đối tượng thành phần ứng dụng khác nhau, chẳng hạn số phương pháp tập trung vào đối tượng định xem xét hệ thống Permission thành phần Intent – Activity trường hợp PermissionFlow [23]; hay cách tiếp cận AsDroid [9] tập trung phân tích nguồn thơng tin dạng text xuất phát từ user interface ứng dụng Ngoài ra, khả phân tích điều kiện tách biệt, riêng rẽ thành phần hay đặt chúng mối liên hệ phạm vi hay đồng thời nhiều ứng dụng Android mang đến kết phù hợp với nhiều nhóm đối tượng khác nhau; IccTA [15], DidFail [11], Flow Permissions [24] có tính phân tích tĩnh đơn đa ứng dụng theo cách tiếp cận khác biệt Đối với kỹ thuật đánh dấu dòng liệu để phân tích lỗ hổng đánh cắp thơng tin, vấn đề xác định source – nơi xuất phát liệu nhạy cảm, sink – nơi có khả gửi thơng tin bên ngồi nghiên cứu cách có hệ thống cơng cụ SuSi [4], [21] với tính tự động phân tích đưa dạng source sink khác CHEX [17] cơng cụ phân tích tĩnh dùng phát thành phần đánh cắp, rị rỉ thơng tin ứng dụng Android, cách theo dõi dòng liệu đánh dấu nguồn liệu nhạy cảm (source) interface có khả truy cập, gửi thơng tin bên ngồi Tuy nhiên, giới hạn tối đa có đối tượng mang thơng tin nhạy cảm (1-object-sensitivity) phân tích, dẫn đến thiếu xác thực tế FlowDroid [3] cơng bố kèm cơng trình nghiên cứu liên quan [14], [5] đánh công cụ phát rị rỉ thơng tin hiệu dựa vào phân tích tĩnh dịng liệu đánh dấu trước đó, với tỉ lệ phát sai thấp việc phát lỗ hổng cắp liệu thành phần đơn ứng dụng; nhiên khơng hoạt động việc phát rò rỉ với điều kiện giao tiếp liên thành phần (ICC – Inter Component Communication) ứng dụng, có khả phân tích độc lập ứng dụng Android Epicc [19] cơng cụ phân tích tĩnh giải vấn đề ICC, chủ yếu tập trung vào lỗ hổng rị rỉ thơng tin thơng qua giao tiếp, kết nối liên thành phần ICC ứng dụng đơn Tính trung bình, để đưa kết phân tích cần phút cho ứng dụng nghiên cứu quy mô lớn gồm 1.200 ứng dụng Do Epicc khơng kiểm sốt URI ứng dụng, dẫn đến khơng thể tìm liên kết tương tác liên thành phần ICC cho Content Provider, không phát nguy rị rỉ thơng tin bên ngoài, cho kết sai thành phần lại ứng dụng Android tương tác với thơng qua URI Trong đó, PCLeaks [16], công cụ nhận dạng ứng dụng đánh cắp thông tin người dùng phương pháp phân tích tĩnh, đánh dấu theo dõi dòng liệu, trọng tâm xem xét đường rò rỉ ICC nội ứng dụng đơn Nó gặp phải vấn đề khơng hoạt động xác Content Provider giống trường hợp Epicc, PCLeaks đề xuất phương pháp phân tích Activity, Service Broadcast Receiver LeakMiner [27] phát rị rỉ thơng tin ứng dụng Android phương pháp phân tích “taint” tĩnh Thiết kế LeakMiner tập trung vào việc xác định ứng dụng mang nguy rị rỉ thơng tin loại bỏ ứng dụng bên phía kho market ứng dụng trước phân phối tới người dùng Nó áp dụng thuật tốn xây dựng biểu đồ lời gọi (call graph) để phân tích, Android hệ thống hướng kiện LeakMiner đưa cách tiếp cận gồm bước: đầu tiên, tập tin cài đặt APK ứng dụng chuyển thành bytecote Java để phân tích trực tiếp bytecote Java, đồng thời metadata ứng dụng trích xuất từ file manifest ứng dụng Android; bước tiếp theo, LeakMiner xác định thông tin nhạy cảm dựa vào metadata trích xuất; bước cuối thông tin đánh dấu lan truyền qua lời gọi callbacks, để xác định đường liệu dẫn đến rị rỉ thơng tin Tuy nhiên, LeakMiner có khả phân tích đơn ứng dụng đưa kết khơng xác trường hợp đường lan truyền liệu dài Công cụ Amandroid [25] áp dụng phương pháp phân tích tĩnh để phát rị rỉ thơng tin nhạy cảm cách theo vết luồng điều khiển dòng liệu ICC liên thành phần nhiều component khác ứng dụng chế liên ứng dụng - inter-app communication (IAC) ứng dụng khác nhau, tức cơng cụ có khả phân tích đơn đa ứng dụng Tuy nhiên, Amandroid bị giới hạn khả kiểm soát ngoại lệ chương trình, chương trình có lỗ hổng rị rỉ thơng tin exception phát sinh Amandroid khơng thể phát lỗ hổng Ngồi ra, Amandroid khơng thể phát rị rỉ Content Provider, bốn thành phần ứng dụng Android; khơng hiệu số phương thức ICC phức tạp bindService() startActivityForResult() Nhóm nghiên cứu IccTA [15]: cơng bố cơng cụ IccTA sử dụng phương pháp phân tích tĩnh dựa phân tích đánh dấu dịng liệu ICC để phát nguy rị rỉ thơng tin đơn đa ứng dụng Android Công cụ dựa kết hợp Epicc [19] FlowDroid [3] tùy biến lại, Epicc FlowDroid xây dựng dựa framework Soot [13] dùng để phân tích chương trình Java Soot sử dụng plugin Dexpler [7] để chuyển đội mã byte code Android Dalvik sang dạng file tên Jimple định nghĩa nội nó, sau xây dựng xác biểu đồ lời gọi (call graphs), phân tích đánh dấu theo dõi dịng liệu thành phần ứng dụng Android để xác định vị trí rị rỉ liệu Phiên IccTA gặp hạn chế trước lỗ hổng rò rỉ liên quan đến Content Provider khơng xử lý dịng liệu liên quan đến thành phần Ngồi ra, cơng cụ IccTA có khả phát rò rỉ liên ứng dụng IAC chương trình Android DidFail [11] thực phương pháp phân tích tĩnh dịng liệu đánh dấu để phát mối nguy rò rỉ liệu nhạy cảm ứng dụng độc lập hay môi trường nhiều ứng dụng Android tương tác với nhau, tức có khả phát nguy từ thỏa hiệp ứng dụng với bên cạnh tính nhận dạng lỗ hổng ứng dụng đơn DidFail xây dựng dựa cơng cụ phân tích tĩnh có FlowDroid [3] – dùng để tìm dịng thơng tin liệu nội thành phần ứng dụng, Epicc [19] – để xác định mối liên kết intent Tuy nhiên, hạn chế DidFail bao gồm điểm yếu Epicc FlowDroid; ngồi ra, DidFail khơng xem xét đến khía cạnh quyền hạn permission so khớp intent để tìm đường liên kết thất thoát liệu gây số kết thiếu xác Vì thời điểm tại, DidFail tập trung vào việc phân tích Activity, nên khơng thể phát lỗ hổng rị rỉ thơng tin thành phần lại là: Service, Broadcast Receiver, Content Provider loại Pending Intent chương trình Android Tình hình nghiên cứu nước: Tại Việt Nam, nhóm nghiên cứu TS Phạm Văn Hậu, Nguyễn Lê Thanh Trúc, Đại học Quốc tế, ĐHQG Tp HCM, có đề tài “Detecting privilege escalation attacks on android device” (2012) [10], nghiên cứu phương pháp phân tích tĩnh phát loại công dựa vào đặc quyền cấp phát cho ứng dụng Android có ý định đánh cắp liệu cá nhân người dùng thiết bị di động chạy tảng Android Tuy nhiên, phương pháp tập trung vào việc phân tích hệ thống quyền hạn (permission) cấp phát cho ứng dụng Ngồi ra, thị trường cơng cụ phịng chống bảo vệ người dùng trước loại virus, spyware, phần mềm gián điệp phát triển, chứng BKAV mắt với sản phẩm Bkav Mobile Security, có chức giám sát truy cập, quét cảnh báo phần mềm truy cập vào thơng tin riêng tư máy danh bạ, tin nhắn, vị trí máy Đặc biệt phát loại bỏ phần mềm nghe điện thoại di động Nhưng cơng cụ có khả hoạt động ứng dụng độc hại cài vào thiết bị người dùng, hoạt động đơn ứng dụng, dựa permission cấp phát cho ứng dụng để đánh giá rủi ro bị nghe lén, hay xác có khả gây nhầm lẫn khơng phải ứng dụng có permission định nguy hại khơng thực hành vi đánh cắp thơng tin bên ngồi Tóm lại, cơng cụ Bkav Mobile Security phần mềm hỗ trợ người dùng xem ứng dụng làm với nhóm permission mà cấp phát, khó mang lại độ xác cao dự đốn mối nguy hại rị rỉ thơng tin bên ngồi Tính khoa học tính đề tài: Ở thời điểm này, số công cụ phân tích tĩnh phát triển nhắm đến mục đích xác định chương trình ứng dụng rị rỉ thông tin thiết bị Android Một số cơng cụ phân tích tĩnh CHEX [17], FlowDroid [3], Epicc [19] tập trung phân tích đơn ứng dụng, đặt ứng dụng tách biệt để thực việc phân tích dịng liệu, dẫn đến khơng thể phát lỗ hổng rò rỉ bắt tay phối hợp nhiều ứng dụng Bên cạnh đó, số cơng cụ phân tích tĩnh dịng liệu phân tích đơn đa ứng dụng đồng thời Amandroid [25] , IccTA [15] [6], DidFail [11], để xác định lỗ hổng dựa mối liên kết thành phần khác ứng dụng riêng biệt - theo chế liên thành phần – ICC, tương tác nhiều ứng dụng theo chế liên ứng dụng – IAC ( hay cịn gọi chế ICC khơng ứng dụng) Những công cụ bước đầu đáp ứng phần nhu cầu đặt cung cấp tính nhận dạng ứng dụng độc hại có chứa tác nhân gây nguy hiểm đến tính an tồn bảo mật thơng tin người dùng, có sai sót định gặp phải số giới hạn việc chưa thể thực hết hồn tồn phân tích thành phần ứng dụng Android Do cơng cụ tập trung vào phân tích luồng kiện, dòng liệu liên quan đến số thành phần định Activity, Intent cấu trúc ứng dụng chạy tảng Android, chưa giải việc nhận dạng Pending Intent, Service, Content provider, hay Broadcast Receiver, ví dụ trường hợp DidFail Chính vậy, đề tài tập trung vào việc tăng cường độ xác nhận dạng phát mối nguy rò rỉ thông tin cá nhân ứng dụng Android dựa mơ hình, cơng cụ phân tích tĩnh có ngồi thực tế: Đề xuất mơ hình cải tiến, kết hợp ưu điểm công cụ nhận dạng mối nguy rị rỉ thơng tin phương pháp phân tích tĩnh với kỹ thuật đánh dấu dòng liệu ứng dụng Android nhằm tăng cường độ xác, giảm thiểu việc xác định nhầm lẫn cơng cụ phân tích tĩnh thời, có khả phát rị rỉ thơng tin qua chế liên thành phần ICC liên ứng dụng IAC Tập trung vào việc xây dựng cách thức phân tích tĩnh đa ứng dụng - liên thành phần module ứng dụng Android: Activity, Service, Content provider, Broadcast receiver Mục tiêu, đối tượng phạm vi NC đề tài Mục tiêu: Tìm hiểu, phân tích cơng cụ phân tích tĩnh việc phát rị rỉ thơng tin: tổng hợp, cài đặt, thử nghiệm công cụ có nhằm nắm bắt khả hỗ trợ điểm yếu chúng Nghiên cứu chế lan truyền thông tin dạng callbacks, chế lưu chuyển thông tin liệu thành phần ứng dụng Android qua ICC IAC, tìm hiểu kỹ thuật phân tích dịng liệu đánh dấu (tainting flow analysis) Nghiên cứu mơ hình phân tích ngược ứng dụng tảng Android để nhận dạng chương trình malware đánh cắp liệu, đưa đề xuất nhằm cải thiện độ xác, giải hạn chế, nhược điểm kỹ thuật phân tích tĩnh sử dụng công cụ nhận dạng lỗ hổng thất thoát liệu state-of-the-art Xây dựng nhận dạng có khả phát lỗ hổng rò rỉ thành phần hay nhiều chương trình Android, dựa cơng cụ phân tích tĩnh có sẵn nay, nhằm tìm kiếm tồn thông tin nhạy cảm liệu thơng tin nhạy cảm có sử dụng callbacks hay không Đối tượng, phạm vi nghiên cứu: Các chương trình ứng dụng Android, cơng cụ phân tích tĩnh phân tích phát ứng dụng Android Nội dung, phương pháp dự định NC Nội dung 1: Mục tiêu: Khảo sát, tìm hiểu nguy rị rỉ thơng tin ứng dụng Android, vấn đề trở ngại thách thức tốn phân tích phát rị rỉ thông tin cài đặt ứng dụng độc hại Kết quả: Tài liệu mối nguy hiểm rò rỉ thông tin ứng dụng Android, cách thức hoạt động chúng Bộ liệu ứng dụng chuẩn dùng cho việc đánh giá kết toán phát ứng dụng rị rỉ thơng tin Nội dung 2: Mục tiêu: Tìm hiểu kỹ thuật xác định source sink dùng phân tích dịng liệu ứng dụng Android Khảo sát, thu thập, tìm hiểu phương pháp phân tích tĩnh, kỹ thuật phân tích đánh dấu dịng liệu, cơng cụ phân tích tĩnh có việc giúp nhận dạng phát rị rỉ thơng tin ứng dụng Android Kết quả: Các phương pháp phân tích tĩnh dùng ứng dụng phân tích bảo mật giúp nhận dạng mối nguy hiểm rị rỉ thơng tin ứng dụng Android Phương pháp xác định source sink ứng dụng Android Tài liệu tổng hợp đánh giá tính năng, hiệu quả, hạn chế cơng cụ nhận dạng rị rỉ thơng tin phương pháp phân tích tĩnh, tập trung vào kỹ thuật phân tích đánh dấu dịng liệu Mã nguồn công cụ phân tích áp dụng phương pháp state-of-the-art cơng bố Nội dung 3: Mục tiêu: Tìm hiểu chế rị rỉ thơng tin thơng qua phương thức tương tác liên thành phần ứng dụng (ICC) hay nhiều ứng dụng Android với (IAC) Nghiên cứu phát triển kỹ thuật nhận dạng cách xác tồn diện nguy an ninh tiềm ẩn rò rỉ liệu cá nhân thành phần ứng dụng Android mà công cụ công bố chưa giải số trường hợp Xem xét hướng tiếp cận khả kết hợp tối ưu công cụ state-of-the-art IccTA DidFail việc phân tích dịng liệu phát rò rỉ xảy dạng tương tác liên thành phần ICC liên ứng dụng IAC Kết quả: Phương pháp xác định liên kết tương tác dòng liệu thành phần khác ứng dụng Android 10 Mơ hình phát nguy rị rỉ thơng tin phương pháp phân tích tĩnh đánh dấu dịng liệu hoạt động module bản: Activity Service Broadcast Receiver Content Provider Các hướng cải thiện phương pháp kết hợp tối ưu hóa phương pháp phân tích tĩnh phát rò rỉ dạng ICC IAC dựa DidFail, IccTA số công cụ khác công bố Nội dung 4: Mục tiêu: Đề xuất phương pháp cải tiến, tối ưu phương pháp phân tích tĩnh dịng liệu chế đánh dấu “tainting” có khả phân tích lỗ hổng rị rỉ đến từ tương tác nhiều ứng dụng thông qua chế ICC IAC dựa mơ hình phân tích giai đoạn DidFail có bổ sung IccTA Tăng cường tính xác mơ hình nhận diện rị rỉ thơng tin phân tích module ứng dụng, cải thiện hiệu sai sót phân tích đa ứng dụng Hiện thực cách tiếp cận phân tích tĩnh dạng đánh dấu dịng liệu theo mơ hình đề xuất Kết quả: Phương pháp phân tích liên thành phần, liên ứng dụng với tỉ lệ sai sót thấp tối thiểu hóa tốc độ phân tích liệu ứng dụng Android độc hại Công cụ nhận dạng rị rỉ thơng tin hoạt động tốt có độ xác cao việc phát ứng dụng khai thác bất hợp pháp, rị rỉ thơng tin cá nhân người dùng Đưa nội dung cần cải tiến sau hoàn thành việc kiểm thử lại kết áp dụng phương pháp phân tích tĩnh dùng để xác định ứng dụng nguy hại tiềm tàng, mang rủi ro đánh cắp thông tin nhạy cảm ứng dụng Android Kế hoạch bố trí thời gian NC Nội dung - Thời gian Khảo sát chế phát rị rỉ thơng tin thiết bị Android phương pháp phân tích tĩnh Tìm hiểu đặc tính, hành vi ứng 11 - - - - - dụng Android độc hại gây rị rỉ phát Tìm hiểu đánh giá cơng cụ phân tích tĩnh cơng bố, kết nghiên cứu tại, tập trung vào kỹ thuật đánh dấu dòng liệu phương pháp phân tích tĩnh Tập hợp ứng dụng Android độc hại dùng để kiểm thử kết đề tài Nghiên cứu cách tổ chức, xử lý DidFail IccTA, cấu trúc thành phần source code công cụ Đề xuất mơ hình, chế tăng cường, cải tiến độ xác tốn phát rị rỉ thơng tin ứng dụng Android sở công cụ DidFail IccTA Đưa phương pháp phân tích tĩnh phát rị rỉ thơng tin thơng qua kỹ thuật đánh dấu theo dõi dịng liệu thành phần hay nhiều ứng dụng Android Đánh giá kết phương pháp phân tích tĩnh đề xuất vào tốn phát rị rỉ thơng tin ứng dụng Android Tổng hợp, viết luận văn 12 3.2015 – 4.2015 5.2015 – 7.2015 8.2015 9.Tài liệu tham khảo [1] Android (operating system) URL: http://en.wikipedia.org/wiki/Android_(operating_system), 22.02, 2015 [2] AppBrain “Number of Android applications” AppBrain Stats URL: http://www.appbrain.com/stats/number-of-android-apps , 26.11, 2014 [3] S Arzt, S Rasthofer, C Fritz, E Bodden, A Bartel, J Klein, Y Le Traon, D Octeau and P McDaniel, (2014), “FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps”, Proceedings of the 35th annual ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2014) [4] Steven Arzt, Siegfried Rasthofer, and Eric Bodden, (2013), SuSi: A Tool for the Fully Automated Classification and Categorization of Android Sources and Sinks Technical Report TUD-CS-2013-0114, EC SPRIDE, May 2013 2.2.1 [5] Steven Arzt, Siegfried Rasthofer, Eric Bodden, (2013), Highly Precise Taint Analysis for Android Applications, Technical Report Nr TUD- CS- 2013 – 0113 [6] Alexandre Bartel, (2014), Security Analysis of Permission-Based Systems using Static Analysis: An Application to the Android Stack, Doctoral thesis, University of Luxembourg, Luxembourg [7] Alexandre Bartel, Jacques Klein, Yves Le Traon, Martin Monperrus, (2012), “Dexpler: converting Android Dalvik bytecode to Jimple for static analysis with Soot”, Proceeding SOAP '12 Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis, Beijing, June 14th 2012 (SOAP@PLDI 2012), pp 27-38 [8] William Enck, Peter Gilbert, Byung-Gon Chun, Landon P Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol Sheth, (2010) “TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones”, OSDI Vol 10 2010, pp 255–270 [9] Huang, Jianjun and Zhang, Xiangyu and Tan, Lin and Wang, Peng and Liang, Bin, (2014), “AsDroid: Detecting Stealthy Behaviors in Android Applications by User Interface and Program Behavior Contradiction”, Proceedings of the 36th International Conference on Software Engineering [10] Pham Van Hau, Nguyen Le Thanh Truc (2012), “Detecting privilege escalation attacks on android device”, International University –VNU HCM 13 [11] William Klieber, Lori Flynn, Amar Bhosale, Limin Jia, Lujo Bauer, (2014), “Android Taint Flow Analysis for App Sets”, rd ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis (SOAP 2014) [12] Kaspersky Security Bulletin 2013 Malware evolution URL: http://media.kaspersky.com/pdf/KSB_2013_EN.pdf (2014) [13] Patrick Lam, Eric Bodden, Ondrej Lhoták, and Laurie Hendren, (2011), “The Soot framework for Java program analysis: a retrospective”, Cetus Users and Compiler Infastructure Workshop (CETUS 2011) [14] Li Li, Alexandre Bartel, Jacques Klein, Yves Le Trao, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, Patrick McDanie, (2013), I know what leaked in your pocket: uncovering privacy leaks on Android Apps with Static Taint Analysis, ISBN 978-2-87971-129-4 [15] Li Li, Alexandre Bartel, Tegawend´e F Bissyand´e, Jacques Klein, Yves Le Trao, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, Patrick McDaniel, (2015), “IccTA: Detecting Inter-Component Privacy Leaks in Android Apps”, The 37th International Conference on Software Engineering (ICSE 2015) [16] L Li, A Bartel, J Klein and Y Le Traon, (2014), “Automatically Exploiting Potential Component Leaks in Android Applications”, The 13th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom 2014) [17] Long Lu, Zhichun Li, Zhenyu Wu, Wenke Lee, Guofei Jiang, (2012), “CHEX: Statically vetting Android apps for component hijacking vulnerabilities,” Proceedings of the 2012 ACM conference on Computer and communications security, CCS ’12, Raleigh, North Carolina, USA: ACM, 2012, pp 229–240 [18] Mann, Christopher and Starostin, Artem, (2012), “A Framework for Static Detection of Privacy Leaks in Android Applications”, Proceedings of the 27th Annual ACM Symposium on Applied Computing [19] Damien Octeau, Patrick McDaniel, Somesh Jha, Alexandre Bartel, Eric Bodden, Jacques Klein, and Yves Le Traon, (2013), “Effective inter-component communication mapping in android with Epicc: An essential step towards holistic security analysis”, Proceedings of the 22nd USENIX Security Symposium (USENIX Security 13), pp 543-558, Washington, D.C., 2013 [20] PCWorld report: Malware-infected Android apps spike in the Google Play store, http://www.pcworld.com/article/2099421/report-malwareinfected-androidapps-spike-in-the-google-play-store.html - 19 February, 2014 14 [21] Siegfried Rasthofer, Steven Arzt, and Eric Bodden, (2014), “A Machinelearning Approach for Classifying and Categorizing Android Sources and Sinks”, Proceeding NDSS, 2014 4.1.2 [22] Securelist Analysis Report, IT Threat Evolution: Q2 URL: https://www.securelist.com/en/analysis/204792299/IT_Threat_Evolution_Q2_20 13, (2014) [23] Dragos Sbirlea, Michael G Burke, Salvatore Guarnieri, Marco Pistoia, Vivek Sarka, (2013), Automatic Detection of Inter-application Permission Leaks in Android Applications, Department of Computer Science, Rice University & IBM Watson Research Center [24] Shen, Feng and Vishnubhotla, Namita and Todarka, Chirag and Arora, Mohit and Dhandapani, Babu and Lehner, Eric John and Ko, Steven Y and Ziarek, Lukasz, (2014), “Information Flows As a Permission Mechanism”, Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering [25] Fengguo Wei, Sankardas Roy, Xinming Ou, Robby, (2014) Amandroid: A Precise and General Inter-component Data Flow Analysis Framework for Security Vetting of Android Apps Dept of Computing and Information Sciences, Kansas State University, Manhattan, Kansas 66506 [26] Lei Wu, Michael Grace, Yajin Zhou, Chiachih Wu, and Xuxian Jiang, (2013), “The impact of vendor customizations on android security”, Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, pp 623–634 [27] Zhemin Yang and Min Yang, (2012), “LeakMiner: Detect Information Leakage on Android with Static Taint Analysis”, Software Engineering (WCSE), 2012 Third World Congress on [28] Yajin Zhou and Xuxian Jiang, (2012), “Dissecting android malware: Characterization and evolution”, Security and Privacy (SP), 2012 IEEE Symposium, pp 95–109 TP HCM, ngày 13 tháng năm 2015 HỌC VIÊN KÝ TÊN (Họ tên chữ ký) NGƯỜI HƯỚNG DẪN (Họ tên chữ ký) …………Phạm Văn Hậu………… …………Phan Thế Duy………… 15 THUYẾT MINH SỬA ĐỀ CƯƠNG LUẬN VĂN Tên giáo viên góp ý 1: TS Lê Trung Quân Tên giáo viên góp ý 2: TS Nguyễn Minh Sơn Ngày bảo vệ đề cương: 04.04.2015 Nội dung trước sửa Nội dung sau sửa Phần 4.3 - trang 7-8 Tình hình nghiên cứu nước: Tại Việt Nam, nhóm nghiên cứu TS Phạm Văn Hậu, Nguyễn Lê Thanh Trúc, Đại học Quốc tế, ĐHQG Tp HCM, có đề tài “Detecting privilege escalation attacks on android device” (2012) [10], nghiên cứu phương pháp phân tích tĩnh phát loại công dựa vào đặc quyền cấp phát cho ứng dụng Android có ý định đánh cắp liệu cá nhân người dùng thiết bị di động chạy tảng Android Tuy nhiên, phương pháp tập trung vào việc phân tích hệ thống quyền hạn (permission) cấp phát cho ứng dụng Phần 4.3 - trang 7-8 Tình hình nghiên cứu nước: Tại Việt Nam, nhóm nghiên cứu TS Phạm Văn Hậu, Nguyễn Lê Thanh Trúc, Đại học Quốc tế, ĐHQG Tp HCM, có đề tài “Detecting privilege escalation attacks on android device” (2012) [10], nghiên cứu phương pháp phân tích tĩnh phát loại cơng dựa vào đặc quyền cấp phát cho ứng dụng Android có ý định đánh cắp liệu cá nhân người dùng thiết bị di động chạy tảng Android Tuy nhiên, phương pháp tập trung vào việc phân tích hệ thống quyền hạn (permission) cấp phát cho ứng dụng Ngoài ra, thị trường cơng cụ phịng chống bảo vệ người dùng trước loại virus, spyware, phần mềm gián điệp phát triển, chứng BKAV mắt với sản phẩm Bkav Mobile Security, có chức giám sát truy cập, quét cảnh báo phần mềm truy cập vào thông tin riêng tư máy danh bạ, tin nhắn, vị trí máy Đặc biệt phát loại bỏ phần mềm nghe điện thoại di động Nhưng công cụ có khả hoạt động ứng dụng độc hại cài vào thiết bị người dùng, hoạt động đơn ứng dụng, dựa permission cấp phát cho ứng dụng để đánh giá rủi ro bị nghe lén, hay xác có khả gây nhầm lẫn khơng phải ứng dụng có permission định nguy hại khơng thực hành vi đánh cắp thơng tin bên ngồi Tóm lại, cơng cụ Bkav Mobile Security phần mềm hỗ trợ người dùng xem ứng dụng làm với nhóm permission mà cấp phát, khó mang lại độ xác cao dự đốn mối nguy hại rị rỉ thơng tin bên ngồi Phần trang 11 Phần trang 11 Nội dung 4: Nội dung 4: Mục tiêu: Mục tiêu: - Đề xuất phương pháp cải tiến, tối ưu - Hiện thực cách tiếp cận phân tích phương pháp phân tích tĩnh dịng tĩnh dạng đánh dấu dòng liệu liệu chế đánh dấu “tainting” theo mơ hình đề xuất có khả phân tích lỗ hổng rị rỉ Kết quả: đến từ tương tác nhiều ứng - Cơng cụ nhận dạng rị rỉ thơng tin có dụng thông qua chế ICC IAC thể hoạt động tốt có độ xác dựa mơ hình phân tích giai cao việc phát ứng đoạn DidFail có bổ sung dụng khai thác bất hợp pháp, rị rỉ - thơng tin cá nhân người dùng Đưa nội dung cần cải tiến sau hoàn thành việc kiểm thử lại kết áp dụng phương pháp phân tích tĩnh dùng để xác định ứng dụng nguy hại tiềm tàng, mang rủi ro đánh cắp thông tin nhạy cảm ứng dụng Android Phần – trang 12 5.2015 – 2015 Đề xuất mơ hình, chế tăng cường, cải tiến độ xác tốn phát rị rỉ thơng tin ứng dụng Android phương pháp phân tích tĩnh thơng qua việc đánh dấu theo dõi dòng liệu thành phần hay nhiều ứng dụng IccTA Tăng cường tính xác mơ hình nhận diện rị rỉ thơng tin phân tích module ứng dụng, cải thiện hiệu sai sót phân tích đa ứng dụng - Hiện thực cách tiếp cận phân tích tĩnh dạng đánh dấu dịng liệu theo mơ hình đề xuất Kết quả: - Phương pháp phân tích liên thành phần, liên ứng dụng với tỉ lệ sai sót thấp tối thiểu hóa tốc độ phân tích liệu ứng dụng Android độc hại - Cơng cụ nhận dạng rị rỉ thơng tin hoạt động tốt có độ xác cao việc phát ứng dụng khai thác bất hợp pháp, rị rỉ thơng tin cá nhân người dùng - Đưa nội dung cần cải tiến sau hoàn thành việc kiểm thử lại kết áp dụng phương pháp phân tích tĩnh dùng để xác định ứng dụng nguy hại tiềm tàng, mang rủi ro đánh cắp thông tin nhạy cảm ứng dụng Android - Phần – trang 12 5.2015 – 2015 Nghiên cứu cách tổ chức, xử lý DidFail IccTA, cấu trúc thành phần source code công cụ Đề xuất mô hình, chế tăng cường, cải tiến độ xác tốn phát rị rỉ thơng tin ứng dụng Android sở công cụ DidFail IccTA Đưa phương pháp phân tích tĩnh phát rị rỉ thơng tin thơng qua kỹ thuật đánh dấu theo dõi dòng liệu thành phần hay nhiều ứng dụng Android Phần – trang 12 2015 Viết luận văn Phần – trang 12 2015 Đánh giá kết phương pháp phân tích tĩnh đề xuất vào tốn phát rị rỉ thơng tin ứng dụng Android Tổng hợp, viết luận văn ... Grace, Yajin Zhou, Chiachih Wu, and Xuxian Jiang, (2013), “The impact of vendor customizations on android security”, Proceedings of the 2013 ACM SIGSAC conference on Computer & communications... vetting Android apps for component hijacking vulnerabilities,” Proceedings of the 2012 ACM conference on Computer and communications security, CCS ’12, Raleigh, North Carolina, USA: ACM, 2012,... International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom 2014) [17] Long Lu, Zhichun Li, Zhenyu Wu, Wenke Lee, Guofei Jiang, (2012), “CHEX: Statically vetting