BR102015015270B1 - Método para fornecer um modo de segurança para aplicações de dispositivos móveis - Google Patents
Método para fornecer um modo de segurança para aplicações de dispositivos móveis Download PDFInfo
- Publication number
- BR102015015270B1 BR102015015270B1 BR102015015270-1A BR102015015270A BR102015015270B1 BR 102015015270 B1 BR102015015270 B1 BR 102015015270B1 BR 102015015270 A BR102015015270 A BR 102015015270A BR 102015015270 B1 BR102015015270 B1 BR 102015015270B1
- Authority
- BR
- Brazil
- Prior art keywords
- applications
- safe mode
- mobile device
- mode
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
MÉTODO PARA FORNECER UM MODO DE SEGURANÇA PARA APLICAÇÕES DE DISPOSITIVOS MÓVEIS. A presente invenção refere-se a um método para fornecer um modo de segurança para aplicações de dispositivos móveis compreendendo as etapas de: configurar (1050) quais aplicações devem estar disponíveis no modo de segurança; definir (1100) no kernel do sistema operacional do dispositivo móvel as regras e privilégios para as aplicações definidas para o modo de segurança; verificar (1200) continuamente se o modo de segurança é ativado pelo usuário; caso o modo de segurança esteja ativado pelo usuário, então o kernel do sistema operacional procura (1300) os processos e aplicações em execução no sistema operacional, suspende (1400) as aplicações de sistema não configuradas para estarem disponíveis no modo de segurança, oculta a aplicação protegida, restringe comunicações entre processos e impõe restrições de escalação de privilégios e permite (1500) acesso aos arquivos de aplicação protegida pela Id de usuário de aplicação protegida; e caso o modo de segurança não esteja ativado pelo usuário, então o kernel libera (1600) todos os processos e aplicações que foram parados pelo modo de segurança e nega (1700) qualquer acesso aos arquivos de aplicação protegida.
Description
[0001] A presente invenção refere se a um método para fornecer um novo modo de operação para dispositivos móveis: um modo de segurança (similar à operação de modo avião, já presente nos telefones inteligentes atuais) que adiciona uma camada de segurança para proteger a aplicação importante do usuário (tal como aplicações bancárias) e informação sigilosa (por exemplo, senhas, números de cartão de crédito, informação de conta bancária, fotos/vídeos privados, etc.).
[0002] Hoje em dia, os dispositivos móveis (por exemplo: smartphones, tablets) estão cada vez mais sendo usados para realizar transações eletrônicas sigilosas, e também para armazenar uma quantidade considerável de informações privadas e confidenciais.
[0003] Enquanto os sistemas e serviços oferecidos através de dispositivos móveis de transação tornaram-se mais valiosos, sofisticados e de uso generalizado, a incidência de softwares maliciosos (malwares) e transações fraudulentas também aumentaram. Há muitas ameaças de segurança associadas aos dispositivos móveis, que foram invadidos com sucesso, tornando possível a um terceiro (invasor) obter de forma fraudulenta a senha do usuário e/ou qualquer outra informação sigilosa (por exemplo, números de cartões de crédito, informações de conta bancária, fotos/vídeos privados, etc.).
[0004] A maioria dos telefones inteligentes atuais usa o sistema operacional (OS) Android. Portanto, é compreensível que a maioria dos ataques de malware seja destinada ao OS Android. E também é conhecido que o modelo de segurança do Android tem vulnerabilidades. As aplicações mal escritas/ codificadas (isto é, uma falha de programação) podem permitir um possível vetor de ataque na comunicação entre aplicações e, consequentemente, um malware pode obter acesso não autorizado aos dados de aplicações para Android, mas esta não é a única razão para as vulnerabilidades de segurança do Android. Além de aplicações mal escritas/ codificadas, há outras maneiras de atacar aplicações e explorar essas vulnerabilidades se um invasor (cracker) tem um controle “ring0” ou tem acesso/ privilégio suficiente ( “ptrace” é um exemplo simples, onde um processo pode controlar e manipular o estado interno de outro processo).
[0005] Na verdade, o número crescente de malwares e ataques cibernéticos nos últimos anos ilustram essas vulnerabilidades da Internet e de segurança no sistema operacional Android: recentemente, a Interpol (Organização de Polícia Criminal Internacional) e Kaspersky Lab (uma empresa de software de segurança da Internet) realizou a pesquisa “Mobile Cyber Threats” (publicado em outubro de 2014), que revelou que mais de 588.000 usuários do Android em todo o mundo foram atacados por malware financeiro entre agosto de 2013 e julho de 2014, que é seis vezes mais (600% de aumento) que o número do período equivalente a 12 meses anteriores (ou seja, agosto 2012 a julho de 2013). Além disso, o estudo estima que 98,05% de todo o malware móvel existente tem como alvo os usuários de dispositivos Android; e somente no primeiro semestre de 2014, foram detectados 175.422 novos malwares exclusivos para Android. Mais detalhes podem ser encontrados no mencionado relatório “Mobile Cyber Threats”, disponibilizado on-line em: http://media.kaspersky.com/pdf/Kaspersky-Lab-KSN-Report- mobile-cyberthreats-web.pdf.
[0006] Por essas e outras razões, é possível perceber claramente que a grande maioria das ameaças cibernéticas móveis é destinada para o sistema operacional Android e, infelizmente, os invasores ainda tem elevadas taxas de sucesso (indesejáveis).
[0007] Portanto, há uma necessidade de fornecer uma maneira de impedir o funcionamento de malwares, enquanto aplicações críticas estão em execução, evitando, assim, a fraude/ comprometimento da transação, minimizando as ameaças cibernéticas e roubo de informações pessoais/ confidenciais sendo usadas pela aplicação durante a sua execução.
[0008] O documento de patente US 7,849,311 B2, intitulado “Computer System with Dual Operating Modes”, publicado em 07 de dezembro de 2010, descreve o método e sistema para criar um modo de segurança de computador. O sistema descrito implementa um sistema de arquivos seguro e não-seguro, em seguida, um ou outro sistema de arquivos é montado, de modo a determinar o modo de operação. Uma vez que o sistema de arquivos é montado, somente as aplicações presentes nele serão autorizadas para execução. Em resumo, ele implementa um tipo de container que contém aplicações que terão permissão para executar em um modo específico. A desvantagem desta solução é que o método não pode proteger contra o ataque simples de usuário privilegiado, uma vez que o sistema de arquivos seguro pode ser montado em qualquer altura e uma aplicação mal-intencionada pode estar incorporada/inserida. Além disso, esta não é uma boa solução para usuários não corporativos, uma vez que há uma boa chance de ter o código/programa malicioso de aplicação vulnerável instalada dentro do modo de segurança, tornando- o vulnerável como o modo não seguro.
[0009] O documento de patente US 8,499,171 B2, intitulado “Mobile Security System and Method”, publicado em 30 de julho de 2013, divulga um sistema e método para fornecer um ambiente seguro para telefones móveis e outros dispositivos. O sistema e o método podem utilizar zoneamento de confiança, em camadas de memória, e um modelo de matriz segura que tem, por exemplo, um módulo de proteção de memória para proteger a memória; um módulo de depuração de segurança para garantir a segurança do módulo de depuração; um módulo de sistema de arquivo seguro para proteger o sistema de arquivos seguro; e um módulo de fonte de tempo confiável para proteger componentes. Este conceito já está presente no mercado, a solução Samsung KNOX o utiliza. A solução revelada na patente US 8,499,171 B2 é robusta, mas um equipamento especial é necessário, aumentando o custo do produto. Além disso, aplicações no mercado devem ser reescritas para usar uma API especial para ser autorizado a executar no ambiente seguro, isto torna a adoção de tal tecnologia muito difícil por usuários não corporativos.
[0010] No atual estado da técnica, temos encontrado soluções e tecnologias que usam o conceito de containers para criar ambientes diferentes no mesmo dispositivo, isolando grupos/agrupamentos de aplicações. No entanto, as soluções existentes não protegeriam as aplicações dentro do container se este for infectado por um malware. Na verdade, se o container já está infectado por um malware com alto privilégio, a interceptação de dados é possível: por exemplo, o malware poderia realizar um “despejo de memória” na aplicação que está executando e manipulando os dados (por “ptrace”, ou em “controle ring0”). Neste caso, mesmo que os dados e/ou aplicações sejam armazenados num container, não se pode garantir que ele está completamente “seguro”. Em outras palavras: enquanto o malware puder executar/operar no ambiente do sistema operacional, existe um possível risco de atacar outras aplicações em execução (seja em um container ou não).
[0011] Além disso, tecnologias e soluções existentes não conseguem melhorar a segurança de dispositivos sem tecnologia TrustZone. A tecnologia TrustZone é totalmente integrada em processadores Cortex®- A, presente em alguns aparelhos celulares, tablets, dispositivos portáteis e sistemas corporativos. As aplicações disponibilizadas pela tecnologia atual são extremamente variadas, mas incluem a tecnologia de proteção de pagamento, gerenciamento de direitos digitais, “Traga seu Próprio Dispositivo" (BYOD), e uma série de soluções empresariais de segurança. A maioria das soluções baseadas em containers usando TrustZone/ETE, como a Samsung MyKnox, não são adotadas por usuários não corporativos, uma vez que a maioria dos dispositivos no mercado não suportam MyKnox. TrustZone/T exige especificações/ requisitos superiores de equipamento (processador, memória, etc.), o que restringe o uso desta tecnologia apenas para modelos de telefones inteligentes principais/de alta qualidade. Assim, existe uma necessidade de fornecer uma solução “leve”, que seja capaz de melhorar a segurança e também seja suportada pela maioria dos dispositivos.
[0012] Outra observação importante sobre o uso de soluções baseadas em containers: às vezes as aplicações a serem utilizadas no interior do container devem ser reescritas para usar a API TrustZone. Isso significa que, mesmo usando a tecnologia TrustZone/T, não é uma garantia de que todas as aplicações de usuário importantes (como mensageiros, aplicações bancárias, etc.) são protegidas (a menos que elas estejam usando a referida API, soluções baseadas em TrustZone/T não conseguem realmente proteger estas aplicações).
[0013] É também importante diferenciar a solução proposta do conceito bem conhecido “lista branca de aplicações” (Application whitelist). As técnicas tradicionais de “lista branca de aplicações” apenas especificam as aplicações a serem executadas. Dito isto, essas aplicações ainda podem atacar uma à outra (uma vez que não há nenhuma outra restrição de segurança aplicada à “lista branca de aplicações”).
[0014] Diferentemente, a solução proposta na presente invenção exige que as aplicações devem ser pré- aprovadas para executar em “modo de segurança” e, para produzir o efeito desejado, essas aplicações também devem ser executadas em “modo de segurança” habilitado, em que muitas restrições de segurança são aplicadas (mais detalhado a seguir). Dito isto, mesmo com um grupo de aplicações que funcionam juntas em “modo de segurança”, elas são protegidas entre si por restrições de segurança (o que não ocorre no conceito de “lista branca de aplicações”).
[0015] Assim, uma pessoa versada na técnica pode notar que a solução proposta vai além do conceito já conhecido de “lista branca de aplicações”, oferecendo não somente uma maneira de configurar uma “lista pré-aprovada de aplicações para serem executadas” (em uma maneira semelhante do conceito de “lista branca”), mas, adicionalmente, fornecendo meios para aplicar restrições de segurança nestas aplicações.
[0016] Neste cenário, é necessária uma solução que pode ser facilmente utilizada por usuários, a fim de evitar ataques cibernéticos que exploram as vulnerabilidades de segurança existentes do OS Android, com o objetivo de adicionar mais capacidade de resistência ao sistema operacional atual, mesmo se ele está infectado e não importando se o usuário está usando uma solução de container ou não.
[0017] Nossa solução proposta não exigirá modificação de hardware, alteração ou aplicação de um novo sistema de arquivos seguro. O usuário irá usar o dispositivo como ele foi originalmente concebido. O novo modo de segurança proposto para celular permitirá que os usuários executem aplicações críticas selecionadas apenas quando o modo é ativado e irá impor permissões de acesso quando ele está desativado. Dito isto, mesmo se o ambiente estiver infectado, o malware não pode executar e não pode modificar arquivos benignos de aplicações críticas, mesmo se o modo de segurança está desativado.
[0018] A presente invenção refere-se a um método para proteger aplicações móveis através da aplicação de um modo de operação seguro, o que acrescenta uma camada adicional de segurança para proteger aplicações do usuário importantes/ críticas (tais como aplicações bancárias, mensageiros, etc.) e informações sigilosas (por exemplo, senhas, números de cartão de crédito, informações de conta bancária, fotos/vídeos privados, mensagens de texto, etc.).
[0019] A informação suficiente dada a partir da aplicação a ser protegido e do sistema, o kernel do sistema operacional (SO) estabelece as regras e privilégios para estas aplicações, permitindo-lhes (e somente a elas) serem executadas sob muitas restrições de segurança em um determinado modo de operação do dispositivo móvel, que, no contexto da presente invenção, é chamado “modo de segurança”.
[0020] O kernel é o núcleo central de um sistema operacional. Ele tem controle sobre tudo que ocorre no computador ou dispositivo móvel. É geralmente carregado em uma área protegida de memória, o que impede que ele seja substituído por outros programas de aplicações. Para a implementação do método da presente invenção, é necessário um novo módulo de kernel que fornece uma interface com as chamadas do Sistema de Arquivo (File System), Agendador (Scheduler) e de Sistema (System). As modificações nos componentes do espaço do usuário (user-space) do sistema operacional Android também são necessárias.
[0021] Uma vez que o kernel do sistema operacional estabelece as regras e os privilégios para as aplicações escolhidas/selecionadas (ou seja, o kernel “sabe” - ou “foi informado pelo usuário” - quais são as aplicações que serão executadas em “modo de segurança”), cada vez que o usuário alterna (ativar ou desativar) o modo de funcionamento do dispositivo móvel, o kernel do sistema operacional irá aplicar restrições/paradas/suspensões ou vai liberar restrições/continuações/reinícios para as outras aplicações. Mais especificamente, quando o usuário habilita o “modo de segurança” do dispositivo móvel, o kernel do sistema operacional irá aplicar restrições/paradas/suspensões de todas as aplicações que não foram previamente escolhidas/selecionadas pelo usuário (incluindo eventuais malwares já presentes no ambiente do OS); analogamente, quando o usuário desativa o “modo de segurança” do dispositivo móvel, o kernel do sistema operacional irá liberar restrições/continuações/reinícios de todas as aplicações que foram interrompidas/suspensas no “modo de segurança”. Além disso, muitas restrições de segurança (descritas a seguir) são aplicadas a fim de atenuar os riscos de segurança.
[0022] Mais especificamente, o objetivo da presente invenção é alcançado através de um método para fornecer um modo de segurança para aplicações de dispositivos móveis compreendendo as etapas de: configurar quais aplicações devem estar disponíveis no modo de segurança; definir no kernel do sistema operacional do dispositivo móvel as regras e privilégios para as aplicações definidas para o modo de segurança; verificar continuamente se o modo de segurança é ativado pelo usuário; caso o modo de segurança esteja ativado pelo usuário, então o kernel do sistema operacional procura os processos e aplicações em execução no sistema operacional, suspende as aplicações de sistema não configuradas para estarem disponíveis no modo de segurança, oculta a aplicação protegida, restringe comunicações entre processos,impede a escalação de privilégios e permite acesso aos arquivos de aplicação protegida pela Id de usuário de aplicação protegida; e caso o modo de segurança não esteja ativado pelo usuário, então, o kernel libera todos os processos e aplicações que foram parados pelo modo de segurança e nega qualquer acesso aos arquivos de aplicação protegida.
[0023] De acordo com o método proposto, enquanto o “modo de segurança” está ativado, os eventuais malwares existentes não estão autorizados a executar/operar no ambiente do OS (juntamente com todas as outras aplicações confiáveis/conhecidas que não foram previamente escolhidas/selecionadas pelo usuário para executar em “modo de segurança”), minimizando assim o risco de ataque de malware a aplicações críticas (sejam mal escritas/codificadas ou não; ou seja, em um container de TrustZone ou não).
[0024] A fim de ser executado em “modo de segurança”, o método da presente invenção deve ser iniciado a partir de um painel de configuração. O painel de configuração executa a aplicação e passa suas informações para o kernel, tais como a identificação do processo (process ID). Antes de executá-lo, o kernel cessa quaisquer IPC/Sinais desnecessários e perigosos das aplicações de espaço do usuário para a aplicação protegida (ou seja, “ptrace”, “SIGKILL”, etc.) e também a esconde do espaço de usuário. Ambas as ações diminuem o risco de ataques/comunicação com a aplicação protegida.
[0025] Na próxima etapa, o kernel suspende/para todos os processos do espaço de usuário em execução desnecessários. Além disso, apenas os processos do sistema necessários e a aplicação protegida são capazes de criar novos processos e executar novos binários. Esta ação reduz o risco de um malware continuar a ser executado a partir de um novo processo malicioso.
[0026] Finalmente o kernel impõe restrições de privilégios durante o “modo de segurança”, reduzindo o risco de um malware obter privilégios suficientes para tentar contornar todas as proteções.
[0027] Além disso, mesmo se o “modo de segurança” estiver desativado, o kernel restringirá operações de abrir/ler/escrever contra arquivos de aplicações críticas por binários e processos desnecessários. Assim, ele reduz o risco de modificações mal-intencionadas por um malware.
[0028] O método proposto supera as soluções existentes no estado da técnica, tendo em vista que: (i) não exige modificação de hardware ou um novo sistema de arquivos seguro; (ii) protege as aplicações em execução no ambiente do sistema operacional, mesmo que esteja infectada por um malware; (iii) também é capaz de melhorar a segurança dos dispositivos sem tecnologia TrustZone (ou similar). Portanto, o método da presente invenção difere das soluções existentes, como máquinas virtuais (VM), containers e elementos seguros TEE (Trust Execution Environment).
[0029] Os objetivos e vantagens da presente invenção se tornarão mais claros através da descrição detalhada a seguir de uma concretização preferida, mas não limitativa da invenção, tendo em vista as figuras anexas, em que:
[0030] A Figura 1 é um fluxograma do método proposto, que fornece um “modo de segurança” para dispositivos móveis.
[0031] A Figura 2 é uma breve ilustração de como um ataque pode ser realizado contra uma aplicação de usuário quando o dispositivo móvel foi infectado por um malware.
[0032] A Figura 3 é uma breve ilustração de como o usuário ativa e desativa o “modo de segurança”.
[0033] A Figura 4 é uma breve ilustração do painel de configuração do “modo de segurança”.
[0034] A Figura 5 é uma breve ilustração das consequências para o ambiente de sistema operacional quando o “modo de segurança” está ativado.
[0035] A Figura 6 é uma breve ilustração da execução de uma aplicação do usuário importante no “modo de segurança”.
[0036] A Figura 7 é uma breve ilustração das consequências para o ambiente de sistema operacional quando o “modo de segurança” está desativado.
[0037] O método da presente invenção fornece uma nova funcionalidade de segurança para telefones inteligentes, tablets, televisões inteligentes, dispositivos vestíveis e outros dispositivos inteligentes executando um sistema operacional (preferivelmente, o sistema operacional Android). Portanto, o método para fornecer um modo de segurança para aplicação de dispositivos móveis poderia, por exemplo, ser implementado através de uma atualização do kernel do sistema operacional Android.
[0038] A Figura 1 é um fluxograma que representa cada etapa do método proposto (1000) descrito na concretização preferida da presente invenção.
[0039] Inicialmente, o usuário pode configurar/escolher previamente e executar as aplicações disponíveis no "modo de segurança" (etapa 1050). Geralmente, nesta etapa de pré-configuração, o usuário escolhe as aplicações mais importantes/críticas, que lidam com transações sigilosas e dados pessoais/confidenciais. Esta etapa/configuração pode ser executada a qualquer momento pelo usuário, a fim de adicionar ou excluir as aplicações a estarem disponíveis no “modo de segurança”.
[0040] Após a confirmação da etapa anterior, o kernel do sistema operacional (OS) recebe a configuração, somente o painel de configuração será permitido a apresentá-la, e estabelece as regras, uma vez que o painel de “modo de segurança” executa a aplicação protegida (etapa 1100). O painel de configuração envia a ID do processo de aplicação e localização binária de sistema (para os processos do sistema) para o kernel do sistema operacional, e elas são usadas para selecionar as aplicações a serem executadas no “modo de segurança” e isolá-las.
[0041] O método verifica continuamente se o “modo de segurança” foi ativado ou desativado pelo usuário (etapa 1200).
[0042] Se o “modo de segurança” estiver ativado, o kernel do sistema operacional procura por todos os processos e aplicações em execução no Sistema Operacional (etapa 1300). Threads do kernel e apenas processos de sistema necessários estarão disponíveis para serem executados em conjunto com aplicações escolhidas/ selecionadas/configuradas. Uma lista de binários de sistema operacional, a fim de permitir os processos do sistema em “modo de segurança”.
[0043] O kernel do sistema operacional suspende todos os processos/aplicações de sistema desnecessários, que não foram configurados para estarem disponíveis em “modo de segurança”, oculta a aplicação protegida, restringe as comunicações entre processos e impõe restrições de escalação de privilégios. Além disso, somente a aplicação executada pelos processos do painel e do sistema é capaz de criar novos processos e executar binários.
[0044] Uma vez que a aplicação é iniciada a partir do painel de modo em “modo de segurança”, o kernel do sistema operacional recebe a ID da aplicação e (etapa 1400): - Oculta a aplicação protegida de outras aplicações da área de usuário; - Encerra quaisquer IPC/sinais desnecessários de processos do sistema e de aplicações (que não foram previamente configurados para estar disponível em “modo de segurança”) para aplicações protegidas e os processos importantes do sistema; - Recusa que novas aplicações sejam iniciadas; somente as aplicações protegidas são capazes de chamá-las; - Recusa eventos de escalação de privilégios por: (i) recusar modificações de Id de usuário de processo em execução dentro do diretório de aplicações; (ii) recusa de qualquer execução binária a partir de processos com privilégio administrativo originados a partir do diretório de aplicações (ou seja: /data); (iii) recusar qualquer chamada para abrir chamadas do sistema a partir de processos com privilégio administrativo originados a partir do diretório de aplicações para diretórios do sistema raiz (ou seja: /system).
[0045] Além disso, o kernel do sistema operacional permite o acesso/privilégio (abrir, ler, escrever, executar) aos arquivos da aplicação protegida (etapa 1500), mediante a ID de usuário da aplicação protegida.
[0046] Se o “modo de segurança” está desativado, o kernel do sistema operacional libera/continua/reinicia todos os processos/aplicações que antes de serem paradas/suspensas pelo kernel do próprio sistema operacional durante o “modo de segurança” (etapa 1600). Por exemplo, o kernel do sistema operacional pode manter uma lista de todos os processos/aplicações que foram interrompidos/suspensos em “modo de segurança” (isso impediria o kernel do sistema operacional de, eventualmente, liberar/continuar um processo/aplicação que foi parado/suspenso por outra razão). Além disso, o kernel do sistema operacional nega qualquer acesso/privilégio (abrir, ler, escrever, executar) aos arquivos de aplicações protegidas e binários de processos de sistema importantes (etapa 1700), que adiciona alguma proteção contra modificação de dados, mesmo quando o “modo de segurança” está desativado.
[0047] Após as ações de proteção mencionadas acima serem tomadas pelo kernel do sistema operacional (etapas 1400 e 1500), torna-se muito difícil para o malware estabelecer comunicação com os processos do sistema e aplicações protegidas, substituir binários do sistema e arquivos da aplicação, e até mesmo ser capaz de executar, altera seus privilégios horizontalmente e verticalmente, em seguida, executar ataques. Na verdade, neste contexto onde o método proposto 1000 está operando como descrito acima, até onde se sabe, a única maneira de tentar um ataque seria substituir/repor um binário original do sistema por um binário modificado do sistema (capaz de executar as mesmas tarefas/instruções que o original, e, adicionalmente, executar o código malicioso). Mas realizar esta substituição em tempo de execução iria danificar o sistema. E, além disso, o método proposto 1000 iria proteger os binários de sistema fora do modo de segurança (etapa 1700), de modo que o invasor teria que acessar o kernel do sistema operacional e de alguma forma desabilitar todas essas proteções.
[0048] Como descrito acima, o método proposto pode ser implementado através de um novo módulo do kernel (patch) no sistema operacional Android, instalado/atualizado nos dispositivos alvos.
[0049] Para uma melhor compreensão do método proposto 1100, uma ilustração da sua utilização/operação é apresentada, de acordo com as Figuras 2 a 7.
[0050] De acordo com a Figura 2, uma aplicação maliciosa ou malware 100 pode ser inadvertidamente instalada pelo usuário durante uma transação/realização de download através da Internet, e em seguida, comprometer o dispositivo móvel 10. Muitas vezes, o malware 100 pode estar “escondido” dentro de uma aplicação de software “supostamente inofensiva” que foi instalada pelo usuário. Depois disso, o malware 100 continua a execução como qualquer outro processo de aplicação ou para o sistema operacional 101, esperando que uma aplicação importante 102 seja iniciada para atacá-la 103. Um ataque comum é chamado man-in-the-middle, em que o malware 100 intercepta 103 a aplicação 102, tentando modificar ou roubar dados importantes.
[0051] Neste cenário, quando o dispositivo móvel 10 é infectado por um malware 100 instalado em seu sistema operacional 101, qualquer aplicação do usuário 102 poderia ser atacada. A presente invenção propõe uma solução eficaz para este cenário indesejável. Além disso, também é uma solução fácil de usar. De acordo com a Figura 3, o usuário pode ativar ou desativar o modo de operação de segurança a partir da tela inicial do dispositivo móvel, tocar e arrastar a barra de notificações para baixo e então pressionar o botão/ícone “modo de segurança” 104 [relacionado à etapa 1200 do método proposto]. Este é exatamente o mesmo procedimento que os usuários já usam para ativar ou desativar o “modo avião”, GPS, Wi-Fi e algumas outras características dos atuais dispositivos móveis.
[0052] De acordo com a Figura 4, o usuário pode configurar o “modo de segurança” de operação (o que corresponde à etapa 1050 do método proposto). Há muitas maneiras possíveis para acessar o painel de configuração de “modo de segurança” 105, por exemplo: ao pressionar e segurar o ícone/botão de modo de segurança 104; ou através de uma opção extra no painel de configuração padrão dos atuais sistemas operacionais móveis. Uma vez no painel de configuração de “modo de segurança” 105, o dispositivo móvel muda para o modo de segurança e o usuário pode então selecionar quais aplicações são importantes para serem executadas em modo de segurança 106, por exemplo “Aplicação MeuBanco”. Depois de escolher todas as aplicações sigilosas para estarem disponíveis em “modo de segurança”, então o usuário digita uma senha para autenticar e aplicar/ confirmar a configuração 107 [etapa 1050]. Depois que a aplicação é executada pelo “modo de segurança”, a configuração é enviada para o kernel do sistema operacional [etapa 1100] que irá aplicar as regras quando o “modo de segurança” está ativado: apenas as aplicações escolhidas e executadas pelo painel de “modo de segurança”, processos de sistema necessários e threads de kernel encontram-se disponíveis (com privilégio) para execução, todos os outros processos e aplicações são interrompidos/suspensos/ “congelados”, IPC/sinais restringidos, aplicação protegida é ocultada e modificações de privilégios são negadas [etapas 1300-1500]. Como mencionado, muitas vezes, o malware 100 pode estar “oculto” dentro de uma aplicação de software “supostamente inofensiva” que foi instalada pelo usuário, por isso é fundamental parar/suspender qualquer aplicação supérflua/desnecessária durante o “modo de segurança” (por exemplo, se o usuário deve utilizar somente a “Aplicação MeuBanco” enquanto em “modo de segurança”, ele/ela pode pedir para parar/suspender todas as outras aplicações, a fim de evitar possíveis ataques de malware).
[0053] A Figura 5 apresenta uma situação onde o “modo de segurança” foi habilitado pelo usuário, e assim o kernel aplica as regras (pré-configuradas): todos os processos e aplicações (por exemplo: App1, App2 App3, App4, etc.) estão parados/suspensos/“congelados” 108 [etapas 1300 e 1400], a exceção é a “Aplicação MeuBanco” 102, que foi configurada e/ou escolhida anteriormente para executar em “modo de segurança”. Por esta razão, o kernel do sistema operacional permite o acesso aos arquivos das aplicações escolhidas/ protegidas (abrir, ler, escrever, executar) pela ID de usuário de aplicação protegida [etapa 1500]. Além disso, não é permitida a criação de qualquer nova aplicação e qualquer aplicação não tem permissão para interagir com aplicações protegidas/escolhidas. Neste cenário, onde o “modo de segurança” está ativado, mesmo se o dispositivo móvel 10 é infectado por um malware 100 instalado em seu sistema operacional 101, o kernel irá parar/suspender/ “congelar” o malware 100 e ele não pode atacar 109 a “Aplicação MeuBanco” aplicação crítica protegida. De preferência, um “ícone de modo de segurança” 110 aparece na barra de notificação do topo da tela/visor do telefone inteligente (assim como outros ícones existentes, como por exemplo: Bluetooth, Wifi, nível de bateria, etc.), a fim de informar ao usuário que o “modo de segurança” está ativado.
[0054] Depois de habilitar a opção “modo de segurança” do dispositivo móvel 10, o usuário agora tem um modo de segurança para executar e usar as aplicações sigilosas, por exemplo, “Aplicação MeuBanco” 102, como mostra a Figura 6. Neste momento, a execução somente desta aplicação é permitida, reduzindo o risco de ataques contra a mesma.
[0055] De acordo com a Figura 7, depois de finalizar de forma segura a operação de “Aplicação MeuBanco”, o usuário pode desativar a opção “modo de segurança” pressionando o respectivo botão/ícone 104, da mesma maneira como apresentado na Figura 3. Uma vez que o “modo de segurança” está desativado, todas as aplicações são liberadas pelo kernel do sistema operacional [etapa 1600]. Além disso, qualquer acesso (abrir, ler, escrever, executar) aos arquivos das aplicações protegidas é negado, o que adiciona alguma proteção contra a modificação de dados quando o “modo de segurança” 1700]. O sistema operacional 101 retorna ao modo de operação normal/padrão, onde todos os processos/aplicações podem ser executados.
[0056] Embora a presente invenção tenha sido descrita em conexão com certa concretização preferencial, deve ser entendido que não se pretende limitar a invenção àquela concretização particular. Ao contrário, pretende-se cobrir todas as alternativas, modificações e equivalentes possíveis dentro do espírito e do escopo da invenção, conforme definido pelas reivindicações em anexo.
Claims (6)
1. Método (1000) caracterizado pelo fato de que compreende: realizar, por pelo menos um processador de um aparelho móvel, operações incluindo: exibir um painel de configuração de um modo seguro em uma tela do aparelho móvel; receber, pelo painel de configuração exibido, uma seleção de aplicações seguras para serem disponibilizadas no modo seguro; definir (1100), em um kernel de sistema operacional do aparelho móvel, regras e privilégios para as aplicações seguras selecionadas disponíveis no modo seguro; e determinar se o modo seguro está ativado ou desativado por uma seleção de usuário de um ícone de modo seguro em uma barra de notificação superior da tela do aparelho móvel; e quando o modo seguro é determinado como ativado pela seleção do usuário do ícone do modo seguro na barra de notificação superior da tela do aparelho móvel: suspender, no aparelho móvel, todas as aplicações do sistema desnecessárias para executar as aplicações seguras selecionadas e aplicações que não sejam as aplicações seguras selecionadas, restringir as comunicações entre processos, impor eventos de escalonamento de privilégios, e permitir o acesso do usuário às aplicações seguras selecionadas enquanto isola as aplicações seguras selecionadas das aplicações de sistema desnecessárias suspensas e aplicações diferentes das aplicações seguras selecionadas; e quando o modo seguro é determinado como desabilitado pela seleção do usuário do ícone do modo seguro na barra de notificação superior da tela do aparelho móvel: liberar todos os processos e aplicações suspensas no modo seguro, e negar qualquer acesso às aplicações seguras selecionadas.
2. Método (1000), de acordo com a reivindicação 1, caracterizado pelo fato de que o recebimento da seleção das aplicações seguras inclui receber a seleção das aplicações seguras de uma lista de aplicações do aparelho móvel e receber uma senha de usuário para confirmar as aplicações seguras selecionadas.
3. Método (1000), de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda alterar uma imagem do ícone do modo seguro na barra de notificação superior da tela do aparelho móvel para indicar se o modo seguro está ativado ou desativado.
4. Método (1000), de acordo com a reivindicação 1, caracterizado pelo fato de que apenas os processos do sistema necessários para executar as aplicações seguras selecionadas e as aplicações seguras selecionadas criam novos processos quando o modo seguro é determinado como ativado.
5. Método (1000), de acordo com a reivindicação 1, caracterizado pelo fato de que as aplicações seguras selecionadas incluem pelo menos uma informação de senha, informações de cartão de crédito, informações de conta bancária, vídeos, fotos e mensagens de texto.
6. Método (1000), de acordo com a reivindicação 1, caracterizado pelo fato de que o aparelho móvel inclui pelo menos um smartphone, tablet, televisão inteligente e dispositivo vestível.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR102015015270-1A BR102015015270B1 (pt) | 2015-06-24 | 2015-06-24 | Método para fornecer um modo de segurança para aplicações de dispositivos móveis |
US15/167,270 US10706171B2 (en) | 2015-06-24 | 2016-05-27 | Method for providing a secure mode for mobile device applications |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR102015015270-1A BR102015015270B1 (pt) | 2015-06-24 | 2015-06-24 | Método para fornecer um modo de segurança para aplicações de dispositivos móveis |
Publications (2)
Publication Number | Publication Date |
---|---|
BR102015015270A8 BR102015015270A8 (pt) | 2018-02-27 |
BR102015015270B1 true BR102015015270B1 (pt) | 2022-11-29 |
Family
ID=57603082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR102015015270-1A BR102015015270B1 (pt) | 2015-06-24 | 2015-06-24 | Método para fornecer um modo de segurança para aplicações de dispositivos móveis |
Country Status (2)
Country | Link |
---|---|
US (1) | US10706171B2 (pt) |
BR (1) | BR102015015270B1 (pt) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6858256B2 (ja) * | 2016-11-03 | 2021-04-14 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 決済アプリケーション分離方法および装置、ならびに端末 |
US11281809B2 (en) * | 2017-08-28 | 2022-03-22 | Tendyron Corporation | Security display method and device, and security terminal |
US10984098B2 (en) | 2018-04-06 | 2021-04-20 | Palo Alto Networks, Inc. | Process privilege escalation protection in a computing environment |
WO2020140257A1 (en) * | 2019-01-04 | 2020-07-09 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for validating kernel objects to be executed by a data processing accelerator of a host system |
CN116339493A (zh) * | 2021-12-17 | 2023-06-27 | 中兴通讯股份有限公司 | 应用管控方法、装置、移动终端和存储介质 |
DE202022101783U1 (de) | 2022-04-02 | 2022-04-11 | Sivasankar Gandhi Amutha | Intelligentes Managementsystem für die sichere Verbindung mehrerer mobiler Zahlungsanwendungen gegen Sicherheitslücken |
US20230359728A1 (en) * | 2022-05-05 | 2023-11-09 | Bank Of America Corporation | Data securement leveraging secure qr code scanner |
US11743280B1 (en) * | 2022-07-29 | 2023-08-29 | Intuit Inc. | Identifying clusters with anomaly detection |
US11681816B1 (en) * | 2022-09-23 | 2023-06-20 | Osom Products, Inc. | Private session for mobile application |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1329787B1 (en) * | 2002-01-16 | 2019-08-28 | Texas Instruments Incorporated | Secure mode indicator for smart phone or PDA |
GB2403820A (en) * | 2003-03-28 | 2005-01-12 | Hewlett Packard Development Co | Security policy in trusted computing systems |
US20100024028A1 (en) * | 2008-07-22 | 2010-01-28 | Ernest Samuel Baugher | Wireless mobile device with user selectable privacy for groups of resident application programs and files |
US8479256B2 (en) * | 2008-11-26 | 2013-07-02 | Red Hat, Inc. | Merging mandatory access control (MAC) policies in a system with multiple execution containers |
US8949929B2 (en) * | 2011-08-10 | 2015-02-03 | Qualcomm Incorporated | Method and apparatus for providing a secure virtual environment on a mobile device |
KR20130023656A (ko) * | 2011-08-29 | 2013-03-08 | 주식회사 팬택 | 애플리케이션 접근권한 통제 기능을 갖는 휴대용 다기능 디바이스 및 애플리케이션 접근권한 통제방법 |
US8909930B2 (en) * | 2011-10-31 | 2014-12-09 | L-3 Communications Corporation | External reference monitor |
US9143943B2 (en) * | 2011-11-29 | 2015-09-22 | Dell Products L.P. | Mode sensitive networking |
EP2836968B1 (en) * | 2012-04-13 | 2020-05-06 | OLogN Technologies AG | Apparatuses, methods and systems for computer-based secure transactions |
US9230076B2 (en) * | 2012-08-30 | 2016-01-05 | Microsoft Technology Licensing, Llc | Mobile device child share |
US8990883B2 (en) * | 2013-01-02 | 2015-03-24 | International Business Machines Corporation | Policy-based development and runtime control of mobile applications |
CN104424432B (zh) * | 2013-08-26 | 2017-11-28 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
KR20150027329A (ko) * | 2013-08-29 | 2015-03-12 | 주식회사 팬택 | 지문 인식기를 구비한 단말 및 이의 동작 방법 |
TWI516978B (zh) * | 2013-10-31 | 2016-01-11 | 萬國商業機器公司 | 在電腦裝置中管理應用程式的執行所適用的安全模式 |
US9098715B1 (en) * | 2014-10-28 | 2015-08-04 | Openpeak Inc. | Method and system for exchanging content between applications |
US9565176B2 (en) * | 2015-03-10 | 2017-02-07 | Citrix Systems, Inc. | Multiscreen secure content access |
US10298617B2 (en) * | 2015-07-08 | 2019-05-21 | T-Mobile Usa, Inc. | Trust policy for telecommunications device |
-
2015
- 2015-06-24 BR BR102015015270-1A patent/BR102015015270B1/pt active IP Right Grant
-
2016
- 2016-05-27 US US15/167,270 patent/US10706171B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10706171B2 (en) | 2020-07-07 |
BR102015015270A8 (pt) | 2018-02-27 |
US20160381026A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514159B2 (en) | Method and system for preventing and detecting security threats | |
BR102015015270B1 (pt) | Método para fornecer um modo de segurança para aplicações de dispositivos móveis | |
EP3103056B1 (en) | Methods and apparatus for protecting operating system data | |
US20240037253A1 (en) | Secure computing system | |
EP2973171B1 (en) | Context based switching to a secure operating system environment | |
US20130263277A1 (en) | Secure computing system | |
KR20150038574A (ko) | 타겟 디바이스의 능동 모니터링, 메모리 보호 및 무결성 검증을 위한 방법, 시스템 및 컴퓨터 판독 가능 매체 | |
Mannan et al. | Unicorn: Two-factor attestation for data security | |
Atamli-Reineh et al. | Analysis of trusted execution environment usage in samsung KNOX | |
WO2016122410A1 (en) | Method for data protection using isolated environment in mobile device | |
Fedler et al. | Native code execution control for attack mitigation on android | |
Zaidenberg | Hardware rooted security in industry 4.0 systems | |
Yan et al. | SplitDroid: isolated execution of sensitive components for mobile applications | |
Michalska et al. | Security risks and their prevention capabilities in mobile application development | |
Khalid et al. | Hardware-Assisted Isolation Technologies: Security Architecture and Vulnerability Analysis | |
BR102015015270A2 (pt) | Method for providing a safety mode for mobile device applications | |
Zhang et al. | An efficient TrustZone-based in-application isolation schema for mobile authenticators | |
Brasser et al. | Regulating smart personal devices in restricted spaces | |
Schwendemann | ERNW NEWSLETTER 55/SEPTEMBER 2016 | |
Abe et al. | Security Technology for Smartphones |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
B03H | Publication of an application: rectification [chapter 3.8 patent gazette] | ||
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: A CLASSIFICACAO ANTERIOR ERA: H04W 12/08 Ipc: G06F 21/53 (2006.01), H04W 12/08 (2006.01), G06F 2 |
|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 24/06/2015, OBSERVADAS AS CONDICOES LEGAIS |