Chính vì vậy, khóa luậnnà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ệnthoạ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 t
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
Giảng viên hướng dẫn: TS NGUYỄN ANH TUẤN
Sinh viên thực hiện : NGUYỄN THÀNH VINH – 08520618
TP Hồ Chí Minh, tháng 3 năm 2013
Trang 2TÓ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ânmớ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ăngcủ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 haycũ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ệucủa Alliance Against Crime, 80% người sử dụng điện thoại di động trên Vươngquố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 trongthậ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ụngcủ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ệubả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ưuthô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 rakhi 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ácvấn đề trên Trong đó phải kể đến các ứng dụng của các công ty bảo mật uytín như Lookout Security & Antivirus, Kaspersky Mobile Security, BitdefenderAnti-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,cảnh báo nguy cơ, truy vết điện thoại di động Tuy nhiên, vấn đề truy tìm chủ
Trang 3sở 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ềutra 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ậnnà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ệnthoạ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 forensicstrên hệ điều hành Android để góp phần nâng cao khả năng thu thập dữ liệutrong 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ủasmartphones.
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 saisó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!
TP Hồ Chí Minh, ngày 01 tháng 03 năm 2013
Nhóm tác giả
Trang 4LỜ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ô trongkhoa Mạng Máy Tính và Truyền Thông, cũng như tất cả các thầy cô trongtrường Đại Học Công Nghệ Thông Tin đã truyền đạt kiến thức, kinh nghiệmquý 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ạitrườ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ườithầ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úngtô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ànthà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ánhkhỏ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ậntì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
Nhóm tác giả
Trang 5Nhận xét
(của giảng viên hướng dẫn)
Trang 6
Nhận xét
(của giảng viên phản biện)
Trang 7
Mục lục
1.1 Tên đề tài 1
1.2 Từ khóa 1
1.3 Mục tiêu đề tài và các vấn đề đặt ra 1
1.4 Đối tượng áp dụng và phạm vi của đề tài 3
1.5 Đối tượng nghiên cứu 3
1.6 Phương pháp nghiên cứu 4
1.7 Đóng góp của đề tài 4
1.8 Cấu trúc khóa luận 5
2 Khảo sát hiện trạng và các kiến thức liên quan 6 2.1 An toàn thông tin trên điện thoại di động 6
2.2 Kịch bản rủi ro 7
2.3 Đặc điểm của một thiết bị an toàn 8
2.4 Các hệ thống đã được phát triển 10
2.4.1 Lookout Security & Antivirus 11
2.4.2 Kaspersky Mobile Security 12
2.4.3 Bitdefender Anti-Theft 13
2.5 Hệ điều hành Android 15
2.5.1 Sự phát triển của hệ điều hành Android 15
2.5.2 Đặc trưng của hệ điều hành Android 15
2.5.3 Lập trình trên Android 17
Trang 82.6 Android Forensics 18
2.6.1 Nhận dạng và vô hiệu hóa điện thoại Android 18
2.6.2 Tổ chức và lưu trữ dữ liệu của hệ điều hành Android 19
2.6.3 Android Rooting và ảnh hưởng của nó đến mobile forensics 23 2.7 Các kiến thức cần thiết khác 28
2.7.1 Web Service 28
2.7.2 Yii framework 30
2.7.3 Ozeki SMS Gateway 31
2.8 Thảo luận 31
2.9 Kết chương 32
3 Thiết kế hệ thống 33 3.1 Đặc tả yêu cầu 33
3.1.1 Mục đích, phạm vi của hệ thống 33
3.1.1.1 Mục đích xây dựng hệ thống 33
3.1.1.2 Phạm vi của hệ thống 34
3.1.2 Yêu cầu của hệ thống 34
3.1.2.1 Yêu cầu chức năng 34
3.1.2.2 Yêu cầu kỹ thuật 36
3.1.2.3 Yêu cầu thiết bị 37
3.2 Thiết kế hệ thống 38
3.2.1 Thiết kế kiến trúc hệ thống 38
3.2.1.1 Mô hình hệ thống 38
3.2.1.2 Kiến trúc ứng dụng TUI Security 39
3.2.2 Thiết kế Use Case Diagram 41
3.2.2.1 Danh sách tác nhân 41
3.2.2.2 Use Case Diagram 42
3.3 Thiết kế sơ đồ khối và giải thuật 46
3.3.1 Các tính năng cơ bản 46
3.3.2 Tính năng điều khiển 48
3.3.3 Tính năng tìm thông tin vị trí thiết bị 53
3.3.4 Bảo mật 53
3.3.5 Tương tác service 55
3.4 Kết chương 62
Trang 94 Hiện thực hệ thống quản lý bảo mật TUI Security 63
4.1 Môi trường thực thi 63
4.2 Hiện thực chương trình TUI Security 63
4.2.1 Sơ đồ lớp 63
4.2.1.1 Hiện thực bộ phận thực thi điều khiển 63
4.2.1.2 Hiện thực một số tính năng quan trọng 66
4.2.2 Sơ đồ tuần tự 69
4.2.2.1 Soạn thảo tin nhắn điều khiển 70
4.2.2.2 Lắng nghe, phân tích và thực thi điều khiển 71
4.3 Hình ảnh của hệ thống TUI Security 72
4.3.1 Cái nhìn tổng quan về hệ thống 72
4.3.2 Đăng ký tài khoản hệ thống 74
4.3.3 Thiết lập thông số ban đầu 75
4.3.4 Các giao diện chính của ứng dụng 76
4.3.5 Thực thi điều khiển từ ứng dụng 77
4.4 Tổng kết và đánh giá hệ thống 78
5 Kết luận & Hướng phát triển 79 5.1 Kết luận 79
5.2 Hướng phát triển 80
5.2.1 Các vấn đề về an ninh và bảo mật 80
5.2.2 Theo dõi mạng lưới hoạt động của tội phạm 81
5.2.3 Phục hồi dữ liệu đã bị xóa 81
5.2.4 Một số tính năng nâng cao 82
Trang 10Danh mục hình ảnh
2.2 Tính năng Anti-theft của Kaspersky Mobile Security 13
2.3 Giao diện điều khiển của ứng dụng Bitdefender Anti-Theft 14
2.4 Các biến shared preferences của ứng dụng Gmail 20
2.5 Cấu trúc thư mục dữ liệu của ứng dụng Google Maps 21
2.6 Cấu trúc thư mục database của ứng dụng Android Browser 22
2.7 Android Browser plaintext password 24
2.8 Các dữ liệu được khai thác từ trình duyệt web Android 24
2.9 Các dữ liệu về danh bạ và tin nhắn 25
2.10 Dữ liệu trong ứng dụng Gmail 26
2.11 Các dữ liệu được khai thác từ Facebook 27
2.12 Kiến trúc web service 28
3.1 Chim Tui - New Zealand 33
3.2 Mô hình hệ thống TUI Security 38
3.3 Kiến trúc ứng dụng TUI Security 39
3.4 Danh sách các tác nhân sử dụng hệ thống 41
3.5 Use Case Diagram 42
3.6 Use case Login App 43
3.7 Use case Remote Control Device 44
3.8 Sơ đồ khối xử lý trong trường hợp khẩn cấp 47
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ị 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 54
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
Trang 113.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 57
3.15 Sơ đồ khối phía server nhận và xử lý yêu cầu gởi SMS 59
3.16 Sơ đồ khối phía client yêu cầu đăng ký tài khoản mới 61
4.1 Hiện thực bộ phận lắng nghe điều khiển 64
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 65 4.3 Hiện thực bộ phận thực thi lệnh 65
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 4.5 Hiện thực tính năng chống trộm 67
4.6 Hiện thực tính năng tìm kiếm thiết bị 68
4.7 Quá trình soạn thảo tin nhắn điều khiển 70
4.8 Quá trình lắng nghe, phân tích và thực thi điều khiển 71
4.9 Một số hình ảnh về ứng dụng TUI Security 72
4.10 Một số hình ảnh về ứng dụng TUI Security (tt) 73
4.11 Website http://tuisolutions.com.vn của hệ thống 73
4.12 Quá trình đăng ký tài khoản hệ thống 74
4.13 Các bước thiết lập thông số ban đầu cho ứng dụng 75
4.14 Các giao diện tương tác chính của ứng dụng TUI Security 76
4.15 Các bước thực hiện một điều khiển từ xa trên ứng dụng 77
Trang 12Danh mục bảng biểu
2.1 Các đặc tính của thiết kế an toàn 10
2.2 Thư mục con của /data/data/<packageName> 20
3.1 Bảng đặc tả yêu cầu chức năng của hệ thống 36
3.2 Bảng yêu cầu kỹ thuật của hệ thống 37
3.3 Đặc tả Use Case Login App 43
3.4 Đặc tả Use Case Send Control Command 45
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 56
Trang 13Danh mục từ viết tắt
truyền thông di động
In-terface
Giao diện lập trình ứng dụng
Communications
Hệ thống thông tin di độngtoàn
Envi-ronment
Một loại phần mềm máy tính
có công dụng giúp đỡ các lậptrình viên trong việc phát triểnphần mềm
Equipment Identity
Mã số nhận dạng thiết bị diđộng trên toàn thế giới
JavaScript
tiện
Network-Number
Là một số duy nhất xác địnhmột thuê bao trong GSM hoặcmạng di động UMTS
Num-ber
Mã số cá nhân, dùng để xácthực thuê bao di động
Trang 14REST 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 đitrạng thái của tất cả giao dịch
triển phần mềm
trên điện thoại di động - lưu trữnhững thông tin như số điệnthoạ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
giao thức sử dụng XML đểđịnh nghĩa dữ liệu dạng thuầnvăn bản (plain text) thông quaHTTP
Telecommu-nications System
Hệ thống viễn thông di độngtoàn cầu
Internet
Trang 15Danh mục thuật ngữ chuyên ngành
từ một điện thoại di động theo các điều kiệnpháp lý bằng cách sử dụng các phương phápđược chấp nhận
đang chạy
hạn root user
Trang 16Chương 1: Giới thiệu đề tài
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 đườngphố 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ànhphố 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ê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
Trang 17Mạ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 minhnhâ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ôngtin về tài khoản email, tài khoản mạng xã hội và một số hình ảnh Cung cấpcá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ủamì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ênthiế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ị; thuthậ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ứusau:
1 Làm thế nào để nhận dạng một thiết bị (điện thoại di động)? Các cáchthứ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ị trongtrườ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ũngnhư vị trí hiện tại và các dữ liệu quan trọng của thiết bị? Chúng có ảnhhưở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ảomậ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ôhình và cách thức hoạt động của hệ thống ra sao?
Trang 181.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 trongcá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óaluậ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ạicủa các phần mềm virus, malware, trojan hoặc do các hành vi lừa đảo) Khóaluậ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ệcbả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, thuthập thông tin phục vụ công tác điều tra Khóa luận không đề cập đến trườnghợ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ệtNam 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ởicác cơ quan pháp chứng trong điều tra tội phạm; các nhà nghiên cứu trong lĩnhvực mobile forensics
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ượngsau:
của sản phẩm an toàn IN SAFE HANDS [23]
Trang 191.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ôngtin để 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 HOTProducts và đặc tính của sản phẩm an toàn IN SAFE HANDS từ những côngtrì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ựchiệ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ụngnề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ươngpháp mô phỏng, phương pháp nghiên cứu thực tiễn làm phương pháp nghiêncứ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ốngquản lý bảo mật hoàn chỉnh trên Android smartphones
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ệ
dữ liệu, thiết bị; cảnh báo nguy cơ và chống trộm; tìm kiếm thiết bị; thuthập thông tin phục vụ công tác điều tra Hệ thống được xây dựng thiếtthự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ácsản phẩm HOT Products và đặc tính của một sản phẩm an toàn INSAFE 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
– 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
Trang 20và đ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ệnthoạ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 rootingthiết bị của mình
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ácgiả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
đề tài và đưa ra hướng phát triển tiếp theo
Trang 21Chương 2: Khảo sát hiện trạng và các kiến
thức liên quan
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àocuố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 trongnă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ạtsả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ỷ tinnhắ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ọngtăng trưởng đến 2.4 tỷ người đến năm 2016 Năm 2011 cũng chứng kiến 207triệ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ụngthiế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ốilượng thanh toán lên 633.4 tỷ USD [20] Một khảo sát khác cho biết: 81% điệnthoạ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 videoYouTube được phát hàng ngày [13]
Dữ liệu trên điện thoại di động được lưu trữ trong một hình thức tập trungcao độ và di động [12] Do đó, chúng thu hút các tội phạm nói chung và tội
Trang 22phạ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ấphà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 khingườ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àydẫ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ể đốitượ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ànhcô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ạntrộ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ậtnà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ệnnay
Hiểu được những nguy cơ và các kịch bản rủi ro khác nhau cho phép cácnhà 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ứucá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
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 để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ệnthoại di động mà mẹ cậu đưa để gọi trong các trường hợp cần thiết Giữađường, Minh bị một nhóm thanh niên chặn đường và cướp mất túi sáchcủa mình Chuyện mất điện thoại chỉ là một vấn đề đơn giản Minh đã muamộ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
Trang 23bè và người thân của cậu rằng ai đó đã mạo danh cậu để vay mượn tiềnbạ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ảngcáo lớn Anh được công ty cấp cho điện thoại di động để phục vụ côngviệ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,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áchhàng và kế hoạch, chiến lược của công ty anh lọt vào tay đối thủ Giám đốccông ty đã rất tức giận và sa thải Khánh
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ế Tuyvậ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àydiễ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ảmhẳ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ầucầ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
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ànghóa Đề tài này đã thúc đẩy nhiều công trình nghiên cứu nhằm đưa ra các đặctính chung của các sản phẩm hấp dẫn tội phạm (HOT products) Theo Cohen
Trang 24and 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 đặctí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ọnggiả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 trongbà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ợpcá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
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ôngnê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
độ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úibảo vệ thiết bị đeo trên người là một minh chứng cho đặctính này
được tìm thấy
Executable
Thiết bị di động có thể được vô hiệu hóa nếu chúng bịmất hoặc bị trộm cắp Ngoài ra thiết bị nên được điềukhiển từ xa thực hiện một số yêu cầu khác nhau
Trang 25Thiết bị sẽ được bảo vệ tốt hơn với những ứng dụng bảomật tự động Trong số đó, thẻ SIM cũng được tự độngbả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ườiphạm tội để tận dụng lợi thế bởi sự thờ ơ về bảo mật củamộ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ộmcắ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ảnhbá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ấncông (bằng phần mềm) hoặc dễ dàng xóa bỏ các chươngtrình bảo mật
Bảng 2.1: Các đặc tính của thiết kế an toànViệc định nghĩa các đặc tính trên là những cơ sở lý thuyết cần thiết trongviệ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ắmvững để phát triển một hệ thống quản lý bảo mật tốt
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ầnmềm này thực hiện rất nhiều chức năng bảo mật như Security & Antivirus, WebProtection, Anti-theft Protection, Call & SMS Filtering, Privacy Protection,Phone Finding, Backup & Restore, Hệ thống được xây dựng trong khóaluậ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áttriể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
Trang 26luận đã phát triển có một số điểm nổi bật riêng Do đó, trong phần này khóaluậ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 securitytrê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 đượctạp chí TechCrunch đánh giá là “Top 10 Best Free Apps”, tạp chí PCWorld đánh
• Security & Antivirus
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êucầu tài khoản đăng nhập)
1 https://play.google.com/store/apps/details?id=com.lookout&hl=en, Accessed Feb 16,2013
Trang 27– Báo động lớn và khẩn cấp để tìm kiếm thiết bị kể cả khi thiết bị trongchế độ 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ợpcần thiết
• Backup & Restore
– 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ảomật nổi tiếng Kaspersky phát triển Kapersky Mobile Security sử dụng các côngnghệ 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ầnmề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ệnthoạ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à truytì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:
Trang 28– 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
đã 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 Ứngdụ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 chophé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ịthông minh Các tính năng cốt lõi của ứng dụng có thể kể đến như:
Trang 29• Multi-device: Ứng dụng Bitdefender Anti-Theft sử dụng được cho tất cảcác thiết bị gia đình, bao gồm laptops, smartphones hay tablets.
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ề giaodiện của tính năng điều khiển từ xa
Hình 2.3: Giao diện điều khiển của ứng dụng Bitdefender Anti-Theft
Trang 30về 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 đầutiê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 đượcphát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm2005) [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ểnthấ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 đạtngưỡng 25 tỷ lượt từ khi Android xuất hiện và bình quân có khoảng 1.5 tỷ lượttả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ệnthoạ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íchhoạt [6]
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ỡ ranhgiới ứng dụng và dễ dàng phát triển ứng dụng [2]
Trang 311 Tính mở: Hệ điều hành Android được xây dựng từ cấp độ phần cứng chophép nhà phát triển xây dựng các ứng dụng sử dụng lợi thế đầy đủ củathiế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ệncuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép các nhà phát triểntạ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ộtmáy ảo tùy biến được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phầncứ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ềntả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ệcvới nhau để tạo ra các ứng dụng di động sáng tạo Sự ra mắt của Androidvà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ễnthông nhằm mục đích tạo nên một chuẩn mở cho điện thoại di động trongtương lai.1
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ị đượcxây dựng trên nền tảng Android, các ứng dụng có thể đáp ứng đầy đủ nhucầ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ị
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ợpthô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ộtnhà 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
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 để
1 http://www.openhandsetalliance.com/oha_faq.html, Accessed Feb 16, 2013
Trang 32xây dựng các ứng dụng hữu ích Ví dụ, Android cho phép các nhà pháttriể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ácmạ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ệună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ụngnề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ônngữ lập trình C# để phát triển ứng dụng trên Android, sau đó có thể tùy chỉnhnhanh chóng để có được một ứng dụng chạy trên các nền tảng khác như iOShay Windows Phone Tuy nhiên, vì công cụ hỗ trợ lập trình và API phải có bảnquyề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ợithế 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ầncứng thiết bị, các dịch vụ chạy ngầm, các file/thư mục trong hệ thống phầncứ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 cungcấ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ầnnhư 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ợpvớ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ọnAndroid API làm nền tảng chính để xây dựng ứng dụng này
Trang 332.6 Android Forensics
2.6.1 Nhận dạng và vô hiệu hóa điện thoại AndroidTrong thực tế, chúng ta có thể xác định thiết bị điện thoại di động dựa vàohai 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 haithô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ựchiệ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ữacá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ệnbở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ộtlầ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ấpdị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 đọclé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ờikhó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ẻ SIMkhá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ú ý
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ợpphá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ố
Trang 34IMEI 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ànthô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ụngvà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 thiết bị Android lưu trữ một lượng dữ liệu đồ sộ về thông tin cá nhânlẫ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ệunà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ữ ứngdụ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ị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ênpackage 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
Trang 35Bả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ụnglưu trữ tại /data/data.
dạng xml
ứng dụng
files của web browser hoặc các ứng dụng sử dụng WebKitengine
Bảng 2.2: Thư mục con của /data/data/<packageName>
Android cung cấp năm phương thức lưu trữ dữ liệu cho các ứng dụng:
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 preferencestrong file Gmail.xml (hình 2.4) Qua hình trên, chúng ta có thể thấy đượctên tài khoản Gmail của người sử dụng được lưu tại file xml này
Hình 2.4: Các biến shared preferences của ứng dụng Gmail
Trang 362 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/<package-name> và nhà phát triển có thể quản lý, thao tác trênnhữ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ộidung của file nếu họ không có quyền root Các lập trình viên có thể chỉnhsử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
/data/-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)
(a) Cấu trúc thư mục dữ liệu (b) Cấu trúc thư mục databases
Hình 2.5: Cấu trúc thư mục dữ liệu của ứng dụng Google Maps
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ơnphương thức trên Ưu điểm về sự thuận tiện có được khi sử dụng SD Cardscũ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ươngthứ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áchhà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ị
Hệ điều hành Android cung cấp các APIs cho phép các lập trình viên sử
Trang 37dụ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<packageName>/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ấycấ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
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âyngày nay Các lập trình viên có thể sử dụng các classes và phương thứctrong 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ôngtin cấu hình và các file database là những thông tin quan trọng cần khaithá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ềunền tảng khác nhau Trên Android, ứng dụng được cài đặt khoảng 100
chúng ta có thể tìm thấy thư mục dữ liệu của ứng dụng tại com.dropbox.android
/data/data/-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
1 https://play.google.com/store, Accessed Feb 16, 2013
Trang 38file logs, debugging và các services Tất nhiên, mặc định hầu hết những dữ liệuquan trọng chỉ có thể đọc được khi chúng ta có quyền root user Tận dụng khaithác những dữ liệu này, chúng ta có thể tìm được nhiều thông tin nhạy cảmcủ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ườidù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ủangườ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 Androidkhô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ụngAndroid khác Bản chất máy ảo Android chỉ cho phép mỗi ứng dụng chạy trêntiế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ềnhạn được gán bởi người dùng hoặc định danh nhóm người dùng trên các ứngdụ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
ẩ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ùngthự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 đượcquyề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ảnxuất thiết bị hoặc nhà cung cấp Họ sử dụng thuật ngữ rooting mang ý nghĩatruy 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ấtcủ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
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 đángquan tâm Đó là những thông tin rất hữu ích cho quá trình điều tra
Thật vậy, Hoog [12] cho biết trình duyệt mặc định Android lưu trữ password
1 Những quyền hạn này được khai báo bởi lập trình viên trong file AndroidManifest.xml
2 http://lifehacker.com/5342237/five-great-reasons-to-root-your-%
20android-phone, Accessed Feb 20, 2013
Trang 39dướ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ôngtin khác về lịch sử duyệt web, lịch sử tìm kiếm, bookmark cũng được tìm thấytrên một file databases khác (hình 2.8) Điều này là rất hữu ích cho các giámđịnh pháp chứng mặc dù một thực tế bảo mật kém từ góc độ người dùng
Hình 2.7: Android Browser plaintext password
(a) Lịch sử duyệt web
(b) Các bookmark của trình duyệt
Hình 2.8: Các dữ liệu được khai thác từ trình duyệt web Android
Trang 40Tiế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
(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ộ
Hình 2.9: Các dữ liệu về danh bạ và tin nhắn