Disponibles las presentaciones de la October Conference .NET 2007 de Málaga

Acabo de ver que las presentaciones y el código de las demos de las charlas ya se pueden obtener en esta dirección: http://www.octoberconference.net/content

Al momento de redactar esta entrada, faltan los contenidos de las sesiones No nonsense WPF de Chad Hower y Ruby on Rails in .NET de Neal Ford.

El nivel de las charlas fue excelente y con unos ponentes de auténtico lujo. La organización mereció un sobresaliente. Pulgar hacia arriba Esperemos que la cita del año que viene (edición: al final no tuvo lugar) sea igual de buena o incluso mejor, aunque hay que afirmar que el listón se ha puesto muy alto en este primer encuentro.

Introducción a los volcados de memoria en Windows

Un volcado de memoria, o memory dump en inglés, es una instantánea del estado interno de un programa, ya sea una aplicación en modo usuario o el núcleo del sistema operativo. En otros sistemas se emplea más el término core dump con un significado similar o equivalente. El estado interno comprende, entre otros, los valores de los registros «visibles» del procesador y porciones significativas del espacio de direcciones de memoria que incluyen código, datos y pila.

Continue reading «Introducción a los volcados de memoria en Windows»

Informe de Microsoft sobre Office 2003 Service Pack 3

Microsoft publicó hace unos días un documento en el que expone los cambios introducidos en el Service Pack 3 de Office 2003. Este service pack no sólo consiste en una recopilación de parches, sino que modifica diversos aspectos del comportamiento de los productos de Office 2003 con relación a la seguridad, la privacidad de los documentos, la experiencia de usuario y la compatibilidad con Windows Vista y Office System 2007.

El documento está en inglés, disponible tanto en el formato binario «clásico» de Word (extensión .DOC) como en el formato nativo de Word 2007 (extensión .DOCX).

Office 2003 Document: Office 2003 Service Pack 3 White Paper

Interesante artículo sobre inyección en consultas LDAP

El maligno Chema Alonso ha publicado en su blog un artículo en tres partes acerca de un tipo de vulnerabilidad que se empezó a tomar en consideración a partir de 2005. Al parecer, la referencia inicial sobre este problema fue el documento de investigación LDAP injection de Sacha Faust, un ingeniero de desarrollo de la empresa SPI Dynamics.

LDAP es un protocolo relativamente sencillo que actúa sobre un servicio de directorio. La vulnerabilidad, similar por ejemplo a la inyección de código en una consulta SQL, estaría presente en aplicaciones que no validan correctamente los datos con los que completan sus consultas LDAP. Esto supone en principio un riesgo de divulgación de información.

Podéis leer el artículo de Chema y compañía en este enlace: LDAP Injection & Blind LDAP Injection.

Cómo me cargué los contadores de rendimiento

Hace unos días observé que se generaban en cada arranque de mi Windows XP estos sucesos de LoadPerf en el registro Aplicación: 3011 (error), 3012 (error) y 1000 (información).

Tipo de suceso: Error
Origen del suceso: LoadPerf
Categoría del suceso: Ninguno
Id. suceso: 3012
Fecha: 26/09/2007
Hora: 18:43:47
Usuario: No disponible
Equipo: GABARDINO
Descripción:
Las cadenas de rendimiento en el valor de rendimiento del registro es incorrecto al procesar el proveedor de contador de extensión Performance. El valor BaseIndex del registro de rendimiento es el primer valor DWORD en la sección de datos, el valor LastCounter es el segundo valor DWORD en la sección de datos y el valor LastHelp es el tercer valor DWORD en la sección de datos.

Para obtener más información, vea el Centro de ayuda y soporte técnico en http://go.microsoft.com/fwlink/events.asp.
Datos:
0000: 37 07 00 00 00 00 00 00   7.......
0008: 00 00 00 00 ca 03 00 00   ....Ê...

Tipo de suceso: Error
Origen del suceso: LoadPerf
Categoría del suceso: Ninguno
Id. suceso: 3011
Fecha: 26/09/2007
Hora: 18:43:47
Usuario: No disponible
Equipo: GABARDINO
Descripción:
Error al descargar las cadenas de los contadores de rendimiento para el servicio WmiApRpl (WmiApRpl). El código de error es la primera sección de Datos en DWORD.

Para obtener más información, vea el Centro de ayuda y soporte técnico en http://go.microsoft.com/fwlink/events.asp.
Datos:
0000: f2 03 00 00 3b 07 00 00   ò...;...

Tipo de suceso: Información
Origen del suceso: LoadPerf
Categoría del suceso: Ninguno
Id. suceso: 1000
Fecha: 26/09/2007
Hora: 18:43:50
Usuario: No disponible
Equipo: GABARDINO
Descripción:
Se cargaron satisfactoriamente los contadores de rendimiento del servicio WmiApRpl (WmiApRpl). Los datos de registro contienen los nuevos valores de los índices asignados a este servicio.

Para obtener más información, vea el Centro de ayuda y soporte técnico en http://go.microsoft.com/fwlink/events.asp.
Datos:
0000: 0c 14 00 00               ....  

Como no me gusta ver errores o advertencias generados durante el inicio el sistema, decidí investigar un poco.

Windows posee una infraestructura, por llamarla de algún modo, para producir o consumir métricas de rendimiento de aplicaciones, servicios, controladores, subsistemas y todo el equipo en general. La recogida de datos se lleva a cabo mediante proveedores de rendimiento, que no son más que DLLs especialmente diseñadas para ese propósito. (Windows Vista introduce un modelo nuevo de contadores de rendimiento, aunque mantiene el anterior por razones de compatibilidad.)

La consola de administración de rendimiento proporciona una interfaz gráfica para obtener muestras periódicas de diversos contadores en tiempo real, registrar su evolución y establecer alertas. Se puede acceder a esta consola desde la carpeta de Herramientas administrativas, o ejecutando directamente Perfmon.exe o Perfmon.msc.

De vuelta a los sucesos, EventID.Net resultó ser la primera fuente de información: LoadPerf 3012. Los comentarios hacen referencia a dos herramientas del sistema para cargar y eliminar en el registro de Windows la información de contadores de rendimiento asociados a un determinado componente del sistema: Lodctr y Unlodctr. También se menciona un artículo de la Knowledge Base de Microsoft al que se recurriría si fuera necesario reconstruir la lista de contadores de rendimiento. Las instrucciones se aplican a Windows 2000 en inglés. Para otras versiones e idiomas, el proceso tiene algunas variaciones.

How to manually rebuild Performance Counter Library values (KB300956)

El caso es que, haciendo pruebas tontas para averiguar cómo funcionaban las herramientas Lodctr y Unlodctr, acabé borrando todos los contadores de rendimiento. Cuando abrí el monitor del sistema en la consola de rendimiento y quise agregar un contador, la lista desplegable Objeto de rendimiento sólo mostraba puros números y las listas de contadores e instancias estaban completamente vacías. Además se generó un «chorro» de sucesos relacionados con índices de contadores y valores de registro inexistentes.

La resolución tomada, en el próximo capítulo.