Detecção de artaques no Android : um modelo baseado na comunicação entre processos
Resumo
Resumo: Atualmente o uso de celulares faz parte do cotidiano das pessoas e como consequência dessa popularização o Android se tornou o sistema operacional mais utilizado no mundo. Nesse contexto, os dispositivos Android são utilizados para conversas particulares, realizar operações bancárias, manter arquivos pessoais, entre outras atividades, se tornando assim um alvo atrativo para ataques hackers e malwares. Essa exposição a ações maliciosas gerou uma maior preocupação com a segurança de dispositivos Android e, consequentemente, ao desenvolvimento de diferentes métodos de proteção para os mesmos. Dentre esses métodos se destacam os sistemas de detecção de intrusão (IDS - Intrusion Detection System), que têm como objetivo identificar ameaças aos dispositivos. Existem diversas abordagens para a detecção de intrusão no Android, que podem ser classificadas em estáticas ou dinâmicas; onde os métodos estáticos têm como objetivo identificar ameaças através da análise dos arquivos de aplicativos sem executá-los e os métodos dinâmicos realizam essa atividade através da análise de dados coletados durante a execução da aplicação analisada. Além disso, uma das medidas de segurança adotada pelo Android é o isolamento de processos, que garante que um aplicativo não tenha acesso aos dados de outro; dessa forma, para que os aplicativos e componentes do Android se comuniquem é utilizado o módulo Binder, que implementa o IPC (Inter Process Communication) controlando toda a comunicação entre processos no Android. Apesar disso, o monitoramento do funcionamento do módulo Binder para detecção de ataques foi pouco explorada na literatura. Dessa forma, este trabalho apresenta uma metodologia para detecção de malware utilizando dados da comunicação entre processos como fonte de dados; esses dados foram coletados através do monitoramento de chamadas de funções do módulo Binder ao se executar a aplicação analisada. Utilizando-se esse mecanismo foi construída uma nova base de dados (AndroBind), que representa o comportamento de aplicações Android referente a comunicação com outros processos. Finalmente, a proposta do trabalho consiste no uso de métodos de aprendizado de máquina para identificar aplicações com comportamentos maliciosos através da base de dados de traços de chamadas de função no Binder construída. O modelo proposto alcançou como resultado uma taxa de identificação superior a 70%, validando assim a proposta. Além disso, também foi apresentada uma análise dos dados obtidos para identificar comportamentos maliciosos caracterizados nos mesmos, mostrando assim a relação entre o modo de uso de IPC e atividades maliciosas. Abstract: Currently the use of smartphones and IoT devices is part of people's daily lives and due to this popularization Android has become the most used operating system in the world. That said, Android devices are used for private conversations, banking, maintaining personal files such as photos, among other activities, thus becoming an attractive target for hackers and malware. This exposure to malicious activities created a greater concern about Android devices security and, then, the development of different methods for protecting them. Among these methods, there are intrusion detection systems (IDSs), which aim to identify threats to devices. The different approaches to identifying threats on Android devices can be classified as static or dynamic; static methods aim to identify threats by analyzing application files without executing them and dynamic methods perform this goal by analyzing data collected during the execution of the analyzed application. Furthermore, one of the core security measures adopted by Android is the processes isolation, which ensures that an application does not have access to the data of another; then, for Android applications and components to communicate between them it is used the Binder module, wich implements the IPC (Inter Process Communication) that allows it to manage all communication between processes on Android. Despite this, using the Binder module operational data to detect attacks has been little explored in the literature. Therefore, this work presents a methodology for intrusion detection that uses the inter-process communication as data source; this data is collected by monitoring function calls in the Binder module when executing the analyzed application. Using this mechanism a new dataset (AndroBind) was built, which represents the behavior of Android applications relative to communication with other processes. Finally, this work's approach consists of using machine learning methods to detect malicious behaviors in applications through this built dataset consisting of Binder function call traces. The model proposed achieved an over 70% identification rate and therefore validated the proposal. Besides that, it was introduced an analysis on the dataset in order to identify the malicious behaviors characterized on it and then show the relation about the way of using IPC and malicious activities.
Collections
- Dissertações [254]