Cấu trúc phân cấp file

Một phần của tài liệu Quy trình điều tra số, bằng chứng số, ứng dụng trong điều tra tội phạm máy tính (Trang 85)

Để thực hiện công việc điều tra số trên các hệ thống (máy tính để bàn hoặc di động), điều quan trọng là người phân tích phải hiểu hệ thống phân cấp tập tin nằm bên dưới cách tổ chức dữ liệu Android trong các tập tin và thư mục giúp các chuyên giá điều tra tra số thu hẹp nghiên cứu của họ về các vấn đề cụ thể. Cũng giống như bất kỳ hệ điều hành khác, Android sử dụng nhiều phân vùng được lưu trữ trong đó.

Hệ thống phân cấp tập tin trên Android là một cây duy nhất với các đỉnh của cây được biểu hiện dưới ký tự “/” (gọi là "root"). Điều này khác với khái niệm về tổ chức các file trong ổ đĩa (như với Windows). Cho dù hệ thống tập tin là cục bộ, hoặc từ xa, nó sẽ hiện diện dưới gốc. Các hệ thống phân cấp tập tin Android là một phiên bản tùy biến của hệ thống phân cấp Linux hiện nay. Dựa trên phiên bản Linux cơ bản, cấu trúc của hệ thống phân cấp này có thể có một vài thay đổi không đáng kể. Sau đây là danh sách các thư mục quan trọng là chung cho hầu hết các thiết bị Android. Một số thư mục được liệt kê chỉ hiển thị thông qua truy cập root.

/boot: Như tên cho thấy, phân vùng này có các thông tin và các tập tin cần thiết cho

điện thoại để khởi động. Nó chứa các Kernel và bộ nhớ RAM, và vì vậy mà không có phân vùng này điện thoại không thể bắt đầu quá trình của nó. Dữ liệu nằm trong trong bộ nhớ RAM có giá trị, nên được chụp lại trong quá trình điều tra số.

72

/system: Phân vùng này chứa các tập tin hệ thống khác liên quan khác. Thư mục này

không bao giờ được xóa vì như vậy sẽ làm cho thiết bị không thể khởi động. Nội dung của phân vùng này có thể được xem bằng cách sử dụng lệnh sau:

/recovery: Thư mục được thiết kế cho mục đích sao lưu và cho phép các thiết bị để

khởi động vào chế độ phục hồi. Trong chế độ phục hồi, chúng ta có thể tìm thấy các công cụ để sửa chữa cài đặt điện thoại của bạn.

/data: Đây là phân vùng chứa dữ liệu của mỗi ứng dụng. Hầu hết các dữ liệu thuộc

về người sử dụng, chẳng hạn như danh bạ, tin nhắn SMS, và số đã gọi, được lưu trữ trong thư mục này. Thư mục này có tầm quan trọng đáng kể từ một điểm pháp lý về xem vì nó sẽ chứa dữ liệu có giá trị. Các nội dung của các thư mục dữ liệu có thể được xem bằng cách sử dụng lệnh sau:

73

/cache: Đây là thư mục dùng để lưu trữ dữ liệu thường xuyên truy cập và một số các

bản ghi để thu hồi nhanh hơn. Các phân vùng bộ nhớ cache cũng rất quan trọng để điều tra số như các dữ liệu cư trú ở đây có thể không còn có mặt trong phân vùng / data

/misc: Như tên cho thấy, thư mục này có chứa thông tin về các thiết lập linh tinh.

Các thiết lập này chủ yếu là xác định trạng thái của thiết bị, đó là On / Off. Thông tin về cài đặt phần cứng, cài đặt USB, và như vậy, có thể được truy cập từ thư mục này. 3.1.4 Hệ thống tập tin

Hệ thống tập tin là một phần quan trọng trong phương pháp luận điều tra. Kiến thức về tính chất và cấu trúc của một hệ thống tập tin được chứng minh là hữu ích trong phân tích điều tra. Hệ thống tập tin đề cập đến cách dữ liệu được lưu trữ, tổ chức. Một cài đặt cơ bản có thể được dựa trên một volume chia thành nhiều partition; ở đây mỗi phân vùng có thể được quản lý bởi một hệ thống tập tin khác nhau. Đáng chú ý là trong Linux, Android sử dụng điểm gắn kết không sử dụng ổ (như C: hoặc E :). Mỗi hệ thống tập tin định nghĩa quy tắc riêng của mình để quản lý các tập tin trên ổ đĩa. Tùy thuộc vào những quy tắc, mỗi hệ thống tập tin cung cấp một tốc độ khác nhau để thu hồi tập tin, bảo mật, kích thước. Linux sử dụng một số hệ thống tập tin, Android cũng như vậy. Từ cách nhìn của điều tra số, điều quan trọng là phải hiểu những gì hệ thống tập tin được sử dụng bởi

74

Android và xác định các hệ thống tập tin đó có ý nghĩa cho việc điều tra. Ví dụ, hệ thống tập tin lưu trữ dữ liệu của người dùng là quan tâm hàng đầu đối với chúng ta.

3.1.4.1 H thng tp tin trên thiết b Android

Các hệ thống tập tin được hỗ trợ bởi Kernel Android có thể được xác định bằng cách kiểm tra các nội dung của hệ thống tập tin tập tin trong thư mục /proc. Các nội dung của tập tin này có thể được xem bằng cách sử dụng lệnh sau:

Cột đầu tiên cho chúng ta biết các hệ thống tập tin được gắn trên thiết bị. Nhữn thông tin nodev không được gắn trên thiết bị. Cột thứ hai liệt kê tất cả các hệ thống tập tin có trên thiết bị. Sử dụng lệnh hiển thị các các phân vùng khác nhau có sẵn trên thiết bị như sau:

75

Các phần tiếp theo cung cấp một tổng quan về các hệ thống tập tin quan trọng. Các hệ thống tập tin gốc (rootfs) là một trong những thành phần chính của Android và chứa tất cả các thông tin cần thiết để khởi động thiết bị. Khi các thiết bị bắt đầu quá trình khởi động, nó cần truy cập vào nhiều tập tin cốt lõi và gắn kết hệ thống tập tin gốc. Như đã trình bày ở đầu ra gắn kết dòng lệnh trước đó, hệ thống tập tin này được đặt tại / (thư mục gốc). Do đó, đây là hệ thống tập tin mà trên đó tất cả các hệ thống tập tin khác đang dần gắn kết. Nếu hệ thống tập tin này hỏng, các thiết bị không thể khởi động. Các hệ thống tập tin sysfs gắn kết các thư mục /sys, chứa các thông tin về cấu hình của thiết bị. Các output sau đây cho thấy các thư mục khác trong thư mục /sys trong một thiết bị Android:

76

Các xuất hiện dữ liệu trong các thư mục này chủ yếu liên quan đến cấu hình, điều này thường không có ý nghĩa nhiều trong điều tra số. Nhưng có thể một số trường hợp chúng ta có thể muốn kiểm tra xem một thiết lập cụ thể đã được kích hoạt trên điện thoại, và phân tích các thư mục này có thể hữu ích trong điều kiện như vậy. Lưu ý rằng mỗi thư mục bao gồm một số lượng lớn các tập tin. Thu thập dữ liệu này thông quá trình phân tính điều tra số là phương pháp tốt nhất để đảm bảo dữ liệu này là không thay đổi trong quá trình kiểm tra.

Các hệ thống tập tin devpts trình bày một giao diện tới phiên cuối trên một thiết bị Android. Nó được đặt tại /dev/pts. Bất cứ khi nào một thiết bị kết nối được thiết lập, ví dụ, khi một adb shell được kết nối với một thiết bị Android, một node được tạo ra theo dưới /dev/pts. Dưới đây là output khi sử dụng adb shell kết nối đến thiết bị:

Các hệ thống tập tin cgroup là viết tắt của nhóm kiểm soát. Các thiết bị Android sử dụng hệ thống tập tin này để theo dõi công việc của họ . Họ có trách nhiệm tập hợp các nhiệm vụ và theo dõi họ . Những thông tin này thường không phải là rất hữu ích trong phân tích điều tra.

Các hệ thống tập tin /proc chứa thông tin về cấu trúc dữ liệu kernel, tiến trình, và hệ thống thông tin khác liên quan đến dưới thư mục /proc. Ví dụ , thư mục /sys chứa các tập tin liên quan đến thông số kernel. Tương tự như vậy, /proc / filesystems hiển thị

77

danh sách các hệ thống tập tin có sẵn trên thiết bị. Các lệnh sau đây cho thấy tất cả các thông tin về CPU của thiết bị: (adsbygoogle = window.adsbygoogle || []).push({});

Tương tự như vậy, có nhiều tập tin hữu ích khác mà cung cấp thông tin có giá trị khi bạn đi qua thông qua.

Các hệ thống tập tin tmpfs là một cơ sở lưu trữ tạm thời trên các thiết bị lưu trữ các tập tin trong bộ nhớ RAM (bộ nhớ dễ bay hơi) . Ưu điểm chính của việc sử dụng bộ nhớ RAM là truy cập nhanh hơn và phục hồi. Nhưng khi các thiết bị được khởi động lại hoặc tắt, dữ liệu này sẽ không thể truy cập được nữa . Do đó điều quan trọng đối với một nhà điều tra số để kiểm tra dữ liệu trong bộ nhớ RAM trước khi khởi động lại thiết bị hoặc trích xuất các dữ liệu thông qua các phương pháp xử lý kiểm soát bộ nhớ RAM.

3.1.4.2 Phân vùng và h thng tp tin

Hầu hết, người dùng sử dụng điện thoại với mục đích, nghe gọi, nhắn tin, sử dụng để truy cập internet. Tuy nhiên trong phân tích, điều tra, các điều tra viên cần phải biết rõ cấu trúc bên trong của một thiết bị nhằm giúp quá trình tìm kiếm dữ liệu lưu trữ trên thiết bị nhanh hơn và biết nên tập trung thu thập và phân tích những dữ liệu gì. Trên các thiết bị Android khác nhau sẽ có các hệ thống tập tin khác nhau. Để một cuộc phân tích và điều tra có kết quả tốt, điều tra viên cần phải biết các tính năng của hệ thống được sử

78

dụng trên thiết bị, để xử lý nó một cách phù hợp. Một số định dạng hệ thống tập tin phổ biến như EXT, hệ thống tập tin FAT32, YAFFS2, exFAT, JFFS2.

YAFFS2 (Yet Another Flash File System version 2)

Là hệ thống tập tin được sử dụng cho các phiên bản nhân 2.6.32 và không hỗ trợ các phiên bản sử dụng nhân mới. YAFFS2 được xây dựng riêng cho các thiết bị flash NAND (là một loại bộ nhớ sử dụng công nghệ lưu trữ non-volatile) và nó đáp ứng một số yêu cầu khắt khe của môi trường này:

 Đảm bảo không mất dữ liệu kể cả khi mất điện đột xuất  Khả năng xử lý các khối xấu (bad blocks)

EXT (Extended File System)

Các hệ thống tập tin mở rộng EXT là hệ thống tập tin được phát triển đặc biệt dành cho hệ điều hành Linux. Phiên bản gốc là EXT được phát triển vào năm 1992 và sau đó có 3 phiên bản bổ sung: EXT2, EXT3 và EXT4. Thiết bị đầu tiên sử dụng EXT4 là Google Nexus S và nó được kỳ vọng cho các máy tính bảng chạy hệ điều hành Android. Hiện nay, một số thiết bị sử dụng EXT4 được liên kết tới các thư mục sau:

 System (chỉ có quyền đọc, /system)

 Dữ liệu người dùng (Đọc – ghi, /data/data)  Phân vùng cache (Đọc – ghi, /cache) FAT32/VFAT

Hầu hết trên thẻ SD và thẻ EMMC thường sử dụng định dạng FAT32. VFAT là mở rộng của FAT16 và FAT32. Hệ thống FAT32 của Windows được hỗ trợ bởi hầu hết các thiết bị Android. Hỗ trợ hầu hết các hệ điều hành MAC OS, Windows, và Linux. Hầu hết các thẻ nhớ SD được định dạng FAT32. Một số phân vùng liên kết đến hệ thống

 /mnt/sdcard  /mnt/secure/asec  /mnt/emmc

Phân vùng /mnt/secure/asec là phân vùng được mã hóa trên thẻ SD nơi các thiết bị Android có thể lưu trữ ứng dụng. Còn phân vùng /mnt/sdcard thường chứa các dữ liệu hình ảnh, video, tập tin tải về, … Phân vùng /mnt/emmc là một phân vùng FAT32, không thể tháo rời, và nằm trong kiến trúc lưu trữ của thiết bị.

79

3.1.4.3 D liệu người dùng

Điện thoại được sử dụng với mục đích liên lạc cá nhân, thông tin tài chính, giải trí, và truy cập internet. Khi điều tra trên điện thoại ta cần để ý tới thông tin lưu trữ các dữ liệu người dùng sau:

 SMS/MMS: Tất cả tin nhắn SMS, MMS sẽ được phục hồi lại kể cả đã bị xóa. Các thông tin thu thập được không chỉ là tin nhắn cá nhân, mà còn bất kỳ tập tin đính kèm như hình ảnh, âm thanh, video, và địa chỉ liên lạc, số điện thoại.

 Nhật ký cuộc gọi: Điều này có thể thu thập lịch sử cuộc gọi đầy đủ thông qua các nhà mạng.

 Thư thoại: Trong trường hợp người dùng sử dụng hộp thư thoại, các tin nhắn thoại thường lưu trữ dưới dạng tập tin có đuôi (.ogg).

 Ứng dụng tài chính: Mỗi ứng dụng có một đặc điểm khác nhau, các ứng dụng được lưu trữ tại thư mục cài đặt ứng dụng hoặc lưu trữ cache trên trình duyệt. Trong một số trường hợp, các thông tin thu thập được bao gồm tên đăng nhập, mật khẩu, số tài khoản và chi tiết giao dịch.

 Hộp thư cá nhân: Thư cá nhân người dùng sẽ được lưu trữ tại ứng dụng thư cá nhân, nội dung lưu trữ của thư ở dạng rõ, bao gồm tiêu đề thư (To/From, địa chỉ thư gửi, địa chỉ nhận). Trong một số trường hợp, các thông tin người dùng bao gồm cả tên đăng nhập, mật khẩu cũng có thể thu thập được. Một ứng dụng thư điện tử phổ biến trên Android đó là mail app. Giả sử, khi sử dụng để kết nối tới máy chủ mail POP3, và SMTP thì mật khẩu sẽ được lưu trữ vào cơ sở dữ liệu ở dạng rõ.

 Lịch sử web: Lịch sử web bao gồm địa chỉ URLs đã truy cập, cookies, và các trang web đã đánh dấu.

 Hình ảnh và video: Đây là dữ liệu cá nhân của người dùng, và chúng được lưu trên thiết bị, dữ liệu này có thể là một manh mối quan trọng phục vụ cho quá trình phân tích vụ án.

 Vị trí địa lý: Được lưu trữ thông qua định vị GPS trên thiết bị

Dữ liệu người dùng, và dữ liệu của ứng dụng trên thiết bị đều được lưu trữ vào cơ sở dữ liệu, nên khi thu thập dữ liệu cần phải tìm kiếm được vị trí cũng như tên mà chúng được lưu trữ trên thiết bị. Sau đây là một số nơi lưu trữ các cơ sở dữ liệu quan trọng trong quá trình điều tra trên thiết bị Android cần thiết:

80

Bảng 2.1– Đường dẫn lưu trữ các tập tin cơ sở dữ liệu (adsbygoogle = window.adsbygoogle || []).push({});

3.2 Thiết lập môi trường điều tra số

3.2.1 Môi trường điều tra số

Thiết lập môi trường điều tra số là phần quan trọng trong quy trình điều tra. Một hệ thống Android forensic cần có những yêu cầu như sau:

- Luôn bắt đầu khởi tạo với môi trường mới nhất (fresh). Hệ thống chưa từng phân tích một trường hợp nào trước đây.

- Cài đặt các phần mềm cần thiết để kết nối được đến thiết bị. Bộ công cụ Android làm việc trên Windows, Linux và OS X.

- Truy cập được đến thiết bị, người phân tích phải có thể thiết lập cho phép hoặc vượt qua để có thể truy cập vào và trích xuất dữ liệu.

3.2.2 Công cụ lập trình ASDK

Sử dụng bộ công cụ Android Software Development Kit (SDK) giúp nhà phát triển có thể xây dưng, dò lỗi ứng dụng chạy trên Android. Bên cạnh đó bộ công cụ này cũng cung cấp các tài liệu đi kèm và các công cụ khác giúp công việc điều tra số. Cách thức cài đặt và sử dụng có thể tham khảo ở trang http://developer.android.com/

81

Sau khi SDK đã được cài đặt thì chúng ta có thể tạo các Android Virtual Device được sử dụng để tạo các ứng dụng mới và cũng là môi trường cho chúng ta điều tra số. Phần mềm giả lập này giúp hiểu chúng ta phần tích hiểu các ứng dụng hoạt động thế nào và thực thi trên thiết bị. Bên cạnh đó, đối với thiết bị chạy các flatform khác nhau, chúng ta có thể sử dụng thiết kế bộ giả lập tương ứng để sát vói thực tế hơn.

Bên cạnh đó trước khi cài các công cụ Forensics trên các thiết bị thật, hệ thống giả lập có thể được sử dụng để xem xét các phần mềm Forensics gây ảnh hưởng như thế nào đến nội dung của một thiết bị Android. Để tạo một AVD, thực hiện như sau:

Bước 1: Mở command (cmd.exe), gỡ lệnh : c:\android-sdk\tools>android avd.

82

83

Hệ thống giả lập này có thể cấu hình Email, account, cài các ứng dụng phần mềm, lướt

Một phần của tài liệu Quy trình điều tra số, bằng chứng số, ứng dụng trong điều tra tội phạm máy tính (Trang 85)