BR112018070251B1 - Método e sistema para proteger um arquivo de informática de uma eventual cifragem realizada por código malicioso - Google Patents

Método e sistema para proteger um arquivo de informática de uma eventual cifragem realizada por código malicioso Download PDF

Info

Publication number
BR112018070251B1
BR112018070251B1 BR112018070251-0A BR112018070251A BR112018070251B1 BR 112018070251 B1 BR112018070251 B1 BR 112018070251B1 BR 112018070251 A BR112018070251 A BR 112018070251A BR 112018070251 B1 BR112018070251 B1 BR 112018070251B1
Authority
BR
Brazil
Prior art keywords
file
user
modifications
operating system
copy
Prior art date
Application number
BR112018070251-0A
Other languages
English (en)
Other versions
BR112018070251A2 (pt
Inventor
Sergio DE LOS SANTOS VILCHES
Antonio GUZMÁN SACRISTÁN
José Maria Alonso Cebrián
Original Assignee
Telefonica Cybersecurity & Cloud Tech S.L.U
Filing date
Publication date
Application filed by Telefonica Cybersecurity & Cloud Tech S.L.U filed Critical Telefonica Cybersecurity & Cloud Tech S.L.U
Priority claimed from PCT/ES2016/070226 external-priority patent/WO2017168016A1/es
Publication of BR112018070251A2 publication Critical patent/BR112018070251A2/pt
Publication of BR112018070251B1 publication Critical patent/BR112018070251B1/pt

Links

Abstract

A presente invenção se refere a um método para proteger um arquivo de informática, armazenado em um dispositivo eletrônico administrado por um sistema operacional, perante uma eventual cifragem realizada por um código malicioso. O método compreende: detectar um pedido de acesso ao arquivo, por parte de um usuário ou de um processo de informática; copiar o arquivo em uma pasta temporária; realizar modificações sobre a cópia do arquivo; comprovar se as modificações implicam uma cifragem do arquivo; se após a comprovação é determinado que as modificações não implicam a cifragem do arquivo, realizar as mesmas modificações no arquivo original; e se após a comprovação é determinado que as modificações sim implicam a cifragem do arquivo, gerar um alarme para o usuário.

Description

CAMPO TÉCNICO DA INVENÇÃO
[001] A presente invenção tem aplicação no campo da segurança e processamento da informação e mais especificamente no monitoramento e detecção de código malicioso em dispositivos eletrônicos, como por exemplo os programas de cifragem maliciosos.
ANTECEDENTES DA INVENÇÃO
[002] Atualmente, a proliferação de programas espiões e de código malicioso (conhecidos em inglês como “malware”) propicia novas formas de crime cibernético, como o sequestro de arquivos usando programas de cifragem que conseguem bloquear a informação e os dados armazenados em um computador de forma remota. Este tipo de programas pode ser denominado Crypto-Ransomware. Cabe mencionar que a partir deste conceito genérico surgem diversas famílias populares (cryptolocker, cryptowall, ctb-lockers, torrentlocker, ZeroLockers, CoinVault, TeslaCrypt, Chimera, AlphaCrypt...). Este tipo de malware, uma vez infectando o dispositivo da vítima, como pode ser por exemplo um computador, um celular, uma virtualização em rede ou na nuvem, cifra boa parte do conteúdo do seu sistema de arquivos e estabelece um sistema para extorqui-la em troca da obtenção da chave de cifragem.
[003] O código de informática necessário para realizar este bloqueio da informação necessita ser introduzido no equipamento objetivo. Habitualmente, para isso é camuflado dentro de outro arquivo aparentemente inofensivo para o usuário, que inconscientemente executa o dito código ao confundi-lo com um arquivo procedente de uma fonte de confiança.
[004] Uma vez o código seja executado no equipamento, é ativado e provoca o bloqueio de todo o sistema operacional ou parte dele e lança a nota de resgate para recuperar o controle do equipamento. Seu funcionamento básico consiste, em primeiro lugar, em realizar a busca de arquivos, no equipamento da vítima com certas extensões, e cifrá-los depois de se comunicar com um painel de controle externo (em inglês, “Command and control”), ou seja, máquinas centralizadas que são capazes de enviar e receber comandos de redes de equipamentos comprometidos (redes zumbis) instaladas em outras máquinas. A busca é realizada em diferentes localizações do disco rígido. Os pontos sensíveis costumam ser fundamentalmente os pontos nos quais o usuário pode escrever sob o qual o código malicioso é executado. Normalmente o diretório %USERPROFILE%, ou espaço de usuário, dentro da partição do sistema, outras partições do disco rígido, possíveis pontos de montagem externos (discos rígidos) e unidades compartilhadas tanto remotas como locais. E em segundo lugar são mostradas nas normas a seguir para que a vítima entregue o resgate para recuperar o controle de sua informação cifrada.
[005] Os mecanismos de infecção são comuns ao restante de malware existente em geral podem prevenir spam/phishing, vulnerabilidades da Rede, vulnerabilidade de serviços remotos RDP, outro malware, etc.
[006] As práticas para evitar ser infectado por este malware são comuns às recomendadas para evitar qualquer vírus, ou seja, manter o sistema operacional atualizado para evitar falhas de segurança, instalar programas antivírus que facilitem o monitoramento do sistema de arquivos em busca de anomalias, configurar adequadamente um firewall, não abrir nem executar arquivos de remetentes desconhecidos, evitar a navegação por páginas não seguras, manter uma política eficaz de cópias de segurança ou habilitar medidas para mitigar o efeito das vulnerabilidades.
[007] Adicionalmente, no estado da arte existem outras soluções centradas mais especificamente no comportamento e nos efeitos deste tipo de malware. Por exemplo, definir whitelisting de aplicativos; aplicar soluções reativas que estão centralizadas no monitoramento de processos ávidos de arquivos; ou o monitoramento de arquivos “isca” falsos que, quando sejam tocados por algum processo, indica algum tipo de atividade maliciosa.
[008] Algumas dessas soluções, em separado ou em combinação, conseguem reduzir os riscos de ser infectado por código malicioso de tipo ransomware, mas lamentavelmente, todas elas deixam uma janela de oportunidade para que alguns dos arquivos da vítima possam ser comprometidas. Por exemplo, mesmo que a execução de certos processos seja limitada, os Crypto-Ransomware atuais são injetados em processos legítimos, de forma que o processo que cifra finalmente os arquivos é, para todos os efeitos, um legítimo do sistema. Assim, é impossível bloqueá-los como binários unitários e “controláveis”.
[009] Portanto, em vista de todo o anterior, é necessário construir soluções que erradiquem a possibilidade deste tipo de malware afetar os usuários dos sistemas.
DESCRIÇÃO DA INVENÇÃO
[010] A presente invenção resolve os problemas mencionados anteriormente de cifragem externa de documentos, insegurança informática e risco de perda de informações sensíveis propondo uma solução de proteção de arquivos de informática que elimina qualquer janela de oportunidade na qual um terceiro possa comprometer os arquivos críticos de uma vítima. Para isso, concretamente em um primeiro aspecto da invenção, é apresentado um método para proteger um arquivo de informática, armazenado em um dispositivo eletrônico administrado por um sistema operacional, diante de uma eventual cifragem realizada por um código malicioso. O método compreende os seguintes passos realizados pelo dispositivo eletrônico: a) detectar um pedido de acesso ao arquivo, por parte de um usuário ou de um processo de informática do sistema operacional; b) copiar o arquivo em uma pasta temporária de uma unidade de memória do dispositivo eletrônico; c) realizar modificações sobre a cópia do arquivo, por parte do usuário ou do processo; d) comprovar, em um módulo de verificação, se as modificações implicam uma cifragem do arquivo; e) se após a comprovação do passo d) é determinado que as modificações não implicam a cifragem do arquivo, realizar as mesmas modificações no arquivo original; f) se após a comprovação do passo d) é determinado que as modificações sim implicam a cifragem do arquivo, gerar um alarme para o usuário, através de uma interface do dispositivo eletrônico.
[011] Adicionalmente, é contemplado armazenar previamente o arquivo em uma partição segura de uma unidade de armazenamento do dispositivo eletrônico.
[012] Uma das modalidades da invenção compreende escolher para o arquivo um nível de acesso direto de segurança máxima, de acordo com o sistema operacional. Assim, por falta fica denegado o acesso direto ao arquivo para todos os usuários e processos, exceto para aqueles com os privilégios máximos, com o que vantajosamente é aumentada a segurança do sistema.
[013] É contemplado, em uma das modalidades da invenção, que copiar o arquivo em uma pasta temporária adicionalmente compreende atribuir à dita cópia metadados originais com informações do próprio arquivo e do usuário ou processo que realizou o pedido de acesso. Assim, de modo vantajoso, é garantido que seja possível, mais adiante, restaurar uma versão coerente com a atividade realizada sobre o arquivo. Adicionalmente, de acordo com uma das modalidades da invenção, é contemplado vincular metadados sintéticos com os metadados originais atribuídos à cópia do arquivo, onde os ditos metadados sintéticos registram qualquer atividade realizada sobre o arquivo. Assim, de modo vantajoso, é garantida a rastreabilidade nos acessos ao arquivo.
[014] A presente invenção contempla que copiar o arquivo em uma pasta temporária adicionalmente compreende gerar um manipulador sobre a cópia e enviar o dito manipulador ao usuário ou processo que realizou o pedido de acesso. Em uma das modalidades, o manipulador aponta para o arquivo original e o bloqueia para escrita perante qualquer usuário ou processo que não seja proprietário do dito manipulador. Adicionalmente, é contemplado um passo adicional de verificar, em um módulo vigilante, a identidade do usuário ou processo que realizou o pedido de acesso.
[015] De forma opcional, é contemplado que, após a geração de um alarme, a presente invenção compreenda, em uma de suas modalidades, uma interação do usuário com a interface do dispositivo eletrônico para confirmar que as modificações efetuadas na cópia do arquivo têm que ser realizadas no arquivo original. Assim, um processo suspeito requer uma supervisão explícita de um usuário, com o que os processos maliciosos que se tenha podido camuflar a princípio, terão que superar uma barreira praticamente intransponível.
[016] De forma opcional, é contemplado que, uma vez finalizadas as modificações sobre a cópia do arquivo, uma das modalidades da invenção procede com o apagamento do arquivo temporário e restabelece o arquivo original.
[017] Adicionalmente, a presente invenção contempla em uma de suas modalidades registrar qualquer ação que afete o arquivo em um registro do sistema operacional.
[018] Um segundo aspecto da invenção se refere a um sistema para proteger um arquivo de informática perante uma eventual cifragem realizada por código malicioso. O sistema compreende: - um dispositivo eletrônico administrado por um sistema operacional que armazena o arquivo; - um módulo de verificação configurado para comprovar, se algumas modificações realizadas sobre a cópia do arquivo, por parte do usuário ou do processo, implicam uma cifragem do arquivo; - um processador configurado para realizar os seguintes passos: detectar um pedido de acesso ao arquivo, por parte de um usuário ou de um processo de informática do sistema operacional; copiar o arquivo em uma pasta temporária de uma unidade de memória do dispositivo eletrônico; e em função da comprovação do módulo de verificação: se é determinado que as modificações não implicam a cifragem do arquivo, realizar as mesmas modificações no arquivo original; se é determinado que as modificações sim implicam a cifragem do arquivo, gerar um alarme para o usuário, através de uma interface do dispositivo eletrônico.
[019] De acordo com uma das modalidades da invenção, o módulo de verificação está configurado para avaliar a entropia do arquivo.
[020] Adicionalmente, a presente invenção contempla um módulo vigilante configurado para verificar a identidade do usuário ou processo que realizou o pedido de acesso.
[021] Um último aspecto da invenção se refere a um programa de informática caracterizado por compreender meios de código de programa adaptados para realizar as etapas do método, quando o dito programa é executado em um processador de propósito geral, um processador de sinal digital, uma FPGA, um ASIC, um microprocessador, um microcontrolador, ou qualquer outra forma de hardware programável.
[022] Portanto, de acordo com todo o anterior, a presente invenção é uma valiosa alternativa para a defesa de arquivos de informática, principalmente perante um tipo de malware denominado Ransomware. As vantagens são múltiplas e suas características técnicas implicam efeitos vantajosos e benéficos para o estado da arte. Por exemplo, antecipa os problemas de maneira proativa, além de reativa, ou seja, ao contrário das soluções habituais, onde a detecção é feita quando já se acessou o recurso afetado, a presente invenção é capaz de ser antecipada à ameaça e evitar o dano que pressupõe antes de afetar o recurso em si.
[023] Além disso, a proteção de arquivos proposta é transparente para o usuário, ou seja, o usuário apenas é consciente da dita proteção (unicamente pode requerer sua interação ao detectar uma ameaça de cifragem de um arquivo), já que é totalmente compatível com qualquer sistema operacional sem apenas interferências. Isto a converte em uma solução simples e complementar às existentes quanto à detecção de ransomware que inclusive pode receber sem grandes modificações qualquer evolução que experimentem essas outras soluções.
BREVE DESCRIÇÃO DAS FIGURAS DOS DESENHOS
[024] Para complementar a descrição que se está realizando, e com o objetivo de ajudar para uma melhor compreensão das características da invenção, é anexada como parte integrante da dita descrição, uma figura onde, com caráter ilustrativo e não limitativo, foi representado o seguinte: A figura 1 mostra um esquema geral da presente invenção, de acordo com uma das modalidades.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[025] Tudo definido nesta descrição detalhada é proporcionado para auxiliar uma compreensão exaustiva da invenção. Em consequência, as pessoas medianamente especialistas na técnica vão reconhecer que são possíveis variações, mudanças e modificações das modalidades descritas na presente memória sem se distanciar do âmbito da invenção. Além disso, a descrição de funções e elementos bem conhecidos no estado da arte são omitidos por claridade e concisão.
[026] Obviamente, as modalidades da invenção podem ser implementadas em uma ampla variedade de plataformas arquitetônicas, protocolos, dispositivos e sistemas, para os quais os projetos e implementações específicas apresentadas neste documento são proporcionadas unicamente para fins de ilustração e compreensão, e nunca para limitar aspectos da invenção.
[027] A presente invenção divulga um método de segurança para prevenir a cifragem, por parte de terceiros, da informação de um usuário, como por exemplo, arquivos pessoais ou documentos de trabalho sensíveis. A dita informação se encontra armazenada em um equipamento eletrônico do usuário, como um computador pessoal, um celular, uma virtualização em rede ou na nuvem. A cifragem da qual a presente invenção protege o usuário, é consequência da execução inconsciente de um agente malicioso, ou programa de código malicioso, infiltrado por um terceiro no equipamento do usuário, os chamados “Crypto-Ransonware”, que entretanto não costumam danificar o sistema operacional, nem elevar privilégios, nem explorar vulnerabilidades. Seu funcionamento não precisa elevar privilégios (por exemplo, estabelecendo permissões de superusuário ou administrador) pois é suficiente para eles acessar ao mesmo nível de usuário que sua vítima. Assim, o método da presente invenção aproveita a arquitetura de permissões e privilégios do próprio sistema operacional para impedir a escrita do agente malicioso nos arquivos sensíveis que podem ser sequestrados ou cifrados, já que estas permissões não são evitadas a não ser que exista um problema de segurança no próprio sistema operacional. Além disso, se estas permissões são estabelecidas por uma entidade de maiores privilégios no sistema, não podem ser eliminadas pelo próprio malware apesar de se mover no mesmo plano de usuário com as mesmas permissões com os quais conta o usuário do equipamento da vítima.
[028] O método da presente invenção oferece proteção perante os possíveis ataques comentados anteriormente, permitindo ao usuário interagir com os arquivos que deseja proteger de forma cômoda, evitando qualquer processo que tente modificá-los e que isto seja realizado a um nível de privilégios superior.
[029] Uma das modalidades da invenção compreende uma estrutura de camadas para implementar uma solução baseada em permissões, bloqueios e privilégios. Assim, em uma primeira camada, são estabelecidas as permissões necessárias para impedir que um processo modifique um arquivo, mediante a utilização inteligente das permissões do sistema de arquivos do sistema operacional; em uma segunda camada, é estabelecida uma estratégia de bloqueio do arquivo durante sua edição, mas que não impede a escrita e a modificação do arquivo quando o usuário precise editá-los comodamente; e em uma terceira camada, evitando que um processo ou malware, consciente de que as permissões podem ser modificadas pelo usuário, trate de modificar um arquivo a partir do mesmo nível de privilégios antes de cifrá-lo e, portanto, é estabelecido um processo que, sendo executado com um nível de privilégios superior ao de usuário (ou seja, privilégios de administrador do sistema), se encarrega de estabelecer as permissões necessárias e impedir que o nível de usuário (e do malware, a maior parte das vezes) possa modificá-los sem sua autorização.
[030] A seguir, de acordo com uma das modalidades da invenção, é descrito em mais detalhe o funcionamento de cada uma das camadas.
[031] A primeira camada, a relacionada às permissões, de acordo com uma das modalidades da invenção, compreende escolher para os arquivos a proteger, um nível de segurança máxima para seu acesso direto. Assim garante que qualquer acesso direto aos ditos arquivos está limitado a usuários ou processos com um nível de privilégios muito alto, preferencialmente o nível máximo que permite o sistema operacional (nível administrador do sistema). Os documentos ficam assim protegidos (tanto para o malware como para o usuário) escolhendo as permissões adequadas que impeçam tanto a escrita e a modificação como o apagamento de arquivos ou a modificação de permissões. Desta forma, todas as permissões são negadas explicitamente por falta a todos os usuários (grupo genérico habitual em um sistema operacional) e nenhum processo, legítimo ou não, poderá cifrá-los, exceto se evitar a segurança do próprio sistema operacional ou modificar as permissões antes de se realizar a operação de cifragem. Evidentemente, uma vulnerabilidade do sistema operacional depende unicamente do próprio sistema operacional e não concerne a solução aqui apresentada, mas a modificação de permissões obriga, por um lado, que o arquivo mude de proprietário até algum com maiores privilégios (ex.: SYSTEM no caso de sistema operacionais da Microsoft) e por outro lado, o novo proprietário impedirá que qualquer outro usuário modifique as permissões, com o que a partir deste momento, se um processo malicioso modificar as permissões antes de cifrar o arquivo, deveria além disso modificar o proprietário (usuário SYSTEM no caso de sistemas operacionais Microsoft), e para isso, de novo, é necessário dispor dos privilégios adequados. Em resumo, não pode modificar permissões sem elevar privilégios.
[032] A segunda camada é a relacionada com os bloqueios. Se a primeira camada permite prevenir qualquer acesso não desejado, quando um usuário deseja modificar um dos privilégios protegidos, é preciso um mecanismo que facilite esta modificação de uma forma transparente e sem que assuma nenhum risco. A presente invenção, de acordo com uma de suas modalidades, contempla construir uma cópia editável do arquivo original, monitorar a atividade realizada sobre o arquivo para determinar se está produzindo a cifragem dos conteúdos e, no caso de não haver detectado nenhum problema, propagar de forma segura as mudanças no arquivo original, que permanecerá com os privilégios elevados. Assim, uma vez que o usuário tenha aberto um arquivo através do mecanismo que implementa esta segunda camada, a fim de editá-lo temporariamente, a solução proposta pela presente invenção restabelece suas permissões sobre a cópia segura para que seja possível realizar a operação. Durante toda esta edição, de acordo com uma das modalidades da invenção, tanto o arquivo original como o arquivo editável permanecem bloqueados para uso exclusivo para o usuário que estabelece a proteção. A modo de exemplo, é adicionada a seguinte implementação particular, onde é descrito o funcionamento básico desta camada nos seguintes pontos: 1. É copiado o conteúdo original do arquivo até uma pasta temporária, que doravante será chamada arquivo'. 2. É aberta uma instância deste arquivo' carregado na memória do sistema e é criado um manipulador (em inglês “file handler”) apontando até o arquivo original, que o bloqueia para escrita perante qualquer processo que não seja o proprietário desse manipulador. 3. O usuário trabalhará sobre arquivo', em cópia na pasta temporária. O método da presente invenção ficará encarregado de, perante qualquer modificação, fazer fluir a informação até o arquivo original, de forma que o modifique somente quando seja necessário. Isto é possível porque a presente invenção mantém o manipulador do arquivo. O fluxo de informação é passado por um módulo que verifica se a cifragem dos conteúdos está sendo efetuada, desta forma é protegida contra o ataque de um crypto-locker que conheça especificamente como opera a solução aqui proposta. No caso de o módulo determinar que a modificação do arquivo pressupõe a cifragem de seus conteúdos, é disparado um alerta que deve ser atendido explicitamente pelo usuário, sendo suspensa a modificação do arquivo. 4. Finalmente, quando é fechado o programa que edita o arquivo, são apagados os temporários, é restabelecido o arquivo original, são eliminadas as instâncias na memória, e são restabelecidas as permissões de bloqueio.
[033] A terceira camada se encarrega de gerir os privilégios. Como foi mencionado anteriormente, a presente invenção recorre a elevar privilégios para mudar permissões e estabelecer proprietários de arquivos. De acordo com uma das modalidades, é estabelecido ao equipamento proteger a figura de um serviço, ou watcher, que atua como um módulo vigilante com os máximos privilégios (SYSTEM em sistemas Windows, por exemplo) e que se encarrega de, para proteger os arquivos, receber as ordens adequadas (que só aceitará de um processo legítimo) de modificar permissões e proprietários; E por outro lado, para desproteger os arquivos, receber as ordens adequadas (que só aceitará de um processo legítimo) de modificar permissões e proprietários.
[034] O funcionamento básico desta camada, de acordo com uma das modalidades da invenção, consiste portanto em, uma vez recebida uma rota solicitada pelo processo legítimo e autorizado, bloquear ou desbloquear o arquivo de acordo com as permissões adequadas.
[035] O serviço ou watcher se encarrega de verificar a identidade do processo que a modificação lhe pede, através (mesmo que não só limitado a) da comprovação da assinatura digital do binário desde que o processo foi lançado. Além disso, comprova que não foi injetado nele uma livraria ou código malicioso na memória que possa ter alterado seu comportamento na memória. Esta comprovação pode ser realizada de múltiplas formas diferentes. Por exemplo, de acordo com uma das modalidades da invenção, é contemplado listar as bibliotecas de conexão dinâmica, DLL, mais comuns de um processo, fazer uma whitelist e comprová-la antes de atender um arquivo executável. Alternativamente pode-se, por exemplo, explorar o espaço de memória antes de atender os ditos arquivos.
[036] O processo de bloqueio e desbloqueio é realizado quando é detectado que o arquivo está sendo utilizado por um programa. Nesse momento, começa-se a monitorar o processo. Quando o processo finaliza, é enviado outro sinal para o módulo vigilante para que sejam estabelecidas novamente as permissões de bloqueio, já que o método determina que o usuário deixou de editar o arquivo.
[037] A figura 1 é proporcionada para facilitar a compreensão de como a incorporação da presente invenção afeta o comportamento padrão. Para isso convém também apontar brevemente o funcionamento das rotinas de um sistema operacional (1) moderno, que se encarregam da gestão dos arquivos orquestrando a execução de vários subsistemas, como por exemplo AC, VMS, MMS ou syslog (2, 3, 4, 5). Uma vez que um usuário ou um processo solicita o acesso a um arquivo do seu espaço de usuário (14), o sistema operacional comprova se este usuário tem permissão para acessar o sistema de arquivos, e, caso seja assim, recupera a informação do dito sistema de arquivos que associada ao arquivo em questão e à estrutura de diretórios que possa conter, atua de metainformação para facilitar a interação com os módulos do sistema operacional. Através desta informação é possível determinar se, sobre o arquivo em questão, o usuário ou o processo que o solicita, tem algum tipo de permissão (Leitura, escrita, etc.). Se o usuário que solicita o arquivo é um usuário que tem permissões para realizar o acesso, a rotina correspondente do sistema operacional é executada no processador e proporciona a direção de início do arquivo e o tamanho do mesmo, além disso, determina um endereço da memória RAM onde copiar o arquivo. O controlador do sistema (13) recebe sinalização para traduzir estes endereços que, até o momento, tenham sido manipulados de forma lógica, para endereços físicos sobre os dispositivos. Assim, o controlador se encarrega de recuperar a informação da unidade de armazenamento permanente (12), normalmente um disco rígido, reservar um espaço na memória principal do sistema, localizar no dito espaço a informação recuperada (ou parte dela) e devolver ao usuário o endereço da memória onde começa este espaço. Tipicamente, este endereço é encapsulado em uma estrutura software sobre a qual são definidas as rotinas básicas para interagir com o arquivo na memória. Esta estrutura pode ser denominada manipulador de arquivo (file handler). Usando este manipulador, o usuário pode ler, adicionar, eliminar ou modificar conteúdos do arquivo. Também poderá fechar o arquivo, forçando a escrita das modificações no disco rígido. A atualização do arquivo físico, bem como a forma em que está localizado o arquivo na memória, está sujeita à implementação de cada sistema operacional. Todos os sistemas operacionais modernos incorporam em seu projeto um registro do sistema (“syslog”) no qual todos os acessos a estes e outros recursos do sistema ficam registrados.
[038] Partindo desta base, a presente invenção propõe substituir as rotinas com as quais os sistemas operacionais (1) interagem com o sistema de arquivos e ampliar o conjunto destas rotinas com aquelas que facilitam a operação de outros subsistemas (por exemplo a unidade de controle de acesso “AC” (2), a memória virtual de rotinas do sistema “VMS” (3), a memória de gestão de rotinas de sistema “MMS” (4), ou o registro de sistema “syslog” (5)), sem que seja requerida uma deterioração na forma em que o usuário interaja com o sistema.
[039] A presente invenção contempla, em uma de suas modalidades, uma partição (11) na unidade de armazenamento (12) do equipamento, que pode ser lógica ou física, que hospeda aqueles arquivos que requeiram medidas excepcionais de proteção. Esta criação poderá ser efetuada durante a instalação da presente invenção, mas o esquema pode ser ampliado para outras partições ou diretórios do sistema de arquivos. Os arquivos que são incluídos nesta partição de proteção são aqueles cujo conteúdo resulta crítico para o usuário, pois fica a seu critério a seleção de arquivos que devem ser incluídos nesta partição, mesmo que, de acordo com uma modalidade alternativa, pode-se configurar previamente que tipo de arquivos devem ser armazenados na partição de forma automática.
[040] A partição pode incorporar medidas de proteção adicionais, mas dado que o principal interesse da presente invenção é o ransomware, de acordo com uma das modalidades, a qualquer arquivo que se localize nesta partição denegará as permissões de acesso para qualquer usuário, exceto para uma conta privilegiada do sistema (por exemplo, em sistemas operacionais da Microsoft poderia se tratar do usuário SYSTEM), com o qual unicamente será acessível de um espaço do sistema (15) e as rotinas privilegiadas do sistema operacional.
[041] A presente invenção, de acordo com o funcionamento proposto anteriormente, define quatro processos básicos que são adicionados às rotinas (16) definidas para o sistema operacional (à margem da criação da partição) que depende do sistema de arquivos pelo qual se aposte. Estes processos concernem a proteção de um arquivo (6), a eliminação da proteção de um arquivo (7), a abertura de um arquivo (8) e o fechamento de um arquivo (9).
Proteção de um arquivo (6).
[042] É necessário habilitar as rotinas que facilitem que, uma vez selecionado o arquivo a proteger, este seja incluído na partição protegida. Esta incorporação implica o registro de todos os dados relativos a arquivos e ao usuário que puder armazenar, como metainformação, o sistema de arquivos. A dita metainformação, que em algumas ocasiões contém informação dos usuários e do ambiente de execução, é a que é criada por falta pelo sistema operacional e pelos aplicativos para agilizar ou personalizar o uso destes arquivos. É armazenado para garantir que, uma vez se decida desproteger o recurso, seja possível restaurar uma versão coerente com a atividade realizada sobre o recurso.
[043] A seguir serão criados novos metadados (metadados sintéticos) e será criada uma versão protegida do arquivo, já localizada na partição. Estes metadados sintéticos são definidos para garantir a rastreabilidade nos acessos para o arquivo e são vinculados com a informação recuperada do arquivo original (metadados originais) que é armazenada para poder desenvolver plenamente a funcionalidade da presente invenção. Parte destes metadados sintéticos contém informações similares à da metainformação original, mas não em relação ao usuário. Além disso, podem conter outro tipo de dados que facilite a identificação do arquivo e a rastreabilidade da atividade desenvolvida sobre ele.
[044] Os metadados originais recebem atualizações, em função do uso que seja feito do arquivo correspondente, cada vez que seja produzida uma mudança nas políticas definidas para o dito arquivo, mas isto não afeta os metadados sintéticos criados para o armazenamento da cópia, por exemplo, na partição protegida. De forma que este nível de proteção permanece transparente ao usuário proprietário da informação.
[045] Por último, uma vez protegido o arquivo, é anotado o processo no registro do sistema.
Eliminação da proteção de um arquivo (7).
[046] Uma vez que um usuário decide eliminar a proteção sobre um arquivo, de acordo com uma das modalidades da presente invenção, ocorrem os seguintes passos: 1. É verificado que o usuário que é proprietário do recurso ou que o administrador do sistema lhe deu permissões suficientes para modificar o esquema de permissões que tenha sido definido para o mesmo (ex.: em sistemas operacionais da Microsoft isso significa ter controle total sobre o arquivo). 2. É registrada no registro do sistema, por exemplo “syslog” esta ação. 3. São recuperados os conteúdos do arquivo a liberar e é criada com eles uma nova versão do arquivo, na qual os metadados associados ao sistema de arquivos são coerentes com o esquema de permissões para o qual é movido agora o arquivo e que eram coletados nos metadados originais. 4. É restaurado, no sistema de controle de acessos do sistema operacional, o nível de permissões que tinha o arquivo inicialmente. No caso de o arquivo ter sido criado diretamente na partição protegida, é escolhido para ele um esquema de permissões por falta em função do usuário que o criou.
Abertura de um arquivo (8).
[047] Cada vez que, a partir de um processo ou de um módulo do sistema operacional, seja efetuado um pedido de acesso a um arquivo, o dito pedido é interceptado e analisado para determinar se é em referência a um arquivo protegido. De acordo com uma das modalidades da invenção, tal e como foi comentado anteriormente, os arquivos podem ser armazenados em uma partição segura de uma unidade de armazenamento do dispositivo eletrônico, o que facilita a implementação da solução para identificar os pedidos de acesso a qualquer arquivo armazenado na dita partição protegida graças à sua rota de acesso. Em qualquer caso, de acordo com distintas modalidades da invenção, a intercepção do pedido, pode ser implementada sob diferentes aproximações, como por exemplo, de acordo com uma das ditas modalidades, estabelecer um programa específico para a abertura dos arquivos protegidos, o qual resolve as diferentes camadas que compreende a presente invenção. Esta solução é pouco invasiva no que se refere à implementação sobre o sistema operacional mas sofre de baixa usabilidade. Em compensação, outra alternativa contemplada em uma modalidade diferente da presente invenção, compreende sobrecarregar as rotinas do sistema operacional para garantir que as chamadas ao sistema (SystemCalls) sejam interceptadas. Esta solução dependerá do sistema operacional utilizado, mas oferece um maior nível de transparência para o usuário e, portanto, melhora a usabilidade da solução. Tanto em um caso como no outro, a intercepção e a análise são possíveis uma vez instalada a solução no sistema.
[048] O processo de análise depende da implementação de cada sistema operacional e dos sistemas de arquivos que estejam sendo utilizados em cada caso. Entretanto, o objetivo em todos os casos é verificar se um arquivo é acessível para um certo nível de proteção, se o usuário ou o processo com o que o sistema interage, têm permissões para acessar o arquivo no modo que está solicitando (leitura, escrita, etc.). No caso de que seja determinado que o usuário ou o processo possam acessar o arquivo e de se tratar de um arquivo que está na partição protegida, de acordo com uma modalidade da invenção, os seguintes passos ocorrem: 1. Gerar um evento no syslog para registrar o acesso por parte do usuário. Para isso, é utilizada a informação armazenada na forma de metadados originais. 2. Bloquear o arquivo na partição protegida. Isso faz com que os mecanismos providos pelo sistema operacional, como por exemplo definindo um manipulador sobre o arquivo (file handler) em exclusão mútua. 3. Gerar uma cópia do arquivo em uma localização temporária do disco e criar um manipulador sobre ele. Esta localização pode ser qualquer partição lógica que permita o sistema de arquivos que tolere o sistema operacional, a partir de uma pasta ou partição lógica criada sobre o disco. 4. Escolher as permissões que estivessem definidas para o arquivo protegido ao arquivo temporário. 5. Devolver o manipulador definido sobre o arquivo temporário ao usuário ou processo que o pedido de acesso realizou.
Fechamento de um arquivo (9).
[049] Este processo engloba todas as rotinas do sistema operacional que permitem trasladar para o sistema de arquivos as modificações sobre os arquivos realizadas na memória do sistema. A invenção aqui descrita contempla a intercepção de todas estas rotinas. Novamente, o mecanismo de intercepção depende de cada sistema operacional e de sistemas de arquivos. Entretanto, independentemente deste mecanismo, uma vez que o pedido de modificação ou fechamento de arquivo é interceptado, por exemplo comprovando que o arquivo está localizado em uma partição protegida, a presente invenção, de acordo com uma das modalidades, contempla verificar se o usuário/processo tem privilégios para poder modificar o conteúdo deste recurso. No caso de o usuário dispor de privilégios suficientes, é analisado (10) se as mudanças produzidas sobre o arquivo, em comparação com o original ainda armazenado e bloqueado na partição protegida, podem pressupor a cifragem não desejada dos conteúdos. Existem múltiplas estratégias para realizar esta análise, como por exemplo, de acordo com uma das modalidades da invenção, baseando-se na avaliação da entropia. Entretanto, qualquer outra técnica de análise pode ser igualmente válida, sempre que possa complementar os resultados que são obtidos com a mencionada.
[050] Se o resultado desta análise é negativo e as mudanças produzidas no arquivo não podem corresponder a um sistema de cifragem, então procede-se a subscrever o arquivo na partição protegida com as modificações registradas no arquivo temporário. Uma vez concluída a modificação: 1. É gerado um evento correspondente no syslog para refletir que o usuário em questão, usando um processo determinado, realizou uma escrita sobre o arquivo. 2. É liberado ao manipulador do arquivo temporário 3. É eliminado o arquivo temporário 4. É liberado o arquivo da partição protegida. 5. Se o resultado da análise conclui que é provável que o conteúdo do arquivo esteja cifrado, então é interrompido o processo de modificação/escrita, até o momento transparente ao usuário, e é solicitada uma confirmação explícita para continuar com a escrita no disco. No caso de ser obtida a dita confirmação, procede- se de acordo com os passos descritos no ponto 3. Se não é obtida uma confirmação, o usuário/processo é etiquetado como suspeito e é disparado um alarme para reclamar a intervenção do usuário legítimo.

Claims (10)

1. Método para proteger um arquivo de informática, armazenado em um dispositivo eletrônico administrado por um sistema operacional, perante uma eventual cifragem realizada por código malicioso, o método caracterizado por compreender os seguintes passos realizados pelo dispositivo eletrônico: a) detectar um pedido de acesso ao arquivo, por parte de um usuário ou de um processo de informática do sistema operacional; b) copiar o arquivo em uma pasta temporária de uma unidade de memória do dispositivo eletrônico, em que copiar o arquivo em uma pasta temporária adicionalmente compreende gerar um manipulador sobre a cópia e enviar o dito manipulador ao usuário ou processo que realizou o pedido de acesso, e em que o manipulador aponta para o arquivo original e o bloqueia para escrita perante qualquer usuário ou processo que não seja proprietário do dito manipulador; c) escolher para o arquivo um nível de acesso direto de segurança máxima, de acordo com o sistema operacional; d) realizar modificações sobre a cópia do arquivo, por parte do usuário ou do processo; e) em caso de modificações no arquivo, comprovar, em um módulo de verificação, se as modificações implicam uma cifragem do arquivo; f) se após a comprovação do passo e) é determinado que as modificações não implicam a cifragem do arquivo, realizar as mesmas modificações no arquivo original; g) se após a comprovação do passo e) é determinado que as modificações sim implicam a cifragem do arquivo, gerar um alarme para o usuário, através de uma interface do dispositivo eletrônico; em que o método adicionalmente compreende registrar qualquer ação que afete o arquivo em um registro do sistema operacional.
2. Método de acordo com a reivindicação 1, caracterizado por adicionalmente compreender o armazenamento do arquivo em uma partição segura de uma unidade de armazenamento do dispositivo eletrônico.
3. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado por copiar o arquivo em uma pasta temporária adicionalmente compreender atribuir à dita cópia metadados originais com informações do próprio arquivo e do usuário ou processo que realizou o pedido de acesso.
4. Método de acordo com a reivindicação 3, caracterizado por compreender, ademais, vincular metadados sintéticos com os metadados originais atribuídos à cópia do arquivo, onde os ditos metadados sintéticos registram qualquer atividade realizada sobre o arquivo.
5. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado por adicionalmente compreender verificar, em um módulo vigilante, a identidade do usuário ou processo que realizou o pedido de acesso.
6. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado por, após a geração de um alarme, a presente invenção compreender uma interação do usuário com a interface do dispositivo eletrônico para confirmar que as modificações efetuadas na cópia do arquivo têm que ser realizadas no arquivo original.
7. Método de acordo qualquer uma das reivindicações anteriores, caracterizado por adicionalmente compreender, uma vez finalizadas as modificações sobre a cópia do arquivo, apagar o arquivo temporário e restabelecer o arquivo original.
8. Sistema para proteger um arquivo de informática de uma eventual cifragem realizada por código malicioso, caracterizado por compreender: - um dispositivo eletrônico administrado por um sistema operacional que armazena o arquivo; - um módulo de verificação configurado para, em caso de modificações no arquivo, comprovar, se algumas modificações realizadas sobre a cópia do arquivo, por parte de um usuário ou de um processo de informática, implicam uma cifragem do arquivo; - um processador configurado para realizar os seguintes passos: detectar um pedido de acesso ao arquivo, por parte do usuário ou do processo de informática do sistema operacional; copiar o arquivo em uma pasta temporária de uma unidade de memória do dispositivo eletrônico; em que copiar o arquivo em uma pasta temporária compreende gerar um manipulador sobre a cópia e enviar o dito manipulador ao usuário ou processo que realizou o pedido de acesso, em que o manipulador aponta para o arquivo original e o bloqueia para escrita perante qualquer usuário ou processo que não seja proprietário do dito manipulador, escolher para o arquivo um nível de acesso direto de segurança máxima, de acordo com o sistema operacional, registrar qualquer ação que afete o arquivo em um registro do sistema operacional, e em função da comprovação do módulo de verificação: se é determinado que as modificações não implicam a cifragem do arquivo, realizar as mesmas modificações no arquivo original; se é determinado que as modificações sim implicam a cifragem do arquivo, gerar um alarme para o usuário, através de uma interface do dispositivo eletrônico.
9. Sistema de acordo com a reivindicação 8, caracterizado por o módulo de verificação estar configurado para avaliar a entropia do arquivo.
10. Sistema de acordo com qualquer uma das reivindicações 8 ou 9, caracterizado por adicionalmente compreender um módulo vigilante configurado para verificar a identidade do usuário ou processo que realizou o pedido de acesso.
BR112018070251-0A 2016-04-01 Método e sistema para proteger um arquivo de informática de uma eventual cifragem realizada por código malicioso BR112018070251B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/ES2016/070226 WO2017168016A1 (es) 2016-04-01 2016-04-01 Método y sistema para proteger un archivo informático ante un eventual cifrado realizado por código malicioso

Publications (2)

Publication Number Publication Date
BR112018070251A2 BR112018070251A2 (pt) 2019-01-29
BR112018070251B1 true BR112018070251B1 (pt) 2023-06-27

Family

ID=

Similar Documents

Publication Publication Date Title
US11528142B2 (en) Methods, systems and computer program products for data protection by policing processes accessing encrypted data
US10268827B2 (en) Method and system for securing data
KR102573921B1 (ko) 바이러스/멀웨어로부터 안전한 저장 장치, 그것을 포함한 컴퓨팅 시스템 및 그것의 방법
JP5019869B2 (ja) コンピュータ装置の暗号化データへのアクセスを提供する方法
US7660797B2 (en) Scanning data in an access restricted file for malware
US7925894B2 (en) System and method for delivering versatile security, digital rights management, and privacy services
US7712135B2 (en) Pre-emptive anti-virus protection of computing systems
US20050066191A1 (en) System and method for delivering versatile security, digital rights management, and privacy services from storage controllers
US9396329B2 (en) Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
US8938808B1 (en) Systems and methods for using virtualization to implement information rights management
BRPI0707531A2 (pt) método para impedir a instalação de software mal intencionado em um computador conectado à internet
Ami et al. Ransomware prevention using application authentication-based file access control
Zhao et al. TEE-aided write protection against privileged data tampering
Ahn et al. DiskShield: a data tamper-resistant storage for Intel SGX
US9219728B1 (en) Systems and methods for protecting services
ES2951417T3 (es) Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso
US20150074820A1 (en) Security enhancement apparatus
US7487548B1 (en) Granular access control method and system
CA2816764C (en) Inoculator and antibody for computer security
WO2021188716A1 (en) Systems and methods for protecting a folder from unauthorized file modification
CA3214199A1 (en) Ransomware prevention
Siddiqui et al. Hardware based protection against malwares by PUF based access control mechanism
BR112018070251B1 (pt) Método e sistema para proteger um arquivo de informática de uma eventual cifragem realizada por código malicioso
Van Oorschot et al. Reducing unauthorized modification of digital objects
CN111079154A (zh) 一种保护操作系统内核不被外来程序破坏的内核加固系统