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

PHÁT HIỆN BẰNG CHỨNG TRÊN THIẾT bị ANDROID sử DỤNG cơ sở dữ LIỆU đồ THỊ

91 490 5

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 29,01 MB

Nội dung

Giới thiệu về điều tra trên thiết bị Android Điều tra số Digital Forensics là một nhánh của ngành khoa học điều tra đềcập đến việc phục hồi và điều tra các tài liệu tìm thấy trong các th

Trang 1

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

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

Trang 2

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

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

Ngành Công Nghệ Thông Tin

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS Nguyễn Anh Tuấn – Trường ĐH Công nghệ thông tin

TP HỒ CHÍ MINH – 2017

Trang 3

Lời Cảm Ơn

Đầu tiên cho phép tôi được gửi lời cảm ơn chân thành và sâu sắc nhất đến quý thầy cô giáo Trường Đại Học Công Nghệ Thông Tin – ĐHQG TP Hồ Chí Minh, đặc biệt là quý thầy cô Bộ môn Công Nghệ Thông Tin đã quan tâm, tận tình truyền đạt kiến thức trong suốt quá trình học tập, nghiên cứu tại trường

Tôi trân trọng biết ơn TS Nguyễn Anh Tuấn đã tận tình hướng dẫn, chỉ bảo, góp ý cho tôi trong suốt quá trình thực hiện đề tài luận văn để hôm nay có thể hoàn thành đề tài luận văn tốt nghiệp của mình Trong khoảng thời gian qua thầy là người định hướng và giúp đỡ tôi trong việc tháo gỡ những khó khăn trở ngại của đề tài, rồi những buổi gặp trao đổi những kiến thức nghiên cứu khoa học cũng như những buối trao đổi về kinh nghiệm cuộc sống sẽ là những kỉ niệm không bao giờ quên trong mỗi bước đi về phía trước của tôi

Con xin chân thành cảm ơn đến ba mẹ, gia đình; xin cảm ơn đến tất cả bạn

bè, người thân thiết, những người mà luôn bên cạnh động viên, chia sẻ vui buồn và khó khăn với tôi trong suốt thời gian qua

Mặc dù đã có nhiều cố gắng để thực hiện đề tài được hoàn chỉnh nhất, song

do mới buổi đầu làm quen với công việc nghiên cứu khoa học mang tính chuyên môn sâu, cũng như những hạn chế về kiến thức và kinh nghiệm nên không thể tránh khỏi những thiếu sót nhất định Rất mong sự đóng góp, phê bình chân thành của Quý Thầy Cô để đề tài được hoàn chỉnh hơn

Xin kính chúc mọi người được dồi dào sức khỏe và có nhiều niềm vui, hạnh phúc, thành công trong cuộc sống Chúc Trường Đại học Công Nghệ Thông Tin, ĐHQG TP Hồ Chí Minh ngày càng phát triển

Đặng Minh Tuấn

TP HCM, ngày 17 tháng 01 năm 2017

Trang 5

MỤC LỤC

MỤC LỤC

MỤC LỤC 1

DANH MỤC HÌNH VẼ 3

MỞ ĐẦU 5

1 Giới thiệu về điều tra trên thiết bị Android 5

2 Lý do chọn đề tài 5

3 Mục đích, đối tượng nghiên cứu 7

4 Nội dung và phạm vi nghiên cứu 8

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 9

1.1 Tình hình nghiên cứu 9

1.2 Các công cụ về điều tra trên thiết bị Android 9

1.2.1 ViaExtract: 10

1.2.2 Autopsy 11

1.2.3 Oxygen Forensic Suite 13

1.2.3 Cellebrite 14

1.3 Những thách thức của điều tra trên thiết bị điện thoại 15

1.4 Mục tiêu của đề tài 17

1.5 Giới hạn đề tài 18

1.6 Phương pháp thực hiện 18

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID 19

2.1 Kiến trúc và bảo mật Android 19

2.1.1 Kiến trúc Android 19

2.1.2 Những đặc trưng của bảo mật Android 21

2.2 Thiết lập môi trường điều tra trên thiết bị Android 23

2.2.1 Android Debug Bridge (ADB) 23

2.2.2 Rooting Android 25

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU 28

3.1 Dữ liệu lưu trữ trên Android 28

3.1.1 Android Partion và hệ thống tập tin 28

Trang 6

MỤC LỤC

3.1.2 Dữ liệu của các ứng dụng lưu trữ trên Android 29

3.2 Thu thập dữ liệu từ thiết bị Android 29

3.2.1 Các phương pháp thu thập 29

3.2.2 Trích xuất logical dữ liệu từ thiết bị Android 31

3.2.3 Trích xuất vật lý dữ liệu từ thiết bị Android 33

3.2.3 Trích xuất thủ công dữ liệu tùy chọn, cần thiết cho quá trình điều tra 34 3.2.3 Trích xuất dữ liệu sử dụng AFLogical OSE 36

CHƯƠNG 4 TƯƠNG QUAN DỮ LIỆU VÀ CƠ SỞ DỮ LIỆU ĐỒ THỊ 38

4.1 Khái niệm về bằng chứng số và quá trình truy tìm bằng chứng số 38

4.2 Mối quan hệ dữ liệu và sự tương quan dữ liệu trong điều tra số 39

4.3 Cơ sở dữ liệu đồ thị 40

4.3.1 Khái niệm về cơ sở dữ liệu đồ thị(Graph database) 41

4.3.2 Ưu điểm của Cơ sở dữ liệu đồ thị 42

CHƯƠNG 5 ĐỒ THỊ TỔNG HỢP VÀ ĐỒ THỊ BẰNG CHỨNG 44

5.1 Đồ thị tổng hợp sử dụng Neo4j 44

5.2 Đồ thị bằng chứng 49

5.2.1 Đồ thị bằng chứng theo mốc thời gian 49

5.2.2 Đồ thị bằng chứng theo từ khóa 50

5.2.3 Phát hiện đồ thị bằng chứng duyệt trên Neo4j 51

5.3 Thực nghiệm điều tra và tính hiệu quả của đề tài 51

CHƯƠNG 6 THỐNG KÊ FILESIZE VÀ FILETYPE 54

CHƯƠNG 7 KẾT LUẬN 57

CÔNG BỐ KHOA HỌC CỦA TÁC GIẢ 58

TÀI LIỆU THAM KHẢO 59

PHỤ LỤC CODE JAVA THỐNG KÊ FILESIZE, FILETYPE 61

Trang 7

DANH MỤC HÌNH VẼ

DANH MỤC HÌNH VẼ

Hình 0.1 Sự gia tăng của thiết bị điện thoại trên 100 người từ 1997-2014 6

Hình 0.2 Thị trường điện thoại thông minh toàn cầu quý 3, 2016 [9] 7

Hình 1.1 Các giai đoạn trong quá trình điều tra [4] 9

Hình 1.2 Màn hình sao lưu và trích xuất dữ liệu ViaExtract 10

Hình 1.3 Màn hình phân tích, điều tra dữ liệu ViaExtract 11

Hình 1.4 Autopsy trích xuất dữ diệu 11

Hình 1.5 Các màn hình phân tích dữ liệu 12

Hình 1.6 Giới thiệu về phần mềm Oxygen Forensics Suite 14

Hình 1.7 Khóa phần cứng của Iphone 15

Hình 1.8 Quá trình thu thập và tổng hợp bằng chứng 18

Hình 2.1 Kiến trúc hệ điều hành Android 19

Hình 2.2 Cấp quyền cho ứng dụng 21

Hình 2.3 Hai ứng dụng cấp 2 user và mỗi user chỉ được cấp quyền trên ứng dụng của nó 22

Hình 2.4 Chế độ USB debug 23

Hình 2.5 Xem được thư mục /data/data với quyền root 27

Hình 3.1 Phân vùng bộ nhớ trên Android 28

Hình 3.2 Dữ liệu của ứng dụng telephony trên Android 30

Hình 3.3 Backup Android 32

Hình 3.4 Tệp tin backup 33

Hình 3.5 Cơ sở dữ liệu mmssms.db 35

Hình 3.6 Tệp tin CSV của tin nhắn SMS 36

Hình 3.7 AFLogiacl OSE 36

Hình 3.8 Dữ liệu AFLogical OSE trích xuất 36

Hình 4.1 Bảng dữ liệu tin nhắn trên 3 thiết bị 40

Hình 4.2 Mô hình đồ thị 40

Hình 5.1 Bảng nhật ký cuộc gọi 44

Hình 5.2 Bảng SMS 44

Trang 8

DANH MỤC HÌNH VẼ

Hình 5.3 Tập hợp các nút là tập hợp các số điện thoại 45

Hình 5.4 Đồ thị nhật ký cuộc gọi, SMS trên Neo4j của Android0 46

Hình 5.5 Đồ thị nhật ký cuộc gọi và SMS trên Android0 và Androidx 48

Hình 5.6 Đồ thị SMS trên Android0 và Androidx 49

Hình 5.7 Đồ thị bằng chứng theo mốc thời gian 50

Hình 5.8 Đồ thị bằng chứng với từ khóa "Ok" 50

Hình 5.9 Phát hiện đồ thị duyệt trên Neo4j 51

Hình 5.10 Đồ thị tổng hợp 52

Hình 5.11 Thực nghiệm điều tra 53

Hình 6.1 Thống kê filesize, filetype trong một thư mục 54

Hình 6.2 Xuất dữ liệu thống kê ra tệp tin json bằng Java 55

Hình 6.3 Thống kê filetype dạng hình ảnh 55

Hình 6.4 Thống kê filesize dạng hình ảnh 56

Trang 9

MỞ ĐẦU

MỞ ĐẦU

1 Giới thiệu về điều tra trên thiết bị Android

Điều tra số (Digital Forensics) là một nhánh của ngành khoa học điều tra đềcập đến việc phục hồi và điều tra các tài liệu tìm thấy trong các thiết bị kỹ thuật số.Thuật ngữ điều tra số ban đầu được sử dụng tương đương với thuật ngữ điều tramáy tính (Computer Forensics) Sau đó, khái niệm này được mở rộng để bao quáttoàn bộ việc điều tra các thiết bị có khả năng lưu trữ dữ liệu số [1] [2]

Điều tra trên thiết bị di động (Mobile Forensics) là một nhánh của điều tra sốđang được nghiên cứu và phát triển trong thời đại kỹ thuật số ngày nay[3] Điều tratrên thiết bị Android (Android Forensics) là việc trích xuất, phục hồi và phân tíchbằng chứng số hoặc dữ liệu từ thiết bị Android trong điều kiện điều tra đúng đắn(Forensically sound) để duy trì tính toàn vẹn của bằng chứng, được tòa án, luật phápchấp nhận [4] Nói một cách đơn giản là truy xuất dữ liệu lưu trữ trên thiết bị nhưSMS, contacts, call logs, photos, videos, documents, applycation files, browsinghistorys, v.v… và cũng phục hồi dữ liệu bị xóa, phân tích các dữ liệu thu thập đểđưa ra bằng chứng chứng minh hoạt động, hành vi vi phạm pháp luật nào đó

Trong luận văn này, tác giả tập trung đi sâu nghiên cứu việc trích xuất vàphân tích sự tương quan dữ liệu giữa các cơ sở dữ liệu SMS, call logs trong cácthiết bị Android của các đối tượng được cho là có liên quan đến vụ việc nhằm tìm ra

đồ thị bằng chứng chứng minh hành vi vi phạm pháp luật Đồng thời tác giả cũngnghiên cứu thống kê khối lượng dữ liệu, số lượng dữ liệu của từng kiểu dữ liệutrong một tập hợp dữ liệu bằng chứng hoặc một thư mục bất kỳ

2 Lý do chọn đề tài

Bên cạnh sự phổ biến và gia tăng về số lượng người sở hữu thiết bị di động(Hình 1) [5] thì vì sao cần sự phát triển, nghiên cứu việc điều tra trên thiết bị diđộng, có nhiều lý do nhưng có 3 lý do nổi bật là:

 Sự phổ biến của sử dụng các thiết bị di động để lưu trữ thông tin cá nhân:Các ứng dụng di động đang được phát triển rất nhanh Các ứng dụng mà trước đâychỉ thực hiện trên máy tính như các ứng dụng văn phòng Word, Excel hoặc các ứng

Trang 10

MỞ ĐẦU

dụng lưu trữ cơ sở dữ liệu thì bây giờ được thực hiện trên các thiết bị di động Ứngdụng danh bạ, tin nhắn, cuộc gọi trên thiết bị thể hiện các mối quan hệ, chức năngchụp ảnh sẽ lưu nhiều thông tin hình ảnh cá nhân,… Hàng ngày một khối lượng tinnhắn SMS, cuộc gọi rất lớn được lưu trữ [6]

 Sự gia tăng sử dụng các thiết bị di động để thực hiện các hoạt động trựctuyến: Ngày nay mạng 3G, wifi phủ sóng khắp nơi với giá cước ngày càng hợp lý,tạo điều kiện cho các hoạt động trực tuyến được thực hiện thường xuyên như cácứng dụng mạng xã hội facebook, zalo,… lưu trữ một phần các mối quan hệ xã hội,các ứng dụng tài chính ngân hàng lưu trữ mật khẩu, thông tin các giao dịch,… [7]

 Việc sử dụng thiết bị di động trong quá trình thực hiện hành vi phạm tội.Ngày này xuất hiện nhiều loại tội phạm sử dụng điện thoại và lợi dụng các ứngdụng như mạng xã hội để thực hiện các hành vi phạm tội như lừa đảo chiếm đoạt tàisản, tống tiền,… hoặc thực hiện các hành vi phạm tội khác qua các ứng dụng

Hình 0.1 Sự gia tăng của thiết bị điện thoại trên 100 người từ 1997-2014

Trang 11

MỞ ĐẦU

3 Mục đích, đối tượng nghiên cứu

Với trên 7 tỷ thuê bao điện thoại di động trên thế giới, tức gần như mỗi ngườiđều sở hữu ít nhất một thiết bị di động thì một điều chắc chắn là sẽ có đối tượng sửdụng nó trong các hoạt động tội phạm Sự phát triển của điện thoại thông minh đãtạo ra sự gia tăng số lượng người sử dụng và sự đa dạng của các ứng dụng tồn tạitrong thiết bị mà có thể được khai thác cho hoạt động phạm tội hoặc đối tượng củatội phạm [8] Mục đích của đề tài là áp dụng sự hiểu biết về khoa học và công nghệphục vụ cho quá trình điều tra để truy tìm, rút trích, phân tích làm cho các dữ liệu từthiết bị di động trở thành bằng chứng có giá trị pháp lý trước tòa, giảm bớt khốilượng công việc cho các điều tra viên và cũng là một nhiệm vụ của tin học điều tra.Muốn vậy, phải vận dụng các chương trình, các công cụ điều tra, các kỹ thuật, phầnmềm, các ứng dụng đã có hoạt động trên máy tính để tìm ra bằng chứng trong mộtthời gian ngắn nhưng phải rõ ràng, dễ hiểu, đáng tin và có quan hệ với các tìnhhuống của vụ án

Điều tra trên thiết bị di động là lĩnh vực khá rộng Điều tra trên thiết bị diđộng cụ thể tùy thuộc vào hệ điều hành của thiết bị Chúng ta có điều tra trên thiết

bị Android, điều tra trên thiết bị iOS, điều tra trên thiết bị Blackberry, v.v…

Hình 0.2 Thị trường điện thoại thông minh toàn cầu quý 3, 2016 [9]

Trang 12

MỞ ĐẦU

Dù đã và vẫn đang là hệ điều hành phổ biến nhất hành tinh, Android vừa thiếtlập một kỷ lục mới, theo báo cáo từ Strategy Analytics, 87,5%, tức là gần như 9/10thiết bị di động có mặt trên toàn cầu, đang sử dụng hệ điều hành của Android (Hình2) Do đó tác giả chọn đối tượng nghiên cứu là điều tra trên các thiết bị Android[10]

4 Nội dung và phạm vi nghiên cứu

Luận văn tập trung nghiên cứu các vấn đề sau:

- Nghiên cứu về lĩnh vực điều tra trên thiết bị Android.

- Thiết lập môi trường điều tra trên thiết bị Android

- Các thức lưu trữ và phương pháp thu thập dữ liệu trên thiết bị Android

- Bằng chứng số và sự tương quan về dữ liệu trên thiết bị Android

- Cơ sở dữ liệu đồ thị

- Đồ thị tổng hợp và đồ thị bằng chứng

- Đồ thị tin nhắn và nhật ký cuộc gọi

- Thống kê kiểu dữ liệu và khối lượng dữ liệu

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

1.1 Tình hình nghiên cứu

Hiện nay, việc điều tra trên thiết bị Android ở Việt Nam được thực hiện thủcông Trong các vụ án, sau khi thu thập được vật chứng công nghệ số như thiết bịAndroid, các điều tra viên mở điện thoại lên và truy tìm những thông tin cần thiếtcho quá trình điều tra [3] Ngày nay, điện thoại thông minh có bộ nhớ rất lớn, có thểchứa một lượng thông tin rất lớn đến nổi việc truy tìm thủ công như vậy là mất rấtnhiều thời gian Một vấn đề khác là thực hiện thủ công như vậy, các điều tra viên cóthể tác động, làm thay đổi một phần thông tin trên thiết bị như vậy sẽ làm cho vậtchứng giảm bớt hoặc không còn giá trị trước pháp luật

Hiện nay trên thế giới, thông thường các điều tra viên về điều tra trên thiết bịđiện thoại thực hiện các giai đoạn điều tra như sau:

1.2 Các công cụ về điều tra trên thiết bị Android

Để điều tra trên thiết bị điện thoại, các điều tra viên cần các công cụ chophép họ kiểm tra nhanh các thông tin có trên thiết bị Do đó, phần này giới thiệutóm tắt và những đặc trưng của một số công cụ mã nguồn mở hoặc thương mại, đã

Hình 1.1 Các giai đoạn trong quá trình điều tra [4]

CHUẨN BỊ ĐIỀU TRA

Trang 14

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

được nghiên cứu, giúp các điều tra viên dễ dàng hơn trong các giai đoạn điều tratrên thiết bị Android Sau đây là một số công cụ thường được dùng:

1.2.1 ViaExtract:

ViaExtract là một cộng cụ trích xuất vật lý và luận lý được xây dựng bởiNowSecure (còn có tên khác là ViaForensics) Thu thập luận lý được sử dụng chophiên bản miễn phí và phiên bản thương mại được cộng thêm chức năng thu thậpvật lý Một phiên bản miễn phí của công cụ này được tích hợp vào hệ điều hànhSantoku Linux của NowSecure Santoku Linux là một hệ điều hành mã nguồn mởdành riêng cho điều tra, phân tích, bảo mật và đóng gói trên điện thoại di động [11]

Những đặc trưng của ViaExtract:

• Miễn phí nhưng phải đăng ký và kích hoạt kết nối internet

• Trích xuất dữ liệu thông qua một ứng dụng được cài đặt trên điện thoại

• Tạo bản sao lưu và trích xuất bản sao lưu

• Trích xuất được tệp tin hệ thống nếu thiết bị đã Rooted

• Rooting được thiết bị

• Không cần mở khóa màn hình

Dưới đây là một số màn hình được chụp lại:

Hình 1.2 Màn hình sao lưu và trích xuất dữ liệu ViaExtract

Trang 15

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

1.2.2 Autopsy

Hình 1.4 Autopsy trích xuất dữ diệu Hình 1.3 Màn hình phân tích, điều tra dữ liệu ViaExtract

Trang 16

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

Autopsy là một công cụ mà nguồn mở và miễn phí được xây dựng bởi BrianCarrier Ban đầu Autopsy được sử dụng như giao diện đồ họa cho bộ công cụSleuthKit nhưng từ phiên bản 3.0 là công cụ độc lập [12]

Hình 1.5 Các màn hình phân tích dữ liệu

Trang 17

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

Những đặc trưng của Autopys:

• Miễn phí và mã nguồn mở

• Không thực hiện trích xuất dữ liệu từ thiết bị Android mà lấy dữ liệu

đã được trích xuất bởi các công cụ khác

• Phân tích theo các mốc thời gian rất tốt

• Có thể phục hồi dữ liệu bị xóa từ các tệp tin hệ thống

1.2.3 Oxygen Forensic Suite

Oxygen Forensic Suite là một phần mềm điều tra điện thoại cho phép phântích sâu rộng các loại điện thoại, điện thoại thông minh, máy tính bảng OxygenForensic Suite trích xuất được nhiều hơn các công cụ điều tra điện thoại thôngthường đặc biệt là với điện thoại thông minh [13]

Những đặc trưng của Oxygen Forensic:

• Đưa ra thông tin về thiết bị

• Danh bạ

• Cuộc gọi đến, gọi đi và bị nhỡ

• Tổ chức dữ liệu (hội họp, các cuộc hẹn, các bản ghi nhớ, nhiệm vụ,ghi chú, v.v…)

• Tin nhắn SMS, MMS, iMessenges, Email với file đính kèm

• Hình ảnh, video, tiệp tin âm thanh và ghi lại giọng nói

• Tọa độ địa lý được lưu trữ trong các nguồn khác nhau

• Nhật ký kết nối WiFi

• Nhật ký thiết bị

• Mật khẩu của chủ thiết bị và WiFi hot spot

• Dữ liệu bị xóa (Danh bạ, tin nhắn, cuộc gọi, hình ảnh, v.v…)

• Dữ liêu của ứng dụng

• Dữ liệu thẻ SIM với đầu đọc thẻ SIM

• Dữ liệu lưu trữ đám mây như iCloud, Google, tài khoản Microsoft,mạng xã hội

Dưới đây là một số hình ảnh về Oxygen Forensic Suite:

Trang 18

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

Trang 19

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

tảng, giải pháp cho việc trích xuất, giải mã, phân tích và báo cáo dữ liệu từ hàngnghìn thiết bị điện thoại thông minh [14] [10]

Ngoài ra còn nhiều công cụ điều tra điện thoại khác cũng khá nổi tiếng như:Device Seizure, Access Data Mobile Phone Examiner Plus (MPE+), Final Mobile,XRY, Lantern, Secure View, CellDEK, MOBILedit

1.3 Những thách thức của điều tra trên thiết bị điện thoại

Điều tra trên điện thoại là một lĩnh vực sẽ còn phát triển tiếp tục và sau đây

là một số thách thức cần nghiên cứu tiếp trong tương lai [4]:

• Khả năng truy xuất các dữ liệu trong điện thoại là rất quan trọng, quyếtđịnh đến kết quả điều tra Nhưng các dữ liệu trong Boot Loader, RAM là không thểtruy xuất Tính riêng tư cần được bảo vệ là một nhu cầu và ngày càng trở nên quantrọng, các nhà sản xuất di động đang hướng tới thực hiện kiểm soát bảo mật ngàycàng tốt hơn trên các thiết bị, làm cho việc tiếp cận quyền truy xuất dữ liệu ngàycàng phức tạp hơn Nếu thiết bị được bảo vệ bởi mật mã, các nhà điều tra trước tiênphải vượt qua được lớp bảo vệ này Tương tự, các cơ chế mã hóa đĩa đầy đủ đượcthực hiện trên một số thiết bị mới ngăn chặn các cơ quan thực thi pháp luật và cácđiều tra viên phân tích, truy cập dữ liệu trên thiết bị Mặc định, Iphone của Apple

mã hóa tất cả các dữ liệu có trên thiết bị bằng khóa phần cứng có trong thiết bị vàrất khó để mở khóa, giải mã

• Mẫu mã và sự đa dạng của thiết bị: Sự đa dạng của các hệ điều hành diđộng trên thị trường làm cho việc điều tra khó khăn hơn Mặc dù Android là hệ điềuhành phổ biến nhất trong thế giới di động, vẫn có những hệ điều hành khác nhưiOS, Blackberry, Windows Ngoài ra đối với một hệ điều hành, có hàng triệu thiết bị

Hình 1.7 Khóa phần cứng của Iphone

Trang 20

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

di động mà có sự khác biệt trong các phiên bản hệ điều hành, phần cứng, và các tínhnăng khác nhau Phần lớn các nghiên cứu chỉ thực hiện trên một thiết bị ở mộtphiên bản hệ điều hành cụ thể Điều này có nghĩa là khi một phương pháp điều trathực hiện tốt trên phiên bản hệ điều hành của một thiết bị nhất định, nó có thể khôngthực hiện tốt trên các phiên bản hệ điều hành, hãng sản xuất thiết bị khác Ví dụ,trong hệ điều hành Android, có khoảng 10 phiên bản, và cho mỗi phiên bản, có cáctùy chỉnh khác nhau được thực hiện bởi các nhà sản xuất khác nhau Căn cứ vàonhà sản xuất, có các phương pháp điều tra khác nhau Để cạnh tranh, các nhà sảnxuất phát hành các model mới và cập nhật rất nhanh chóng, thật khó để theo dõi tất

cả Đôi khi trong các hệ điều hành các tùy chọn lưu trữ dữ liệu và cấu trúc tập tinthay đổi, làm cho việc điều tra càng khó hơn Không có công cụ duy nhất có thể làmviệc trên tất cả các loại của hệ điều hành di động Vì vậy, các công cụ và các điềutra viên phải thường xuyên cập nhật được các thay đổi và các kỹ thuật mới nhất

• Một trong những quy tắc cơ bản cần nhớ trong điều tra là không sửa đổicác chứng cứ Sự sửa đổi dữ liệu trong quá trình điều tra dù cố ý hay không cũngảnh hưởng đến việc chấp nhận giá trị pháp lý của bằng chứng Nói cách khác, các

kỹ thuật điều tra được áp dụng cho một thiết bị để trích xuất bất kỳ thông tin, khôngnên thay đổi các dữ liệu hiện tại trên thiết bị Nhưng điều này là không thực tế đốivới điều tra trên điện thoại di động vì chỉ đơn giản là chuyển đổi ON/OFF một thiết

bị cũng có thể thay đổi các trạng thái nào đó có mặt trên các thiết bị Với các thiết bị

di động, các tiến trình nền luôn luôn chạy và việc chuyển từ một trạng thái này sangtrạng thái khác có thể dẫn đến việc mất hoặc sửa đổi dữ liệu Do đó, dù ít hay nhiều

dữ liệu có thể được thay đổi hoặc là cố ý hoặc vô ý của các điều tra viên Thêm vào

đó, có một khả năng là kẻ tấn công từ xa có thể thay đổi hoặc xóa các nội dung cótrên thiết bị Như điện thoại Android có trình điều khiển từ xa sử dụng mạnginternet có thể xóa dữ liệu, khôi phục lại cài đặt gốc Khả năng này phải được loại

bỏ trong quá trình điều tra Các tính năng như dữ liệu xóa sạch từ xa sẽ cho phép kẻtấn công từ xa xóa sạch toàn bộ thiết bị chỉ bằng một tin nhắn SMS Không giốngnhư điều tra trên máy tính, điều tra trên thiết bị di động đòi hỏi nhiều hơn là chỉcách ly các thiết bị mạng

Trang 21

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

• Vấn đề pháp lý: Những quy định của pháp luật về tội phạm sử dụng côngnghệ thực hiện hành vi phạm tội ở Việt Nam và các quốc gia khác là không hoàntoàn giống nhau mà thiết bị điện thoại có thể là công cụ liên quan đến tội phạmxuyên quốc gia nên những quy định xử lý hành vi vi phạm ở mỗi quốc gia cũngkhác nhau Do đó, các điều tra viên phải nắm được bản chất của tội phạm và phápluật trong khu vực

Dữ liệu lớn và phân tán: Mỗi thiết bị điện thoại thông minh có khả năng

lưu trữ một khối lượng dữ liệu rất lớn và ngày càng gia tăng nhờ sự phát triển củacông nghệ lưu trữ Bên cạnh đó, sự gia tăng của số lượng thiết bị trên mỗi cá nhânlàm cho số lượng thiết bị thu thập trong một vụ việc điều tra cũng tăng lên [15] Sựgia tăng về số lượng thiết bị và khối lượng dữ liệu tạo ra một thách thức về dữ liệulớn và phân tán trong điều tra trên điện thoại Ví dụ: Một vụ việc có thể liên quanđến nhiều đối tượng và mỗi đối tượng có thể có một hoặc nhiều hơn các thiết bịtham gia vào hoạt động tội phạm làm cho khối lượng dữ liệu là rất lớn và phân tán ởnhiều thiết bị điện thoại

Đa số các công cụ điều tra điện thoại hiện nay tập trung phân tích và truytìm bằng chứng trên từng thiết bị nên chưa thể hiện được sự tương quan về dữ liệu,rút ra được tập hợp các mối quan hệ giữa các dữ liệu với nhau trong một tập hợp dữliệu lớn và phân tán Đây là một thách thức của điều tra trên thiết bị Android vàcũng là vấn đề tồn tại mà luận văn sẽ tập trung giải quyết

1.4 Mục tiêu của đề tài

Sau khi trích xuất dữ liệu từ các thiết bị, chúng ta thu thập được một tập hợpkhối lượng thông tin rất lớn và rời rạc Thông thường, trong tập hợp đó chứa rấtnhiều kiểu dữ liệu, loại thông tin khác nhau, các công cụ điều tra điện thoại thườngtrình bày dữ liệu ở dạng bảng của từng thiết bị theo từng loại khác nhau như SMS,CallLog, Image,… để các điều tra viên dễ tiếp cận với loại thông tin mong muốnđiều tra Tuy nhiên, nếu một vụ việc có nhiều đối tượng, khối lượng lưu trữ trên mỗithiết bị lớn thì việc các điều tra viên tìm kiếm thông tin dạng bảng như vậy là mấtnhiều thời gian, không thể hiện được lý do xuất hiện thông tin, không thể hiện đượcdiễn biến của thông tin và không biết thông tin nào là có liên quan đến vụ việc Hay

Trang 22

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

không thể hiện được mối quan hệ dữ liệu giữa chủ sở hữu thiết bị với các dữ liệubên trong thiết bị hoặc mối quan hệ giữa các dữ liệu trên các thiết bị khác nhau

Luận văn đi sâu khai phá dữ liệu, rút gọn dữ liệu, xử lý dữ liệu phân tán, tìmkiếm sự tương quan dữ liệu, kết nối các dữ liệu có thông tin giống nhau tạo ra một

sự liên kết tất cả các dữ liệu trong tập hợp dữ liệu được trích xuất lại với nhau Tácgiả sử dụng cơ sở dữ liệu đồ thị phù hợp với lưu trữ dữ liệu liên kết để thể hiện dữliệu một cách trực quang sinh động Từ tập cơ sở dữ liệu đồ thị này và tùy thuộc vàothông tin điều tra viên quan tâm sẽ trích ra một đồ thị con hoặc một đồ thị mà đốitượng quan tâm là trung tâm của đồ thị và các mối quan hệ khác liên kết đến đốitượng trung tâm này Các liên kết này phần nào thể hiện quá trình, diễn biến của vụviệc, nguồn gốc, mức độ thực hiện hành vi của đối tượng theo một chuỗi các sựkiện được minh họa một cách sinh động trên đồ thị

Trang 23

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

Trước khi nghiên cứu về điều tra trên Android chúng ta nghiên cứu để nắmnhững nguyên lý hoạt động và bảo mật của thiết bị Android trước nhằm chuẩn bịnhững kiến thức, kinh nghiệm cho quá trình điều tra Từ đó, chúng ta thiết lậpnhững nền tảng để thực hiện điều tra

2.1 Kiến trúc và bảo mật Android

2.1.1 Kiến trúc Android

Hệ điều hành Android là một ngăn xếp của các thành phần ứng dụng (stack

of software components), có thể chia thành 5 phần và 4 lớp như trong sơ đồ kiếntrúc Android dưới đây

Linux kernel

Nằm ở tầng dưới cùng là lớp Linux Kernal – Linux 3.6 với khoảng 115patches Lớp này liên hệ với phần cứng và nó chứa tất cả driver phần cứng cần thiếtnhư camera, bàn phím, màn hình…

Android Libraries

Hình 2.1 Kiến trúc hệ điều hành Android

Trang 24

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

Phía trên tầng Linux Kernel là tầng Libraries, chứa những thư viện hỗ trợ.Một số có thể kể đến như là bộ trình duyệt web mã nguồn mở WebKit, thư việnlibc, cơ sở dữ liệu SQLite tiện lợi cho việc lưu trữ và chia sẻ dữ liệu, thư viện hỗ trợthu phát âm thanh và video, thư viện SSL giúp bảo mật mạng,…

Tầng này chứa tất cả các thư viện Java, được viết đặc biệt cho Android nhưcác thư viện framework, các thư viện xây dựng giao diện, đồ họa và cơ sở dữ liệu

Ngoài ra, Android Runtime cũng chứa tập hợp các thư viện quan trong chophép người lập trình viết ứng dụng sử dụng ngôn ngữ lập trình Java

Application Framework

Application Framework cung cấp nhiều dịch vụ cấp cao dưới dạng các lớpviết bằng Java (Java classes) Lập trình viên được phép sử dụng các lớp này để tạo racác ứng dụng Android framework chứa các dịch vụ quan trọng như:

Activity Manager: Quản lý tất cả các phần của vòng đời (lifecycle) ứngdụng và các hoạt động ngăn xếp (activity stack)

Content Providers: Cho phép ứng dụng phát hành và chia sẻ dữ liệu với ứngdụng khác

Resource Manager: Cho phép truy cập tới những tài nguyên không phải là

mã nguồn như chuỗi, cài đặt màu, bố cục giao diện

Notifications Manager: Giúp ứng dụng hiển thị thông báo và nhắc nhởngười dùng

View System: Một tập hợp mở rộng giúp tạo giao diện người dùng

Applications

Ở tầng trên cùng là các ứng dụng Android Có 2 loại ứng dụng gồm:

Trang 25

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

Ứng dụng hệ thống: là các ứng dụng được cài đặt ở thư mục /system trước

khi điện thoại được bán đến tay người dùng Những ứng dụng này là mặc định nhưtrình duyệt, danh bạ, e-mail,… Những ứng dụng này không thể gỡ bỏ mà ngườidùng chỉ có thể đọc và thực hiện các chức năng của nó

•Ứng dụng người dùng cài đặt: là những ứng dụng thường được tải về từGoogle Play và cài đặt bởi người dùng ở thư mục /data

Những dữ liệu trong 2 thư mục /system và /data được bảo mật như thế nào sẽđược trình bày trong phần tiếp theo

2.1.2 Những đặc trưng của bảo mật Android

Android là một nền tảng có các đặc trưng bảo vệ được xây dựng bên trongkiến trúc của nó để đảm bảo sự an toàn cho người dùng, các ứng dụng và dữ liệu.Các đặc trưng bảo mật một mặt giúp bảo vệ dữ liệu mặt khác lại ngăn chặn luôn cáccác điều tra viên truy xuất dữ liệu cần thiết Do đó muốn điều tra trên thiết bịAndroid điều đâu tiên cần hiểu các tính năng bảo mật của Android để có thể biếtđược dữ liệu nào được phép hoặc không được phép truy xuất trong điều kiện bìnhthường Các đặc trưng bảo mật và các ứng dụng được tích hợp sẳn trên Androidnhằm đảm bảo 3 vấn đề: Để bảo vệ dữ liệu người dùng; để bảo vệ dữ liệu hệ thống;

để đảm bảo rằng một ứng dụng không thể truy xuất dữ liệu của một ứng dụng khác[4]

Hệ điều hành Android kế thừa công

nghệ bảo mật của Linux, một hệ điều hành

an toàn đáng tin cậy hiện nay, đồng thời xây

dựng nhiều đặc trưng bảo mật phù hợp với

môi trường di động Android kế thừa đặc

trưng bảo mật của Linux như quyền chủ sở

hữu

Phân quyền trên Android

Android phân quyền cho các ứng

dụng thông qua tệp tin manifest của ứng

dụng Khi một ứng dụng được cài đặt,

Hình 2.2 Cấp quyền cho ứng dụng

Trang 26

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

Android sẽ trình bày một danh sách lấy từ tệp mainfest cho người dùng xem vàquyết định có cài đặt ứng dụng đó không Người dùng hoặc chấp nhận tất cả cácquyền đó hoặc không cài đặt ứng dụng

Quyền của Android được phân loại ra 4 mức như sau [4]:

• Normal: Đây là quyền cơ bản, không yêu cầu người dùng xác thực trongquá trình cài đặt ứng dụng Quyền này không nguy hiểm đối với các ứng dụng khác,

• System: Là quyền chỉ được cấp cho ứng dụng trong nội bộ hệ thốngAndroid

Để cách ly các ứng dụng với nhau, Android kế thừa mô hình quyền chủ sởhữu của Linux Mỗi ứng dụng không thể đọc hoặc truy xuất dữ liệu của các ứngdụng khác và sẽ bị ngăn chặn bởi hệ thống

Hình 2.3 Hai ứng dụng cấp 2 user và mỗi user chỉ được cấp quyền trên ứng dụng của nó

Trang 27

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

2.2 Thiết lập môi trường điều tra trên thiết bị Android

Đây là giai đoạn thiết lập các phần mềm, ứng dụng nhằm tạo môi trường làmviệc tương tác với thiết Android và chuẩn bị mọi thứ cần thiết trước khi thực hiệnđiều tra trên Android

2.2.1 Android Debug Bridge (ADB)

ADB là một công cụ dòng lệnh mạnh mẽ cho phép giao tiếp với một thiết bị

ảo hoặc một thiết bị Android đã được kết nối Nó thực hiện các việc như cài đặt và

gỡ lổi ứng dụng, cung cấp một môi trường chế độ dòng lệnh Unix shell để thực thicác lệnh lên thiết bị Nó là một chương trình client-server gồm 3 thành phần: Client

có nhiệm vụ gửi lệnh; Daemon thực hiện lệnh trên thiết bị ở chế độ nền; Sever quản

lý giao tiếp giữa Client và Daemon

Cài đặt trình điều khiển kết nối thiết bị với máy tính ADB driver:

ADB driver được tích hợp sẳn trong bộ công cụ phát triển phần mềmAndroid - Android SDK Bộ công cụ này

giúp chúng ta kết nối tới thiết bị và truy

xuất dữ liệu trên thiết bị, cài đặt ứng dụng

trên thiết bị, tạo một thiết bị Android ảo

trên máy tính, nó cũng giúp lập trình viên

viết ứng dụng chạy trên Android

Do bộ công cụ SDK có dung lượng

rất lớn Nếu chúng ta chỉ kết nối, truy xuất

dữ liệu và cài đặt ứng dụng trên Android thì

có thể download ADB driver riêng lẻ

Bật chế độ USB debug trên thiết

bị Android:

Để trình điều khiển ADB kết nối

được với điện thoại chúng ta cần bật chế độ

USB debug trên điện thoại Trên một số

điện thoại Android, chúng ta vào Cài đặt | Hình 2.4 Chế độ USB debug

Trang 28

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

Cài đặt cho người phát triển và đánh dấu chọn Chế độ USB debug Thông thường,chế độ Cài đặt cho người phát triển bị ẩn đi, để hiển thị chúng ta nhấp vào Cài đặt |Thông tin thiết bị | Thông tin phần mềm và nhấp 7 lần vào Số hiệu phiên bản (BuildNumber)

Sử dụng ADB để trích xuất dữ liệu từ thiết bị Android

Sau khi kết nối thiết bị tới máy tính có cài trình điều khiển ADB bằng cabUSB, bật chế độ USB debug trên thiết bị Android Ta tiếp tục nghiên cứu làm thếnào trích xuất dữ liệu từ thiết bị sử dụng công cụ ADB mà những cách thông thườngkhông thực hiện được

- Kiểm tra thiết bị đã kết nối với máy tính chưa: adb devices Giá trị kết nối

có thể là: offline, device, no device.

dmtuantv@dmtuantv:~$ adb devices

List of devices attached

3100c6449494c2a7 device

dmtuantv@dmtuantv:~$

- Sử dụng lệnh adb shell: để chuyển từ chế độ dòng lệnh trên máy tính đến

chế độ dòng lệnh trên thiết bị Android, chúng ta có thể thực hiện nhiều lệnh với dữliệu trên thiết bị Android

dmtuantv@dmtuantv:~$ adb shell

shell@a3xelte:/ $

- Một số lệnh thường dùng trên thiết bị Android:

◦ ls liệt kê những tệp tin hoặc thưc mục hiện có trên thư mục hiện hành

◦ cd để di chuyển đến một thư mục khác

◦ cp [options] <source><destination> để chép dữ liệu

◦ chmod [option] mode files để thay đổi quyền truy xuất

◦ dd if=<source> of=<destination> để chép dữ liệu

◦ rm file_name để xóa dữ liệu

◦ mkdir [options] directories để tạo một thư mục

- Cài đặt một ứng dụng trên Android: adb install <app>

dmtuantv@dmtuantv:~$ adb install AFLogical-OSE_1.5.2.apk

Trang 29

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

203 KB/s (28794 bytes in 0.137s)

pkg: /data/local/tmp/AFLogical-OSE_1.5.2.apk

Success

dmtuantv@dmtuantv:~$

- Chép dữ liệu từ thiết bị Android đến máy tính: adb pull <remote><local>.

- Chép dữ liệu từ máy tính đển thiết bị Android: adb push<local><remote>

- Xem nhật ký hệ thống Android: adb logcat

2.2.2 Rooting Android

Rooting là một từ rất thường được nghe nói đối với các thiết bị Android Nó

là điều cần thiết để giúp chúng ta hiểu được bên trong của thiết bị Tùy thuộc vàotình hình và dữ liệu được trích xuất, điều tra viên có thể Rooting thiết bị để tríchxuất dữ liệu

Rooting là gì?

Giống như hệ điều hành Linux, Android được thiết kế ban đầu như một hệthống đa người dùng Do đó, cần thiết có một cơ chế để tách và bảo vệ các nguồntài nguyên của người dùng cá nhân, trong khi cho phép họ sử dụng hệ thống cùngmột lúc Tuy nhiên, để có đặc quyền này, chẳng hạn như cấp và thu hồi quyền hạnngười sử dụng thông thường, truy cập vào các tập tin hệ thống quan trọng để sửachữa hoặc nâng cấp hệ thống, nó cần có một tài khoản có quyền truy cập quản trị hệthống gọi là superuser hay còn gọi là root Vì vậy, chúng ta có hai loại tài khoản: tàikhoản người dùng bình thường có đặc quyền ít hơn, và một superuser có tất cả cácđặc quyền

Do đó, Root là tài khoản có quyền truy cập vào tất cả các lệnh và các tập tintrên Android Nó cũng được gọi là tài khoản root, người dùng root, và superuser Vìvậy, người dùng root có toàn quyền để chạy hoặc dừng lại bất kỳ dịch vụ hệ thống,chỉnh sửa hoặc xóa bất kỳ tập tin, thay đổi các đặc quyền của người sử dụng khác, Tuy nhiên, khi mua một điện thoại Android, bình thường, nó không cho phép đăngnhập như một người dùng root nhằm thực hiện việc bảo mật hệ thống và dữ liệungười dụng được tốt hơn

Tại sao phải Rooting thiết bị

Trang 30

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

Rooting nhằm mục tiêu vượt qua những hạn chế mà các hãng sản xuất phầncứng đặt ra trên các thiết bị Android Sau khi Rooting, chúng ta có thể gở các ứngdụng hệ thống và cài đặt các ứng dụng thay thế, hoặc gỡ bỏ các ứng dụng mặc định

đi cùng với điện thoại Tuy nhiên, trong lĩnh vực điều tra điện thoại, lý do chính choRooting là để đạt được quyền truy cập vào bên trong hệ thống mà thông thườngkhông thể truy cập

Trong hệ điều hành Android, mỗi ứng dụng được gán một ID người dùngduy nhất, và được chạy như một quá trình riêng biệt để một ứng dụng không truycập vào dữ liệu của ứng dụng khác ID ứng dụng được đặt thường theo thứ tự chúngđược cài đặt, bắt đầu từ 10001 Những ID được lưu trữ trong tập tin Packages.xmltrong /data/system Tập tin này còn lưu trữ quyền truy cập hệ thống Androidcủa mỗi ứng dụng như mô tả trong file manifest của nó

Các dữ liệu của mỗi ứng dụng được lưu trữ trong thư mục /data/data vàchỉ ứng dụng đó được truy cập Do đó, trong quá trình điều tra, dữ liệu trongdata/data có thể không được truy cập và rooting điện thoại Android sẽ cho phéptruy cập dữ liệu có trong bất thư mục nào Tuy nhiên, một số điều quan trọng cầnlưu ý những ảnh hưởng của việc rooting [10]:

• Nguy cơ bảo mật: Hãy tưởng tượng một ứng dụng độc hại có quyền truycập vào toàn bộ hệ điều hành và dữ liệu của tất cả các ứng dụng được cài đặt trênthiết bị

• Hiệu lực bảo hành của thiết bị: Tùy thuộc vào nhà sản xuất, rooting mộtthiết bị có thể làm mất hiệu lực bảo hành của nó

• Tính pháp lý của điều tra: Rooting thiết bị Android sẽ cho phép điều traviên truy cập một tập hợp dữ liệu lớn hơn, nhưng nó cũng làm thay đổi một số phầncủa thiết bị ảnh hưởng đến tính pháp lý của vật chứng Do đó, chỉ rooting thiết bịkhi thật sự cần thiết

Rooting Android

Có rất nhiều ứng dụng thực hiện rooting thiết bị: Kingo Root, SRSRoot,

Root Genius, iRoot, CF Auto Root, SuperSU Pro, Superuser, Superuser X[L],

TunesGo One-Click Android Root,…

Trang 31

CHƯƠNG 2 THIẾT LẬP MÔI TRƯỜNG ĐIỀU TRA ANDROID

ADB trên thiết bị đã Rooting

Chúng ta đã thấy các công cụ ADB có thể tương tác với các thiết bị và thựchiện lệnh nào đó trên thiết bị Tuy nhiên, trên một chiếc điện thoại Android bìnhthường, một vài thư mục chẳng hạn như /data/data là không thể truy xuất được

dmtuantv@dmtuantv:~$ adb shellshell@fortunave3g:/ $ cd /data/datashell@fortunave3g:/data/data $ lsopendir failed, Permission denied Điều này là bởi vì các dữ liệu cá nhân của tất cả các ứng dụng được lưu trữtrong thư mục này nên Android bảo vệ thư mục này Chỉ người dùng root có quyềntruy cập thư mục này Do đó, trên một thiết bị đã rooting, chúng ta có thể xem tất cảcác dữ liệu ở thư mục này:

Tóm tại, thiết lập một môi trường điều tra là rất quan trọng trước khi tiếnhành điều tra trên một thiết bị Android Việc cài đặt Android SDK là cần thiết để sửdụng các công cụ như ADB mà nó được tích hợp kèm theo Sử dụng ADB, điều traviên có thể giao tiếp với các thiết bị, xem các thư mục trên thiết bị, chép dữ liệu vềmáy tính và sao chép dữ liệu vào thiết bị Tuy nhiên, không phải tất cả các thư mục

có thể được truy cập trên điện thoại bình thường theo cách này Điều này là do sựbảo mật của thiết bị ngăn chặn xem các vùng có chứa dữ liệu cá nhân Rooting mộtthiết bị sẽ giải quyết vấn đề này, vì nó cung cấp quyền truy cập không giới hạn chotất cả các dữ liệu có trên thiết bị

Hình 2.5 Xem được thư mục /data/data với quyền root

Trang 32

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

3.1 Dữ liệu lưu trữ trên Android

Mục tiêu của điều tra là để trích xuất dữ liệu trên thiết bị Android Do đó, đểđiều tra hiệu quả, chúng ta cần hiểu những loại dữ liệu nào, được lưu trữ ở đâu, nhưthế nào trên Android để chúng ta có thể trích xuất được những dữ liệu mong muốn.Muốn vậy, chúng ta đi vào tìm hiểu các phần sau:

3.1.1 Android Partion và hệ thống tập tin

Android Partion: Đa số các phiên bản Android chia bộ nhớ điện thoại

theo các phân vùng sau: boot loader, boot, recovery, userdata, system, cache, radio Trong đó, phân vùng userdata là phân vùng dữ liệu và là bộ nhớ trong của thiết bịlưu trữ tất cả các dữ liệu của tất cả các ứng dụng, đây là nơi mà các điều tra viên sẽthu thập các bằng chứng Lệnh cat /proc/partitions và /dev/block/platform/ <***>/by-name thể hiện chi tiết những phân vùng này được lưu trữ như thế nào trên thiếtbị:

Hệ thống tập tin: Sử dụng lệnh adb shell ls để xem hệ thống tệp tinAndroid, sau đây là một hệ thống tệp tin: acct, cache, config, d, data, default.prop,dev, efs, etc, file_contexts, firmware, firmware-modem, fstab.qcom, init,

Hình 3.1 Phân vùng bộ nhớ trên Android

Trang 33

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

init.carrier.rc, init.class_main.sh, init.container.rc, init.environ.rc, init.mdm.sh,init.qcom.bms.sh, init.qcom.class_core.sh, init.qcom.early_boot.sh, init.qcom.factory.sh, init.qcom.rc, init.qcom.sh, init.qcom.syspart_fixup.sh, init.qcom.usb.rc, init.qcom.usb.sh, init.rc, init.target.rc, init.trace.rc, init.usb.rc, init.zygote32.rc, knox_data, mnt, persdata, persist, preload, proc, property_contexts, publiccert.pem, root,sbin, sdcard, seapp_contexts, sepolicy, sepolicy_version, service_contexts, storage,sys, system, tmp-mksh, tombstones, ueventd.qcom.rc, ueventd.rc, vendor,verity_key

3.1.2 Dữ liệu của các ứng dụng lưu trữ trên Android

Như đã đề cập ở các chương trước tất cả các dữ liệu trên thiết bị Androidđược lưu trữ ở các ứng dụng của nó Tùy theo ứng dụng mà có thể lưu trữ ở chế độ

riêng tư, bí mật (ở thư mục /data/data, người dùng thông thường không thể truy

xuất được trừ khi có quyền root) hoặc ở bộ nhớ ngoài (/Sdcard) Ví dụ, ứng dụngemail lưu trữ dữ liệu trong thư mục /data/data/com.android.email/, chỉ người dùngroot và ứng dụng email có quyền truy xuất dữ liệu của nó

3.2 Thu thập dữ liệu từ thiết bị Android

3.2.1 Các phương pháp thu thập

Có nhiều phương pháp khác nhau để khai thác dữ liệu từ thiết bị Android.Tùy thuộc vào hệ điều hành, nhà sản xuất và kiểu mẫu của thiết bị sẽ quyết địnhphương pháp Tuy nhiên, các phương pháp phải đảm bảo tính pháp lý của bằngchứng cũng như tính toàn vẹn của dữ liệu vật chứng, không làm thay đổi dữ liệu vậtchứng Điều đó, đòi hỏi các điều tra viên phải được đào tạo tốt về pháp luật và cókiến thức tốt về điều tra trên thiết bị di động

* Phương pháp thu thập luận lý (Logical): Hay còn được gọi là trích xuất

luận lý Phương pháp này trích xuất những tệp tin được lưu trữ trong một phân vùng

bộ nhớ (partition) và hoạt động nhờ vào các API như là ADB để chép dữ liệu củađiện thoại vào máy tính Công nghệ này trích xuất những bằng chứng sau: CallLogs, SMS, MMS, Browser history, Contact methods, Contacts extensions,Contacts groups, Contacts phones, Contacts setting, External image media

Trang 34

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

(metadata), External image thumbnail media (metadata), External media, audio, andmisc (metadata), External videos (meta data), MMSParts (includes full images sentvia MMS), Location details (GPS data), Internet activity, Organizations, List of allapplications installed, along with their version, Social networking apps data such asWhatsApp, Skype, Facebook,.…

* Phương pháp thu thập tệp tin hệ thống (File System): Đây là phương

pháp trích xuất những tệp tin hệ thống Phương pháp này đôi khi có thể phục hồiđược nội dung những tệp tin (lưu trữ trong tệp tin cơ sở dữ liệu SQLite) mà đã bịxóa bởi thiết bị

* Phương pháp thu thập vật lý (Physical): Phương pháp này tạo ra một

bản sao bit-by-bit của bộ nhớ Dữ liệu được trích xuất bằng phương pháp nàythường ở dạng mã máy (hệ thập lục phân), sau đó được phân tích thêm để có được

hệ thống tệp tin, dữ liệu mà con người có thể đọc được Vì tất cả hoạt động điều trađều thực hiện trên bản sao này nên phương pháp này không làm thay đổi dữ liệu vậtchứng [17]

Hình 3.2 Dữ liệu của ứng dụng telephony trên Android

Trang 35

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

* Phương pháp thu thập thủ công (Manual): Đây là phương pháp đơn

giản nhất Điều tra viên sử dụng giao diện của điện thoại để truy tìm bằng chứng.Không có công cụ hoặc công nghệ đặc biệt nào được sử dụng ở đây, nhưng hạn chếcủa phương pháp này là chỉ xem được những tệp tin hoặc dữ liệu được hiển thị quagiao diện người dùng, nghĩa là chỉ xem được một phần của dữ liệu

3.2.2 Trích xuất logical dữ liệu từ thiết bị Android

Phương pháp này chỉ chép dữ liệu từ thư mục trên bộ nhớ điện thoại vào thư

mục trên bộ nhớ máy tính và chỉ chép được những gì có thể truy xuất và thấy được.Nếu có tệp tin bị ẩn hoặc đã xóa trong thư mục thì việc chép thư mục này khôngbao gồm những tệp tin ẩn hoặc đã xóa Do đó, không thể phục hồi dữ liệu đã bị xóabởi thiết bị [18]

Trích xuất bản sao lưu điện thoại sử ADB

Từ phiên bản 4.0, Android có chức năng tạo bản sao dữ liệu bao gồm dữ liệu

của một số ứng dụng có trên thiết bị và dữ liệu trên bộ nhớ ngoài của thiết bịAndroid Android cũng cho phép người dùng sử dụng công cụ ADB để trích xuấtbản sao này Tuy nhiên, bản sao này không bao gồm tất cả những ứng dụng trênthiết bị, khi phát triển một ứng dụng mới, nó là mặc định cho phép backup, nhưngngười phát triển ứng dụng có thể thay đổi thành không cho phép mà đa số các ứngdụng phổ biến hiện nay không cho phép backup

Trích xuất một bản sao backup như sau: adb backup [-f <file>] [-apk|-noapk][-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem]

Trang 36

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

[-shared|-noshared] : Chọn backup dữ liệu từ bộ nhớ ngoài hoặckhông Mặc định là không -noshared

[-all] : bao gồm tất cả các ứng dụng cho phép backup

[-system|-nosystem] : Chọn luôn các ứng dụng hệ thống cho phépbackup hoặc không Mặc định là có -system

Ví du: Tạo bản sao tất cả những ứng dụng cho phép và bộ nhớ ngoài:

dmtuantv@dmtuantv:~$ adb backup -f /home/dmtuantv/Desktop/backup.ab -shared -all

Phân tích bảo sao

Để xem được dữ liệu trong bản san, chúng ta phải giải né nó từ đuôi ab sangđuôi tar, có nhiều công cụ làm được việc này, một công cụ là Android BackupExtractor có thể tải về tại địa chỉ http://sourceforge.net/projects/adbextractor/ Côngviệc giải nén bằng Android Backup Extractor rất đơn giản như sau:

java -jar abe.jar unpack backup.ab backup.tarSau khi giải nén, chúng ta có tệp bakup.tar như hình 22

Hình 3.3 Backup Android

Trang 37

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

Đến đây, chúng ta đã có dữ liệu phục vụ cho quá trình điều tra Tuy nhiên dữliệu được sao lưu bằng cách này không đầy đủ và thường thiếu những dữ liệu nhạycảm, cần thiết Vì đa số những dữ liệu này các nhà phát triển ứng dụng không chobackup Ngoài ra còn nhiều nội dung trích xuất logical khác nhưng trong nội dung

đề tài luận văn chỉnh trình bày phần trích xuất luận lý của dữ liệu các ứng dụng và

bộ nhớ ngoài

3.2.3 Trích xuất vật lý dữ liệu từ thiết bị Android

Không giống như trích xuất luận lý, trích xuất vật lý chép tất cả các dữ liệu

trên thiết bị Android, bao gồm cả dữ liệu ẩn và bị xóa, bằng cách tạo một file ảnhbit-by-bit từ thiết bị, bộ nhớ trên thiết bị thế nào thì bộ nhớ của dữ liệu thu thậpđược cũng giống như vậy [18]

Trích xuất dữ liệu vật lý với lệnh dd

Hình 3.4 Tệp tin backup

Trang 38

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

dd là một công cụ dòng lệnh thực việc chép dữ liệu bit-by-bit và được sửdụng như sau: dd if=<đường dẫn, tên tệp tin nguồn> of=<đườngdẫn, tệp tin sẽ tạo>

Như đã đề cập về phân vùng bộ nhớ trên thiết bị Android (hình 1) Chúng ta

sẽ chép dữ liệu người dùng (userdata) như sau:

mở và miễn phí là Autopsy như đã được đề cập ở chương 1

3.2.3 Trích xuất thủ công dữ liệu tùy chọn, cần thiết cho quá trình điều tra

Dữ liệu trên bộ nhớ thiết bị Android là khá lớn, do đó, khi cần chúng ta cóthể trích xuất những dữ liệu cần thiết mà các điều tra viên quan tâm để làm giảm bớtthời gian và dữ liệu trích xuất, chúng ta có thể trích xuất các dữ liệu đặc trưng quantrọng nhứ SMS, Call Logs, Email, Web Browser,… Đây là những dữ liệu quantrọng, do đó, thường các ứng dụng không cho phép trích xuất luận lý qua bản saolưu mà chúng ta có thể trích xuất vật lý bằng công cụ dd như đã đề cập ở trên Sauđây chúng ta sẽ trích xuất cơ sở dữ liệu SMS trên thiết bị Android

Cơ sở dữ liệu SMS

SMS và MMS được lưu trữ trong cùng một cơ sở dữ liệu mmssms.db Ngoài

ra, các ứng dụng Zalo, Facebook Messenger, Google Hangouts,… lưu trữ tin nhắntrên cơ sở dữ liệu của chính nó

Tên gói ứng dụng lưu trữ tin nhắn: com.android.providers.telephony

Trang 39

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

Sau đây là lệnh dd trích xuất cơ sở dữ liệu mmssms.db ra bộ nhớ ngoài:

dd if=/data/data/com.android.providers.telephony/databases/mmsms.db of=/mnt/extSdCard/Data/mmssms.db

dd if=/data/data/com.android.providers.telephony/databases/mmssms.db-wal of=/mnt/extSdCard/Data/mmssms.db-wal

dd if=/data/data/com.android.providers.telephony/databases/mmssms.db-shm of=/mnt/extSdCard/Data/mmssms.db-shm

Cơ sở dữ liệu SQLite

SQLite là cơ sở dữ liệu được sử dụng nhiều nhất cho các nền tảng thiết bị di

động do đặc tính của nó là nhỏ, nhanh và đáng tin cậy phù hợp với đặc trưng củađiện thoại di động là có tài nguyên hạn chế Android sử dụng cơ sở dữ liệu SQLite

Hình 3.5 Cơ sở dữ liệu mmssms.db

Trang 40

CHƯƠNG 3 DỮ LIỆU ANDROID VÀ THU THẬP DỮ LIỆU

trong các ứng dụng của mình và mmssms.db vừa trích xuất ở trên cũng như cơ sở

dữ liệu từ các ứng dụng khác của Android là cơ sở dữ liệu SQLite [19]

3.2.3 Trích xuất dữ liệu sử dụng AFLogical

OSE

AFLogical OSE là một ứng dụng mã nguồn mở

thu thập dữ liệu luận lý trên điện thoại Android, có

chức năng trích xuất dữ liệu CallLog Calls, Contacts

Ngày đăng: 23/12/2018, 06:12

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w