TÓM TẮT

ii

TÓM TẮT

Ngày nay, điện thoại di động đã trở thành những chiếc máy tính cá nhân mới. Chúng có thể lưu trữ dữ liệu, thực hiện hầu hết và tương tự các chức năng của một chiếc máy tính [18]. Thông qua các hệ thống quản lý dữ liệu và hành vi giao tiếp của người dùng, điện thoại di động nắm giữ một lượng thông tin đồ sộ. Các thông tin đó có thể bao gồm thông tin cá nhân như danh bạ, tin nhắn

cá nhân, email, thông tin tài khoản, thông tin mạng xã hội, hình ảnh, video hay cũng có thể là thông tin về tài chính, ngân hàng, hoạt động của doanh nghiệp, tổ chức. Thực vậy, lấy bối cảnh trong môi trường doanh nghiệp, hơn 80% dữ liệu mới và quan trọng được lưu trữ trên điện thoại di động [1]. Theo tài liệu của Alliance Against Crime, 80% người sử dụng điện thoại di động trên Vương quốc Anh lưu trữ các thông tin cá nhân có thể lợi dụng để lừa đảo, 16% người sử dụng lưu trữ thông tin tài khoản ngân hàng của họ [8]. Ngoài ra, điện thoại

di động sẽ là phương thức thanh toán được hơn 50 triệu người sử dụng trong thập kỷ tới [10].

Thật không may, đi đôi với sự nhỏ gọn và linh hoạt của mình, điện thoại di động dễ bị tổn thương bởi các sự cố, nạn trộm cắp và từ những hành vi sử dụng của người dùng. Theo tạp chí Mobile World, toàn Vương quốc Anh ước tính có 76 triệu điện thoại di động, trong đó có 4,2 triệu thiết bị được cảnh báo có nguy cơ bị trộm cắp. Cùng với đó, nạn trộm cắp điện thoại gây thiệt hại 390 triệu

bảng Anh mỗi năm với hơn 2 triệu thiết bị bị mất, tương đương với 229 thiết bị trong một giờ [8]. Tội phạm có thể dùng những thiết bị này để thực hiện lừa đảo qua email, quấy rối qua tin nhắn, buôn bán nội dung khiêu dâm, tội phạm ma túy, tống tiền. . . [15]

Thực tế trên cho thấy việc bảo vệ thiết bị và dữ liệu trên điện thoại di động là một vấn đề đặc biệt quan trọng. Điều gì sẽ xảy ra khi chiếc điện thoại lưu thông tin giao dịch của bạn bị mất hoặc hư hỏng do sự cố? Điều gì sẽ xảy ra

khi các thông tin cá nhân của bạn bị đọc lén? Làm cách nào để biết không ai sử dụng điện thoại của mình khi bạn thất lạc nó ở đâu đó? Làm cách nào để lấy lại dữ liệu cũng như thiết bị đã mất?

Trên thế giới đã có rất nhiều ứng dụng được phát triển để giải quyết các vấn đề trên. Trong đó phải kể đến các ứng dụng của các công ty bảo mật uy tín như Lookout Security & Antivirus, Kaspersky Mobile Security, Bitdefender Anti-Theft,. . . Các ứng dụng trên đã thực hiện tốt chức năng bảo mật dữ liệu,

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

cảnh báo nguy cơ, truy vết điện thoại di động. Tuy nhiên, vấn đề truy tìm chủ

TÓM TẮT

iii

sở hữu tiếp theo của thiết bị (tại Việt Nam) và hỗ trợ cơ quan chức năng điều tra tội phạm trên những thiết bị này vẫn còn để ngõ. Chính vì vậy, khóa luận này mong muốn xây dựng và phát triển hệ thống quản lý bảo mật trên điện thoại di động nhằm bảo vệ, quản lý dữ liệu người dùng, tự động cảnh báo và truy tìm dấu vết thiết bị, khai thác dữ liệu trên thiết bị để phục vụ công tác

điều tra. Bên cạnh đó, khóa luận còn nghiên cứu về vấn đề mobile forensics trên hệ điều hành Android để góp phần nâng cao khả năng thu thập dữ liệu trong lĩnh vực pháp chứng số và tư vấn người dùng về các nguy cơ bảo mật của smartphones.

Do thời gian nghiên cứu còn hạn chế, báo cáo này chắc chắn còn nhiều sai sót, khuyết điểm. Nhóm tác giả kính mong quý Thầy, Cô và các bạn đóng góp ý kiến để đề tài hoàn thiện và thực tiễn hơn. Xin chân thành cảm ơn!

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

TP. Hồ Chí Minh, ngày 01 tháng 03 năm 2013 Nhóm tác giả

LỜI CẢM ƠN

iv

LỜI CẢM ƠN

Chúng tôi xin gởi lời cảm ơn chân thành và sâu sắc đến các thầy cô trong khoa Mạng Máy Tính và Truyền Thông, cũng như tất cả các thầy cô trong trường Đại Học Công Nghệ Thông Tin đã truyền đạt kiến thức, kinh nghiệm quý báu của mình trong suốt quá trình chúng tôi học tập và nghiên cứu tại trường.

Chúng tôi xin gởi lời cảm ơn đặc biệt đến thầy TS. Nguyễn Anh Tuấn, người thầy đã truyền cảm hứng, niềm đam mê nghiên cứu, sáng tạo cho chúng tôi. Thầy là người đã tận tình hướng dẫn, hỗ trợ và tạo điều kiện tốt nhất để chúng tôi hoàn thành khóa luận này.

Xin gởi lời cảm ơn đến các anh, chị và bạn bè trong khoa Mạng Máy Tính và Truyền Thông đã giúp đỡ, trao đổi kiến thức trong suốt quá trình học tập và thực hiện khóa luận này.

Chúng con xin dành lời cám ơn to lớn nhất đến ba, mẹ và gia đình. Ba, mẹ và gia đình đã luôn ở bên chúng con, là nguồn động lực không mệt mỏi và là chỗ dựa tinh thần vững chắc giúp chúng con vượt qua những khó khăn để hoàn thành tốt khóa luận này.

Mặc dù đã nỗ lực cố gắng song khóa luận này chắc chắn không thể tránh khỏi sai sót, khuyết điểm. Chúng tôi kính mong nhận được sự thông cảm và tận tình chỉ bảo, góp ý của quý Thầy Cô và các bạn.

TP. Hồ Chí Minh, ngày 01 tháng 03 năm 2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Nhóm tác giả

NHẬN XÉT

v

Nhận xét

(của giảng viên hướng dẫn)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

NHẬN XÉT

vi

Nhận xét

(của giảng viên phản biện)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MỤC LỤC

vii

Mục lục

Tóm tắt ii

Mục lục vii

Danh mục hình ảnh x

Danh mục bảng biểu xii

1 Giới thiệu đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Tên đề tài 1.2 Từ khóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Mục tiêu đề tài và các vấn đề đặt ra . . . . . . . . . . . . . . . . 1 1 1 1

1.4 Đối tượng áp dụng và phạm vi của đề tài . . . . . . . . . . . . . 1.5 Đối tượng nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Phương pháp nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . 1.7 Đóng góp của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Cấu trúc khóa luận . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 5

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

2.1 An toàn thông tin trên điện thoại di động . . . . . . . . . . . . . 2.2 Kịch bản rủi ro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Đặc điểm của một thiết bị an toàn . . . . . . . . . . . . . . . . . 2.4 Các hệ thống đã được phát triển . . . . . . . . . . . . . . . . . . 6 6 7 8 10

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

2.4.1 Lookout Security & Antivirus . . . . . . . . . . . . . . . . 2.4.2 Kaspersky Mobile Security . . . . . . . . . . . . . . . . . 2.4.3 Bitdefender Anti-Theft . . . . . . . . . . . . . . . . . . . . 2.5 Hệ điều hành Android . . . . . . . . . . . . . . . . . . . . . . . . Sự phát triển của hệ điều hành Android . . . . . . . . . . 2.5.1 2.5.2 Đặc trưng của hệ điều hành Android . . . . . . . . . . . . 2.5.3 Lập trình trên Android . . . . . . . . . . . . . . . . . . . . 11 12 13 15 15 15 17

MỤC LỤC

viii

18 2.6 Android Forensics . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6.1 Nhận dạng và vô hiệu hóa điện thoại Android . . . . . . 19 2.6.2 Tổ chức và lưu trữ dữ liệu của hệ điều hành Android . . 2.6.3 Android Rooting và ảnh hưởng của nó đến mobile forensics 23 28 2.7 Các kiến thức cần thiết khác . . . . . . . . . . . . . . . . . . . . .

2.7.1 Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.2 Yii framework . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.3 Ozeki SMS Gateway . . . . . . . . . . . . . . . . . . . . . 2.8 Thảo luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Kết chương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 30 31 31 32

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 . . . . . . . . . . . 3.1.1.2 Phạm vi của hệ thống . . . . . . . . . . . . . . . 33 33 33 33 34

3.1.2 Yêu cầu của hệ thống . . . . . . . . . . . . . . . . . . . . 3.1.2.1 Yêu cầu chức năng . . . . . . . . . . . . . . . . . 3.1.2.2 Yêu cầu kỹ thuật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3 Yêu cầu thiết bị 3.2 Thiết kế hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Thiết kế kiến trúc hệ thống . . . . . . . . . . . . . . . . . 3.2.1.1 Mô hình hệ thống . . . . . . . . . . . . . . . . . 34 34 36 37 38 38 38

3.3 Thiết kế sơ đồ khối và giải thuật

3.2.1.2 Kiến trúc ứng dụng TUI Security . . . . . . . . 3.2.2 Thiết kế Use Case Diagram . . . . . . . . . . . . . . . . . 3.2.2.1 Danh sách tác nhân . . . . . . . . . . . . . . . . 3.2.2.2 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Các tính năng cơ bản . . . . . . . . . . . . . . . . . . . . . 3.3.2 Tính năng điều khiển . . . . . . . . . . . . . . . . . . . . . 39 41 41 42 46 46 48

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

3.3.3 Tính năng tìm thông tin vị trí thiết bị . . . . . . . . . . . 3.3.4 Bảo mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.5 Tương tác service . . . . . . . . . . . . . . . . . . . . . . . 3.4 Kết chương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 55 62

MỤC LỤC

ix

4 Hiện thực hệ thống quản lý bảo mật TUI Security

4.2.1

4.1 Môi trường thực thi . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Hiện thực chương trình TUI Security . . . . . . . . . . . . . . . . Sơ đồ lớp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1.1 Hiện thực bộ phận thực thi điều khiển . . . . . 4.2.1.2 Hiện thực một số tính năng quan trọng . . . . . Sơ đồ tuần tự . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 63 63 63 63 63 66 69

4.2.2.1 4.2.2.2

Soạn thảo tin nhắn điều khiển . . . . . . . . . . Lắng nghe, phân tích và thực thi điều khiển . . 4.3 Hình ảnh của hệ thống TUI Security . . . . . . . . . . . . . . . . 4.3.1 Cái nhìn tổng quan về hệ thống . . . . . . . . . . . . . . . 4.3.2 Đăng ký tài khoản hệ thống . . . . . . . . . . . . . . . . . 4.3.3 Thiết lập thông số ban đầu . . . . . . . . . . . . . . . . . 4.3.4 Các giao diện chính của ứng dụng . . . . . . . . . . . . . 70 71 72 72 74 75 76

4.3.5 Thực thi điều khiển từ ứng dụng . . . . . . . . . . . . . . 4.4 Tổng kết và đánh giá hệ thống . . . . . . . . . . . . . . . . . . . 77 78

5 Kết luận & Hướng phát triển

5.1 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Các vấn đề về an ninh và bảo mật . . . . . . . . . . . . . 5.2.2 Theo dõi mạng lưới hoạt động của tội phạm . . . . . . . 5.2.3 Phục hồi dữ liệu đã bị xóa . . . . . . . . . . . . . . . . . . 5.2.4 Một số tính năng nâng cao . . . . . . . . . . . . . . . . . 79 79 80 80 81 81 82

Phụ lục 83

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Tài liệu tham khảo 88

DANH MỤC HÌNH ẢNH

x

Danh mục hình ảnh

11 13 14 20 21 . 2.1 Tính năng Find My Phone của Lookout Security & Antivirus 2.2 Tính năng Anti-theft của Kaspersky Mobile Security . . . . . . . 2.3 Giao diện điều khiển của ứng dụng Bitdefender Anti-Theft . . . 2.4 Các biến shared preferences của ứng dụng Gmail . . . . . . . . . 2.5 Cấu trúc thư mục dữ liệu của ứng dụng Google Maps . . . . . .

22 24 24 25 26 27 28 2.6 Cấu trúc thư mục database của ứng dụng Android Browser . . . 2.7 Android Browser plaintext password . . . . . . . . . . . . . . . . 2.8 Các dữ liệu được khai thác từ trình duyệt web Android . . . . . 2.9 Các dữ liệu về danh bạ và tin nhắn . . . . . . . . . . . . . . . . . 2.10 Dữ liệu trong ứng dụng Gmail . . . . . . . . . . . . . . . . . . . . 2.11 Các dữ liệu được khai thác từ Facebook . . . . . . . . . . . . . . 2.12 Kiến trúc web service . . . . . . . . . . . . . . . . . . . . . . . . .

33 38 3.1 Chim Tui - New Zealand . . . . . . . . . . . . . . . . . . . . . . . 3.2 Mô hình hệ thống TUI Security . . . . . . . . . . . . . . . . . . .

39 41 42 43 44 47

3.3 Kiến trúc ứng dụng TUI Security . . . . . . . . . . . . . . . . . . 3.4 Danh sách các tác nhân sử dụng hệ thống . . . . . . . . . . . . . 3.5 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Use case Login App . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Use case Remote Control Device . . . . . . . . . . . . . . . . . . 3.8 Sơ đồ khối xử lý trong trường hợp khẩn cấp . . . . . . . . . . . . 3.9 Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin trên

thiết bị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

50 3.10 Sơ đồ khối xử lý khi nhận tin nhắn điều khiển thực thi lắng nghe 51 3.11 Sơ đồ khối mô tả điều kiện để kết thúc việc lắng nghe trên thiết bị 52 3.12 Sơ đồ khối xử lý khi có tin nhắn điều khiển khóa màn hình và phát âm thanh cảnh báo . . . . . . . . . . . . . . . . . . . . . . . 3.13 Sơ đồ khối bên nhận yêu cầu lấy vị trí thiết bị và thông tin thuê bao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

DANH MỤC HÌNH ẢNH

xi

57 59 61 3.14 Sơ đồ khối phía server nhận và xử lý yêu cầu đăng ký, đăng nhập, nhận lại mật khẩu . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15 Sơ đồ khối phía server nhận và xử lý yêu cầu gởi SMS . . . . . . . . . . . . 3.16 Sơ đồ khối phía client yêu cầu đăng ký tài khoản mới

64 65 65 4.1 Hiện thực bộ phận lắng nghe điều khiển . . . . . . . . . . . . . . 4.2 Hiện thực bộ phận xác thực và phân tích tin nhắn điều khiển . 4.3 Hiện thực bộ phận thực thi lệnh . . . . . . . . . . . . . . . . . .

4.4 Hiện thực tính năng cảnh báo khi có SIM mới được lắp vào thiết bị 66 67 4.5 Hiện thực tính năng chống trộm . . . . . . . . . . . . . . . . . . . 68 4.6 Hiện thực tính năng tìm kiếm thiết bị . . . . . . . . . . . . . . . 70 4.7 Quá trình soạn thảo tin nhắn điều khiển . . . . . . . . . . . . . . 71 4.8 Quá trình lắng nghe, phân tích và thực thi điều khiển . . . . . . 72 4.9 Một số hình ảnh về ứng dụng TUI Security . . . . . . . . . . . . 73 4.10 Một số hình ảnh về ứng dụng TUI Security (tt) . . . . . . . . . .

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

4.11 Website http://tuisolutions.com.vn của hệ thống . . . . . . . . . 4.12 Quá trình đăng ký tài khoản hệ thống . . . . . . . . . . . . . . . 4.13 Các bước thiết lập thông số ban đầu cho ứng dụng . . . . . . . . 4.14 Các giao diện tương tác chính của ứng dụng TUI Security . . . 4.15 Các bước thực hiện một điều khiển từ xa trên ứng dụng . . . . . 73 74 75 76 77

DANH MỤC BẢNG BIỂU

xii

Danh mục bảng biểu

10 20 2.1 Các đặc tính của thiết kế an toàn . . . . . . . . . . . . . . . . . . 2.2 Thư mục con của /data/data/ . . . . . . . . . .

36 37 43 45

3.1 Bảng đặc tả yêu cầu chức năng của hệ thống . . . . . . . . . . . 3.2 Bảng yêu cầu kỹ thuật của hệ thống . . . . . . . . . . . . . . . . 3.3 Đặc tả Use Case Login App . . . . . . . . . . . . . . . . . . . . . 3.4 Đặc tả Use Case Send Control Command . . . . . . . . . . . . . 3.5 Bảng mô tả đường dẫn yêu cầu các chức năng và phương thức

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

tương ứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

DANH MỤC TỪ VIẾT TẮT

xiii

Danh mục từ viết tắt

Viết tắt của

Từ 3G Third Generation

Ý nghĩa Thế hệ thứ 3 của công nghệ truyền thông di động

API Giao diện lập trình ứng dụng

Application Programming In- terface

GPS Global Positioning System Hệ thống định vị toàn cầu GPS

GMS

Global System for Mobile Communications Hệ thống thông tin di động toàn

HTTP Hypertext Transfer Protocol

Giao thức truyền tải siêu văn bản

IDC

International Data Corpora- tion

Tập đoàn Dữ liệu quốc tế (IDC) là nhà cung cấp hàng đầu về thông tin thị trường, các dịch vụ tư vấn, và các sự kiện cho thị trường công nghệ công

nghệ thông tin, viễn thông và người tiêu dùng.

IDE

Integrated Development Envi- ronment Một loại phần mềm máy tính có công dụng giúp đỡ các lập

trình viên trong việc phát triển phần mềm

IMEI International Mobile Station Mã số nhận dạng thiết bị di

Equipment Identity động trên toàn thế giới

JSON JavaScript Object Notation dữ liệu trong

Một kiểu JavaScript

MD5 MessageDigest algorithm 5 Giải thuật Tiêu hóa tin 5

MMS Multimedia Messaging Service Dịch vụ nhắn tin đa phương

tiện

MSISDN Mobile Subscriber Integrated Là một số duy nhất xác định

Services Digital Network- Number một thuê bao trong GSM hoặc mạng di động UMTS

PIN

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Personal Identification Num- ber Mã số cá nhân, dùng để xác thực thuê bao di động.

DANH MỤC TỪ VIẾT TẮT

xiv

REST

Representation State Transfer Chuyển giao trạng thái biểu diễn, là dạng yêu cầu dịch vụ web mà máy khách truyền đi trạng thái của tất cả giao dịch

SDK Software Development Kit

Công cụ dành cho nhà phát triển phần mềm

SIM Subscriber Identity Module

Thẻ nhớ thông minh sử dụng trên điện thoại di động - lưu trữ những thông tin như số điện thoại, mã số mạng di động, mã PIN, sổ điện thoại cá nhân và các thông tin cần thiết khác khi

sử dụng điện thoại

SMS Short Message Service Dịch vụ tin nhắn ngắn

SOAP

Simple Object Access Protocol Một tiêu chuẩn của W3C, là giao thức sử dụng XML để định nghĩa dữ liệu dạng thuần văn bản (plain text) thông qua HTTP

UMTS

Universal Mobile Telecommu- nications System Hệ thống viễn thông di động toàn cầu

W3C World Wide Web Consortium Tổ chức lập ra các chuẩn cho

Internet

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

XML eXtensible Markup Language Ngôn ngữ Đánh dấu Mở rộng

DANH MỤC THUẬT NGỮ CHUYÊN NGÀNH

xv

Danh mục thuật ngữ chuyên ngành

Từ tiếng Anh Giải thích

accelerator sensor Cảm biến gia tốc

database Cơ sở dữ liệu

mobile forensics

Khoa học về phục hồi bằng chứng kỹ thuật số từ một điện thoại di động theo các điều kiện pháp lý bằng cách sử dụng các phương pháp được chấp nhận

logs

File lưu trữ tin thông báo, lỗi khi một ứng dụng đang chạy

Lừa đảo trực tuyến phishing

rooted/rooting

Hành động cho phép thiết bị đạt được quyền hạn root user

Điện thoại thông minh smartphone

Phần mềm gián điệp spyware

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Mục tiêu tấn công target

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

1

Chương 1: Giới thiệu đề tài

1.1 Tên đề tài

Xây dựng hệ thống quản lý bảo mật trên Android Smartphones.

1.2 Từ khóa

An ninh thông tin, lỗ hổng bảo mật, bảo vệ dữ liệu, mobile theft, anti-theft,

định vị toàn cầu GPS, Android rooting, mobile forensics, phone finding.

1.3 Mục tiêu đề tài và các vấn đề đặt ra

Để giới thiệu ý tưởng chính, tác giả xin giới thiệu một “kịch bản” minh họa

cho các vấn đề trong khóa luận này.

Mạnh là một doanh nhân thành đạt. Anh thường xuyên đi công tác khắp các tỉnh thành cả nước. Mạnh sử dụng smartphone để hỗ trợ cho công việc của mình. Tất cả các thông tin liên lạc của khách hàng, thông tin hoạt động của doanh nghiệp, lịch hẹn, lịch làm việc Mạnh đều lưu trữ trong chiếc di động đó. Mạnh thường xuyên giao tiếp với khách hàng qua email, mạng xã hội và qua các cuộc hội thoại (phone calls). Điện thoại của Mạnh được cài đặt một phần mềm quản

lý bảo mật.

Trong một lần công tác tại thành phố Hồ Chí Minh, Mạnh bị tội phạm đường phố giật mất điện thoại (một trong những loại hình phạm tội phổ biến tại thành phố này). Trong chiếc điện thoại này có những dữ liệu quan trọng về công ty và khách hàng, nếu bị kẻ xấu lợi dụng sẽ ảnh hưởng rất lớn đến uy tín cũng như công việc của Mạnh.

Ngay lúc đó, Mạnh mượn điện thoại một đồng nghiệp và nhắn tin đến số thuê

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

bao vừa bị mất. Tin nhắn này yêu cầu phần mềm bảo mật thực hiện sao lưu và xóa tất cả những thông tin quan trọng trên điện thoại (thông tin tài khoản, danh bạ, tin nhắn, tài khoản mạng xã hội,...), sau đó gửi các file sao lưu về email của

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

2

Mạnh. Đồng thời, anh yêu cầu nhà cung cấp dịch vụ khóa thẻ SIM của anh để tránh bị sử dụng trái phép. Vì thế mà thông tin cá nhân của anh được đảm bảo an toàn.

Vài ngày sau, Mạnh được thông báo qua email rằng có một thuê bao đang sử dụng điện thoại của anh. Thông tin bao gồm số thuê bao, tên, số chứng minh

nhân dân của chủ thuê bao. Mạnh gửi tin nhắn nặc danh đến số điện thoại này và nhận được thông tin về địa chỉ hiện tại của chủ thuê bao, cũng như các thông tin về tài khoản email, tài khoản mạng xã hội và một số hình ảnh. Cung cấp các thông tin này cho cơ quan chức năng, Mạnh đã lấy lại được điện thoại của mình.

Phần mềm quản lý bảo mật mà Mạnh sử dụng đã giúp anh yên tâm về dữ

liệu của mình, cũng như giúp anh tìm lại thiết bị.

Dựa vào tình huống thực tế trên, khóa luận được xây dựng để nghiên cứu và phát triển một hệ thống quản lý bảo mật nhằm: bảo vệ và quản lý dữ liệu trên thiết bị; phát hiện và cảnh báo nguy cơ trộm cắp thiết bị; truy tìm thiết bị; thu thập dữ liệu cho cơ quan chức năng trong quá trình điều tra.

Theo đó, khóa luận này nhằm mục đích giải quyết các vấn đề nghiên cứu

sau:

1. Làm thế nào để nhận dạng một thiết bị (điện thoại di động)? Các cách thức để vô hiệu hóa một thiết bị? Trong trường hợp thiết bị không thể vô hiệu hóa vật lý, làm cách nào để bảo vệ dữ liệu và thiết bị này?

2. Trong trường hợp thiết bị ngoài tầm kiểm soát (bị trộm cắp, thất lạc,. . . ), làm cách nào để biết ai đang sử dụng thiết bị của mình và sử dụng nó như thế nào? Cách thức liên lạc từ xa giữa người sử dụng và thiết bị trong trường hợp này ra sao?

3. Cách thức nào để lấy thông tin chủ thuê bao đang sử dụng thiết bị cũng

như vị trí hiện tại và các dữ liệu quan trọng của thiết bị? Chúng có ảnh hưởng như thế nào đến mobile forensics?

4. Điện thoại thông minh, đặc biệt điện thoại rooted có những nguy cơ bảo mật nào? Khai thác những lỗ hổng đó để phục vụ lĩnh vực mobile forensics ra sao?

5. Xây dựng một hệ thống quản lý bảo mật cần có những tính năng nào? Mô

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

hình và cách thức hoạt động của hệ thống ra sao?

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

3

1.4 Đối tượng áp dụng và phạm vi của đề tài

Trọng tâm của khóa luận đề cập đến việc quản lý và bảo mật dữ liệu trong các trường hợp thiết bị ngoài tầm kiểm soát, bị trộm cắp, hoặc hư hỏng. Khóa

luận không đề cập đến các trường hợp mất mát dữ liệu khác (do sự phá hoại của các phần mềm virus, malware, trojan hoặc do các hành vi lừa đảo). Khóa luận chỉ tập trung nghiên cứu hệ thống quản lý bảo mật nhằm phục vụ việc bảo vệ dữ liệu, cảnh báo và phòng chống trộm cắp, tìm kiếm điện thoại, thu thập thông tin phục vụ công tác điều tra. Khóa luận không đề cập đến trường hợp sử dụng hệ thống cho các mục đích khác.

Cụ thể hơn, khóa luận phát triển hệ thống trên nền tảng Android, dựa trên

hạ tầng mạng GSM và UMTS, một số tính năng chỉ áp dụng trong nước Việt Nam. Giả sử rằng điện thoại của người sử dụng đã được rooted (vấn đề này sẽ được nghiên cứu trong các chương sau).

Khóa luận được xây dựng trên nền tảng kiến thức lập trình cơ bản, kiến thức

hệ thống mạng và các dịch vụ mạng.

Hệ thống được xây dựng nhằm phục vụ người dùng trong công tác quản lý và bảo vệ dữ liệu và thiết bị. Ngoài ra, hệ thống còn có thể được sử dụng bởi

các cơ quan pháp chứng trong điều tra tội phạm; các nhà nghiên cứu trong lĩnh vực mobile forensics.

1.5 Đối tượng nghiên cứu

Trong giới hạn đề tài này, khóa luận sẽ thực hiện nghiên cứu các đối tượng

• Đặc tính của các sản phẩm hấp dẫn tội phạm (HOT Products) và đặc tính

sau:

• Thu thập dữ liệu, mobile forensics và các vấn đề liên quan.

• Xây dựng hành vi và mô hình hoạt động của hệ thống quản lý bảo mật.

• Lợi ích và nguy cơ về bảo mật khi rooting điện thoại Android.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

của sản phẩm an toàn IN SAFE HANDS [23].

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

4

1.6 Phương pháp nghiên cứu

Khóa luận được thực hiện trên cơ sở nghiên cứu về mức độ quan trọng của dữ liệu trên điện thoại di động và tương quan với tình hình mất an toàn thông

tin để xác định cần thiết phải xây dựng một hệ thống quản lý, bảo vệ dữ liệu. Khóa luận cũng thực hiện tìm hiểu và nghiên cứu đặc tính sản phẩm HOT Products và đặc tính của sản phẩm an toàn IN SAFE HANDS từ những công trình nghiên cứu trước đó để xác định các yêu cầu và định hướng xây dựng một hệ thống quản lý bảo mật tốt. Ngoài ra, khóa luận cũng thực hiện tìm hiểu về hệ điều hành Android, nghiên cứu vấn đề mobile forensics, nghiên cứu về Android root access, dịch vụ mạng và web service làm nền tảng kiến thức thực

hiện xây dựng và phát triển hệ thống quản lý bảo mật trên thiết bị sử dụng nền tảng Android.

Trong khóa luận này, nhóm tác giả sử dụng phương pháp phân tích, phương pháp mô phỏng, phương pháp nghiên cứu thực tiễn làm phương pháp nghiên cứu chủ đạo nhằm làm rõ thực trạng an toàn thông tin, vấn đề quản lý bảo vệ dữ liệu, tìm kiếm thiết bị, trinh sát thông tin,. . . từ đó xây dựng một hệ thống quản lý bảo mật hoàn chỉnh trên Android smartphones.

1.7 Đóng góp của đề tài

• Trong thực tiễn:

Qua quá trình nghiên cứu, khóa luận đạt được một số kết quả như sau:

Xây dựng thành công hệ thống quản lý bảo mật điện thoại nhằm: bảo vệ

• Trong nghiên cứu:

dữ liệu, thiết bị; cảnh báo nguy cơ và chống trộm; tìm kiếm thiết bị; thu thập thông tin phục vụ công tác điều tra. Hệ thống được xây dựng thiết thực trong môi trường thực tiễn Việt Nam hiện nay.

– Khóa luận đã tìm hiểu và tổng hợp các nghiên cứu trên thế giới về các sản phẩm HOT Products và đặc tính của một sản phẩm an toàn IN SAFE HANDS làm nền tảng lý thuyết để từ đó xây dựng thành công hệ thống quản lý bảo mật trên.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

– Khóa luận đã đề ra được các phương pháp, cách thức để bảo vệ dữ liệu, thu thập các dữ liệu quan trọng để phục vụ công tác nghiên cứu

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

5

và điều tra tội phạm.

– Khóa luận chỉ ra được nguy cơ bảo mật nghiêm trọng khi sử dụng điện thoại thông minh trong các trường hợp đã rooted. Qua đó, khóa luận đã đưa ra lời khuyên cho người dùng cân nhắc trước khi thực hiện rooting thiết bị của mình.

1.8 Cấu trúc khóa luận

Báo cáo khóa luận được cấu trúc như sau:

Chương 1 giới thiệu tổng quan về đề tài nghiên cứu, mục đích nghiên cứu,

phạm vi nghiên cứu, các vấn đề cần giải quyết và các kết quả đạt được.

Chương 2 nêu lên mức độ nghiêm trọng của tình hình an toàn thông tin trên điện thoại di động. Từ đó, nghiên cứu các phương pháp để bảo vệ dữ liệu, thiết kế mô hình hệ thống quản lý bảo mật điện thoại. Đồng thời, chương này cũng đi khảo sát các hệ thống đã được phát triển, khái quát các kiến thức, công nghệ liên quan, giới thiệu cách tiếp cận của khóa luận để giải quyết vấn đề.

Chương 3 đề ra các đặc tả yêu cầu của hệ thống, thiết kế kiến trúc và mô

hình hệ thống và đề ra giải thuật cho các vấn đề được nêu ở chương 1.

Chương 4 trình bày việc hiện thực các thiết kế từ chương 3, hiện thực các giải thuật, giới thiệu giao diện ứng dụng. Cuối chương là phần đánh giá chi tiết về hệ thống được phát triển trong khóa luận.

Cuối cùng, các tác giả tổng kết đề tài trong chương 5, nêu lên ý nghĩa của

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

đề tài và đưa ra hướng phát triển tiếp theo.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

6

Chương 2: Khảo sát hiện trạng và các kiến

thức liên quan

2.1 An toàn thông tin trên điện thoại di động

Theo báo cáo của Liên minh Viễn thông Quốc tế, đến cuối năm 2011 thế giới có khoảng 6 tỷ thuê bao di động, tương đương với 87% dân số thế giới [17]. Một nghiên cứu của Portio Research dự đoán thuê bao di động sẽ đạt 6.5 tỷ vào cuối năm 2012, 6.9 tỷ cuối năm 2013 và 8 tỷ cuối năm 2016 [20]. IDC (2/2012) cho biết toàn thế giới đã có 1 tỷ 546 triệu điện thoại di động được bán ra trong năm 2011, tăng 11.1% so với năm 2010, trong đó điện thoại thông minh chiếm tỉ lệ 31.8% với 491.4 triệu chiếc [7].

Cùng với sự phát triển nhanh chóng của công nghệ và sự ra đời hàng loạt sản phẩm, điện thoại di động ngày càng lưu trữ một khối lượng dữ liệu đồ sộ và không ngừng sản sinh thêm. Thật vậy, chỉ tính trong năm 2011, 7.8 nghìn tỷ tin nhắn SMS đã được gửi đi. Con số này trong năm 2012 đạt 9,6 nghìn tỷ tin nhắn SMS. Đến năm 2013, doanh thu SMS toàn cầu được dự báo lần đầu tiên đạt trên 150 tỷ USD và sẽ tiếp tục tăng trong hai năm tới. Cũng trong năm 2011, toàn cầu có 669.5 triệu người sử dụng email trên thiết bị di động, kỳ vọng

tăng trưởng đến 2.4 tỷ người đến năm 2016. Năm 2011 cũng chứng kiến 207 triệu tin nhắn MMS được gửi đi, kỳ vọng đạt được 276.8 triệu tin nhắn MMS đến năm 2016. Trong năm 2009, 81.3 triệu người trên toàn thế giới đã sử dụng thiết bị di động để thực hiện các thanh toán, đạt khối lượng 68.7 tỷ USD. Con số này tiếp tục tăng nhanh đạt 490 triệu người trong năm 2014, nâng tổng khối lượng thanh toán lên 633.4 tỷ USD [20]. Một khảo sát khác cho biết: 81% điện thoại di động được sử dụng để duyệt web, 77% sử dụng để tìm kiếm, sinh ra

425 triệu người dùng Facebook thường xuyên (tháng 12-2011), 200 triệu video YouTube được phát hàng ngày [13].

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Dữ liệu trên điện thoại di động được lưu trữ trong một hình thức tập trung cao độ và di động [12]. Do đó, chúng thu hút các tội phạm nói chung và tội

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

7

phạm mạng. Điện thoại di động trở thành mục tiêu tấn công chủ yếu, cung cấp hàng triệu các mục tiêu tiềm năng. Chúng cũng có rất nhiều lỗ hổng. Các nhà sản xuất thường không cài sẵn phần mềm bảo mật trên thiết bị của mình [14]. Thêm nữa, vì nhỏ gọn và giá rẻ, điện thoại di động không những dễ mất và tương đối dễ bị trộm cắp mà còn có vòng đời sử dụng tương đối ngắn trước khi

người sử dụng mong muốn một thiết bị mới hơn. Tất cả những trường hợp này dẫn đến nguy cơ mất an toàn thông tin nghiêm trọng trên điện thoại di động. Nếu thông tin nhạy cảm bị khai thác, tội phạm có thể xác định được cụ thể đối tượng mà chúng đang lợi dụng, mục tiêu tấn công và thậm chí cả cơ hội thành công khi tấn công [12].

Trong một khảo sát, 36% người sử dụng điện thoại đã từng có một thiết bị bị mất. Tại Mỹ, 113 điện thoại bị mất mỗi phút [21]. Tại Vương quốc Anh, nạn

trộm cắp điện thoại gây thiệt hại 390 triệu bảng mỗi năm với hơn 2 triệu thiết bị bị đánh cắp, tương đương với 229 thiết bị trong một giờ [8]. Những sự thật này cho thấy rằng bảo mật thiết bị di động là một mối quan tâm hàng đầu hiện nay.

Hiểu được những nguy cơ và các kịch bản rủi ro khác nhau cho phép các nhà phát triển ứng dụng có thể thiết kế hệ thống quản lý bảo mật thích hợp để giảm thiểu rủi ro. Trong các phần tiếp theo, khóa luận sẽ thực hiện nghiên cứu

các kịch bản rủi ro và nghiên cứu các giải pháp để xây dựng hệ thống quản lý bảo mật trên điện thoại thông minh.

2.2 Kịch bản rủi ro

Trong phần này khóa luận đề cập đến một số trường hợp xảy ra trong thực tế về mất mát dữ liệu trên điện thoại thông minh và những hậu quả của nó. Qua đó cho thấy sự cấp thiết phải xây dựng một hệ thống quản lý bảo mật để

• Kịch bản 1:

bảo vệ dữ liệu, thiết bị của người dùng.

Minh đang trên đường đến trường. Trong túi sách của Minh có chiếc điện thoại di động mà mẹ cậu đưa để gọi trong các trường hợp cần thiết. Giữa

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

đường, Minh bị một nhóm thanh niên chặn đường và cướp mất túi sách của mình. Chuyện mất điện thoại chỉ là một vấn đề đơn giản. Minh đã mua một chiếc điện thoại, một thẻ SIM khác và không quan tâm về sự cố này. Tuy nhiên, một thời gian sau đó Minh nhận được một số thông tin từ bạn

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

8

• Kịch bản 2:

bè và người thân của cậu rằng ai đó đã mạo danh cậu để vay mượn tiền bạc từ họ bằng số thuê bao đã mất trước đó.

Khánh là một nhân viên phụ trách mảng marketing của một công ty quảng cáo lớn. Anh được công ty cấp cho điện thoại di động để phục vụ công việc. Điện thoại của anh lưu trữ các thông tin về khách hàng, các giao dịch,

• Kịch bản 3:

email, các trao đổi cá nhân. Trong một lần đi tham dự hội thảo, anh bị ai đó lấy trộm điện thoại của mình. Sau sự việc này, tất cả thông tin về khách hàng và kế hoạch, chiến lược của công ty anh lọt vào tay đối thủ. Giám đốc công ty đã rất tức giận và sa thải Khánh.

Vy là một nhân viên văn phòng làm việc tại một công ty xuất nhập khẩu. Công việc bận rộn, giao tiếp khách hàng thường xuyên nên Vy để điện thoại di động trên bàn làm việc cho tiện. Rời phòng làm việc vì có công việc đột xuất, Vy đã để quên điện thoại trong phòng cho tới ngày hôm sau. Mọi

chuyện bắt đầu khi mọi người trong công ty bàn tán về chuyện đời tư của Vy. Sự thật là một đồng nghiệp đã đọc lén các tin nhắn và hình ảnh riêng tư của Vy trên chiếc điện thoại để quên ngày hôm đó và phát tán chúng.

Các câu chuyện trên chỉ là một phần rất nhỏ trong các tình huống thực tế. Tuy

vậy nó đã khẳng định việc mất mát dữ liệu có thể xảy ra ở bất cứ đâu và bất cứ lúc nào trong khi hậu quả không thể lường trước được. Nếu các kịch bản này diễn ra theo hướng của kịch bản trong phần 1.3; khi mà các thiết bị được cài đặt phần mềm quản lý bảo mật thì rõ ràng mức độ ảnh hưởng đã được giảm hẳn. Điều đó cho thấy, việc xây dựng và phát triển hệ thống quản lý bảo mật là một vấn đề quan trọng cần phải nghiên cứu cẩn thận. Trong phần tiếp theo, khóa luận sẽ đưa ra các luận cứ về đặc tính của một thiết bị an toàn và yêu cầu

cần thiết khi phát triển hệ thống quản lý bảo mật nhằm đảm bảo một thiết bị được an toàn.

2.3 Đặc điểm của một thiết bị an toàn

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Theo Clarke et al. [4], các hành vi trộm cắp xuất phát từ bản chất của hàng hóa. Đề tài này đã thúc đẩy nhiều công trình nghiên cứu nhằm đưa ra các đặc tính chung của các sản phẩm hấp dẫn tội phạm (HOT products). Theo Cohen

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

9

and Felson [5] các đặc tính đó là tính giá trị, tính hấp dẫn, có thể nhìn thấy được và dễ bị tổn thương mà tác giả gói gọn trong từ viết tắt VIVA (Value, Inertia, Visibility, Accessibility). Năm 1999, Clarke et al. [4] tái định nghĩa các đặc tính của HOT products thành CRAVED (Concealable, Removable, Available, Valuable, Enjoyable, Disposable). Mỗi đặc tính là một thành phần quan trọng

giải thích vì sao các sản phẩm hấp dẫn tội phạm. Các đặc tính này hiển nhiên và không thể thay đổi được. Vấn đề là làm cách nào để chúng ta có thể thiết kế một sản phẩm an toàn hơn kể cả khi chúng mang những đặc tính như vậy?

Các tác giả Whitehead, Mailley, Storer, McCardle, Torrens, and Farrell trong bài viết "IN SAFE HANDS: A Review of Mobile Phone Anti-theft Designs" đã đề xuất thiết kế sản phẩm an toàn nên bao gồm một hoặc hơn một tập hợp các đặc tính, mà tác giả gọi là IN SAFE HANDS (Identifiable, Neutral, Seen,

Attached, Findable, Executable, Hidden, Automatic, Necessary, Detectable, Se- cure). Chi tiết về các đặc tính này được thể hiện chi tiết ở bảng 2.1.

Mô tả chi tiết

Đặc tính Identifiable Thiết bị phải có thể xác định được bởi chủ sở hữu.

Neutral

Các tính năng bảo vệ thiết bị không nên gây ảnh hưởng đến trải nghiệm của người dùng. Các tính năng này không nên làm cho thiết bị khó khăn hơn trong việc xử lý và thực hiện các tính năng vốn có của mình.

Seen

Thiết bị phải trong tầm kiểm soát (tầm nhìn) và có báo động để tăng tính răn đe tội phạm.

Attached

Một sản phẩm an toàn nên có tính cố định; được cố định ở một vị trí hoặc gắn trên cơ thể người sử dụng. Các túi bảo vệ thiết bị đeo trên người là một minh chứng cho đặc tính này.

Findable

Nếu bị mất hoặc bị trộm cắp, thiết bị có thể theo dõi và được tìm thấy.

Thiết bị di động có thể được vô hiệu hóa nếu chúng bị

Executable mất hoặc bị trộm cắp. Ngoài ra thiết bị nên được điều khiển từ xa thực hiện một số yêu cầu khác nhau.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hidden Một sản phẩm nên được ẩn đối với người dùng.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

10

Automatic

Thiết bị sẽ được bảo vệ tốt hơn với những ứng dụng bảo mật tự động. Trong số đó, thẻ SIM cũng được tự động bảo vệ bởi mã PIN, nhưng hiếm khi được sử dụng trên điện thoại di động. Thiếu tự động hóa cho phép người phạm tội để tận dụng lợi thế bởi sự thờ ơ về bảo mật của

một bộ phận người dùng.

Necessary Một thiết bị an toàn cần thiết phải chứng thực chủ sở hữu bằng các thông tin cần thiết, chẳng hạn như mã số PIN cá nhân, sinh trắc học,. . .

Detectable

Các thiết kế phải có thể xác định được một hành vi trộm cắp đối với thiết bị đang xảy ra hoặc đã xảy ra. Thiết kế chống trộm thiết bị phải có khả năng phát hiện và cảnh báo các nguy cơ bị trộm cắp.

Secure Các thiết bị nên được bảo mật. Chúng không nên bị tấn công (bằng phần mềm) hoặc dễ dàng xóa bỏ các chương trình bảo mật.

Bảng 2.1: Các đặc tính của thiết kế an toàn

Việc định nghĩa các đặc tính trên là những cơ sở lý thuyết cần thiết trong việc giải quyết các vấn đề lý luận trong thiết kế hệ thống quản lý bảo mật được đề cập đến ở chương 1. Các phần tiếp theo sẽ khảo sát và đánh giá một số hệ thống đã được phát triển trước đó và đi sâu tìm hiểu các kiến thức cần nắm vững để phát triển một hệ thống quản lý bảo mật tốt.

2.4 Các hệ thống đã được phát triển

Trong phần này, khóa luận xin giới thiệu về một số hệ thống, phần mềm quản lý bảo mật tiêu biểu đã được phát triển trên hệ điều hành Android. Các phần mềm này thực hiện rất nhiều chức năng bảo mật như Security & Antivirus, Web Protection, Anti-theft Protection, Call & SMS Filtering, Privacy Protection, Phone Finding, Backup & Restore,. . . . Hệ thống được xây dựng trong khóa

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

luận này không thể so sánh về sự đa dạng tính năng như các hệ thống đã phát triển trước đó. Tuy nhiên, vì chỉ tập trung các tính năng bảo vệ dữ liệu, Anti- theft Protection, Phone Finding, Mobile forensics cho nên hệ thống mà khóa

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

11

luận đã phát triển có một số điểm nổi bật riêng. Do đó, trong phần này khóa luận chỉ chú trọng đến các tính năng trên của các hệ thống trước đó.

2.4.1 Lookout Security & Antivirus

Phần mềm bảo mật đứng đầu các kết quả khi tìm kiếm bằng từ khóa security trên Google Play (Android Market). Phần mềm có khoảng 50 triệu người cài đặt và gần 300000 người dùng đánh giá sản phẩm hạng 5 sao. Phần mềm được

• Security & Antivirus

• Find My Phone

tạp chí TechCrunch đánh giá là “Top 10 Best Free Apps”, tạp chí PCWorld đánh giá “5 out of 5 stars!”.1 Các tính năng của phần mềm bao gồm:

Giao diện tính năng Find My Phone của phần mềm Lookout Security & Antivirus như hình 2.1.

Hình 2.1: Tính năng Find My Phone của Lookout Security & Antivirus

Các tính năng Find My Phone bao gồm:

– Tìm kiếm thiết bị trên Google Map trực tiếp trên Lookout.com (yêu

Accessed

1https://play.google.com/store/apps/details?id=com.lookout&hl=en,

Feb 16,2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

cầu tài khoản đăng nhập).

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

12

– Báo động lớn và khẩn cấp để tìm kiếm thiết bị kể cả khi thiết bị trong

chế độ im lặng.

– Tự động lưu trữ vị trí cuối cùng của thiết bị trên Lookout.com để phục

vụ công tác tìm kiếm kể cả khi thiết bị hết pin.

– Điều khiển thiết bị từ xa từ Lookout.com để tránh người sử dụng thiết

bị trái phép.

– Xóa dữ liệu để không ai có thể đọc được chúng trong các trường hợp

• Backup & Restore

cần thiết.

– Backup danh bạ liên lạc tự động.

– Phục hồi danh bạ đến những thiết bị mới từ tài khoản Lookout.com.

– Bảo vệ các files hình ảnh và lịch sử cuộc gọi một cách tự động.

– Chuyển đổi danh bạ, hình ảnh và lịch sử cuộc gọi đến các thiết bị mới

sử dụng tài khoản Lookout.com

2.4.2 Kaspersky Mobile Security

Kaspersky Mobile Security là một phần mềm bảo mật di động do hãng bảo mật nổi tiếng Kaspersky phát triển. Kapersky Mobile Security sử dụng các công nghệ bảo mật mới nhất để bảo vệ các thiết bị Android chống lại virus điện thoại, các nguy cơ từ Internet, các website lừa đảo (phishing), spyware và spam. Phần

• Antivirus Protection

• Web Protection

• Call & SMS Filtering

• Anti-theft Protection

mềm dễ sử dụng, cung cấp tính năng bảo vệ nâng cao trong các trường hợp điện thoại bị mất hoặc bị hư hỏng bằng cách điều khiển bảo vệ dữ liệu từ xa và truy tìm dấu vết của thiết bị. Phần mềm bao gồm các tính năng cụ thể như sau:

– Điều khiển từ xa vô hiệu hóa thiết bị trong các trường hợp bị mất hoặc

bị hư hỏng.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

– Điều khiển từ xa xóa dữ liệu cá nhân trên thiết bị điện thoại.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

13

– Tìm kiếm điện thoại bị mất sử dụng GPS, Wifi và Google Maps.

– Vô hiệu hóa, format hoặc truy tìm vị trí thiết bị ngay cả khi SIM card

• Privacy Protection

đã bị thay đổi.

– Quản lý dữ liệu, người sử dụng dữ liệu.

– Ẩn các thông tin quan trọng và nhạy cảm: danh bạ, tin nhắn cá nhân,

lịch sử cuộc gọi.

Giao diện tính năng Anti-theft của phần mềm Kaspersky Mobile Security như hình 2.2.

Hình 2.2: Tính năng Anti-theft của Kaspersky Mobile Security

2.4.3 Bitdefender Anti-Theft

Bitdefender Anti-Theft là một sản phẩm của hãng bảo mật Bitdefender. Ứng dụng này cho phép tìm kiếm, khóa, xóa dữ liệu trên những thiết bị Android bị mất hoặc hư hỏng bất kỳ lúc nào và bất cứ đâu. Ngoài ra, ứng dụng còn cho phép bảo vệ dữ liệu cá nhân giảm thiểu mất mát dữ liệu; vô hiệu hóa việc xóa bỏ ứng dụng khi đã được cài đặt, cung cấp các phương pháp bảo vệ thiết bị

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

thông minh. Các tính năng cốt lõi của ứng dụng có thể kể đến như:

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

14

• Multi-device: Ứng dụng Bitdefender Anti-Theft sử dụng được cho tất cả

• Tìm kiếm thiết bị

• Khóa thiết bị thông qua điều khiển từ xa.

• Quản lý ứng dụng bằng Password hoặc mã PIN.

• Điều khiển từ xa để xóa dữ liệu quan trọng của thiết bị.

• Báo động khi có điều khiển kể cả khi thiết bị trong chế độ im lặng.

• Cảnh báo thẻ SIM bị thay đổi.

• Sử dụng các tin nhắn lệnh (SMS Commands) để điều khiển.

• Direct Contact: Gửi tin nhắn lệnh đến điện thoại di động để điều khiển thiết bị thực hiện cuộc gọi hoặc trả lời cuộc gọi. Hình 2.3 giới thiệu về giao diện của tính năng điều khiển từ xa.

các thiết bị gia đình, bao gồm laptops, smartphones hay tablets.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 2.3: Giao diện điều khiển của ứng dụng Bitdefender Anti-Theft

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

15

2.5 Hệ điều hành Android

Android là một môi trường hệ điều hành hoàn chỉnh dựa trên hệ điều hành nhân Linux v2.6. Lúc đầu, đích triển khai đối với Android là lĩnh vực điện thoại

di động, gồm các loại điện thoại thông minh và các loại thiết bị điện thoại kiểu gập chi phí thấp. Tuy nhiên, phạm vi đầy đủ các dịch vụ điện toán của Android và sự hỗ trợ chức năng phong phú làm cho nó có tiềm năng mở rộng vượt ra ngoài thị trường điện thoại di động. Do đó, Android có thể hữu ích đối với các nền tảng và ứng dụng khác. Trong phần này, khóa luận xin điểm qua khái quát về hệ điều hành này và lý do vì sao tác giả lại chọn Android làm nền tảng đầu tiên để nghiên cứu, phát triển hệ thống quản lý bảo mật.

2.5.1 Sự phát triển của hệ điều hành Android

Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu phát HD, HD Player) phát triển bởi Google. Trước đây, Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm 2005) [24].

Nền tảng Android được các công ty phần mềm lựa chọn vì chi phí phát triển thấp, tùy chỉnh, hệ thống điều hành nhẹ cho các thiết bị công nghệ cao mà không cần phải phát triển lại từ đầu. Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình. Hiện tại có khoảng 700000 ứng dụng và game trên Google Play, số lượt tải ứng dụng đạt ngưỡng 25 tỷ lượt từ khi Android xuất hiện và bình quân có khoảng 1.5 tỷ lượt tải ứng dụng mỗi tháng và không ngừng tăng lên [19]. Những yếu tố này đã

giúp cho Android để trở thành nền tảng được sử dụng rộng rãi nhất trên điện thoại thông minh, vượt qua nền tảng Symbian trong quý IV năm 2010 [22]. Trong quý III năm 2012, các thiết bị Android được bán ra chiếm thị phần 75% thị trường điện thoại thông minh toàn thế giới với 136 triệu thiết bị được kích hoạt [6].

2.5.2 Đặc trưng của hệ điều hành Android

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Android cung cấp đầy đủ một bộ phần mềm cho các thiết bị điện thoại: một hệ điều hành, các middleware và ứng dụng chủ chốt. Hệ điều hành Android có bốn đặc trưng sau: tính mở, tính ngang hàng giữa các ứng dụng, phá vỡ ranh giới ứng dụng và dễ dàng phát triển ứng dụng [2].

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

16

1. Tính mở: Hệ điều hành Android được xây dựng từ cấp độ phần cứng cho phép nhà phát triển xây dựng các ứng dụng sử dụng lợi thế đầy đủ của thiết bị đã cung cấp. Android được xây dựng để thực sự mở. Một ứng dụng có thể gọi tới bất kỳ một chức năng cốt lõi nào của điện thoại như thực hiện cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép các nhà phát triển tạo ra những trải nghiệm phong phú và gắn kết hơn cho người sử dụng. Android được xây dựng trên nhân Linux mở. Thêm nữa, nó sử dụng một

máy ảo tùy biến được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi trường di động. Android là một mã nguồn mở, nó có thể được mở rộng để kết hợp với các công nghệ tiên tiến mới xuất hiện. Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng các nhà phát triển làm việc với nhau để tạo ra các ứng dụng di động sáng tạo. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 84 công ty phần cứng, phần mềm và viễn

thông nhằm mục đích tạo nên một chuẩn mở cho điện thoại di động trong tương lai.1

2. Tính ngang hàng giữa các ứng dụng: Android không phân biệt giữa các ứng dụng cốt lõi của điện thoại và các ứng dụng của bên thứ ba. Tất cả các ứng dụng đều được xây dựng để có thể truy cập bằng tất cả khả năng của một điện thoại cung cấp cho người dùng. Với các thiết bị được xây dựng trên nền tảng Android, các ứng dụng có thể đáp ứng đầy đủ nhu cầu của người sử dụng. Người dùng có thể tự do tùy biến, cài đặt ứng dụng

và tùy chỉnh thiết bị.

3. Phá vỡ ranh giới ứng dụng: Android phá vỡ các rào cản để xây dựng các ứng dụng mới và sáng tạo. Ví dụ, một nhà phát triển có thể kết hợp thông tin từ các trang web với dữ liệu trên điện thoại di động của một cá nhân - ví dụ như địa chỉ liên lạc của người dùng, lịch, hoặc vị trí địa lý - để cung cấp một trải nghiệm người dùng có liên quan hơn. Với Android, một nhà phát triển có thể xây dựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và được cảnh báo khi họ đang có trong vùng phụ cận như một cơ hội để kết nối.

1http://www.openhandsetalliance.com/oha_faq.html, Accessed Feb. 16, 2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

4. Dễ dàng phát triển ứng dụng: Android cung cấp khả năng truy cập vào một loạt các thư viện và các công cụ hữu ích có thể được sử dụng để

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

17

xây dựng các ứng dụng hữu ích. Ví dụ, Android cho phép các nhà phát triển lấy được vị trí của điện thoại, cho phép các thiết bị giao tiếp với các mạng xã hội. Ngoài ra, Android còn bao gồm một tập hợp đầy đủ các công cụ đã được xây dựng từ phần cứng cung cấp cho các nhà phát triển hiệu năng cao và cái nhìn sâu vào các ứng dụng của họ.

Với những đặc tính trên của hệ điều hành Android, tác giả quyết định sử dụng nền tảng này là nền tảng đầu tiên để phát triển hệ thống quản lý bảo mật.

2.5.3 Lập trình trên Android

Hiện nay, có nhiều công nghệ được sử dụng để phát triển ứng dụng trên thiết bị di động chạy trên nền tảng Android, có thể kể đến là PhoneGap của Adobe, Mono Android của Xamarin, Android của Google.

Mono Android của Xamarin là một công nghệ mới, sử dụng nền tảng ngôn

ngữ lập trình C# để phát triển ứng dụng trên Android, sau đó có thể tùy chỉnh nhanh chóng để có được một ứng dụng chạy trên các nền tảng khác như iOS hay Windows Phone. Tuy nhiên, vì công cụ hỗ trợ lập trình và API phải có bản quyền để phát triển ứng dụng, nên nhóm tác giả đã không chọn giải pháp này. Về PhoneGap, đây là một công nghệ Hybrid sử dụng kết hợp Javascript, HTML5, CSS để xây dựng ứng dụng đa nền tảng. Chúng ta có thể sử dụng lợi thế của HTML5, CSS, Javascript để xây dựng một ứng dụng đẹp, mượt mà,

tương tác server tốt. Nhưng vì trong ứng dụng này, đòi hỏi việc tương tác phần cứng thiết bị, các dịch vụ chạy ngầm, các file/thư mục trong hệ thống phần cứng ở mức độ cao và yêu cầu quyền root user thì PhoneGap lại không là một sự lựa chọn hợp lý.

Vì vậy, khi xem xét đến việc sử dụng chính Android API của Google cung cấp để phát triển ứng dụng, nhóm tác giả đã giải quyết được hai vấn đề trên, đồng thời cũng nhận thấy rằng Android API hiện tại đã được phát triển gần

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

như hoàn chỉnh, nên mọi sự hỗ trợ dành cho việc phát triển là đầy đủ. Kết hợp với cộng đồng phát triển lớn, nên có sự hỗ trợ hay thảo luận khi gặp các vấn đề khó giải quyết trong quá trình thực hiện đề tài. Nhóm đã quyết định chọn Android API làm nền tảng chính để xây dựng ứng dụng này.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

18

2.6 Android Forensics

2.6.1 Nhận dạng và vô hiệu hóa điện thoại Android

Trong thực tế, chúng ta có thể xác định thiết bị điện thoại di động dựa vào

hai yếu tố: thiết bị và SIM. Thiết bị được xác định bởi một dãy số gọi là IMEI, ngược lại, thẻ SIM thì được xác định bằng dãy MSISDN. Theo London Taxi 2007, các thiết bị độc lập không thể nhận dạng được nếu thiếu một trong hai thông tin này [16].

Có một vài cách thức bảo mật cơ bản để bảo vệ điện thoại của bạn. Thẻ SIM có chứa một chuỗi password gọi là Personal Identification Number (PIN) thực hiện theo cơ chế ngăn chặn người dùng không được xác thực. Tuy nhiên, việc

sử dụng mã PIN chỉ được thực thi khi thẻ SIM được chuyển đổi qua lại giữa các thiết bị. Thẻ SIM vẫn hoạt động bình thường kể cả khi điện thoại hết pin. Người dùng có vẻ như miễn cưỡng sử dụng mã PIN mặc dầu nhà cung cấp dịch vụ có một số biện pháp để ngăn chặn sử dụng SIM của họ một cách trái phép [11]. Theo một khảo sát trên 297 người sử dụng điện thoại di động (thực hiện bởi Clarke and Furnell (2005))[3] có đến 34% người dùng không sử dụng mã PIN và 30% người dùng tin rằng chứng thực mã PIN là phiền phức. Với 66%

người dùng còn lại thì: 38% trong số đó quên mã PIN ít nhất một lần và tự khóa thẻ SIM đối với chính mình, 45% sử dụng mã PIN mặc định, 42% thay đổi chúng một lần sau khi mua và chỉ có 13% thay đổi mã PIN nhiều hơn một lần.

Thêm vào đó, tất cả các nhà cung cấp dịch vụ đều có thể vô hiệu hóa thẻ SIM nếu bạn yêu cầu. Ở Việt Nam, người dùng có thể dễ dàng vô hiệu hóa thẻ SIM của mình bằng cách cung cấp một số thông tin cần thiết cho nhà cung cấp

dịch vụ. Việc này đặc biệt quan trọng để ngăn chặn kẻ xấu lợi dụng hoặc đọc lén các thông tin trên SIM. Tuy nhiên, việc vô hiệu hóa này không đồng thời khóa thiết bị chứa chúng. Điều này tạo điều kiện cho kẻ xấu có thể gắn thẻ SIM khác vào thiết bị và sử dụng.

Ngoài ra, một số nhà cung cấp cũng có thể vô hiệu hóa thiết bị nếu như người dùng biết số IMEI của thiết bị. Tuy nhiên một vấn đề nghiêm trọng là rất ít người sử dụng biết được số IMEI của chính họ. Vấn đề thứ hai cần chú ý

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

là không phải số IMEI là duy nhất (khoảng 10% hoặc ít hơn [11]). Do đó việc vô hiệu hóa thiết bị theo số IMEI có thể ảnh hưởng đến những người dùng hợp pháp. Hơn nữa với một số thiết bị chuyên dụng, người dùng có thể thay đổi số

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

19

IMEI của thiết bị một cách nhanh chóng và hợp lệ.

Rõ ràng, việc vô hiệu hóa thẻ SIM chỉ có thể giảm được nguy cơ mất an toàn thông tin trên thẻ SIM, dữ liệu trên thiết bị vẫn có thể bị đọc lén hoặc sử dụng vào mục đích xấu. Việc vô hiệu hóa thiết bị cũng không khả thi. Thực tế này đặt ra vấn đề làm cách nào để có thể vô hiệu hóa dữ liệu trên thiết bị cũng như

cảnh báo khi có hành vi thay thế thẻ SIM của thiết bị?

2.6.2 Tổ chức và lưu trữ dữ liệu của hệ điều hành An-

droid

• Các ứng dụng cốt lõi của hệ điều hành Android.

• Các ứng dụng được cài đặt bởi nhà sản xuất thiết bị.

• Các ứng dụng được cài đặt bởi các thiết bị mạng không dây.

• Các ứng dụng thêm vào của Google/Android.

• Các ứng dụng cài đặt bởi người sử dụng, điển hình là từ Google Play

Các thiết bị Android lưu trữ một lượng dữ liệu đồ sộ về thông tin cá nhân lẫn công việc. Các ứng dụng là nơi lưu trữ và sản sinh chính của những dữ liệu này và bao gồm các loại sau:

(Android Market).

Các ứng dụng này lưu trữ dữ liệu tại một trong hai vị trí: lưu trữ tại bộ nhớ trong của thiết bị hoặc lưu trữ tại bộ nhớ ngoài của thiết bị. Khi lưu trữ ứng dụng ở bộ nhớ ngoài (SD Card hay emulated SD Card), người dùng có thể chỉ định vị trí bất kỳ. Ngược lại, lưu trữ dữ liệu ở bộ nhớ trong của thiết bị

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

phải chịu sự quản lý điều hành của Android APIs. Khi một ứng dụng được cài đặt, dữ liệu của ứng dụng này được lưu trữ trong thư mục con của /data/data và được đặt tên với tên package tương ứng. Ví dụ, ứng dụng Gmail với tên package com.google.android.gm, dữ liệu của ứng dụng này sẽ được lưu trữ tại /data/data/com.google.android.gm. Bên trong thư mục dữ liệu của ứng dụng, Android quy định một chuẩn chung cho các thư mục con.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

20

Bảng 2.2 giới thiệu một số thư mục con chung cần thiết của một ứng dụng

lưu trữ tại /data/data.

Tên thư mục shared-prefs

Mô tả chi tiết Thư mục lưu trữ các biến Shared Preferences theo định dạng xml.

lib

Thư mục lưu trữ các file thư viện tùy chỉnh cần thiết cho ứng dụng.

files Các files của ứng dụng được tạo bởi nhà phát triển.

cache

Lưu trữ cache files sinh ra bởi ứng dụng (thường là cache files của web browser hoặc các ứng dụng sử dụng WebKit engine.

databases Lưu trữ dữ liệu SQLite databases và các journal files.

Bảng 2.2: Thư mục con của /data/data/

Android cung cấp năm phương thức lưu trữ dữ liệu cho các ứng dụng:

1. Shared preferences

Shared preferences cho phép các lập trình viên lưu trữ các cặp khóa-giá trị (key-value) của những kiểu dữ liệu chính (boolean, float, int, long, string). Các dữ liệu đó được lưu trữ trong các file xml và đặt tại thư mục shared- prefs. Ví dụ, ứng dụng Gmail của Google lưu trữ các biến shared preferences trong file Gmail.xml (hình 2.4). Qua hình trên, chúng ta có thể thấy được

tên tài khoản Gmail của người sử dụng được lưu tại file xml này.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 2.4: Các biến shared preferences của ứng dụng Gmail

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

21

2. Các file lưu trữ tại bộ nhớ trong

Các ứng dụng có thể lưu trữ dữ liệu trên các files được lưu trữ tại /data/- data/ và nhà phát triển có thể quản lý, thao tác trên những dữ liệu này. Mặc định, những dữ liệu này chỉ có thể truy xuất bởi ứng dụng sinh ra nó, ngay cả người dùng cũng không thể xem được nội dung của file nếu họ không có quyền root. Các lập trình viên có thể chỉnh sửa tùy chọn bảo mật của hệ điều hành để các tiến trình của ứng dụng khác

(a) Cấu trúc thư mục dữ liệu

(b) Cấu trúc thư mục databases

có thể truy xuất và cập nhật lại các files này. Ví dụ về cấu trúc thư mục dữ liệu của ứng dụng Google Maps /data/data/com.google.android.apps.maps (Hình 2.5).

Hình 2.5: Cấu trúc thư mục dữ liệu của ứng dụng Google Maps

3. Các file lưu trữ tại bộ nhớ ngoài

Phương thức lưu trữ này kém an toàn về bảo mật và vị trí lưu trữ hơn phương thức trên. Ưu điểm về sự thuận tiện có được khi sử dụng SD Cards cũng chính là nguyên nhân gây mất an toàn dữ liệu lớn nhất của phương

thức lưu trữ này. Bất kỳ thiết bị nào cũng có thể sử dụng những dữ liệu được lưu trữ tại đây (chẳng hạn như hình ảnh, video, . . . ). Rõ ràng, khách hàng sẽ không hài lòng khi dữ liệu trên SD Cards của họ không sử dụng được giữa các thiết bị.

4. SQLite databases

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hệ điều hành Android cung cấp các APIs cho phép các lập trình viên sử

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

22

dụng SQLite để phát triển ứng dụng. Các files SQLite thường được lưu trữ theo đường dẫn /data/data/databases. Tuy nhiên, không có sự hạn chế nào về sự lưu trữ các file database này. Hình 2.6 cho thấy cấu trúc thư mục databases của ứng dụng Android Browser.

Hình 2.6: Cấu trúc thư mục database của ứng dụng Android Browser

5. Network

Phương thức lưu trữ này thực sự hữu ích trong thời đại điện toán đám mây ngày nay. Các lập trình viên có thể sử dụng các classes và phương thức trong hai package java.net.* và android.net.* để tương tác với network, web servers. Các ứng dụng tương tác với network cần thiết nhiều mã lệnh, trong khi các dữ liệu có thể không được lưu trữ trên thiết bị. Do đó, thông tin cấu hình và các file database là những thông tin quan trọng cần khai

thác nhất đối với các ứng dụng network.

Dropbox hiện tại là một ứng dụng file sharing khá phổ biến trên các nhiều nền tảng khác nhau. Trên Android, ứng dụng được cài đặt khoảng 100 triệu lần với gần 175000 người dùng đánh giá 5 sao.1 Sau khi cài đặt, chúng ta có thể tìm thấy thư mục dữ liệu của ứng dụng tại /data/data/- com.dropbox.android.

1https://play.google.com/store, Accessed Feb 16, 2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Dữ liệu có thể được phát hiện ở ít nhất bốn trong năm phương thức này [12]. Ngoài ra, Linux kernel và Android stack còn cung cấp thông tin thông qua các

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

23

file logs, debugging và các services. Tất nhiên, mặc định hầu hết những dữ liệu quan trọng chỉ có thể đọc được khi chúng ta có quyền root user. Tận dụng khai thác những dữ liệu này, chúng ta có thể tìm được nhiều thông tin nhạy cảm của người dùng. Điều này giúp ích cho các cơ quan pháp chứng và hỗ trợ người dùng tìm kiếm thiết bị một cách dễ dàng và chính xác hơn.

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

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.

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-%

20android-phone, Accessed Feb 20, 2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Thật vậy, Hoog [12] cho biết trình duyệt mặc định Android lưu trữ password

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

24

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.

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

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

Hình 2.7: Android Browser plaintext password

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 2.8: Các dữ liệu được khai thác từ trình duyệt web Android

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

25

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.

(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ộ

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).

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 2.9: Các dữ liệu về danh bạ và tin nhắn

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

26

• Ứng dụng Gmail với đường dẫn dữ liệu /data/data/com.google.android.gm

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

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).

• Ứng dụng Facebook với đường dẫn dữ liệu /data/data/com.facebook.katana

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

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

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

trên Facebook.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

27

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

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

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).

• Ứng dụng Google Maps

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

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Ứ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.

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

28

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.

1http://en.wikipedia.org/wiki/Web_service, Accessed 05-Feb-2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

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

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

29

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

• 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

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

sau:

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

30

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)

• Lịch sử của Yii

để 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).

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

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

cụ mạnh mẽ nhất cho người viết ứng dụng.

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

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.

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ó

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

dung lượng dữ liệu trên đường truyền lớn như web portal, forum, CMS, e-commerce,. . .

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

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

– 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 để

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

31

đá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.

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

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

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

CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ CÁC KIẾN THỨC LIÊN QUAN

32

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ị.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

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

33

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.

1http://en.wikipedia.org/wiki/Tui_(bird), Online; Accessed 01-Mar-2013

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 3.1: Chim Tui - New Zealand

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

34

• Giúp người sử dụng điện thoại thông minh nền tảng Android giảm thiểu

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 quản lý dữ liệu và thiết bị của

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 các cơ quan chức năng khai thác dữ liệu từ những chiếc điện thoại bị

mình tốt hơn.

• Giúp nghiên cứu về vấn đề android forensics, cũng như về lợi ích và những

trộm, phục vụ công tác điều tra.

nguy cơ khi rooting thiết bị Android.

3.1.1.2 Phạm vi của hệ thống

Phần mềm ứng dụng được xây dựng trên nền tảng Android 4.0+ sử dụng Android SDK. Hệ thống Web Server được xây dựng trên nền tảng Yii Frame- work. Các chức năng điều khiển hệ thống hoạt động trên hạ tầng mạng GSM, UMTS và hệ thống định vị toàn cầu GPS. Một số chức năng chỉ hoạt động đối với thuê bao của nhà mạng Viettel, Mobifone, VinaPhone hoạt động trên đất nước Việt Nam. Hệ thống được xây dựng là kết quả của việc khảo sát yêu cầu, tìm hiểu, nghiên cứu các tài liệu liên quan trong chương 2.

3.1.2 Yêu cầu của hệ thống

Trong phần này, khóa luận đề cập đến các yêu cầu khi thiết kế hệ thống TUI Security. Các yêu cầu được đưa ra thỏa mãn các đặc tính của sản phẩm an toàn IN SAFE HANDS mà tác giả đã đề cập trong chương 2.

3.1.2.1 Yêu cầu chức năng

TT Tên chức năng

1 Quản trị hệ thống

Mô tả chi tiết Hệ thống quản lý người sử dụng bằng tài khoản đăng nhập; người sử dụng quản lý ứng dụng bằng mã PIN xác nhận. Người sử dụng phải có tài khoản đăng nhập mới có thể sử dụng

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

các tính năng của hệ thống.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

35

2

Thiết lập hệ thống và cấu hình Hệ thống yêu cầu người sử dụng cấu hình mã PIN và các thông tin điều khiển cần thiết. Cho phép thiếp lập và dễ dàng thay đổi các thông số.

Hệ thống cung cấp chức năng hỗ trợ khẩn cấp trong trường hợp điện thoại vừa bị trộm, cướp. 3

Chức năng hỗ trợ khẩn cấp

Chức năng này bao gồm các tính năng cơ bản, cần thiết để vô hiệu hóa dữ liệu trên thiết bị một cách an toàn, nhanh chóng nhất.

4 Quản lý ứng dụng

Người dùng có thể quản lý quyền hạn và phạm vi ảnh hưởng của ứng dụng đối với thiết bị. Ứng dụng được chia nhỏ thành các cụm chức năng riêng biệt. Người dùng có thể kích hoạt hoặc vô hiệu hóa các cụm chức năng này dễ dàng, nhanh chóng.

5 Chức năng điều

khiển thiết bị từ xa

Cho phép điều khiển thiết bị điện thoại di động Android thông qua tin nhắn SMS. Các tin nhắn có thể là tin nhắn lệnh thuần hoặc là tin nhắn lệnh được nhúng vào tin nhắn quảng cáo.

6 Cho phép khai thác thông tin vị trí của thiết bị thông qua định vị GPS hoặc 3G. Ngoài ra còn có thể lấy thông tin và dữ liệu của thuê Chức năng tìm kiếm thiết bị bao hiện đang sử dụng thiết bị.

7

Cảnh báo và phòng chống trộm

Cho phép cảnh báo bằng âm thanh báo động và khóa thiết bị khi có những hành vi sử dụng thiết bị trái phép (như hành động thay thế SIM của thiết bị). Báo động được điều khiển từ xa hoặc tự động. Âm thanh báo động kể cả khi thiết bị trong chế độ im lặng. Trong khi báo động, hệ thống gởi thông báo đến người

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

sử dụng.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

36

8

Tự động, an toàn và bảo mật

Ứng dụng hoạt động một cách tự động thông qua các điều khiển từ xa. Ứng dụng cũng được bảo vệ an toàn và bảo mật, không cho phép gỡ bỏ ứng dụng đối với đối tượng người dùng không được chứng thực.

9 Cho phép sao lưu hoặc phục hồi các dữ liệu quan trọng và nhạy cảm (danh bạ, tin nhắn) thủ công hoặc được điều khiển từ xa. Sao lưu, phục hồi dữ liệu

10 Khai thác thông tin Cho phép nhận các điều khiển từ xa để lấy dữ

liệu của thiết bị.

Bảng 3.1: Bảng đặc tả yêu cầu chức năng của hệ thống

3.1.2.2 Yêu cầu kỹ thuật

Dưới đây là bảng yêu cầu kỹ thuật của hệ thống cần tuân thủ khi thiết kế và

hiện thực (bảng 3.2)

TT Nội dung yêu cầu

1 Ứng dụng hoạt động trên thiết bị, xác thực người dùng thông qua Web Server. Hệ thống cho phép lưu trữ và quản lý thông tin, cấu hình của từng tài khoản người sử dụng.

2

Giao diện ứng dụng được thiết kế khoa học, hợp lý, thân thiện với người dùng, hoạt động mượt mà, tăng cường trải nghiệm người dùng. Thiết kế giao diện tuân thủ các chuẩn thiết kế giao diện của Google.

3

Hệ thống phải đáp ứng khả năng an toàn, bảo mật theo hai mức: mức xác thực người sử dụng, mức xác thực cơ sở dữ liệu.

4

Toàn bộ các dữ liệu và các thông số cấu hình cần lưu trữ, quản lý chặt chẽ.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

5 Phải có cơ chế sao lưu dữ liệu, các thông tin cấu hình đảm bảo nhanh chóng đưa hệ thống hoạt động trở lại trong trường hợp có sự cố xảy ra.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

37

6

Hệ thống phải có cơ chế hạn chế phạm vi ảnh hưởng của ứng dụng trên thiết bị (theo tùy chọn của người dùng).

7

Các tính năng cảnh báo, bảo vệ dữ liệu, chống trộm phải có khả năng tự hoạt động một cách độc lập, ẩn đối với người sử dụng.

8

Ứng dụng phải được bảo vệ an toàn, ẩn đối với người dùng, chỉ cho phép người dùng hợp pháp gỡ bỏ ứng dụng.

9

Ứng dụng cho phép thay đổi thiết lập cấu hình an toàn, nhanh chóng.

Bảng 3.2: Bảng yêu cầu kỹ thuật của hệ thống

3.1.2.3 Yêu cầu thiết bị

Để hệ thống có thể chạy thành công các tính năng cung cấp, thì điện thoại

• Điện thoại phải được rooted. Điều này giúp khai thác tốt nhất dữ liệu của

của người dùng phải thỏa mãn các điều kiện sau:

• Điện thoại chạy hệ điều hành Android 4.0+ để được hỗ trợ tốt nhất về giao

thiết bị và thực thi các điều kiện bảo mật ứng dụng hoạt động.

• Số dư tài khoản SIM phải đủ để thực hiện các chức năng liên quan đến tin

diện và các gói thư viện cung cấp.

• Điện thoại hỗ trợ cảm biến gia tốc (accelerator), microphone còn hoạt động

nhắn SMS.

• Để đạt được kết quả chính xác trong việc thu thập vị trí, thì người dùng

tốt. Mục đích sử dụng cho việc thực thi chức năng lắng nghe từ xa.

• Ngoài ra, điện thoại của người dùng cũng cần phải kết nối với thẻ nhớ, mục

cần hỗ trợ chương trình bằng cách kích hoạt GPS trên thiết bị.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

đích tạo các file lưu trữ tạm thời khi chương trình hoạt động.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

38

3.2 Thiết kế hệ thống

3.2.1 Thiết kế kiến trúc hệ thống

3.2.1.1 Mô hình hệ thống

Hệ thống quản lý bảo mật TUI Security bao gồm hai thành phần: Web Server và ứng dụng TUI Security chạy trên nền tảng Android (hình 3.2). Web Server hoạt động trên môi trường Internet, làm nhiệm vụ quản lý tài khoản và chứng thực người dùng. Ứng dụng TUI Security hoạt động trên thiết bị với hai nhiệm

vụ chính: điều khiển thiết bị từ xa và thực thi các điều khiển nhận được.

Trong hình 3.2, thiết bị “Intermediate Phone” thực hiện chức năng điều khiển thiết bị từ xa; thiết bị “Lost/Stolen Phone” thực hiện chức năng lắng nghe, thực thi các điều khiển và trả về kết quả cho “Intermediate Phone”. Cụ thể, ứng dụng cho phép người dùng chủ động gửi đi các tin nhắn chứa mã lệnh điều khiển thông qua các nhà dịch vụ mạng. Bên cạnh đó, ứng dụng cũng phải liên tục lắng nghe các tin nhắn đến và phân tích cấu trúc tin nhắn đó. Nếu tin nhắn đến là một tin

nhắn điều khiển, ứng dụng sẽ thực thi điều khiển đó và trả về kết quả (thông qua tin nhắn trả lời hoặc email).

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 3.2: Mô hình hệ thống TUI Security

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

39

3.2.1.2 Kiến trúc ứng dụng TUI Security

Dựa vào mô hình hệ thống trong phần trình bày trên, tác giả thiết kế kiến

trúc cho ứng dụng TUI Security như hình 3.3.

Hình 3.3: Kiến trúc ứng dụng TUI Security

Toàn thể ứng dụng chia thành hai thành phần: phần giao diện người dùng

• Phần giao diện người dùng bao gồm các giao diện tương tác, giao diện điều

và phần ứng dụng.

• Phần ứng dụng: Ứng dụng TUI Security hoạt động trên thiết bị với hai nhiệm vụ chính: điều khiển thiết bị từ xa và thực thi điều khiển nên phần ứng dụng chia thành hai bộ phận chính: Bộ phận thực hiện điều khiển thiết bị từ xa và bộ phận thực thi điều khiển nhận được.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

khiển, giao diện cấu hình ứng dụng và các giao diện chức năng khác.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

40

– Bộ phận điều khiển thiết bị: Thực hiện nhiệm vụ phân tích yêu cầu của người dùng, soạn thảo tin nhắn điều khiển chứa câu lệnh tương ứng với yêu cầu của người dùng và gửi tin nhắn điều khiển đó tới thiết bị đích.

– Bộ phận thực thi lệnh: Thực hiện nhiệm vụ lắng nghe và phân tích các tin nhắn đến thiết bị. Nếu tin nhắn đến là tin nhắn điều khiển, bộ phận này tiếp tục xác thực với mã PIN của ứng dụng và thực thi lệnh điều khiển khi xác thực mã PIN thành công.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

– Ngoài ra, thành phần ứng dụng còn chứa các bộ phận khác thực hiện nhiệm vụ xác thực người dùng, cảnh báo và điều khiển ứng dụng tự động, bộ phận lưu trữ các thông tin và cấu hình.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

41

3.2.2 Thiết kế Use Case Diagram

3.2.2.1 Danh sách tác nhân

Các đối tượng giao tiếp với hệ thống bao gồm (hình 3.4):

• Phone Owner: là những người tương tác trực tiếp với ứng dụng trên thiết bị của họ. Đây là thành phần cài đặt và sử dụng hệ thống trên thiết bị và là tác nhân quan trọng nhất của hệ thống.

• Web User: là thành phần sử dụng các dịch vụ hệ thống thông qua website.

Hình 3.4: Danh sách các tác nhân sử dụng hệ thống

• Intermediate User: là thành phần người sử dụng trung gian. Thành phần này được hiểu như là người sử dụng các tính năng của hệ thống thông qua các điện thoại di động trung gian. Intermediate User cũng có thể là Phone Owner sử dụng các thiết bị khác để điều khiển thiết bị của mình.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Web User có thể là Phone Owner sử dụng các dịch vụ web.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

42

3.2.2.2 Use Case Diagram

Các tác nhân trong phần trên sẽ sử dụng các use case như hình 3.5.

Hình 3.5: Use Case Diagram

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Các use case của hệ thống phản ánh việc thiết kế chức năng hệ thống phù hợp với các yêu cầu chức năng trong phần 3.1.2. Do đó, trong khóa luận này tác giả chỉ đề cập đến việc đặc tả hai use case quan trọng: Login App và Remote Control Device.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

43

• Use case Login App (hình 3.6)

Hình 3.6: Use case Login App

Use Case Login App

Mô tả

Use Case này mô tả hành động sử dụng tài khoản đăng nhập vào ứng dụng.

Tác nhân Phone Owner

Dòng sự kiện

- Người sử dụng sau khi đăng ký tài khoản thành công. - Người sử dụng đăng nhập ứng dụng bằng tài khoản.

Các điều kiện đặc biệt Không có

Tiền điền kiện

Người sử dụng đã đăng ký tài khoản ứng dụng.

Hậu điều kiện

- Ứng dụng được toàn quyền sử dụng. - Các thông số được cấu hình thành công

và được lưu trữ. - Nếu xác thực tài khoản không thành công, hiển thị thông tin hướng dẫn người dùng.

Ngoại lệ

Thông báo lỗi khi xác thực tài khoản không thành công hoặc khi không có kết nối internet.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Bảng 3.3: Đặc tả Use Case Login App

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

44

• Use case Remote Control Device (hình 3.7)

Hình 3.7: Use case Remote Control Device

Use Case Send Control Command

Mô tả

Use Case này mô tả hành động người sử dụng gửi tin nhắn điều khiển đến một

thiết bị khác.

Tác nhân

- Phone Owner - Intermediate User

Dòng sự kiện

- Người sử dụng chọn tính năng điều khiển thiết bị của ứng dụng. - Người sử dụng cung cấp thông tin về số điện thoại của thiết bị cần điều khiển

(target number) và mã PIN của ứng dụng TUI Security được cài đặt trên thiết bị đó (target PIN).

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Các điều kiện đặc biệt Không có.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

45

Tiền điều kiện

- Ứng dụng xác thực người dùng thành công. - Thẻ SIM gắn trên thiết bị phải còn đủ tài khoản để thực hiện gửi tin nhắn. - Ứng dụng phải cấu hình đầy đủ các thông tin yêu cầu.

Hậu điều kiện

- Ứng dụng gửi tin nhắn điều khiển thành công.

Ngoại lệ - Hiển thị thông báo lỗi khi người dùng

không cung cấp target number và target PIN. Hệ thống yêu cầu người sử dụng cung cấp lại các thông tin này. - Thông báo lỗi khi người dùng chưa cấu hình các thông tin của ứng dụng đầy đủ. Thoát khỏi tính năng, hiển thị màn hình điều khiển thiết bị.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Bảng 3.4: Đặc tả Use Case Send Control Command

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

46

3.3 Thiết kế sơ đồ khối và giải thuật

Trong phần này, tác giả tiến hành thiết kế phần sơ đồ khối và nêu lên các giải thuật để giải quyết các vấn đề và các chức năng cần thực thi trong chương trình.

3.3.1 Các tính năng cơ bản

Ứng dụng cung cấp các tính năng cơ bản luôn hoạt động khi ứng dụng được cài đặt vào thiết bị mà không cần kích hoạt các dịch vụ cho phép thực thi như các tính năng điều khiển. Các tính năng cơ bản của ứng dụng cung cấp cho người dùng bao gồm: sao lưu và phục hồi dữ liệu (danh bạ và tin nhắn) trực tiếp trên thiết bị, thực thi các lệnh hủy dữ liệu trong trường hợp khẩn cấp (dữ liệu trên SD card, các tài khoản ứng ụng Yahoo, Facebook, dữ liệu Youtube, dữ

liệu Maps, danh bạ, tin nhắn).

Giải thuật cho tính năng sao lưu dữ liệu tin nhắn và danh bạ trực tiếp từ thiết bị đơn giản là duyệt qua file cơ sở dữ liệu chứa tin nhắn SMS và danh bạ của người dùng trong thư mục cài đặt ứng dụng (/data/data/com.android.providers.contacts/databases/contact2.db đối với dữ liệu danh bạ và /data/data/com.android.providers.telephony/databases/mmssms.db đối với dữ

liệu tin nhắn), sau đó copy file này lưu trữ tại SD card, đồng thời gởi file thu thập được về địa chỉ email đã được cài đặt trước đó (nếu không được thiết lập, địa chỉ email mặc định là địa chỉ email của thành viên nhóm). Ngược lại, đối với tính năng phục hồi dữ liệu tin nhắn và danh bạ trực tiếp từ thiết bị, chương trình sẽ cho phép người dùng duyệt qua thẻ nhớ để tìm file sao lưu và copy (ghi đè) file này vào thư mục chứa file cơ sở dữ liệu của ứng dụng danh bạ và tin nhắn.

Trong trường hợp khẩn cấp khi người dùng muốn hủy dữ liệu trên thiết bị, người dùng có thể nhắn tin tới điện thoại của mình với tín hiệu khẩn cấp kèm theo mật khẩu điều khiển, chương trình sẽ chứng thực mật khẩu điều khiển nhận được. Sau khi chứng thực thành công, chương trình sẽ thực thi các chức năng được hỗ trợ mà không cần kiểm tra các dịch vụ này có được cung cấp hay không. Trong trường hợp này, chương trình sẽ thực thi các nhiệm vụ sau: xóa toàn bộ dữ liệu trên SD card, xóa SMS, xóa danh bạ, xóa các tài khoản

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

ứng dụng của người dùng (yahoo, facebook, email, tài khoản google, nếu người dùng có sử dụng các ứng dụng này). Các tính năng xóa dữ liệu ứng dụng và

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

47

xóa cơ sở dữ liệu tin nhắn/danh bạ hoạt động trên các thiết bị đã được rooted và chương trình truy cập hệ thống dưới quyền root user (sử dụng các lệnh hệ thống để thực thi). Sơ đồ khối của tính năng nhận và thực thi chức năng trong trường hợp khẩn cấp được mô tả trong hình 3.8.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 3.8: Sơ đồ khối xử lý trong trường hợp khẩn cấp

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

48

3.3.2 Tính năng điều khiển

Chương trình cung cấp tính năng điều khiển từ xa để hỗ trợ người dùng trong trường hợp họ không thể tương tác trực tiếp với thiết bị. Tính năng này được thực thi thông qua việc nhắn tin SMS từ một thiết bị khác đến điện thoại

muốn điều khiển kèm theo mật khẩu chứng thực. Chức năng này được cung cấp có thể phục vụ trong việc điều tra tội phạm khi sử dụng ứng dụng như một đặc vụ ngầm theo dõi diễn biến hoạt động và khi đó các thông tin dữ liệu thu thập được sẽ làm bằng chứng pháp lý có giá trị cao. Các tính năng điều khiển chương trình cung cấp gồm có: nhắn tin sao lưu và xóa tin nhắn, danh bạ; nhắn tin lấy thông tin dữ liệu; nhắn tin xóa dữ liệu trên SD card; nhắn tin thực thi lắng nghe (recording); nhắn tin phát âm thanh cảnh báo và khóa màn hình.

Để thực thi các tính năng điều khiển, ứng dụng phải được kích hoạt dịch vụ cho phép thực thi các lệnh điều khiển được gởi qua SMS dạng tin nhắn quảng cáo. Sau khi nhận được các tin nhắn quảng cáo, kèm theo mật khẩu điều khiển (là mã PIN), chương trình tiến hành chứng thực mật khẩu và phân tích tin nhắn để nhận các mã lệnh điều khiển. Một tin nhắn ứng với một lệnh điều khiển. Sau đó sẽ thực thi ngầm các chức năng yêu cầu nếu thỏa các điều kiện thực thi.

Thuật giải các chức năng sao lưu dữ liệu tin nhắn, danh bạ sau khi nhận

được tín hiệu điều khiển từ xa là: duyệt qua cơ sở dữ liệu, sau đó đọc dữ liệu và ghi vào file XML với định dạng JSON, tức mỗi hàng là một object và các giá trị ở các cột của hàng đó là một object con của nó. Sau đó lưu file XML này lại trong thư mục của chương trình trên thẻ SD card. Sau đó, chương trình sẽ kiểm tra kết nối mạng và gởi kết quả về địa chỉ email người dùng đã đăng ký trước đó và xóa file sau khi gởi thành công. Nếu không có kết nối mạng, file thu thập được cũng sẽ bị xóa bỏ.

• Danh bạ:

Đối với tin nhắn điều khiển yêu cầu lấy thông tin người dùng, các thông tin này được chứa trong các cơ sở dữ liệu ở thư mục cài đặt, tùy vào từng loại thông tin muốn lấy: Yahoo, Facebook, SMS, Contact, . . . mà chương trình sẽ quyết định thực thi. Ứng dụng sẽ truy cập hệ thống dưới quyền root user để vào các thư mục chứa các file cơ sở dữ liệu ứng dụng để lấy về các dữ liệu cần thiết. Các thư mục lưu file cơ sở dữ liệu:

• SMS:

/data/data/com.android.providers.contacts/databases/contact2.db.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

/data/data/com.android.providers.telephony/databases/mmssms.db.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

49

• Dữ liệu Google Maps:

• Dữ liệu Youtube:

/data/data/com.google.android.apps.maps/databases/search_history.db.

• Dữ liệu ứng dụng Facebook:

/data/data/com.google.android.youtube/databases/history.db

• Dữ liệu ứng dụng Yahoo Messenger:

/data/data/com.facebook.katana/databases/fb.db.

• Calendar:

/data/data/com.yahoo.mobile.client.android.im/databases/mesenger.db.

• Thông tin tài khoản:

/data/data/com.android.providers.calendar/databases/calendar.db.

/data/system/accounts.db

Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin dữ liệu ứng dụng

hoặc xóa dữ liệu trên SD card được mô tả như trong hình 3.9.

Làm sao biết những gì đang diễn ra xung quanh thiết bị khi không mang bên mình? Hoặc khi muốn dùng thiết bị để chia sẻ âm thanh thực cho người khác. Người dùng có thể sử dụng tính năng lắng nghe chương trình cung cấp

• Sau khi được kích hoạt lắng nghe, cảm biến gia tốc được kích hoạt để lắng nghe sự tương tác trên thiết bị. Nếu sự tương tác này lớn hơn độ nhiễu cho phép của ứng dụng và nó xảy ra lớn hơn khoảng thời gian giới hạn, hành động lắng nghe sẽ được kết thúc.

• Hành vi lắng nghe sẽ được kết thúc sau khi hết thời gian lắng nghe mà

bằng cách gởi tin nhắn với lệnh điều khiển thực thi việc lắng nghe âm thanh và gởi kết quả về email để theo dõi. Thuật giải cho chức năng lắng nghe được xây dựng dựa trên việc kích hoạt dịch vụ chạy ngầm tương tác phần cứng thiết bị là microphone để lắng nghe những âm thanh xung quanh thiết bị. File kết quả sẽ được lưu lại sau khoảng thời gian được người dùng cài đặt trước đó và nó sẽ được gởi về email để người dùng có thể theo dõi nếu có kết nối mạng. Có 2 cách để kết thúc hành động lắng nghe của thiết bị là:

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

người dùng đã cài đặt trước.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

50

Hình 3.9: Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin trên thiết bị

Sơ đồ khối xử lý khi nhận tin nhắn thực thi lắng nghe và điều kiện kết thúc lắng nghe được mô tả trong hình 3.10 và hình 3.11.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Theo hình 3.10, sau khi chứng thực và kiểm tra dịch vụ được kích hoạt hay chưa? Nếu không thỏa sẽ kết thúc; ngược lại, nếu thỏa sẽ tiến hành bật microphone và lắng nghe. Kết quả được ghi vào file có định dạng .3gp. Chương trình sẽ kiểm tra điều kiện kết thúc (được mô tả trong sơ đồ khối 3.11) để kết

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

51

Hình 3.10: Sơ đồ khối xử lý khi nhận tin nhắn điều khiển thực thi lắng nghe

thúc quá trình lắng nghe. Nếu vẫn còn trong điều kiện cho phép, sau khoản thời gian phân đoạn được cài đặt trước, kết quả mỗi phân đoạn này sẽ được gởi về email sau khi kiểm tra kết nối mạng thành công. Đồng thời, sẽ tiến hành ghi kết quả lắng nghe vào một file mới và quay lại vòng lặp trên. Sau khi nhận tín hiệu kết thúc, tức điều kiện kết thúc lắng nghe có kết quả trả về đúng, chương

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

trình sẽ kết thúc hành động lắng nghe.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

52

Hình 3.11: Sơ đồ khối mô tả điều kiện để kết thúc việc lắng nghe trên thiết bị

Theo sơ đồ khối trong hình 3.11, có hai điều kiện kết thúc lắng nghe, các điều kiện này sẽ được gởi kèm theo sự lựa chọn của người điều khiển lúc nhấn vào nút điều khiển thực thi lắng nghe. Đó là tự động kết thúc khi có tương tác với thiết bị, hoặc là kết thúc khi hết thời gian được cài đặt. Trong điều kiện thứ

nhất, chương trình sử dụng hệ cảm biến gia tốc của thiết bị để xác định thiết bị có tương tác hay không và lọc đi các giá trị nhiễu cho phép. Nếu vượt qua các giá trị nhiễu này hoặc điều kiện thứ hai xảy ra, thì tín hiệu kết thúc lắng nghe lập tức được bật lên.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Khi người dùng muốn biết điện thoại của mình đang ở đâu đó quanh họ, hoặc muốn tạm thời ngăn chặn sự tương tác từ người khác, người dùng sẽ nhắn tin điều khiển với lệnh khóa màn hình và phát âm thanh cảnh báo. Giải thuật cho

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

53

tính năng này là sau khi nhận SMS và xác thực, chương trình sẽ tiến hành sinh một Activity và hiển thị ra màn hình dạng lock với các ô mã PIN, đồng thời kích hoạt khởi chạy một file nhạc. Vì lý do bảo mật, nên từ phiên bản Android 4.0 trở đi, nút Home trên thiết bị sẽ không được ghi đè lên, vì vậy người dùng có thể sử dụng phím Home để tắt màn hình lock, nhưng âm chuông cảnh báo

vẫn còn. Để tắt màn hình lock này và tắt âm cảnh báo, người dùng phải nhập đúng mã PIN vào các ô xác thực trên màn hình hoặc đăng nhập ứng dụng. Sơ đồ khối cho giải thuật này được mô tả như trong hình 3.12.

3.3.3 Tính năng tìm thông tin vị trí thiết bị

Tính năng này được thực thi khi người dùng muốn biết vị trí hiện tại của thiết bị (khi không mang bên mình) và các thông tin về thuê bao của số điện thoại hiện tại.

Để yêu cầu vị trí thiết bị, người dùng nhắn tin có mã lệnh yêu cầu vị trí kèm mật khẩu chứng thực. Sau khi bên nhận nhận và xử lý, kết quả thu được sẽ được gởi về email thiết lập, đồng thời gởi một yêu cầu lên server (kèm thông tin username, password, thông tin vị trí thu thập) để tổng đài số gởi tin nhắn

phản hồi về cho bên yêu cầu. Đối với bên nhận SMS yêu cầu, muốn có được vị trí chính xác của thiết bị, chương trình cần sự hỗ trợ từ người dùng bằng cách bật chế độ định vị toàn cầu GPS. Nếu không bật GPS, thì chương trình sẽ lấy vị trí theo thông tin kết nối mạng 3G.

Bên nhận yêu cầu thông tin thuê bao xử lý bằng cách gởi tin nhắn đến tổng đài 1414 để lấy về thông tin thuê bao. Sau khi lấy được các thông tin sẽ gởi kết quả về email cũng như yêu cầu lên server để tổng đài phản hồi về cho bên gởi

yêu cầu.

Sơ đồ khối bên nhận SMS và đáp ứng yêu cầu được mô tả trong hình 3.13.

3.3.4 Bảo mật

Phần này chúng tôi sẽ trình bày giải thuật cho 2 phần: bảo mật ứng dụng

và bảo mật cho người dùng.

Tính năng bảo mật ứng dụng nhằm ẩn mình và tránh lại việc gỡ cài đặt của người dùng (không dùng các ứng dụng gỡ cài đặt có quyền root user, hoặc không truy cập vào hệ thống thiết bị).

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Tính năng bảo mật người dùng cung cấp các chức năng phát chuông cảnh báo khi số lần nhập sai mã PIN đăng nhập lớn hơn n lần (với n được người

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

54

Hình 3.12: Sơ đồ khối xử lý khi có tin nhắn điều khiển khóa màn hình và phát âm thanh cảnh báo

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

dùng cài đặt, mặc định là 3 lần). Hoặc khi điện thoại thay SIM, ứng dụng sẽ tạm khóa màn hình và rung chuông cảnh báo, sau đó ứng dụng lấy vị trí hiện tại, thông tin SIM mới và gởi một cảnh báo lên server để server thực thi nhắn tin cảnh báo về phía số “điện thoại bạn” được thiết lập. Và đặc biệt là tính năng chống trộm sử dụng cảm biến gia tốc của thiết bị. Khi người dùng bật chế độ

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

55

Hình 3.13: Sơ đồ khối bên nhận yêu cầu lấy vị trí thiết bị và thông tin thuê bao

này, nếu có tương tác với thiết bị thì chương trình sẽ phát âm thanh cảnh báo và khóa màn hình.

Giải pháp cho tính năng bảo mật ứng dụng là ẩn icon ứng dụng ngoài màn hình điện thoại hoặc chuyển ứng dụng vào ứng dụng hệ thống nhằm tránh việc gỡ cài đặt thông thường. Để ẩn icon ứng dụng, chỉ cần thực thi chuyển ứng dụng vào trạng thái “disable” mà ứng dụng vẫn tiếp tục hoạt động. Khi hiển thị lại icon, chỉ cần chuyển lại trạng thái về “enable” là ứng dụng sẽ xuất hiện

icon trên màn hình điện thoại.

3.3.5 Tương tác service

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Người dùng muốn sử dụng ứng dụng phải thực thi các thao tác đăng ký, đăng nhập để hệ thống kiểm soát. Service được xây dựng để cung cấp các cơ

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

56

chế cho người dùng đăng ký, đăng nhập để quản lý sau này. Và trong tương lai chúng tôi sẽ tiếp tục phát triển các chức năng điều khiển, quản lý từ giao diện web và người dùng có thể điều khiển điện thoại của mình thông qua web.

Phương thức giao tiếp giữa client và server là HTTP. Web service sử dụng giao thức HTTP cung cấp 4 phương thức GET, POST, PUT, DELETE. Trong

ứng dụng này chỉ sử dụng phương thức POST.

POST: được sử dụng để gởi yêu cầu từ client lên server yêu cầu các thông

tin đăng nhập, đăng ký, thay đổi mật khẩu, yêu cầu server gởi SMS.

Dữ liệu trả về từ server dạng JSON, phía client phải phân tích các trạng thái gói tin (HTTP Status) và dữ liệu trả về để xác nhận lệnh và thực thi (nếu thỏa điều kiện thực thi).

URI Chức năng

Phương thức POST Đăng ký tài khoản mới /api/users

POST Đăng nhập vào hệ thống

POST /api/users/login /api/users/forgotpassword Nhận mật khẩu mới

POST Yêu cầu gởi SMS /api/users/sendsms

Bảng 3.5: Bảng mô tả đường dẫn yêu cầu các chức năng và phương thức tương ứng

Giải thuật xử lý bên Server Sau khi nhận các gói tin yêu cầu từ client, server sẽ phân tích các yêu cầu

này và thực thi tùy chức năng.

Đối với yêu cầu đăng ký tài khoản người dùng mới, phía server sẽ tiến hành kiểm tra các điều kiện như tài khoản hoặc email đã tồn tại hay chưa? Sau đó sẽ tiến hành thêm mới vào cơ sở dữ liệu và gởi email xác nhận đăng ký thành

công về cho người dùng. Đồng thời cũng sẽ gởi lại gói tin phản hồi yêu cầu đăng ký từ client để thông báo trạng thái đăng ký (tài khoản, email đã tồn tại, đăng ký thất bại).

Đối với yêu cầu đăng nhập, sau khi nhận được gói tin yêu cầu đăng nhập từ client kèm với thông tin tài khoản và mật khẩu đã được mã hóa, server tiến hành chứng thực trong cơ sở dữ liệu và gởi phản hồi về client thông báo trạng thái đăng nhập thành công hay thất bại.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Đối với yêu cầu thay đổi mật khẩu, sau khi nhận được gói tin yêu cầu thay đổi mật khẩu kèm với email người dùng, server tiến hành chứng thực email có trong cơ sở dữ liệu hay không ? Nếu có thì server sẽ gởi email về email được gởi lên kèm với mật khẩu mới. Sau đó thông báo trạng thái về cho client. Người

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

57

dùng phải kiểm tra trong hộp thư của mình để nhận mật khẩu mới nếu yêu cầu thay đổi mật khẩu thành công. Người dùng có thể sử dụng mật khẩu này để đăng nhập vào chương trình, hoặc đăng nhập vào hệ thống từ phía giao diện web và thực thi thay đổi mật khẩu trực tiếp từ web. Sơ đồ khối mô tả quy trình xử lý các yêu cầu đăng ký, đăng nhập, nhận mật khẩu mới như hình 3.14. Theo

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 3.14: Sơ đồ khối phía server nhận và xử lý yêu cầu đăng ký, đăng nhập, nhận lại mật khẩu

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

58

• 200: Thực thi thành công.

• 401: Chứng thực thất bại.

• 404: Không tìm thấy service yêu cầu (sai đường dẫn).

• 500: Lỗi server không insert vào cơ sở dữ liệu được.

• 501: Lỗi không thực thi được.

hình 3.14, sau khi nhận được yêu cầu từ client, tùy từng yêu cầu mà phía server sẽ xử lý và gởi phản hồi. Các mã trạng thái tương ứng trong quá trình xử lý sẽ được gởi phản hồi kèm các thông tin thông báo. Phía client sẽ dựa vào các mã trạng thái này, hoặc các thông báo gởi về để xác định phần xử lý tiếp theo. Danh sách các mã trạng thái trả về cho client:

Đối với yêu cầu gởi SMS, sau khi nhận được yêu cầu từ phía client, server sẽ tiến hành chứng thực username và password nhận được. Sau khi chứng thực

thành công, server sẽ tiến hành thêm một record vào cơ sở dữ liệu với trạng thái “send”. Sau đó, phía tổng đài gởi SMS sẽ truy cập cơ sở dữ liệu này để tìm kiếm các record có trạng thái “send” và gởi chúng đến số điện thoại cần nhận. Đồng thời cập nhật lại trạng thái record trong cơ sở dữ liệu. Sơ đồ khối mô tả cho giải thuật xử lý yêu cầu gởi SMS khi thay SIM được mô tả trong hình 3.15. Trong sơ đồ trong hình 3.15, tổng đài Ozeki sau khi kích hoạt sẽ luôn hoạt động sau khoản thời gian cài đặt sẽ quét cơ sở dữ liệu để tìm các record mới thêm

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

vào với trạng thái “send” (trạng thái cần gởi SMS). Nếu tìm thấy, sẽ tự động gởi phần nội dung tin nhắn đến số điện thoại người nhận (các giá trị này là các cột trong bảng cở sở dữ liệu mà giá trị của nó ta phải thêm vào). Thao tác này được gọi thực thi sau khi phía server tiến hành thêm record mới vào cơ sở dữ liệu, với giá trị các cột nội dung và người nhận lấy được từ phía client.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

59

Hình 3.15: Sơ đồ khối phía server nhận và xử lý yêu cầu gởi SMS

Giải thuật xử lý bên Client Sau khi kiểm tra các kết nối internet thành công, client tiến hành gởi yêu cầu lên server để đăng ký, đăng nhập, thay đổi mật khẩu hoặc yêu cầu gởi SMS.

• Quá trình đăng ký

Client sử dụng phương thức POST để gởi yêu cầu lên server. Dữ liệu gởi lên được truyền trong biến POST và gắn vào gói HTTP request.

Chương trình gởi yêu cầu đến server theo liên kết http://tuisolutions. com.vn/index.php/api/users để yêu cầu đăng ký tài khoản mới. Dữ liệu gởi kèm lên server bao gồm: username (tên đăng ký), password (mật khẩu đã được mã hóa bằng giải thuật MD5) và địa chỉ email để nhận các thông báo (trong trường hợp người dùng cần thay đổi hoặc quên mật khẩu).

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Sau khi nhận được mã gởi về là 200 (đăng ký thành công) thì chương trình

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

60

• Quá trình đăng nhập

sẽ tiến hành cho phép người dùng cài đặt mã PIN và số “điện thoại bạn” (sử dụng để nhắn tin khi điện thoại của người dùng gặp sự cố). Nếu có lỗi thực thi hoặc hết thời gian timeout thì sẽ thông báo cho người dùng biết.

Chương trình gởi yêu cầu đến server theo liên kết http://tuisolutions. com.vn/index.php/api/users/login để yêu cầu đăng nhập. Dữ liệu gởi kèm lên server bao gồm: username (tên đăng nhập) và password (mật khẩu đã được mã hóa bằng giải thuật MD5).

Sau khi nhận được mã gởi về là 200 (đăng nhập thành công) thì chương trình sẽ tiến hành cho phép người dùng cài đặt mã PIN và số “điện thoại bạn” (sử dụng để nhắn tin khi điện thoại của người dùng gặp sự cố). Nếu có lỗi thực thi hoặc hết thời gian timeout thì sẽ thông báo cho người dùng biết. Trong các trường hợp đã đăng nhập và cài đặt mã PIN, chương trình sẽ cho người dùng vào trang nhập mã PIN thay vì đăng nhập khi truy cập

• Quên mật khẩu

vào giao diện chương trình.

Chương trình gởi yêu cầu đến server theo liên kết http://tuisolutions. com.vn/index.php/api/users/forgotpassword để yêu cầu lấy mật khẩu mới. Dữ liệu gởi kèm lên server là địa chỉ email lúc đăng ký để server gởi mật khẩu mới về cho người dùng.

• Yêu cầu gởi SMS

Sau khi nhận được mã gởi về là 200 thì người dùng có thể truy cập hộp thư email đã đăng ký với chương trình để nhận lại mật khẩu mới. Nếu có lỗi thực thi hoặc hết thời gian timeout thì sẽ thông báo cho người dùng biết.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Chương trình gởi yêu cầu đến server theo liên kết http://tuisolutions. com.vn/index.php/api/users/sendsms để yêu cầu server gởi SMS về số điện thoại nào được gởi kèm theo. Dữ liệu gởi kèm lên server là tên đăng nhập, mật khẩu đã mã hóa, số điện thoại nhận SMS và nội dung tin nhắn. Nội dung tin nhắn có thể là phần nội dung được người dùng thiết lập khi cài đặt chương trình, hoặc có thể là thông tin thuê bao hiện tại. Yêu cầu này được gởi ngầm và không hiển thị màn hình chờ, cũng như không nhận được phản hồi từ server.

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

61

Sơ đồ khối bên Client gởi yêu cầu đăng ký và xử lý khi có phản hồi từ Server

được mô tả như trong hình 3.16.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 3.16: Sơ đồ khối phía client yêu cầu đăng ký tài khoản mới

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG

62

3.4 Kết chương

Như vậy chương này đã trình bày mục đích phát triển hệ thống TUI Security, phạm vi và các yêu cầu của hệ thống. Dựa trên những yêu cầu đó, các tác giả

thực hiện thiết kế kiến trúc và mô hình của hệ thống, các biểu đồ và đề ra giải thuật để hiện thực các tính năng của hệ thống. Việc thiết kế hệ thống phải tuân thủ các tiêu chuẩn về sản phẩm an toàn được trình bày trong chương 2, các tiêu chuẩn về thiết kế giao diện của Google, các tiêu chuẩn về hiệu năng của sản phẩm. Ngoài ra, khi thiết kế hệ thống còn phải tính toán cân bằng giữa việc bảo vệ dữ liệu người dùng với việc khai thác dữ liệu phục vụ công tác điều tra. Chương tiếp theo sẽ trình bày việc hiện thực các thiết kế và giải thuật để xây

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

dựng hệ thống hoàn chỉnh và khóa luận sẽ giới thiệu về giao diện của hệ thống cũng như đưa ra đánh giá khách quan về ưu và khuyết điểm của hệ thống được xây dựng.

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

63

Chương 4: Hiện thực hệ thống quản lý bảo

mật TUI Security

4.1 Môi trường thực thi

• Sử dụng ngôn ngữ lập trình Java với Eclipse IDE có tích hợp gói thư viện

Môi trường công nghệ mà tác giả sử dụng để xây dựng ứng dụng bao gồm:

• Nền tảng phát triển ứng dụng: điện thoại di động sử dụng Android 4.0+.

• Phía server sử dụng PHP Yii framework để xây dựng REST service.

• Các phần mềm hỗ trợ khác: Navicat dùng quản lý cơ sở dữ liệu phía server, plugin Firebug, REST Client để debug web service, Aptana Studio để xây dựng ứng dụng web service. . .

hỗ trợ lập trình Android do Google cung cấp.

4.2 Hiện thực chương trình TUI Security

Trong phần này, khóa luận triển khai hiện thực ứng dụng TUI Security qua các sơ đồ lớp và sơ đồ tuần tự. Trong đó, khóa luận đề cập đến các bộ phận và

tính năng quan trọng của ứng dụng TUI Security.

4.2.1 Sơ đồ lớp

4.2.1.1 Hiện thực bộ phận thực thi điều khiển

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Trong phần này, khóa luận đề cập đến việc hiện thực bộ phận thực thi điều khiển của kiến trúc hệ thống được thiết kế trong chương trước. Đây là bộ phận phức tạp nhất của hệ thống. Bộ phận này gồm các thành phần xử lý con, nhận nhiệm vụ lắng nghe các tin nhắn điều khiển hoặc các hành vi của thiết bị, phân tích và thực thi hành động tương ứng với điều khiển, hoặc hành vi đó. Dưới đây, khóa luận sẽ trình bày các sơ đồ lớp quan trọng của bộ phận này.

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

64

• Bộ phận lắng nghe

Trước tiên, bộ phận lắng nghe thực hiện nhiệm vụ lắng nghe các tin nhắn điều khiển hoặc các hành vi khác của thiết bị. Bộ phận này gồm ba class kế thừa từ BroadcastReceiver (hình 4.1). Trong đó, class SmsReceiver thực thi lắng nghe các tin nhắn điều khiển, PowerButtonReceiver lắng nghe các tương tác trên thiết bị, BootCompleteReceiver lắng nghe hành vi turn-on thiết bị.

• Bộ phận xác thực và phân tích điều khiển

Hình 4.1: Hiện thực bộ phận lắng nghe điều khiển

1Các thông tin xác thực, phân tích được lấy từ hai class Utils

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Nói về class SmsReceiver ở hình 4.1, sau khi nhận được điều khiển, bộ phận lắng nghe chuyển xử lý về bộ phận xác thực và phân tích tin nhắn điều khiển. Hai bộ phận này nhận nhiệm vụ xác thực tin nhắn điều khiển có đúng với mã PIN ứng dụng hay không, sau đó phân tích cấu trúc tin nhắn để xác định hành vi điều khiển cụ thể mà tin nhắn đó yêu cầu. Trong đó, SmsReceiver tiếp tục nhận nhiệm vụ xác thực tin nhắn điều khiển, phân tích và trả về danh sách các điều khiển từ tin nhắn đó.1 Chú ý rằng, một tin nhắn điều khiển có thể ở dạng thuần điều khiển, hoặc được nhúng vào các tin nhắn quảng cáo. Sau đó, các điều khiển sẽ được đưa đến bộ phận thực thi lệnh thông qua điều khiển từ class CommandExecute (hình 4.2).

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

65

• Bộ phận thực thi điều khiển

Hình 4.2: Hiện thực bộ phận xác thực và phân tích tin nhắn điều khiển

Bộ phận thực thi lệnh bao gồm các service thực hiện một số công việc nhất định (hình 4.3).

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.3: Hiện thực bộ phận thực thi lệnh

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

66

4.2.1.2 Hiện thực một số tính năng quan trọng

• Tính năng cảnh báo khi có SIM mới được lắp vào thiết bị (hình

4.4) Class BootCompleteReceiver sau khi nhận tích có hành vi turn-on thiết bị,

thông qua các dữ liệu từ SIMController và PreferenceUtils, ứng dụng xác định được SIM đang gắn trên thiết bị có hợp lệ không? Nếu không hợp lệ, ứng dụng sẽ gửi tin nhắn cảnh báo và thông tin chủ thuê bao thông qua class CommandUtils.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.4: Hiện thực tính năng cảnh báo khi có SIM mới được lắp vào thiết bị

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

67

• Tính năng chống trộm Anti-theft (hình 4.5)

Tính năng này dựa trên cảm biến gia tốc của thiết bị. Class PowerBut- tonReceiver kế thừa từ class BroadcastReceiver thực hiện nhận điều khiển kích hoạt tính năng chống trộm từ người dùng. Điều khiển được quy định: bật - tắt nút nguồn hai lần đầu, kích hoạt chức năng chống trộm, bật - tắt nguồn hai lần sau đó, vô hiệu hóa. Sau khi được kích hoạt, class An- tiTheftLisner thực hiện kiểm tra cảm biến gia tốc thông qua các đối tượng

của class AccelerationManager. Trong một thời gian xác định, nếu cảm biến gia tốc của thiết bị có thay đổi (do người dùng, tội phạm di chuyển thiết bị) thì ứng dụng sẽ báo động thông qua đối tượng MediaPlayer của class SecureAppService.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.5: Hiện thực tính năng chống trộm

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

68

• Tính năng tìm kiếm điện thoại Phone Finder (hình 4.6)

Tính năng này hoạt động thông qua tin nhắn điều khiển. Class SmsReceiver nhận được tin nhắn điều khiển và phân tích. Nếu yêu cầu là một lệnh tìm kiếm thiết bị, SmsReceiver chuyển thực thi sang class PhoneFinderService. Sử dụng các class LocationUtils, PreferenceUitls, ứng dụng lấy được thông tin chủ thuê bao của thiết bị, vị trí của thiết bị, đường dẫn vị trí trên Google Maps. Sau khi có được những thông tin đó, ứng dụng sẽ gửi thông

báo: hoặc qua email (qua đối tượng Mailer), hoặc tin nhắn văn bản đến số điện thoại yêu cầu.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.6: Hiện thực tính năng tìm kiếm thiết bị

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

69

4.2.2 Sơ đồ tuần tự

Trong phần trên, khóa luận đã hiện thực sơ đồ lớp của ứng dụng TUI Security. Trong phần này, khóa luận tiếp tục hiện thực sơ đồ tuần tự (Sequence Diagram) của ứng dụng. Cũng như phần trước, phần này chỉ giới thiệu việc hiện thực tính

năng điều khiển thiết bị từ xa của ứng dụng. Qua đó, chúng ta có thể thấy được đối tượng tương tác với nhau ra sao và các chuỗi thông điệp gửi/nhận như thế nào.

Cụ thể, khóa luận sẽ trình bày sơ đồ tuần tự của tính năng điều khiển thiết bị thực hiện tự động ghi âm khi thỏa mãn điều kiện. Các tính năng điều khiển thiết bị khác cũng có những đối tượng tương tác và chuỗi thông điệp tương tự như vậy, tuy rằng việc thực thi điều khiển có những thành phần tương tác khác

nhau.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Nhìn chung, mỗi lệnh điều khiển thiết bị đều có hai quá trình tương tác: quá trình soạn thảo tin nhắn điều khiển (bên điều khiển) và quá trình thực thi điều khiển (bên thiết bị nhận). Sau khi thực thi điều khiển, ứng dụng sẽ gửi các kết quả cho người yêu cầu thông qua email hoặc tin nhắn văn bản.

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

70

4.2.2.1 Soạn thảo tin nhắn điều khiển

Hình 4.7 giới thiệu cách thức và các đối tượng tham gia trong quá trình soạn thảo các lệnh điều khiển. Trong đó, đối tượng MainActivity là giao diện người dùng, thực hiện xử lý và phân tích hành vi của người dùng đối với ứng dụng.

Đối tượng này cũng yêu cầu người dùng cung cấp các thông số, hành vi cần thiết để các chức năng hoạt động. Đối tượng Perferences thực hiện các nhiệm vụ liên quan đến lưu trữ và tương tác với các biến share-freferences của ứng dụng. Đối tượng Command thực hiện nhúng tin nhắn lệnh vào tin nhắn quảng cáo và gửi tin nhắn này đến target number.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.7: Quá trình soạn thảo tin nhắn điều khiển

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

71

4.2.2.2 Lắng nghe, phân tích và thực thi điều khiển

Hình 4.8 biểu diễn quá trình lắng nghe, phân tích và thực thi một điều khiển của ứng dụng. Theo đó, thiết bị luôn lắng nghe tin nhắn đến thông qua SmsReceiver. Sau khi nhận được tin nhắn, SmsReceiver thực hiện phân tích

và xác thực tin nhắn đó. Trong trường hợp cụ thể này, tin nhắn đến là tin nhắn điều khiển (yêu cầu thiết bị tự động ghi âm) và được xác thực đúng mã PIN, SmsReceiver gửi yêu cầu ghi âm đến đối tượng AccelerationListener. Class AccelerationListener thực hiện lắng nghe các chỉ thị từ SmsReceiver. Khi có lời gọi yêu cầu thực hiện ghi âm, đối tượng này thực hiện kiểm tra xem ứng dụng có đang ghi âm hay không, kiểm tra sensor có thỏa điều kiện hay không. Nếu tất cả đều thỏa, ứng dụng bắt đầu thực hiện ghi âm thông qua đối tượng

AudioRecorder. Trong quá trình ghi âm, đối tượng AccelerationListener liên tục kiểm tra điều kiện sensor. Nếu có bất kỳ di chuyển nào của người dùng, hoặc trường hợp hết thời gian quy định đối tượng này thực hiện dừng ghi âm và tiến hành gửi file ghi âm đến địa chỉ email cần thiết.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.8: Quá trình lắng nghe, phân tích và thực thi điều khiển

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

72

4.3 Hình ảnh của hệ thống TUI Security

4.3.1 Cái nhìn tổng quan về hệ thống

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.9: Một số hình ảnh về ứng dụng TUI Security

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

73

Hình 4.10: Một số hình ảnh về ứng dụng TUI Security (tt)

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.11: Website http://tuisolutions.com.vn của hệ thống

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

74

4.3.2 Đăng ký tài khoản hệ thống

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.12: Quá trình đăng ký tài khoản hệ thống

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

75

4.3.3 Thiết lập thông số ban đầu

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.13: Các bước thiết lập thông số ban đầu cho ứng dụng

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

76

4.3.4 Các giao diện chính của ứng dụng

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.14: Các giao diện tương tác chính của ứng dụng TUI Security

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

77

4.3.5 Thực thi điều khiển từ ứng dụng

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Hình 4.15: Các bước thực hiện một điều khiển từ xa trên ứng dụng

CHƯƠNG 4. HIỆN THỰC HỆ THỐNG QUẢN LÝ BẢO MẬT TUI SECURITY

78

4.4 Tổng kết và đánh giá hệ thống

Như vậy, qua bốn chương đã trình bày, khóa luận đã nghiên cứu và phát triển thành công hệ thống quản lý bảo mật TUI Security với các chức năng

chính: quản lý và bảo vệ dữ liệu; cảnh báo và chống trộm; tìm kiếm điện thoại; khai thác thông tin phục vụ công tác điều tra.

• Hệ thống TUI Security có khả năng truy tìm thông tin tên, số chứng minh nhân dân của chủ sở hữu SIM Cards gắn trên thiết bị. Điều này có ý nghĩa quan trọng trong quá trình tìm kiếm thiết bị cũng như phục vụ cho công tác điều tra tội phạm.

• Hệ thống có khả năng khai thác dữ liệu trên thiết bị phục vụ người dùng và các dữ liệu pháp chứng. Bên cạnh đó, hệ thống cũng có cơ chế để cân

Giống như đa số hệ thống quản lý bảo mật trên thị trường, hệ thống TUI Security cũng có hầu hết những tính năng cần thiết của một hệ thống quản lý bảo mật như: bảo vệ dữ liệu, điều khiển từ xa, tìm kiếm điện thoại, cảnh báo và chống trộm. Hơn thế nữa, hệ thống TUI Security có những điểm nổi bật hơn so với những hệ thống trước đó như:

• Giao diện ứng dụng được thiết kế khoa học, thân thiện và dễ sử dụng.

bằng giữa hai quá trình bảo vệ dữ liệu và khai thác dữ liệu.

Tuy nhiên, vì thời gian nghiên cứu và phát triển còn hạn chế nên hệ thống

• Mặc dù đã có một số cơ chế để giảm bớt phạm vi ảnh hưởng của ứng dụng lên thiết bị nhưng hệ thống vẫn chưa cân nhắc đầy đủ những nguy cơ nếu hệ thống bị người dùng sử dụng sai mục đích.

• Hệ thống vẫn còn thiếu một số tính năng cao cấp như điều khiển từ xa qua web, theo dõi thiết bị, cảnh báo ứng dụng cài đặt gây nguy hiểm cho thiết bị,. . .

• Hệ thống vẫn còn một vài lỗi nhỏ, quá trình xử lý điều khiển còn phức tạp. Ứng dụng tiêu hao nhiều năng lượng khi người dùng luôn bật GPS, 3G.

TUI Security cũng có nhiều hạn chế quan trọng như:

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Những vấn đề này sẽ được đề cập rõ hơn trong phần 5.2 - Hướng phát triển của hệ thống trong chương tiếp theo.

CHƯƠNG 5. KẾT LUẬN & HƯỚNG PHÁT TRIỂN

79

Chương 5: Kết luận & Hướng phát triển

Khóa luận này đề cập đến vấn đề quản lý, bảo vệ dữ liệu và thiết bị trước các nguy cơ về tội phạm và an ninh thông tin hiện nay. Trong phần này, tác giả

xin tổng kết khóa luận, những đóng góp và đưa ra hướng phát triển tiếp theo của đề tài này.

5.1 Kết luận

Khóa luận này được thực hiện sau quá trình nghiên cứu và khảo sát về mức độ quan trọng của dữ liệu trên điện thoại di động và tương quan với tình hình mất an toàn thông tin; nghiên cứu về đặc tính các sản phẩm an toàn cũng như

thực hiện tìm hiểu chuyên sâu về hệ điều hành Android và Android forensics. Thông qua các nghiên cứu và tìm hiểu đó, khóa luận đã thiết kế, phát triển thành công hệ thống quản lý bảo mật TUI Security và đã giải quyết hoàn toàn năm vấn đề được đặt ra trong chương 1.

Theo đó, khóa luận này cho biết cách thức nhận dạng một thiết bị điện thoại di động bằng mã PIN hoặc số IMEI của thiết bị và cách để vô hiệu hóa chúng. Tuy nhiên, khóa luận cũng nhận ra việc vô hiệu hóa vật lý này là phức tạp và

không khả thi. Vì vậy, tác giả đã đề xuất cần có một hệ thống điều khiển, vô hiệu hóa từ xa để bảo vệ dữ liệu và thiết bị.

Hơn thế nữa, hệ thống này còn có thể lấy được thông tin chủ thuê bao đang sử dụng thiết bị cũng như các dữ liệu quan trọng trên thiết bị bằng các tin nhắn khai thác dữ liệu. Thông qua đó, người sử dụng có thể biết được ai đang sử dụng thiết bị của mình và sử dụng nó như thế nào. Điều này không những có ích cho người dùng trong quá trình tìm kiếm thiết bị mà còn giúp ích cho

các cơ quan pháp chứng trong quá trình điều tra, các nhà nghiên cứu trong lĩnh vực mobile forensics.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Tiếp tục, khóa luận đã chỉ ra được nguy cơ bảo mật nghiêm trọng đối với thiết bị rooted. Qua đó, khóa luận đã đưa ra lời khuyên cho người dùng cân nhắc trước khi thực hiện rooting thiết bị của mình. Nếu bạn không thể quản

CHƯƠNG 5. KẾT LUẬN & HƯỚNG PHÁT TRIỂN

80

lý được thiết bị thì bạn không nên rooting. Ngược lại, nếu bạn đã rooting thiết bị thì cần thiết phải cài đặt các phần mềm quản lý bảo mật nhằm đảm bảo dữ liệu và thiết bị của bạn được an toàn. Hơn thế nữa, điều này còn giúp ích cho các cơ quan pháp chứng trong quá trình điều tra trên thiết bị của bạn.

Ngoài ra, khóa luận đã tìm hiểu và tổng hợp các nghiên cứu trên thế giới về

các đặc tính của một sản phẩm an toàn IN SAFE HANDS. Việc làm này đã góp phần xây dựng nên cơ sở lý thuyết cho sự định hình và phát triển các tính năng cần thiết của một hệ thống quản lý bảo mật tốt.

Tóm lại, khóa luận này đã phát triển thành công hệ thống quản lý bảo mật TUI Security nhằm: bảo vệ dữ liệu, thiết bị; cảnh báo nguy cơ mất trộm và chống trộm; tìm kiếm thiết bị; khai thác thông tin phục vụ công tác điều tra. Hệ thống được xây dựng hoạt động tốt và thiết thực trong môi trường thực tiễn

Việt Nam hiện nay. Tác giả tin tưởng với những đóng góp của mình, khóa luận sẽ góp một phần tích cực trong công tác bảo vệ dữ liệu và thiết bị của người dùng, công tác phân tích và điều tra tội phạm của các cơ quan pháp chứng đồng thời đưa ra cái nhìn sâu hơn về vấn đề Android forensics.

5.2 Hướng phát triển

Thế hệ kế tiếp của hệ điều hành mở không phải là trên máy tính để bàn hay

máy tính lớn (mainframe) mà là trên thiết bị di động chúng ta sử dụng hằng ngày. Chính sự mở của môi trường mới này dẫn đến các ứng dụng mới phát triển nhanh chóng và cho phép tích hợp với các dịch vụ trực tuyến hiện có [9]. Khi mà tầm quan trọng của dữ liệu và các dịch vụ được thiết bị di động hỗ trợ ngày càng tăng, cơ hội cho tội phạm ngày càng lớn. Chính vì thế, giải pháp về một hệ thống quản lý bảo mật toàn diện sẽ là những ứng dụng cần thiết phải cài đặt trên thiết bị.

Hiện tại vẫn còn nhiều thách thức về các vấn đề an ninh và bảo mật ứng dụng từ khía cạnh người dùng và một số vấn đề mobile forensics khác. Trong phần này, tác giả sẽ thảo luận một số thách thức và định hướng các tính năng tiếp theo của hệ thống TUI Security.

5.2.1 Các vấn đề về an ninh và bảo mật

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Như đã đề cập ở phần trên, việc bảo mật dữ liệu ở khía cạnh người dùng trong vấn đề mobile forensics chưa được đề cập trong khóa luận này. Hệ thống

CHƯƠNG 5. KẾT LUẬN & HƯỚNG PHÁT TRIỂN

81

được phát triển có một số nỗ lực trong công tác phân tích và điều tra tội phạm bằng cách cho phép người sử dụng hoặc các cơ quan pháp chứng có thể khai thác các dữ liệu nhạy cảm trên thiết bị trộm cắp, thất lạc. Tuy nhiên, một vấn đề đặt ra khi người dùng không có nhu cầu sử dụng tính năng trên (vì lo sợ các dữ liệu của mình bị truy xuất mà không thể kiểm soát); hoặc trường hợp

tội phạm lợi dụng hệ thống này để trộm cắp dữ liệu của người dùng hợp pháp. Như đã trình bày ở các chương trước, hệ thống cũng đã thiết kế và thực thi yêu cầu quản trị hệ thống và quản trị ứng dụng, cụ thể: Hệ thống quản lý người sử dụng bằng tài khoản đăng nhập, người dùng quản lý ứng dụng bằng mã PIN xác nhận; người dùng có thể quản lý quyền hạn và phạm vi ảnh hưởng của ứng dụng. Ứng dụng được chia nhỏ thành các cụm chức năng riêng biệt. Người dùng có thể kích hoạt hoặc vô hiệu hóa các cụm chức năng này an toàn, nhanh

chóng.

Tuy vậy, các vấn đề an ninh và bảo mật vẫn chưa được giải quyết một cách triệt để. Người dùng vẫn không thể biết được ai đã đọc lén thông tin trên thiết bị của mình, khi nào và những dữ liệu gì bị lấy đi. Vì vậy trong tương lai, tác giả sẽ phát triển tính năng ghi nhật ký tất cả hành vi của hệ thống trên thiết bị để người dùng có thể kiểm soát hoạt động từ ứng dụng của chính mình.

5.2.2 Theo dõi mạng lưới hoạt động của tội phạm

Trong quá trình sử dụng thiết bị trộm cắp, tội phạm có thể liên lạc với đồng bọn của chúng. Những kết nối này là thường xuyên hơn tất cả những kết nối còn lại. Do đó trong tương lai, bên cạnh tính năng lấy dữ liệu thông qua các tin nhắn điều khiển, ứng dụng còn cho phép phân tích hành vi của người dùng,

đưa ra những ngữ cảnh được người dùng kết nối thường xuyên. Qua đó, ứng dụng tự động theo dõi các kết nối này và gửi thông báo theo định kỳ về email được cài đặt trước đó.

5.2.3 Phục hồi dữ liệu đã bị xóa

Trong lĩnh vực mobile forensics, những dữ liệu đã bị xóa có ý nghĩa và hữu

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

ích hơn nhiều so với những dữ liệu còn lưu trữ trên thiết bị. Các dữ liệu vẫn còn tồn tại và có thể phục hồi lại được kể cả khi chúng đã bị xóa khỏi thiết bị [12]. Một ví dụ cho trường hợp này là các file databases SQLite vẫn có thể được phân bổ và vẫn còn chứa các bản ghi đã xóa trong cơ sở dữ liệu (allocated

CHƯƠNG 5. KẾT LUẬN & HƯỚNG PHÁT TRIỂN

82

data).1 Một trường hợp nữa, file systems thường chỉ đánh dấu các file dữ liệu bằng cờ deleted hoặc obsolete, chứ không thực sự xóa file đó khỏi bộ nhớ nếu không cần thiết (unallocated data).2

Việc phân tích và phục hồi dữ liệu trên thiết bị Android rất phức tạp và đòi hỏi nhiều thời gian nghiên cứu, một số sai lầm trong việc phục hồi có thể

làm cho thiết bị hư hỏng. Tuy nhiên, với một số công cụ và kỹ thuật đặc biệt, chúng ta vẫn có thể phục hồi được những dữ liệu đã bị xóa này. Điều này có ý nghĩa rất quan trọng trong lĩnh vực mobile forensics mà hệ thống cần nghiên cứu trong tương lai.

5.2.4 Một số tính năng nâng cao

Ngoài ra, trong tương lai hệ thống TUI Security sẽ hiện thực thêm một số

• Cho phép điều khiển và theo dõi thiết bị từ Web. Lưu trữ vị trí của thiết

tính năng nâng cao sau:

• Thiết bị có thể tự động bật/tắt GPS để phục vụ tốt hơn công tác truy tìm,

bị trên Web Server theo định kỳ nhất định. Người dùng có thể truy cập website và biết thiết bị của mình đã di chuyển qua những vị trí nào.

• Tính năng điều khiển thiết bị tự động chụp hình khung cảnh xung quanh hoặc trích xuất các dữ liệu vừa mới được chụp từ camera bởi người sử dụng.

• Tính năng tự động phát hiện và cảnh báo khi thiết bị có nguy cơ bị trộm

theo dõi thiết bị.

• Cảnh báo phần mềm có thể gây nguy cơ bảo mật cho thiết bị và yêu cầu

cắp.

• Khắc phục hạn chế về vần đề sử dụng pin của ứng dụng bằng cách giảm

người dùng gỡ bỏ chúng.

1Các dữ liệu sẽ không bị xóa và có thể truy cập trên file system 2Các file được đánh dấu đã xóa hoặc đã bị lỗi thời

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

thiểu xử lý, năng cao hiệu năng của ứng dụng.

PHỤ LỤC A: THÔNG TIN TÁC GIẢ

83

Phụ lục A Thông tin tác giả

Thông tin giảng viên hướng dẫn

TS. Nguyễn Anh Tuấn Khoa Mạng Máy tính và Truyền thông Trường Đại học Công nghệ Thông tin Km20 Xa lộ Hà Nội, Linh Trung, Thủ Đức, TP. Hồ Chí Minh Cell:+84 932215030 Email: tuanna@uit.edu.vn Website: uit.edu.vn/~tuanna

Thông tin sinh viên thực hiện

Lê Văn Thương Sinh viên khóa 2008-2012 – Đại học Công nghệ Thông tin - ĐH QG TPHCM Email: thuongle.it@gmail.com Điện thoại: 0979150964 Website: http://tuisolutions.com.vn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

GVHD: TS. Nguyễn Anh Tuấn

Nguyễn Thành Vinh Sinh viên khóa 2008-2012 – Đại học Công nghệ Thông tin - ĐH QG TPHCM Email: nguyenthanhvinh.uit@gmail.com Điện thoại: 01217710002 Website: http://tuisolutions.com.vn

PHỤ LỤC B: LẬP TRÌNH DƯỚI QUYỀN ROOT USER

84

Phụ lục B Lập trình dưới quyền root user

Như đã trình bày trong phần 2.6.3, khi đặt được quyền root của hệ điều

hành, chúng ta có thể khai thác dữ liệu của các ứng dụng. Mọi hành vi cần sử dụng quyền root đều được khai báo trong mảng các commands và sẽ được thực thi bởi phương thức runAsRoot(String[] commands) trong bảng 1.

1 public static void runAsRoot ( String [] commands ) throws Exception 2 { 3

Process p = Runtime . getRuntime () . exec ( " su " ) ;

4

DataOutputStream os = new DataOutputStream ( p .

getOutputStream () ) ;

for ( String cmd : commands ) {

5 6

os . writeBytes ( cmd + " \ n " ) ;

7 8

} os . writeBytes ( " exit \ n " ) ;

9 10

os . flush () ; os . close () ;

p . waitFor () ;

11 12 }

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Listing 1: Run commands as root user

PHỤ LỤC B: LẬP TRÌNH DƯỚI QUYỀN ROOT USER

85

Một số commands sử dụng root user tiêu biểu mà chương trình TUI Security

đã sử dụng.

1 String [] commands = new String [] { 2 3

" sysrw " , " cat ␣ / data / data / com . facebook . katana / databases / fb . db ␣ >␣ "

4

+ fileOutPath , " sysro " };

Listing 2: Khai thác databases của ứng dụng Facebook

1 String [] commands = new String [] { 2 3

" sysrw " , " rm ␣ / data / data / com . facebook . katana / databases / fb . db " ,

4

" sysro " };

Listing 3: Xóa bỏ databases của ứng dụng Facebook

1 String [] commands = { " -c " , " busybox ␣ killall ␣ system_server " };

Listing 4: Reboot thiết bị

1 private static void copyToSystemApp ( String apkFile ) throws

IOException , Int e r r u ptedException {

2 3

/* * Change mode / system to write permision . And then , copy ( by

cat

4

* command ) apk file from / data / app to / system / app Last ,

5 6

* we need delete apk file at / data / app and reboot device . */

String [] commands = { " sysrw " ,

7 8

" mount ␣ -o ␣ remount ␣ rw ␣ / system / " , // Change pemission

9

" / system / bin / cat ␣ " + " / data / app / " + apkFile + " ␣ >␣ /

system / app / " + apkFile , // Copy file

" sysro " };

runAsRoot ( commands ) ;

10 11 12 }

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Listing 5: Chuyển đổi một user app thành system app

PHỤ LỤC C: TUI SECURITY ANDROID MANIFEST

86

Phụ lục C TUI Security Android Manifest

Mỗi ứng dụng đều cần có AndroidManifest.xml để mô tả những thông tin

• Đặt tên cho Java package của ứng dụng.

• Mô tả các thành phần (component) của ứng dụng: activity, service, broad-

quan trọng của nó cho hệ thống Android biết. Cụ thể những công việc mà AndroidManifest.xml thực hiện:

• Thông báo những permission mà ứng dụng cần có để truy nhập các pro-

cast receiver hoặc content provider.

• Thông báo những permission mà các ứng dụng khác cần có để tương tác

tected API và tương tác với các ứng dụng khác.

• Thông báo level thấp nhất của Android API mà ứng dụng có thể tương

với ứng dụng hiện thời.

• Liệt kê những lớp Instrumentation cung cấp cấu hình và các thông tin cần

thích được.

• Liệt kê các thư viện mà ứng dụng được liên kết.

thiết như các ứng dụng đang chạy, cho phép giám sát tất cả các tương tác hệ thống với các ứng dụng.

Một ứng dụng Android cơ bản mặc định không có quyền hạn liên kết nào, có nghĩa là nó không thể làm bất cứ điều gì gây bất lợi đến trải nghiệm người dùng và dữ liệu trên thiết bị. Để có thể sử dụng tính năng bảo mật của thiết

bị, chúng ta cần phải khai báo một hay nhiều tag trong file AndroidManifest.xml để khai báo những quyền hạn mà ứng dụng cần.

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Tại thời điểm cài đặt, các yêu cầu quyền hạn của ứng dụng sẽ được cấp bởi trình cài đặt, phụ thuộc vào quá trình kiểm tra chữ ký của các ứng dụng và

PHỤ LỤC C: TUI SECURITY ANDROID MANIFEST

87

sự đồng ý của người sử dụng. Không có kiểm tra nào với người sử dụng được thực hiện khi một ứng dụng đang chạy: ứng dụng, hoặc đã được cấp phép đặc biệt khi cài đặt và có thể sử dụng tính năng mong muốn, hoặc các quyền hạn sẽ không được thực thi và bất kỳ nỗ lực nào để sử dụng tính năng sẽ thất bại mà không có bất kỳ động thái nhắc nhở người sử dụng.

Một ví dụ về khai báo một ứng dụng yêu cầu quyền nhận tin nhắn SMS

(bảng 6).

1 < manifest xmlns : android = " http :// schemas . android . com / apk / res /

android "

2

< uses - permission android : name = " android . permission .

RECEIVE_SMS " / >

...

3 4

Listing 6: TUI Security AndroidManifest.xml

Đối với ứng dụng TUI Security: Vì là một ứng dụng quản lý bảo mật, nên TUI Security yêu cầu người dùng cho phép khá nhiều quyền hạn để ứng dụng

có thể hoạt động, can thiệp sâu đến dữ liệu và thiết bị (bảng 7).

1 android : name = " android . permission . CHANGE_NETWORK_STATE " 2 android : name = " android . permission . RECEIVE_SMS " 3 android : name = " android . permission . SEND_SMS " 4 android : name = " android . permission . READ_SMS " 5 android : name = " android . permission . READ_PHONE_STATE " 6 android : name = " android . permission . WRITE_CONTACTS " 7 android : name = " android . permission . READ_CONTACTS " 8 android : name = " android . permission . WRITE_SMS " 9 android : name = " android . permission . WR IT E_E XTE RN AL_ ST ORA GE " 10 android : name = " android . permission . MO U N T _ U N M O U NT _ F I L E S Y S T E MS " 11 android : name = " android . permission . M O U NT _ F OR M A T_ F I LE S Y ST E M S " 12 android : name = " android . permission . INTERNET " 13 android : name = " android . permission . WRITE_SETTINGS " 14 android : name = " android . permission . ACCESS_NETWORK_STATE " 15 android : name = " android . permission . ACCESS_MOCK_LOCATION " 16 android : name = " android . permission . INTERNET " 17 android : name = " android . permission . RE CE IVE _BO OT _CO MP LET ED " 18 android : name = " android . permission . DISABLE_KEYGUARD " 19 android : name = " android . permission . INTERNET " 20 android : name = " android . permission . ACCESS_FINE_LOCATION " 21 android : name = " android . permission . AC CE SS_ COA RS E_L OC ATI ON "

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

Listing 7: TUI Security AndroidManifest.xml

TÀI LIỆU THAM KHẢO

88

Tài liệu tham khảo

[1] M. Allen. A day in the life of mobile data, 2005. URL http://www.bcs.

org/content/conWebDoc/2774. [Online; accessed 01-Feb-2013]. ii

[2] Open Handset Alliance. Android, 2012.

URL http://www. [Online; accessed

openhandsetalliance.com/android_overview.html. 16-Feb-2013]. 15

[3] N. L. Clarke and S. M. Furnell. Authentication of users on mobile telephones

- A survey of attitudes and practices. Computers & Security, 24(7):519– 527, October 2005. doi: 10.1016/j.cose.2005.08.003. URL http://dx.doi. org/10.1016/j.cose.2005.08.003. 18

[4] R.V.G. Clarke, Development Great Britain. Home Office. Research, Statis- tics Directorate. Policing, and Reducing Crime Unit. Hot Products: Un- derstanding, Anticipating and Reducing Demand for Stolen Goods. Police research series. Home Office, Policing and Reducing Crime Unit, 1999. ISBN 9781840822786. URL http://books.google.com.vn/books?id= -iEEAQAAIAAJ. 8, 9

[5] L.E. Cohen and M. Felson. Social Change and Crime Rate Trends: Routine Activity Approach. Program in applied social statistics. Department of Sociology, University of Illinois at Urbana-Champaign, 1977. URL http: //books.google.com.vn/books?id=MUr0tgAACAAJ. 9

[6] International Data Corporation. Android marks fourth anniversary since launch with 75.0in third quarter, 2012. URL http://www.idc.com/ getdoc.jsp?containerId=prUS23771812#.UTCuaaLLo40. [Online; ac- cessed 16-Feb-2013]. 15

[7] International Data Corporation. Worldwide mobile phone market main-

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

tains its growth trajectory in the fourth quarter despite soft demand for fea- ture phones, 2012. URL http://www.idc.com/getdoc.jsp?containerId= prUS23297412#.UTDHlKLLo41. [Online; accessed 16-Feb-2013]. 6

TÀI LIỆU THAM KHẢO

89

[8] Alliance Against Crime. Design Out Crime.

Design Council, 2011. URL http://www.designcouncil.org.uk/our-work/challenges/ security/design-out-crime/. ii, 7

[9] William Enck, Machigar Ongtang, and Patrick McDaniel. Understanding

android security. IEEE Security and Privacy, 7(1):50–57, January 2009. ISSN 1540-7993. doi: 10.1109/MSP.2009.26. URL http://dx.doi.org/ 10.1109/MSP.2009.26. 80

The pocket spy: Will your

smartphone 2730:34–37, October New Scientist Magazine,

rat 17, URL http://www.newscientist.com/article/mg20427301.

[10] Linda Geddes. you out? 2009. 100-the-pocket-spy-will-your-smartphone-rat-you-out.html. ii

[11] V. Harrington, P. Mayhew, Development Great Britain. Home Office. Re- search, and Statistics Directorate. Mobile Phone Theft. Home Office research study. Home Office, 2001. ISBN 9781840827743. URL http: //books.google.com.vn/books?id=HYX5PQAACAAJ. 18

[12] A. Hoog. Android Forensics: Investigation, Analysis and Mobile Se- Forensics 2011. Elsevier Science, 2011. curity for Google Android. ISBN 9781597496513. URL http://books.google.com.vn/books?id= zDibrpXTfxMC. 6, 7, 22, 23, 81

[13] Culture Label. Mighty mobile![infographic], 2012. URL http://www. [Online; accessed

culturelabel.com/blog/2012/02/24/mighty-mobile. 20-Feb-2013]. 6

[14] Neal Leavitt. Mobile phones: The next frontier for hackers? Computer, 38 (4):20–23, April 2005. ISSN 0018-9162. doi: 10.1109/MC.2005.134. URL http://dx.doi.org/10.1109/MC.2005.134. 7

[15] Jeff Lessard and Gary C. Kessler. Android forensics: Simplifying cell phone examinations. Digital Investigation, 7(1):74–82, 2010. Small Scale Digital

Device Forensics Journal. ii, 23

[16] London-Taxi. Lost property, 2013. URL http://london-taxi.co.uk/

?page_id=23. [Online; accessed 16-Feb-2013]. 18

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

[17] MobiThinking. Global mobile statistics 2011: all quality mobile market- ing research, mobile web stats, subscribers, ad revenue, usage, trends,

TÀI LIỆU THAM KHẢO

90

URL http://mobithinking.com/mobile-marketing-tools/

2012. latest-mobile-stats. [Online; accessed 20-Feb-2013]. 6

[18] Hanna Mohamad. Background paper: Mobile phone crime. Techni- cal report, Attorney General & Justice, NSW Government, 2011. URL http://www.crimeprevention.nsw.gov.au. ii

Google play hits 25 billion downloads,

[19] Android Offical. URL

http://officialandroid.blogspot.ca/2012/09/ [Online; accessed

2012. google-play-hits-25-billion-downloads.html. 16-Feb-2013]. 15

[20] Portio Research. Portio Research Mobile Factbook 2012, 2012. URL

http://www.portioresearch.com/media/1797/Mobile%20Factbook% 202012.pdf. 6

Mobility advantage: Why secure your mobile devices?, URL http://www.sybase.com/files/White_Papers/Sybase_

[21] Sybase. 2011. Afaria_WhySecurity_wp.pdf. Online; accessed 01-Mar-2013. 7

Android smartphone symbian’s steals top os

2011. URL

http://www.phonearena.com/news/ [On-

[22] H. Victor. crown, Android-steals-Symbians-Top-Smartphone-OS-crown_id16332. line; accessed 16-Feb-2013]. 15

[23] Shaun Whitehead, Jen Mailley, Ian Storer, John McCardle, George Torrens, and Graham Farrell. In safe hands: A review of mobile phone anti-theft

designs. European Journal on Criminal Policy and Research, 14:39–60, 2008. doi: 10.1007/s10610-007-9040-9. 3, 9

[24] Wikipedia. Android (operating system), 2013.

URL http://en. [Online; accessed

GVHD: TS. Nguyễn Anh Tuấn

SVTH: Nguyễn Thành Vinh - Lê Văn Thương

wikipedia.org/wiki/Android_(operating_system). 16-Feb-2013]. 15