Archivos de Etiquetas: Desarrollo

TOP 25 errores más peligrosos en el desarrollo de software

CWE (Common Weakness Enumeration) y la SANS han publicado un estudio donde enumeran los 25 de mas peligrosos en el de para el año 2011, en la lista encontraremos errores que mucha gente toma como inofensivos pero que realmente abren una brecha de en sus aplicaciones.

El TOP 25 errores más peligrosos en el software es:

  • No filtrar propiamente las sentencias SQL (Inyección SQL) (Puntaje 93.8) (ID CWE-89)
  • No filtrar las llamadas al de forma adecuada (Inyección en comandos del SO) (Puntaje 83.3) (ID CWE-78)
  • No chequear el tamaño de la memoria reservada a la hora de copiar datos (desbordamiento de memoria) (Puntaje 79.0) (ID CWE-120)
  • No detectar la inyección de scripting (XSS) (Puntaje 77.7) (ID CWE-79)
  • No autentificar en llamada a funciones críticas (Puntaje 76.9) (ID CWE-306)
  • No autorización (Puntaje 76.8) (ID CWE-862)
  • Usar credenciales estáticos en el código (Puntaje 75.0) (ID CWE-798)
  • No cifrado de datos sensibles (Puntaje 75.0) (ID CWE-311)
  • No restringir la subida de ficheros a ciertos formatos (Puntaje 74.0) (ID CWE-434)
  • Confiar en una fuente de datos no confiable a la hora de tomar una decisión de seguridad (Puntaje 73.8) (ID CWE-807)
  • Ejecución con privilegios innecesarios (Puntaje 73.1) (ID CWE-250)
  • Cross-Site Request Forgery (CSRF) (Puntaje 70.1) (ID CWE-352)
  • No limitar el acceso al sistema de ficheros a directorios restringidos (Puntaje 69.3) (ID CWE-22)
  • Descarga de código sin chequear la integridad del mismo (Puntaje 68.5) (ID CWE-494)
  • Autorización incorrecta (Puntaje 67.8) (ID CWE-863)
  • Permitir la integración de funcionalidades de fuentes no confiables (Puntaje 66.0) (ID CWE-829)
  • Asignación de permisos incorrecta a recursos críticos (Puntaje 65.5) (ID CWE-732)
  • Uso de funciones potencialmente peligrosas (Puntaje 64.6) (ID CWE-676)
  • User un algoritmo de cifrado que ha sido comprometido o roto (Puntaje 64.1) (ID CWE-327)
  • Cálculo incorrecto del tamaño de memoria (Puntaje 62.4) (ID CWE-131)
  • No restricción a un número de intentos fallidos de acceso (Puntaje 61.5) (ID CWE-307)
  • Redirección URL a sitios no confiables (‘Open Redirect’) (Puntaje 61.1) (ID CWE-601)
  • Formato de cadena no controlado (Puntaje 61.0) (ID CWE-134)
  • Desbordamiento de enterios (Puntaje 60.3) (ID CWE-190)
  • Aplicar una función hash sin usar la sal (Puntaje 59.9) (ID CWE-759)

Si cometes por lo menos uno de estos errores en el desarrollo de tus aplicaciones, no dudes en hacer click en su respectivo ID, donde encontraras toda la información necesaria para entender mejor el problema y corregirlo.

Puedes descargar todo el informe en PDF o verla online en la pagina oficial de la Common Weakness Enumeration.

Seguridad Informática, un reto para la Ingeniería del Software o una necesidad

Para este primer artículo quise tocar un tema que me llama mucho la atención y que es un gran reto para los Ingenieros de y profesionales relacionados en este campo en cuál es la . Para esto quiero enfatizarme en el ciclo de vida del el cual es utilizado por los ingenieros de , arquitectos entre otros profesionales involucrados en la rama, pero que tan efectivo es la metodología usada por estos profesionales en los desarrollos de que realizan, esto lo menciono porque la mayoría de profesionales en el campo del nunca piensan en el tema de la seguridad sino en cumplir con su meta u objetivo a alcanzar, pero ¿que tan valido es este punto de vista? en esta época donde la seguridad a tomado mucha importancia para las empresas y personas consientes que saben que la información que manejan es de mayor importancia y no puede ser mostrada divulgada a todo el mundo. Con esto quiero recalcar que la seguridad es importante aplicarla al ciclo de vida del para con el fin de tener calidad en los productos desarrollados y cumplir con los tres objetivos de la seguridad que son la integridad, confidencialidad y disponibilidad ya que en esta época la tecnología va creciendo donde y encontramos que la información que necesitan las personas ya es accesible desde internet, con esto quiero enfatizar que la seguridad debe ser aplicada en cada fase del ciclo de vida del para no tener dificultades más adelante en el diseño, arquitectura, pruebas entre otros.

Después de tocar este tema de mayor importancia por los profesionales de seguridad hay dos preguntas que siempre les realizo a los arquitectos y gerentes de proyectos. Leer más…

DLL Hijacking con Metasploit

Aunque no es algo nuevo, últimamente se habla mucho sobre o suplantación de librerías DLL, gracias al reciente fallo de los  sistemas Microsoft Windows que permite ejecutar código malicioso, colocando la dll a suplantar en la misma carpeta del programa ejecutable, descubierto hace poco por HD Moore y explicado a fondo en su articuloExploiting DLL Hijacking Flaws, también ha publicado un kit, para buscar aplicaciones que puedan ser a este tipo de ataque DLLHijaAuditKit.

Precisamente en esta ocasión les traigo un vídeo de Offensive Security, donde nos enseñan como aprovechar este fallo en Office 2007 utilizando el .

Microsoft ha publicado una solución temporal al fallo (catalogado como critico), pero la solución es que los desarrolladores empiecen a utilizar metodologías de desarrollo seguras, para evitar que sus aplicaciones sean vulnerables.

BioHacking – ¿Una nueva era de desarrollo? o ¿de terror?

Se ha puesto de moda los nuevos blogs y sitios especializados de tecnología sobre la nueva tendencia del tecnológico en mano de jóvenes o personas inquietas que alejados de la inalcanzable tecnología que ostentan grandes biológicos, buscan liberar su creatividad e ingenio en un biolaboratorio improvisado en el garaje o sótano de su casa. Su objetivo dista del tradicional a comercial o la búsqueda incesante de fallas de vulnerabilidad en los sistemas informáticos de grandes o pequeñas corporaciones. Hoy sus esfuerzos se encaminan a la experimentación biológica, a la modificación de un código que no se basa en los tradicionales unos y ceros del binario, sino en una serie de basadas en cuatro letras del alfabeto, A (adedina), T (timina), C (citosina), G (guanina), el lenguaje del ADN.

Según vemos su descripción en wikipedia, en el ADN, cada vagón es un nucleótido, y cada nucleótido, a su vez, está formado por un azúcar (la desoxirribosa), una base nitrogenada (que puede ser adenina→A, timina→T, citosina→C o guanina→G) y un grupo fosfato que actúa como enganche de cada vagón con el siguiente. Lo que distingue a un vagón (nucleótido) de otro es, entonces, la base nitrogenada, y por ello la secuencia del ADN se especifica nombrando sólo la secuencia de sus bases. La disposición secuencial de estas cuatro bases a lo largo de la cadena (el ordenamiento de los cuatro tipos de vagones a lo largo de todo el tren) es la que codifica la información genética: por ejemplo, una secuencia de ADN puede ser ATGCTAGATCGC.. y puede ser traducida como el color de los ojos, incluso, su forma. Leer más…

Como ganar dinero con Software Libre

Desde hace años, el libre para muchos estudiantes de ingeniería sistemas es una manera de aprender y comunicar, una pasión y una diversión. Una diversión que requiere mucho tiempo. Pasada la graduación, frente a la necesidad de ganarse la vida, muchos abandonan al del libre para ir a trabajar al “lado oscuro” del privado de origen extranjero.

Leer más…

Curso de Python dictado por Google

Debido a que el curso sobre desarrollo seguro de aplicaciones web dictado por , fué tan bien recibido, me puse en la tarea de buscar mas contenidos similares y encontré un excelente curso de 2 días para aprender dictado por Google a sus desarrolladores.

pythonlogomasterv3tm300 Curso de Python dictado por Google

El curso de  Python dictado por Google es totalmente gratuito y se enfocada en personas con un poco de experiencia en que quieran aprender Python. Las clase incluye materiales escritos, vídeos de conferencias, y un montón de ejercicios para practicar el código Python. Estos materiales se utilizan en Google para introducir Python a personas que acaban de experimentar un poco de . Los primeros ejercicios de en los conceptos básicos de Python como y listas, hasta llegar a los ejercicios posteriores que se trata de programas completos archivos de texto, los procesos y las conexiones http. La clase está dirigida para personas que tienen un poco de experiencia en programación en algún lenguaje, lo suficiente para saber lo que es una “variable” o un “if” . Más allá de eso, no es necesario ser un experto para usar este material. Leer más…

Clase Virtual Gratuita sobre Desarrollo Web con PHP y Ajax

La Fundación realizara hoy jueves 15 de octubre a las 6PM hora colombiana la primera clase virtual gratuita del curso de de sitios con Y , te invita a participar desde la comodidad de tu casa u oficina, a esta oportunidad de capacitarte en PHP y AJAX totalmente gratis,  simplemente debes contar con computador, conexión a internet, parlantes y micrófono. Leer más…

OLPC y Sugar en Colombia

Hace ya más de cuatro años que la iniciativa fue lanzada al mundo en el Foro Económico Mundial, en Davos, Suiza. Desde ese entonces muchas cosas han pasado, cambios administrativos, reenfoques, despidos y surgimiento de nuevos proyectos. En este momento para , hay más de 785,000 XO-1 en manos de y niñas, un nuevo prototipo en y un futuro aparentemente incierto. Sin embargo, el espíritu original de tener una plataforma de libre para educación, lo que inicialmente hizo que gran parte de la comunidad de libre apoyara el proyecto, sigue en pie. Buena parte de los desarrolladores, voluntarios y seguidores del proyecto OLPC están ahora participando activamente en Sugar Labs, una fundación que tiene el fin de extender Sugar, el creado para el XO-1, de forma que esté disponible para la mayor cantidad de computadores posible.

Incluyendo, además de los XO-1, soluciones como el XO-LiveCD y SoaS (Sugar on a Stick) y el uso de Sugar como escritorio alterno en distribuciones / (Ubuntu, Debian, Fedora, Gentoo, etc) Sugar ha logrado extenderse en 25 idiomas diferentes, a cerca de 40 países, donde casi un millón de niños y niñas lo usan para aprender a aprender. En hay una comunidad activa que trabaja en la divulgación, desarrollo e implementación de Sugar, que además de colaborar con los pilotos de OLPC, también ha logrado comenzar un con profesores de colegios del Distrito de Bogotá para usar Sugar como complemento en sus clases.

La fue trasmitida en vivo por este medio, pronto la pondremos para que la vean de nuevo los que se la perdieron…