ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẶNG MINH TUẤN
PHÁT HIỆN BẰNG CHỨNG TRÊN THIẾT BỊ
ANDROID SỬ DỤNG CƠ SỞ DỮ LIỆU ĐỒ THỊ
LUẬN VĂN THẠC SĨ
Ngành Công Nghệ Thông Tin
Mã số: 60.48.02.01
TP HỒ CHÍ MINH – 2017
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẶNG MINH TUẤN
PHÁT HIỆN BẰNG CHỨNG TRÊN THIẾT BỊ
ANDROID SỬ DỤNG CƠ SỞ DỮ LIỆU ĐỒ THỊ
LUẬN VĂN THẠC SĨ
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
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
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
1
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
2
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
3
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
4
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 tra
máy tính (Computer Forensics). Sau đó, khái niệm này được mở rộng để bao quát
toà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 tra
trên thiết bị Android (Android Forensics) là việc trích xuất, phục hồi và phân tích
bằ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áp
chấ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, browsing
historys, 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ác
thiế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ũng
nghiê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ệu
trong 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 đây
chỉ 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
5
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. Ứng
dụ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ăng
chụ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 tin
nhắ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ực
tuyế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 ứng
dụ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ài
sả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
`
6
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ại
trong thiết bị mà có thể được khai thác cho hoạt động phạm tội hoặc đối tượng của
tộ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ối
lượ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ần
mề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ột
thờ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ình
huố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]
7
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ết
lậ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/10
thiế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ình
2). 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.
8
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ết
cho 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ất
nhiề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ật
chứ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:
CHUẨN BỊ ĐIỀU TRA
THU GIỮ, CÁCH LY
THU THẬP DỮ LIỆU
GIÁM ĐỊNH PHÂN TÍCH
BÁO CÁO KẾT QUẢ
Hình 1.1. Các giai đoạn trong quá trình điều tra [4]
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ụ cho
phé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ệu
tó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, đã
9
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 tra
trê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ởi
NowSecure (còn có tên khác là ViaForensics). Thu thập luận lý được sử dụng cho
phiê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ập
vậ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ành
Santoku 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
10
CHƯƠNG 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Hình 1.3. Màn hình phân tích, điều tra dữ liệu ViaExtract
1.2.2 Autopsy
Hình 1.4. Autopsy trích xuất dữ diệu
11
CHƯƠNG 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Hình 1.5. Các màn hình phân tích dữ liệu
Autopsy là một công cụ mà nguồn mở và miễn phí được xây dựng bởi Brian
Carrier. 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].
12
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ân
tí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. Oxygen
Forensic Suite trích xuất được nhiều hơn các công cụ điều tra điện thoại thông
thườ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:
13
CHƯƠNG 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Hình 1.6. Giới thiệu về phần mềm Oxygen Forensics Suite
1.2.3. Cellebrite
Cellebrite dẫn đầu công nghệ điều tra trên thiết bị điện thoại thông minh với
nhiều sản phẩm Universal Forensic Extraction Device (UFED), cung cấp nhiều nền
14
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àng
nghì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 quan
trọ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ày
cà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ày
cà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ên
phải vượt qua được lớp bảo vệ này. Tương tự, các cơ chế mã hóa đĩa đầy đủ được
thự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ã.
Hình 1.7. Khóa phần cứng của Iphone
• 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ều
hà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ị
15
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ính
nă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ột
phiê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 tra
thự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ông
thự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ác
tù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ào
nhà sản xuất, có các phương pháp điều tra khác nhau. Để cạnh tranh, các nhà sản
xuấ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 tin
thay đổ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àm
việ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ều
tra 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 đổi
cá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ông
nê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ế đối
vớ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 sang
trạ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ạng
internet 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ống
như đ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.
16
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ông
nghệ 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àn
toà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ạm
xuyên quốc gia nên những quy định xử lý hành vi vi phạm ở mỗi quốc gia cũng
khá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áp
luậ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ủa
cô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ân
là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ệu
lớ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à truy
tì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ợp
khố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ất
nhiề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ường
trì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ỗi
thiế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ất
nhiều thời gian, không thể hiện được lý do xuất hiện thông tin, không thể hiện được
diễ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
17
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ệu
bê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ìm
kiế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ác
giả 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ào
thông tin điều tra viên quan tâm sẽ trích ra một đồ thị con hoặc một đồ thị mà đối
tượ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 đối
tượ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ị.
1.5. Giới hạn đề tài
Đề tài tập trung nghiên cứu phân tích trên các điện thoại di động đơn lẻ,
không tìm hiểu những vấn đề có liên quan đến Cloud của thiết bị di động [16].
1.6. Phương pháp thực hiện
Có nhiều phương pháp khác nhau thực hiện điều tra trên thiết bị Android, tuy
nhiên trong phạm vi của đề tài tác giả thực hiện theo sơ đồ như nhau:
Hình 1.8. Quá trình thu thập và tổng hợp bằng chứng
18
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ắm
nhữ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ập
nhữ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ến
trúc Android dưới đây.
Hình 2.1. Kiến trúc hệ điều hành Android
Linux kernel
Nằm ở tầng dưới cùng là lớp Linux Kernal – Linux 3.6 với khoảng 115
patches. 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ết
như camera, bàn phím, màn hình…
Android Libraries
19
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ện
libc, 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.
Android Runtime
Trong tầng này còn có một phần không kém phần quan trọng là Android
runtime, bây giờ chúng ta sẽ tìm hiểu các thư viện C/C++ trong tầng này.
Android Runtime chứa Dalvik Virtual Machine (DVM) – một biến thể của
Java Virtual Machine, đặc biệt thiết kế và tối ưu hóa cho Android. DVM giúp mỗi
ứng dụng Android chạy trong chính tiến trình (process) của nó với một đại diện
(instance) của DVM.
Ngoài ra, Android Runtime cũng chứa tập hợp các thư viện quan trong cho
phé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ớp
viế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 ra
cá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) ứng
dụ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 ứng
dụ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:
20
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ười
dù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 trong
kiế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ác
cá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ình
thườ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 Android
nhằ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
21