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