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 PDF

Info

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
Application number
BR102015015270-1A
Other languages
English (en)
Other versions
BR102015015270A8 (pt
Inventor
Breno Silva Pinto
Felipe Caye Batalha Boeira
Pedro Henrique Minatel
Brunno Frigo Da Purificação
Original Assignee
Samsung Eletrônica Da Amazônia Ltda
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Eletrônica Da Amazônia Ltda filed Critical Samsung Eletrônica Da Amazônia Ltda
Priority to BR102015015270-1A priority Critical patent/BR102015015270B1/pt
Priority to US15/167,270 priority patent/US10706171B2/en
Publication of BR102015015270A8 publication Critical patent/BR102015015270A8/pt
Publication of BR102015015270B1 publication Critical patent/BR102015015270B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal 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

Campo da Invenção
[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.).
Antecedentes da Invenção
[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.
Sumário da Invenção
[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).
Breve Descrição das Figuras
[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.
Descrição Detalhada da Invenção
[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.
Visão geral do uso/operação do método proposto para proteger os dispositivos móveis com a funcionalidade de “modo de segurança”:
[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.
BR102015015270-1A 2015-06-24 2015-06-24 Método para fornecer um modo de segurança para aplicações de dispositivos móveis BR102015015270B1 (pt)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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