550 likes | 731 Views
Android Security – Dual Profile Device. Neelima Krishnan Gayathri Subramanian. Outline. Introduction Why is Android Security Important ? Security Model in Android What we proposed and What we did Implementation Details Results and Conclusion. Introduction.
E N D
Android Security – Dual Profile Device Neelima Krishnan Gayathri Subramanian
Outline • Introduction • Why is Android Security Important ? • Security Model in Android • What we proposed and What we did • Implementation Details • Results and Conclusion
Introduction • A software platform and operating system for mobile devices • Based on the Linux kernel • Developed by Google and later the Open Handset Alliance (OHA) • Allows writing managed code in the Java language • Possibility to write applications in other languages and compiling it to ARM native code • Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA
The Big Question Who is Responsible for Android Security? Google ? Users ? Application Developers ?
Why is Android Security Important ? (Responsibility ? ) • Android Market is open unlike Apple Store • Developers are free to submit their apps on the market. Each app should list the permissions it uses before installation. • User should decide if he wants to install the app based on the permissions.
Why is Android Security Important ? • Apps make Smart-Phones a general-purpose computing platform. • We can now send text messages, multimedia messages, access email, browse the Web,create and edit pdfs and other documents.
Why is Android Security Important ? (malware Growth) • In March 2011 , 58 apps containing malicious activities were removed from android market. • Unfortunately 260,000 downloads had been recorded for these 58 applications.
Growth of Android OS Market Android is the leading smartphone platform of choice among US smartphone users. Google is receiving more than 550,000 activations per day.
Android Security Model • Challenge :- Security platform should provide • flexibility for open platform • provide protection for all users • Aim:- OS should protect User data System Resources Application Isolation
Android Security Model .. Cntd.. • Key Security features • Robust security at kernel level • Mandatory application sandbox • Secure IPC • Application Signing • Application-defined and user-granted permissions
Android Security Model • The secure sandbox
Android Application Security • protected APIs are • SMS/MMS • Camera • Bluetooth • Telephony • GPS • Network/data connections • These are accessible only through APIs
Android Application Security • To use protected API declare them in the manifest file (which is part of apk) • These permissions are displayed when the user installs the application • User cannot grant/deny individual permission • After installation user is not prompted to confirm any of these permissions again
Application Layer Security - Manifest.xml • The Manifest presents essential information about the application. • It describes the components of the application • Activities • Services • Broadcast Receivers • Content Providers • Declares which permissions the application would use. • Declares the minimum level of the Android API that the application requires • Lists the libraries that the application must be linked against
Android Security Risks • Flimsy passwords • Naked Data • SMShing • Unsafe Surfing • Nosy Apps • Repackaged and fraudulent apps • Android malware • Fake anti-malware • Losing the device.
Rewinding an year of Android Malware • SMS malware threats SMS.AndroidOS.FakePlayer.a -b-c AndroidOS_Droisnake.A Android.Walkinwat • GPS malware threats AndroidOS_Droisnake.A Android.Geinimi • Trojans • Android.Geinimi, Android.Pjapps, Droiddream, Android.Adrd AKA Android.HongTouTou, Android.Pjapps, Android.BgServ AKA Troj/Bgserv-A AKA AndroidOS_BGSERV.A, Android.Zeahache
Our Solution What we proposed? • GPS Watcher • Dual-Mode GUI • Encryption • VPN-Server What we implemented ? • SMS Scanner • GPS Scanner (These are part of Application Permission Viewer) • Application Malware Scanner • Dual-Mode Profile supporting Encryption
IMPLEMENTATION • Dual-Mode Profile • Application Permission Viewer GPS Scanner • SMS Scanner • Application Malware Scanner • Encryption
Dual-Mode GUI • The GUI consists ofa login page which allows you to choose secure or standard log-in • Secure side login button prompts you for entering a secret password. • Hashing is used to store and verify the password. • User can any time switch modes after login by accessing the switch button in the Status Notification bar.
IMPLEMENTATION • Dual-Mode Profile • Application Permission Viewer GPS Scanner • SMS Scanner • Application Malware Scanner • Dual-Mode Profile Encryption
Permissions requested by Angry Birds application • INTERNET • READ_PHONE_STATE • ACCESS_NETWORK_STATE • WRITE_EXTERNAL_STORAGE • ACCESS_WIFI_STATE • ACCESS_COARSE_LOCATION
Some Permission lists used by famous apps • Permissions Used by Weather Channel app ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_WIFI_STATE ACCESS_LOCATION_EXTRA_COMMANDS CHANGE_NETWORK_STATE CHANGE_CONFIGURATION INTERNET MODE_WORLD_WRITEABLE ACCESS_NETWORK_STATE CALL_PHONE VIBRATE
Application Permission Viewer • Android App which is first step in providing Application layer Security. • Displays the list of Android Apps installed on our device. • Displays all permissions requested by the selected app.
SMS and GPS Scanner • SMS and GPS Scanner are simple extensions to Application Permission Viewer. • Apart from listing the permissions , it displays a warning to the user , if the selected application can send sms or access our location
IMPLEMENTATION • Dual-Mode Profile • Application Permission Viewer GPS Scanner SMS Scanner • Application Malware Scanner • Dual-Mode Profile
Android App Scanner • Gets the list of all apps installed on our device • Fetches the permission list of each of these apps and compares them against the hard-coded rules • If any one of the rule matches , the app is tagged as ‘Potential Malware’ • After Scanning all the apps , lists the Potential Malware as an alert.
Policy Rules • The policy rules we have created from the study on the android malwares • SET_DEBUG_APP • INSTALL_PACKAGES • DELETE_PACKAGES • RECEIVE_SMS + WRITE_SMS • WRITE_SMS + SEND_SMS • RECEIVE_SMS + SEND_SMS • UNINSTALL_SHORTCUT + INSTALL_SHORTCUT • PROCESS_OUTGOINGCALLS + RECORD_AUDIO + INTERNET • READ_PHONE_STATE + RECORD_AUDIO + INTERNET • WRITE_CONTACT + READ_CONTACTS + INTERNET • CAMERA+ SEND_SMS + INTERNET • CHANGE_WIFI_STATE + READ_CONTACTS + INTERNET
Policy Rules (Contd.) • WRITE_SETTINGS + READ_PHONE_STATE + GET_ACCOUNTS + INTERNET • CHANGE_CONFIGURATION + MODE_WORLD_WRITABLE + CALL_PHONE_INTERNET • READ_LOGS + ACCESS_WIFI_STATE + INTERNET • READ_PHONE_STATE + ACCESS_WIFI_STATE + INTERNET • READ_PHONE_STATE + ACCESS_COARSE_LOCATION + INTERNET • RECEIVE_BOOT_COMPLETE + ACCESS_COARSE_LOCATION + INTERNET • RECEIVE_BOOT_COMPLETE + ACCESS_FINE_LOCATION + INTERNET
IMPLEMENTATION • Dual-Mode Profile • Application Permission Viewer GPS Scanner SMS Scanner • Application Malware Scanner • Dual-Mode Profile
Dual Mode Profile Features: • Encrypted data and cache. • Encryption done using AES-CBC • Implemented the Linux Unified Key System (LUKS) • Crypt setup was used to create an encrypted file system • Crypt setup is implemented as a device mapper target, thus enabling the encryption of block devices and files • Key Storage • Mount encrypted data and cache into /data and /cache on profile switch.
Keyterms Zygote Loop back Filesystem Block device Encryption-AES-CBC
Steps to perform Encryption • Configure the kernel to support encryption. • Create an empty file, secureMode. • Mknod • Losetup • Encrypt the blocks • Format the new encrypted filesystem- mkfs or mke2fs. • Copy contents of current /data and /cache folder into a mount point. • Stop Zygote. • Unencrypt the encrypted block. • Mount this into the /data and /cache . • Restart Zygote. • After use Encrypt and umount this, and mount original /data and /cache back. Why?