Desde que empecé a fijarme en los temas relacionados con el desarrolo seguro me ha llamado mucho la atención el proyecto OWASP: un grupo de voluntarios proporcionando información, documentación, consejos,… y siendo referenciados desde las más diversas fuentes como un proyecto que hay que tener en cuenta.
En esta ocasión se trata de GitHub, y How to mitigate OWASP vulnerabilities while staying in the flow donde tratan de reflejar las caracterísiticas y procesos de seguridad en los que GitHub puede ayudarnos, con referencia al proyecto OWASP.
Se habla, en particular, del OWASP Top 10, con su lista de fallos frecuentes e importantes.
Fortunately, the Open Web Application Security Project (OWASP) can help. OWASP provides a Top 10 list of vulnerabilities that gives developers and organizations the context they need to address security and compliance risks within their applications.
GitHub tiene un libro sobre el tema, Secure code without disrupting innovation que no conocía.
Los fallos que comentan son:
- Fallos relacionados con la criptografía.
Fundamentalmente se concentran en los secretos que pueden ser difundidos a través del sistema de gestión del código.
However, sometimes API keys, clear text passwords, security tokens, and other sensitive data may remain in code, leading to cryptographic vulnerabilities.
Como todos saben, fallos de inyección pueden ocurrir en la web, pero también en los caminos (paths) de nuestras llamadas, en las órdenes SQL, …
Cross-site scripting, path injection, SQL injection, and NoSQL injection are several of the vulnerabilities that have plagued applications for years and continue to stay in the OWASP Top 10 list.
Se centra, en este caso, en el modelado de amenazas.
Threat modeling strategies can be implemented to encourage collaboration between developers, security professionals, and even risk management teams.
- Componentes vulnerables y desactualizadas.
De nada sirve diseñar nuestro código con seguridad si luego depende de componenetes que no tenemos adecuadamente actualizadas.
One of the best strategies for managing the risk of vulnerable and outdated components is to alert developers as soon as a security threat is found and give them the ability to take action in their normal workflows and tooling.