¿Cómo identificar si un campo está cifrado?

0

Tengo el requisito de identificar si los datos están encriptados o no. Los datos son un campo que estará en formato Json. Encontré otra pregunta escuchar en

Cómo identificar el algoritmo de cifrado para los datos que vienen en los valores de campo / atributo de un xml

Pero esto para identificar el tipo de técnica de encriptación y de 2014 no se sabe si sigue siendo válida.

Otra cosa que solo quiero es asegurarme de que el campo esté cifrado, no quiero identificar la técnica de cifrado.

    
pregunta Anoop 07.09.2017 - 18:12
fuente

3 respuestas

4

Dependiendo de los tipos de datos que está esperando, podría intentar ver la entropía (aleatoriedad) de los datos. Los datos correctamente encriptados deben ser prácticamente indistinguibles del ruido aleatorio, y tendrán una entropía mucho mayor que cualquier tipo de datos estructurados.

La entropía de Shannon es una forma común de determinar el nivel de "aleatoriedad" de las cadenas: puede encontrar muchos códigos de ejemplo en varios idiomas.

Hay algunos otros tipos de datos que también tendrán una entropía muy alta (imágenes, datos comprimidos, etc.), pero es probable que pueda verificarlos buscando las firmas / bytes mágicos.

No es infalible, pero podría darle un buen punto de partida.

    
respondido por el rbsec 07.03.2018 - 13:58
fuente
1

A menos que esté en el negocio de realizar una prueba de penetración / auditoría de seguridad, entonces ejecutará un conjunto de herramientas de decodificación hash para ver si los datos están codificados. La verificación del diccionario es la primera fase, en la que la fase secundaria ejecuta el descodificador de hash para descodificar el hash popular, como la codificación Base64, ROT, 7bit; o utilizando un bit XOR / NOR simple (desde +1 bits y más) que oculta la ofuscación.
Luego debe ejecutar un filtro para verificar el formato de los datos y esperar que coincida con algún tipo de patrón de archivo.

Sin embargo, es imposible verificar cuál es el mecanismo de cifrado exacto para el archivo que se encripta utilizando una PKI fuerte.

    
respondido por el mootmoot 07.09.2017 - 19:16
fuente
0

Podría realizar algunas pruebas con datos diferentes para verificar, por ejemplo, si la cadena obtenida tiene siempre la misma longitud o no. Si siempre es lo mismo, es probable que los datos se estén hash y no estén cifrados (es decir, AES). Otra posibilidad es que solo esté codificado, por ejemplo, en Base64, Hex, etc. (aquí tampoco se corregirá la longitud). Para estas comprobaciones de codificación, me gusta esta web que proporciona varios codificadores al mismo tiempo para facilitar las pruebas: enlace

Aunque no esté interesado en el tipo de encriptación, existe una herramienta útil que puede ayudarlo a identificar el algoritmo de hash (si se aplica) y, por lo tanto, determinar que está encriptado (en este caso, hash): enlace

Simplemente ejecútelo contra su código y verificará si hay patrones, longitudes, caracteres especiales y otras marcas que puedan dar una pista sobre el tipo de algoritmo hash utilizado.

    
respondido por el b0rt 08.09.2017 - 09:05
fuente

Lea otras preguntas en las etiquetas