dỰ bÁo nhiỄm malware trÊn thiẾt bỊ di ĐỘng bẰng khai...

51
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Anh Vũ DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI PHÁ DỮ LIỆU KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2014

Upload: others

Post on 09-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Anh Vũ

DỰ BÁO NHIỄM MALWARE

TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI PHÁ DỮ LIỆU

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI - 2014

Page 2: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Anh Vũ

DỰ BÁO NHIỄM MALWARE

TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI PHÁ DỮ LIỆU

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI - 2014

Page 3: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

VIETNAM NATIONAL UNIVERSITY, HANOI

UNIVERSITY OF ENGINEERING AND TECHNOLOGY

Nguyen Anh Vu

FORECASTING MALWARE INFECTION

IN MOBILE DEVICES BY DATA MINING

Major: Information Technology

Supervisor: Assoc. Prof. Ha Quang Thuy

HÀ NỘI - 2014

Page 4: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

i

Lời cảm ơn

Lời đầu tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới PGS.TS Hà

Quang Thụy đã tận tình hướng dẫn và chỉ bảo tôi trong suốt quá trình thực hiện khóa

luận tốt nghiệp.

Tôi xin chân thành cảm ơn các thầy, cô trong trường đại học Công Nghệ - đại

học Quốc gia Hà Nội đã tạo mọi điều kiện thuận lợi cho tôi học tập và nghiên cứu.

Tôi cũng xin gửi lời cảm ơn đến các thầy cô, các anh chị, các bạn trong phòng

thí nghiệm KT-Lab đã hỗ trợ tôi rất nhiều về kiến thức chuyên môn trong quá trình

thực hiện khóa luận.

Tôi xin cảm ơn các bạn trong lớp K55CLC đã ủng hộ và khuyến khích tôi trong

suốt suốt quá trình học tập tại trường.

Cuối cùng, tôi xin được gửi cám ơn vô hạn tới gia đình và bạn bè, những người

đã luôn bên cạnh, giúp và động viên tôi trong quá trình học tập cũng như trong suốt

quá trình thực hiện khóa luận này.

Tôi xin chân thành cảm ơn!

Hà Nội, ngày 13 tháng 05 năm 2014

Sinh viên

Nguyễn Anh Vũ

Page 5: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

ii

DỰ BÁO MALWARE TRÊN THIẾT BỊ DI ĐỘNG

BẰNG KHAI PHÁ DỮ LIỆU

Khóa QH-2010-I/CQ, ngành công nghệ thông tin.

Tóm tắt khóa luận:

Trong những năm gần đây, số lượng malware cùng tỉ lệ nhiễm mã độc đã tăng lên

đáng kể, đặc biệt là trên nền tảng di động. Các phần mềm quét malware đôi khi vẫn bỏ sót

hoặc không nhận dạng được các mã độc do các công cụ này dựa vào một danh sách các

malware đã xác định trước theo thống kê và được cập nhật dần dần. Do vậy, khóa luận này

xin đề xuất một mô hình dự báo khả năng nhiễm malware theo hướng tiếp cận bằng khai

phá dữ liệu, cụ thể là sử dụng luật kết hợp.

Khóa luận tập trung vào các phương pháp vận dụng luật kết hợp vào bài toán dự

báo malware. Dựa trên các dấu hiệu về trùng hợp malware và đặc trưng các thiết bị nhiễm

malware, khóa luận đề nghị một mô hình dự báo dựa trên tập luật biểu diễn theo đặc trưng

thiết bị. Khóa luận cũng xây dựng một phần mềm thi hành mô hình dự báo được đề xuất.

Kết quả thực nghiệm trên tập dữ liệu do các tổ chức chuyên nghiệp cung cấp (tập dữ liệu

Carat và tập dữ liệu malware) cho ra 225 luật dự báo thuộc diện luật hiếm (độ hỗ trợ thấp

và độ tin cậy cao).

Từ khóa: dự báo nhiễm malware, luật kết hợp

Page 6: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

iii

FORECASTING MALWARE INFECTION IN MOBILE DEVICES

Nguyen Anh Vu

QH-2010-I/CQ course, information technology faculty

Abstract thesis:

In recent yeas, the number of malware and rate of being infected by malicious

scripts were increased significantly, especially in mobile framework. Malware scanning

tools sometimes omit or can not identify malicious scripts because these tools is based on

the list of malwares given statistically and updated daily. Therefore, the thesis suggest a

model forecasting malware infection by the approach of data mining, specifically using

association rule. Content of the thesis focus on presenting properties of association rule

and methods of applying them on problem of forecasting malware infection on mobile

devices

Keyword: forecasting malware infection, association rule

Page 7: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

iv

Lời cam đoan

Tôi xin cam đoan phương pháp dự báo nhiễm malware trên thiết bị di động bằng

khai phá dữ liệu được trình bày trong khóa luận này là do tôi thực hiện dưới sự hướng dẫn

của PGS.TS Hà Quang Thụy.

Tất cả các tài liệu tham khảo từ các nghiên cứu liên quan đều có nguồn gốc rõ ràng

từ danh mục tài liệu tham khảo trong khóa luận. Trong khóa luận, không có việc sao chép

tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo.

Hà Nội, ngày 13 tháng 05 năm 2014

Sinh viên

Nguyễn Anh Vũ

Page 8: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

v

MỤC LỤC Lời cảm ơn ............................................................................................................................ i

Tóm tắt khóa luận ................................................................................................................ ii

Lời cam đoan ...................................................................................................................... iv

Mục lục ................................................................................................................................ v

Danh sách các bảng .............................................................................................................vii

Danh sách các hình vẽ ........................................................................................................ viii

Danh sách các từ viết tắt ..................................................................................................... ix

Lời mở đầu ........................................................................................................................... 1

Chương 1. Giới thiệu chung về dự báo malware trong thiết bị di động ................................ 2

1.1. Khái niệm malware........................................................................................................ 2

1.2. Giới thiệu về Android .................................................................................................... 2

1.2.1. Gói ứng dụng Ảndroid ................................................................................................ 2

1.2.2. Gói ứng dụng Carat .................................................................................................... 3

1.3. Malware trên thiết bị di động ........................................................................................ 4

1.3.1. Mục tiêu hoạt động của malware ................................................................................ 4

1.3.2. Tỉ lệ nhiễm malware trên thiết bị di động ................................................................... 4

1.3.3. Các nhận định khác nhau về malware ........................................................................ 5

1.3.4. Sự phụ thuộc vào vùng miền địa lý ............................................................................. 7

1.4. Bài toán dự báo malware trong thiết bị di động ............................................................ 8

Chương 2. Hướng tiếp cận bằng khai phá dữ liệu trong dự báo nhiễm malware ................. 9

2.1. Luật kết hợp .................................................................................................................. 9

2.1.1. Bài toán phát hiện luật kết hợp ................................................................................... 9

2.1.2. Quy trình phát hiện luật kết hợp .............................................................................. 10

2.2. Luật kết hợp lớp .................................................................. Error! Bookmark not defined.

2.3. Thuật toán Top-k ................................................................. Error! Bookmark not defined.

2.3.1. Phát hiện luật thỏa mãn ràng buộc ................................... Error! Bookmark not defined.

2.3.2. Phát hiện luật k-tối ưu ...................................................... Error! Bookmark not defined.

2.4. Thuật toán tìm kiếm luật OPUS .......................................... Error! Bookmark not defined.

Page 9: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

vi

Chương 3. Mô hình dựbaáo nhiễm malware bằng khai phá dữ liệuError! Bookmark not defined.

3.1. Mô hình đề xuất ................................................................... Error! Bookmark not defined.

3.2. Phát hiện trùng khớp malware .................................................................................... 20

3.3. Xây dựng dấu hiệu dữ báo ........................................................................................... 23

3.3.1. Tìm đặc trưng của các thiết bị nhiễm malware ......................................................... 23

3.3.2. Tìm tập luật dự báo .................................................................................................. 24

Chương 4. Thực nghiệm và đánh giá ................................................................................. 25

4.3. Môi trường thực nghiệm .............................................................................................. 25

4.3.1. Cấu hình phần cứng .................................................................................................. 25

4.3.2. Công cụ thực nghiệm ................................................................................................ 25

4.2. Dữ liệu thực nghiệm .................................................................................................... 26

4.3. Các bước thực nghiệm ................................................................................................. 28

4.4. Kết quả thực nghiệm và đánh giá ................................................................................ 29

Kết luận và định hướng nghiên cứu tiếp theo ..................................................................... 35

TÀI LIỆU THAM KHẢO .................................................................................................. 36

Page 10: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

vii

Danh sách các bảng Bảng 1.1. Một số malware phổ biến nhất ............................................................................. 6

Bảng 1.2. Cận dưới về số các thiết bị nhiễm mã độc ở một số vùng ..................................... 7

Bảng 4.1. Cấu hình phần cứng ........................................................................................... 25

Bảng 4.2. Tổng quan về tập dữ liệu Carat .......................................................................... 27

Bảng 4.3. Tổng quan về tập dữ liệu Malware ..................................................................... 28

Bảng 4.4. Thiết lập để tìm tập mục cho đặc trưng .............................................................. 30

Bang 4.5. Thiết lập để tìm tập luật ..................................................................................... 33

Page 11: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

viii

Danh sách các hình vẽ Hình 1.1. Trực quan hóa ba tập dữ liệu malware ................................................................. 6

Hình 3.1. Mô hình dự báo nhiễm malware trên thiết bị di động......................................... 20

Hình 4.1. Giao diện công cụ Magnum Opus ....................................................................... 25

Hình 4.2. Chương trình được xây dựng trên Eclipse .......................................................... 26

Hình 4.3. Kết quả gán nhãn thiết bị ................................................................................... 29

Hình 4.4. Các tập mục phổ biến trong D1 .......................................................................... 41

Hình 4.5. Các tập mục sau khi được tính độ đo f ............................................................... 32

Hình 4.6. Các luật được ràng buộc vế trái là “I” ................................................................ 34

Page 12: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

ix

Danh sách các từ viết tắt

Tên viết tắt Cụm từ tiếng Anh

OPUS Optimized Pruning for Unordered Search

DC Device certification

MB Mobile Sandbox

MA McAfee

APK Android package

Page 13: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

1

Lời mở đầu

Trong bối cảnh phát triển mạnh các ứng dụng trên thiết bị di động dựa trên nền

tảng Android như hiện nay, các malware (hay còn gọi là phần mềm độc hại) được tạo

ra ngày càng nhiều với mục đích gây hại cho người sử dụng. Các công cụ anti-malware

(chống lại các phần mềm độc hại), theo đó, cũng được xây dựng hàng loạt để hỗ trợ

người dùng. Tuy nhiên, cách thức hoạt động của các công cụ này mới chỉ dựa trên việc

quét các ứng dụng rồi đối chiếu với một danh sách malware định sẵn [xx]. Do vậy,

chúng có thể bỏ sót các phần mềm tiềm ẩn nguy cơ gây hại. Bài toán dự báo nhiễm

malware trên thiết bị di động được hình thành để giải quyết vấn đề này.

Dự báo nhiễm malware trên thiết bị di động là một bài toán mang tính thách

thức lớn và khó khăn [xx]. Khóa luận sẽ tham gia vào dòng các nghiên cứu giải quyết

bài toán này dựa trên tiếp cận khai phá dữ liệu. Đây là cách tiếp cận khá mới mẻ trong

việc phát hiện malware trên thiết bị di động.

Nội dung chính của khóa luận được tổ chức thành bốn chương với nội dung cụ

thế của các chương được giới thiệu như dưới đây.

Chương 1: Giới thiệu khái quát về bài toán dự báo nhiễm malware trên thiết bị

di động. Khóa luận giới thiệu khái niệm malware, nêu hiện trạng nhiễm malware trên

thiết bị di động, phát biểu bài toán dự báo nhiễm malware.

Chương 2: Trình bày hướng tiếp cận giải quyết bài toán dự báo nhiễm malware

trên thiết bi di động bằng khai phá dữ liệu mà cụ thể là luật kết hợp. Đầu tiên, khóa

luận trình bày các khái niệm liên quan đến luật kết hợp, bài toán phát hiện luật kết hợp.

Sau đó, khóa luận giới thiệu các thuật toán phát hiện luật kết hợp mà phù hợp đối với

bài toán được đặt ra

Chương 3: Đề xuất ra mô hình dự báo nhiễm malware trên thiết bị di động.

Khóa luận sẽ thể hiện mô hình dưới dạng sơ đồ, sau đó trình bày chi tiết các bước trong

mô hình dự báo nhiễm malware.

Chương 4: Trình bày quá trình thực nghiệm, tiến hành cài đặt và thử nghiệm

trên mô hình đề xuất với dữ liệu thực nghiệm là tập dữ liệu gồm hơn 55,000 thiết bị

Android được thu thập từ dữ liệu của Carat. Đồng thời, khóa luận đưa ra kết quả đạt

được và nhận xét

Page 14: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

2

Kết luận và định hướng phát triển tiếp theo: Tóm lược kết quả đã đạt được

của khóa luận, chỉ ra những khuyết điểm cần khắc phục và đưa ra định hướng nghiên

cứu tiếp theo

Page 15: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

3

Chương 1. Giới thiệu chung về dự báo malware

trong thiết bị di động

1.1. Khái niệm malware

Malware là viết tắt của cụm từ "MALicious softWARE" có nghĩa là "phần mềm

độc hại". Các hệ thống từ điển đều thống nhất chỉ dẫn thuật ngữ "malware" là phần

mềm độc hại, tuy nhiên, cách diễn đạt nội dung thuật ngữ này là đa dạng. Chẳng hạn,

trong từ điển Encyclopedia1, "malware" được dùng để chỉ loại phần mềm được thiết kế

để phá hủy dữ liệu, ăn cắp thông tin hoặc gây rối người sử dụng, còn theo từ điển Tech

Terms Computer Dictionary2, "malware" được dùng để chỉ các chương trình phần mềm

được thiết kế để gây hại hoặc tạo các tác động không mong muốn tới hệ thống máy

tính. Malwware có thể xuất hiện dưới dạng là dòng code, mã script, các nội dung động

hoặc các phần mềm khác. Malware bao gồm một loại sau phổ biến sau:

- Virus: các dạng mã độc nhiễm trực tiếp vào file

- Worm: sâu máy tính, lây nhiễm qua internet, USB, mạng LAN

- Spyware: tự động ghi lại các thông tin của máy tính bị xâm nhập

- Adware: tự động hiện các bản quảng cáo

- Keylogger: Ghi nhận lại toàn bộ thao tác của bàn phím

- Backdoor: mở cửa hậu cho kẻ khác xâm nhập

- Rootkit: dạng mã độc tàng hình trước các chương trình kiểm soát file, tiến trình

1.2. Giới thiệu về Android

1.2.1. Gói ứng dụng Android

Một gói Android được nhận dạng từ tên gói theo kiểu Java. Để đảm bảo tính

duy nhất, thì cách đặt tên được đề xuất cho các nhà phái triển là dựa vào tên miền trên

Internet của họ. Ví dụ, một gói có tên là com.facebook.katana, đó là ứng dụng chính

thức của Facebook. Một thiết bị Android phải giữ được tính duy nhất của tên gói.

Google Play, chợ ứng dụng Android cũng bắt buộc tên gói duy nhất qua chợ ứng dụng

này. Tuy nhiên, sử dụng tên gói chỉ là quy ước và không có gì cản trợ bất cứ nhà phát

1 http://encyclopedia2.thefreedictionary.com/malware 2 http://www.techterms.com/definition/malware

Page 16: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

4

triển nào tạo ra một gói với tên bất kỳ. Ví dụ như com.facebook.katana được sử dụng

trong nhiều gói malware. Do vậy, tên của gói chưa đủ tin cậy để nhận dạng

Các gói Android phải đều được ký số. Google đề xuất mỗi nhà phát triển nên có

một cặp khóa dài hạn để ký các ứng dụng của họ[16]. Các khóa ký thường được dùng

với chứng thức tự ký. Các chứng thực (devcert) có thể được trích xuất từ các tệp chứng

thực trong thư mục META-INF của gói Androir hoặc bằng một ứng dụng trong thiết bị

Android với các trường Signature trong đối tượng PackageInfo qua lớp

PackageManager. Một gói có thể được ký với nhiều khóa. Chúng ta coi hai khai niệm

gói và ứng dụng là tương đương nhau

Mỗi gói Android cũng có thông tin về phiên bản theo dạng gồm một số nguyên

versionCode và một chuỗi versionName. Một nhà phát triển được yêu cầu nâng cấp

versionCode mỗi khi mà họ đưa ra một phiên bản mới của một gói nào đó bởi vì

versionCode được dùng để quyết định xem liệu rằng một gói trong một thiết bị có cần

phải cập nhật hay không. Tuy nhiên thay vì chỉ dùng tên của gọi, chúng ta có thể kết

hợp cả tên gói, devcert và versionCode như là bộ nhận dạng duy nhất đáng tin cậy cho

các gói Android. Tóm lại, chúng ta dùng bộ <dc,p,v> để nhận dạng gói, trong đó:

- dc: ID duy nhất cho nhà phát triển, sinh bởi việc băm SHA1 đối với devcert

- p: tên gói Android, trích xuất từ AndroidManifest.xml, hoặc từ danh sách tiến

trình hệ thống trên thiết bị

- v: versionCode , mã phiên bản của gói, cũng lấy ra từ AndroidManifest.xml

1.2.2. Ứng dụng carat

Chúng ta thu tập dữ liệu sử dụng một phiên bản chỉnh sửa của Carat, một ứng

dụng di động mà chạy trên thiết bị Android và iOS. Theo A.J.Oliner và các cộng sự

[1], ứng dụng Carat sử dụng kỹ thuật đo đạc năng lượng hiệu quả để theo từng đợt ghi

lại trạng tháng của thiết bị, bao gồm mức độ pin, danh sách tiến trình và sử dụng những

thông tin này để để đề xuất các hành động mà có thể giúp người dùng cải thiện thời

lượng pin. Ứng dụng này được dụng trên 650,000 thiết bị (41% Android) và sẵn có

công khai trên kho ứng dụng của Google Play và Apple. Trong báo cáo này, tôi chỉ đề

cập đến dữ liệu Android

Carat ghi lại nhiều mảnh thông tin khi mà mực độ pin của thiết bị có sự thay đổi,

bao gồm:

Page 17: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

5

- Việc sử dụng CPU

- Danh sách các tiến trình với tên gói, tên người có thể đọc được, kiểu ứng dụng

(là ứng dụng hệ thống hay không), quyền hạn và id của tiến trình

- Thông tin về pin (mức pin, độ khỏe, điện thế, nhiệt độ và trạng thái)

- Kiểu sạc (USB hay AC)

Carat gửi các dữ liệu thu thập được tới các máy phân tích chạy trên các cụm máy

chủ của Amazon dựa trên công nghệ đám mây

1.3. Malware trên thiết bị di động.

1.3.1. Mục tiêu hoạt động của malware

Trước đây, malware thường được tạo ra để gây hại cho các hệ thống máy tính

hay các máy tính cá nhân. Ngày nay, với sự phát triển ngày càng rõ rệt của thiết bị di

động, các hệ điều hành dành cho các nền tảng này được xây dựng và hoạt động ngày

càng phổ biến. Các thiết bị di động như điện thoại thông minh, máy tính bảng,… dần

đóng vai trò như một máy vi tính bỏ túi. Các thiết bị này có thể chứa nhiều thông tin cá

nhân quan trọng như hình ảnh cá nhân, mật khẩu các tài khoản,… Các thông tin này có

thể bị đánh cắp thông qua các chương trình độc hại mà người dùng vô tình tải về thông

qua các chợ ứng dụng. Do vậy, có thể thấy rằng nền tảng di động đang là mục tiêu mới

trong việc đánh cắp thông tin.

1.3.2. Tỉ lệ nhiễm malware trên thiết bị di động

Có rất ít nguồn thông tin, tài liệu công khai về tỉ lệ nhiễm malware trên các thiết

bị di động [x]. Trước đây, dựa theo phương pháp gián tiếp, tỉ lệ này được ước lượng

khoảng 0.00009% [4] . Theo phương pháp đó, Hien Thi Thu Truong và cộng sự đã chỉ

ra những vấn đề liên quan đến tỉ lệ nhiễm malware và các tác nhân liên quan, được thu

thập dữ liệu trực tiếp từ hơn 55,000 thiết bị di động Android. Nghiên cứu chỉ ra rằng tỉ

lệ nhiễm trên các thiết bị Android ước lượng được khi sử dụng hai tập dữ liệu malware

(tương ứng là 0.28% và 0.26%) [6] mặc dù nhỏ nhưng cao hơn các tính toán trước

đây. Với hai tập dữ liệu đó, nghiên cứu đã khảo sát các dấu hiệu cho biết các thiết bị

nhiễm malware như thế nào

Malware trên thiết bị di động đang ngày càng phổ biến và trở thành một trong

những thách thức mới của các nhà phát triển. Nhiều luồng tin và các tạp chí cho biết

Page 18: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

6

vấn đề malware trên thiết bị di động, đặc biệt là trên nền tảng Android, rất kinh khủng

[3,11,14]. Chẳng hạn, một tạp chí gần đây [14] chỉ ra rằng có đến 32.8 triệu thiết bị

Android bị nhiễm mã độc vào năm 2012, được ước tính từ 750 triệu thiết bị thuộc nền

tảng này, tức là tỉ lệ nhiễm mã độc là 4.3%.

Tuy nhiên, một vài báo cáo đã nhận định ngược lại là sự nhiễm mã độc thực sự

một cách tự nhiên là hiếm, đặc biệt là ở phương Tây [15]. Có nhiều dấu hiệu khác chỉ

ra rằng vấn đề malware trong thiết bị di động thực sự rất đáng lo ngại. Google Play và

các chợ ứng dụng hợp pháp khác chủ động sử dụng các chương trình quét malware để

phát hiện và xóa chúng. Kosstiainen và cộng sự [14] miêu tả sự sẵn dùng rất phổ biến

của kĩ thuật bảo mật nền tảng phần cứng và phần mềm trên thiết bị di động, điều mà có

thể khiến họ mạnh hơn malware so với các máy tính cá nhân truyền thống. Husted và

cộng sự [13] sử dụng việc mô hình hóa phân tích để kết luận rằng việc nhiễm malware

từ di động sang di động không phải là mối đe dọa nghiêm trọng.

Tổ chức nghiên cứu đã nhấn mạnh chủ yếu vào việc phân tích các malware để

phát hiện nếu một gói phần mềm cho trước là malware hay không và nghiên cứu xem

malware có thể lan rộng như thế nào. Nghiên cứu độc lập duy nhất nhằm xác định bài

toán tỉ lệ nhiễm malware là bài báo của Lever và cộng sự [4] , theo đó sử dụng phương

pháp gián tiếp trong việc phỏng đoán nhiễm mã độc bằng việc phân tích các truy vấn

phân giải tên miền. Kết luận là tỉ lệ nhiễm mã độc ở Mỹ nhỏ hơn 0.0009%, bé hơn

nhiều so với 2.61% và 4.3% ở trên. Điều gì đã gây ra sự chênh lệch như vậy?

1.3.3. Các nhận định khác nhau về malware

Hình 1.1[6] cho thấy sự phân bố của các gói malware trong 3 bộ dữ liệu. Có thể

thấy rằng tỉ lệ đáng kể các tập dữ liệu chữa các mẫu malware chỉ có trong tập đó, dẫn

tới câu hỏi liệu rằng có sự đồng thuận phổ biến nào không về vấn để malware là gì.

Vấn đề này được minh họa sâu sắc hơn trong bảng 1.1[6], cho thấy số các thiết bị được

gán nhãn là “nhiễm” theo mỗi tập malware đơn. Có 154 và 144 thiết bị được gãn nhãn

là “nhiễm” lần lượt theo tập dữ liệu Mobile Sandbox và McAfee, nhưng chỉ 13 thiết bị

là phổ biến theo các tập này. Bảng 1.2 [6] liệt kê các gói malware phổ biến nhất, được

phát hiện trong hơn 5 thiết bị trong tập dữ liệu Carat. Mỗi gói được quét bằng hơn 40

các công cụ anti-malware khác nhau; không có gói malware nào khớp với tập dữ liệu

carat được gắn cờ là malware bởi đa số các công cụ anti-malware

Page 19: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

7

Tất cả các quan sát xác nhận một điều rằng không có sự đồng tình lớn trong số

các công cụ anti-malware về thế nào là malware. Mở rộng sự bất đồng này, một kết

luận được đưa ra là nên báo cáo các số liệu về nhiễm malware một cách riêng biệt đối

với các tập dữ liệu khác nhau hơn là kết hợp chung lại.

Hình 1.1. Trực quan hóa ba tập dữ liệu malware

thể hiện số lượng các gói phổ biến và duy nhất []

Bảng 1.1. Một số malware phổ biến nhất

(Chú thích: a – Số thiết bị nhiễm loại malware này

b – Số các công cụ anti-malware cắm cờ gói này là malware

c – Tên công cụ quét, MB: Mobile Sandbox, MC: McAfee )

Một nguyên nhân khác của sự bất đồng này là một vài gói được xét là các

trương trình khả nghi không mong muốn (PUP) bởi một số công cụ anti-malware,

nhưng không phải là malware rõ ràng. Ví dụ, Superuser (com.noshu.android.su) - một

ứng dụng khởi động khá phổ biến không thể coi là gây hại nếu nó được cài đặt có chủ

Page 20: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

8

đích bởi người dùng nhưng chắc chắn sẽ nguy hiểm nếu được cài đặt mà người dùng

không biết. Tương tự, công cụ bẻ khóa Wifi cũng rất nguy hiểm nhưng không gây độc

hại tới người dùng. Một vài công cụ anti-malware coi các ứng dụng chứa thư viện

adware như là các malware trong khi một số công cụ khác thì không. Một số nhà cung

cấp phải cùng tránh khái niệm “malware” và phải sử dụng đến việc nhận dạng các mối

đe dọa trong các mục khác nhau một cách riêng biệt [16]

Mặt khác, sự bất đồng trong số các công cụ anti-malware khá là gây hoang

mang do có bằng chứng chỉ rằng các nhà cung cấp anti-malware sử dụng các hệ thống

quan sát xem các nhà cung cấp khác đánh giá thế nào về một gói ứng dụng và kết hợp

thông tin này vào đánh giá của chính họ. Thỉnh thoảng, điều này có thể dẫn tới lỗi

truyền đi rộng rãi. Sẽ tốt hơn nếu một ví dụ trong tập dữ liệu có dạng là một gói

com.android.vending.sectool.v1 được ký đối với một mã nhận dạng hợp pháp, điều

khiển bởi Google. Nó tương ứng với một công cụ loại bỏ malware phát hành bởi

Google hầu như trong ba năm gần đây [5]. Tóm lại về sau, một gói malware với với tên

giống nhau kết hợp lại. Có thể một vài nhà cung cấp anti-malware đã gán nhãn nhầm

tất cả các gói là malware. Gói được Google ký hợp lệ được cắm cờ là malware bởi

không quá 13 công cụ anti-malware.

1.3.4. Sự phụ thuộc vào vùng miền địa lý

Tỉ lệ nhiễm malware ở Trung Quốc và Nga được báo cáo là cao hơn ở phương

Tây [8]. Do chúng ta không có thông tin về nhân khẩu học trong tập dữ liệu Carat, nên

không thể biết nguồn gốc của họ và do vậy không thể xác nhận nhận định này một cách

trực tiếp. Tuy nhiên, tên phiên dịch của một gói thường chỉ ra ngôn ngữ địa phương

của thiết bị. Độ dài của chuỗi kí tự quá ngắn để phát hiện ngôn ngữ tự động. Tuy nhiên,

dựa vào sự xuất hiện của các đặc tả điều hành (như com.vzw.hss.myverizon, “My

Verizon Mobile”) và đặc tả tiền tệ (ví dụ như com.fdj.euro, “tiền Euro”) trong tên gói,

ta có thể ước lượng số các thiết bị nhiễm mã độc ở Mỹ, Châu Âu và Nhật Bản. Điều

này gợi ra tỉ lệ nhiễm mã độc ở Mỹ có vẻ nhiều hơn 0.02% (dựa theo tính toán thấp

hơn của 13 thiết bị nhiễm mã độc ở Mỹ trong bảng)

Page 21: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

9

Bảng 1.2. Cận dưới về số các thiết bị nhiễm mã độc ở một số vùng

Page 22: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

10

1.4. Bài toán dự báo malware trong thiết bị di động

Dựa vào các giả thuyết rằng một vài kho ứng dụng có mật độ lớn các ứng dụng

độc hại hoặc chứa quảng cáo. Trong khóa luận sẽ khảo sát liệu rằng các tập ứng dụng

được sử dụng trên một thiết bị có thể được coi là dấu hiệu nhiễm mã độc cho thiết bị đó

hay không. Các dấu hiệu này không phải là hoàn toàn chính xác. Việc phân tích này

không tốn kém nhưng lại là cách thức hữu dụng để thu hẹp nhóm thiết bị mà tốn kém

cho các kỹ thuật quan sát và phân tích. Sử dụng hai tập dữ liệu malware, các dấu hiệu

được thể hiện tốt hơn 4.8 và 4.6 lần[6] trong việc nhận dạng các thiết bị nhiễm độc hơn

là dựa vào kiểm tra ngẫu nhiên. Các dấu hiệu này có thể được sử dụng trong nghiên

cứu về các malware chưa được nhận dạng trước đó hoặc malware mới phát hiện. Tuy

nhiên, đó là một kĩ thuật mà có thể bổ sung cho việc quét các malware chuẩn bằng các

công cụ anti-malware.

Bài toán được phát biểu như sau:

Cho trước:

- Tập A = {a1, a2,…} là tập các ứng dụng.

- Tập D = {d1, d2, d3,…dn} là tập các thiết bị với di = {dI, {ak | ak ∈ A}}, trong

đó dI là định danh của thiết bị.

- Tập M = {m1, m2,…} là tập các malware với mi ∈ A.

Mục tiêu: dự báo được về khả năng nhiễm malware của thiết bị.

Về bản chất, đây không phải là bài toán mới. Hiện nay, các ứng dụng anti-malware được

phát triển rất nhiều trên nền tảng di động, bao gồm cả quét và cảnh báo malware dựa theo

một tập danh sách malware xác định trước. Trong khóa luận này, tôi xin đề xuất một

hướng tiếp cận bằng khai phá dữ liệu để giải quyết vấn đề này. Cụ thể, khóa luận sẽ sử

dụng luật kết hợp để tìm ra các dấu hiệu dự báo.

Page 23: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

11

Chương 2. Hướng tiếp cận bằng khai phá dữ liệu

trong việc dự báo nhiễm malware

Như phần trước đã đề cập, khóa luận này tập trung vào phương pháp sử dụng

luật kết hợp để đưa ra các dấu hiệu dự báo. Vì vậy, để làm rõ bài toán hơn, sau đây là

một số lí thuyết về luật kết hợp và các khái niệm liên quan

2.1. Luật kết hợp

2.1.1. Bài toán phát hiện luật kết hợp

Mục đích của bài toán phát hiện luật kết hợp là tìm ra mối quan hệ giữa các tập

mục dữ liệu trong các CSDL lớn và các mối quan hệ này là có ích trong hỗ trợ quyết

định. Trong CSDL siêu thị, việc phát hiện được quan hệ "78% số khách hàng mua sữa

và đường cũng mua bơ" sẽ rất có ích cho quyết định kinh doanh, chẳng hạn, quyết định

về số lượng nhập các mặt hàng này hoặc bố trí chúng tại các ngăn hàng liền kề nhau.

Trong CSDL dân số, quan hệ "60% số người lao động ở độ tuổi trung niên có thu nhập

thấp hơn mức thu nhập bình quân" sẽ rất có ích cho việc điều chỉnh chính sách thu

nhập

Khái niệm luật kết hợp (Association Rule) và phát hiện luật kết hợp

(Association Rule Mining) được Rakesh Agrawal và cộng sự đề xuất lần đầu tiên vào

năm 1993 nhằm phát hiện các mẫu có giá trị trong CSDL tác vụ (transaction database)

tại siêu thị [4]. Bài toán này được phát biểu hình thức như dưới đây.

Kí hiệu I = {i1, i2,..., in} là tập các mục dữ liệu (mỗi mặt hàng trong siêu thị

chính là một mục dữ liệu, và cũng có thể xem nó là một thuộc tính nhận giá trị nhị

phân, khi đó I là các thuộc tính của CSDL); tập X I được gọi là tập mục dữ liệu hoặc

tập mục (itemset); và O = {t1, t2,..., tm} là tập định danh của các tác vụ (mỗi vụ mua

hàng được xem là một tác vụ). Quan hệ D IO được gọi là CSDL tác vụ. Mỗi tác vụ

t được biểu diễn như một véc tơ nhị phân, trong đó t[k] = 1 nếu mặt hàng ik xuất hiện

trong t và ngược lại t[k] = 0.

Cho một tập mục dữ liệu X I, độ hỗ trợ của tập X, kí hiệu là sup(X), được

định nghĩa là số (hoặc phần trăm) tác vụ trong D chứa X.

Page 24: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

12

Luật kết hợp (association rule) được định nghĩa hình thức là biểu diễn mối quan

hệ giữa hai tập mục dưới dạng X Y, trong đó X I, Y I, XY = . X được

gọi là phần tiền đề (antecedent) và Y được gọi là phần hệ quả (consequent) của luật.

Độ hỗ trợ (support) của luật X Y, kí hiệu là sup(X Y), được định nghĩa là

số (hoặc phần trăm) tác vụ trong D chứa XY.

D

YX Y) sup(X

Theo Agrawal R. và cộng sự [2], luật kết hợp được phát hiện cần đáp ứng ràng

buộc độ hỗ trợ (support constraint), theo đó, độ hỗ trợ của tập mục W = XY (hợp tập

tiền đề và tập hệ quả của luật) phải vượt qua (không nhỏ thua) một ngưỡng hỗ trợ tối

thiểu do người dùng đưa vào. Mọi tập W có tính chất nói trên được gọi là tập phổ biến

(frequent itemset) và còn được gọi là tập mục lớn (large itemset).

Độ tin cậy (confidence) của luật X Y, kí hiệu là conf(X Y), được định

nghĩa là số (hoặc phần trăm) tác vụ trong D chứa X cũng chứa Y.

)sup(

)sup( Y) conf(X

X

YX

Luật kết hợp được phát hiện cần có tính tin cậy, theo đó nó cần có độ tin cậy

vượt qua (không nhỏ thua) một ngưỡng tin cậy tối thiểu do người dùng đưa vào. Luật

đáp ứng ràng buộc độ hỗ trợ và có tính tin cậy được gọi là luật mạnh (strong

association rule).

2.1.2. Quy trình phát hiện luật kết hợp

Mục đích của bài toán phát hiện luật kết hợp trong CSDL tác vụ D là đi tìm tất

cả các luật kết hợp mạnh (độ hỗ trợ cực tiểu và độ tin cậy cực tiểu do người sử dụng

đưa ra trong quá trình phát hiện luật). Rất nhiều giải pháp phát hiện luật kết hợp đã

được đề xuất, chẳng hạn, theo thống kê của MicroSoft [?], đã có 2671 tác giả công bố

1526 công trình khoa học có giá trị (với 10224 lần được chỉ dẫn) về phát hiện luật kết

hợp. Phần lớn các thuật toán phát hiện luật kết hợp chia quá trình giải bài toán này

thành hai giai đoạn như sau:

Page 25: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

13

(1) Giai đoạn 1: Tìm tất cả các tập phổ biến trong CSDL D.

(2) Giai đoạn 2: Với mỗi tập phổ biến I1 tìm được ở giai đoạn 1, sinh ra tất cả

các luật mạnh có dạng I2 I1 – I2, I2 I1.

Trong hai giai đoạn trên, giai đoạn 1 là khó khăn, phức tạp và tốn nhiều chi phí. Bài

toán tìm tập phổ biến trong không gian các tập con của tập mục I có độ phức tạp tính

toán là O(2|I|). Giai đoạn 2 được giải quyết đơn giản hơn khi đã có các tập phổ biến và

độ hỗ trợ của chúng.

2.2. Luật kết hợp lớp

Theo Bing liu và các cộng sự [7], luật kết hợp lớp được định nghĩa:

Cho tập dữ liệu D. I là tập tất cả các item trong D. Một trường hợp d ∈ D chứa X ⊆ I

là một tập con của các item, nếu X ⊆ d. Y là tập các nhãn lớp. Một luật kết hợp lớp là luật

có dạng:

X → y,

trong đó X ⊆ I, y ∈ Y.

Một luật X → y có độ tin cậy trong D là c nếu c% các trường hợp trong D chứa X

được dán nhãn với lớp y.

Giả sử có n trường hợp trong D chứa X trong đó có n1 trường hợp được dán nhãn với

lớp y thì c = n1/n.

Một luật X → y có độ hỗ trợ trong D là s nếu s% các trường hợp trong D chứa X và

được dán nhãn với lớp y.

Giả sử có tất cả trong D có n trường hợp trong đó có n1 trường hợp chứa X và được

dán nhãn với lớp y thì s = n1/n.

2.3. Thuật toán top-k

Theo Webb [17] , thông thường việc phát hiện luật kết hợp dựa vào việc ứng

dụng của độ hỗ trợ tối thiểu. Ràng buộc này được sử dụng để tỉa không gian tìm kiếm

và tính toán khả thi. Điều này có thể giới hạn, như độ hỗ trợ thường không liên quan

trực tiếp tới giá trị tiềm năng của luật.

Page 26: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

14

Thuật toán OPUS_AR sẽ trình bày một sự tiếp cận thay thế cho việc phát hiện

luật có tính thăm dò như thế mà chúng ta gọi là phát hiện luật kết hợp k-optimal. Theo

cách tiếp cận này, người dùng chỉ rõ một độ đo giá trị luật λ, một tập ràng buộc M và

một số k các luật được phát hiện. Hệ thống sẽ trả về k luật mà tối ưu λ với các ràng

buộc M. Việc này mở rộng các kĩ thuật trước đó đi tìm luật đơn tối ưu một độ đo giá trị

cho phần hệ quả được chỉ định trước. Ngược lại, thuật toán mới tìm nhiều luật và cho

phép bất kì điều kiện nào trong vai trò là hệ quả

2.3.1. Phát hiện luật thỏa mãn ràng buộc

Webb [17] đã định nghĩa cả phát hiện luật kết hợp và phát hiện luật tối ưu k theo

cách mô tả chung của phát hiện luật kết hợp có ràng buộc (gọi là CStask). Một bản ghi

là một thực thể ám chỉ các điều kiện áp dụng. Để thuật tiện cho kí hiệu, ta coi mỗi bản

ghi d thể hiện một tập các điều kiện áp dụng vào d. Một cơ sở dữ liệu D là một bộ

không rỗng các bản ghi. Với mỗi tập điều kiện S và cơ sở dữ liệu D

coverset(S, D) = {d ∈ D | d ⊇ S}

cover(S,D) = | ��������(�,�)|

|�|

Chỗ mà cơ sở dữ liệu được ngụ ý bởi ngữ cảnh mà ta rút gọn cái trước coverset(S) và

cái sau cover(S). Một CStask là một bộ ba (C,D,M) trong đó

C: một tập không rỗng các điều kiện

D: một cơ sở dữ liệu các bản ghi r ⊆ C

M: một tập các ràng buộc của luật mà hình thành cách giải quyết CStask

Một luật là một cặp tập điều kiện được thể hiện bởi X→Y, trong đó

X: một tập không rỗng các điều kiện gọi là phần tiền đề

Y: một tập không rỗng các điều kiện gọi là phần hệ quả

Bổ nghĩa thỏa mãn (X→Y,D,M) là đúng hoàn toàn và duy nhất các luật X→Y mà thỏa

mãn tất cả ràng buộc trong M đối với D. CSsolution : {<C , D, M>} → {{X→Y }} là

một hàm đa ánh từ CStask tới solution, thỏa mãn:

CSsolution(<C,D,M>) = {X→Y | X ⊆ C ∧ Y ⊆ C ∧ satisfies(X→Y, D, M)}

Page 27: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

15

Phát hiện luật kết hợp thỏa mãn ràng buộc đưa ra một nền tảng chính thức

chung mà có thể mô tả, phân tích và đối chiếu một phạm vi rộng các kĩ thuật phát hiện

luật có tính thăm dò.

Tính khả thi của việc tính toán một CSsolution tới CStask sẽ phụ thuộc vào số

các luật mà toán mãn M đối với D. Ví dụ, một tập cho trước các ràng buộc có thể

không ngoại trừ bất kì luật nào đối với D cho trước, trong trường hợp số các luật và độ

phức tạp thời gian sau đó sẽ tăng theo hàm mũ đối với số các điều kiện trong C

2.3.2. Phát hiện luật k tối ưu

Webb phác thảo một hướng tiếp cận để phát hiện luật[17]. Như ở trên đã giới

thiệu, cách tiếp cận này sẽ yêu cầu người dùng chỉ rõ một độ đo giá trị luật, một tập

điều kiện và số k các luật. Đầu ra sẽ là k luật mà tối ưu theo độ đo.

Một bài toán phát hiện k luật tối ưu (KOtask) là một bộ 5 <C,D,M,λ,k>, trong

đó:

C: một tập không rỗng các điều kiện

D: một cơ sở dữ liệu các bản ghi r ⊆ C

M: mộ tập càng ràng buộc trên luật mà đưa ra lời giải cho bài toán.

λ : {X→Y } × {D} → R là một hàm ánh xạ từ các luật và cơ sở dữ liệu đến các

giá trị thực và định nghĩa một độ đo giá trị mà λ(X→Y, D) càng lớn thì giá trị

X→Y càng lớn

k: một số nguyên thể hiện số lượng luật trong lời giải của bài toán

solution: {<C , D, M, λ, k>} → {{X→Y }} là một hàm đa ánh từ bài toán

KOtask tới lời giải của nó, thỏa mãn:

∀s ∈ solution(<C , D, M, λ, k >)

s ⊆ CSsolution(<C , D, M>)

∧ |s| ≤ k;

∧¬∃r ∈ solution(<C , D, M, λ, k>) : |r| < |s|

∧¬∃X→Y ∈ s, X’→Y’ ∈ (CSsolution(hC , D, Mi) − s) : λ(X→Y, D) <

λ(X’ →Y’, D)

Page 28: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

16

Theo định nghĩa này, nếu CSsolution chứa k luật hoặc hơn thì tất cả lời giải của

KOtask bao gồm k luật. Nếu CSsolution chưa ít hơn k luật thì chỉ có một lời giải cho

KOtask và nó giống với CSsolution. Có thể chỉ có nhiều lời giải cho một KOtask cho

trước nếu có nhiều luật với giá trị λ giống nhau, với mỗi giá trị chiếm vị trí thứ k trong

lời giải của bài toán

Độ đo giá trị luật là trung tâm của việc phát hiện k luật tối ưu. Độ đo như vậy sẽ

thường không trực tiếp bắt các giá trị đúng, bởi vì thường phụ thuộc vào nhiều yếu tố

mà sẽ khó để chính thức hóa và kết hợp trong một quá trình tính toán. Ta định nghĩa 4

độ đo đối với một luật X→Y như sau:

coverage(X→Y, D) = cover(X, D),

support(X→Y, D) = cover(X ∪ Y, D),

confidence(X→Y, D) = support(X→Y, D) / coverage(X→Y, D),

leverage(X→Y, D) = support(X→Y, D) − cover(X, D) × cover(Y, D).

Piatetsky-Shapiro cho rằng nhiều độ đo giá trị luật dựa vào sự khác nhau giữa tần suất

chung quan sét được giữa phần tiền đề và phần hệ quả, độ hỗ trợ support(X→Y) và tần

suất mong muốn nếu cả 2 là độc lập, cover(X) x cover(Y). Ông đưa ra một độ đo đơn

giản nhất gọi là leverage, được định nghĩa dưới đây.

leverage(X→Y, D) = cover(X, D) × (confidence(X→Y, D) − cover(Y, D)) .

Thể hiện trong dạng này, nó cũng được gọi là độ chính xác tương đối có trọng số

Trái với leverage, có độ đo sau:

lift(X→Y ) = support(X→Y ) / [cover(X) × cover(Y )]

là tỉ lệ tần suất quan sát với phần hệ quả xuất hiện trong ngữ cảnh mà phần tiền đề vượt

mong đợi nếu chúng độc lập. Một luật với độ lift cao có thể ít quan trọng do nó có độ

phủ thập và do đó ứng dụng trong rất ít hoàn cảnh. Điều này có thể được đưa ra như là

việc cân chỉnh ứng dụng của độ hỗ trợ tối thiệu trong sự kết nối với độ đo lift, nhưng

đây là laf việc điều chỉnh xấp xỉ thô nhất đối với vấn đề này. Nó dẫn đến một hàm

bước với thuộc tính rất không mong muốn đó là bổ sung thêm bản ghi với độ hỗ trợ

của một luật với độ lift cao có thể chuyển nó từ không quan trọng

Page 29: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

17

2.4. Thuật toán OPUS Search

Theo nghiên cứu của Webb [18] , tìm kiếm luật kết hợp có thể được giải quyết

như một quá trình tìm kiếm mà bắt đầu với các luật tổng quát (các luật với một điều

kiện ở vế trái) và tìm kiếm thông qua sự đặc tả hóa liên tục (các luật hình thành bằng

việc thêm các điều kiện bổ sung vào vế trái). Tìm kiếm như thế là không có thứ tự. Thứ

tự mà đặc tả liên tục được bổ sung vào vế trái không quan trọng. Luật A ^ B ^ C -> X

là giống với C ^ B ^ A -> X. Một thành phần quan trọng của tìm kiếm hiệu quả trong

ngữ cảnh này là cực tiểu hóa số luật kết hợp cần xét. Một kỹ thuật hữu hiệu được sử

dụng để loại trừ các luật kết hợp tiềm năng đó là tỉa “lạc quan”. Optimistic pruning

hoạt động bằng việc hình thành các ước lượng khả quan của các giá trị cao nhất mà có

thể xảy ra trong một vùng không gian tìm kiếm

Ước lượng khả quan là không thể thấp hơn giá trị lớn nhất thực tế. Nếu giá trị

khả quan cho một vùng mà thấp hơn giá trị thấp nhất, thì vùng đó có thể bị tỉa. Nếu tìm

kiếm ra top m luật kết hợp, thì có thể duy trì một danh sách top m luật có thể gặp trong

suốt việc tìm kiếm. Nếu một ước lượng khả quan thấp hơn giá trị thấp nhất của luật

trong top m, thì vùng tương ứng của không gian tìm kiếm có thể được tỉa. Các luật tỉa

khác có thể nhận diện ra các vùng mà có thể được tỉa vì chúng có thể bao gồm duy nhất

các luật mà không thỏa mà các ràng buộc cho trước như:

Độ hỗ trợ tối thiểu

Độ nâng tối thiểu

Là một trong top m luật kết hợp theo một phải tiểu chuẩn đặc tả

Khái niệm “Luật tin cậy” được sử dụng để thể hiện các luật kết hợp mà tại vài điểm

cho trước, nó có thể là luật sẽ

Nếu giới hạn các luật kết hợp chỉ có điều kiện đơn ở vế phải, có hai chiến thuật tìm

kiếm hợp lý,

- với mỗi điều kiện vế phải có tiềm năng, thăm dò không gian có thể ở vế trái

- với mỗi kết hợp điều kiện có tiềm năng ở vế trái, thăm dò không gian điều kiện có thể

ở vế phải

Chiến thuật cũ dẫn tới việc thực thi thẳng nhất vì nó bao gồm các lặp lại đơn gian

thông qua tìm kiếm thẳng đối với mỗi điều kiện vế phải tiềm năng. Tuy nhiên, điều này

Page 30: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

18

ngụ ý truy cập việc đếm số lượng các trường hợp được phủ bởi vế trái nhiều lần, một

lần cho mỗi điều kiện vế trái mà vế phải được xét.

Những lần xem xét này sẽ làm giảm nhẹ chiến thuật thứ hai. Ta thăm dò một cách hệ

thống không gian có thể của các kết hợp điều kiện bên trái. Trong suốt tiến trình này, ta

ghi vết lại các tập điều kiện mà có thể xuất hiện bên phải của luật tin cậy trong tìm

kiếm dưới điểm hiện tại. Sau đó ta tổ chức tìm kiếm để cố gắng cực tiểu hóa số lượng

kết hợp điều kiện bên trái được thăm dò. Một lần đơn duyệt qua dữ liệu có thể được

thực hiện cho từng kết hợp bên trái trong suốt thời gian các thống kê được thu thập cho

cả bên trái và mỗi một điều kiện bên phải. Ta tỉa không gian tìm kiếm với bất kì một

vùng tiềm năng nào cho mỗi ước lượng khả quan.

Dưới đây là thuật toán mà áp dụng thuật toán tìm kiếm OPUS [18] để đạt được hiệu

quả trong việc tìm kiếm. Thuật toán được trình bay như một thủ tục đệ qui với 3 tham

số:

CurrentLHS: tập các điều kiện ở bên trái của luật đang được xét

AvailableLHS: tập điều kiện có thể được thêm vào bên trái của luật để thăm dò

dưới điểm này

AvailableRSH: tập điều kiện có thể xuất hiên ở bên phải của luật trong không

gian tìm kiếm tại điểm đó và bên dưới

Page 31: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

19

Ban đầu gọi tới thủ thủ thiết lập CurrentLHS là {} (tập rỗng) và AvailableLHS và

AvailableRHS là tập các điều kiện được xét lần lượt ở bên trái và phải của luật kết hợp

Page 32: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

20

Tại bước 2.c.ii.A sẽ ghi lại mỗi luật kết hợp tin cậy khi được ước lượng. Nếu tìm được

m luật tốt nhất trong metric, một khi m luật được thêm vào ở bước này, như các luật

mới, luật mà giá trị thấp nhất trong metric có thể được loại bỏ khỏi bảng các luật tốt.

Một luật sẽ không đáng tin nếu nó không thỏa mãn các ràng buộc khác, như là độ mạnh

tối thiếu, hoặc là khi bảng luật đầy, có giá trị trong metric ước lượng thấp hơn luất kém

nhất trong bảng luật tốt nhất.

Bước 2c tỉa các điều kiện từ không gian bao gồm vế trái luật. Hơn là khảo sát không

gian các tập vế trái có thể tại điểm hiện tại, các kĩ thuật khả quan với tổng chi phí tính

toán thấp có thể được thực hiện. Ví dụ, nếu | CurrentLHS v {P} | thấp hơn độ hỗ trợ tổi

thiểu thì không có luật nào trong không gian các luật khả dụng có thể đạt được ngưỡng

hỗ trợ tối thiệu bởi vì toàn bộ là đặc tả của |CurrentLHS v {P} | và do đó không thể có

độ hỗ trợ cao hơn.

Bước 2.c.ii.B tỉa các điều kiện từ không gian được khảo sát ở vế trái của luật. Các luật

khả quan với tổng chi phí tính toán thấp cũng được thực hiện ở đây. Ví dụ, nếu

|CurrentLHS v {P} | = 0 thì không có luật đáng tin nào sẽ tồn tại trong không gian các

luật khả dụng thích hợp

Đối với toàn bộ bước tỉa, các luật tỉa chính xác được thực hiện sẽ phụ thuộc vào các

ràng buộc cụ thể cho việc tìm kiếm

Nếu không có việc tỉa thì thuật toán này sẽ khảo sát toàn bộ không gian tìm kiếm một

cách có hệ thống. Bước tỉa sẽ lược bỏ khỏi không gian tìm kiếm bên dưới một nút và

chỉ các luật bao gồm điều kiện nhận dạng. Vì vậy, theo đó các thuật toán là hoàn toàn

luôn luôn tìm ra các luật kết hợp đích, miễn là các luật tỉa được thực hiện đúng

Thuật toán này dựa vào OPUSS hơn là OPUSO. Bởi vì nó hiệu quả hơn OPUSO yêu cầu

ít nhất 2 lần duyệt qua điều kiện có sẵn bên trái tại mỗi nút của cây tìm kiếm. Một cái

để chọn và sắp xếp điều kiện bên trái và một cái để gọi đệ quy cho mỗi điều kiện bên

trái với tham số thứ hai và ba thích hợp. Tổng chi phí của việc làm này vượt hơn so với

việc tìm kiếm bởi vì một ước lượng mà điều kiện bên phải nên được giữ lại cho mỗi vế

trái cần được thực hiện trong toàn bộ lặp

Page 33: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

21

Chương 3. Mô hình dự báo nhiễm malware bằng khai phá dữ liệu

Hiện nay, các công cụ anti-malware trên di động được sản suất và phát triển khá

nhiều bởi các hãng như Mobile Sandbox3 hay McAfee4. Các công cụ này đều nhận

dạng, phát hiện các mã độc dựa trên một danh sách các malware xác định trước. Danh

sách này được bổ sung theo định kỳ dựa trên đánh giá, xem xét của nhà phát triển. Tuy

nhiên việc đánh giá như nào thì tùy thuộc vào phương pháp riêng của nhà phát triển đó.

Do vậy, một ứng dụng di động có thể bị nhận dạng là malware bởi công cụ này, nhưng

được xét là vô hại bởi công cụ khác. Việc đánh giá malware cũng cần phải dựa vào

khảo sát của người sử dụng khi mà liệu ứng dụng này có gây hại đối với người dùng đó

hay không. Tuy nhiên, đi kèm với nhận dạng malware, thì chi phí để khắc phục hậu

quả do malware đó gây ra cũng không kém phần hao tổn

Từ hiện trạng trên, khóa luận này xin đề xuất một mô hình dự báo nhằm phát

hiệm sớm khả năng tiềm ẩn nhiễm malware của thiết bị. Mô hình này dựa trên phương

pháp tiếp cận bằng khai phá dữ liệu mà cụ thể là luật kết hợp. Kết quả của mô hình này

có thể góp phần tăng chất lượng đánh giá của các nhà phát triển, từ đó có thể ngăn chặn

sớm sự ảnh hưởng tiêu cực của malware đối với người sử dụng.

3.1. Mô hình đề xuất

Tôi xin đề xuất ra mô hình dự báo nhiễm malware trên thiết bị di động sử dụng

bằng khai phá dữ liệu. Mô hình này sử dụng kĩ thuật phát hiện luật kết hợp và tập mục

phổ biến bằng thuật toán top-k. Tuy nhiên, mô hình đã cải tiến bằng việc đưa thêm

phân tách các tập dữ liệu và các độ đo đặc trưng. Bài toán được phát biểu như sau:

Đầu vào: Tập các thiết bị của người dùng thu thập từ Carat, tập các malware

Đầu ra: Các luật kết hợp có dạng: {ai} → I

trong đó {ai} ∈ A, là tập các ứng dụng; I là nhãn cho biết nhiễm malware

3 http://mobilesandbox.org/ 4 http://www.mcafee.com/

Page 34: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

22

Hình 3.1 – Mô hình dự báo nhiễm malware trên thiết bi di động

3.2. Phát hiện trùng khớp malware

Theo một nghiên cứu phân tích [6] , thông thường, rất khó có thể phân tích chi tiết

được một thiết bị có nhiễm malware hay không. Chúng ta chỉ có thể dựa vào một tập các

malware được xác định trước cùng với tập dữ liệu Carat để từ đó có một bộ dữ liệu huấn

luyện, tức là xác định thiết bị có nhiễm hay không nhiễm. Để làm được điều này, chúng ta

duyệt toàn bộ các thiết bị trong tập Carat và duyệt xem các thiết bị đó có chứa malware

Page 35: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

23

trong tập Malware dataset hay không. Công đoạn này còn được gọi là phát hiệm trùng

khớp malware trong tập dữ liệu carat. Ta xét 2 loại trùng khớp: trùng khớp <dc> và trùng

khớp <dc,p,v>

- Trùng khớp <dc> : một cách tiếp cận để nhận dạng trùng khớp malware đó là cho

rằng thiết bị ở trong tập dữ liệu Carat là nhiễm (infected) nếu nó có bất kì một gói

được kí đối với devcert xuất hiện trong tập tập dữ liệu malware. Với cách tiếp cận

này, khi một giá trị dc kết hợp với một bản ghi trong tập dữ liệu malware, ta gán

nhãn cho bản ghi đó là nhiễm độc (infected). Cụ thể, công đoạn này được mô tả

dưới mã giả sau:

Void checkMatchDC(C,M)

{

//C – Tập dữ liệu Carat; M – Tập dữ liệu malware

For( mỗi bản ghi m ∈ M )

{

If (tồn tại bản ghi c ∈ C | c.dc == m.dc)

Then gán nhãn I cho c // Infected

Else gán nhãn C cho c // Clean

}

SC:= ϕ; // tập các devcert xấu

SP := ϕ; // tập các <dc,p,v> xấu

SI:C:= ϕ; // các thiết bị nhiễm

For (mỗi bản ghi c ∈ C )

{

If (c bị gán nhãn là “I”)

Then

{

SC.add(c.dc);

SP.add(c.dc | c.p | c.v);

SI:C.add(c.ID);

}

}

Page 36: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

24

NC:=SC; NP:=SP;NI:C=SI:C;

}

Ta tiếp tục tính toán số lượng các devcert “xấu” (NC), số các gói tương ứng với các

devcert xấu (NP), và số các thiết bị nhiễm đọc (NI:C). Nếu devcert giống nhau được sử

dụng để kí malware cũng như các gói không bị nhiễm độc, thì tiếp cận <dc> có thể dẫn

đến ước lượng vượt mức về tỉ lệ nhiễm. Tuy nhiên, nó có thể đáp ứng theo cách nhận biết

các malware chưa được phát hiện trước đó. Thuật toán dưới đây sẽ minh quá quá trình

phát hiện trùng khớp

- Trùng khớp <dc,p,v> : Chúng ta có thể chặt chẽ hơn bằng cách gán nhãn nhiễm mã

độc khi và chỉ khi mỗi thành phần trong phần nhận dạng gói <dc,p,v> trùng khớp

với bản ghi trong tập dữ liệu. Loại trùng khớp này sẽ đánh giá thấp tỉ lệ nhiễm đọc,

đưa ra một biên thấp hơn. Tiến trình này được minh họa theo thuật toán sau đây:

Void checkMatchDC_P_V(C,M)

{

//C – Tập dữ liệu Carat; M – Tập dữ liệu malware

For( mỗi bản ghi m ∈ M )

{

If (tồn tại bản ghi c ∈ C | c.dc == m.dc && c.p==m.p && c.v

==m.v)

Then gán nhãn I cho c // Infected

Else gán nhãn C cho c // Clean

}

SC,P := ϕ ; // tập các bộ <dc,p,v> xấu

SI:C,P:= ϕ; // các thiết bị nhiễm mã độc

For (mỗi bản ghi c ∈ C )

{

If (c bị gán nhãn là “I”)

Then

{

SC,P.add(c.dc | c.p | c.v);

Page 37: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

25

SI:C,P,V.add(c.ID);

}

}

NC,P,V:=|SC,P,V| ;NI:C,P,V=|SI:C,P,V|;

}

Từ đây, chúng ta đã phân loại ra thiết bị nào nhiễm malware, thiết bị nào là

“sạch”.Tập dữ liệu người dùng được làm gọn và đưa về dạng tập các giao dịch với mỗi

item là một ứng dụng (chọn một số nguyên làm đại diện cho ứng dụng này). Nghĩa là mỗi

hàng là danh sách các số nguyên mà mỗi số đại diện cho một ứng dụng mà mỗi thiết bị sử

dụng. Ví dụ: 37 132 205 587 779 780 1183 1767 2486 2848 3082 3945 4506 5082 6133

11540 13783 16629 22110 25783 46603 112625 112626. Tương tự danh sách các

malware cũng được đánh số đại diện. Mỗi malware được biểu diễn bởi một số nguyên.

3.3. Phát hiện dấu hiệu dự báo

3.3.1. Tìm đặc trưng của các thiết bị nhiễm malware

Việc nhiễm malware sẽ có ảnh hưởng đến trạng thái hoạt động của thiết bị. Có thể

tìm ra một vài đặc điểm thường thấy trên các thiết bị nhiễm malware, chẳng hạn như thời

lượng pin, lượng tài nguyên bộ nhớ, hoặc các ứng dụng được cài đặt,… Trong phạm vi

nghiên cứu của khóa luận này, đặc trưng của thiết bị nhiễm malware là tập các ứng dụng

thường được cài đặt trong thiết bị. Tức là mục tiêu là đi tìm các tập ứng dụng có lượng tần

suất xuất hiện đủ nhiều để coi đó là dấu hiệu ban đầu trong việc dự báo. Phương pháp

được áp dụng ở đây sẽ khai phá luật kết hợp. Cụ thể, sẽ coi mỗi thiết bị nhiễm malware là

một giao dịch trong cơ sở dữ liệu giao dịch, các ứng dụng trong thiết bị là tập mục. Tứ đó,

tìm ra các tập mục phổ biến, cũng chính là tập các ứng dụng xuất hiện nhiều

Để làm được như trên, trước hết cần lọc ra từ tập dữ liệu D ban đâu các thiết bị có

nhãn I (nhiễm malware). Tập các thiết bị nhiễm malware này sau khi loại bỏ nhãn I, gọi là

D1. Tiến hành tìm các tập mục phổ biến trong D1 theo thuật toán Top-K với độ phủ tối

thiểu minCov cho trước, đây cũng có thể coi là số lần xuất hiển tối thiểu mà tập các ứng

dụng phải đạt được. Một độ đo tần suất f được đề xuất như sau:

f=covD1/covD

Page 38: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

26

trong đó:

covD1 là số lần xuất hiện của tập mục trong D1

covD là số lần xuất hiện của tập mục trong D

Ý nghĩa của độ đo f là khả năng nhiễm mã độc của đặc trưng so với các thiết bị khác có

cùng tập ứng dụng đó. Nói cách khác, ta xét số lần xuất hiện của 1 tập ứng dụng cụ thể

và xác định xem trong số đó, các thiết bị nhiễm malware chiếm tỉ lệ bao nhiêu. Ví dụ:

Xét một tập mục phổ biến X = {101 132 145} tương ứng là 3 ứng dụng có ID là 101,

132, 145. Tập mục X xuất hiện trong D1 50 lần, xuất hiện trong D là 1000 lần. Nói

cách khác, có 1000 thiết bị sử dụng đồng thời 3 ứng dụng 101, 132, 145 thì có đến 50

thiết bị là nhiễm malware. Vậy ta có:

CovD1= 50; covD=1000

=> f = 50 /1000 = 5%;

3.3.2. Tìm tập luật

Như phần trước đã đề xuất, mục tiêu của tập luật cần tìm là tập tất cả các luật

kết hợp có dạng {ai} → I , trong đó vế trái là tập mục, vế phải là nhãn L với L = {C, I}

. Tuy nhiên, có thể đồng nhất nhãn lớp thành một mục trong tập mục gọi là ({ai}, L).

Từ đây áp dụng kĩ thuật khai phá luật kết hợp top-K để tìm ra k luật tốt nhất và tìm ra

các luật theo thuật toán tìm kiếm OPUS. Cụ thể các bước tiến hành như sau:

- Kết hợp nhãn lớp của thiết bị thành 1 tập mục có dạng ({ai}, L ) trong đó {ai} là

tập gồm i mục tương ứng với i ứng dụng của thiết bị, L là nhãn nhận một trong

2 giá trị là C (clean – thể hiện thiết bị sạch) hoặc I (infected – thể hiện thiết bị đã

nhiễm mã độc)

- Áp dụng thuật toán top-K để sinh ra tập gồm k luật kết hợp tốt nhất

- Thiết lập ràng buộc để tìm luật thỏa mãn yêu cầu. Các ràng buộc bao gồm:

Vế phải của luật được cố định trước mục “I” duy nhất, như vậy sẽ tìm ra

được các luật kết hợp nhãn lớp

Các luật được sắp xếp theo độ mạnh (hay độ tin cậy) giảm dần, như vậy sẽ

lọc ra được các luật tốt nhất.

Page 39: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

27

Chương 4. Thực nghiệm và đánh giá

Trong chương này, khóa luận sẽ trình bày thực nghiệm trên mô hình đề xuất ở

chương ba. Tôi tiến hành thực nghiệm trên hơn 55,000 thiết bị di động chạy trên nền

Android được thu thập bởi Carat. Dựa vào kết quả thực nghiệm, tôi tiến hành đánh giá,

nhận xét và đưa ra định hướng tiếp theo.

4.3. Môi trường thực nghiệm

4.3.1. Cấu hình phần cứng

Bộ xử lý Intel® Core™ i7-2630QM CPU @

2.00 GHz

RAM 6.00 GB

Hệ điều hành Microsoft Windows 7 Professional

Bảng 4.1. Cấu hình phần cứng

4.3.2. Công cụ thực nghiệm

Trong khóa luận có sử dụng phần mềm Magnum Opus5 để tiến hành khai phá

các tập mục và luật kết hợp. Ngoài ra để xử lý và tính toán các độ đo cần thiết, tôi sử

dụng công cụ Eclipse để lập trình

Hình 4.1. Giao diện công cụ Magnum Opus 5 http://giwebb.com/

Page 40: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

28

Hình 4.2. Chương trình được xây dựng trên Eclipse

4.2. Dữ liệu thực nghiệm

4.2.1. Tập dữ liệu Carat

Khóa luận sử dụng bản chỉnh sửa của ứng dụng Carat phiên bản mã nguồn mở

để ghi lại các ID của nhà phát triển, hay là các dc. Các đội phát triển Carat công bố bản

chỉnh sửa vào 11/4/2014 và cung cấp những dữ liệu thu thập được từ ngày đó đến

15/10/2013. Có 55,278 thiết bị Android được nâng cấp lên phiên bản mới trong suốt

quá trình thu thập và được ghi lại thông tin khi nhận diện các gói

Mỗi thiết bị chạy Carat được nhận dạng bởi số hiệu Carat ID duy nhất. Các số

hiệu này được tính toán bằng việc áp dụng hàm băm SHA-1 cho các mã nhận dạng sẵn

có trên thiết bị (như IMEI, địa chỉ Wifi MAC) và thời gian cài đặt Carat. Khi Carat lấy

mẫu, nó sẽ duyệt danh sách tiến trình và sinh ra một bản ghi cho mỗi ứng dụng đang

chạy. Thông tin gói được trích xuất trực tiếp trên thiết bị từ PackageInfo. Bên cạnh

Carat ID và mã nhận dạng gói, Carat cũng ghi lại các tên phiên dịch của gói (là chuỗi

kí tự mà con người có thể đọc hiểu), phân quyền của gói và nhãn thời gian khi gói

được ghi lại bởi Carat. Các thông tin bổ sung được sử dụng cho những phân tích khác

nhau. Bảng 4.1 thể hiện thống kê tổng quan về tập dữ liệu Carat

Page 41: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

29

Loại Số lượng

Các thiết bị phân biệt

Các tên gói duy nhất

Các devcert (dc) duy nhất

Các bộ <dc,p> duy nhất

Các bộ <dc,p,v> duy nhất

Tổng số các bản ghi duy nhất

55,278

64,916

41,809

83,226

192,080

5,358,819

Bảng 4.2. Tổng quan về tập dữ liệu Carat

Các tác giả của Carat cung cấp chi tiết hơn về kĩ thuật bảo vệ quyền riêng tư được

sử dụng bởi Carat [1]. Việc Carat thu thập dữ liệu thuộc về tiến trình IRB của UC

Berkeley. Vì nguyên nhân riêng tư, Carat không thu thập bất kỳ các thông tin nhận dạng

mang tính cá nhân nào về người dùng của thiết bị (như địa chỉ, số điện thoại,…). Người

dùng Carat được thông báo về quyền thu thập dữ liệu trên thiết bị của họ

Những thay đổi được làm với Carat là để thu thập các giá trị dc của gói, bên cạnh

các tên gói (giá trị p) mà đã được thu thập. Bởi vì giá trị dc không mang thông tin bổ sung

nào về người dùng, nên kĩ thuật thu thập dữ liệu không ảnh hưởng gì tới quyền riêng tư

của người dùng

Tôi định hướng cho tập dữ liệu Carat mà được giới thiệu trong báo cáo này là sẵn có

đối với việc nghiên cứu. Để bảo vệ quyền riêng tư của người dùng, tôi có thay đổi đối với

những nội dung sau đây:

- Tính toán tên riêng của các thiết bị được công khai bằng việc sử dụng hàm băm

SHA-1. Việc này sẽ ngăn chặn các địch thủ trong việc tương quan tên thiết bị

- Chuyển tên gói (p) bằng việc tính toán hàm băm SHA-1 của nó. Việc này sẽ làm ẩn

đi tên của các gói không công khai.

Page 42: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

30

4.2.2. Tập dữ liệu Malware

Tôi sử dụng dữ liệu malware từ 3 nguồn khác nhau: tập dữ liệu Malware Genome

cung cấp bởi Zhou cùng cộng sự [16], tập dữ liệu Mobile Sandbox cung cấp bởi

Spreitzenbarth cùng cộng sự [12], và tập dữ liệu McAfee cung cấp bởi McAfee.

Nguồn của mỗi tập dữ liệu sử dụng chính bộ tiêu chuẩn duy nhất của chúng để xác

định xem liệu rằng có chứa một gói Android trong tập dữ liệu hay không. McAfee sử dụng

một kĩ thuật phân lớp độc quyền. Khi sử dụng giao diện web Mobile Sandbox, bất cứ ai

cũng có thể đưa ra một gói tới Mobile Sandbox để xem xét. Mobile Sandbox bao gồm một

gói trong tập dữ liệu của nó nếu bất kỳ cái nào trong số hơn 40 công cụ anti-virus mà họ

sử dụng để gắn cờ các gói là malware. Malware Genome là một tập cố định các mẫu

malware đã biết mà thu thập trong suốt khoảng thời gian từ tháng 8/2010 đến 10/2011

Mỗi gói Android (.apk file) trong một tập dữ liệu, tôi trích xuất ra các nhận diện gói

theo dạng là một bộ <dc,p,v> . Vì vậy, tập dữ liệu malware là một bảng các bản ghi. Bảng

2 nêu tổng quan tập dữ liệu malware này

Loại Mobile

Sandbox

McAfee Malware

Genome

Union

Các devcert (dc) duy nhất

Các bộ <dc,p> duy nhất

Các bộ <dc,p,v> duy nhất

Các file apk duy nhất

3,879

13,080

16,743

96,500

1,456

2,979

3,182

5,935

136

756

1,039

1,260

4,809

15,804

19,094

103,695

Bảng 4.3. Tổng quan về tập dữ liệu malware

4.4. Các bước thực nghiệm

Để thực nghiệm chương trình, tôi tiến hành các bước sau

- Bước 1: Gán nhãn “C” hoặc “I” cho các thiết bị

- Bước 2: Tìm đặc trưng của các thiết bị nhiễm malware

Bước 2a: Cô lập các thiết bị có nhãn là I vào cơ sở dữ liệu D1

Page 43: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

31

Bước 2b: Trích xuất ra các tập mục phổ biến trong D1, đồng thời tính toán

số lần xuất hiện (Độ phủ cov) của các tập mục.

Bước 2c: Lọc ra các tập mục có độ phủ lớn hơn một ngưỡng minCov cho

trước

Bước 2d: Tính toán tỉ lệ giữa số lần xuất hiện trong D1 và trong D (độ đo f)

Bước 2e: Lọc ra các tập mục có độ f lớn hơn một ngưỡng minf cho trước

- Bước 3: Tìm luật kết hợp có nhãn “I”

Bước 3a: Cố định ràng buộc cho giá trị nằm bên phải của luật

Bước 3b: Trích xuất ra các luật kết hợp bằng công cụ theo các tiêu chí tìm

kiếm khác nhau

Bước 3c: Thử lại với các tiêu chí tìm kiếm khác rồi đối chiếu chất lượng tập

các luật

4.5. Kết quả thực nghiệm

- Lọc và xử lý dữ liệu: các ứng dụng được đánh mã số và gán nhãn “I” (nhiễm

mã độc) hoặc “C” (sạch)

Hình 4.3. Kết quả gán nhãn cho thiết bị,

mỗi dòng tương ứng với một thiết bị

Page 44: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

32

- Sau khi tiến hành lọc và phân tích, tôi ghi nhận được 285 thiết bị có nhiễm

malware, trên tổng số 55,000 thiết bị. Tiến hành cô lập các thiết bị có nhiễm malware,

tôi sử dụng công cụ Magnum Opus để phát hiện các tập mục phổ biến. Các độ đo tôi

thiết lập như sau:

Tùy chỉnh Giá trị thiết lập

Search for Itemset

Search by Coverage

Filter out Redundant

Minimum coverage (count) 36

Maximum no. 500,000

Maximum size 10

Bảng 4.4. Các thiết lập để tìm tập mục cho đặc trưng

Kết quả thu được khoảng gần 75,000 tập mục với độ phủ được sắp xếp giảm dần

Page 45: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

33

Hình 4.4. Các tập mục phổ biến trong D1

Page 46: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

34

Tiếp theo, tôi tiến hành tính toán độ đo f hay tỉ lệ xuất hiện của các tập mục

trong tập D, lấy ngưỡng minf=0.01 , lọc ra được còn lại 800 tập mục. Mỗi tập mục

tương ứng với một dòng. Ví dụ “10 5với f= 72/6998 0.010288653901114605” nghĩa là

tập mục {10, 5} xuất hiện 72 lần trong D1 và 6998 lần trong D, với tỉ lệ này thì vào

khoảng 1%. Theo thống kê, độ tin cậy cao nhất thu được cũng chỉ vào khoảng 1,3%

Hình 4.5. Các tập mục phổ biến trong D1 có độ tin cậy trên toàn tập D

Nhân xét: Tôi nhận thấy độ f nhỏ do các tập mục là phổ biến trong D1 thì cũng xuất

hiện rất nhiều trong D.

Page 47: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

35

- Để tìm tập luật, tôi áp dụng khai phá luật kết hợp. Tìm các luật được ràng buộc

vế trái là I, các luật được sắp xếp theo độ tin cậy giảm dần. Các thông số được cài đặt

như sau:

Tùy chỉnh Giá trị thiết lập

Search for Rules

Search by Strength

Filter out Insignificant

Minimum coverage (count) 1

Maximum no. 1000

Maximum size 4

Minimum strength 0.25

Bảng 4.5. Các thiết lập để tìm tập luật (độ mạnh tối thiểu là 25%)

Với kiểu lọc “Insingificant” để loại bỏ các luật không quan trọng, kết quả thu

được gồm 225 luật có độ mạnh tối thiểu là 25% .

Page 48: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

36

Hình 4.6. Các luật kết hợp được ràng buộc vế trái là “I” (nhiễm độc)

Nhận xét: Với kết quả này, tôi nhận thấy, các luật thu được có tần suất xuất hiện rất ít

nhưng độ mạnh của luật rất cao (cao nhất là 100%) . Về mặt ý nghĩa, có thể thấy vế trái

là các ứng dụng lạ, ít được các thiết bị cài đặt và chỉ xuất hiện ở các thiết bị bị nhiễm

mã độc. Các ứng dụng này có thể được đưa ra để đánh giá và xem xét sự liên quan giữa

chúng và các malware.

Page 49: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

37

Kết luận và định hướng nghiên cứu tiếp theo

Qua quá trình tìm hiểu phương pháp tiếp cận bằng khai phá dữ liệu để áp dụng

vào bài toán dự báo nhiễm malware trên thiết bị di động, khóa luận đã đề xuất ra mô

hình dự báo dựa trên khai phá luật kết hợp. Khóa luận đạt được các kết quả sau đây:

- Giới thiệu về malware và hiện trạng nhiễm malware trên nền Android trong

những năm gần đây

- Trình bày và phân tích hướng tiếp cận bằng khai phá dữ liệu đối với bài toán

dự báo nhiễm malware.

- Đề xuất và triển khai mô hình dự báo dựa trên khai phá luật kết hợp

- Thực nghiệm trên tập dữ liệu gồm 55,000 thiết bị Android. Kết quả đã tìm ra

được tập các đặc trưng và tập luật có thể áp dụng trong việc dự báo.

Tuy nhiên, do hạn chế về mặt thời gian và kiến thức nên khóa luận vẫn tồn tại

mặt hạn chế như: đặc trưng của các thiết bị nhiễm malware mới chỉ xét theo hướng các

tập ứng dụng nào xuất hiện đủ lớn, còn các đặc trưng khác như thời lượng pin, hay hiệu

suất hoạt động thì chưa thể khai thác được; các đặc trưng chưa mang tính phổ biến cao

do độ đo f còn thấp.

Trong thời gian tới, tôi sẽ tiếp tục khai thác các khía cạnh khác để trích xuất ra

nhiều đặc trưng hơn nhằm tăng khả năng dự báo. Ngoài ra, tôi sẽ tìm các hướng tiếp

cận khác trong khai phá dữ liệu để tìm ra các tập luật có độ chính xác cao hơn.

Page 50: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

38

TÀI LIỆU THAM KHẢO

[1] Adam J. Oliner, Anand P. Iyer, Ion Stoica, Eemil Lagerspetz, and Sasu Tarkoma.

Carat: Collaborative energy diagnosis for mobile devices. SenSys 2013: 10.

[2] Rakesh Agrawal, Tomasz Imielinski, Arun N. Swami: Mining Association Rules

between Sets of Items in Large Databases. SIGMOD Conference 1993: 207-216

[3] Brian Krebs. Mobile Malcoders Pay to (Google) Play, March 2013.

http://krebsonsecurity.com/2013/03/mobile-malcoders-pay-to-google-play/.

[4] Charles Lever, Antonakakis, Manos, Reeves, Brad, Traynor, Patrick, and Lee,

Wenke. The core of the matter: Analyzing malicious trac in cellular carriers. In

Proceedings of the 2013 Network and Distributed Systems Security Conference

(NDSS 2013). Internet Society, 2013

[5] Rich Cannings ().Google. An update on android market security. Google Mobile Blog,

Mar 2011.

http://googlemobile.blogspot.com/2011/03/update-on-android-market-

security.html.

[6] Hien Thi Thu Truong, Eemil Lagerspetz, Petteri Nurmi, Adam J. Oliner, Sasu

Tarkoma, N. Asokan, Sourav Bhattacharya (2013): The Company You Keep:

Mobile Malware Infection Rates and Inexpensive Risk Indicators

[7] Liu, B., Hsu, W. Ma, Y.: Mining association rules with multiple minimum supports.

In: KDD 1999, New York, USA, pp. 337–341 (1999)

[8] Lookout Mobile. Lookout tours the current world of mobile threats. Lookout blog,

June 2013. https://blog.lookout.com/blog/2013/06/05/world-current-of-mobile-

threats/.

[9] Lookout Mobile. 2013 mobile threat predictions. Lookout blog, Dec 2012.

https://blog.lookout.com/blog/2012/12/13/2013-mobile-threat-predictions/

[10] Kari Kostiainen, Elena Reshetova, Jan-Erik Ekberg, and N. Asokan. Old, new,

borrowed, blue -: aperspective on the evolution of mobile platform security

Page 51: DỰ BÁO NHIỄM MALWARE TRÊN THIẾT BỊ DI ĐỘNG BẰNG KHAI …uet.vnu.edu.vn/~thuyhq/Student_Thesis/K55_Nguyen_Anh_Vu_Thesis.pdf · Tôi xin chân thành cảm ơn các thầy,

39

architectures. In First ACM Conference on Data and Application Security and

Privacy, pages 13-24. ACM, 2011.

[11] M. Chandramohan and Hee Beng Kuan Tan. Detection of mobile malware in the

wild. Computer, 45(9):65-71, 2012.

[12] Michael Spreitzenbarth, Florian Echtler, Thomas Schrek, Felix C. Freiling, and

Johannes Homan. MobileSandbox: looking deeper into android applications. In

Proceedings of the 28th International ACM Symposium on Applied Computing

(SAC), Coimbra, Portugal, 2013

[13] Nathaniel Husted and Steven Myers. Why mobile-to-mobile wireless malware

won't cause a storm. In Proceedings of the 4th USENIX conference on Large-

scale exploits and emergent threats (LEET'11), Boston, 2011. USENIX

Association

[14] NQMobile. Mobile malware up 163% in 2012, getting even smarter in 2013,

according to NQ mobile. PRNEwsWire, April 2013.

http://ir.nq.com/phoenix.zhtml?c=243152&p=irol-newsArticle&id=1806588

[15] Robert McGarvey. Threat of the week: Mobile malware, menace or myth?

CreditUnion Times, April 2013

[16] Yajin Zhou and Xuxian Jiang. Dissecting android malware: Characterization and

evolution. In 2012 IEEE Symposium on Security and Privacy (SP), pages 95{109,

2012.

[17] Webb, G. I. and S. Zhang (2005). k-Optimal-Rule-Discovery. Data Mining and

Knowledge Discovery 10

[18] Webb, G. I. (2000). Efficient Search for Association Rules. In R. Ramakrishnan

and S. Stolfo (Eds.), Proceedings of the Sixth ACM SIGKDD International

Conference on Knowledge Discovery and Data Mining (KDD-2000) Boston,