Una breve guía para desarrollos seguros

Muchas veces escuchamos de ataques que explotan brechas existentes en los sistemas de algún dispositivo u aplicación web. Pues bien, estas vulnerabilidades están presentes desde que son lanzadas. De hecho, se estima que el 50% de las vulnerabilidades en los sistemas tienen origen en fallas de diseño.

El nivel de ataques podría reducirse considerablemente si los desarrolladores incluyeran prácticas seguras de desarrollo. Lo cierto es que muchos no las siguen por falta conocimiento y de herramientas. Muchas veces, los contenidos, métodos, técnicas y herramientas que aprenden a usar en su proceso de codificación no considera la seguridad como parte de la génesis de su creación. En ocasiones un desarrollador da su trabajo por concluido cuando alcanzan el propósito de la aplicación o sistema que están desarrollando.

A pesar de que actualmente ya existe mayor consciencia sobre el desarrollo seguro, aún hay mucho trabajo por hacer. Por ello, las empresas ofrecen, cada vez con más frecuencia entrenamientos y capacitaciones a sus desarrolladores para que conozcan sobre AppSec, como se le conoce a esta tendencia. Sin embargo, aún hay mucho trabajo por hacer.

Para el desarrollo de aplicaciones seguras se requiere conocimiento para identificar las vulnerabilidades del software en tiempo real, la capacidad de realizar análisis tanto estático como dinámico y la composición del código fuente, entre otras prácticas que deben estar presentes.

 

Recomendaciones para desarrollos seguros

 

  • Nada es seguro: partamos de la idea de que ningún componente de los que se usan son seguros. Por lo que se tendrá que considerar la seguridad en todo momento del proceso de desarrollo.
  • Análisis estático y dinámico: la idea es usar programas de escaneo para identificar que cumplan con características específicas de cumplimiento.
  • Conocer dónde se es más vulnerable: hay ciertas configuraciones en el proceso que tienden a generar brechas. Tal es el caso de la salida de los registros, saneamiento de las entradas, configuraciones en los servidores web y los proxies.
  • Apegarse a estándares: esta será una sabia decisión, ya que significa usar el conocimiento existente y adoptarlo para crear desarrollos con calidad. En tema de aplicaciones abiertas para web o servicios, OWASP ASVP (Application Security Verification Standard Project), es un estándar que ofrece las bases para construir aplicaciones, con controles de seguridad, procesos de desarrollo seguros, agilidad para adaptarse a nuevas amenazas, así como problemas comunes de configuración.
  • Diferenciar los datos de las instrucciones de control: esto para evitar que alguien con malas intenciones pueda manipular el flujo, para lo que es necesario sanear las entradas que recibe el sistema.
  • Verificar y validar datos: se deben definir los datos que son permitidos, en el momento justo en el que están siendo utilizados. Así como eliminar todo aquello que no deba de incluirse en el sistema, para tener control de todo lo que entra y evitar que sea interpretado como una pieza de programación que permita alterar el sistema. Esto se puede lograr al diseñar validaciones tanto de estructura como de significado.
  • Uso de criptografía: para proteger los elementos más importantes contra ataques, sobre todo con el uso de herramientas ya existentes para este fin. Este paso, puede evitar muchos ataques al contener las acciones de los cibercriminales.
  • Conocer al usuario: tener en cuenta cómo será usada la aplicación en desarrollo dará mucha información que servirá para planear su seguridad. Además al ser lanzada, se pueden establecer recomendaciones de uso a los usuarios.
  • Realizar pruebas: otro de los pasos importantes para el desarrollo de aplicaciones seguras es la realización de pruebas de penetración. Lo anterior para validar su seguridad, esto reducirá en gran parte ataques que pueden ser fácilmente previstos.
  • Capacitación a los desarrolladores: en una empresa el esfuerzo de mantener actualizada a su fuerza de desarrolladores no está nunca de más. Sólo a través de esta estrategia estarán conscientes de los riesgos que enfrentan. Además, de que sólo así se podrán mantenerse actualizados en las mejores prácticas de escritura de código.

Proteger los desarrollos desde un principio evitará muchos dolores de cabeza, porque intentar implementar seguridad en el ciclo posterior al desarrollo llega a ser mucho más complejo. Es importante tener esto en mente durante cada ciclo nuevo de desarrollo, cuando se agregan funcionalidades o cambios en general.

Si requiere asesoría para saber cómo mantener los desarrollos de empresa segura, Cybolt le ofrece una vasta oferta para mantener las aplicaciones de su empresa seguras. 

¡Cóntactenos!

Dejar un comentario

Tu dirección de correo electrónico no será publicada.

Top