Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
1,48 MB
Nội dung
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ BÁO CÁO Nghiên cứu giải phápphátmãđộc thiết bị Android Môn học : Cơ sở an tồn thơng tin Giảng viên hướng dẫn : Trần Anh Tú Hà Nội - 2019 MỤC LỤC MỤC LỤC MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID CHƯƠNG 2: NGHIÊN CỨU KỸ THUẬT PHÁTHIỆNMÃĐỘCDỰATRÊNPHÂNTÍCHTĨNH CHƯƠNG 3: ÁP DỤNG CÁC KỸ THUẬT PHÂNTÍCHTĨNH VÀO PHÂNTÍCHMÃĐỘCTRÊN ANDROID MỞ ĐẦU Điện thoại thông minh trở nên phổ biến vài năm trở lại Trong phát triển thị trường di động thông minh, Android tảng mã nguồn mở Google trở thành hệ điều hành di động phổ biến Android chủ yếu sử dụng điện thoại thông minh máy tính bảng Điện thoại thơng minh ngày chấp nhận sử dụng nhiều yếu tố thiết bị điện thoại thơng minh có khả cung cấp dịch vụ ngân hàng, mạng xã hội, ứng dụng văn phòng hầu hết tất thứ làm với điện thoại thông minh Điện thoại thông minh trang bị số tính kết nối wifi, gọi điện, lưu trữ liệu, định vị toàn cầu(GPS), Đi đôi với phát triển hệ điều hành Android số lượng mãđộcphát triển hệ điều hành ngày tăng cao Năm 2012 số lượng mãđộcphát tảng Android 214.327 mẫu đến năm 2016 tăng lên 3.246.284 mẫu mãđộcphát [6] Điều dẫn đến phần mềm phòng chống mãđộc Android cần cải tiến phương pháp, Kỹ thuật Đã có nhiều nghiên cứu tập trung vào việc phátphần mềm độc hại Android Một phươngpháp phổ biến bao gồm phươngphápdựa chữ ký, trích chữ ký từ phần mềm độc hại mẫu Mặc dù có hiệu để phátphần mềm độc hại biết, khơng đủ để phátphần mềm độc hại chưa biết Ngồi số phươngphápdựa việc phântích hoạt động mạng phần mềm Phươngpháp thực giám sát lưu lượng truy cập mạng ứng dụng mẫu cố gắng phátphần mềm độc hại cách so sánh với danh sách blacklist DNS địa IP Phươngphápphátphần mềm độc hại chưa xác định, blacklist tạo từ hoạt động phần mềm độc hại biết đến Isohara [3] trình bày phươngpháp để phátphần mềm độc hại cách phântích thuộc tính tập tin mẫu ứng dụng Mặc dù cách tiếp cận phát số phần mềm độc hại không xác định mà không bị phát blacklist phươngphápphântíchdựa chữ ký, chi phí phântích phụ thuộc vào số lượng tệp mẫu phântích Enck cộng [9] đề xuất phươngpháp để ngăn chặn việc cài đặt ứng dụng có quyền nguy hiểm intent filter (một chế để thực hợp tác ứng dụng Android) Tuy nhiên, phươngpháp dẫn đến phát khơng xác, thơng tin sử dụng phươngpháp không đủ để phân biệt phần mềm độc hại từ ứng dụng lành tính Ngồi phươngphápphântíchmãđộcdựa việc phântích lời gọi API tệp tin smali nghiên cứu Wu cộng [14] Tuy nhiên, việc thực phươngpháp nảy sinh vấn đề chi phí phântích lớn tùy thuộc vào số lượng tệp tin kích thước tệp tin ứng dụng ban đầu Bài tiểu luận thực nhằm mục đích tìm hiểu phươngphápphátmãđộcdựaphântíchtĩnh CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 1.1 Tổng quan phát triển hệ điều hành android Điện thoại thông minh trở nên phổ biến vài năm trở lại Số lượng người dùng smartphone toàn giới dự báo tăng từ 3,4 tỷ vào năm 2015 lên khoảng 6,4 tỷ năm 2021 [10] Trong phát triển thi trường di động thông minh, Android tảng mã nguồn mở Google trở thành hệ điều hành di động phổ biến Hình 1.1 thị phần thị trường di động Android, iOS hệ điều hành di động khác [20]: Hình 1.1: Thị phần hệ điều hành di động quý năm 2012 (Theo thống kê Gartner vào quý năm 2012) [20] Hình 1.2: Thị phần hệ điều hành di động quý năm 2016 (Theo thống kê Gartner vào quý năm 2016) Sự gia tăng đột ngột ứng dụng điện thoại thông minh gây mối lo ngại bảo mật cho người dùng Điện thoại di động trở thành mục tiêu nhà phát triển ứng dụng độc hại Android trở nên phổ biến hệ điều hành mã nguồn mở có số tính middleware(là phần mềm có nhiệm vụ kết nối thành phần mềm ứng dụng lại với ) máy ảo số ứng dụng máy tính, lịch, trình duyệt, 1.2 Cấu trúc tệp tin hệ điều hành Android Hệ thống quản lý tập tin android phát triển từ linux nên có nhiều đặc điểm giống với hệ thống quản lý tập tin linux 1.2.1 Tổng quan hệ thống tệp tin Android Trong Android, tệp tin tổ chức thành thư mục, theo mơ hình phân cấp Tham chiếu đến tệp tin tên đường dẫn Các câu lệnh thao tác tệp tin cho phép thực chức dịch chuyển, chép toàn thư mục với thư mục chứa Có thể sử dụng ký tự, dấu gạch dưới, chữ số, dấu chấm dấu phẩy dể đặt tên tệp tin Không duợc bắt đầu tên tệp tin dấu chấm hay chữ số Những ký tự khác ‘/’, ‘?’, ‘*’, ký tự dặc biệt đuợc dành riêng cho hệ thống Chiều dài tên tệp tin tới 256 ký tự Trong hệ diều hành Android có phân biệt tên tệp tin chữ hoa chữ thuờng, điều dó có nghĩa thư mục tồn tệp tin có tên File, FILE, file chúng tệp tin khác Tất tệp tin Android có chung cấu trúc vật lý chuỗi byte (byte stream) Cấu trúc thống cho phép Android áp dụng khái niệm tệp tin cho thành phần liệu hệ thống Thư mục thiết bị xem tệp tin Chính việc xem thứ tệp tin cho phép Android quản lý chuyển đổi liệu cách dễ dàng Một thư mục chứa thông tin thư mục, đuợc tổ chức theo định dạng đặc biệt Các thành phần đuợc xem tệp tin, chúng phân biệt dựa kiểu tệp tin: tệp tin bình thường, tệp tin thư mục, tệp tin kiểu ký tự, tệp tin kiểu khối 1.2.2 Các kiểu tệp tin android Trong nhiều hệ điều hành window, người ta phân biệt rõ tập tin(file) thư mục (folder) hay directory thành phần khác hẳn Tuy nhiên hệ điều hành Android (cũng Linux) coi directory tệp tin loại tệp tin đặc biệt Thực tế số loại tệp tin liệt kê theo bảng sau [1]: Bảng 1.1: Bảng liệt kê số kiểu tệp tin Linux Chữ biểu diễn Kiểu tệp tin D Thư mục (directory) b Tệp tin kiểu khối (block-type special file) C Tệp tin kiểu ký tự (character-type special file) L Liên kết tượng trưng (symbolic link) P Tệp tin đường ống (pipe) S Socket - Tệp tin bình thường (regular file) 1.2.3 Tổ chức quyền sở hữu quyền hạn tệp tin Tương tự hệ thống linux, hệ điều hành android, tệp tin liên kết với người sử dụng nhóm người sử dụng Sự liên kết tập hợp quyền hạn truy cập bao gồm quyền phép đọc (read), phép ghi (write) phép thực thi (execute) Cụ thể sau: Một tệp tin có quyền hạn tương ứng với ký tự theo mẫu sau : với ký tự “r,w,x” nghĩa có quyền tương ứng với ký tự viết tắt đó, “-” nghĩa khơng có quyền hạn đó(bảng 1.2): Bảng 1.2: Một số quyền làm việc với tệp tin Chủ nhân tệp tin (Owner) r/- w/- x/- Nhóm tài khoản sở hữu tệp tin (Owner Group) r/- w/- x/- Những người khơng thuộc nhóm sở hữu tệp tin( Other) r/- w/- x/- ký tự quyền hạn chủ nhân tệp tin ký tự quyền hạn nhóm tài khoản sở hữu tệp tin ký tự cuối quyền hạn người khơng thuộc nhóm sở hữu tệp tin 1.2.4 Cây thư mục hệ điều hành Android Thư mục (hay gọi file) root thư mục gốc tất tệp tin thư mục lại Dưới có chứa số tệp tin thư mục hệ thống Mỗi thư mục (trừ thư mục root) có thư mục cha chứa nó, thân có nhiều tệp tin thư mục Cấu trúc mơ tả thư mục có dạng sau [1]: Hình 1.3: Cấu trúc thư mục đơn giản Giới thiệu vài thư mục tiêu biểu [18] : /(root) : thư mục gốc, thư mục khơng có thu mục cha / mnt : thư mục chứa thiết bị lưu động (removeable) /system : chứa thành phần hệ thống /ect : chứa tệp tin cấu hình hệ thống, quan trọng hoạt động hệ thống bị chi phối tệp tin cấu hình /system/lost+found : chứa tập tin bị lúc khởi động máy /system/font : chứa font chữ hiển thị đuợc /system/lib : chứa thư viện để phần mềm hoạt động (các phần mềm viết ngôn ngữ java) /system/app : chứa tệp tin apk phần mềm (Các tệp tin cài đặt ứng dụng, tương tự MSI window hay dev Linux) /system/bin : chứa chương trình nội trú hệ thống 1.3 Vấn đề mãđộc hệ điều hành Android Kiến trúc Android tạo thành từ phần sau: - Một hạt nhân Linux(Linux Kernel) có hỗ trợ multiprocess(nhiều tiến trình) multuthreads(nhiều luồng) Mỗi ứng dụng có Linux ID riêng chạy tiến trình riêng biệt Hai ứng dụng có ID trao đổi liệu với - Một số thư viện mã nguồn mở - Môi trường Android run-time, máy ảo Dalvik chạy ứng dụng với định dạng nhị phân dex - Application Framework bao gồm Java interface Lớp bao gồm Android NDK SDK - Các ứng dụng cài đặt Các mơ hình an tồn cho thiết bị android dựa chế phân quyền sanbox Mỗi ứng dụng chạy máy ảo Dalvik riêng với ID gán cho ứng dụng Điều ngăn cản ứng dụng cản trở thông tin liệu ứng dụng khác Các nhà phát triển phần mềm bên thứ ba tạo ứng dụng đưa chúng lên chợ ứng dụng Android Điều cho phép người dùng truy cập vào hàng ngàn ứng dụng, cần để người sử dụng hồn toàn tin tưởng vào ứng dụng trước cài đặt chúng Vì lí mà ứng dụng cần đưa quyền đòi hỏi q trình cài đặt Người dùng có quyền chấp nhận từ chối tất quyền đó, trường hợp này, trình cài đặt ứng dụng bị hủy Tuy nhiên, có nhiều ứng dụng độc hại có mặt chợ ứng dụng Android Do trở thành điều cần thiết cho Google kiểm tra ứng dụng thường xuyên làm thị trường ứng dụng di động cho Android cách xóa bỏ phần mềm độc hại Ngồi phần mềm độc hại số loại công khác ứng dụng di động như: công lừa đảo, kết nối http không an toàn, sử dụng liệu local, Dựa mẫu mãđộc cơng bố, hình 1.3 cho thấy số lượng mãđộc tác động chúng [5]: Hình 1.4: Tác động malware điện thoại thông minh Từ đồ thị ta thấy hầu hết mãđộc di động thành cơng việc kiểm sốt tập tin vơ hiệu hóa ứng dụng khác Trong trường hợp hệ điều hành Android, ứng dụng đăng chợ ứng dụng Android, ứng dụng xuất chợ ứng dụng Android nơi người dùng xem tải ứng dụng cài đặt máy Kẻ công thường xáo trộn lại ứng dụng xuất lại chúng Người dùng tải ứng dụng mà khơng biết ứng dụng khơng phải gốc phần mềm độc hại cài đặt thiết bị họ Một cách mà kẻ cơng lơi kéo người dùng tải phần mềm độc lại đóng gói lại ứng dụng cách sử dụng công cụ dịch ngược Kẻ công thay đổi mã lệnh chương trình kết hợp với mãđộc hại đóng gói lại ứng dụng sau phát hành thị trường ứng dụng di động Người dùng thường phân biệt phần mềm độc hại phần mềm hợp pháp ban đầu Q trình mơ tả sơ đồ sau [15]: Hình 1.5: Q trình đóng gói lại ứng dụng Số lượng mãđộcphần mềm gián điệp ngày tăng nhanh Do việc phântích ứng dụng có an tồn hay khơng trước thực cài đặt cần thiết Điều giúp bảo vệ cho an tồn cho liệu người dùng tổ chức 1.4 Mô hình bảo mật android nguy an tồn Mơ hình bảo mật Android thiết kế để không cho ứng dụng phép thực hoạt động xấu làm ảnh hưởng đến ứng dụng khác, người sử dụng hệ điều hành Mỗi ứng dụng chạy tiến trình riêng Android coi hệ thống đa xử lí Trong linux nhóm người dùng sử dụng ID gán cho ứng dụng thực áp dụng an ninh cho hệ thống cho ứng dụng mức tiến trình Một mức an ninh sử dụng chế cấp quyền để hạn chế hoạt động tiến trình cụ thể [12] Trong mơ hình bảo mật Android chủ yếu dựa chế bảo vệ cho phép Mỗi ứng dụng chạy máy ảo Dalvik cụ thể với ID gán, có nghĩa mã nguồn ứng dụng chạy độc lập với mã nguồn ứng dụng khác Như ứng dụng khơng cấp quyền khơng thể truy cập vào tập tin ứng dụng khác [12] Hình 1.6: Mơ hình bảo mật Android Mỗi ứng dụng Android ký kết với chứng có khóa riêng để biết chủ sở hữu ứng dụng Điều cho phép tác giả ứng dụng xác định cần thiết Khi ứng dụng cài đặt điện thoại gán ID người dùng, tránh tự ảnh hưởng đến ứng dụng khác cách tạo sandbox cho ID người dùng vĩnh viễn thiết bị ứng dụng có ID người dùng phép chạy tiến trình Đây cách để đảm bảo ứng dụng độc hại khơng truy cập/thỏa hiệp liệu ứng dụng hãng [17] Nó bắt buộc ứng dụng để liệt kê tất tài nguyên truy cập cài đặt Các điều khoản yêu cầu ứng dụng, trình cài đặt,cần chấp thuận người dùng tương tác dựa kiểm tra với chữ ký ứng dụng [17] Quyền ứng dụng Android cần thiết giai đoạn khác vòng đời ứng dụng, cụ thể [17]: - Vào thời điểm lời gọi hệ thống để ngăn chặn ứng dụng từ việc thực chức cụ thể mà không mong muốn - Khởi đầu hoạt động để tránh hoạt động ứng dụng khác khởi xướng - Quyền quản lí người gửi, nhận tin nhắn - Khởi động dịch vụ - Thực hoạt động truy cập nội dung máy Có thể chia mức độ an ninh thiết bị Android thành cấp độ với tên cụ thể sau: - Mức độ bình thường(Normal): trường hợp khơng có quyền u cầu cho phép người dùng, quyền bình thường trao cho ứng dụng - Mức độ nguy hiểm(Dangerous): quyền theo yêu cầu ứng dụng tới người sử dụng trình cài đặt Người dùng chấp nhận tất quyền từ chối tất Sự từ chối quyền chấm dứt trình cài đặt - Signature: điều khoản thừa nhận hệ thống cung cấp 10 Process name Một ứng dụng Android mặc định khơng có quyền liên kết với nó, có ghĩa khơng thể thực điều ảnh hưởng xấu tới trải nghiệm người dùng liệu thiết bị Để sử dụng tính bảo vệ thiết bị, người lập trình phải sử dụng thẻ têp tin manifest để liệt kê quyến mà ứng dụng muốn sử dụng Ví dụ ứng dụng muốn yêu cầu quyền nhận tin nhắn SMS thực sau: Vì để liệt kê quyền ứng dụng yêu cầu tệp tin manifest ta liệt kê quyền yêu cầu thẻ Một Intent filter (action) định nghĩa tệp tin manifest ứng dụng với cú pháp: Đồng thời action chứa để lấy thuộc tính Intent filter (action) áp dụng cho phươngpháp ta liệt kê tồn action có thẻ tệp tin manifest Một Intent filter (category) định nghĩa tệp tin manifest ứng dụng với cú pháp: Tương tự action, category chứa 25 để lấy thuộc tính Intent filter (category) áp dụng cho phươngpháp ta liệt kê toàn action có thẻ < category> tệp tin manifest Một process tệp tin manifest định nghĩa cú pháp: Để xác định process tệp tin manifest ta dựa vào thẻ android:process để liệt kê process sử dụng ứng dụng Dưới danh sách Permission tệp tin Manifest mẫu mà chúng tơi phântích Mỗi bảng chia làm bảng chia làm ba cột: Số thứ tự, Tên Permission, Số lần xuất Với Tên Permission: tên quyền xuất tệp tin manifest Số lần xuất hiện: Đếm tổng số lần xuất quyền tất mẫu phântích Đối với 40 mẫu lành tính: Bảng 2.6: Danh sách quyền yêu cầu ứng dụng lành tính Số thứ tự Tên Permission Số lần xuất INTERNET 20 WRITE_EXTERNAL_STORAGE 13 ACCESS_NETWORK_STATE 11 WAKE_LOCK READ_PHONE_STATE VIBRATE ACCESS_WIFI_STATE USE_CREDENTIALS MANAGE_ACCOUNTS 10 SET_WALLPAPER Đối với 40 mẫu mã độc: 26 Bảng 2.7: Danh sách quyền yêu cầu mãđộc Số thứ tự Tên Permission Số lần xuất READ_PHONE_STATE 35 INTERNET 32 SEND_SMS 28 WRITE_EXTERNAL_STORAGE 26 ACCESS_NETWORK_STATE 25 RECEIVE_SMS 25 READ_SMS 23 ACCESS_WIFI_STATE 19 WRITE_SMS 17 10 READ_CONTACTS 17 Kết cho thấy xuất số quyền phổ biến Các số cho thấy quyền liên quan đến gửi tin nhắn (SMS), chẳng hạn SEND_SMS, RECEIVE_SMS READ_SMS thường sử dụng mẫu mãđộcCác quyền cho vào danh sách quyền nguy hiểm Ta tiến hành tương tự để tìm keyword phân loại cho (2) Intent filter (action), (3) Intent filter (category), (4) Process name Các danh sách keyword thu sử dụng trình đánh giá độ ác tính mẫu phântích Kết thu thập từ mẫu: (Danh sách 1) Permission(quyền) nguy hiểm liệt kê bảng 2.6 Bảng 2.8: Các permission nguy hiểm Số thứ tự Permission READ_SMS SEND_SMS RECEIVE_SMS WRITE_SMS PROCESS_OUTGOING_CALLS MOUNT_UNMOUNT_FILESYSTEMS READ_HISTORY_BOOKMARKS 27 10 11 12 13 14 WRITE_HISTORY_BOOKMARKS READ_LOGS INSTALL_PACKAGES MODIFY_PHONE_STATE READ_PHONE_STATE INTERNET CALL_PHONE (Danh sách 2) Intent-filter (action) nguy hiểm liệt kê bảng 2.7 Bảng 2.9: Các Intent-filter (action) nguy hiểm Số thứ tự 10 11 12 13 14 Intent-filter (action) BOOT_COMPLETED SMS_RECEIVED CONNECTIVITY_CHANGE USER_PRESENT PHONE_STATE NEW_OUTGOING_CALL UNINSTALL_SHORTCUT INSTALL_SHORTCUT left_up right_up left_down right_down SIG_STR VIEW (chuỗi lành tính) (Danh sách 3) Intent-filter (category) nguy hiểm liệt kê bảng 2.8 Bảng 2.10: Intent-filter (category) nguy hiểm Số thứ tự Intent-filter (category) HOME BROWSABLE (chuỗi lành tính) (Danh sách 4) Tên Process nguy hiểm liệt kê bảng 2.9 Bảng 2.11: Tên Process nguy hiểm Số thứ tự Process remote2 main two three 28 Sau thực thu thập danh sách từ khóa(keyword), ta thực tính điểm số ác tính cho thông tin thu từ tệp tin manifest Đầu tiên ta cần thực phân loại thuộc tính thu từ tệp tin manifest lành tính hay độc hại Sau áp dụng cơng thức sau để tính [16]: Trong đó: P: điểm số ác tính M: số lượng chuỗi độc hại B: số chuỗi lành tính E: tổng số thơng tin thu Ví dụ sau: Trong tệp tin manifest ta thu quyền sau: Ta có tất quyền INTERNET, CALL_PHONE, READ_LOGS READ_PHONE_STATE có danh sách quyền nguy hiểm Vì điểm số ác tính mẫu tính theo cơng thức: P= = 0.57 Thực đánh giá tương tự với thuộc tính lại gồm (2) Intent filter 29 (action), (3) Intent filter (category), (4) Process name Phươngpháp đề xuất cung cấp giá trị ngưỡng cho điểm số ác tính Để có giá trị ngưỡng xác ta cần áp dụng Kỹ thuật thống kê trung bình phươngpháp với tập liệu đủ lớn để có giá trị ngưỡng tốt cho điểm số ác tính Bằng cách sử dụng bốn thông tin thu từ (1), (2), (3) (4) Trong nghiên cứu dựa vào việc phântích với 50 mẫu mãđộc đề xuất giá trị ngưỡng 0.48 3.1.3 Đánh giá kết luận Kết luận cuối dựa sở điều kiện 1, công thức đưa Điều kiện mơ tả đặc tínhphần mềm độc hại Điều kiện hai thực để tránh kết luận khơng xác Trong cơng thức đây, SCORE đề cập điểm số ác tính cuối mẫu C1 C2 đếm số lượng hài lòng mẫu điều kiện tương ứng Điều kiện 1: - Điểm số ác tính lớn giá trị ngưỡng - Số lượng Intent filter (priority) lớn giá trị ngưỡng Điều kiện 2: - Điểm Intent-filter (action) số âm (< 0) - Điểm Intent-filter (category) số âm (< 0) Công thức: SCORE = C1 – C2 Nếu SCORE cuối lớn 1, mẫu thử nghiệm coi phần mềm độc hại Ưu điểm nhược điểm phươngpháp Ưu điểm: Ưu điểm phươngpháp sử dụng tệp tin manifest để phátphần mềm độc hại Tệp tin manifest có tất ứng dụng Android phươngpháp áp dụng cho phần mềm độc hại chưa biết đến màphát thông qua phươngphápphát chữ kí thơng thường Hơn việc phântích tệp tin manifest làm cho chi phí 30 phântích thấp Phươngphápphân loại xác ứng dụng Android Với liệu lớn độ xác phươngpháp cao Độ xác phụ thuộc vào giá trị ngưỡng đề xuất Nhược điểm: Một số mẫu mãđộc không bị phátphươngphápPhươngpháp chưa đủ để phátphần mềm quảng cáo Ngồi hiển thị thơng tin quảng cáo khơng cần thiết, đồng thời chứa số khác biệt nằm biên ứng dụng lành tính ứng dụng quảng cáo Điều gây khó khăn cho phươngpháp q trình phân loại đặc tính 31 3.2 Hạn chế nguy an tồn Có nhiều biện pháp sử dụng nhằm giản thiểu công phần mềm độc hại Android Bảo mật từ phía nhà phát triển: nhà phát triển phải đặt việc bảo vệ liệu cho người dùng lên hàng đầu Như ta biết ứng dụng gán UID cho riêng Tuy nhiên cho chương trình yêu cầu chạy với UID ứng dụng Vì lí mà ứng dụng cần phải có chữ kí nhà phát triển Trong Android, việc kí lên ứng dụng thường thực chứng tự kí Lý để khẳng định ký mã cho phép nhà phát triển để thực cập nhật cho ứng dụng có họ Các ứng dụng khác ký sử dụng khóa yêu cầu để chạy với ID chúng phát triển nhà phát triển Do cần phải lưu ý tới chữ kí ứng dụng Do nhà phát triển khơng tin cậy cách dễ dàng Android nên cảnh báo quy định người ký tên đáng tin cậy để bảo vệ an toàn cho liệu người dùng [11] Trách nhiệm từ phía người dùng: Một người sử dụng cài đặt ứng dụng cần phải cấp quyền truy cập cho quyền yêu cầu cài đặt Do đó, quan trọng người sử dụng phải hiểu rõ điều khoản theo yêu cầu ứng dụng Một số ứng dụng Skype mà cần nhiều quyền truy cập vào liệu khác điện thoại: danh bạ, ảnh, vị trí, đọc thẻ nhớ, Do người dùng cần phải biết quyền mà ứng dụng u cầu có bất thường hay khơng để định có nên tiếp tục cài đặt phần mềm hay không [11] Bảng 2.12: Một số quyền mức độ nguy hiểm hệ thống [8] STT Quyền Directly Mức độ rủi ro Tóm lược call Cao - Vừa phải Quyền cho phép ứng dụng numbers (Quay số gọi điện trực tiếp từ máy trực tiếp) người dùng Nó dẫn tới 32 tiêu tốn tiền Send SMS (Gửi Cao - Vừa phải Cho phép ứng dụng gửi tin nhắn tin nhắn) văn đại diện cho người dùng Delete/Modify Cao - Vừa phải Điều cho phép ứng SD card contents dụng để đọc, viết xóa (Xóa/ sửa đổi nội liệu lưu trữ thẻ nhớ dung thẻ nhớ ngồi Các liệu hình ngồi) ảnh, video, liệu ghi ứng dụng khác Read Phone State and Đây yêu cầu ứng dụng (Đọc trò chơi để tạm dừng điện thực số nhiệm vụ thoại định danh người dùng nhận điện thoại) gọi Tuy nhiên, thơng ID Vừa phải tin phần mềm độc hại yêu cầu để lấy thơng tin UID, IMEI, IMSI Các thơng tin gửi cho kẻ công để lấy thông tin thiết bị Read Contact Vừa phải Ứng dụng đọc số liên Data (Đọc liệu lạc có danh bạn người danh bạ) dùng sau thực gửi cho kẻ công nhằm phát tán tin nhắn rác phần mềm, mãđộc hại khác Full Access Internet Cao - Vừa phải Đây quyền (Toàn phổ biến nguy hiểm Sự quyền thiết lập kết cho phép yêu cầu 33 nối internet) tất ứng dụng có hỗ trợ quảng cáo, trò chơi, Find GPS Cao - Vừa phải Sự cho phép cho phép Location ứng dụng để theo dõi vị trí người sử dụng thu thập thông tin liên quan đến người sử dụng Dưới số thống kê quyền sử dụng malware [2]: Bảng 2.13: Top 10 Permission nguy hiểm mà Spy sử dụng Số thứ tự Tên Permission Số lần xuất READ_PHONE_STATE 845 SEND_SMS 802 INTERNET 799 RECEIVE_SMS 757 WRITE_EXTERNAL_STORAGE 732 READ_SMS 712 CALL_PHONE 701 READ_CONTACTS 501 CHANGE_WIFI_STATE 432 10 WRITE_SMS 387 Bảng 2.14: Top 10 Permission nguy hiểm mà Ransomware sử dụng Số thứ tự Tên Permission Số lần xuất READ_PHONE_STATE 585 INTERNET 581 WRITE_EXTERNAL_STORAGE 201 GET_TASKS 165 34 CAMERA 128 RECEIVE_SMS 114 SYSTEM_ALERT_WINDOW 109 READ_CONTACTS 102 BATTERT_STATS 73 10 SEND_SMS 69 Bảng 2.15: Top 10 Permission nguy hiểm mà Trojan sử dụng Số thứ tự Tên Permission Số lần xuất INTERNET 3528 READ_PHONE_STATE 3245 SEND_SMS 2016 WRITE_EXTERNAL_STORAGE 1513 RECEIVE_SMS 1498 WRITE_SMS 1436 ACCESS_FINE_LOCATION 1247 ACCESS_COARSE_LOCATION 982 GET_TASKS 899 10 READ_SMS 631 Cài đặt phần mềm diệt virus: cài đặt phần mềm diệt virus điện thoại di động, giống máy tính để bàn, giúp xác định malwares ngăn chặn người dùng từ việc cài đặt chúng Có số phần mềm antivirus có sẵn điện thoại Android giúp làm malware bảo vệ liệu người dùng [13] Ngoài ra, ta cần lưu ý số vấn đề sau [17]: - Chỉ nên cài đặt phần mềm từ nguồn tin cậy Google Play Store Khi cài đặt cần ý tới mức độ đánh giá người dùng khác với ứng 35 dụng đó, tên nhà phát triển ứng dụng - Khi yêu cần đăng nhập, phải cá minh địa trang web phù hợp hỗ trợ ứng dụng - Một mật nên thiết lập thiết bị trường hợp trộm cắp để làm phức tạp trình truy cập liệu thiết bị - Cần để ý tới tượng bất thường thiết bị pin sụt bât thường, hình tự động sáng, hay tài khoản bị trừ bất thường, 36 KẾT LUẬN Ba chương tiểu luận thể mục tiêu đặt thực báo cáo đạt Cụ thể: Chương hệ thống lại kiến thức tổng quan hệ điều hành Android Kiến trúc điều hành Android, cấu trúc tệp tin hệ điều hành Android mô hình bảo mật hệ điều hành Android Chương thực nghiên cứu Kỹ thuật dịch ngược, công cụ Kỹ thuật phântíchmãđộc cho ứng dụng Android Ngồi ra, tơi nêu loại mãđộc biện pháp giảm thiểu nguy an toàn từ mãđộc Android Trong chương tơi có thực nghiệm phântíchmãđộc ứng dụng Android phươngphápphântích tệp tin manifest Tệp tin manifest có tất ứng dụng Android phươngpháp áp dụng cho phần mềm độc hại chưa biết đến màphát thông qua phươngphápphát chữ ký thông thường Hơn nữa, việc phântích tệp tin manifest làm cho chi phí phântích thấp Đồng thời, phươngpháp kết hợp với phươngpháp khác để phát xác 37 TÀI LIỆU THAM KHẢO [1] Christian Lueg, “8,400 new Android malware samples every day”, G DATA Security Blog, 2017 [2] Eric Chin, “Motivations of Recent Android Malware”, Symantec Security Response, Tech Rep, 2011 [3] Himanshu Shewale, Sameer Patil, Vaibhav Deshmukh and Pragya Singh, “Analysis of Android Vulnerabilities and Modern Exploitation Techniques”, in ICTACT Journal on Communication Technology, vol.5, no.1, 2014 [4] Kindsight, “The Mobile Malware Problem”, in A Kindsight White Paper, Ottawa, Canada, Tech.Report, 2012 [5] Muhammad Zuhair Qadir, Atif Nisar Jilani and Hassan Ullah Sheikh, “Automatic Feature Extraction, Categorization and Detection of Malicious Code in Android Application”, in Proceeding International Journal of Information and Network Security, vol.3, no.1, pp.12-17, 2014 [6] Stefan Brahler, “Analysis of the Android Architecture”, Karlsruhe Institute of Technology, Tech Rep, 2010 [7] Justin Sahs and Latifur Khan, “A Machine Learning Approach to Android Malware Detection”, in Intelligence and Security Informatics Conference, Odense, European, 2012 [8] Luoshi Zhang, Yan Niu, Xiao Wu, Zhaoguo Wang and Yibo Xue, “A3: Automatic Analysis of Android Malware”, in International Workshop on Cloud Computing and Information Security, 2013 [9] Alessandro Armando, Alessio Merlo and Luca Verderama, “Security Issues in the Android crosslayer architecture”, 2012 [10] Kevin Allix, Tegawende Bissyande, Quentin Jerome, Jacques Klein and Radu State, “LargeScale Machine Learning-based Malware Detection: Confronting the “10-Fold Cross Validation” Scheme with Reality”, in Conference on Data and Application Security and Privacy, San Antonio, Texas, USA, 2014 [11] Zami Aung and Win Zaw, “Permission-Based Android Malware Detection”, in International Journal of Scientific & Technology Research, vol.2, no.3, 2013 [12] Yousra Aafer, Wenliang Du and Heng Yin, “DroidAPIMiner: Mining API-Level Features for Robust Malware Detection in Android”, in Security and Privacy in Communication Networks, pp 86-103, 2013 [13] Detecting Android Malware by Analyzing Manifest Files: Ryo 38 Sato1, Daiki Chiba and Shigeki Goto [14] Nguyễn Minh Đức, “Phân tíchmãđộc Android dự đốn xu hướng năm 2015”, SecurityDaily, 2015 [15] Troy Vennon, GTC Research Engineer, “A Study of Known and PotentialMalware Threats”, 2010 Journal of Science and Technology on Information security 18 Số 1.CS (05) 2017 [16] Isohara T.; Kawabata H.; Yakemori K.; Kubota A.; Kani J.; Agematsu H.; Nishigaki A Detection Technique of Android Malware with Second Application Proceedings of Computer Security Symposium [17] Enck W.; Ongtang M.; McDaniel P On Lightweight Mobile Phone Application Certification [18] Wu D.; Mao C.; Wei T.; Lee H.; Wu K DroidMat: Android Malware Detection throug Manifest and API Calls Tracing Seventh Asia Joint Conference on Information Security [19] https://play.google.com/store [20] https://virusshare.com [21] http://www.cs.waikato.ac.nz/ml/weka/ [22] Lê Bá Cường; Trịnh Doãn Mạnh; “Phát mãđộc Android phươngphápphântích tập tin manifest” in Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin, 2017 39 ... CHƯƠNG 2: NGHIÊN CỨU KỸ THUẬT PHÁT HIỆN MÃ ĐỘC DỰA TRÊN PHÂN TÍCH TĨNH CHƯƠNG 3: ÁP DỤNG CÁC KỸ THUẬT PHÂN TÍCH TĨNH VÀO PHÂN TÍCH MÃ ĐỘC TRÊN ANDROID MỞ ĐẦU Điện thoại thông... phân tích tiến trình số liệu khác b) Kỹ thuật phân tích tĩnh Phân tích tĩnh gọi phân tích mã nguồn, sử dụng để phân tích mã nguồn phần mềm độc hại Mục đích để biết xác đoạn mã độc hại nhúng mã. .. Kỹ phân tích 13 Phân tích tĩnh Phân tích động Chế độ phân tích Phân tích ứng dụng ứng dụng Phân tích ứng dụng ứng khơng thực thi dụng chế độ thực thi Phân tích mã độc - Sử dụng cơng cụ dịch Phân