Llegamos a ustedes gracias a:



Noticias

Desliz de programador produce bug crítico, admite Microsoft

[16/10/2009] Microsoft reconoció el jueves que una de las vulnerabilidades críticas de red, que parchó a inicios de la semana, se produjo debido a un error de programación de su parte.

El error, uno de los 34 reparados el martes en una masiva actualización de seguridad, se encontraba en el código del SMB 2 (Server Message Block 2), un protocolo de red para compartir archivos e impresiones creado por Microsoft que se entrega en Windows Vista, Windows 7 y Windows Server 2008.
Vean las dos referencias de array para ValidateRoutines[] cerca del final, señaló Michael Howard, gerente principal de programación de seguridad del grupo de ingeniería de seguridad y comunicaciones Microsoft, refiriéndose a un fragmento de código que mostró en un post al blog Security Development Lifecycle (SDL). el índice de array  para ambos es la variable incorrecta: pHeader->Command debería ser pWI->Command.
Howard, conocido por ser uno de los autores de Writing Secure Code, también señaló que el error no solo se encontraba en el código nuevo, sino que era un bug del que preocuparse.
La variable incorrecta -pHeader en lugar de pWI- produjo una vulnerabilidad que Microsoft calificó de crítica, el más alto nivel de su ranking. Un atacante que explote exitosamente esta vulnerabilidad podría tomar el control completo de un sistema afectado. Podría luego instalar programas; ver, cambiar o borrar datos; o crear nuevas cuentas con plenos derechos de usuario, señalaba el boletín de seguridad MS09-050 publicado el martes. Los atacantes podrían activar el bug enviando un paquete SMB a una PC que no tenga el parche.
Al igual que en julio pasado, cuando admitió que un carácter & demás en una librería de códigos de Microsoft creaba una gran vulnerabilidad en la mayor parte del software de la compañía -y software creado por desarrolladores externos tales como Sun, Cisco y Adobe-, Howard señaló en esta ocasión que el error en el SMB 2 era prácticamente imposible de detectar a menos que se realizara una revisión línea por línea.
Actualmente hay un solo requerimiento o recomendación SDL que podría haber encontrado esto, y se trata de una evaluación fuzz, señaló Howard. El único otro método que podría encontrar este tipo de bug es una lenta y meticulosa revisión del código. Este código fue revisado por otros desarrolladores antes de ser introducido a Windows Vista; pero no nos percatamos del bug. Los humanos cometemos errores, después de todo.
El fuzzing -someter al código a una amplia gama de datos para ver si se rompe, y dónde lo hace- fue el que descubrió el bug muy tarde en el proceso de desarrollo de Windows 7, señaló Howard.
Aunque las versiones preview de Windows 7 que Microsoft envió al público -tanto la beta de enero del 2009 como la release candidate de mayo- incluían el bug, Microsoft lo encontró a tiempo para parchar el código final de la versión RTM (release to manufacturing) que oficialmente se entregará el próximo jueves.
El bug del SMB 2 en cuestión no fue el que Microsoft publicitó el mes pasado en una consejería de seguridad. Esa vulnerabilidad, que recibió atención debido a que el código explotado se hizo público, también afectaba a Windows 7 antes de que se generara la versión RTM.
Howard también señaló que pensaba que el proceso SDL de Microsoft había detectado los low-hanging bugs en el código de la compañía, dejando lo que él llama los one-off bugs que son difíciles de detectar usando herramientas automatizadas.
La mayor parte de los bugs que veo en Windows son one-off bugs que no pueden ser detectados fácilmente mediante un análisis estático o técnicas de educación, lo cual nos deja con las revisiones de código manuales, y para algunas clases de bugs, el fuzz testing, indicó. Pero el fuzz testing no es perfecto.
Esta semana la mayor parte de los analistas urgieron a los usuarios de Microsoft a darle alta prioridad a los parches MS09-050, ya que el código de explotación de una de estas tres vulnerabilidades del SMB 2 era de conocimiento público. Microsoft hizo eco de este pedido en sus recomendaciones mensuales de uso.
Las actualizaciones de seguridad de este mes, incluyendo el MS09-050, pueden descargarse e instalarse vía los servicios Microsoft Update y Windows Update, así como mediante Windows Server Update Services.
Gregg Keizer, IDG News Service