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

Sử dụng phương pháp phân tích động phân tích Malware trên hệ điều hành Android

23 2 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

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

Bạch Thanh Tùng

SU DỤNG PHƯƠNG PHÁP PHAN TÍCH ĐỘNG PHAN TÍCH MALWARE TREN HỆ DIEU HANH ANDROID

Chuyén nganh: Khoa Hoc May TinhMã số: 60.48.01.01

TOM TAT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2015

Trang 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: TS Phạm Thanh Giang

Phản biện Ì: CC C0000 201201201121 HE nh nh na

Phản biện 2:_ Q02 002012 2n SH n ĐT ng ng nh nh xy

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ

Bưu chính Viễn thông

Vào lúc: gIỜ ngày tháng năm

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

I MO DAU 1 Tính cấp thiết của đề tài

Android đang là hệ điều hành thống trị thị trường với thị phần 78% trong Q1/2015 [5] Với đà phát triển như hiện nay, sẽ có tới 1 tỉ thiết bị hoạt động trên nền tảng Android

vào năm 2017 [6] Sự phổ biến của Android và bản chất mở của thị trường ứng dụng

(Google Play) dẫn đến sự gia tăng một cách tự nhiên của tội phạm Tác giả của các phần mềm độc hại này có thể tự do đưa ứng dụng lên Google Play và chờ đợi người dùng tải về và cài đặt chúng Ngoài ra nhiều chợ ứng dụng của bên thứ ba cũng làm cho việc cung cấp ứng dụng độc hại trở nên dễ dàng hơn.

Các nhà nghiên cứu phát hiện Malware trên Android đang tăng một cách báo động

trong những năm 2012 đến năm 2015 (Với tỉ lệ tương ứng trên thị trường chính thức và không chính thức so với các ứng dụng khác là 0,02% và 0.2%) [7] Để có thể kiểm soát khoảng 1000 ứng dụng Android mới mỗi ngày [7] Cần có một hình thức phân tích động dé nhanh chóng phát hiện và cô lập các phần mềm độc hại.

2 Tổng quan về vẫn đề nghiên cứu

Luận văn này tập trung vào nghiên cứu hệ thống android, các loại malware, hành vi của chúng cũng như tác hại của từng loại malware gây ra đối với người sử dụng thiết bị

chạy trên hệ điều hành Android Và phương pháp phân tích malware, mà ở đây chủ yếu là

sử dụng phương pháp phân tích động.

Các hướng nghiên cứu đã có của một số tác giả:

- Thang 10/2010, Blasing et al là người đầu tiên trình bày về một nền tảng phân

tích động cho ứng dụng Android có tên là AASandbox [8].

Van dé tồn tại : Tuy trình bày về nền tang phân tích động, nhưng thực tế thì nó

vẫn sử dụng phân tích tĩnh để quét phần mềm dựa vào các mẫu độc hại sẵn có và sau đó mới

sử dụng phân tích động Và do chỉ sử dụng trên nhân Linux nên khi sử dụng AASandbox

không thể lấy chỉ tiết về các thành phần thực thi Java.

- Thang 2/2012, Google công bố Bouncer [9] Với tuyên bố rằng mỗi ứng dụng được tải về từ Google Play Store đang chạy trên cơ sở hạ tầng điện toán đám mây của

Google được mô phỏng như đang chạy trên một thiết bị Android thật.

Vấn đề tồn tại : Kể từ khi ra mắt, Bouncer được Google cung cấp rất ít các thông tin về kiến trúc, cách hoạt động Và theo một nghiên cứu của Xuxian Jiang Chỉ có 193 trong tông

số 1260 mẫu Malware được phát hiện bằng cách này.

Trang 4

3 Kết cầu của đề tài

Bồ cục của luận văn gồm 3 chương với nội dung như sau:

e_ Chương 1: Van dé an ninh trên nền tảng android

e Chương 2: Phương pháp phân tích malware

e Chương 3: Ung dụng phân tích động phát hiện malware

Trang 5

CHUONG 1: VAN DE AN NINH TREN NEN TANG ANDROID

1.1 Kiến trúc hệ điều hành Android

Mô hình kiến trúc sau thé hiện các thành phần của hệ điều hành Android:

Contacts Phone Browser

APPLICATION FRAMEWORK

Activity Window Content View Notification

Manager Manager Providers System Manager

Package Telephony Resource Location XMPPManager Manager Manager Manager Service

LIBRARIES ANDROID RUNTIMESurface Media Core

Manager Framework Libraries

OpenGL|ES FreeType

LINUX KERNEL

= Aud dio Drivers Managementˆ

Hình 1.1: Mô hình kiến trúc nền tảng Android [10]

Trang 7

1.2.2 Intent

Intent được sử dụng với phương thức startActivity() để mở một Activity, và dùng

với broadcastIntent để gởi nó đến bất kì BroadcastReceiver liên quan nào, và dùng

với startService(Intent), bindService(Intent, ServiceConnection, int) dé giao tiép với

các Service chạy dưới nền.

Intent cung cấp một chức năng cho phép kết nối hai chương trình khác nhau trong

quá trình thực thi (runtime) (Cung cấp khả năng cho phép hai chương trình khác nhau giao tiếp với nhau) Chức năng quan trọng và được sử dụng nhiều nhất của một Intent là mở

một Activity, nơi mà nó có thêđược dùng như một vật kết nối các Activity lại với nhau

(Truyền thông tin giữa hai Activity khác nhau).

Là nơi lưu trữ và cung cấp cách truy cập dữ liệu do các ứng dụng tạo nên Đây là cách duy nhất mà các ứng dụng có thé chia sẻ dữ liệu của nhau.

1.2.5 View

View là thành phần cơ bản để xây dựng giao diện người dùng cho 1 ứng dung Android View là 1 lớp căn ban của widgets (widgets được dùng dé tạo các nút nhấn,

text fields, ).

Trang 8

1.2.6 Share Preferences

Android có nhiều cách dé lưu trữ dữ liệu Một cách đơn giản nhất là sử dung hệ thống preferences.

1.2.7 LogCats

LogCats là phương pháp được sử dụng trên các thiết bi dựa trên Android dé hién thi

các thông điệp hoặc các bản ghi tương tự như các câu lệnh System.out.printlnQ của Java.

1.3 Vấn đề mã độc trên Android

Malware là chữ viết tắt của Malicious Software, tạm dịch là phần mềm mã độc Hiện có khá nhiều loại malware, từ virus, sâu máy tính (worm), trojan cho đến phần mềm gián điệp (spyware), trình quảng cáo (adware) và nhiều thứ khác Trong hầu hết các trường hợp,

người ta tạo ra malware dé kiếm tiền bất hợp pháp Tùy vào loại malware lây nhiễm vào

thiết bi mà chúng ta có thé gặp một số van dé sau:

Máy chạy chậm hơn bình thường

Thông tin cá nhân bị đánh cắp

Bị mắt tiền từ tài khoản điện thoại

Tiếp tục lây nhiễm malware cho các máy khác

1.3.1 Các loại malware thường thấy trên Android

1.3.1.1 Phần mềm âm thầm trừ tiền vào tài khoản điện thoại

1.3.1.2 Ransomware

1.3.1.3 Lỗ hồng Web View

1.3.1.4 Điện thoại tắt nhưng thật ra không tắt

1.3.1.5 App nhìn có vẻ "vô hai" nhưng lại chứa mã độc

1.3.1.6 Tống tiền

1.3.1.7 Lỗ hồng Android Installer Hijacking

1.3.2 Bao mật trên Android

1.3.2.1 Các hộp cát, các tiễn trình và các quyền hạn

Trang 9

Android application/process space

App Sandbox: Linux user ID: 12345

App Sandbox: Linux user ID: 54321

Linux user ID: 12345 Resources

Linux user ID: 54321

Android application/process space (_ xpsanba Uneelo tAĐ

Application Application

Linux user ID: 12345 Linux user ID: 12345

Two applications signed using the same digital signature and assigned the

same Linux user-id

Hình 1.8: Hai ứng dung Android, chạy trên cùng một tiến trình [12]

Trang 10

1.3.2.2 Các trường hợp sử dung của nha phát triển

Android and security

- Phat hiện ra nếu các ứng dụng đã thay đổi.

- _ Xây dựng sự tin cậy giữa các ứng dụng.

Căn cứ vào mối quan hệ tin cậy này, các ứng dụng có thé chia sẻ mã và dit liệu theo

cách an toàn.

Việc ký mã trong Android được thực hiện theo một cách đơn giản hơn nhiều so với

các nền tảng di động khác Trong Android, chứng chỉ này có thể tự ký, có nghĩa là, không cần phải có người có thầm quyền chứng nhận Cách tiếp cận này làm đơn giản hóa quá trình

xuât bản và các chi phí liên quan.

Trang 11

1.4 Kết luận chương

Trong chương này giới thiệu tổng quan về hệ điều hành android, kiến trúc hệ điều

hành, các thành phần cơ bản của ứng dụng Android Ngoài ra còn giới thiệu về mã độc trên

Android, đưa ra định nghĩa, cách phân loại, lược sử cũng như tác hại của các loại mã độc.Và giới thiệu vê bảo mật trên Android, các hộp cát, tiên trình và quyên hạn.

Trang 12

CHƯƠNG 2: PHƯƠNG PHAP PHAN TÍCH MALWARE

Phân tích phân mêm độc hại là quá trình thực hiện các biện pháp nghiệp vụ dé thu thập, tìm hiểu nghiên cứu mọi thông tin về mã độc từ đó xác định đặc tính, hành vi của mã độc, cũng như ảnh hưởng và tác hại của nó để dua ra các biện pháp phòng chống và ngăn

Mục đích của phân tích mã độc là để cung cấp các thông tin đây đủ nhất về mã độc,

từ đó xây dựng biện pháp xử lý Cụ thé, phân tích phan mém độc hại dé xác định chính xác những gì đã xảy ra, chúng làm việc gì, gây ảnh hưởng thé nào đến hệ thong đến điện thoại

Các phương pháp phân tích phan mêm độc hại: có hai phương pháp cơ bản dé phân tích phan mém độc hai: phân tích tĩnh và phân tích động (static and dynamic analysis).

Phân tích tĩnh không liên quan đến việc thực thi mã hoặc chạy file apk (phân tích động),

hoặc kỹ thuật dịch ngược mã thông qua giải mã hoặc gỡ lỗi Phân tích tĩnh chủ yếu liên quan đến việc xác định và truy vấn giá trị băm mật mã, chẳng hạn như MD5, strings, và metadata dé thu thập thông tin liên quan đến các phan mém độc hại mà không cần chạy

nó Ngược lại phân tích động tìm hiểu phan mêm độc hai thông qua việc chạy nó.

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

2.1.1 Giới thiệu

Phân tích tĩnh là phương pháp phân tích linh hoạt nhất vì nó có thé được thực hiện từ vô số các hệ điều hành chứ không chỉ phụ thuộc vào hệ điều hành Android.

2.1.2 Các kỹ thuật phân tích tĩnh cơ bản

2.1.2.1 Sử dụng các công cụ Anti-virus quét chữ ký của phần mềm độc hại 2.1.2.2 Sử dụng hàm băm sinh chữ ký cho phần mềm được phân tích

2.1.2.3 Các kỹ thuật đóng gói và xáo trộn mã của phần mềm độc hai và các phương

pháp vượt qua nó

2.1.2.4 Phân tích một file APK

Giải nén một file APK

Giải nén một file APK là đơn giản trong bất kỳ hệ điều hành nào Bằng cách sử dụng các công cụ như Winzip, Unzip, và 7z Sau khi giải nén sẽ có rất nhiều thành phan dé

phân tích.

Các thành phần bên trong một file APK được giải nén

Thong tin chứng chi (Certificate)

Trang 13

Nếu ở phương pháp phân tích tĩnh tập trung thu thập tìm kiếm thông tin sau đó thông qua các hàm các thư viện liên kết phóng đoán chức năng của phần mềm độc hại, ngược lại phân tích động sẽ cho chúng ta cái nhìn rõ ràng và chuan xác hơn về chức năng của phan mềm độc hại thông qua việc thực thi chúng.

Các bước trong quá trình thực hiện phân tích động:

- _ Thiết lập môi trường ảo phân tích.

- Su dụng Sandbox.

- _ Thực thi phan mềm nghi ngờ độc hại.

- _ Giám sát tiễn trình của phần mềm nghi ngờ độc hai - _ Giám sát mạng khi chạy phần mềm nghi ngờ độc hai.

2.2.2 Các bước trong qua trình phan tích động

2.2.2.1 Thiết lập môi trường phân tích

Sử dụng thiết bị thật điểm bất lợi là sẽ không hề đơn giản khi muốn loại bỏ phần mềm độc hại đó khỏi thiết bị của ban Thông thường dé giảm thiểu nguy cơ, hầu hết khi thử nghiệm phần mềm độc hại trên các thiết bị sẽ được cài lại hệ điều hành khi đã hoàn thành

phân tích.

Sử dụng máy ảo Hiện nay có rất nhiều phần mềm hỗ trợ ảo hóa hệ điều hành ngay

trên máy tính của bạn như Android Emulator, BlueStacks, GenyMotion 2.2.2.2 Sử dụng Sandbox

Hiện tại có rất nhiều các phần mềm sandbox khác nhau như AndroTotal, Mobile Malware Sandbox, Mobile Sanbox, VirusThreat, và Dexter đa phần là các phần mềm miễn phí Norman SandBox và GFI Sandbox là 2 phần mềm phô biến nhất trong các Sandbox bảo

mật máy tính.

2.2.2.3 Thực thi phần mềm nghi ngờ độc hại

Thực thi phần mềm độc hại là một trong những bước quan trọng trong quá trình phân tích động Trong quá trình chạy file apk các hoạt động của hệ thống (đọc, ghi file), các hành

vi mang (đóng, mở kết nối), các hành vi mã hóa, gọi điện, gửi tin nhắn chúng ta đều phải

giành sự quan tâm rât lớn.

Trang 14

2.2.2.4 Giám sát tiễn trình của phần mềm nghi ngờ độc hại

Sau khi thực thị phần mềm nghi ngờ độc hai, các nhà phân tích cần giám sát tiễn trình hoạt động của nó Sẽ đọc, ghi file ở những thời điểm nào, đường dẫn file, và các tác

động lên file.

2.2.2.5 Giám sát mạng khi chạy phần mềm nghi ngờ độc hại

Với sự phát triển của internet ngày nay, việc giám sát mạng khi thực thi một phần mềm nghỉ ngờ độc hai là rất cần thiết Mục đích là theo dõi lưu lượng mạng bắt gói tin cũng

như hiện thi thông tin chi tiết các gói tin, dia chi nguồn, địa chỉ đích, giao thúc 2.3 So sánh các phương pháp phân tích phần mềm độc hại

Đối với mỗi phương pháp phân tích chúng đều có các ưu nhược điểm khác nhau Rõ

ràng các phương pháp đều có hỗ trợ bổ khuyết cho nhau, không thé dùng một phương pháp

duy nhất mà cần kết hợp tat cả lại dé từ đó thu được hiệu quả cao nhất.

Trang 16

2.4.1.1 Core Framework

z Event before emulator start

APK Initialization Start Emulation

Eventbefore simulation start Eventbefore app install

fe stom Cal] Static

Stop Emulation Fill Database

Event before emulator stop Event before database

Eventbefore report

2.4.1.2 Plugins

Dé biến ANANAS thành một công cụ phân tích hữu ich, Plugins cho các phương pháp phân tích khác nhau được phát triển Nó đại diện các cho kỹ thuật phân tích tĩnh và động Một số trong số đó đã được phát triển bởi nhóm phát trién ANANAS.

File System Diff

Phân tích mạng

Systemcall Logging / LKMAPKIL / APIMonitor

VirusTotal Query

2.4.2 Dữ liệu thu được sau quá trình phân tích

Cấu trúc file JSON DroidBox:

- _ accessedFiles — Danh sách các file ứng dụng nhận quyên truy cập

- apkName — Tên của file apk được phân tích

Trang 17

- closenet —Cac hoạt động đóng socket

- cryptousage —Các hoạt động liên quan đến cryptAPIAndroid - dataleaks —Tiét lộ các dữ liệu cá nhân của người dùng

- dexclass —Hoat động với các lớp DEX

- _ enfperm —Thém các quyền (không được phép) cho ứng dụng

- fdaccess — Hoạt động liên quan đến các file

- hashes —Ham băm MD5-, SHA-1 và SHA-256 của phân tích APK

- opennet —Cac hoạt động mở socket

- phonecalls —Goi điện

- recvnet —Nhận qua mạng

- recvaction —M6t danh sách các intents mà ứng dụng sẽ phản hồi - sendnet —cac hoạt động trao đôi với mạng

- sendsms — Gửi tin nhắn

- _ §ervicestart — Các hoạt động của dịch vụ

2.4.3 Đánh giá độ an toàn dựa trên dữ liệu thu được

Ta sẽ chia các section theo mức độ nguy hiểm va gan điểm cho từng section từ 1-5 Trong đó điểm số càng cao thì càng nguy hiểm tương ứng như bảng sau :

Bang 2.2: Diém sô của các section

Section Name Score

Trang 18

Trong đó :

- S là điểm số của phan mềm

- P là tập hợp các section được gọi trong phan mềm :

+Pi=0, nếu phần mềm không thực hiện section này +P¡= I, nếu phần mềm có thực hiện section này

- T; là điểm số của từng section tương ứng trong bang

Trang 19

2.5 Mô hình phân loại theo cây quyết định

Cây quyết định (decision tree) là một phương pháp rất mạnh và phô biến cho cả hai

nhiệm vụ của khai phá dữ liệu là phân loại và dự báo

Cây quyết định có thé được mô tả như là sự kết hợp của các kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước.

2.6 Kết luận chương

Trong toàn bộ chương đã nêu rõ cách phát hiện Malware băng phương pháp phân

tích động, Cách thức hoạt động của framework phân tích Malware, cách phân tích dữ liệu

JSON sau khi thực hiện phân tích phần mềm Và cách đánh giá phần mềm dựa vào điểm số.

Ngoài ra còn giới thiệu về cây quyết định, đây là giải pháp để đánh giá độ hiểu quả của

chương trình.

Trang 20

CHƯƠNG 3: UNG DUNG PHAN TÍCH ĐỘNG PHÁT HIỆN

3.1 Dữ liệu thử nghiệm

Tính xác thực của bất kỳ hệ thống phát hiện phần mềm độc hại phụ thuộc vào chất

lượng đữ liệu đang được sử dụng để kiểm tra hệ thống Luận văn sử dụng 200 ứng dụng từ

các nguồn khác nhau Ứng dụng lành tính được lấy từ thị trường Android chính thức và độc

hại được lấy từ một số nguồn khác Trong đó bao gồm 100 ứng dụng lành tính và 100 ứng

dung Malware.

Bang 3.1: Bộ dữ liệu thử nghiệm

Dữ liệu học tập Dữ liệu thử nghiệm Tổng SỐ

Một số chỉ số thông dụng được dùng dé đánh giá một giải thuật học máy :

- True Positive (TP): Số lượng các ứng dụng lành tính được xác định một cách chính

Trang 21

Trong phần này sẽ chỉ trình bày kết quả phân tích chỉ tiết của một ứng dụng (dựa vào

dữ liệu hình 2.4) các ứng dụng còn lại cũng thực hiện việc phân tích như vậy.

Sử dụng Malware: B2B7D5999DCE0559D13AB06D30C2C6EC(MDS) Princer.apk

dé phân tích

Bước 1: Lấy dữ liệu các hành động của file hệ thống Bước 2: Lấy dữ liệu các hành động về mạng

Bước 3: Lấy dữ liệu các hoạt động mã hóa

Bước 4: Sắp xếp các hành động của ứng dụng theo thời gian

Bước 5: Vẽ biểu đồ

Bước 6 : Tính điểm số của ứng dụng

Đánh giá: Sau khi thực hiện việc phân tích 100 mẫu (gồm 50 mẫu lành tính, 50 mẫu Malware) Dựa vào công thức tính điểm (2.1), ta thu được điểm số của từng ứng dụng Áp dụng phương phương cây quyết định, ta có kết luận:

- Các ứng dung có điểm số >13 là Malware

- Các ứng dụng có điểm số <=13 là lành tính

Ngày đăng: 03/04/2024, 01:58

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w