¿Cómo usar cadenas internas y configuraciones cifradas? [duplicar]

1

Estaba leyendo los documentos filtrados por la CIA en wikileaks, vi en su sección de "mejores prácticas" que se recomendaba cifrar todas las cadenas y la información de configuración y descifrar en la memoria cuando fuera necesario.

Me preguntaba cómo funciona esto. Entiendo cómo descifrar sobre la marcha y la razón detrás de tener cadenas de configuración cifradas en su programa; para que cualquiera que intente realizar una ingeniería inversa, el programa no puede ver ninguna cadena significativa.

¿Pero cómo almacenas la llave? ¿Si este es un virus autónomo, la clave para descifrar esas cadenas y los datos de configuración también deben almacenarse en el programa? ¿Cómo almacena la clave para que el programa pueda utilizarla, pero un ingeniero inverso no la encontrará?

A menos que, por supuesto, haya entendido mal el tipo de programa que emplearía esta práctica.

    
pregunta uhsl_m 10.03.2017 - 13:04
fuente

1 respuesta

0

Tiene razón en que la clave siempre tendrá que estar disponible para el programa que utiliza el descifrado sobre la marcha de algunas de sus partes. No hay forma de evitar eso, lo que significa que este es el tipo de seguridad que te protege contra tu hermana pequeña, pero no contra un atacante determinado (parafraseando a Schneier aquí). Es imposible evitar que un atacante capaz encuentre la clave.

Para los virus, el cifrado es útil por otro motivo: los escáneres de virus analizan patrones específicos y, si se cifran grandes partes del virus, utilizando claves generadas de forma aleatoria, gran parte de la coincidencia de patrones se vuelve inútil. Lo único que queda por igualar es el código de inicialización y la función de descifrado, y también hay trucos para cambiar la huella digital binaria de estas partes.

La forma en que esto podría funcionar es que cuando un virus infecta un nuevo sistema, crea una copia de sí mismo, pero usa una clave de cifrado diferente y baraja varias partes de la función de descifrado y el código de inicio, por lo que el virus copiado no funciona. No se parece en nada al original.

Lo que lea podría estar relacionado con eso: si cifra las cadenas de configuración, se vuelve mucho más difícil simplemente grep para que una cadena detecte un programa específico. Pero es difícil decirlo sin una referencia al documento que mencionas.

    
respondido por el Pascal 10.03.2017 - 13:24
fuente

Lea otras preguntas en las etiquetas