Ningún proceso de datos e información puede funcionar sin software. El desarrollo de software se centra principalmente en el funcionamiento de algoritmos para tareas específicas. Sin embargo, hoy en día es bien sabido que una mala redacción del código de los programas también suele dar lugar a problemas de seguridad, como un control de acceso defectuoso, inyección SQL, gestión de sesiones y autenticación incorrectas, cross-site scripting, etc.

La gran importancia de las prácticas de codificación seguras se destaca en las normas actualizadas de seguridad de la información ISO/IEC 27002 e ISO/IEC 27001:2022. Como nueva medida (control) de seguridad de la información, los principios para la "Codificación segura" en el desarrollo de software entran a formar parte del catálogo de medidas del Anexo A de ISO/IEC 27001. Lea sobre la importancia de esta medida para la seguridad de su información y lo que esto significa para futuras auditorías en nuestra entrada de blog.

Vulnerabilidades de seguridad en el código

El software del sistema operativo, el software de aplicación o el firmware de un sistema integrado son componentes elementales de cualquier infraestructura digital. Sin embargo, la creciente aceleración y la presión de los plazos en los proyectos de digitalización llevan a menudo a descuidar aspectos imperativos de la seguridad de la información. Los requisitos de desarrollo de los programas informáticos suelen estar centrados en las funciones y hacen hincapié en los aspectos constructivos, de modo que la visión destructiva de las posibles vulnerabilidades de seguridad suele ser diametralmente opuesta a los objetivos reales de desarrollo: muchos programadores simplemente carecen también de una visión estructurada y afinada de la ciberseguridad.

En estas condiciones, los equipos de desarrollo tienen dificultades para revisar continuamente y asegurar de forma coherente la codificación de su software, como demuestran las numerosas vulnerabilidades que la corporación sin ánimo de lucro MITRE Corporation publica cada año en su lista CVE (Common Vulnerabilities and Exposures). Los parches de seguridad periódicos de incluso los fabricantes de software más conocidos son un indicador de la tarea de Sísifo que supone cerrar los fallos relevantes para la seguridad, por no hablar de identificarlos antes incluso de que se lancen al mercado.

Código fuente abierto: un caso especial

Cuando codifican software de desarrollo propio, a los programadores les gusta recurrir a bibliotecas y módulos de código abierto. Las ventajas prácticas son evidentes: al no tener que reinventar la rueda una y otra vez, se benefician de este impulso tecnológico, un desarrollo más rápido, menores costes de desarrollo, más transparencia gracias al código fuente abierto y una mayor interoperabilidad mediante estándares e interfaces abiertos.

También se suele decir que el código de fuente abierta ofrece un alto grado de seguridad porque el código ha sido validado por muchos usuarios y la inteligencia de enjambre de la comunidad de fuente abierta permite corregir errores con rapidez y eficacia.

En la práctica, esta confianza debe evaluarse ahora de forma diferenciada y crítica. El ejemplo más grave es la vulnerabilidad de seguridad de día cero Log4Shell en la muy utilizada biblioteca de registro Log4J para aplicaciones Java, que se descubrió en noviembre de 2021. Es posible que haya oído hablar del nivel de alerta roja emitido por la Oficina Federal Alemana de Seguridad de la Información (BSI) para Log4Shell. La biblioteca Log4J, distribuida como un cuasi-estándar de funcionamiento fiable a través de la Fundación Apache, se ha establecido en muchos sistemas desde 2013 - incluyendo conocidos servicios web como Amazon AWS.

La complejidad de estas bibliotecas bien desarrolladas y también mantenidas proporciona implícitamente potentes funcionalidades de las que un desarrollador importador a menudo no es consciente en su propio desarrollo nuevo combinado, pero que pueden ser explotadas por los atacantes.

Otro factor de inseguridad de los componentes de código abierto son los llamados ataques a la cadena de suministro, es decir, vulnerabilidades incorporadas intencionadamente por actores malintencionados que se hacen pasar por parte de la comunidad de código abierto y colaboran en el desarrollo del código. Una vulnerabilidad de este tipo es una forma extremadamente eficaz para que los hackers ataquen a un gran número de organizaciones de usuarios posteriores. No es de extrañar, entonces, que este vector de ataque esté creciendo rápidamente: un estudio de Sonatype diagnosticó un aumento del 650% al comparar 2020 y 2021.

neue-iso-iec-27001-2022-blog-dqs-projektmanager unterhalten sich bei benutzung eines tablets in einer zentrale
Loading...

Also interesting:

La nueva ISO/IEC 27001:2022: cambios clave

Control de seguridad de la información 8.28 codificación segura

Con el fin de salvaguardar el proceso de desarrollo de software de manera oportuna, la Organización Internacional de Normalización (ISO - comité ISO/IEC JTC 1/SC 27) ha incluido la "Codificación segura" como un nuevo control 8.28 en las nuevas normas ISO/IEC 27002 e ISO/IEC 27001:2022, Anexo A. El objetivo de la medida técnica de codificación segura es la protección preventiva del software.

Se crea un nivel mínimo de seguridad ya en la fase de escritura sobre la base de normas de procedimiento, minimizando así el número de posibles vulnerabilidades de seguridad en el software. El marco normativo para la generación de código seguro debe aplicarse de forma holística tanto al código de programa propio de la empresa como al software de terceros y de fuentes de código abierto. Los principios más destacados para su aplicación son la Seguridad por Diseño y el Mínimo Privilegio, que también deben tenerse en cuenta en la codificación.

Principios de codificación segura

La medida 8.28 aborda en varias ocasiones los denominados principios de codificación segura. Numerosas organizaciones e institutos que publican periódicamente guías y buenas prácticas de codificación segura ofrecen orientación sobre cuáles podrían ser. Entre ellas se encuentran, por ejemplo, las Prácticas de Cod ificación Segura de la Fundación OWASP, los Estándares de Cod ificación Segura del Equipo de Respuesta a Emergencias Informáticas (CERT) del Instituto de Ingeniería del Software (SEI) y el catálogo de medidas para la seguridad de las aplicaciones web de la BSI alemana. A pesar de las diferentes fuentes, las elaboraciones muestran muchos paralelismos, por ejemplo en lo que se refiere a los siguientes puntos:

  • Validación de la introducción de datos
  • Autenticación segura y gestión de contraseñas
  • Control de acceso seguro
  • Código sencillo y transparente
  • Medidas y componentes criptográficos probados de forma sostenible
  • Gestión de errores y registro
  • Protección de datos
  • Modelado de amenazas

En la norma ISO/ISO 27002:2022, las acciones recomendadas para el Control 8.28 se dividen en tres secciones, "Planificación y precodificación", "Durante la codificación" y "Verificación y mantenimiento", cuyo contenido básico se describe a continuación.

Cyberattack - Bildschirm zeigt Zahlencodes mit Warnsignalen
Loading...

This may interest you as well:

Detección y prevención en la gestión de la seguridad de la información

Planificación y precodificación

Tanto el desarrollo de código nuevo como la reutilización de código requieren la aplicación de principios de codificación segura, independientemente de si el código se escribe para software interno o para productos y servicios externos. Para ello es necesario evaluar las expectativas específicas de la organización y definir de antemano los principios reconocidos. Además, las acciones recomendadas para la planificación y precodificación tienen en cuenta las prácticas de codificación comunes e históricas conocidas y los errores que podrían dar lugar a vulnerabilidades.

La configuración de las herramientas de desarrollo, como las basadas en reglas en entornos de desarrollo integrados (IDE), debe imponer la creación de código seguro. La cualificación de los desarrolladores y su familiaridad con las arquitecturas seguras y las normas de programación es también fundamental. La inclusión de expertos en seguridad de la información en el equipo de desarrollo es evidente.

Durante el proceso de codificación

Durante el proceso de codificación, las prácticas de codificación y las técnicas de programación estructurada desempeñan un papel primordial, teniendo en cuenta el caso de uso específico y sus necesidades de seguridad. Las técnicas de diseño inseguras -por ejemplo, las contraseñas codificadas- deben prohibirse sistemáticamente. El código debe documentarse y revisarse adecuadamente para eliminar mejor los fallos relacionados con la seguridad. La revisión del código debe realizarse durante y después del desarrollo, mediante pruebas estáticas de seguridad de las aplicaciones (SAST) o similares. Los métodos de pruebas estáticas apoyan el enfoque de desplazamiento a la izquierda ("probar pronto y a menudo") desplazándose hacia la izquierda en el ciclo de vida al probar pronto el código visible para comprobar la conformidad con las normas.

Esto permite la identificación temprana de código contaminado, conexiones a archivos o clases de objetos específicos, o lagunas a nivel de aplicación de las que se puede abusar para interactuar inadvertidamente con programas de terceros como vulnerabilidades explotables. Antes de poner en funcionamiento el software, el Control 8.28 exige una evaluación de las superficies de ataque y la aplicación del principio del menor privilegio. Debe evaluarse el análisis realizado de los errores de programación más comunes y la documentación de su corrección.

Verificación y mantenimiento

Incluso después de que el software haya entrado en funcionamiento, el tema de la codificación segura sigue siendo relevante. Esto incluye actualizaciones seguras, así como comprobaciones de vulnerabilidades conocidas en el propio código. Además, hay que documentar los errores y los presuntos ataques para poder realizar rápidamente los ajustes necesarios. En cualquier caso, el acceso no autorizado al código fuente debe impedirse de forma fiable mediante herramientas adecuadas.

Código fuente abierto

En el ámbito de la verificación y el mantenimiento, la medida 8.28 enumera además instrucciones explícitas para el uso de herramientas y bibliotecas externas, como el software de código abierto. Estos componentes de código deben gestionarse, actualizarse y mantenerse en inventarios. Esto puede hacerse, por ejemplo, mediante una lista de materiales de software (SBOM). Una SBOM es un registro formal y estructurado de los paquetes y bibliotecas de un software y sus relaciones entre sí y dentro de la cadena de suministro, en particular para hacer un seguimiento del código reutilizado y los componentes de código abierto. El SBOM facilita el mantenimiento del software y las actualizaciones de seguridad específicas.

fragen-antwort-dqs-fragezeichen auf wuerfeln aus holz auf tisch
Loading...

Certificación según ISO 27001

¿Con qué esfuerzo tiene que contar para obtener la certificación de su SGSI según la norma ISO 27001? Infórmese gratuitamente y sin compromiso.

Estaremos encantados de hablar con usted.

Conclusión

El código seguro es una base elemental para poner freno a posibles ataques. El nuevo Control 8.28 tiene en cuenta esta sufrida percepción y revaloriza el papel clave de la codificación segura en su importancia para la seguridad de la información. Sin embargo, dado que la medida comprende un gran número de recomendaciones de actuación detalladas y es técnicamente exigente, su aplicación implicará un nivel de esfuerzo comparativamente alto, lo que debe tenerse en cuenta ya en la fase de planificación.

Con la visión profesional de nuestros experimentados auditores, le apoyamos en la aplicación conforme de la medida. Con nuestra experiencia en auditoría y certificación de más de 35 años, somos su interlocutor ideal y estaremos encantados de ayudarle en el tema de la seguridad de la información y la certificación conforme a las normas ISO/IEC 27001:2022.

Revisión de la norma ISO 27001: ¿Qué significa la actualización para su certificación?

La norma ISO/IEC 27001:2022 se publicó el 25 de octubre de 2022. Esto da lugar a los siguientes plazos y marcos temporales para la transición de los usuarios:

Preparación para la certificación ISO/IEC 27001:2022

  • Prevista a partir de mayo 2023 (dependiendo de la Entidad de Acreditación Alemana GmbH (DAkkS)).

Fecha límite para auditorías iniciales/de recertificación según la "antigua" ISO 27001:2013

  • Después del 31 de octubre de 2023, DQS realizará auditorías iniciales y de recertificación únicamente según la nueva norma ISO/IEC 27001:2022

Transición de todos los certificados existentes de la "antigua" ISO/IEC 27001:2013 a la nueva ISO/IEC 27001:2022

  • Hay un periodo de transición de tres años a partir del 31 de octubre de 2022
  • Los certificados emitidos según ISO/IEC 27001:2013 o DIN EN ISO/IEC 27001:2017 seguirán siendo válidos hasta el 31 de octubre de 2025 a más tardar, o deberán retirarse en esta fecha.

DQS: Simplemente aprovechando la Seguridad.

Debido a los periodos de transición, las empresas disponen de tiempo suficiente para adaptar su SGSI de acuerdo con los nuevos requisitos y obtener la certificación. Sin embargo, no hay que subestimar la duración y el esfuerzo de todo el proceso de cambio, sobre todo si no se dispone de suficiente personal especializado. Si quiere ir sobre seguro, debería ocuparse del asunto cuanto antes y recurrir a especialistas experimentados si es necesario.

Como expertos en auditoría y certificación con más de 35 años de experiencia, estaremos encantados de ayudarle a evaluar su situación actual, quizá como parte de una auditoría delta. Nuestros numerosos y experimentados auditores le informarán sobre los cambios más importantes y su relevancia para su organización. Juntos discutiremos su potencial de mejora y le apoyaremos hasta que reciba su nuevo certificado. Aproveche nuestra competencia en seguridad de la información. Estaremos encantados de atenderle.

fragen-antwort-dqs-fragezeichen auf wuerfeln aus holz auf tisch
Loading...

Any questions?

Póngase en contacto con nosotros

Sin compromiso y gratuitamente.