Để áp dụng bất kỳ hạt nhân nào, trƣớc tiên chúng ta phải trích xuất các đặc trƣng từ ứng dụng. Các ứng dụng Android đƣợc đóng gói dƣới dạng tệp APK, tƣơng tự nhƣ tệp jar tiêu chuẩn của Java. Chúng tôi sử dụng dự án mã nguồn mở Androguard [5] để xử lý các tệp này và trích xuất các đặc trƣng. Androguard cung cấp một giao diện dễ sử dụng để phân tích và dịch ngƣợc các ứng dụng Android.
3.2.4.1. Đặc trƣng quyền truy cập
Hệ thống Android chạy các ứng dụng trong sandbox trên môi trƣờng ảo (Davik VM), nơi các ứng dụng đƣợc cách ly khỏi việc can thiệp trực tiếp vào tài nguyên của hệ thống và các ứng dụng khác.
Android quy định các ứng dụng truy cập vào tài nguyên của phần cứng, hệ điều hành và các ứng dụng đƣợc cài đặt khác thông qua mô hình quyền. Ứng dụng cần đƣợc cấp các quyền thích hợp để thực hiện bất kỳ loại quy trình đặc quyền nào trên hệ thống. Nhà phát triển ứng dụng cần khai báo các quyền cần thiết cho ứng dụng trong tệp AndroidManifest.xml; và ngƣời dùng cần cấp các quyền đƣợc yêu cầu tại thời điểm cài đặt để tiến hành cài đặt hoặc nếu không thì quá trình cài đặt sẽ bị chấm dứt.
Các ứng dụng APK phải bao gồm một tệp kê khai, trong số những thứ khác, yêu cầu quyền truy cập vào các phần tử bị hạn chế nhất định của hệ điều hành Android. Các yếu tố này bao gồm quyền truy cập vào các thiết bị phần cứng khác nhau (ví dụ: GPS, máy ảnh), các tính năng nhạy cảm của hệ điều hành (ví dụ: danh bạ) và quyền truy cập vào một số phần tiếp xúc của các ứng dụng khác. Ví dụ: quyền “android.permission.INTERNET‖ yêu cầu quyền truy cập Internet và “android.permission.READ CONTACTS” yêu cầu quyền truy cập vào cơ sở dữ liệu danh bạ điện thoại của ngƣời dùng.
Khi đã trích xuất danh sách các quyền đƣợc yêu cầu, chúng tôi chia chúng thành hai nhóm: quyền tích hợp tiêu chuẩn và quyền không chuẩn. Đối với các quyền tiêu chuẩn, chúng tôi tạo một vectơ nhị phân trong đó mỗi mục nhập tƣơng ứng với một quyền tích hợp đƣợc đặt thành 1 nếu ứng dụng yêu cầu quyền đó và 0 nếu không.
Đối với các quyền không chuẩn, chúng tôi chia các chuỗi thành ba phân đoạn: tiền tố (thƣờng là ―com‖ hoặc ―org”), tổ chức và phần sản phẩm và tên quyền. Chúng tôi bỏ qua bất kỳ sự xuất hiện của các từ android hoặc permission vì đó là những từ phổ biến.