El Secure Code Auditor (Auditor de código seguro, en español) examina y verifica el código fuente para encontrar puntos débiles. Es una profesión que hace de la prevención su razón de ser y que se demuestra de fundamental importancia para proteger las infraestructuras empresariales.
El mundo es cada vez más dominio del software y el Secure Code Auditor se dedica a que sea confiable e íntegro. La codificación segura es cada vez más esencial para proporcionar software de calidad que determina el éxito tanto de quienes lo desarrollan como de quienes lo usan.
Es el hombre o la mujer que trabaja entre bastidores, forma parte de las líneas de defensa y debe poseer conocimientos de orden tecnológico y otros más suaves como, por ejemplo, la capacidad de predecir las consecuencias, aunque solo sean teóricas, de las debilidades de un software.
Debido a que el software gobernará el futuro y debido a que las amenazas tienden a evolucionar en número y sofisticación, es fácil deducir que la del Secure Code Auditor será una profesión cada vez más solicitada.
- Introducción a la Profesión del Secure Code Auditor
- ¿Quién es el Secure Code Auditor: Definición y Rol?
- Campo de Acción: Dónde Trabaja un Secure Code Auditor
- La Importancia del Secure Code Auditor
- Habilidades Requeridas para Convertirse en Secure Code Auditor
- Herramientas y Técnicas que un Secure Code Auditor debería Conocer
- Trayectoria Formativa para Convertirse en Secure Code Auditor
- Carrera y Perspectivas Futuras para un Secure Code Auditor
- Remuneraciones Esperadas y Crecimiento Profesional
Introducción a la Profesión del Secure Code Auditor
El software y las aplicaciones en general son cruciales. No se habla solo de software de gestión o específico, incluido el desarrollado dentro de las organizaciones que lo utilizan, hay un mundo infinito de dispositivos IoT e IIoT que están revolucionando la forma de hacer negocios y que son a su vez gestionados por código desarrollado expresamente.
También hay un hemisferio de API que permite la integración de aplicaciones con otras aplicaciones y, independientemente, hay software que dialoga entre sí mediante interfaces específicas capaces de reverberar posibles fallas en el código.
Encontrar las fallas antes de que sean descubiertas y usadas de manera deshonesta es una de las tareas del auditor de código seguro.
¿Quién es el Secure Code Auditor: Definición y Rol?
La tarea del Secure Code Auditor (o auditor de código seguro), sin embargo, no se limita a la detección de fallas en el código, debe comprender las arquitecturas del software, incluidas las API y los protocolos de red, para evaluar los riesgos en su complejidad y sugerir las soluciones para mitigarlos.
Esto, como veremos, requiere habilidades amplias y variadas, además del cuidado del detalle y la capacidad de anticipar y resolver problemas. Estamos ante una de las tantas nuevas profesiones de la ciberseguridad que tienen la peculiaridad de ser emocionantes y en constante evolución con el aumento de la sofisticación de las técnicas de los atacantes.
La verificación del código fuente de aplicaciones y sistemas, la identificación de vulnerabilidades y las medidas de mitigación son, por lo tanto, partes integrantes de la profesión del Secure Code Auditor.
Las contramedidas y las mejoras sugeridas por el Secure Code Auditor impactan tanto en quienes desarrollan código como en la oficina legal de la empresa, llamada a redactar las políticas de uso del software teniendo en cuenta los riesgos potenciales a los que están expuestos los usuarios.
Campo de Acción: Dónde Trabaja un Secure Code Auditor
Donde está enmarcado en una empresa privada o pública, aporta sus competencias dentro del Centro de Operaciones de Seguridad (SOC). Como veremos, la del Secure Code Auditor es una figura que también encuentra espacio en el ámbito de la educación y la investigación.
Incluso antes, hay que considerar que en un SOC existen figuras profesionales cuyas tareas, al menos en parte, tienden a superponerse a las del Secure Code Auditor: entre estas, por ejemplo, el auditor de seguridad y el analista de seguridad.
El primero, en la medida en que está llamado a evaluar también las políticas de seguridad, debe trabajar en estrecha colaboración con el Secure Code Auditor, así como debería hacerlo el analista de seguridad, quien, en virtud de sus funciones, está a cargo de difundir la cultura cibernética dentro de la empresa.
La Importancia del Secure Code Auditor
Todo lo escrito hasta ahora ayuda a subrayar la importancia del Secure Code Auditor. Es una figura fundamental cuyas competencias y cuyo desempeño son coparticipes del éxito (o el fracaso) del software producido y, en consecuencia, de la continuidad del negocio de quien lo utiliza.
Una empresa que produce software lento desde el punto de vista de la seguridad está destinada a desaparecer y, de igual manera, las organizaciones que lo utilizan pagan las consecuencias.
La tarea del Secure Code Auditor es detectar y mitigar las amenazas antes de que puedan ser explotadas por los atacantes y esto, de manera directa, también tiene que ver con la protección de los datos y los servicios digitales en su conjunto.
Habilidades Requeridas para Convertirse en Secure Code Auditor
Las habilidades son transversales y no todas se reducen a las disciplinas técnicas o tecnológicas. De hecho, como veremos a continuación, se necesitan, entre otras, habilidades en los ámbitos de la lógica y la comunicación. Veamos, sin embargo, en detalle cuáles son las habilidades fundamentales de un Secure Code Auditor.
Habilidades matemáticas y lógicas
Las matemáticas son el hilo conductor que une las profesiones de la ciberseguridad, entre cuyos principios cardinales se encuentran la criptografía y el análisis de datos para enmarcar y prevenir amenazas potenciales.
Lee sobre: ¿Necesitas Saber Matemáticas en Ciberseguridad?
A pesar de ser disciplinas diferentes, las matemáticas y la lógica propiamente dichas a menudo van de la mano. En el caso del Secure Code Auditor, también encargado de predecir fallas funcionales y lógicas del código, es obvio que la misma lógica es una capacidad fundamental, así como es crucial para evaluar de manera razonada las evidencias resultantes de los análisis de datos.
Profundizando en la lógica en sentido amplio, la lógica booleana juega un papel esencial, que también sirve para definir los procedimientos de ofuscación del código que limitan los riesgos de ingeniería inversa tan queridos por los hackers.
Familiaridad con tecnologías informáticas y lenguajes de programación
Sin poseer un sólido conocimiento de los lenguajes y las lógicas de programación, el Secure Code Auditor no podría hacer su trabajo. Además, las vulnerabilidades como, por ejemplo, Cross-Site Scripting (XSS), SQL Injection, Buffer overflow y muchas otras, incluso más recientes y, por lo tanto, menos conocidas, también deben formar parte de su saber.
Capacidad de resolver problemas y de pensar de manera analítica
El análisis crítico es esencial para realizar revisiones efectivas del código que realmente sean útiles para la identificación de riesgos y vulnerabilidades que no son evidentes a primera vista. Esto remite a la necesaria predisposición al detalle y a la precisión, precisamente porque los hackers también apalancan (y en algunos casos, sobre todo) las vulnerabilidades de menor alcance.
No menos importante, la capacidad de un Secure Code Auditor para proponer soluciones para la mitigación de riesgos requiere una marcada predisposición a la resolución de problemas, otra cualidad común a todas las profesiones de la ciberseguridad.
Herramientas y Técnicas que un Secure Code Auditor debería Conocer
En primer lugar, el Secure Code Auditor debe ser un evangelista de las mejores prácticas de seguridad como, por ejemplo, OWASP (Open Web Application Security Project) y SANS (SysAdmin, Audit, Network, and Security Institute).
A estas, siempre en primera instancia, hay que añadir las herramientas automáticas para el análisis del código. Las más difundidas son Checkmarx, Fortify y SonarQube.
Sin embargo, hay algo más entre las competencias y las técnicas que un Secure Code Auditor debe tener entre sus cuerdas.
Modelos estadísticos
Las amenazas están en constante evolución y los modelos estadísticos son valiosos para identificar patrones inusuales que pueden coincidir con violaciones de seguridad, facilitando así las respuestas a los incidentes.
Los modelos cuantitativos, útiles para la gestión del riesgo, también favorecen la priorización de las estrategias de respuesta.
El uso de modelos y el análisis de grandes cantidades de datos son fundamentales para identificar las tendencias de las amenazas. Una vez más, surge una predisposición natural a la lógica y las matemáticas, ambas útiles para la interpretación de los datos que se incluyen en las tareas del Secure Code Auditor.
Habilidades comunicativas
El Secure Code Auditor tiene sobre sus hombros, entre otras, también la tarea de comunicar el fruto de su trabajo a todas las partes involucradas, las partes interesadas.
La claridad se vuelve fundamental porque no todos están acostumbrados a los términos típicos de las TIC y la ciberseguridad.
Del mismo modo, las recomendaciones resultantes de los análisis del código deben ser detalladas y claras.
Saber comunicar es una de las habilidades blandas indispensables y es una de esas cualidades que pueden ser perfeccionadas hasta cierto punto, pero que se basan en capacidades innatas en el individuo.
Trayectoria Formativa para Convertirse en Secure Code Auditor
La licenciatura en Informática, en Ingeniería del software o un título equivalente es lo que tiende a requerir el mercado laboral que, sin embargo, no desdeña la experiencia adquirida en el campo.
Además, las certificaciones como la Certified Ethical Hacker (CEH), la Certified Information Systems Security Professional (CISSP) o la Offensive Security Certified Professional (OSCP) son credenciales más que válidas en el currículum vitae de quien aspira a la profesión de Secure Code Auditor.
La educación formal, a pesar de ser fundamental, constituye solo una parte del conjunto de conocimientos requeridos.
En otras palabras, la trayectoria formativa para convertirse en Secure Code Auditor es articulada y también prevé la experiencia práctica.
Cursos y actualización continua
La formación pasa también por los cursos (señalamos algunos aquí) de ciberseguridad, pero también de programación segura.
Muchos consejos son ofrecidos por los talleres y las conferencias más populares, en cuyo centro a menudo se colocan las técnicas más recientes en el campo de la seguridad. Seguir conferencias y eventos como Black Hat, Defcon u OWASP AppSec es crucial para la actualización que también puede estar garantizada por las lecturas del sector o la adhesión a foros específicos.
Experiencia en el campo y oportunidades de prácticas
Las oportunidades de prácticas siempre son beneficiosas, especialmente para quienes parten de posiciones de desarrollador o analista de seguridad.
Sin embargo, después de realizar varias búsquedas en línea, podemos afirmar que el mercado laboral italiano es poco receptivo a la figura del Secure Code Auditor.
Por lo tanto, resulta más viable la hipótesis de ejercer una de las tantas profesiones ligadas a la ciberseguridad y, con el paso del tiempo, aprovechar todas las posibilidades que se abren para acercarse a la función del Secure Code Auditor pasando, por ejemplo, por los roles de ingeniero de seguridad de aplicaciones o de revisor de código seguro.
Carrera y Perspectivas Futuras para un Secure Code Auditor
La profesión de Secure Code Auditor puede considerarse intermedia para quienes tienen ambiciones más altas y quieren ocupar el rol de arquitecto de seguridad, de gerente de seguridad e incluso el de director de seguridad de la información (CISO).
Las perspectivas futuras están estrechamente ligadas a la evolución de las amenazas informáticas, aspecto que nunca ha dejado de verificarse en los últimos lustros y que, a la espera de claras indicaciones contrarias, continuará ascendiendo tanto en número como en sofisticación.
No menos importante, las normas cada vez más estrictas (pensemos sobre todo en el GDPR europeo o en el cumplimiento en auge en varios estados extra UE) exigen que los productores sean cada vez más diligentes en garantizar la seguridad de lo que desarrollan.
Diversas oportunidades en el sector público y privado
Sobre todo en el extranjero y solo de espaldas en Italia, las oportunidades de trabajo para un Secure Code Auditor son muchas, al igual que son diversas las tipologías de organizaciones en las que puede integrarse. Entre estas:
- Empresas comerciales dedicadas al desarrollo de software
- Grandes empresas que desarrollan software internamente como, bancos, Telco, seguros o actores de la salud
- Empresas de consultoría
- Agencias gubernamentales que se ocupan de defensa o que gestionan datos de personas físicas o jurídicas
- Instituciones escolares y de investigación. La protección de los sistemas y del código no es patrimonio exclusivo de los sectores típicamente comerciales.
Existe también la siempre válida vía de la libre profesión que, sin embargo, puede tener más atractivo en otros países en comparación con Italia.
Remuneraciones Esperadas y Crecimiento Profesional
Las búsquedas en línea han arrojado resultados diferentes incluso en lo que respecta a las remuneraciones. En Europa se van de los 60.000 a los 75.000 euros aproximadamente al año. En Estados Unidos se puede aspirar a remuneraciones superiores, del orden de los 100.000 dólares, es decir, poco menos de 92.000 euros anuales.
El crecimiento profesional, aunque se mueva en el ámbito de las hipótesis, estará cada vez más dictado por la nube y la seguridad de la IoT.
Con el crecimiento de la adopción de estas dos tecnologías, incluso las empresas más pequeñas necesitarán escribir código propietario para crear aplicaciones en la nube e interfaces para la recopilación de datos para procesarlos.
Los auditores de código seguro tendrán así la posibilidad de especializarse y de convertirse en parte cada vez más integral de las organizaciones para las que trabajan.