El malware utiliza técnicas interesantes para esconderse del software antimalware y más. Pueden "polimorfarse" ellos mismos: prácticamente cambian el código mientras continúa significando lo mismo para la máquina ejecutora, invalidando las definiciones de antivirus, etc.
Me pregunto si hay algo (no malicioso) que los desarrolladores puedan aprender al estudiar la fuente de los mismos, o revertirlos y estudiar lo que obtengas de ese proceso si la fuente no está disponible, que podría ser útil fuera de esto (¿oscuro?) reino.
Soy no interesado en escribir software malicioso. (al menos no para fines no educativos). Esta pregunta no pretende ser una pregunta sobre cómo escribir malware o algo así, sino lo que puede aprender del malware ya escrito.
Además, quizás un poco poco ético (espero que no), ¿habría alguna ganancia al escribir su propia pieza de malware, solo para comprender mejor las vulnerabilidades / vulnerabilidades / seguridad o el sistema operativo subyacente?
Respuestas:
Absolutamente.
Por supuesto, un estúpido efecto secundario de la DMCA es que debido a que tendrías que aplicar ingeniería inversa al malware, no podrías compartir legalmente lo que aprendiste.
Las cosas más importantes que aprenderías son:
Y, por supuesto, todo depende de lo que ya sabes. Si nunca ha jugado directamente con la pila, entonces esperaría que esto suceda
fuente
La ofensiva y la defensa son dos caras de la misma moneda. Creo que estudiar malware sería útil para cualquiera que intente defenderse de un ataque.
fuente
Escribir un componente de licencia no está muy alejado de tales estudios. El esfuerzo que tienen que hacer los escritores de malware para evadir el análisis y la descompilación es el mismo esfuerzo que un componente de licencia debe realizar para evadir a los piratas y los anillos de ruptura. Si bien la gran mayoría de los usuarios de software son honestos (y pagarán por su software), hay muchos otros que no piensan en usar su software sin pago. También hay algunas personas que perciben su propio valor en función de cuántas "grietas" hacen, ya sea que usen su software o no. La disponibilidad de tales grietas y generadores de claves puede tentar a la gente que normalmente sería honesta.
fuente
En mi opinión, la mayoría de los programadores no necesitan ayuda / estímulo para crear "técnicas nuevas e interesantes". Sí, hay mucho que puedes aprender, pero no sería tan valioso como, por ejemplo, el conocimiento del dominio comercial en el que estás trabajando ... a menos que estés trabajando en seguridad, por supuesto.
fuente