Giám định tin nhắn trên các thiết bị Android
Trong một cuộc giám định kỹ thuật số, nhiều người cho rằng việc phân tích tin nhắn văn bản sẽ dễ dàng thực hiện – chỉ cần tra cứu cơ sở dữ liệu SMS, đọc tin nhắn, người gửi, người nhận, dấu thời gian (timestamp) hay báo cáo về bất kỳ thứ gì có giá trị và một vài điều tra là việc đơn giản. Tuy nhiên, trong quá trình điều tra, các nhà giám định pháp y không chỉ gặp mỗi tin nhắn SMS mà còn phải xử lý nhiều loại tin nhắn khác đi kèm. Bài viết này sẽ đi sâu tìm hiểu về giám định tin nhắn văn bản khác nhau trên thiết bị Android.
MS/MMS – mmssms.db
Hầu hết các giám định viên đều biết xem MMSSMS.db để tìm dữ liệu SMS/MMS trên hầu hết mọi thiết bị. Các thiết bị Android thường lưu trữ dữ liệu này trong thư mục điện thoại theo đường dẫn:
/data/data/com.android.providers.telephony/databases/mmssms.db
Mmssms.db là cơ sở dữ liệu SQLite và được hỗ trợ bởi hầu hết các công cụ giám định hoặc được đọc bởi bất kỳ trình xem SQLite nào. Có một số bảng được quan tâm nhưng phần lớn thông tin quan trọng sẽ nằm trong nội dung tin nhắn, thời gian tin nhắn và người gửi/người nhận. Cơ sở dữ liệu SMS/MMS có thể được đưa vào bản sao lưu của AxDB trên một số thiết bị nhưng thường thì nó không được đưa vào và phải được lấy theo cách khác bằng cách khai thác từ các nhà cung cấp nội dung.
Các nhà cung cấp nội dung
Các ứng dụng của bên thứ ba cũng có thể truy cập dữ liệu SMS/MMS cho mục đích riêng của họ. Các ứng dụng như Facebook Messenger, BBM, WhatsApp, v.v. thường sẽ yêu cầu quyền truy cập danh bạ hoặc tin nhắn SMS/MMS, v.v. để tăng cường tích hợp giữa ứng dụng và dữ liệu. Android cho phép quyền truy cập này thông qua các nhà cung cấp nội dung. [1] Để có được dữ liệu bổ sung có thể không có trong bản sao lưu ADB tiêu chuẩn, các công cụ có thể chọn cài đặt một ứng dụng hoặc một đại lý trên điện thoại của người dùng, thu thập dữ liệu của nhà cung cấp nội dung và sau đó trích xuất nó như một phần của dữ liệu ứng dụng của riêng họ . Một số công cụ sẽ trích xuất bản sao lưu ADB và dữ liệu đại lý (agent data) dưới dạng hai kết quả thu được riêng biệt, Magnet AXIOM và ACQUIRE sẽ tự động thực hiện cả hai như một phần của quá trình thu thập nhanh/Logic.
Hình ảnh cho thấy bản sao lưu của ADB dưới dạng “adb-data.tar” và dữ liệu của nhà cung cấp nội dung trong thư mục “Agent Data”.
Tùy thuộc vào phương pháp thu thập được sử dụng để lấy dữ liệu SMS/MMS, AXIOM sẽ gắn nhãn nó theo một số cách khác nhau. Hầu hết, bạn sẽ thấy các thành phần được liệt kê là “Android SMS” và “Android MMS” nhưng đôi khi bạn sẽ thấy chúng được kết hợp thành “Android SMS/MMS” để cho biết rằng tác nhân ACQUIRE đã lấy dữ liệu đó thông qua các nhà cung cấp nội dung và sau đó xây dựng lại cơ sở dữ liệu trong quá trình thu thập. Bạn cũng có thể thấy chúng được lưu trữ dưới dạng “Android SMS/MMS (Dịch vụ Google Play)” khi quá trình thu thập dữ liệu nhận được hình ảnh hệ thống tệp hoặc vật lý đầy đủ của thiết bị. Tất cả dữ liệu SMS/MMS liên quan phải có trong mỗi phương pháp, chúng tôi chỉ phân biệt từng phương pháp để cho người kiểm tra biết cách dữ liệu được lấy ra, bởi cách dữ liệu được lưu trữ trên phần phụ trợ có thể hơi khác nhau giữa các phương pháp.
Android SMS / MMS – Dịch vụ của Google Play – Icing_mmssms.db
Đối với các thiết bị mà bạn có đặc quyền truy cập vào toàn bộ hệ thống tệp (thu thập vật lý và / hoặc hệ thống tệp đầy đủ), bạn cũng có thể gặp dữ liệu SMS / MMS trong một cơ sở dữ liệu khác có tên icing_mmssms.db. AXIOM và IEF gọi đây là “Android SMS / MMS – Dịch vụ của Google Play”.
Tin nhắn RCS
Dịch vụ liên lạc đa dạng (RCS) là giao thức mới hơn nhằm thay thế SMS tiêu chuẩn. [2] Nó đã thêm chức năng và tính năng bao gồm đa phương tiện, trò chuyện nhóm, gọi thoại / video, cũng như một số tính năng khác. Mặc dù nó không được tất cả các nhà cung cấp dịch vụ chấp nhận và hỗ trợ đầy đủ, nhưng nhiều nhà cung cấp dịch vụ đang bắt đầu hỗ trợ tin nhắn RCS trên mạng của họ cùng với hoặc thay thế cho SMS. AT & T / T-Mobile / Sprint ở Mỹ, Rogers ở Canada, Vodaphone ở Châu Âu cũng như nhiều hãng khác đều đã hỗ trợ nhắn tin RCS với nhiều nhà mạng khác nhằm hỗ trợ thêm trong tương lai gần. Mặc dù Apple đã triển khai iMessage vì những lý do tương tự về chức năng bổ sung ngoài SMS, nhưng có một hạn chế chính là nó không phải là nền tảng chéo nên bạn chỉ có thể sử dụng iMessage để trò chuyện với những người dùng iPhone khác. RCS là một giao thức đang được áp dụng ở cấp độ nhà cung cấp dịch vụ và được hỗ trợ trên bất kỳ thiết bị nào chọn có ứng dụng hỗ trợ nó. Google đã tạo ứng dụng Android Messages chỉ cho mục đích này.
Tin nhắn Android – Bugle_db
Android cũng có ứng dụng nhắn tin riêng trong Cửa hàng Google Play được gọi là “Android Messages”, hỗ trợ một số định dạng tin nhắn khác nhau bao gồm tin nhắn SMS / MMS và RCS. [3] Giờ đây, tùy thuộc vào kiểu máy và hệ điều hành, một số nhà cung cấp dịch vụ đang sử dụng Android Messages làm ứng dụng nhắn tin mặc định thay vì ứng dụng SMS / MMS thông thường do các nhà sản xuất như Samsung tạo và cài đặt. Bạn cũng có thể gặp phải cả hai ứng dụng được cài đặt trong đó người dùng đã chọn từ bỏ ứng dụng SMS / MMS tiêu chuẩn cho Android Messages. Tệp android.XML sẽ cho biết ứng dụng nhắn tin mặc định là gì cho một thiết bị nhất định.
Dữ liệu trên ứng dụng Android Messages có thể tìm thấy tại:
/data/data/com.google.android.apps.messaging/databases/bugle_db
Mặc dù có cấu trúc khác với mmssms.db, nhưng giá trị điều tra vẫn tương tự, nghĩa là bạn sẽ muốn thu thập ở mức tối thiểu các thông tin về người gửi, người nhận, tin nhắn và dấu thời gian của tin nhắn. Bạn cũng sẽ muốn phân biệt xem một tin nhắn cũng là SMS, MMS hay RCS. Các thông báo, người tham gia và các phần khác của bảng dữ liệu có thể có giá trị đối với cuộc điều tra của bạn.
Nhật ký tin nhắn văn bản của Samsung
Một loại tin nhắn khác mà bạn có thể gặp phải dành riêng cho các thiết bị Samsung. Samsung lưu trữ nhật ký tin nhắn tại đây:
/data/data/com.sec.android.provider.logsprovider/databases/logs.db
Những tin nhắn này có thể bao gồm một số bản sao từ SMS / MMS thông thường nhưng thường thì bạn cũng sẽ tìm thấy dữ liệu tin nhắn bổ sung ở đây. Do dữ liệu chỉ được xây dựng để ghi nhật ký nên bạn chỉ nhận được các đoạn dữ liệu, nhưng chúng cũng có giá trị như một nguồn thông tin thứ cấp, đặc biệt nếu người dùng đã xóa nhiều thư của họ.
Các bản ghi tin nhắn văn bản của Samsung thường bị các nhà giám định bỏ qua mà chỉ tập trung vào mmssms.db vì nó có thể chứa thông tin quan trọng cho cuộc điều tra.
Nhìn chung, khi giám định tin nhắn, các điều tra viên không nên bỏ xót các loại nhắn tin không nằm trong SMS / MMS và các ứng dụng trò chuyện phổ biến khác của bên thứ ba như WhatsApp, Facebook Messenger, Kik, v.v… Trong khi người dùng bình thường có thể chỉ sử dụng ứng dụng nhắn tin mặc định, nhưng những lần khác, ứng dụng mặc định có thể đã thay đổi đối với một thiết bị nhất định hoặc người dùng có thể đang sử dụng nhiều ứng dụng trò chuyện một cách cố ý hoặc vô ý để tránh bị phát hiện.
-Jamie McQuaid-
[1] https://en.wikipedia.org/wiki/Rich_Communication_Services
[2] https://play.google.com/store/apps/details?id=com.google.android.apps.messaging
[1] https://developer.android.com/guide/topics/providers/content-providers
Nguồn: https://www.magnetforensics.com/blog/android-messaging-forensics-sms-mms-and-beyond/
Cập nhật: Gabriele Zambelli đã chỉ ra một điểm tuyệt vời khác để xác định dữ liệu tin nhắn SMS trên Android bằng cách xem dữ liệu nhật ký cuộc gọi (calllog.db) đã thay đổi trong Android 7 và 8. Cơ sở dữ liệu chứa một bảng có tên “m_content” chứa 50 ký tự đầu tiên của một tin nhắn SMS. Thông tin này thường không được lấy qua các nhà cung cấp nội dung hoặc được đưa vào bản sao lưu ADB, vì vậy sẽ chỉ có sẵn trong hình ảnh hệ thống tệp hoặc vật lý đầy đủ của thiết bị Android, nhưng chúng vẫn có giá trị và có thể bị các công cụ giám định bỏ sót. Để biết thêm thông tin, hãy xem blog của Gabriele tại đây: https://forensenellanebbia.blogspot.com/2018/10/calllogdb-and-sms-data-on-android-70.html.