Android Rooting và ảnh hưởng của nó đến mobile forensics

Một phần của tài liệu Khóa luận tốt nghiệp xây dựng hệ thống quản lý bảo mật trên android smartphones (Trang 38)

2 Khảo sát hiện trạng và các kiến thức liên quan

2.6.3 Android Rooting và ảnh hưởng của nó đến mobile forensics

forensics

Như đã trình bày ở phần trên các thông tin quan trọng và nhạy cảm của người dùng đều được lưu trữ tại bộ nhớ của thiết bị hoặc thẻ nhớ SD Card. Không giống như các hệ điều hành máy tính, mặc định một ứng dụng Android không thể tự động truy cập đến dữ liệu hoặc các files được tạo bởi một ứng dụng Android khác. Bản chất máy ảo Android chỉ cho phép mỗi ứng dụng chạy trên tiến trình riêng của mình. Bảo mật trên nền tảng Android dựa vào các quyền hạn được gán bởi người dùng hoặc định danh nhóm người dùng trên các ứng dụng. Một ứng dụng không thể can thiệp đến dữ liệu của một ứng dụng khác khi mà nó không được cấp quyền để làm thế1[15]. Ngoài ra, các thông tin được ẩn và không thể can thiệp bởi người dùng thiết bị. Tuy nhiên, nếu người dùng thực hiện rooting thiết bị, việc đọc và tìm kiếm những dữ liệu lại trở thành dễ dàng.

Rooting một thiết bị chỉ đơn thuần có nghĩa là cho phép thiết bị đạt được quyền truy cập đến thư mục root (/) và có những quyền hạn của root user. Một số người dùng thích sửa đổi các thiết bị vượt ra ngoài ý định của các nhà sản xuất thiết bị hoặc nhà cung cấp. Họ sử dụng thuật ngữ rooting mang ý nghĩa truy cập được vào thư mục gốc và các quyền hạn để thực hiện chỉnh sửa thiết bị một cách đáng kể nhằm tăng thời lượng sử dụng pin hoặc tăng hiệu suất của thiết bị, cài đặt và chạy các ứng dụng yêu cầu quyền root, sử dụng Wifi Hotspot, cài đặt firmware tùy chỉnh trên thiết bị.2 Dễ nhận thấy, thay đổi dữ liệu theo cách như vậy không phải là những thông tin pháp lý đáng giá và sẽ không được thực hiện trong một cuộc điều tra[15]. Thay vào đó, việc truy xuất và lấy được dữ liệu của những ứng dụng cài đặt trên thiết bị đã rooted rất đáng quan tâm. Đó là những thông tin rất hữu ích cho quá trình điều tra.

Thật vậy, Hoog [12] cho biết trình duyệt mặc định Android lưu trữ password 1Những quyền hạn này được khai báo bởi lập trình viên trong file AndroidManifest.xml 2http://lifehacker.com/5342237/five-great-reasons-to-root-your-%

dưới dạng plaintext cùng với dữ liệu về username và đường dẫn URL. Đúng như mong đợi, sau vài bước tìm kiếm, tác giả đã nắm giữ nhiều thông tin tài khoản đã từng sử dụng được sử dụng trên thiết bị (hình 2.7). Bên cạnh đó, các thông tin khác về lịch sử duyệt web, lịch sử tìm kiếm, bookmark cũng được tìm thấy trên một file databases khác (hình 2.8). Điều này là rất hữu ích cho các giám định pháp chứng mặc dù một thực tế bảo mật kém từ góc độ người dùng.

Hình 2.7: Android Browser plaintext password

(a) Lịch sử duyệt web

(b) Các bookmark của trình duyệt

Tiếp tục tìm kiếm, tác giả phát hiện hai file:

- contacts2.db của ứng dụng Phone Contacts theo đường dẫn /data/data/com.android.providers.contacts/databases.

- mmssms.db của ứng dụng Messaging theo đường dẫn /data/data/com.android.providers.telephony/databases.

Dễ dàng tìm thấy được dữ liệu về thông tin liên lạc, hình ảnh, danh bạ, số điện thoại, email, lịch sử cuộc gọi (Call Logs), thời gian cuộc gọi; các tin nhắn cá nhân, tin nhắn đa phương tiện, thậm chí bao gồm cả những tin nhắn đã bị xóa,. . . . Contacts2.db còn lưu trữ dữ liệu liên lạc của nhiều loại tài khoản khác nhau như Gmail, Exchange, Facebook, Twitter,. . . (hình 2.9).

(a) Lịch sử cuộc gọi (Call logs)

(b) Danh sách tin nhắn

(c) Các tài khoản được đồng bộ

Một số dữ liệu hữu ích khác có thể khai thác như:

• Ứng dụng Gmail với đường dẫn dữ liệu /data/data/com.google.android.gm Mỗi tài khoản Gmail lưu trữ dữ liệu của mình trên những file databases riêng biệt. File lưu trữ được đặt theo định dạng mailstore.xxxx@gmail.com.db với xxxx@gmail.com là tên tài khoản, trong đó bao gồm toàn bộ dữ liệu email của tài khoản đó. Các dữ liệu này đều lưu trữ dưới dạng plain text. Ngoài ra, một số file databases lưu trữ các thông tin phụ như downloads.db, suggestions.db, gmail.db cũng là những dữ liệu cần quan tâm. Ví dụ như bảng conversations lưu trữ dữ liệu về email của chủ tài khoản (hình 2.10).

Hình 2.10: Dữ liệu trong ứng dụng Gmail

• Ứng dụng Facebook với đường dẫn dữ liệu /data/data/com.facebook.katana Dữ liệu quan trọng nhất cần khai thác đối với ứng dụng này là file fb.db. File này chứa gần như toàn bộ tất cả thông tin quan trọng chỉ trong ba bảng dữ liệu:

– friends–data: lưu trữ toàn bộ thông tin kết nối bạn bè của chủ tài khoản, bao gồm: tên đầy đủ, tên hiển thị trên Facebook, hình ảnh đại diện,. . .

– user–statuses: lưu trữ toàn bộ các cập nhật trạng thái status của người dùng lên Facebook.

– mailbox–messages: lưu trữ toàn bộ tin nhắn cá nhân của người dùng trên Facebook.

Ngoài ra, chúng ta còn có thể khai thác nhiều thông tin hữu ích khác từ ứng dụng mạng xã hội này. Ví dụ về một số dữ liệu có thể khai thác được từ Facebook (hình 2.11).

(a) Dữ liệu về bạn bè trên Facebook

(b) Các notifications của người dùng

Hình 2.11: Các dữ liệu được khai thác từ Facebook

• Ứng dụng Google Maps

Ứng dụng lưu trữ nhiều thông tin quan trọng về vị trí, chỉ dẫn tìm đường, các thông tin về địa điểm,. . . . Dữ liệu hữu ích nhất của ứng dụng này là hai file da–destination–history.db và search–history.db. Ngoài ra, các file dữ liệu khác cũng có chứa một số thông tin, tuy nhiên, chúng không thật sự hữu ích trong các phân tích pháp chứng.

2.7 Các kiến thức cần thiết khác

Trong đề tài, tác giả sử dụng PHP làm ngôn ngữ xây dựng web service nhằm phục vụ một số chức năng ứng dụng yêu cầu, đồng thời phát triển service hoàn chỉnh trong tương lai. Có nhiều framework và tác giả đã chọn một framework được đánh giá là ưu việt nhất để xây dựng web service, đó là Yii framework. Trong phần tiếp theo, khóa luận sẽ trình bày các kiến thức cần thiết để xây dụng Web Server cho hệ thống.

2.7.1 Web Service

Web service là một phương pháp giao tiếp giữa hai thiết bị điện tử (thường được gọi là client và server) sử dụng giao thức HTTP (Hyper Text Transport Protocol). Theo W3C, web service là một hệ thống phần mềm được thiết kế để hỗ trợ giao tiếp giữa các thiết bị thông qua mạng internet.1 Điểm đặc trưng của web service là ứng dụng có thể giao tiếp với server một cách độc lập ngôn ngữ, nền tảng, theo chuẩn mở do sử dụng HTTP, XML và được phân hóa rõ ràng. Kiến trúc web service được mô tả ở hình 2.12. Web service được chia làm hai

Hình 2.12: Kiến trúc web service

nhóm chính là web service dựa trên nền tảng SOAP và web service dựa trên kiến trúc REST.

SOAP được hiểu là viết tắt của cụm từ Simple Object Access Protocol, tuy nhiên hiện nay nó được biết đến với tên là Service Oriented Architecture (SOA) Protocol. SOAP là một giao thức giao tiếp có cấu trúc như XML và mã hóa

thành định dạng chung cho các ứng dụng trao đổi với nhau. Ý tưởng bắt đầu từ Microsoft và phần mềm Userland, trải qua nhiều lần thay đổi, hiện tại là phiên bản SOAP 1.2 với nhiều ưu điểm vuợt trội hơn bản SOAP 1.1. SOAP được xem như là cấu trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều ngôn ngữ, hệ điều hành khác nhau.

SOAP là một đặc tả việc sử dụng các tài liệu XML theo dạng các thông điệp. Bản thân SOAP không định ra các ngữ nghĩa ứng dụng hoặc cách cài đặt chi tiết. SOAP cung cấp một cơ chế đơn giản và gọn nhẹ cho việc trao đổi thông tin có cấu trúc và định dạng giữa các thành phần trong một môi trường phân tán sử dụng XML. SOAP được thiết kế dựa trên những chuẩn nhằm giảm chi phí tích hợp các hệ thống phân tán xây dựng trên nhiều nền tảng khác nhau ở mức càng thấp càng tốt. Đặc tả về SOAP định nghĩa một mô hình trao đổi dữ liệu dựa trên 3 khái niệm cơ bản: Các thông điệp là các tài liệu XML, chúng được truyền đi từ bên gửi đến bên nhận, bên nhận có thể chuyển tiếp dữ liệu đến nơi khác.

REST là viết tắt của cụm từ Representation State Transfer (chuyển giao trạng thái biểu diễn). REST xác định một nhóm các nguyên lý kiến trúc, bằng cách đó bạn có thể thiết kế các dịch vụ mạng, chú trọng vào các tài nguyên hệ thống, bao gồm các trạng thái tài nguyên được định dạng như thế nào và được chuyển tải qua HTTP thông qua một lượng lớn người dùng và được viết bởi những ngôn ngữ khác nhau. Có nhiều kiến trúc dựa trên REST và tiêu biểu là kiến trúc RESTful. Hiện nay, REST gần như chiếm vị trí của thiết kế giao diện dựa trên SOAP hay WSDL vì nó là cách thức đơn giản hơn rất nhiều để sử dụng.1

Một thiết kế của dịch vụ mạng REST sẽ tuân theo bốn nguyên lý cơ bản sau:

• Sử dụng các phương thức HTTP một cách rõ ràng.

• Phi trạng thái.

• Hiển thị cấu trúc thư mục như URIs.

• Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai. 1http://www.ibm.com/developerworks/webservices/library/ws-restful, Accessed Feb. 5, 2013

2.7.2 Yii framework

Yii là một PHP framework được xây dựng bởi Qiang Xue, để phát triển các ứng dụng web quy mô lớn dựa trên nền tảng component (thành phần sử dụng lại). Yii cho phép tái sử dụng tối đa các thành phần của hệ thống (ứng dụng) để tăng tốc độ viết ứng dụng. Yii là viết tắt của từ “Yes, it is!” Hoặc cũng có thể là viết ngắn gọn 3 chữ cái đầu của Easy (dễ dàng), Efficient (hiệu suất) và Extensible (khả năng mở rộng).

• Lịch sử của Yii

Tiền thân của Yii chính là Prado framework, được phát triển bởi Qiang Xue vào khoảng tháng 1/2008. Sau gần 1 năm phát triển, tới 8/12/2008, bản Yii đầu tiên đã được phát hành và nhanh chóng được mọi người đón nhận.

Yii đang nổi lên như là một framework tốt bởi các tính năng của nó mang lại. Ưu điểm của Yii là tính đơn giản trong cách viết kết hợp với thế mạnh “scripting” của PHP và cơ chế mảng index (associative array). Yii cũng được viết bởi những người viết “thực tế” hơn Zend nên có sẵn những công cụ mạnh mẽ nhất cho người viết ứng dụng.

• Yêu cầu hệ thống

Web server hỗ trợ PHP 5.1.0+. Lập trình viên yêu cầu phải có kiến thức căn bản về lập trình hướng đối tượng.

• Sử dụng Yii tốt nhất khi nào?

Yii là framework MVC, có kiến trúc OOP và hướng component nên mức độ tái sử dụng giữa các project rất cao. Yii đặc biệt chạy nhanh hơn Zend và Symfony. Yii, nói chung, là một framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại ứng dụng Web. Yii nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc biệt hữu dụng cho ứng dụng web có dung lượng dữ liệu trên đường truyền lớn như web portal, forum, CMS, e-commerce,. . .

• So sánh Yii với các framework khác

– Giống như hầu hết các PHP framework, Yii là một MVC framework.

– Yii tốt hơn các framework khác bởi tính hiệu quả, nhiều tính năng và có tài liệu hướng dẫn đầy đủ. Yii được thiết kế cẩn thận từ ban đầu để

đáp ứng nhu cầu phát triển ứng dụng web nghiêm ngặt. Yii là kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của các framework khác. Yii kết hợp những ý tưởng và những kiến thức của các framework và ứng dụng lập trình web đi trước nó.

2.7.3 Ozeki SMS Gateway

Trong chương trình, tác giả có sử dụng phần mềm Ozeki SMS Gateway1 để sử dụng làm tổng đài số, thực hiện nhắn tin đến số điện thoại người dùng khi nhận được yêu cầu. Các thiết bị cần thiết để lập tổng đài số này gồm: một thiết bị USB 3G, một SIM còn tài khoản sử dụng, máy tính có cài đặt phần mềm và phần mềm đang ở trạng thái kích hoạt. Sau khi cài đặt và cấu hình,2 ta có thể sử dụng để làm tổng đài thực thi nhận hoặc gởi tin nhắn. Có nhiều cách thức làm việc với phần mềm để thực thi nhắn tin, và tác giả đã chọn cách thực thi nhắn tin theo dạng quét cơ sở dữ liệu để nhận các record mới thêm vào bảng dữ liệu (ở đây là bảng ozekimessageout) với trạng thái (cột status) là “send”. Phần mềm sau khi được cài đặt và kích hoạt sẽ hoạt động thực hiện quét cơ sở dữ liệu sau khoản thời gian n phút được thiết lập trong quá trình cấu hình tổng đài. Đây cũng là một giải pháp để thực thi nhắn tin quảng cáo hiện nay.

2.8 Thảo luận

Như đã tìm hiểu ở các phần trên, việc rooting thiết bị giúp người dùng có được quyền hạn của root user và qua đó cho phép người sử dụng tùy chỉnh thiết bị vượt ra ngoài những quy định của các nhà thiết kế thiết bị hoặc nhà cung cấp. Điều này có thể giúp thiết bị gia tăng một cách đáng kể thời lượng sử dụng pin và hiệu suất của thiết bị, cài đặt và chạy các ứng dụng yêu cầu quyền root, cài đặt firmware và hệ điều hành tùy chỉnh. Điều này mang lại những trải nghiệm mới mẻ, vượt trội cho người dùng. Tuy nhiên, việc rooting thiết bị Android có thể gây ra nguy cơ bảo mật cao. Dữ liệu nhạy cảm có thể bị khai thác bằng nhiều cách thức khác nhau mà người dùng không thể kiểm soát được.

Tóm lại, nếu người dùng không thể quản lý được thiết bị của mình, họ không nên rooting. Ngược lại, nếu bạn muốn cảm nhận sức mạnh thật sự của thiết bị và hệ điều hành Android, hãy rooting và cài đặt các phần mềm quản lý bảo

1Download tạihttp://www.ozekisms.com/index.php?owpn=112 2Tham khảo tạihttp://www.ozekisms.com/index.php?owpn=133

mật cho chúng. Mặc dầu vậy, trong bất cứ trường hợp nào, việc cài đặt một ứng dụng quản lý bảo mật trên thiết bị luôn là một đề nghị cần được quan tâm.

2.9 Kết chương

Qua khảo sát, phân tích các số liệu, các tác giả đã nêu bật lên nguy cơ mất an toàn thông tin đối với điện thoại di động và những hậu quả của nó. Từ đó, các tác giả đã tìm hiểu về đặc tính của các sản phẩm HOT Products và các đặc tính của một sản phẩm an toàn IN SAFE HANDS nhằm phát triển một hệ thống quản lý bảo mật dữ liệu hoàn chỉnh. Tiếp tục, các tác giả đã khảo sát các hệ thống và phần mềm đã phát triển trước đó, định hướng hệ thống cần phát triển mạnh về tính năng nào; các tác giả cũng đã đi tìm hiểu sâu về hệ điều hành Android, nghiên cứu lĩnh vực mobile forenics về cách thức tổ chức và lưu trữ dữ liệu trên Android, lợi ích và nguy cơ từ rooting thiết bị.

Chương tiếp theo sẽ đề cập đến quá trình thiết kế và phát triển hệ thống có thể bảo vệ dữ liệu và thiết bị cũng như tận dụng ưu thế của những thiết bị rooted.

Chương 3: Thiết kế hệ thống

3.1 Đặc tả yêu cầu

3.1.1 Mục đích, phạm vi của hệ thống 3.1.1.1 Mục đích xây dựng hệ thống

Tác giả đặt tên cho hệ thống quản lý bảo mật sắp phát triển là TUI Security với từ TUI được lấy từ tên gọi của chú chim Tui, một loài chim ở New Zealand (hình 3.1). Chim Tui thông minh và náo nhiệt.1 Điều này giống như các đặc tính mà hệ thống sắp được xây dựng. Ngoài ra, TUI Security còn có thể diễn dịch như là UIT Security - ứng dụng bảo mật của sinh viên trường Đại học Công Nghệ Thông Tin.

Hình 3.1: Chim Tui - New Zealand

Việc xây dựng hệ thống TUI Security nhằm các mục tiêu sau:

• Giúp người sử dụng điện thoại thông minh nền tảng Android giảm thiểu nguy cơ mất an toàn thông tin trong trường hợp điện thoại bị trộm cắp, thất lạc, hư hỏng.

• Giúp người sử dụng điện thoại thông minh quản lý dữ liệu và thiết bị của

Một phần của tài liệu Khóa luận tốt nghiệp xây dựng hệ thống quản lý bảo mật trên android smartphones (Trang 38)

Tải bản đầy đủ (PDF)

(105 trang)