No existe un enfoque único para el análisis de malware y la detección de virus. Nuevas técnicas para comprometer los sistemas operativos aparecen todo el tiempo. Estas técnicas y métodos están diseñados en gran medida para vencer a las aplicaciones de detección de antivirus.
Necesitará una sólida comprensión del sistema operativo que elija. Deberá saber cómo funciona el sistema operativo, cómo se gestiona la memoria, cómo se gestiona el acceso a los recursos, etc. Sin mencionar que necesitará saber cómo se asegura el acceso a estos recursos y se otorgan los permisos.
Necesitará conocer un lenguaje de programación de bajo nivel. No dijo para qué sistema operativo / plataforma (Mac, Linux, Windows, etc.) le interesa escribir el software AV. Suponiendo que va a apuntar a MS Windows, una de las mayores fuentes de virus conocidos. En mi opinión, el mejor lenguaje puede ser aprender C ++. Es posible escribir software AV en la plataforma .NET, pero algo difícil debido a restricciones de código administrado, etc. C ++ sería útil en Mac y es primo C en Linux.
- ¿Cómo puede aprender mejor a administrar proyectos de tecnología y desarrolladores de software si no es una persona técnica?
- ¿Cómo se mide realmente los números de Jeff Dean?
- ¿Qué habilidades encuentran los programadores más importantes que la programación?
- ¿Cuáles son los primeros signos de que un nuevo marco / lenguaje nuevo es una moda?
- Como desarrollador de software femenino, ¿qué te interesó en la codificación y cómo empezaste?
Finalmente, para crear una aplicación AV efectiva, necesitará acceso a firmas de virus. Las firmas definen características únicas del virus o malware en sí. Las firmas ayudarán a identificar patrones de bytes únicos o cadenas que solo se encuentran en varias cepas de malware conocido.
Las firmas pueden ser algo difíciles de crear sin muchos recursos y acceso al malware en sí. Le recomendaría que eche un vistazo a algún software antivirus de código abierto como Clam AV. Clam ofrece software AV para Windows y Mac y Linux (http://ClamAV.com).
En resumen, no es fácil escribir software AV. Necesitará un amplio conocimiento del sistema operativo, el lenguaje de programación y las tendencias de virus.