Nivel de seguridad provisto con las herramientas del ofuscador (.NET)

3

Existen numerosas herramientas que ofrecen ofuscar el código .NET. (Dotfuscator etc.)

La pregunta es simple: aquellos que tienen experiencia con tales herramientas, ¿cuál es el nivel de protección que ofrecen esas herramientas? ¿Contra qué tipo de atacantes pueden proteger? Sí, sé que todo es rompible. Pero hay una gran cantidad de herramientas de este tipo, por lo que deben dar "algún" derecho de protección?

¿Cuál es el esfuerzo necesario para volver a leer la fuente que fue ofuscada? Incluso si uno usa desobuscador?

    
pregunta 26.11.2015 - 08:12
fuente

1 respuesta

4

Lamentablemente no es una respuesta fácil, ya que depende de una gran cantidad de factores. El nivel de habilidad del atacante es muy relativo cuando consideras que usar un editor hexadecimal u ollydbg contra algo que ha sido confuso por casi cualquier herramienta puede consumir mucho tiempo, independientemente de tu nivel de habilidad. Sin embargo, el cambio a herramientas como IDA Pro o el uso de de4dot que reconocen las firmas populares de software ofuscador y tienen rutinas automáticas para "ignorarlas" puede hacer que sea mucho más fácil para las personas que saben cómo usar estas herramientas. P.ej. de4dot afirma ser compatible con lo siguiente:

Agile.NET (aka CliSecure)
Babel.NET
CodeFort
CodeVeil
CodeWall
CryptoObfuscator
DeepSea Obfuscator
Dotfuscator
.NET Reactor
Eazfuscator.NET
Goliath.NET
ILProtector
MaxtoCode
MPRESS
Rummage
Skater.NET
SmartAssembly
Spices.Net
Xenocode

En pocas palabras, cualquier ofuscación es útil ya que dificulta la tarea y, por lo tanto, la cantidad de posibles atacantes es menor debido a los requisitos de habilidad / tiempo. También puede intentar escribir sus propias herramientas de ofuscación que evitarían que alguien solo use una herramienta como las mencionadas anteriormente. Sin embargo, esto es similar a decir que puedes escribir tu propia biblioteca de cifrado. No es una tarea fácil de realizar sin años de experiencia.

Si realmente está dispuesto a proteger su software, necesitará una buena cantidad de trabajo / dinero adicional de su parte, ya que tendrá que usar múltiples métodos de protección. P.ej. Usar un obfuscater, cryptor, empacador y luego usar una solución como un dispositivo USB para verificación.

Si encuentra una lista que compara la dificultad de las soluciones entre sí, publíquela, sería realmente interesante.

    
respondido por el Joe 26.11.2015 - 09:24
fuente

Lea otras preguntas en las etiquetas