ES2951417T3 - Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso - Google Patents

Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso Download PDF

Info

Publication number
ES2951417T3
ES2951417T3 ES16896655T ES16896655T ES2951417T3 ES 2951417 T3 ES2951417 T3 ES 2951417T3 ES 16896655 T ES16896655 T ES 16896655T ES 16896655 T ES16896655 T ES 16896655T ES 2951417 T3 ES2951417 T3 ES 2951417T3
Authority
ES
Spain
Prior art keywords
file
computer file
procedure
user
computer
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES16896655T
Other languages
English (en)
Inventor
Los Santos Vilches Sergio De
Sacristan Antonio Guzman
Cebrian José Alonso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonica Cybersecurity and Cloud Tech SL
Original Assignee
Telefonica Cybersecurity and Cloud Tech SL
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 Telefonica Cybersecurity and Cloud Tech SL filed Critical Telefonica Cybersecurity and Cloud Tech SL
Application granted granted Critical
Publication of ES2951417T3 publication Critical patent/ES2951417T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/602Providing cryptographic facilities or services
    • 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/54Monitoring 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 adding security routines or objects to programs
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

La presente invención se refiere a un método para proteger un archivo informático, almacenado en un dispositivo electrónico gestionado por un sistema operativo, ante un eventual cifrado realizado por código malicioso. El método comprende: detectar una petición de acceso al archivo, por parte de un usuario o de un proceso informático; copiar el archivo en una carpeta temporal;realizar modificaciones sobre la copia del archivo; comprobar si las modificaciones implican un cifrado del archivo; si tras la comprobación se determina que las modificaciones no implican el cifrado del archivo, realizar las mismas modificaciones en el archivo original; y si tras la comprobación se determina que las modificaciones sí implican el cifrado del archivo, generar una alarma para el usuario.

Description

DESCRIPCIÓN
Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso
Campo técnico de la invención
La presente invención tiene aplicación en el campo de la seguridad y el procesamiento de la información y, más específicamente, en la monitorización y detección de código malicioso en dispositivos electrónicos, tales como, por ejemplo, los programas de cifrado maliciosos.
Antecedentes de la invención
Actualmente, la proliferación de software espía y código malicioso (conocidos en inglés como “malware”) propicia nuevas formas de cibercrimen, tales como el secuestro de archivos usando programas de cifrado que consiguen bloquear la información y los datos almacenados en un ordenador de forma remota. Este tipo de programas se pueden denominar Crypto-Ransomware. Cabe mencionar que, a partir de este concepto genérico, han surgido múltiples familias populares (cryptolocker, cryptowall, ctb-lockers, torrentlocker, ZeroLockers, CoinVault, TeslaCrypt, Chimera, AlphaCrypt...). Este tipo de software malicioso, una vez que infecta el dispositivo de la víctima, como puede ser, por ejemplo, un ordenador, un móvil, una virtualización en red o en la nube, cifra buena parte del contenido de su sistema o archivos y establece un sistema para extorsionarla a cambio de la obtención de la clave de cifrado.
El código informático necesario para realizar este bloqueo de la información necesita introducirse en el equipo objetivo. Habitualmente, para ello, se camufla dentro de otro archivo aparentemente inofensivo para el usuario, quien inconscientemente ejecuta dicho código al confundirlo con un archivo procedente de una fuente fiable.
Una vez el código es ejecutado en el sistema, se activa y provoca el bloqueo de todo el sistema operativo o parte del mismo y lanza la nota de rescate para recuperar el control del equipo. Su funcionamiento básico consiste, en primer lugar, en realizar una búsqueda de archivos, en el sistema de la víctima con determinadas extensiones, y cifrarlos tras comunicarse con un panel de control externo (en inglés “Command and Control”), es decir, máquinas centralizadas que son capaces de enviar y recibir comandos de redes de equipos comprometidos (redes zombis) instaladas en otras máquinas. La búsqueda se realiza en diferentes localizaciones del disco duro. Los puntos sensibles suelen ser fundamentalmente los puntos en los que puede escribir el usuario bajo los que se ejecuta el código malicioso. Normalmente, el directorio %USERPROFILE%, o espacio de usuario, dentro de la partición de sistema, otras particiones del disco duro, posibles puntos de montaje externos (discos duros) y unidades compartidas tanto remotas como locales. En segundo lugar, se muestran las pautas a seguir para que la víctima entregue el rescate para recuperar el control de su información cifrada.
Los mecanismos de infección son comunes al resto de software malicioso existente, en general, puede provenir de spam/phishing, vulnerabilidades de la red, vulnerabilidades de servicios remotos RDP, otro software malicioso, etc.
Las prácticas para evitar ser infectado por este software malicioso son comunes a las recomendadas para evitar cualquier virus, es decir, mantener el sistema operativo actualizado para evitar fallos de seguridad, instalar programas antivirus que faciliten la monitorización del sistema de archivos en busca de anomalías, configurar adecuadamente un cortafuegos, no abrir ni ejecutar archivos de remitentes desconocidos, evitar la navegación por páginas no seguras, mantener una política eficaz de copias de seguridad o habilitar medidas para mitigar el efecto de las vulnerabilidades.
Adicionalmente, en el estado de la técnica, existen otras soluciones centradas más específicamente en el comportamiento y los efectos de este tipo de software malicioso. Por ejemplo, definir listas blancas de aplicaciones; aplicar soluciones reactivas que se centran en la monitorización de procedimientos ávidos de archivos; o la monitorización de archivos “cebo” falsos que, cuando sean tocados por algún procedimiento, indica algún tipo de actividad maliciosa.
Algunas de estas soluciones, por separado o en combinación, consiguen reducir los riesgos de ser infectado por código malicioso de tipo ransomware, pero, lamentablemente, todas ellas dejan abierta una ventana de oportunidad para que algunos de los archivos de la víctima puedan ser comprometidos. Por ejemplo, aunque se limite la ejecución de determinados procedimientos, los Crypto-Ransomware actuales se inyectan en procedimientos legítimos, de forma que el procedimiento que cifra finalmente los archivos es, a todos los efectos, uno legítimo del sistema. Así, es imposible bloquearlos como binarios unitarios y "controlables”.
Por tanto, a la vista de todo lo anterior, es necesario construir soluciones que erradiquen la posibilidad de que este tipo de software malicioso afecte a los usuarios de los sistemas.
Los documentos US 2015/058987 A1, US 2013/067576 A1 y WO 2014/062252 A1 forman parte de la técnica anterior.
Descripción de la invención
La presente invención resuelve los problemas mencionados anteriormente de cifrado externo de documentos, inseguridad informática y riesgo de pérdida de información sensible planteando una solución de protección de archivos informáticos que elimina cualquier ventana de oportunidad en la que un tercero pueda comprometer los archivos críticos de una víctima. Para ello, concretamente en un primer aspecto de la invención, se presenta un procedimiento para proteger un archivo informático, almacenado en un dispositivo electrónico gestionado por un sistema operativo, ante un posible cifrado realizado por código malicioso. El procedimiento comprende las siguientes etapas realizadas por el dispositivo electrónico:
a) detectar una petición de acceso al archivo, por parte de un usuario o de un procedimiento informático del sistema operativo;
b) copiar el archivo en una carpeta temporal de una unidad de memoria del dispositivo electrónico;
c) realizar modificaciones sobre la copia del archivo, por parte del usuario o del procedimiento;
d) comprobar, en un módulo de verificación, si las modificaciones implican un cifrado del archivo;
e) si, tras la comprobación de la etapa d), se determina que las modificaciones no implican el cifrado del archivo, realizar las mismas modificaciones en el archivo original;
f) si, tras la comprobación de la etapa d), se determina que las modificaciones sí implican el cifrado del archivo, generar una alarma para el usuario, a través de una interfaz del dispositivo electrónico.
Adicionalmente, se contempla almacenar previamente el archivo en una partición segura de una unidad de almacenamiento del dispositivo electrónico.
Una de las realizaciones de la invención comprende asignar al archivo un nivel de acceso directo de máxima seguridad, según el sistema operativo. Así, por defecto, queda denegado el acceso directo al archivo para todos los usuarios y procedimientos, excepto para aquellos con los máximos privilegios, con lo que ventajosamente se aumenta la seguridad del sistema.
Se contempla, en una de las realizaciones de la invención, que copiar el archivo en una carpeta temporal comprende, además, asignar a dicha copia unos metadatos originales con información del propio archivo y del usuario o procedimiento que realizó la petición de acceso. Así, ventajosamente, se garantiza que sea posible, más adelante, restaurar una versión coherente con la actividad realizada sobre el archivo. Adicionalmente, según una de las realizaciones de la invención, se contempla vincular unos metadatos sintéticos con los metadatos originales asignados a la copia del archivo, en el que dichos metadatos sintéticos registran cualquier actividad realizada sobre el archivo. Así, ventajosamente, se garantiza la trazabilidad en los accesos al archivo.
La presente invención contempla que copiar el archivo en una carpeta temporal comprende, además, generar un manipulador sobre la copia y enviar dicho manipulador al usuario o procedimiento que realizó la petición de acceso. En una de las realizaciones, el manipulador apunta hacia el archivo original y lo bloquea para escritura ante cualquier usuario o procedimiento que no sea propietario de dicho manipulador. Adicionalmente, se contempla una etapa adicional de verificar, en un módulo vigilante, la identidad del usuario o procedimiento que realizó la petición de acceso.
De forma opcional, se contempla que, tras la generación de una alarma, la presente invención comprende, en una de sus realizaciones, una interacción del usuario con la interfaz del dispositivo electrónico para confirmar que las modificaciones efectuadas en la copia del archivo tienen que realizarse en el archivo original. Así, un procedimiento sospechoso requiere una supervisión explícita de un usuario, con lo que los procedimientos maliciosos que hayan podido camuflarse en un principio, tendrán que superar una barrera prácticamente infranqueable.
De forma opcional, se contempla que, una vez han finalizado las modificaciones sobre la copia del archivo, una de las realizaciones de la invención borra el archivo temporal y restablece el archivo original.
Adicionalmente, la presente invención contempla, en una de sus realizaciones, registrar cualquier acción que afecte al archivo en un registro del sistema operativo.
Un segundo aspecto de la invención se refiere a un sistema para proteger un archivo informático ante un posible cifrado realizado por código malicioso. El sistema comprende:
- un dispositivo electrónico gestionado por un sistema operativo que almacena el archivo;
- un módulo de verificación configurado para comprobar, si unas modificaciones realizadas sobre la copia del archivo, por parte del usuario o del procedimiento, implican un cifrado del archivo;
- un procesador configurado para realizar las siguientes etapas: detectar una petición de acceso al archivo por parte de un usuario o de un procedimiento informático del sistema operativo; copiar el archivo en una carpeta temporal de una unidad de memoria del dispositivo electrónico; y, en función de la comprobación del módulo de verificación: si se determina que las modificaciones no implican el cifrado del archivo, realizar las mismas modificaciones en el archivo original; si se determina que las modificaciones sí implican el cifrado del archivo, generar una alarma para el usuario, a través de una interfaz del dispositivo electrónico.
Según una de las realizaciones de la invención, el módulo de verificación está configurado para evaluar la entropía del archivo.
Adicionalmente, la presente invención contempla un módulo vigilante configurado para verificar la identidad del usuario o procedimiento que ha realizado la petición de acceso.
Un último aspecto de la invención se refiere a un programa informático caracterizado porque comprende medios de código de programa adaptados para realizar las etapas del procedimiento, cuando dicho programa se ejecuta en un procesador de propósito general, un procesador de señal digital, una FPGA, un ASIC, un microprocesador, un microcontrolador o cualquier otra forma de hardware programable.
Por tanto, según todo lo anterior, la presente invención es una valiosa alternativa para la defensa de archivos informáticos, principalmente frente a un tipo de software malicioso denominado Ransomware. Las ventajas son múltiples y sus características técnicas implican efectos ventajosos y beneficiosos para el estado de la técnica. Por ejemplo, anticipa los problemas de manera proactiva, además de reactiva, es decir, a diferencia de las soluciones habituales, en las que la detección se hace cuando ya se ha accedido al recurso afectado, la presente invención es capaz de anticiparse a la amenaza y evitar el daño que supone antes de que afecte al recurso en sí.
Además, la protección de archivos propuesta es transparente al usuario, es decir, el usuario apenas es consciente de dicha protección (únicamente puede requerir su interacción al detectar una amenaza de cifrado de un archivo), ya que es totalmente compatible con cualquier sistema operativo sin apenas interferencias. Esto la convierte en una solución simple y complementaria con las existentes en cuanto a detección de ransomware, que incluso puede recibir, sin grandes modificaciones, cualquier evolución que experimenten esas otras soluciones.
La presente invención se define en las reivindicaciones independientes adjuntas 1, 8 y 11. Las realizaciones preferentes se exponen en las reivindicaciones dependientes.
Descripción de los dibujos
Para complementar la descripción proporcionada en el presente documento y con objeto de ayudar a comprender más fácilmente las características de la invención, se adjunta, como parte integrante de dicha descripción, una figura en la que, con carácter ilustrativo y no limitante, se representa lo siguiente:
La Figura 1 muestra un esquema general de la presente invención, según una de las realizaciones.
Descripción detallada de la invención
Lo definido en la presente descripción detallada se proporciona para ayudar a lograr una comprensión exhaustiva de la invención. En consecuencia, las personas con experiencia habitual en la materia reconocerán que son posibles las variaciones, los cambios y las modificaciones de las realizaciones descritas en la presente memoria descriptiva sin apartarse del ámbito de la invención. Además, la descripción de funciones y elementos que son bien conocidos en el estado de la técnica se omite por claridad y concisión.
Por supuesto, las realizaciones de la invención se pueden implementar en una amplia diversidad de plataformas arquitectónicas, protocolos, dispositivos y sistemas, por lo que los diseños e implementaciones específicas presentadas en el presente documento, se proporcionan únicamente con fines de ilustración y comprensión y nunca para limitar aspectos de la invención.
La presente invención desvela un procedimiento de seguridad para prevenir el cifrado, por parte de terceros, de la información de un usuario, tal como, por ejemplo, archivos personales o documentos de trabajo sensibles. Dicha información se encuentra almacenada en un equipo electrónico del usuario, tal como un ordenador personal, un móvil, una virtualización en red o en la nube. El cifrado del que la presente invención protege al usuario es consecuencia de la ejecución inconsciente de un agente malicioso, o programa de código malicioso, infiltrado por un tercero en el equipo del usuario, los llamados “Crypto-Ransomware”, que, sin embargo, no suelen dañar el sistema operativo, ni elevar privilegios ni explotar vulnerabilidades. Su funcionamiento no necesita elevar privilegios (por ejemplo, estableciendo permisos de superusuario o administrador), sino que les es suficiente con acceder al mismo nivel de usuario que su víctima. Así, el procedimiento de la presente invención aprovecha la arquitectura de permisos y privilegios del propio sistema operativo para impedir la escritura del agente malicioso en los archivos sensibles de ser secuestrados o cifrados, ya que estos permisos no son eludibles a no ser que exista un problema de seguridad en el propio sistema operativo. Además, si estos permisos son establecidos por una entidad de mayores privilegios en el sistema, no pueden ser eliminados por el propio software malicioso, aunque se mueva en el mismo plano de usuario con los mismos permisos con los que cuenta el usuario del equipo de la víctima.
El procedimiento de la presente invención ofrece protección frente a los posibles ataques comentados anteriormente, permitiendo al usuario interactuar con los archivos que desea proteger de forma cómoda, evitando cualquier procedimiento que intente modificarlos y que esto se realice a un nivel de privilegios superior.
Una de las realizaciones de la invención comprende una estructura de capas para implementar una solución basada en permisos, bloqueos y privilegios. Así, en una primera capa, se establecen los permisos necesarios para impedir que un procedimiento modifique un archivo, mediante la utilización inteligente de los permisos del sistema de archivos del sistema operativo; en una segunda capa, se establece una estrategia de bloqueo del archivo durante su edición, pero que no impide la escritura y modificación del archivo cuando el usuario necesite editarlos cómodamente; y, en una tercera capa, previniendo que un procedimiento o software malicioso, consciente de que los permisos pueden ser modificados por el usuario, trate de modificar un archivo desde el mismo nivel de privilegios antes de cifrarlo y, por tanto, anular la protección, se establece un procedimiento que, ejecutándose con un nivel de privilegios superior al de usuario (es decir, privilegios de administrador del sistema), se encarga de establecer los permisos necesarios e impedir que el nivel de usuario (y del software malicioso, la mayor parte de las veces) pueda modificarlos sin su autorización.
A continuación, según una de las realizaciones de la invención, se describe con detalle el funcionamiento de cada una de las capas.
La primera capa, la relacionada con los permisos, según una de las realizaciones de la invención, comprende asignar a los archivos que se van a proteger un nivel de seguridad máximo para su acceso directo. Así, garantiza que cualquier acceso directo a dichos archivos esté limitado a usuarios o procedimientos con un nivel de privilegios muy alto, preferentemente el máximo nivel que permite el sistema operativo (nivel de administrador del sistema). Los documentos quedan así protegidos (tanto para el software malicioso como para el usuario) eligiendo los permisos adecuados que impidan tanto la escritura y modificación como el borrado de archivos o la modificación de permisos. De esta forma, todos los permisos se niegan explícitamente por defecto a todos los usuarios (grupo genérico habitual en un sistema operativo) y ningún procedimiento, legítimo o no, podrá cifrarlos, salvo que bien eluda la seguridad del propio sistema operativo o bien modifique los permisos antes de realizar la operación de cifrado. Evidentemente, una vulnerabilidad del sistema operativo depende únicamente del propio sistema operativo y no concierne a la solución presentada en el presente documento, pero la modificación de permisos obliga, por un lado, a que el archivo cambie de propietario hacia uno con mayores privilegios (por ejemplo, SYSTEM, en el caso de sistema operativos de Microsoft) y, por otro lado, el nuevo propietario impedirá que cualquier otro usuario modifique los permisos, con lo que, a partir de este momento, si un procedimiento malicioso modificara los permisos antes de cifrar el archivo, debería modificar, además, el propietario (usuario SYSTEM, en el caso de sistemas operativos de Microsoft), y, para eso, de nuevo, es necesario disponer de los privilegios adecuados. En resumen, no puede modificar permisos sin elevar privilegios.
La segunda capa es la relacionada con los bloqueos. Si bien la primera capa permite prevenir cualquier acceso no deseado, cuando un usuario desea modificar uno de los archivos protegidos, se precisa un mecanismo que facilite esta modificación de una forma transparente y sin que se asuma ningún riesgo. La presente invención, según una de sus realizaciones, contempla construir una
el archivo para determinar si está produciendo el cifrado de los contenidos y, en caso de que no se haya detectado ningún problema, propagar de forma segura los cambios al archivo original, que permanecerá con los privilegios elevados. Así, una vez que un usuario ha abierto el archivo a través del mecanismo que implementa esta segunda capa, con el fin de editarlo temporalmente, la solución propuesta por la presente invención restablece sus permisos sobre la copia segura para que se pueda realizar la operación. Durante toda esta edición, según una de las realizaciones de la invención, tanto el archivo original como el archivo editable permanecen bloqueados en uso exclusivo para el usuario que establece la protección. A modo de ejemplo, se añade la siguiente implementación particular, en la que se describe el funcionamiento básico de esta capa en los siguientes puntos:
1. - Se copia el contenido original del archivo en una carpeta temporal, que se llamará en lo sucesivo en el presente documento archivo'.
2. - Se abre una instancia de este archivo' cargado en la memoria del sistema y se crea un manipulador (en inglés “file handler”) apuntando hacia el archivo original, que lo bloquea para escritura ante cualquier procedimiento que no sea el propietario de ese manipulador.
3. - El usuario trabajará sobre el archivo', en copia en la carpeta temporal. El procedimiento de la presente invención se encarga de, ante cualquier modificación, hacer fluir la información hacia el archivo original, de forma que lo modifique solo cuando sea necesario. Esto es posible porque la presente invención mantiene el manipulador del archivo. El flujo de información se hace pasar por un módulo que verifica si se está efectuando el cifrado de los contenidos, de esta forma se protege ante el ataque de un crypto-locker que conozca específicamente cómo opera la solución propuesta en el presente documento. En caso de que el módulo determine que la modificación del archivo supone el cifrado de sus contenidos, se dispara una alerta que debe ser atendida explícitamente por el usuario, suspendiéndose la modificación del archivo.
4. - Finalmente, cuando se cierra el programa que edita el archivo, se borran los temporales, se restablece el archivo original, se eliminan las instancias en memoria y se restablecen los permisos de bloqueo.
La tercera capa se encarga de gestionar los privilegios. Como se ha mencionado anteriormente, la presente invención recurre a elevar privilegios para cambiar permisos y establecer propietarios de archivos. Según una de las realizaciones, se establece en el equipo que se va proteger la figura de un servicio, o watcher, que actúa como un módulo vigilante con los máximos privilegios (SYSTEM en sistemas Windows, por ejemplo) y que se encarga de, para proteger los archivos, recibir las órdenes adecuadas (que solo aceptará de un procedimiento legítimo) de modificar permisos y propietarios; y, por otro lado, para desproteger los archivos, recibir las órdenes adecuadas (que solo aceptará de un procedimiento legítimo) de modificar permisos y propietarios.
El funcionamiento básico de esta capa, según una de las realizaciones de la invención, consiste, por tanto, en, una vez recibida una ruta solicitada por el procedimiento legítimo y autorizado, bloquear o desbloquear el archivo según los permisos adecuados.
El servicio o watcher se encarga de verificar la identidad del procedimiento que le pide la modificación, a través de (aunque no solo limitado a) la comprobación de la firma digital del binario desde el que se ha lanzado el procedimiento. Además, comprueba que no le ha sido inyectada una biblioteca o un código malicioso en la memoria que pueda haber alterado su comportamiento en la memoria. Esta comprobación puede realizarse de múltiples formas diferentes. Por ejemplo, según una de las realizaciones de la invención, se contempla listar las bibliotecas de enlace dinámico, DLL, más habituales de un procedimiento, hacer una lista blanca y comprobarla antes de atender un archivo ejecutable. Como alternativa, puede, por ejemplo, explorarse el espacio de memoria antes de atender dichos archivos.
El procedimiento de bloqueo y desbloqueo se realiza cuando se detecta que el archivo está siendo utilizado por un programa. En ese momento, se comienza a monitorizar el procedimiento. Cuando el procedimiento finaliza, se envía otra señal al módulo vigilante para que se establezcan de nuevo los permisos bloqueantes, puesto que el procedimiento determina que el usuario ha dejado de editar el archivo.
La Figura 1 se proporciona para facilitar la compresión de cómo afecta al comportamiento estándar la incorporación de la presente invención. Para ello, conviene también apuntar brevemente el funcionamiento de las rutinas de un sistema operativo (1) moderno, que se encargan de la gestión de los archivos orquestando la ejecución de múltiples subsistemas, tales como, por ejemplo, AC, VMS, MMS o syslog (2, 3, 4, 5). Una vez que un usuario o un procedimiento solicita el acceso a un archivo desde su espacio de usuario (14), el sistema operativo comprueba si este usuario tiene permiso para acceder al sistema de archivos y, en caso de que sea así, recupera la información de dicho sistema de archivos que, asociada al archivo en cuestión y a la estructura de directorios que lo puede contener, actúa de metainformación para facilitar la interacción con los módulos del sistema operativo. A través de esta información, es posible determinar si sobre el archivo en cuestión, el usuario o el procedimiento que lo solicita tiene algún tipo de permiso (lectura, escritura, etc.). Si el usuario que solicita el archivo es un usuario que tiene permisos para realizar el acceso, la rutina correspondiente del sistema operativo se ejecuta en el procesador y proporciona la dirección de inicio del archivo y el tamaño del mismo y, además, determina una dirección de memoria RaM en la que copiar el archivo. El controlador del sistema (13) recibe la señalización para trasladar estas direcciones que, hasta el momento, se han manipulado de forma lógica en direcciones físicas sobre los dispositivos. Así, el controlador, se encarga de recuperar la información desde la unidad de almacenamiento permanente (12), normalmente un disco duro, reservar un espacio en la memoria principal del sistema, ubicar en dicho espacio la información recuperada (o parte de ella) y devolver al usuario la dirección de memoria en la que empieza este espacio. Típicamente, esta dirección se encapsula en una estructura software sobre la que se definen las rutinas básicas para interactuar con el archivo en la memoria. Esta estructura se puede denominar manipulador de archivo. Usando este manipulador, el usuario puede leer, añadir, eliminar o modificar contenidos del archivo. También podrá cerrar el archivo, forzando la escritura de las modificaciones en el disco duro. La actualización del archivo físico, así como la forma en la que se ubica el archivo en la memoria, está sujeta a la implementación de cada sistema operativo. Todos los sistemas operativos modernos incorporan en su diseño un registro del sistema (“syslog”) en el que todos los accesos a estos y otros recursos del sistema quedan registrados.
Partiendo de esta base, la presente invención propone sustituir las rutinas con las que los sistemas operativos (1) interactúan con el sistema de archivos y ampliar el conjunto de estas rutinas con aquellas que facilitan la operación de otros subsistemas (por ejemplo, la unidad de control de acceso “AC” (2), la memoria virtual de rutinas del sistema “VMS” (3), la memoria de gestión de rutinas de sistema “MMS” (4) o el registro de sistema “syslog” (5)), sin que se requiera un deterioro en la forma en la que el usuario interactúa con el sistema.
La presente invención contempla, en una de sus realizaciones, una partición (11) en la unidad de almacenamiento (12) del equipo, que puede ser lógica o física, que aloja aquellos archivos que requieran medidas excepcionales de protección. Esta creación se podrá efectuar durante la instalación de la presente invención, pero el esquema puede ampliarse a otras particiones o directorios del sistema de archivos. Los archivos que se incluyen en esta partición de protección son aquellos cuyo contenido resulta crítico para el usuario, por lo que queda a su discreción la selección de archivos que deben ser incluidos en esta partición, aunque, según una realización alternativa, puede configurarse previamente que tipo de archivos deben almacenarse en la partición de forma automática.
La partición puede incorporar medidas de protección adicionales, pero dado que el principal interés de la presente invención es el ransomware, según una de las realizaciones, cualquier archivo que se ubique en esta partición denegará los permisos de acceso para cualquier usuario, excepto para una cuenta privilegiada del sistema (por ejemplo, en los sistemas operativo de Microsoft podría tratarse del usuario SYSTEM), con lo que únicamente será accesible desde un espacio de sistema (15) y las rutinas privilegiadas del sistema operativo.
La presente invención, según el funcionamiento planteado anteriormente, define cuatro procedimientos básicos que se añaden a las rutinas (16) definidas para el sistema operativo (al margen de la creación de la partición) que depende del sistema de archivos por el que se apueste. Estos procedimientos conciernen la protección de un archivo (6), la eliminación de la protección de un archivo (7), la apertura de un archivo (8) y el cierre de un archivo (9).
Protección de un archivo (6)
Es necesario habilitar las rutinas que faciliten que, una vez se haya seleccionado el archivo que se va a proteger, este se incluya en la partición protegida. Esta incorporación implica el registro de todos los datos relativos a archivos y al usuario que pudiera almacenar, como metainformación, el sistema de archivos. Dicha metainformación, que en ocasiones contiene información de los usuarios y del entorno de ejecución, es la que se crea por defecto por el sistema operativo y las aplicaciones para agilizar o personalizar el uso de estos archivos. Se almacena para garantizar que, una vez que se haya decidido desproteger el recurso, sea posible restaurar una versión coherente con la actividad realizada sobre el recurso.
A continuación, se crearán nuevos metadatos (metadatos sintéticos) y se creará una versión protegida del archivo, ya ubicada en la partición. Estos metadatos sintéticos se definen para garantizar la trazabilidad en los accesos al archivo y se vinculan con la información recuperada del archivo original (metadatos originales) que se almacena para poder desarrollar plenamente la funcionalidad de la presente invención. Parte de estos metadatos sintéticos contiene información similar a la de la metainformación original, pero no en lo que respecta al usuario. Además, pueden contener otro tipo de datos que faciliten la identificación del archivo y la trazabilidad de la actividad desarrollada sobre el mismo.
Los metadatos originales reciben actualizaciones, en función del uso que se haga del archivo correspondiente, cada vez que se produce un cambio en las políticas definidas para dicho archivo, pero esto no afecta a los metadatos sintéticos creados para el almacenamiento de la copia, por ejemplo, en la partición protegida. Como tal, este nivel de protección permanece transparente al usuario propietario de la información.
Por último, una vez protegido el archivo, se anota el procedimiento en el registro del sistema.
Eliminación de la protección de un archivo (7)
Una vez que un usuario decide eliminar la protección sobre un archivo o archivo, según una de las realizaciones de la presente invención, se suceden las siguientes etapas:
1. Se verifica que el usuario es el propietario del recurso o que el administrador del sistema le ha dado permisos suficientes para modificar el esquema de permisos que se haya definido para el mismo (por ejemplo, en sistemas operativos de Microsoft, esto significa tener control total sobre el archivo).
2. Se registra en el registro de sistema, por ejemplo, “syslog” esta acción.
3. Se recuperan los contenidos del archivo que se va a liberar y se crea con ellos una nueva versión del archivo, en la que los metadatos asociados al sistema de archivos son coherentes con el esquema de permisos al que se mueve ahora el archivo y que estaban recogidos en los metadatos originales.
4. Se restaura, en el sistema de control de accesos del sistema operativo, el nivel de permisos que tenía el archivo inicialmente. En caso de que el archivo se haya creado directamente en la partición protegida, se le asigna un esquema de permisos por defecto en función del usuario que lo ha creado.
Apertura de un archivo (8)
Cada vez que, desde un procedimiento o desde un módulo del sistema operativo, se efectúe una petición de acceso a un archivo, se intercepta y analiza dicha petición para determinar si se refiere a un archivo protegido. Según una de las realizaciones de la invención, como se ha comentado anteriormente, los archivos pueden almacenarse en una partición segura de una unidad de almacenamiento del dispositivo electrónico, lo que facilita la implementación de la solución para identificar las peticiones de acceso a cualquier archivo almacenado en dicha partición protegida gracias a su ruta de acceso. En cualquier caso, según distintas realizaciones de la invención, la intercepción de la petición puede implementarse según diferentes enfoques, tales, como, por ejemplo, según una de dichas realizaciones, estableciendo un programa específico para la apertura de los archivos protegidos, que resuelve las diferentes capas que comprende la presente invención. Esta solución es poco invasiva en lo que respecta a la implementación sobre el sistema operativo, pero experimenta baja usabilidad. En cambio, otra alternativa contemplada en una realización diferente de la presente invención comprende sobrecargar las rutinas del sistema operativo para garantizar que se intercepten las llamadas al sistema. Esta solución dependerá del sistema operativo utilizado, pero ofrece un mayor nivel de transparencia para el usuario y, por tanto, mejora la usabilidad de la solución. Tanto en un caso como en el otro, la intercepción y el análisis son posibles una vez se ha instalado la solución en el sistema.
El procedimiento de análisis depende de la implementación de cada sistema operativo y de los sistemas de archivos que se estén utilizando en cada caso. Sin embargo, el objetivo en todos los casos es el de verificar si un archivo es accesible para un determinado nivel de protección, si el usuario, o el procedimiento con el que interactúa con el sistema, tienen permisos para acceder al archivo en el modo que está solicitando (lectura, escritura, etc.). En caso de que se determine que el usuario o procedimiento puedan acceder al archivo y se trata de un archivo que está en la partición protegida, según una realización de la invención, se suceden las siguientes etapas:
1. Generar un evento en el syslog para registrar el acceso por parte del usuario. Para ello, se utiliza la información almacenada en forma de metadatos originales.
2. Bloquear el archivo en la partición protegida. Esto se hace usando los mecanismos proporcionados por el sistema operativo, tales como, por ejemplo, definiendo un manipulador de archivo en exclusión mutua.
3. Generar una copia del archivo en una ubicación temporal del disco y crear un manipulador sobre él. Esta ubicación puede ser cualquier partición lógica que permita el sistema de archivos que tolere el sistema operativo, desde una carpeta a una partición lógica creada sobre el disco.
4. Asignar los permisos que hubiera definidos para el archivo protegido al archivo temporal.
5. Devolver el manipulador definido sobre el archivo temporal al usuario o procedimiento que realizó la petición de acceso.
Cierre de un archivo (9)
Este procedimiento abarca todas las rutinas del sistema operativo que permiten trasladar al sistema de archivos las modificaciones sobre los archivos realizadas en la memoria del sistema. La invención descrita en el presente documento contempla la intercepción de todas estas rutinas. De nuevo, el mecanismo de intercepción depende de cada sistema operativo y sistemas de archivos. Sin embargo, con independencia de este mecanismo, una vez que la petición de modificación o cierre de archivo es interceptada, por ejemplo, comprobando que el archivo está ubicado en una partición protegida, la presente invención, según una de las realizaciones, contempla verificar si el usuario/procedimiento tiene privilegios para poder modificar el contenido de este recurso. En caso de que el usuario disponga de privilegios suficientes, se analiza (10) si los cambios producidos sobre el archivo, en comparación con el original aún almacenado y bloqueado en la partición protegida, pueden suponer el cifrado no deseado de los contenidos. Existen múltiples estrategias para realizar este análisis, tales como, por ejemplo, según una de las realizaciones de la invención, basándose en la evaluación de la entropía. No obstante, cualquier otra técnica de análisis puede ser igualmente válida, siempre que pueda complementar los resultados que se obtienen con la mencionada.
Si el resultado de este análisis es negativo y los cambios que se han producido en el archivo no pueden corresponder a un sistema de cifrado, entonces se procede a sobrescribir el archivo en la partición protegida con las modificaciones registradas en el archivo temporal. Una vez completada la modificación:
1. Se genera un evento correspondiente en el syslog para reflejar que el usuario en cuestión, usando un procedimiento determinado, ha sobrescrito el archivo.
2. Se libera el manipulador del archivo temporal.
3. Se elimina el archivo temporal.
4. Se libera el archivo de la partición protegida.
5. Si el resultado de este análisis concluye que es probable que el contenido del archivo esté cifrado, entonces se interrumpe el procedimiento de modificación/escritura, hasta el momento transparente al usuario, y se solicita una confirmación explícita para continuar con la escritura en el disco. En caso de obtenerse dicha confirmación se procedería según las etapas descritas en el punto 3. Si no se obtiene una confirmación, se etiqueta el usuario/procedimiento de sospechoso y se dispara una alarma para reclamar la intervención del usuario legítimo.

Claims (11)

REIVINDICACIONES
1. Un procedimiento para proteger un archivo informático, almacenado en un dispositivo electrónico gestionado por un sistema operativo, ante un posible cifrado realizado por código malicioso, en el que el procedimiento comprende las siguientes etapas realizadas por el dispositivo electrónico:
a) detectar una petición de acceso al archivo informático realizada por un usuario o un procedimiento informático del sistema operativo;
b) copiar el archivo informático en una carpeta temporal de una unidad de memoria del dispositivo electrónico, en el que la copia del archivo informático en una carpeta temporal comprende la creación de un manipulador para la copia del archivo informático y el envío de dicho manipulador al usuario o procedimiento informático que realizó la petición de acceso;
c) asignar al archivo informático un nivel de acceso directo de máxima seguridad, según el sistema operativo, denegando, de ese modo, el acceso directo al archivo informático para todos los usuarios y procedimientos, excepto aquellos con los máximos privilegios;
d) realizar modificaciones hechas por el usuario o el procedimiento informático sobre la copia del archivo informático;
e) en caso de modificación de archivos, comprobar, en un módulo de verificación, si las modificaciones implican un cifrado de la copia del archivo informático;
f) si, tras la comprobación de la etapa e), se determina que las modificaciones no implican el cifrado de la copia del archivo informático, realizar las mismas modificaciones en el archivo informático;
g) si, tras la comprobación de la etapa e), se determina que las modificaciones sí implican el cifrado de la copia del archivo informático, generar una alarma para el usuario, a través de una interfaz del dispositivo electrónico;
en el que el procedimiento comprende, además, registrar cualquier acción que afecte al archivo informático en un registro del sistema operativo.
2. El procedimiento según la reivindicación 1, que comprende, además, almacenar el archivo informático en una partición segura de una unidad de almacenamiento del dispositivo electrónico.
3. El procedimiento según cualquiera de las reivindicaciones anteriores, en el que la copia del archivo informático en una carpeta temporal comprende, además, asignar a dicha copia unos metadatos originales con información sobre el propio archivo informático y el usuario o procedimiento que realizó la petición de acceso.
4. El procedimiento según la reivindicación 3, que comprende, además, vincular unos metadatos sintéticos con los metadatos originales asignados a la copia del archivo informático, en el que dichos metadatos sintéticos registran cualquier actividad realizada en el archivo informático.
5. El procedimiento según cualquiera de las reivindicaciones anteriores, que comprende, además, verificar, en un módulo vigilante, la identidad del usuario o el procedimiento informático que realizó la petición de acceso.
6. El procedimiento según cualquiera de las reivindicaciones anteriores, que, después de la generación de una alarma, comprende, además, una interacción del usuario con la interfaz del dispositivo electrónico para confirmar que las modificaciones realizadas en la copia del archivo informático se han de realizar en el archivo informático original.
7. El procedimiento según cualquiera de las reivindicaciones anteriores, que comprende, además, una vez han finalizado las modificaciones en la copia del archivo informático, borrar el archivo temporal y restablecer el archivo informático original.
8. Un sistema para proteger un archivo informático ante un posible cifrado realizado por código malicioso, que comprende:
- un dispositivo electrónico gestionado por un sistema operativo que está configurado para almacenar el archivo informático;
- un módulo de verificación configurado para, en caso de modificación de archivos, comprobar si unas modificaciones realizadas sobre la copia del archivo informático, por parte de un usuario o de un procedimiento informático, implican un cifrado de la copia del archivo informático;
- un procesador configurado para realizar las siguientes etapas: detectar una petición de acceso al archivo por parte del usuario o del procedimiento informático del sistema operativo; copiar el archivo informático en una carpeta temporal de una unidad de memoria del dispositivo electrónico, en el que la copia del archivo informático en una carpeta temporal comprende la creación de un manipulador para la copia del archivo informático y el envío de dicho manipulador al usuario o procedimiento que realizó la petición de acceso; asignar al archivo informático un nivel de acceso directo de máxima seguridad, según el sistema operativo, denegando, de ese modo, el acceso directo al archivo informático para todos los usuarios y procedimientos, excepto aquellos con los máximos privilegios; registrar cualquier acción que afecte al archivo informático en un registro del sistema operativo; y, en función de la comprobación del módulo de verificación: si se determina que las modificaciones no implican el cifrado de la copia del archivo informático, realizar las mismas modificaciones en el archivo informático; si se determina que las modificaciones sí implican el cifrado de la copia del archivo informático, generar una alarma para el usuario, a través de una interfaz del dispositivo electrónico.
9. El sistema según la reivindicación 8, en el que el módulo de verificación está configurado para evaluar la entropía del archivo informático.
10. El sistema según cualquiera de las reivindicaciones 8-9, que comprende, además, un módulo vigilante configurado para verificar la identidad del usuario o procedimiento informático que realizó la petición de acceso.
11. Un programa informático caracterizado porque comprende medios de código de programa adaptados para realizar las etapas del procedimiento según cualquiera de las reivindicaciones 1 a 7, cuando dicho programa se ejecuta en un procesador de propósito general, un procesador de señal digital, una FPGA, un ASIC, un microprocesador, un microcontrolador o cualquier otra forma de hardware programable.
ES16896655T 2016-04-01 2016-04-01 Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso Active ES2951417T3 (es)

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 (1)

Publication Number Publication Date
ES2951417T3 true ES2951417T3 (es) 2023-10-20

Family

ID=59963564

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16896655T Active ES2951417T3 (es) 2016-04-01 2016-04-01 Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso

Country Status (4)

Country Link
US (1) US20190114439A1 (es)
EP (1) EP3438864B1 (es)
ES (1) ES2951417T3 (es)
WO (1) WO2017168016A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647509A (zh) * 2018-05-11 2018-10-12 北京北信源信息安全技术有限公司 一种防止敏感文件泄露的方法及装置
CN113672997B (zh) * 2021-10-21 2022-02-22 统信软件技术有限公司 一种文件保护方法、计算设备及存储介质
CN115168908B (zh) * 2022-09-05 2022-12-06 深圳市科力锐科技有限公司 文件保护方法、装置、设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162591A1 (en) * 2005-03-10 2008-07-03 Hewlett-Packard Development Company, L.P. Method of Logging Transactions and a Method of Reversing a Transaction
US20070220068A1 (en) * 2006-02-15 2007-09-20 Bruce Thompson Electronic document and business process control
EP2122900A4 (en) * 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
JP4909124B2 (ja) * 2007-03-02 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8656386B1 (en) * 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
US8225394B2 (en) * 2007-04-13 2012-07-17 Ca, Inc. Method and system for detecting malware using a secure operating system mode
US8918878B2 (en) * 2011-09-13 2014-12-23 F-Secure Corporation Restoration of file damage caused by malware
US9805054B2 (en) * 2011-11-14 2017-10-31 Panzura, Inc. Managing a global namespace for a distributed filesystem
US9152811B2 (en) * 2012-03-12 2015-10-06 International Business Machines Corporation Transparent real-time access to encrypted non-relational data
CN107977573B (zh) * 2012-10-19 2021-10-01 迈克菲有限公司 用于安全的盘访问控制的方法和系统
GB2517483B (en) * 2013-08-22 2015-07-22 F Secure Corp Detecting file encrypting malware
US9632713B2 (en) * 2014-12-03 2017-04-25 Commvault Systems, Inc. Secondary storage editor
CA2892064C (en) * 2015-05-21 2017-01-03 James Mcalear Method and apparatus for protecting computer files from cpu resident malware
RU2617631C2 (ru) * 2015-09-30 2017-04-25 Акционерное общество "Лаборатория Касперского" Способ обнаружения работы вредоносной программы, запущенной с клиента, на сервере

Also Published As

Publication number Publication date
WO2017168016A1 (es) 2017-10-05
EP3438864B1 (en) 2023-05-10
EP3438864A1 (en) 2019-02-06
EP3438864A4 (en) 2019-08-07
US20190114439A1 (en) 2019-04-18
BR112018070251A2 (pt) 2019-01-29

Similar Documents

Publication Publication Date Title
US11528142B2 (en) Methods, systems and computer program products for data protection by policing processes accessing encrypted data
US7712135B2 (en) Pre-emptive anti-virus protection of computing systems
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
KR101373542B1 (ko) 가상화 기반 논리적 망 분리 기법을 이용한 개인정보 보호 시스템
US20230035007A1 (en) Trusted cyber physical system
AU2019206085B2 (en) Inoculator and antibody for computer security
US10956569B2 (en) Proactive ransomware defense
US20240031384A1 (en) Anti-phishing system
ES2951417T3 (es) Procedimiento y sistema para proteger un archivo informático ante un posible cifrado de software malicioso
Zhao et al. TEE-aided write protection against privileged data tampering
Ahn et al. DiskShield: a data tamper-resistant storage for Intel SGX
US7487548B1 (en) Granular access control method and system
Siddiqui et al. Hardware based protection against malwares by PUF based access control mechanism
JP4444604B2 (ja) アクセス制御装置ならびにそのプログラム
Michalska et al. Security risks and their prevention capabilities in mobile application development
CN114912138A (zh) 使用硬件安全等级的安全计算的体系结构、系统及其方法
BR112018070251B1 (pt) Método e sistema para proteger um arquivo de informática de uma eventual cifragem realizada por código malicioso
KR102623168B1 (ko) 데이터 보호 시스템
KR101418272B1 (ko) 휴대용 컴퓨팅 단말의 시스템 자원 보안 장치 및 보안 방법
Madsen An operating system analog to the perl data tainting functionality
Wurster et al. System configuration as a privilege