Phân tích quyền ứng dụng

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích mức độ an toàn của ứng dụng android dựa trên học máy (Trang 35 - 39)

Hình 1.11. mô tả dịch vụ bảo mật Kirin cho nền tảng Android. Kirin thực hiện kiểm tra quyền của các ứng dụng trong khi cài đặt. Khi một người dùng cài đặt ứng dụng, Kirin kết xuất cấu hình bảo mật của nó và kiểm tra chúng có vi phạm quy tắc của chính sách bảo mật không. Nếu một ứng dụng không đạt tất cả các chính sách bảo mật, thì Kirin có thể dừng ứng dụng đó hoặc cảnh báo đến người dùng.

Phát hiện dựa trên đám mây (cloud-base detection)

Trong ứng dụng này, một chương trình client giám sát các lời gọi hệ thống trong thiết bị và gửi nó đến server trong cloud để phát hiện hành vi mã độc.

Paranoid Android là một kỹ thuật bảo vệ chống mã độc dựa trên cloud mà nó chuyển phân tích bảo mật và sự tính toán đến máy chủ ở xa, tổ chức nhiều bản giả lập điện thoại di động chạy trên hệ mô phỏng. Một bộ truy vết (tracer) trong smartphone ghi lại tất cả các thông tin cần thiết mà các ứng dụng trên điện thoại yêu cầu. Bộ truy vết đó gửi các thông tin ghi được đến bộ phản hồi dựa trên đám mây (cloud-base replier), nó thực hiện lại trên bộ mô phỏng. Bộ phản hồi đó có thể thực hiện một số kiểm tra an toàn bảo mật, như

là phân tích mã độc động, quét bộ nhớ, phát hiện lời gọi hệ thống bất thường và quét virus từ nguồn tài nguyên phong phú trên cloud.

Crowdroid là một kỹ thuất phát hiện mã độc di động dựa trên hành vi dùng cho Android. Crowdroid là một ứng dụng nhỏ gọn giám sát các lời gọi hệ thống được gọi bởi các ứng dụng di động có chủ đích, tiền xử lý các lời gọi đó, và gửi chúng đến cloud. Ở đó, một kỹ thuật kết chùm (clustering) giúp xác định xem các ứng dụng có độc hại hay không. Tăng cường sử dụng Crowdroid cho kết quả cải thiện đáng kể đến khả năng phát hiện mã độc nhưng sử dụng phương pháp này ngay từ đầu có thể gây ra các lỗi, khi mà lượng mẫu vẫn còn rất nhỏ.

Giám sát tuổi thọ pin

Ứng dụng chứa mã độc có xu hướng sử dụng phần lớn dung lượng pin. VirusMeter là một phương pháp thú vị do Liu et al đề xuất nhằm phát hiện tiêu thụ năng lượng và phát hiện mã độc. VirusMeter phát hiện hành vi bất thường của điện năng tiêu thụ. Ý tưởng đằng sau phương pháp này là bất kỳ hành vi độc hại nào cũng sẽ tiêu thụ pin nhiều hơn. VirusMeter giám sát các hoạt động trong điện thoại và sử dụng các API được cung cấp bởi nền tảng di động để thu thập dung lượng pin còn lại. Dựa trên dữ liệu thu thập được, nó tính toán xem ứng dụng sử dụng bao nhiêu năng lượng pin và so sánh với mô hình năng lượng. Nếu có sự khác biệt và vượt qua ngưỡng thì sẽ cảnh báo.

Trong một thế giới mà tất cả mọi thứ từ cửa ra/vào đến tài khoản ngân hàng có thể được kiểm soát bởi smartphone thì điều quan trọng là thông tin cá nhân không bị dễ dàng xâm nhập. Sự gia tăng của smartphone đã mang lại nhiều thuận lợi nhưng cũng đặt ra nhiều thách thức trong việc phát hiện các mã độc. Đối với người dùng thông thường, có thể thực hiện một số bước đơn giản như sử dụng phần mềm bảo mật kết hợp với ý thức không truy cập vào các đường kết nối không rõ hoặc cung cấp thông tin cá nhân trên các trang

mạng hoặc ứng dụng không đáng tin cậy, kiểm tra chứng chỉ SSL khi nhập thông tin trên các trang web quan trọng (ví dụ như tài chính …) và quan trọng hơn nữa là người dùng cần cẩn thận trong việc tải về và cài đặt một ứng dụng.

d) Đánh giá mức độ an toàn của ứng dụng thông qua quyền được cấp phép

Trong lập trình Android nói riêng hay lập trình mobile nói chung, một ứng dụng can thiệp những thông tin nhạy cảm (thông tin danh bạ hay tin nhắn) hoặc muốn tương tác sâu vào những chức năng hệ thống (camera, internet, …) thì bắt buộc ứng dụng đó phải xin quyền người dùng. Tùy vào tầm quan trọng của thông tin cũng như chức năng hệ thống, hệ điều hành có thể cấp quyền tự động hay thông báo xin phép người dùng. Người lập trình cần khai báo quyền trong file AndroidManifest.xml. Có thể nói, quyền là bức tường bảo mật quan trọng hàng đầu mà hệ điều hành Android dựng lên nhằm bảo vệ người dùng.

Các quyền trong Android

Trong android có 2 loại quyền chính đó là Quyền thường và Quyền nguy hiểm, nếu từ phiên bản android 5.0 trở về trước thì thực chất 2 thằng

này sẽ không khác nhau là bao nhiêu bởi vì nó đều được khai báo – xin quyền trong AndroidManifest.xml, tuy nhiên từ bản android 6.0 thì các lập trình viên phải xin quyền thằng này cả trong AndroidManifest và cả khi ứng dụng khởi chạy lên đối với những Quyền nguy hiểm.

1.2.4.1 Quyền thường

Quyền thường là những quyền (permission) có rất ít nguy cơ ảnh hưởng đến sự riêng tư của người dùng hay ảnh hưởng tới các ứng dụng khác. Ví dụ, permission để cài đặt múi giờ là permission thường. Nếu một app khai báo rằng nó cần permission thường, Android sẽ tự động cấp phép cho app mà

không cần bạn cho phép, cũng như không thông báo trên Play Store lúc cài đặt.

Những permission thường hay gặp:  Tắt bật Bluetooth

 Tắt bật Wi-Fi

 Vô hiệu hóa bàn phím ảo  Mở status bar

 Cài đặt shortcut ra màn hình chủ  Thay đổi thiết lập âm thanh  NFC

 Cài báo thức, múi giờ, hình nền  Dùng vân tay

 Đọc và ghi thiết lập đồng bộ hóa dữ liệu

Đây là những quyền đơn giản, không can thiệp sâu vào trong hệ thống và người lập trình chỉ cần khai báo xin cấp quyền trong file AndroidManifest.xml, sau đó sẽ không phải xin cấp quyền lần nào nữa.

Khi người dùng tải ứng dụng về ta sẽ thấy google thông báo các quyền này lên bảo người dùng đồng ý và từ này về sau ứng dụng sẽ không hỏi thêm gì nữa, nó bao gồm các quyền như Hình 1.12:

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích mức độ an toàn của ứng dụng android dựa trên học máy (Trang 35 - 39)

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

(70 trang)