5 Kết luận & Hướng phát triển
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 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
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 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:
• Security & Antivirus
• Find My Phone
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 cầu tài khoản đăng nhập).
1https://play.google.com/store/apps/details?id=com.lookout&hl=en, Accessed Feb 16,2013
– 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 cầ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ả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 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:
• Antivirus Protection
• Web Protection
• Call & SMS Filtering
• Anti-theft Protection
– Đ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.
– 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.
• Privacy Protection
– 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ị thông minh. Các tính năng cốt lõi của ứng dụng có thể kể đến như:
• 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.
• 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.
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
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].
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.
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 để 1http://www.openhandsetalliance.com/oha_faq.html, Accessed Feb. 16, 2013
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 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.
2.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ào 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ú ý 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ố
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