¿Qué es la criptovirología?

La criptovirología es el estudio del uso de la criptografía en la producción de software malicioso.

En una explicación algo más extensa, poríamos decir que la criptovirología es, la investigación sobre cómo se pueden utilizar los paradigmas y herramientas criptográficos modernos para fortalecer, mejorar y desarrollar nuevos ataques de software malicioso o malware.

Los ataques de criptovirología se han diseñado para diversos casos de uso, entre los que vamos a poder encontrar las diferentes situaciones:

  • Brindar la privacidad mejorada al malware y ser más robustos contra la ingeniería inversa.
  • Brindar al atacante un mayor anonimato cuando se comunica con el malware implementado.
  • Mejorar la capacidad para robar datos.
  • Mejorar la capacidad de llevar a cabo extorsiones.
  • Habilitar nuevos tipos de denegación de servicio.
  • Habilitar la tolerancia a fallas en ataques criptovirales distribuidos.

La criptografía se ha utilizado tradicionalmente con fines defensivos

.

Los cifrados se defienden de un fisgón pasivo.
Las infraestructuras de clave pública se defienden contra un ataque por un “man in the middle”.
Los algoritmos de firma digital se defienden contra un falsificador.
Los sistemas de efectivo electrónico se defienden contra un falsificador y así sucesivamente.

La criptovirología se extiende más allá de encontrar fallas de protocolo y diseñar vulnerabilidades, es una disciplina de ingeniería avanzada que se puede utilizar para atacar en lugar de defender.


Malware: Ransomware (Capítulo 9)
Malware: ¿Qué es el software espía? Como por ejemplo: La aplicación Pegasus (Capítulo 8)


¿Por qué debería estudiar la criptovirología?

Aparentemente, la criptovirología solamente ayuda a los creadores de virus, ¿Entonces por qué deberíamos estudiarla?

Un criptovirólogo ataca un sistema informático o una red en el mismo sentido que un criptoanalista ataca un criptosistema.

Del mismo modo que no debemos dejar de intentar anticiparnos a lo que podrían hacer los atacantes una vez que ingresen a nuestras computadoras, no debemos de dejar de estudiar la criptovirología.

La justificación para investigar la criptovirología se deriva de la frase proverbial “Se necesita un ladrón para atrapar a un ladrón” (de mediados del siglo XVII).

La idea es que los ladrones son los expertos cuando se trata de robar y ellos sabrían mejor sobre cómo atrapar a otros ladrones.

La criptovirología es una anticipación proactiva del próximo movimiento del oponente y que nos sugiere que se deben desarrollar y poner en práctica ciertas salvaguardas.

¿Qué es un criptovirus?

En seguridad informática, un criptovirus se define como un virus informático que contiene y usa una clave pública, por lo general, la clave pública pertenece al autor del virus.

Por ejemplo, un virus o gusano puede generar y utilizar su propio par de claves en tiempo de ejecución.

Los criptovirus pueden utilizar el intercambio secreto para ocultar información.

Los criptotroyanos y los gusanos criptográficos son lo mismo que los criptovirus, a excepción de que son caballos de Troya y gusanos.

Debes tener en cuenta que según la definición anterior: Un virus que utiliza una clave simétrica y no una clave pública no es un criptovirus (esto es particularmente relevante en el caso de los virus polimórficos).

¿Qué es la extorsión criptoviral?

La extorsión criptoviral es un protocolo de tres fases que lleva a cabo un atacante contra una víctima que utiliza la criptografía de clave pública en un ataque de denegación de recursos.

El ataque se lleva a cabo a través de un criptovirus que utiliza un criptosistema híbrido para cifrar los datos del host mientras borra o sobrescribe los datos originales en el proceso.

El protocolo es el siguiente:

Fase 1: Atacante → Víctima

El atacante genera un par de claves y coloca la clave pública correspondiente en el malware. Se lanza el malware.

Fase 2: Víctima → Atacante

Para llevar a cabo el ataque de extorsión criptoviral, el malware genera una clave simétrica aleatoria y encripta los datos de la víctima con ella.

Utiliza la clave pública del malware para cifrar la clave simétrica.

Esto se conoce como cifrado híbrido y da como resultado un pequeño texto cifrado asimétrico, así como el texto cifrado simétrico de los datos de la víctima.

Pone a cero la clave simétrica y los datos de texto sin formato originales para evitar la recuperación.

Entonces envía un mensaje al usuario que incluye el texto cifrado asimétrico y cómo pagar el rescate. La víctima envía el texto cifrado asimétrico y el dinero electrónico al atacante.

Fase 3: Atacante → Víctima

El atacante recibe el pago, descifra el texto cifrado asimétrico con la clave privada del atacante y envía la clave simétrica a la víctima.

La víctima descifra los datos cifrados con la clave simétrica necesaria, completando así el ataque de criptovirología. La clave simétrica se genera aleatoriamente y no ayudará a otras víctimas.

En ningún momento la clave privada del atacante está expuesta a las víctimas y la víctima solo necesita enviar un texto cifrado muy pequeño (la clave de cifrado simétrico cifrada) al atacante.

Fase previa de configuración del protocolo

El autor del virus genera un par de claves asimétricas en una tarjeta inteligente y la clave pública se coloca dentro del virus.

La clave privada se designa como “no exportable” para que ni siquiera el autor del virus pueda obtener su representación de bits.

Por lo tanto, la clave privada se genera, almacena y utiliza en la tarjeta inteligente.

Idealmente, la tarjeta inteligente implementará seguridad de dos factores: Algo que el autor del virus sepa (un número PIN) y algo que tenga el creador del virus (la tarjeta inteligente que contiene la clave privada).

Además, la tarjeta idealmente será inmune al análisis de potencia diferencial, ataques de tiempo, etc. para evitar que el autor del virus conozca los bits de la clave privada.

Se puede utilizar un enfoque basado en estándares, p. ej. El uso de un dispositivo FIPS 140-2 de nivel 2 o superior aprobado, p. Ej., cuando está en el nivel 4, la clave privada se destruirá si se rompe la carcasa).

En los EE. UU. el autor del virus no puede ser obligado a testificar contra sí mismo (Quinta Enmienda) por lo que el PIN puede permanecer confidencial.

El propósito de esta fase de configuración es limitar la efectividad de la incautación y el análisis de la tarjeta inteligente bajo citación o orden judicial (evidencia competente).

Fase de seguridad

El ataque es ineficaz si los datos se pueden recuperar de las copias de seguridad. Los expertos en antivirales no pueden recuperar la clave de descifrado privada analizando el virus, ya que solo se encontrará la clave pública.

La importancia de utilizar cifrado híbrido se puede ver en el siguiente argumento. Suponga que no se utilizó una tarjeta inteligente y se realizó el cifrado asimétrico utilizando el modo de libro de códigos electrónico (ECB).

De ello se deduce que si la clave privada se revela a una víctima, esa víctima podría dar la clave privada a otras.

En este caso, el autor del virus no puede pretender victimizar a muchas personas (tal vez incluso a una sola).

La alternativa sería que el autor del virus exigiera todo el texto cifrado del BCE de los datos que se retuvieron como rescate para poder descifrarlos sin revelar la clave de descifrado privada.

Sin embargo, esto es inaceptable por dos razones.

En primer lugar, el archivo podría ser enorme y, por lo tanto, dificultar la transmisión.

En segundo lugar, muchas víctimas pueden negarse a cooperar, ya que revelaría al autor del virus los datos que se retuvieron como rescate (violación de la privacidad). Esto hace que el uso de cifrado híbrido (no solo cifrado de clave pública) sea esencial.

Una pregunta que se suele hacer con respecto a la extorsión criptoviral es la siguiente, ¿Cómo podría un extorsionador esperar recibir un pago?

El efectivo electrónico verdaderamente anónimo (que algún día puede ser acuñado en el extranjero) podría proporcionar un medio seguro para el rescate.

Mezclar redes es también una infraestructura crítica para permitir que el extorsionista mantenga su anonimato.

Además, el extorsionista podría buscar información que se encuentre en la máquina host en lugar de dinero.

En este caso, es posible que el malware cifre asimétricamente lo siguiente: hash criptográfico de los datos deseados concatenados con la clave simétrica generada aleatoriamente.

Esto haría que la clave simétrica no se pudiera recuperar sin revelar el hash correcto.

Esto conduce a una consideración importante para las organizaciones que dependen en gran medida de la tecnología de la información. Es importante poder estimar el valor de un exploit para un ladrón externo.

Se ha propuesto un modelo para hacer exactamente esto, y una organización puede usarlo para medir su atractivo para los ladrones externos.

El documento introduce la noción de modelado de amenazas económicas y señala que un ataque de extorsión criptoviral puede permitir que un ladrón se beneficie sin tomar nada.

¿Qué es un criptosistema de caja negra?

La criptovirología se basa en gran medida en la noción de un criptosistema de “caja negra” cuando se trata de desarrollar ataques de malware comprobablemente seguros contra criptosistemas.

Un criptosistema de caja negra es tanto una abstracción teórica como una realidad cotidiana común.

En resumen, un criptosistema de caja negra es un criptosistema que se implementa de tal manera que la implementación subyacente (código fuente o circuitos) no puede ser examinada.

Un criptosistema de caja negra tiene una especificación de E/S pública y se divulga su funcionalidad general (aunque la verdadera funcionalidad podría diferir).

Entonces, por definición, un criptosistema de caja negra solo puede usarse sin verificar la exactitud de su implementación.

Una tarjeta inteligente es un criptosistema de caja negra a menos que el usuario la desensamble, verifique los circuitos y los datos que residen en la memoria y luego los vuelva a ensamblar.

De manera similar, un criptosistema que se implementa en software es un criptosistema de caja negra a menos que su código sea desmontado y verificado.

Ten en cuenta que esta definición establece que se debe verificar la implementación en cuestión, no la especificación de diseño para toda la línea de productos.

Un fabricante puede vender miles de criptosistemas y poner una puerta trasera en solo uno de ellos.

Millones de personas usan criptosistemas de caja negra todos los días. Cuando se compra un artículo en línea, a menudo se utiliza la capa de conexión segura (SSL).

Cuando un usuario no verifica la implementación de SSL, SSL es un criptosistema de caja negra. La mayoría de los usos de la criptografía son así.

¿Qué es un canal subliminal?

Muchos ataques cleptográficos se basan en la noción de canal subliminal.

El término canal subliminal se refiere a un canal de transmisión de información que puede usarse para enviar información desde (o potencialmente hacia) un criptosistema.

Un canal subliminal es un tipo de canal encubierto. Sin embargo, los canales encubiertos tienen un alcance más amplio ya que no son específicos de los criptosistemas.

Un ejemplo concreto será de gran ayuda para explicar qué es un canal encubierto. Suponga que Alice y Bob están conectados a una computadora que ejecuta un sistema operativo multiusuario.

En un sistema operativo seguro que se puede utilizar para aplicaciones sensibles (por ejemplo, militares), no debería ser posible que un proceso que Alice está ejecutando transmita información de forma encubierta a un proceso que Bob está ejecutando.

Pero, supongamos que hay una impresora conectada a esta máquina.

Cada proceso puede realizar una llamada al sistema operativo para imprimir datos. Esta llamada devolverá un código de resultado que indica éxito o fracaso.

El código de resultado también indicará si la impresora está ocupada imprimiendo un documento.

El proceso de Alice puede utilizar un protocolo de comunicación especial para hablar con un proceso que Bob está ejecutando.

Por ejemplo, imprimir dos documentos cortos con una breve pausa entre ellos podría corresponder a un “1” binario e imprimir un documento podría ser un “0” binario.

El proceso de Bob llama a la rutina del sistema operativo en una forma de espera ocupada para recibir bits del proceso de Alice. Este no es un canal subliminal, pero es un canal encubierto.

Los canales subliminales se caracterizan por: su incapacidad para ser detectados cuando están en uso, su incapacidad para leer incluso cuando se asume que están en uso y su capacidad de canal inherente, o ancho de banda.

Sin embargo, el código que transmite información a través de un canal subliminal es fácilmente identificable por los criptógrafos cuando inspeccionan el código. Por lo tanto, ese atacante debe asegurarse de que los canales subliminales solo se utilicen en criptosistemas de caja negra.

Gus Simmons investigó los canales subliminales mientras evaluaba la seguridad de un protocolo de verificación del control de armas nucleares. Luego extendió la noción a otros escenarios. El uso clásico de un canal subliminal está en el problema de los presos.

En el problema de los prisioneros, dos prisioneros pueden comunicarse entre sí, pero no pueden enviarse mensajes cifrados entre sí.

Solo se les permite intercambiar claves públicas y firmar digitalmente sus mensajes.

El problema es idear una forma, utilizando el algoritmo de firma digital en cuestión, para que los dos presos se comuniquen en secreto entre sí a través de firmas digitales de tal manera que el alcaide no pueda detectar ni leer los mensajes subliminales.

Las aplicaciones de los canales subliminales crecieron para abarcar también ataques internos contra tarjetas inteligentes. Se ha demostrado que existe un tipo muy general de canal subliminal que se basa en el problema de la residuosidad cuadrática.

El canal implica colocar un pequeño conjunto de números primos, que deben permanecer secretos, dentro de una tarjeta inteligente.

Se ha demostrado que este canal puede ser utilizado por un diseñador malintencionado para obtener de forma encubierta la clave de firma privada DSA del usuario de la tarjeta inteligente.

Ha habido esfuerzos por parte de la comunidad investigadora para tratar de eliminar los canales subliminales en ciertos algoritmos.

¿Qué es la cleptografía?

Un ataque cleptográfico es un ataque en el que un diseñador malintencionado despliega una puerta trasera asimétrica.

En un ataque cleptográfico, existe una distinción explícita entre la confidencialidad de los mensajes (por ejemplo, las claves privadas de los usuarios) y la conciencia de que el ataque se está produciendo.

Un ataque cleptográfico seguro es indetectable siempre que el criptosistema sea una caja negra.

Además, si se abre la caja negra, puede ser evidente que se está produciendo un ataque cleptográfico, pero se preserva la confidencialidad.

En otras palabras, un ataque cleptográfico es una asimétricapuerta trasera que solo puede utilizar el diseñador que lleva a cabo el ataque.

Este tema de investigación se llama Cleptografía: el estudio del robo de información de forma segura y subliminal. La cleptografía es una extensión natural de la teoría de los canales subliminales.

Antes de la llegada de las puertas traseras asimétricas, se llevó a cabo una investigación científica sobre las puertas traseras en los criptosistemas. Un artículo científico temprano sobre la construcción de una puerta trasera en la generación de claves RSA.

En retrospectiva, la construcción de Anderson es una puerta trasera simétrica , lo que significa que un ingeniero inverso exitoso podrá usar la puerta trasera. Posteriormente, la construcción de Anderson fue criptoanalizada.

Por el contrario, una puerta trasera cleptográfica es una puerta trasera asimétrica , lo que significa que un ingeniero inverso que gasta un esfuerzo considerable en romper la caja negra que alberga la puerta trasera todavía no puede usar la puerta trasera (en general, el ingeniero inverso encuentra la clave pública del atacante, no la clave de descifrado privada necesaria).

Los ataques cleptográficos a menudo utilizan canales subliminales para transmitir cosas como: claves de firma privadas, claves de descifrado privadas, claves simétricas, etc. fuera de un criptosistema (p. Ej., Tarjeta inteligente).

El requisito que tienen los ataques cleptográficos que superan los requisitos de un canal subliminal es la robustez frente a la ingeniería inversa . Un ataque cleptográfico solo es seguro si la confidencialidad de los mensajes subliminales se mantiene incluso después de abrir e inspeccionar la caja negra.

Esto debe ser válido para todos los mensajes transmitidos anteriormente, así como para los mensajes subliminales futuros que puedan enviarse. La criptografía asimétrica se utiliza para lograr este tipo de confidencialidad.

Es esta robustez adicional en la confidencialidad lo que hace que los ataques cleptográficos sean más atractivos para llevar a cabo en la práctica.

Un ejemplo será de gran ayuda para explicar qué es un ataque cleptográfico. Se ha demostrado un ataque cleptográfico contra un criptosistema RSA basado en software como PGP. En este ataque, las claves RSA no se generan normalmente.

Sin embargo, el módulo público n de RSA sigue siendo el producto de dos números primos py q. El módulo n se genera de manera que sus bits de orden superior constituyan efectivamente el cifrado asimétrico de un valor que permite factorizar n de manera eficiente.

Calcular tales compuestos n es posible usando un canal subliminal bien conocido en los productos de dos números primos.

El cifrado asimétrico se calcula utilizando la clave pública del atacante que está incrustada en el algoritmo de generación de claves RSA. Como resultado, una base de datos de claves públicas (es decir,

La novedad de este ataque cleptográfico es la siguiente. Se puede implementar en software en un solo programa binario (que puede estar firmado en código) de modo que todos obtengan la misma copia.

Los pares de claves que genera el programa no revelan que se está produciendo un ataque cleptográfico (parecen ser normales). Si un ingeniero inverso examina el código de generación de claves, sabrá que se está produciendo un ataque cleptográfico.

Sin embargo, el ingeniero inverso todavía no tendrá suerte para aprender la clave privada de cualquiera que use el binario.

¿Qué algoritmos criptográficos sucumben a los ataques cleptográficos?

Los ataques cleptográficos se han diseñado para algoritmos de generación de claves basados ​​en factorización.

Estos ataques filtran la clave privada de forma segura y subliminal a través de la propia clave pública. Esto puede afectar potencialmente cualquier implementación de RSA, Rabin, Goldwasser-Micali, Paillier, etc.

Se han diseñado ataques cleptográficos para intercambios de claves y también se han diseñado para algoritmos de firma digital. Estos incluyen ElGamal, Schnorr, DSA, Pointcheval-Stern y otros.

Existe una forma general de atacar cualquier criptosistema que muestre una exponenciación modular en su salida cuando el exponente se elige al azar.

Los ataques cleptográficos también funcionan contra criptosistemas de curva elíptica. En [YY04] se ofrece una lista más completa del trabajo en esta área.

¿Cómo se relacionan la criptovirología y la cleptografía?

Un ataque cleptográfico se lleva a cabo mediante la construcción de una implementación maliciosa de un criptosistema de caja negra.

La implementación maliciosa está diseñada para tener las mismas especificaciones de E/S que el criptosistema implementado correctamente, pero filtra de forma segura y subliminal información privada al atacante.

La cleptografía surgió de la noción de un criptovirus y la comprensión de que los criptotroyanos podían utilizar canales subliminales para transmitir de forma encubierta datos del host al atacante, datos que se han cifrado asimétricamente utilizando la clave pública del atacante.

El código que lleva a cabo un ataque cleptográfico es, por tanto, un software malicioso que contiene y utiliza la clave pública del atacante.

En otras palabras, el código que realiza un ataque cleptográfico es un criptotroyano.

Entonces, desde la perspectiva de la criptovirología, la cleptografía se puede considerar como el estudio de los criptotroyanos que solo infectan a los huéspedes que son criptosistemas.

¿Por qué debería preocuparme por la criptovirología?

Si tienes información confidencial en tu computadora, tu computadora está conectada a Internet y no ha analizado el código de los programas que ejecuta, entonces la criptovirología podría afectarlo.

Si esto es cierto en la empresa para la que trabaja, la criptovirología podría afectarlo. Si compra artículos “de forma segura” en línea, también podría verse afectado.

Los ataques de malware avanzado son un problema de seguridad general que puede afectar negativamente la vida de muchas personas.

El impacto potencial de la criptovirología es especialmente agudo cuando se trata del uso de tarjetas inteligentes.

En el futuro, la clave privada que genera y usa un ejecutivo (u oficial militar) puede verse comprometida y el ejecutivo puede tener que resolver un problema causado por algo que él o ella desconocía por completo.

De manera similar, los contratos firmados utilizando la clave privada de un ejecutivo pueden tener que ser litigados cuando el ejecutivo los desautoriza y afirma que su clave privada se vio comprometida (por ejemplo, por un ataque cleptográfico).

La única forma de demostrar que no se produjo un ataque cleptográfico es aplicar ingeniería inversa al dispositivo en cuestión.. Es probable que esto requiera mucho tiempo y dinero.

La cleptografía tiene el potencial de causar daños graves en estas situaciones, y es probable que la recompensa potencial de incrustar puertas traseras cleptográficas aumente con el tiempo.

Para empeorar las cosas, ha habido una tendencia reciente hacia el desarrollo de productos comerciales listos para usar (COTS) en el extranjero.

Esto puede afectar la probabilidad de que haya puertas traseras en el software y hardware que se utiliza en el país.

¿Qué es un estándar “FIPS”?

FIPS significa “Estándar federal de procesamiento de información”. Los estándares FIPS se publican en FIPS PUBS . Estos estándares y pautas son emitidos por NIST para su uso por el gobierno de EE. UU.

El NIST desarrolla FIPS cuando existen requisitos obligatorios del gobierno federal para la seguridad y la interoperabilidad y no existen estándares o soluciones aceptables de la industria para estos requisitos.

De particular relevancia para la criptovirología es el estándar FIPS 140-2 titulado “Requisitos de seguridad para módulos criptográficos” FIPS140 y sus anexos.

Los anexos emplean el estándar FIPS 186-2 titulado “Estándar de firma digital (DSS)” para aspectos como la generación de claves.

En conjunto, estos estándares dictan cosas como: requisitos de seguridad física, RNG aprobados, algoritmos de generación de claves aprobados, puesta a cero de claves, pruebas estadísticas de aleatoriedad, interferencia electromagnética y problemas de radiación, etc.

Estos estándares son relevantes para la criptovirología, ya que las empresas dependen en gran medida de ellos para la seguridad y privacidad de la información.

Las empresas a menudo consideran que una tarjeta inteligente es segura si y solo si tiene la certificación FIPS 140-2. Por lo tanto, estos estándares probablemente deberían mejorarse para mitigar la amenaza de ataques cleptográficos.

Algunos enfoques para hacerlo se abordan en la pregunta de las preguntas frecuentes, “¿Qué se está haciendo para mitigar la amenaza de la cleptografía?”.

Además, hay otros ataques que deben tenerse en cuenta, como los ataques de tiempo y el análisis de potencia diferencial.

¿FIPS, PKCS y otros estándares no previenen los ataques cleptográficos?

FIPS 140, sus anexos y FIPS 186 no abordan la amenaza de ataques cleptográficos. Los estándares PKCS tampoco abordan estas amenazas.

En otras palabras, no incorporan ni intentan incorporar algoritmos existentes que puedan usarse para ayudar a minimizar la amenaza de canales subliminales y ataques cleptográficos.

Sin embargo, incluso si lo hicieran, el problema estaría lejos de resolverse. Supongamos que un protocolo libre de subliminales demostrablemente seguro entre Alice y Bob se “usa” como defensa.

El hecho de que la especificación sea segura no significa necesariamente que la implementación que está en manos de Alice y Bob coincida con la especificación.

Es posible insertar una puerta trasera en algunos, pero no en todos, los dispositivos que se producen.

Para intentar implementar una caja negra criptográfica verificable, se puede intentar separar el dispositivo que produce aleatoriedad del algoritmo determinista que lo usa.

De esta forma, los usuarios pueden intentar verificar la exactitud de la parte determinista del algoritmo criptográfico.

Sin embargo, el dispositivo de generación de claves determinista puede tener un generador de números aleatorios secreto (que está oculto en los circuitos, por ejemplo) que utiliza en una invocación determinada con probabilidad polinomial inversa.

Por lo tanto, el generador de claves determinista resultante puede ser de hecho un algoritmo probabilístico de tiempo múltiple que se comporta mal con poca frecuencia.

Entonces se convierte en un juego para que el fabricante vea cuántas invocaciones del algoritmo criptográfico puede comprometer sin ser detectado. Es un juego porque detectar el ataque equivale a elegir un polinomio lo suficientemente grande para representar el número de valores de salida que se analizan.

El fabricante siempre puede elegir un polinomio más grande para su probabilidad de ataque de polinomio inverso. Esto sugiere la necesidad de revisar continuamente la caja negra en busca de malas conductas.

¿No puedo confiar en mi tarjeta inteligente certificada FIPS 140-2?

Puede confiar en su tarjeta inteligente certificada FIPS 140-2 si y solo si confía en que el fabricante no colocó una puerta trasera en ella. El fabricante podría haber colocado una puerta trasera y tener acceso a cada clave privada que genere en su tarjeta.

Sin embargo, existen técnicas que pueden utilizarse para alterar esta relación de confianza.

Por ejemplo, al cifrar un texto sin formato con varias claves públicas que tienen las correspondientes claves privadas generadas, almacenadas y utilizadas en varias tarjetas inteligentes fabricadas de forma independiente, ningún fabricante podrá acceder a los datos.

Esto, por supuesto, supone que los fabricantes no están en connivencia. Este enfoque se denomina cifrados en cascada y constituye una forma de intercambio secreto.

¿No puedo confiar en el software de código abierto?

El software de código abierto es cualquier software en el que el código fuente está disponible para que los usuarios lo vean, modifiquen y compilen (en realidad, esta definición pasa por alto varios problemas de licencia que no se tratan aquí).

Existen sistemas operativos de código abierto, compiladores, bibliotecas criptográficas, etc. Una ventaja del código abierto es que se puede analizar la fuente para detectar la presencia de puertas traseras y otros códigos maliciosos.

A continuación, se puede compilar el código y utilizar el programa resultante. Sin embargo, si hay una puerta trasera en el compilador y luego una puerta trasera puede terminar en el programa que se genera.

Ken Thompson describió un troyano insidioso que inserta una puerta trasera en un programa de inicio de sesión cada vez que se compila el programa de inicio de sesión. El troyano también se reintroduce en el compilador en caso de que se vuelva a compilar.

Por lo tanto, a menos que haya analizado el compilador que utiliza para compilar software de código abierto para malware, es posible que, no obstante, el malware termine en el programa recién compilado.

Se puede incorporar una funcionalidad de puerta trasera similar en la unidad central de procesamiento (CPU).

Por ejemplo, cada vez que ocurre una determinada secuencia de instrucciones o cuando existen ciertos valores en los registros de la máquina, la CPU puede actuar de una manera completamente deshonesta e inesperada.

Entonces, la respuesta corta a esta pregunta es que sí, puede confiar en el software de código abierto si confía en que el revisor del código es competente. Sin embargo, esto por sí solo no implica que deba confiar en una versión compilada del software de código abierto.

¿Qué se está haciendo para mitigar la amenaza de la cleptografía?

Existe una larga línea de investigación orientada a eliminar los canales subliminales. Al eliminar los canales subliminales, la capacidad de llevar a cabo ataques cleptográficos se ve enormemente obstaculizada.

Gus Simmons introdujo la idea de utilizar un protocolo que implica la aleatorización para destruir los canales subliminales.

Para destruir un canal subliminal en particular que fue identificado, Simmons hace que el alcaide (en el problema de los prisioneros) genere un número aleatorio x y modifique el mensaje que se envía de un prisionero al otro prisionero usando x.

Esto muestra la naturaleza dual de la aleatorización; puede allanar el camino para las comunicaciones subliminales, pero al mismo tiempo se puede utilizar en protocolos cuidadosamente elaborados para eliminar virtualmente la existencia de canales subliminales.

Para conocer otros resultados iniciales que utilizan la aleatorización para eliminar los canales subliminales. También existen métodos concretos para protegerse contra ataques cleptográficos en particular.

La naturaleza de estas soluciones varía mucho. Por ejemplo, algunos son protocolos que involucran a un verificador externo que verifica que no se estén produciendo ataques cleptográficos.

Algunos son algoritmos heurísticos independientes, mientras que otras soluciones implican distribuir la confianza mediante el uso de múltiples tarjetas inteligentes diseñadas de forma independiente.

Esto explica los esfuerzos de la comunidad investigadora para mitigar las amenazas de los canales subliminales y la cleptografía. Sin embargo, ¿Qué está sucediendo en la práctica?

Desafortunadamente, no se ha prestado mucha atención a este tema. Parte del propósito de estas preguntas frecuentes es crear conciencia sobre estas amenazas, lo que lleva a más investigación, estándares más sólidos y una auditoría y uso cuidadosos de los criptosistemas.

¿Existe una panacea para los criptovirus?

No existe una panacea para los ataques de criptovirus. Los criptovirus atacan los sistemas informáticos utilizando las mismas herramientas que se utilizan para proteger los sistemas informáticos.

Entonces, una debilidad en el diseño de un criptovirus seguro implica una debilidad en un cifrado de bloque, cifrado de flujo, criptosistema asimétrico, etc.

La mejor defensa es: Verificar la autenticidad de todos los programas que ejecuta, proteger su máquina de la infiltración, utilizar herramientas antivirales existentes, ser diligente en el archivo de datos, etc.

¿Existe una panacea para la cleptografía?

Existen algoritmos y protocolos que podrían reducir en gran medida las amenazas de ciertos canales subliminales y ataques cleptográficos.

No es seguro decir que estos han alcanzado el estatus de “panacea” pero ciertamente son medidas sólidas que podrían tomarse.

Aún no se han adoptado en los estándares de la industria y mucho menos en los estándares de facto de la industria. Por su propia naturaleza, los ataques cleptográficos están diseñados para no ser encontrados.

Combina esto con el hábito que tienen las organizaciones de encubrir los ataques para evitar la vergüenza y tendrás un problema que podría estar acechando entre bastidores durante mucho tiempo.

¿Puede un virus polimórfico ser un criptovirus?

Ciertamente. Si un virus polimórfico contiene y usa una clave pública, entonces es un criptovirus.

Un virus polimórfico generalmente contiene y usa una clave simétrica con el propósito de ofuscar y de-ofuscar su propio código.

Entonces, si esta es la única clave criptográfica que utiliza, entonces no es un criptovirus.

En experimentos de laboratorio, Fred Cohen produjo virus que no tenían secuencias comunes de más de tres bytes entre cada generación subsiguiente mediante el uso de cifrado.

Estos virus se denominan virus polimórficos, también conocidos como virus evolutivos.

Han aparecido numerosos virus polimórficos en la naturaleza, por ejemplo, el virus Tremor es un virus polimórfico que tiene casi 6.000.000.000 de formas diferentes.

Los virus polimórficos a menudo descifran y luego envían el control a la parte principal de su código, denominada cuerpo del virus, en tiempo de ejecución.

Pueden generar nuevas claves periódicamente y producir nuevos textos cifrados de sus cuerpos para dificultar la detección de virus. El cuerpo también contiene código que altera (transforma) el código de descifrado al comienzo del virus.

Esto hace que el virus cambie por completo su apariencia. Aunque tendría sentido llamar a esto un “criptovirus”, esta no es la forma en que se definió originalmente el término informático.

¿El criptovirus no es también una enfermedad de las plantas?

Sí. El término criptovirus se acuñó por primera vez en referencia a los virus de las plantas. Por ejemplo, existe el criptovirus “Beet cryptic I” que se ha encontrado en Tasmania y que se ha extendido a Europa, Estados Unidos y Japón.

Sin embargo, el término era tan apropiado para los virus que usan criptografía asimétrica que también se acuñó con ese propósito.

¿Se ha escrito alguna vez un criptovirus?

Sí. La noción de extorsión criptovírica se introdujo en una tesis de maestría, en la que se utilizaba el uso de la criptografía de clave pública para mantener los datos como rehenes.

El primer criptovirus se “implementó” como parte de esa tesis. Además, la tesis contiene el primer par de claves RSA real que utilizó un criptovirus experimental.

El virus fue programado usando ANSI C y ensamblado de Motorola y se propagó en un Macintosh SE / 30. y usó el truerand de AT&T para generar bits aleatorios.

Utilizaba el Tiny Encryption Algorithm (TEA) de Wheeler y Needham y RSA.

RSA se implementó utilizando la biblioteca de multiprecisión GNU y se tomaron las medidas más cuidadosas para garantizar que el virus no se propagara a la naturaleza.


Malware: Ransomware (Capítulo 9)
Malware: ¿Qué es el software espía? Como por ejemplo: La aplicación Pegasus (Capítulo 8)


Libro Hacking desde 0


Herramientas Hacking

? Recursos Hacking


?‍♀️ Cursos Seguridad en Red ? Cursos RedesCursos Servicios en Nube ?‍♂️ Libros Seguridad y Criptografía ? Libros Redes

Relacionado

Wireshark: Sniffer de redes y contraseñas

Las computadoras se comunican mediante redes. Estas redes pueden estar en una LAN de red de área local o expuestas a Internet. Los rastreadores de red son programas que capturan datos de paquetes de bajo nivel que se transmiten a través de una red. Un atacante puede analizar esta información para descubrir información valiosa, como identificadores de usuario y contraseñas. En este artículo, le presentaremos técnicas ¡SEGUIR LEYENDO!

Pruebas de vulnerabilidad: Mejores Técnicas para Evaluar Riesgos

Curious about vulnerability testing techniques? We explain processes such as vulnerability assessments, vulnerability scanning, and penetration testing.

Malware: Los Ransomware de Criptovirología más Conocidos

Existen reconocidos ransomware que han logrado alcanzar a infinidad de víctimas a lo largo de los tiempos, a continuación vamos a profundizar un poco más en algunos de ellos. Entre algunos de los ransomware más conocidos, se encuentran entre otros muchos: Reveton, Cryptolocker, CryptoLocker.F and TorrentLocker, Cryptowall, Fusob, Wannacry, Petya, Bad Rabbit, Samsam, DarkSide, Siskey o Ryuk, del que ya hemos hablado a raíz del ataque ¡SEGUIR LEYENDO!

Malware: Historia del Ransomware

El primer ataque de extorsión de malware conocido, fue el "Troyano del SIDA" escrito por Joseph Popp en 1989, el ransomware tenía un fallo de diseño tan grave que no fue necesario pagarle al extorsionador. La carga útil ocultaba los archivos en el disco duro y encriptaba solo los nombres, mostrando un mensaje que afirmaba que la licencia del usuario para usar un determinado software había ¡SEGUIR LEYENDO!

Malware: Gusanos, Virus y Caballos de Troya

Las habilidades principales de los hackers son las habilidades de programación y el conocimiento de las redes de computadoras. Esas habilidades se utilizan para introducirse en los sistemas informáticos usando para ello, el malware existente o malware creado por ellos mismos, como por ejemplo: troyanos, virus, gusanos o ransomware. El objetivo del uso de los diferentes malware es lograr robar datos confidenciales, interrumpir las operaciones comerciales ¡SEGUIR LEYENDO!

Salir de la versión móvil