1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mobile virus

64 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 1,79 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TP.HCM KHOA CÔNG NGHỆ THÔNG TIN KHÓA LUẬN TỐT NGHIỆP MOBILE VIRUS GIẢNG VIÊN HƯỚNG DẪN: ThS Phạm Đình Thắng SINH VIÊN THỰC HIỆN: Phan Gia Lượng – 15DH110168 Trần Cao Sơn – 15DH110206 TP.HỒ CHÍ MINH - 2019 LỜI CẢM ƠN  Chúng em xin chân thành cảm ơn khoa Công nghệ thông tin, trường đại học Ngoại ngữ - Tin học TPHCM tạo điều kiện thuận lợi cho chúng em học tập thực đề tài tốt nghiệp Chúng em xin bày tỏ lòng biết ơn sâu sắc tới thầy Phạm Đình Thắng tận tình hướng dẫn bảo chúng em trình thực đề tài Chúng em xin chân thành cảm ơn quý thầy cô khoa Cơng nghệ thơng tin tận tình giảng dạy, trang bị cho em kiến thức quý báu năm vừa qua Chúng xin chân thành cảm ơn ông bà, cha mẹ động viên ủng hộ vật chất lẫn tinh thần suốt thời gian qua Chúng em xin cảm ơn quan tâm giúp đỡ ủng hộ anh chị bạn bè trình thực khóa đề tài Mặc dù cố gắng hồn thành khóa luận phạm vi khả cho phép chắn không tránh khỏi thiếu sót Chúng em mong nhận thơng cảm, góp ý tận tình bảo quý thầy cô bạn MỤC LỤC Chương GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Cơ sở Lý thuyết 1.2 Kiến trúc Android 1.2.3 Android Runtime 1.2.4 Native C/C++ Libararies 1.2.5 Java API Framework 1.2.6 System Apps 1.3 Cấu trúc mã nguồn chạy Android 1.3.1 Manifests 1.3.2 Java 1.3.3 Drawable 1.3.4 Layout 1.3.5 Mipmap 1.3.6 Values 1.4 Sự phát triển android qua phiên 1.5 Quy trình thực thi file android 1.6 Một số virus android tiếng 1.6.1 Gplayed 1.6.2 Triada Chương PHÁT TRIỂN MẪU VIRUS 10 A Mô tả chi tiết chức 10 2.1 Cấu trúc file ứng dụng 10 2.2 Sơ đồ chức virus 11 2.4 Lớp MyService (Tạo notification chạy ngầm) 17 2.5 Lớp GetIMEI 23 2.6 Lớp HTML 23 2.7 Lớp MyCameraService 24 2.8 Lớp MyReadCallHistory 25 2.9 Lớp MyReadMessages 29 2.10 MyRecordAudio 33 2.11 MyLocation 36 2.12 MyUpload 38 2.13 MainActivity 40 2.14 Reboot 42 2.15 Upload 43 B Thực Nghiệm 44 C Đánh giá 52 Chương KẾT LUẬN 53 Mục tiêu đề tài 53 Phạm vi nghiên cứu 53 Những vấn đề làm 53 Những vấn đề chưa làm 53 Kết sau đồ án 53 TÀI LIỆU THAM KHẢO 55 DANH SÁCH HÌNH Hình Kiến trúc android Hình Cấu trúc file apk Hình Quy trình thực thi file android Hình Mơ hình chi tiết chức .10 Hình Cấu trúc file ứng dụng 10 Hình Quy trình vận hành virus 11 Hình Kết quét virus trang virustotal (1) 12 Hình Kết quét virustotal (2) 13 Hình Kết quét virus trang virustotal (3) 14 Hình 10 Kết quét virus trang virustotal (4) .15 Hình 11 Kết quét virus trang virustotal (5) .16 Hình 12 Kết quét virus trang virustotal (6) .16 Hình 13 Lớp MyService 17 Hình 14 Lớp MyService 17 Hình 15 MyService (Chức camera) 18 Hình 16 Lớp MyService (cài đặt lệnh để thực thi server) 18 Hình 17 Lớp MyService (lệnh chụp hình) 18 Hình 18 Lớp MyService (lệnh đọc tin nhắn, lịch sử gọi sinh file html cần thiết) 19 Hình 19 Lớp MyService (lệnh định vị) 19 Hình 20 Lớp MyService (lệnh bắt đầu ghi âm) 19 Hình 21 Lớp MyService (lệnh dừng ghi âm) 19 Hình 22 Lớp MyService (lệnh xóa file thư mục tạo ra) 20 Hình 23 Lớp MyService (lệnh upload hình ảnh chụp) .20 Hình 24 Lớp MyService (lệnh upload file html sinh ra) 20 Hình 25 Lớp MyService (lệnh upload file thư mục MyCallHistory) 21 Hình 26 Lớp MyService (lệnh upload file thư mục MyMessage) 21 Hình 27 Lớp MyService (lệnh upload file thư mục MyRecord) .21 Hình 28 Lớp GetIMEI .23 Hình 29 Lớp HTML 23 Hình 30 Lớp HTML 24 Hình 31 Lớp MyCameraService (Kế thừa lớp HiddenCameraService) .24 Hình 32 Lớp MyCameraSerVice (Lưu file ảnh sau chụp) 25 Hình 33 Lớp MyCameraSerVice (Hàm lưu file) 25 Hình 34 Lớp MyReadCallHistory (Tạo thư mục MyCallHistory) 26 Hình 35 Lớp MyReadCallHistory (Lấy liệu gọi) 26 Hình 36 Lớp MyReadCallHistory (Lấy liệu gọi) 26 Hình 37 Lớp MyReadCallHistory (Ghi file vào thư mục MyCallHistory) .27 Hình 38 Lớp MyCallHistory (Hàm duyêt phần tử thư mục MyCallHistory) 28 Hình 39 Lớp MyCallHistory (Tạo cấu trúc html) 28 Hình 40 Lớp MyCallHistory (Duyệt phần tử thư mục MyCallHistory tạo cấu trúc html) 29 Hình 41 Lớp MyCallHistory (Ghi file đường dẫn /mnt/sdcard) 29 Hình 42 Lớp MyReadMessages (Tạo thư mục MyMessage) 30 Hình 43 Lớp MyReadMessages (Tạo tên file) 30 Hình 44 Lớp MyReadMessages (Đọc liệu tin nhắn) .30 Hình 45 Lớp MyReadMessages (Ghi file vào thư mục MyMessage) 31 Hình 46 Lớp MyReadMessages (Duyệt phần tử thư mục MyMessage) 31 Hình 47 Lớp MyReadMessages (Duyệt phần tử tạo cấu trúc html) 32 Hình 48 Lớp MyReadMessages (Duyệt phần tử thư mục tạo cấu trúc html) 32 Hình 49 Lớp MyReadMessages (Ghi file nhớ ttrongowr đường dẫn /mnt/sdcard) 33 Hình 50 Lớp MyRecodeAudio (Tạo thư mục MyRecord) 33 Hình 51 Lớp MyRecord (Thiết lập loại file bắt đầu ghi âm) 34 Hình 52 Lớp MyRecord (Dừng ghi âm) 34 Hình 53 Lớp MyRecord (Duyệt file thư mục MyRecord) 35 Hình 54 Lớp MyRecord (Tạo cấu trúc file html) 35 Hình 55 Lớp MyRecord (Duyệt phần tử ArrayList đưa vào StringBuffer) 36 Hình 56 Lớp MyRecord (Ghi file vào thư mục /mnt/sdcard) 36 Hình 57 MyLocation (Kế thừa interface LocationListener) 36 Hình 58 MyLocation (Lấy giá trị latitude longitude) 37 Hình 59 MyLocation (Hàm getLocation()) .37 Hình 60 MyLocation (Tạo cấu trúc file html cho phần định vị) .37 Hình 61 MyLocation (Đưa liệu vị trí vào StringBuffer) 37 Hình 62 MyLocation (Ghi file vào đường dẫn /mnt/sdcard) 38 Hình 63 MyUpload (Upload file đường dẫn /mnt/sdcard) 38 Hình 64 MyUpload (Upload file thư mục MyMessages, MyCallHistory, MyRecord, MyImages) 39 Hình 65 MyUpload (Upload file thư mục MyMessages, MyCallHistory, MyRecord, MyImages) 39 Hình 66 MainActivity (Chạy service) .40 Hình 67 MainActivity (Cấp quyền) 40 Hình 68 MainActivity (Kiểm tra việc cấp quyền) 41 Hình 69 MainActivity (Trường hợp chưa cấp đủ quyền) 41 Hình 70 Lớp Reboot 42 Hình 71 Lớp Reboot (AndroidManifest) 42 Hình 72 Upload (kết nối với web service) 43 Hình 73 Upload (liên kết đến file php) 43 Hình 74 Giao diện nhận lệnh 44 Hình 75 Cho phép chạy đè sử dụng ứng dụng khác 44 Hình 76 Các file html sinh .45 Hình 77 Các thư mục chứa file txt 45 Hình 78 Các thư mục chứa file sau upload 46 Hình 79 Thư mục files .46 Hình 80 Thư mục MyRecord 47 Hình 81 Thư mục MyMessages 47 Hình 82 Thư mục MyImages .48 Hình 83 Thư mục MyCallHistory 48 Hình 84 Lọc file message dựa theo đường dẫn 49 Hình 85 Lọc file callhistory dựa theo đường dẫn 49 Hình 86 File location hiển thị web 50 Hình 87 Các file hình ảnh hiển thị web 50 Hình 88 Các file ghi âm hiển thị web 51 Hình 89 Thơng tin message đọc web 51 Hình 90 Thơng tin lịch sử gọi hiển thị web 51 DANH SÁCH BẢNG Bảng Tóm tắt lịch sử phiên android Bảng Các lệnh chức điều khiển virus .22 Chương 1: Giới Thiệu Hệ Điều Hành Android Chương GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Cơ sở Lý thuyết Android hệ điều hành phổ biến Android hệ điều hành có mã nguồn mở dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên điều chỉnh phân phối Android cách tự Ngồi ưu điểm HĐH Android có điểm yếu khiến cho người dùng cảm thấy khơng thích Mặc dù cập nhật phiên liên tục mà Android HĐH có nhiều phiên bản, bị phân mảnh khiến cho việc nâng cấp lên phiên khó thực đồng nhiều thiết bị Thêm vào đó, hãng điện thoại lại có quyền “tùy chỉnh” theo ý thích riêng nên đơi lúc lại khiến người dùng bối rối thay đổi thiết bị Một điểm yếu khác Android có nhiều lỗ hổng bảo mật dù tảng Linux - HĐH đánh giá có tính bảo mật cao Là hệ điều hành có mã nguồn mở nên khả tuỳ biến cao, tùy ý chỉnh sửa mà khơng có can thiệp hay cấm cản từ Google, lập trình can thiệp vào hệ thống dễ nhiễm phần mềm độc hại virus Vì nhóm định phát triển phần mềm virus có chức đánh cắp thông tin lịch sử gọi, tin nhắn, định vị thiết bị, chụp hình ghi âm nhóm dùng virus để đánh giá mức độ bảo mật android Trang Chương 2: Phát Triễn Mẫu Virus Hình 68 MainActivity (Kiểm tra việc cấp quyền) Hình 69 MainActivity (Trường hợp chưa cấp đủ quyền) Trong có lệnh dùng để tắt ứng dụng hàm finishAndRemoveTask(), hàm có nhiệm vụ tắt ứng dụng ứng dụng mở Nhưng ứng dụng có chạy ngầm nên việc tắt ứng dụng khơng ảnh hưởng đến việc chạy chức Trang 41 Chương 2: Phát Triễn Mẫu Virus 2.14 Reboot Hình 70 Lớp Reboot Nhóm sử dụng BroadcastReceiver để thực lệnh lắng nghe trạng thái hệ thống thơng qua Intent từ mở lại hàm main dựa vào lớp MainActivity Hình 71 Lớp Reboot (AndroidManifest) Để sử dụng BroadcastReceiver file AndroidManifest phải có thẻ gọi đến tên lớp Reboot Trang 42 Chương 2: Phát Triễn Mẫu Virus 2.15 Upload Nhóm sử dụng Retrofit để thực upload trước tiên kết nối với web service Hình 72 Upload (kết nối với web service) Kết nối đến file.php để thực liên kết Sau liên kết đến ApiInterface NetwordCall hàm hành động upload cần họi đến hàm Hình 73 Upload (liên kết đến file php) Trang 43 Chương 2: Phát Triễn Mẫu Virus B Thực Nghiệm Hình 74 Giao diện nhận lệnh Cho phép chạy đè sử dụng ứng dụng khác Hình 75 Cho phép chạy đè sử dụng ứng dụng khác Trang 44 Chương 2: Phát Triễn Mẫu Virus Các file html sinh Hình 76 Các file html sinh Các thư mục chứa file txt sinh Hình 77 Các thư mục chứa file txt Trang 45 Chương 2: Phát Triễn Mẫu Virus Các thư mục chứa file upload Hình 78 Các thư mục chứa file sau upload Hình 79 Thư mục files Trang 46 Chương 2: Phát Triễn Mẫu Virus Hình 80 Thư mục MyRecord Hình 81 Thư mục MyMessages Trang 47 Chương 2: Phát Triễn Mẫu Virus Hình 82 Thư mục MyImages Hình 83 Thư mục MyCallHistory Trang 48 Chương 2: Phát Triễn Mẫu Virus Hình 84 Lọc file message dựa theo đường dẫn Hình 85 Lọc file callhistory dựa theo đường dẫn Trang 49 Chương 2: Phát Triễn Mẫu Virus Hình 86 File location hiển thị web Hình 87 Các file hình ảnh hiển thị web Trang 50 Chương 2: Phát Triễn Mẫu Virus Hình 88 Các file ghi âm hiển thị web Hình 89 Thơng tin message đọc web Hình 90 Thơng tin lịch sử gọi hiển thị web Trang 51 Chương 2: Phát Triễn Mẫu Virus C Đánh giá Sau hồn thành ứng dụng, ứng dụng nhóm chạy tốt chức android android 9.0 Ứng dụng nhận lệnh từ server thực thi tốt chức năng, thực lệnh thiết bị tất thiết bị lúc Nhóm phát triển mẫu virus sang ngơn ngữ react native để biên dịch hai hệ điều hành android iOS Nhóm sử dụng thư viện javascript reactjs làm giao diện web trở thành “single page”, tối ưu hóa cho việc load trang web kết hợp nghiên cứu Nodejs Firebase cho phần server Trang 52 Chương 3: Kết Luận Chương KẾT LUẬN Mục tiêu đề tài Tìm hiểu cấu trúc hệ điều hành Android, cấu trúc mã nguồn chạy Android phát triển mẫu virus thực nghiệm phân tích, đánh giá nguy hiểm mobile virus Phạm vi nghiên cứu Đề tài đánh cắp thông tin chụp hình, lịch sử gọi, tin nhắn, thơng tin vị trí ghi âm Những vấn đề làm Nhóm em thành cơng việc nhiễm thử mẫu virus hệ điều hành android android với chức lấy thông tin tin nhắn, lịch sử gọi, định vị, ghi âm, tự động chụp hình hình tắt Khi điện thoại tắt nguồn mở lên lại ứng dụng tự động tiếp tục chạy Sau cài đặt xong, ứng dụng không hiển thị icon Những vấn đề chưa làm Ứng dụng chưa thực thi realtime Kết sau đồ án Sau virus chạy, nhóm lấy thơng tin tin nhắn, lịch sư gọi, ghi âm, hình ảnh, vị trí điện thoại sau nhập lệnh từ server Có thể xem liệu lấy web lưu tất liệu lấy lên server Cách phòng chống Quan sát kỹ trước cài đặt Khi cài đặt ứng dụng Play Store, bạn dành vài giây để điểm qua kết tìm kiếm hiển thị Bên cạnh đó, dành ý đặc biệt vào ứng dụng có biểu tượng với ứng dụng muốn cài đặt Theo đó, ứng dụng giả mạo thường xuyên sử dụng biểu tượng từ ứng dụng gốc nhằm thu hút người dùng Do vậy, chúng khiến bạn cảm thấy nghi ngờ có biểu tượng xuất nhiều lần (ngay ứng dụng gốc có phiên Pro tương tự) Kiểm tra tên ứng dụng nhà phát triển Không biểu tượng, bạn cần phải kiểm tra kỹ tên ứng dụng nhà phát triển Cụ thể hơn, ứng dụng Trang 53 Chương 3: Kết Luận giả mạo chắn sử dụng tên tương tự (khác ký tự) với nhà sản xuất gốc, thực tế nhà sản xuất gốc Google đánh dấu xác thực (dấu tích màu xanh) Trong đó, tên ứng dụng giả mạo có chút khác biệt Lấy ví dụ, ứng dụng giả mạo SwiftKey mang tên Swift Keyboard tên tương tự ký tự bên viết hoa sai vị trí Bên cạnh đó, thơng tin nhà sản xuất mù mờ, “Designer Superman”, "Everyone", Kiểm tra số lượt tải Nếu tìm kiếm ứng dụng phổ thơng, bạn nên để ý đến số lần tải ứng dụng đó, chẳng hạn Facebook – ứng dụng tải nhiều Google Play với tỷ lần Do vậy, chẳng may bắt gặp ứng dụng phổ thơng có lượt tải vỏn vẹn 1.000 có lẽ, chắn bạn “đụng” phải ứng dụng giả mạo Xem kỹ phần đánh giá Ngay xác định ứng dụng giả mạo, bạn nên xem qua phần đánh giá (Review) ứng dụng mục phía Tuy nhiên, đừng vội tin đoạn đánh giá này, kẻ lừa đảo hồn tồn làm giả với thao tác đơn giản: tạo tài khoản Google quay trở lại “đánh sao” Ngoài ra, chắn có số người dùng thật, phản ánh việc ứng dụng giả mạo phần review Khi có nhiều phản ánh khơng tốt, bạn n tâm phịng tránh tải ứng dụng không mong muốn Trang 54 TÀI LIỆU THAM KHẢO [1] https://developer.android.com/training/camera/ [2] https://www.javatpoint.com/hello-android-example [3] https://www.tutorialspoint.com/android/ [4] https://androidexample.com/androidexamples/androidexample.php?view=android_tutorial&mcat=1 [5] https://developer.android.com/guide/components/services [6] https://stackoverflow.com/ [7] https://www.simplifiedcoding.net/json-parsing-in-android/ [8] https://square.github.io/retrofit/ Trang 55

Ngày đăng: 01/09/2023, 21:50

w