Name: | Description: | Size: | Format: | |
---|---|---|---|---|
989.82 KB | Adobe PDF |
Advisor(s)
Abstract(s)
The widespread adoption of mobile devices and the way users interact with them led to the development
of new ways of implementing, distributing and installing applications, paving the way
for new business models also. Mobile applications can be bought as a single piece of software,
or some of its features, extensions or contents may be the subject of purchases. In many mobile
applications for the Android Operating System (OS), paid items are most of the times delivered
via in-app purchases, a feature that enables a user to make micro-payments within the application
context via Google Play store. The revenue of many developers is obtained by selling
small features after releasing a free or paid version of their application. On the other hand,
the increasing capabilities of mobile devices, along with their personal nature, turns them into
aggregators of private information and interesting targets for attackers. Additionally, control
data stored in the devices may be manipulated to change the flow of programs and potentially
access blocked features or content without paying.
This dissertation is focused on secure data storage problems in mobile devices, particularly on
Android systems. Its main contribution is the quantification of the susceptibility to data manipulation
and exposure of Android applications through an exhaustive study of many applications
downloaded from the official Android store. This study included the construction of two data
sets with a total number of 1542 applications (849 games and 693 common applications) and the
human analyses of each one of them: the applications were first used in a smartphone, then
transfered to a computer with a Linux OS, their data was analyzed and modified (when possible),
the transfered back to the Android environment. The entire procedure takes advantage
of the backup utility provided by the OS and using only freely and readily available tools, and
does not require administrative permissions on the mobile device. proving the feasibility of the
approach.
In the case of the games data set, it was found that at least 1 in each 6 was susceptible to data
manipulation, meaning that it was possible to obtain paid items without any payment. In the
case of the common applications data set, 1 in each 5 was either susceptible to the same data
manipulation problem or were storing sensitive data like passwords and Personal Identification
Numbers (PINs) in plaintext. Vulnerable applications do not include mechanisms to prevent the
data from being eavesdropped or modified, which would be the preferred way of attenuating
the problem. Based on lessons learned, several proposals to solve the problem from a general
perspective are discussed towards the end of the dissertation.
A adoção generalizada de dispositivos móveis, e a maneira como os utilizadores interagem com eles, levou ao desenvolvimento de novas formas de execução, distribuição e instalação de aplicações, abrindo também caminho para novos modelos de negócio. As aplicações móveis podem ser compradas como uma única peça de software, ou algumas das suas características, extensões ou conteúdos podem ser também objeto de compra. Em muitas aplicações para o Sistema Operativo Android, os itens pagos são, na maioria das vezes, obtidos através das chamadas compras na aplicação (da expressão in-app purchases), um recurso que permite ao utilizador fazer micro pagamentos no contexto da aplicação via Google Play Store. A receita de muitos programadores é obtida através da venda de pequenos recursos após lançar uma versão gratuita ou paga da sua aplicação. Por outro lado, as capacidades crescentes dos dispositivos móveis, juntamente com a sua natureza pessoal, transforma-os em agregadores de informação privada e alvos interessantes para os atacantes. Além disso, os dados de controlo armazenados nos dispositivos podem ser manipulados para alterar o fluxo de programas e aceder a funcionalidades bloqueadas ou a conteúdo sem pagar. Esta dissertação está focada em problemas de armazenamento seguro de dados em dispositivos móveis, especialmente em sistemas Android. A principal contribuição é a quantificação da suscetibilidade à manipulação e à exposição de dados em aplicações Android através de um exaustivo estudo de muitas aplicações retiradas da loja oficial Android. Este estudo incluiu a construção de dois conjuntos de dados com um total de 1542 aplicações (849 jogos e 693 aplicações comuns) e a análise humana de cada um deles. O método consistia em: utilizar as aplicações num smartphone; transferi-las para um computador com um sistema operativo Linux de seguida; analisar e modificar os seus dados (quando possível); e por fim transferi-las de volta para o ambiente Android. Todo o procedimento aproveita a funcionalidade de backup disponibilizada pelo sistema operativo e usa apenas ferramentas disponíveis livremente, não sendo necessário permissões de administração no dispositivo móvel, comprovando a viabilidade da abordagem. No caso do conjunto de jogos, verificou-se que pelo menos 1 em cada 6 era suscetível à manipulação de dados, o que significa que foi possível obter itens pagos sem qualquer pagamento. No caso do conjunto de aplicações comuns, 1 em cada 5 é suscetível ao mesmo problema de manipulação de dados ou foi possível obter informação armazenada sensível, como palavras-passe e números de identificação pessoal em texto limpo. As aplicações vulneráveis não incluem mecanismos para evitar que os dados sejam vistos ou modificados, o que constituiria a melhor forma de atenuar o problema. Com base no que foi aprendido, várias propostas generalistas para resolver o problema são discutidos no final da dissertação.
A adoção generalizada de dispositivos móveis, e a maneira como os utilizadores interagem com eles, levou ao desenvolvimento de novas formas de execução, distribuição e instalação de aplicações, abrindo também caminho para novos modelos de negócio. As aplicações móveis podem ser compradas como uma única peça de software, ou algumas das suas características, extensões ou conteúdos podem ser também objeto de compra. Em muitas aplicações para o Sistema Operativo Android, os itens pagos são, na maioria das vezes, obtidos através das chamadas compras na aplicação (da expressão in-app purchases), um recurso que permite ao utilizador fazer micro pagamentos no contexto da aplicação via Google Play Store. A receita de muitos programadores é obtida através da venda de pequenos recursos após lançar uma versão gratuita ou paga da sua aplicação. Por outro lado, as capacidades crescentes dos dispositivos móveis, juntamente com a sua natureza pessoal, transforma-os em agregadores de informação privada e alvos interessantes para os atacantes. Além disso, os dados de controlo armazenados nos dispositivos podem ser manipulados para alterar o fluxo de programas e aceder a funcionalidades bloqueadas ou a conteúdo sem pagar. Esta dissertação está focada em problemas de armazenamento seguro de dados em dispositivos móveis, especialmente em sistemas Android. A principal contribuição é a quantificação da suscetibilidade à manipulação e à exposição de dados em aplicações Android através de um exaustivo estudo de muitas aplicações retiradas da loja oficial Android. Este estudo incluiu a construção de dois conjuntos de dados com um total de 1542 aplicações (849 jogos e 693 aplicações comuns) e a análise humana de cada um deles. O método consistia em: utilizar as aplicações num smartphone; transferi-las para um computador com um sistema operativo Linux de seguida; analisar e modificar os seus dados (quando possível); e por fim transferi-las de volta para o ambiente Android. Todo o procedimento aproveita a funcionalidade de backup disponibilizada pelo sistema operativo e usa apenas ferramentas disponíveis livremente, não sendo necessário permissões de administração no dispositivo móvel, comprovando a viabilidade da abordagem. No caso do conjunto de jogos, verificou-se que pelo menos 1 em cada 6 era suscetível à manipulação de dados, o que significa que foi possível obter itens pagos sem qualquer pagamento. No caso do conjunto de aplicações comuns, 1 em cada 5 é suscetível ao mesmo problema de manipulação de dados ou foi possível obter informação armazenada sensível, como palavras-passe e números de identificação pessoal em texto limpo. As aplicações vulneráveis não incluem mecanismos para evitar que os dados sejam vistos ou modificados, o que constituiria a melhor forma de atenuar o problema. Com base no que foi aprendido, várias propostas generalistas para resolver o problema são discutidos no final da dissertação.
Description
Keywords
Android Armazenamento Integridade Manipulação de Dados Segurança Segurança Em Dispositivos Móveis Sistema Operativo Móvel