lunes, 6 de enero de 2014

17 consejos de seguridad Informática para desarrolladores

Imagen de: seguridad.unam.mx
Cada vez son peores las noticias que se reciben de brechas de seguridad informática, casos que van desde números de tarjetas de crédito robados, hasta registros financieros de miles de usuarios expuestos a merced de cualquier usuario de Internet que quiera utilizarlos para otros fines.

Dada esta amenaza, se hace cada vez más importante el escribir código a prueba de intrusos, lo cual no es una tarea fácil. A continuación, pmoinformatica.com, La Oficina de Proyectos de Informática, les presenta un extracto del artículo “Safeguard your code: 17 security tips for developers”, escrito por Peter Wayner para InfoWorld.

El el artículo se presentan consejos de seguridad al programar, tales como probar las entradas de datos, almacenar sólo los datos que se necesitan, encriptar siempre los datos, colocar barreras para acceder a áreas con información sensible, agregar retrasos deliberados al código ante intentos repetidos con el mismo usuario y contraseña, entre otros aspectos.

A continuación 17 consejos de seguridad Informática para Desarrolladores:

¿Te gustaría recibir los artículos y contenidos de PMOInformatica.com directamente en tu correo?


Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

17 consejos de seguridad Informática para desarrolladores


  1. Prueba rigurosamente las entradas de datos: Valida el tamaño y estructura de los datos entrantes consume tiempo, pero es la única forma de dar Seguridad Informática en tu código.
  2. Almacena sólo los datos que necesitas, y no más: Si vas a pedir la dirección de correo física, pregúntate si tu sistema alguna vez enviará correspondencia. Almacena sólo lo que realmente necesitaras, así te ahorraras almacenar datos cuya seguridad informática pueda verse comprometida.
  3. Evita depender de contraseñas más de lo necesario: Existen alternativas distintas a las contraseñas en la seguridad informática, tales como: Autenticación de factor-N, llaves criptográficas que bloquean el hardware y mantener un registro de direcciones IP validas para negar el acceso o solicitar información adicional.
  4. Negocia los requerimientos: El mejor momento para garantizar la seguridad informática es cuando el requerimiento aún está en definición (se está elaborando el documento). Todos los interesados del proyecto deben considerar los riesgos de seguridad en funcionalidad nueva y si realmente vale la pena asumirlos o mitigarlos.
  5. Agrega retrasos deliberados en tu código: Existen sitios web que progresivamente producen retrasos deliberados en la ejecución del programa, cuando se intenta un mismo usuario y contraseña más de una vez, es imperceptible para un usuario real, pero puede hacer inoperante un bot que utilice fuerza bruta para adivinar contraseñas.
  6. Usa la encriptación más veces de lo que creas que deberías: En la seguridad informática, a veces se omite porque da más trabajo, sin embargo debemos recordar que los datos que podemos interceptar nosotros (ej. Cuando hacemos debuggin), también lo pueden interceptar los atacantes. Por ejemplo es buena práctica encriptar datos sensibles y almacenarlos en base de datos encriptados. 
  7. Construye muros: En seguridad informática, si es fácil para el usuario también lo es para el atacante. Siempre es recomendable segregar las funcionalidades más sensitivas en otro sistema, o agregar barreras de seguridad adicionales, por ejemplo una segunda clave para operaciones sensibles, o enviar contraseñas "Single Sign On" vía mensaje de texto o correo electrónico.
  8. Usa librerías probadas por la industria: La encriptación es difícil de implementar en la seguridad informática, no intentes inventar la rueda nuevamente, utiliza librerías disponibles que ya han sido probadas por la comunidad y sus errores son conocidos.
  9. Usa Interfaces de Aplicación (APIs) Internas: Divide tu código en módulos que se comuniquen únicamente por Interfaces de Aplicación bien diseñadas, esto hará más fácil auditar las interacciones, encontrar brechas y corregir errores.
  10. Trae Auditores que critiquen tu código: Las auditorías de código pueden identificar fallas y mejorar el código, entre más ojos lo vean mejor para el programador y la organización.
  11. Usa herramientas de análisis de código: Las herramientas de análisis de código y las herramientas de pruebas automatizadas, pueden encontrar fallas que se cometen cuando los programadores están cansados y no piensan con claridad. Muchos de estos errores son simples pero fatales.
  12. Establece límites a los privilegios de acceso: Un buen principio es darle al código y a los usuarios solamente los mínimos permisos que necesitan para ejecutar su función. Dar amplios permisos conduce inevitablemente a brechas en la seguridad informática.
  13. Analiza las amenazas: Invierte tiempo en pensar que datos almacenas, quien podría quererlos y como podrían serle útiles a un delincuente.
  14. Recuerda que la confianza debe ser de ambas partes: Usa mecanismos para demostrarle al cliente que realmente está accediendo al sistema correcto, por ejemplo, algunos sitios le piden al cliente cargar una foto que luego se la muestran al cliente para demostrar su autenticidad.
  15. Mantente actualizado con información de las más recientes amenazas: Busca constantemente artículos, noticias y líderes de la industria.
  16. La investigación rinde sus frutos: Invertir tiempo y dinero en libros es una forma económica de obtener información privilegiada de los consultores en seguridad informática mejores pagados de la industria.
  17. Busca formación y estudia por ti mismo: Haz un posgrado o en curso en línea, es usualmente una buena vía de obtener información de primera mano, no accesible en libros.

¿y qué opinas tu?

¿Qué opinas tu de la seguridad informática en la programación?, ¿Qué otros consejos de programación segura agregarías a esta lista?. Te invitamos a dejarnos comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) (puedes firmar tu comentario con la dirección de tu web si así lo deseas). Asimismo, te invitamos a suscribirse por los distintos canales, incluyendo lista de correo electrónico, al Twitter @PMOInformatica, a nuestra página de Facebook o al feed RSS.

¿Buscas más información de metodologías de desarrollo de software?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de metodologías de desarrollo de software?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

  

Referencias

Peter Wayner. Safeguard your code: 17 security tips for developers”, para InfoWorld.

¿Interesado en libros sobre Desarrollo de Software y Seguridad Informática?











Big Data: A
Revolution

Autor: Mayer-Schonberger,
V; Cukier, K.
>> Latinoamérica (amazon.com) 
>> España (amazon.es)
Normalización de
Bases de Datos 

Autor: Espinal, Y; Puebla, M.
>> Latinoamérica (amazon.com) 
>> España (amazon.es)
Ingeniería de 
Software
Autor: Ian
Sommerville
>> Latinoamérica (amazon.com) 
>> España (amazon.es)
CISSP All in one Study Guide
Autor: Shon Harris
>> Latinoamérica (amazon.com)


Novedades Amazon

¿Interesado en otros productos Amazon sobre Gestión de Proyectos y Desarrollo de Software?.

>> Sección de Productos Amazon

Otros artículos en “La Oficina de Proyectos de Informática”

Desarrollo Profesional

>> Los 9 empleos en informática mejor pagados de 2013

>> Las 15 certificaciones mejor pagadas de 2013

Errores comunes en Desarrollo de Software (Antipatrones)

No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.