Luận văn Thạc sĩ Hệ thống thông tin: Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android - TRƯỜNG CÁN BỘ QUẢN LÝ GIÁO DỤC THÀNH PHỐ HỒ CHÍ MINH

20 13 0
Luận văn Thạc sĩ Hệ thống thông tin: Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android - TRƯỜNG CÁN BỘ QUẢN LÝ GIÁO DỤC THÀNH PHỐ HỒ CHÍ MINH

Đ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

Nếu kẻ tấn công có thể lấy được các thông tin của người sử dụng và vượt qua chúng trên chợ ứng dụng, sau đó trong trường hợp này, các phần mềm độc hại sẽ được cài đặt vào thiết bị mà [r]

(1)

LỜI CAM ĐOAN

Tôi xin cam đoan kết nghiên cứu luận văn sản phẩm cá nhân hướng dẫn thầy giáo PGS TS Phạm Thanh Giang Các số liệu, kết cơng bố hồn tồn trung thực Những nội dung trình bày luận văn nghiên cứu, tổng hợp từ nhiều nguồn tài liệu khác Các tài liệu tham khảo có xuất xứ rõ ràng, trích dẫn đầy đủ, hợp pháp

Tơi xin hồn tồn chịu trách nhiệm trước lời cam đoan

Hà Nội, ngày tháng năm 2020

Người cam đoan

(2)

LỜI CẢM ƠN

Lời đầu tiên, xin gửi lời biết ơn sâu sắc tới thầy giáo PGS TS Phạm Thanh Giang, Trưởng phịng Tin học viễn thơng, Viện Cơng nghệ thông tin, Viện Hàn lâm Khoa học Công nghệ Việt Nam người thầy ln khuyến khích, tận tình bảo, hướng dẫn hỗ trợ tơi suốt q trình nghiên cứu

Tơi xin dành lời cảm ơn chân thành tới thầy cô giáo Viện Cơng nghệ thơng tin tận tình đào tạo, cung cấp cho kiến thức vô giá, tạo điều kiện tốt cho tơi q trình học tập, nghiên cứu Tôi xin gửi lời cảm ơn tất người thân u gia đình tơi toàn thể bạn bè, đặc biệt bạn Nguyễn Việt Đức, cán Phịng Tin học viễn thơng, Viện Công nghệ thông tin giúp đỡ, động viên tơi khó khăn, trở ngại

(3)

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT iv

DANH MỤC CÁC BẢNG BIỂU v

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi

MỞ ĐẦU

CHƯƠNG TỔNG QUAN

1.1 NGHIÊN CỨU LIÊN QUAN

1.2 GIỚI THIỆU VỀ NỀN TẢNG ANDROID

1.2.1 Lịch sử hình thành phát triển

1.2.2 Một số phương pháp lây nhiễn mã độc tảng Android 1.3 PHÂN TÍCH MÃ ĐỘC

1.3.1 Các phương pháp phân tích mã độc Android 10

1.3.2 Ưu Nhược điểm phân tích tĩnh phân tích động 16

1.4 GIỚI THIỆU VỀ HỌC MÁY 17

1.4.1 Phân loại thuật toán học máy 19

1.4.2 Giới thiệu số thuật toán học máy hiệu với toán 20

CHƯƠNG ỨNG DỤNG MƠ HÌNH HỌC MÁY TRONG PHÁT HIỆN NGUY CƠ MÃ ĐỘC TRÊN NỀN TẢNG ANDROID 25

2.1 PHƯƠNG PHÁP THU THẬP DỮ LIỆU THÔ 25

2.1.1 Thu thập liệu 25

2.1.2 Giải thích cấu tạo file APK 25

2.1.3 Thực dịch ngược file APK để lấy thuộc tính với apktool 28 2.1.4 Trích xuất feature từ liệu thô dịch ngược từ apktool 30 2.2 PHƯƠNG PHÁP CHUẨN HĨA TẬP THUỘC TÍNH 31

2.2.1 Tập thuộc tính 31

2.2.2 Chuyển liệu sang không gian vector 34

CHƯƠNG ĐỀ XUẤT MƠ HÌNH, ĐÁNH GIÁ 37

CHƯƠNG KẾT LUẬN 45

(4)

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT

KÝ HIỆU Ý NGHĨA

OS Operating system – Hệ điều hành APK Android Package Kit

FN False Negative FP False Positive TN True Negative

TP True Positive

FNR False Negative Rate FPR False Positive Rate TNR True Negative Rate

TPR True Positive Rate

(5)

DANH MỤC CÁC BẢNG BIỂU

(6)

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 2.1 Sơ đồ quy trình học máy 18

Hình 2.2 Mơ hình phân lớp nhị phân SVM 21

Hình 3.1 Cách đóng gói file APK 28

Hình 3.2 Thư mục chứa liệu giải nén từ file APK 29

Hình 3.3 Biểu đồ F1 – Score thuộc tính S1 đến S8 39

Hình 3.4 Biểu đồ Accuracy thuộc tính S1 đến S8 39

(7)

MỞ ĐẦU

Ngày với phát triển mạnh mẽ công nghệ thông tin phát triển Internet toàn cầu nguy an tồn thơng tin trở nên nguy hiểm khó lường hơn, mã độc hại (malware) mối hiểm họa nghiêm trọng Internet Mã độc ngày tiến hóa với biến thể đa dạng từ virus máy tính, worm, botnet…với hình thức xâm nhập, che dấu ngày tinh vi Số lượng hình thái đa dạng mã độc ngày tăng, phần mềm phòng chống mã độc phát hiện, ngăn chặn hết dẫn đến hàng triệu máy tính bị nhiễm mã độc Ở Việt Nam, theo số liệu thống kê BKAV năm 2017 có đến 15 triệu máy tính Việt Nam bị nhiễm mã độc tương ứng thiệt hại khoảng 12.300 tỷ đồng Ngoài ra, ngày để phát triển mã độc không yêu cầu nhiều kỹ cao tính sẵn có cơng cụ cơng internet Tính sẵn sàng cao kỹ thuật chống phát khả mua phần mềm độc hại thị trường chợ đen dẫn đến hội trở thành kẻ công cho ai, khơng phụ thuộc vào cấp độ kỹ trình độ chun mơn Do đó, bảo vệ hệ thống máy tính khỏi phần mềm độc hại Intenet nhiệm vụ quan trọng an ninh mạng cho người dùng, doanh nghiệp Một cơng đơn lẻ dẫn đến liệu bị xâm phạm gây hậu to lớn Sự mát lớn công thường xuyên đặt yêu cầu cần thiết phải có phương pháp phát xác kịp thời

(8)

nên vấn đề an toàn, bảo mật nói chung mã độc nói riêng hệ thống Android ln chủ đề nóng

Phát mã độc bước quan trọng để ngăn chặn tiêu diệt hoàn toàn mã độc khỏi thiết bị hệ thống mạng; khôi phục lại trạng thiết bị, hệ thống mạng; truy tìm nguồn gốc công Hầu hết mã độc dạng chương trình, dịch vụ khơng thể đọc thơng thường Các cách phát mã độc là: sử dụng cơng cụ kĩ thuật phân tích Có hai kĩ thuật phân tích Phân tích tĩnh (không cần chạy mã độc hệ thống) Phân tích động (thực mã độc chạy hệ thống)

Học máy lĩnh vực trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống "học" tự động từ liệu để giải vấn đề cụ thể

Ứng dụng học máy phát mã độc chủ đề thu hút nhiều quan tâm thời gian qua; khắc phục nhược điểm phương pháp so sánh mẫu dựa sở liệu mã độc xây dựng định nghĩa từ trước khơng có khả phát mẫu mã độc mới, số lượng liệu mã độc ngày gia tăng làm cho sở liệu mẫu trở nên ngày lớn

(9)(10)

CHƯƠNG TỔNG QUAN 1.1 NGHIÊN CỨU LIÊN QUAN

Hiện nay, nhằm thay phương pháp đối chiếu chữ ký số cũ với hạn chế việc xử lý mẫu mã độc mới, nghiên cứu thường tập trung phân tích sâu vào tập tin apk để tìm đặc điểm riêng Hai chế chế phân tích tĩnh chế phân tích động Trong đó, chế thứ phương pháp trích xuất đặc trưng từ mã nguồn tập tin cài đặt Cơ chế lại thu thập luồng thông tin nhập xuất thời gian thực thi ứng dụng Các đặc trưng rút từ hai phương pháp thuộc tính đầu vào phương pháp học máy[1]

Crowdroid, AMDA MADAM nằm số cơng trình nghiên cứu thực phát phần mềm độc hại android thông qua chế phân tích động Trình theo dõi Crowdroid ghi lại tất gọi hệ thống sử dụng kỹ thuật phân cụm để xây dựng mơ hình phân loại AMDA tập trung theo dõi hành vi lành tính qua15 lệnh gọi hệ thống để nhận biết mã độc MADAM đề xuất khung phát kết hợp tính cấp lõi cấp ứng dụng MADAM nhận thấy có 11 lệnh gọi hệ thống cấp độ kernel mơ tả tốt hành vi thiết bị Tuy nhiên, đặc trưng rút từ phân tích động thường tốn thiếu tính khái quát

(11)

đạt số lượng nhỏ 29 Cũng với sử dụng thuộc tính báo Drebin mở rộng chúng thành thuộc tính chi tiết (quyền, thành phần ứng dụng, lọc intent, kết nối phần cứng, hàm API bị hạn chế, quyền thực dụng, API đáng ngờ, địa mạng) Có thể thấy thuộc tính phong phú đầy đủ để chúng tối sử dụng tiến hành so sánh đánh giá

1.2 GIỚI THIỆU VỀ NỀN TẢNG ANDROID 1.2.1 Lịch sử hình thành phát triển

Hệ điều hành Android cách 13 năm Andy Rubin, người sáng lập cơng ty Android Inc năm 2003 Hiện nay, trở thành hệ điều hành di động phổ biến giới, đánh bại nhiều đối thủ Symbian, BlackBerry, Palm OS, webOS Windows Phone[3] Ban đầu, Android hệ điều hành cho thiết bị cầm tay dựa lõi Linux công ty Android Inc Năm 2005, Android Inc google mua lại phát triển

Tháng 11 năm 2007, hàng điện thoại khai thác mạng không dây TMobile Mỹ công bố điện thoại Android mang tên TMobile G1 Cùng thời điểm, Google công bố mắt phiên Android SDK release Candidate 1.0

Cuối năm 2008, Google cho mắt thiết bị cầm tay tên Android Dev Phone có khả chạy ứng dụng Android độc lập mà không bị ràng buộc với nhà cung cấp mạng điện thoại di động T-Mobie Đồng thời, Google phát hành vá lỗi Android 1.1

(12)

và cho phép bên thứ ba phát triển bàn phím Đây phiên Google đặt tên riêng cho phiên Android theo tên loại bánh kẹo

Tháng 9/2009, Google nhanh chóng tung Android 1.6 Donut Cập nhật quan trọng phiên việc hỗ trợ cho nhà mạng sử dụng mạng CDMA Điều thúc đẩy việc điện thoại Android vươn toàn cầu

Tháng 10/2009, Android 2.0 Eclair cập nhật Đây phiên tính chuyển văn thành giọng nói (Text – to – speech) đưa vào nhiều tính năng, cải tiến khác

Tháng 5/2010, Android 2.2 Froyo mắt Các cập nhật đáng ý phiên tính phát sóng di động Wi-Fi, hỗ trợ flash, Android Cloud

Tháng 9/2010, Android 2.3 Gingerbread google tung Cho đến nay, phiên thấp Google liệt kê phiên cập nhật NFC lần đưa vào Android Đây phiên đặt móng cho việc chụp ảnh selfie, hỗ trợ nhiều camera, hỗ trợ Google Talk

Tháng 02/2011, Android 3.0 Honeycomb giới thiệu Đây phiên Google tập trung phát triển dành cho máy tính bảng thiết bị di động có hình lớn

(13)

phản hồi cảm ứng cải thiện nhiều Tính chụp hình HDR kết nối Miracast hỗ trợ

Tháng 9/2013, Android 4.4 Kitkat xuất Kitkat khơng thật có nhiều tính trội phiên tối ưu hóa để chạy smartphone với 512MB Ram Điều cho phép nhà sản xuất cài đặt Kitkat điện thoại chi phí thấp hơn, góp phần tích cực vào việc phổ biến Android tồn giới

Tháng 9/2014, Android 5.0 Lollipop mắt đánh dấu bước thay đổi lớn giao diện Hệ điều hành Trong phiên này, ngôn ngữ Material Design Google sử dụng, bật với hiệu ứng ánh sáng bóng tối tự

Tháng 10/2015, Android 6.0 Marshmallow phát hành Nó bao gồm nhiều tính như: Google Now Tap, ngăn kéo ứng dụng di chuyển dọc, mở khóa phương pháp sinh trắc học, hỗ trợ USB Type-C, tích hợp Android Pay, nhiều tính

Tháng 8/2016, Android 7.0 Nougat tung Một số tính phiên gồm chức đa tác vụ tốt điện thoại thơng minh có hình lớn chia hình việc chuyển đổi nhanh ứng dụng

Tháng 3/2017, Android 8.0 Oreo công bố Hệ điều hành bổ sung, nâng cấp nhiều thay đổi trực quan menu Cài đặt Ngồi ra, Oreo cịn hỗ trợ chế độ ảnh-trong-ảnh, kênh thông báo, API tự động điền để quản lý mật điền liệu tốt

(14)

Tháng 9/2019, Android 10.0 thức phát hành Khơng giống phiên trước đây, phiên 10.0 Google không sử dụng tên loại bánh kẹo, xếp theo alphabet trước Android 10.0 mắt kèm nhiều tính chế độ tối tồn diện, thao tác điều hướng mới, tăng cường bảo mật riêng tư, chế độ Focus Mode, tối ưu cho sản phẩm hình gập

Android có chặng đường dài phát triển hoàn thiện Đến nay, Hệ điều hành Android trở nên phổ biến giới, tiếp cận đến đầy đủ đối tượng khách hàng, phân khúc khác Bằng chất lượng, tính đa dạng mình, Android chắn cịn phát triển tương lai, phổ biến sâu, rộng thiết bị điện tử, không điện thoại thông minh

1.2.2 Một số phương pháp lây nhiễn mã độc tảng Android

Từ năm 2015 đến nay, ngày giới phát thêm khoảng 230.000 chương trình, phần mềm độc hại[4] Phần mềm độc hại có hành vi nguy hiểm, bao gồm cài đặt phần mềm mà không cần đồng ý người dùng Người dùng đơi khơng nhận tệp tải xuống họ phần mềm độc hại, tệp vơ tình lưu trữ

(15)

ứng dụng đưa thị trường ứng dụng Android thức bên thứ ba Người dùng dễ dàng cài đặt ứng dụng bị dụ dỗ để tải cài đặt ứng dụng bị nhiễm mã độc Đã có khoảng 86,0% ứng dụng hợp pháp bị đóng gói lại bao gồm mã độc hại sau phân tích 1.200 mẫu phần mềm độc hại Android [5]

- Khai thác lỗ hổng ứng dụng Android: Có thể lỗi ứng dụng người dùng Những kẻ cơng sử dụng lỗ hổng để xâm nhập vào điện thoại cài đặt phần mềm độc hại thiết bị

- Ứng dụng giả mạo: Có ứng dụng giả mạo phần mềm độc hại cho phép kẻ công truy cập vào thiết bị di động bạn Những kẻ công tải lên thị trường ứng dụng ứng dụng giả mạo phần mềm chứa mã độc kẻ cơng Ví dụ: Kẻ cơng tải lên phần mềm có tên Facebook thực tế lại phần mềm kẻ cơng viết có chứa mã độc

- Cài đặt từ xa: Các phần mềm độc hại cài đặt từ xa lên điện thoại người dùng Nếu kẻ cơng lấy thông tin người sử dụng vượt qua chúng chợ ứng dụng, sau trường hợp này, phần mềm độc hại cài đặt vào thiết bị mà không cần can thiệp từ phía người dùng[6] Ứng dụng chứa mã độc hại cho phép kẻ công truy cập liệu cá nhân danh sách liên lạc, tin nhắn,

1.3 PHÁT HIỆN MÃ ĐỘC

(16)

dụng máy, Bất kỳ phần mềm bị xem mã độc có biểu phá hoại, thay đổi trái phép, phá vỡ làm tính bảo mật, tồn vẹn liệu người dùng

Tùy thuộc hình thức, chế hoạt động, lây lan kiểu phá hoại mà phân loại kiểu mã độc như: spyware, virus, backdoor, trojan, adware,

Ngày nay, Internet phát triển mạnh mẽ tạo điều kiện cho việc tiếp cận có chủ đích tạo mã độc trở nên dễ dàng mà không cần kiến thức sâu cơng nghệ thơng tin[7] Chính vậy, thách thức bảo vệ an tồn, an ninh thơng tin trước bị đổi mới, biến thể không ngừng mã độc trở nên khó khăn

1.3.1 Các phương pháp phát mã độc Android

Phát mã độc bước quan trọng để ngăn chặn tiêu diệt hoàn toàn mã độc khỏi máy tính hệ thống mạng; khơi phục lại trạng mạng ban đầu; truy tìm nguồn gốc công

Trước tiên cần xác định xác chuyện xảy với tồn hệ thống, tìm tồn thiết bị, tệp, ứng dụng bị lây nhiễm

Trong quy trình phát mã độc, cần xác định xác mã độc thực hiện, cách thức phát mã độc hệ thống mạng, phương pháp đo lường thiệt hại gây Và quan trọng cần tìm qui luật đặc trưng (Mã nhận diện – signatures) để nhận diện mã độc, diệt mã độc khôi phục hệ thống

(17)

+ Phân tích tĩnh (Phân tích mà khơng cần mã độc chạy hệ thống): Thực việc dịch ngược mã độc công cụ Disassembler, xem nội dung cấu trúc[8] mã nguồn để xác định xem mã độc làm Đặc trưng phương pháp yêu cầu kiến thức dịch ngược, hệ thống, tập lệnh

+ Phân tích động (Phát mã độc chạy thật hệ thống): Sử dụng trình debugger để nghiên cứu xem cách thức thực thi mã độc môi trường thật Từ trích xuất thơng tin chi tiết mã độc: nguồn gốc, cách thức lây nhiễm, đoạn mã, hàm quan trọng Để thực phương pháp cần trang bị kiến thức chuyên sâu kĩ thuật, thành thạo việc sử dụng công cụ nhiều kĩ để vượt qua kĩ thuật mã độc

Một số quy tắc phân tích mã độc:

- Không nên tập trung vào tiểu tiết, hầu hết mã độc có lượng mã nguồn lớn, phức tạp có chứa nhiều mã rác Do đó, nên tập trung vào tính để tránh nhiều thời gian chi tiết hóa thông tin không cần thiết

- Mỗi công cụ hỗ trợ phân tích có chức riêng, cần vận dụng linh hoạt hiệu dựa điểm mạnh cơng cụ để q trình phân tích nhanh hơn, xác

- Có nhiều chiến thuật phân tích khác nhau, cần thay đổi chiến thuật cách linh hoạt để hiệu phân tích tốt

(18)

nghệ nhất, ngồi cần có sáng tạo để q trình phân tích nhanh, hiệu

1.3.1.1 Phương pháp phân tích tĩnh:

Đặc điểm phương pháp phân tích tĩnh kiểm tra, phân tích Malware mà khơng thực thi mã độc Cơ việc phân tích tĩnh bao gồm bước kiểm tra file thức thi mà không cần hướng dẫn thực tế Qua bước phân tích tĩnh xác nhận cho liệu file có phải mã độc hay không, cung cấp thông tin chức chúng, thông tin cung cấp cho người dùng dấu hiệu nhận dạng loại Malware

Là phương pháp đơn giản thực cách nhanh chóng Tuy nhiên phương pháp lại khơng có hiệu việc phân tích loại Malware phức tạp bỏ qua hành vi quan trọng mà Malware gây

Trong mức chưa quan tâm tới việc thực thi File Malware, phần tập trung vào việc phân tích mã, cấu trúc, header chương trình để xác định chức năng:

- Sử dụng Hash để xác định Malware

- Xác định thông tin từ string, header, function file

Mỗi kỹ thuật cung cấp thông tin khác tùy thuộc mục đích nghiên cứu Tơi sử dụng vài kỹ thuật cho thu thập nhiều thông tin tốt[10]

Sử dụng Hash để xác định Malware

(19)

một chuỗi ký tự (chuỗi ký tự coi vân tay Malware) Mỗi chuỗi hash xác định Malware nhất[11], chia sẻ mẫu hash để giúp cho người phân tích xác định Malware

Sử dụng việc tìm kiếm chuỗi

Một chương trình thường chứa chuỗi in message, kết nối tới đường dẫn URL copy file đến vị trí xác định

Nghiên cứu chuỗi phương pháp đơn giản để có thêm thơng tin chức chương trình Ví dụ, chương trình thường in xuất hình để cung cấp cho người dùng cập nhật trạng thái, biết lỗi xảy Những chuỗi trạng thái chuỗi lỗi kết thúc nhúng tập tin thực thi chương trình vơ hữu ích việc phân tích phần mềm độc hại

Việc bóc tách chuỗi có phần mềm độc hại thực công cụ Hex Editor, PeiD[12] Cho dù sử dụng cơng cụ để bóc tách String string thể dạng mã ASCII Unicode Nhưng việc phân tích chuỗi cần phải cẩn thận chuỗi người viết Malware cố tình chèn vào để đánh lừa người phân tích

Việc thực phân tích chuỗi giúp phát số loại Malware lưu định dạng khác để đánh lửa người dùng ví dụ sau: Malware netcat file thực thi, chúng lưu lại định dạng file nén để lừa người dùng có dạng nc.rar

(20)

có byte định dạng MZ (được thể dạng hex: 4D 5A), file nén có định dạng PK (được thể dạng hex: 50 4B)

Để kiểm tra xem file có thật file nén file thực thi lưu dạng file nén[13], sử dụng công cụ Hex Editor hay PEiD để kiểm tra vấn đề

Trình soạn thảo cho phép bạn tìm kiếm chuỗi byte cụ thể thân file Nó cho bạn biết liệu Malware download hình minh hoạ có thực file winzip hay không Người dùng không cần lo lắng liệu có vơ tình khiến Malware phát huy tác dụng hiệu Đơn giản trình soạn thảo Hex, xem nội dung mà khơng thể kích hoạt file thực thi

1.3.1.2 Phương pháp phân tích động:

Đặc điểm phương pháp phân tích động kiểm tra, phân tích Malware việc thực thi mã độc:

- Basic dynamic analysis: phương pháp thực thi mã độc giám sát hành vi chúng hệ thống để tìm cách loại bỏ chúng, tìm dấu hiệu để nhận biết Malware Tuy nhiên, cần phải xây dựng mơi trường an tồn phép chạy nghiên cứu Malware mà không gây tổn hại đến hệ thống môi trường mạng Cũng giống với basic static analysis phương pháp basic dynamic analysis thường sử dụng kể với người không am hiểu kiến thức lập trình Và phương pháp khơng hiệu việc phân tích loại Malware phức tạp[14]

Ngày đăng: 01/04/2021, 11:45

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan