Microsoft

UAC y Windows 7. Microsoft escucha.

Hace no mucho hablaban en kriptópolis sobre un fallo de seguridad en la configuración del UAC en Windows 7 que permitía a cualquier programa malicioso cambiar la configuración del UAC sin avisar al usuario, hasta desactivarlo, y por tanto poner en peligro todo el sistema.

Inicialmente en el blog de desarrollo de Windows 7 se descolgaron diciendo que:

Microsoft’s position that the reports about UAC do not constitute a vulnerability is because the reports have not shown a way for malware to get onto the machine in the first place without express consent

que traducido viene a ser que eso no es una vulnerabilidad porque los informes no han mostrado aún una forma de infiltrar malware en una máquina si que se le de consentimiento expreso... lo cual, a decir verdad, nos sonaba a todos como excusa barata.

Por suerte, en un movimiento tardío pero en mi opinión muy acertado, tras recibir bastantes feedback negativos, parece que se han echado atrás y han decidido que, efectivamente, constituye una vulnerabilidad:

we are going to deliver two changes to the Release Candidate that we’ll all see. First, the UAC control panel will run in a high integrity process, which requires elevation. That was already in the works before this discussion and doing this prevents all the mechanics around SendKeys and the like from working. Second, changing the level of the UAC will also prompt for confirmation.

Es decir, en primer lugar el UAC apartir de la release candidate pasará a ejecutar como un proceso de alta integridad, lo cual significa que no se puede atacar con procedimientos comunes (como el SendKeys que permite mandar pulsaciones de teclado a la aplicación) y por otro, TODA acción sobre el UAC que requerirá una elevación de privilegios.

Es sin duda una noticia excelente, por un lado por el fallo de seguridad que, en efecto, consituía el tipo de funcionamiento anterior, y por otro por comprobar que la gente de Microsoft, responde y tiene muy encuenta los comentarios que recibe de sus usuarios.

Introducción a .NET

Prólogo

Este artículo es tan solo una somera introducción a la tecnología .NET dando un repaso a sus principales características y explicando de forma breve el funcionamiento del CLR y de los assemblies de .NET de forma que, cuando trabajemos con referencias a ensamblados o bien usemos el System.Reflection tengamos una idea de que estamos haciendo. Buena parte de lo que yo se de este tema viene de dos libros que recomiendo a todo aquel que quiera tener una visión más detallada de .NET (ambos en inglés aunque no se si existen también en español)

  • Professional .NET Framework. Joe Duffy. Yo recomendaría este libro para [b]empezar a conocer los entresijos de .NET[/b], es decir, como funciona el CLR, que es el CIL, las librerías del framework... (aunque es muy recomendable por lo menos conocer c#, que es el lenguaje en el que están la mayoría de los ejemplos, y haber hecho algún programilla aunque sea pequeño)
  • Essential .NET, Volume 1. Don Box. Es un libro bastante exhaustivo que describe los fundamentos de .NET y del CLR con mucha eficacia aunque, como el mismo Don Box advierte en el prefacio, de forma bastante ardua, "poco para principiantes".

Managed DirectX. Introducción y Tutorial I.

Introducción

DirectX. Si has llegado a este artículo por que quieres programar tu propio Quake 4 en tus ratos libres deja que te saque de tu error, jamás vas a poder hacerlo. Antiguamente los juegos los programaban uno o dos programadores que trabajaban unos meses y conseguían crear un juego (mejor o peor). Actualmente los juegos los programan equipos relativamente grandes de personas con diversas especialidades (no hace falta solo programar sino también diseño gráfico, composiciones musicales, efectos de sonido, etc).

¿Entonces que voy a poder hacer? Bueno, quizá no consigas programar un juego de última generación pero quizá si puedas programar algún pequeño juego, conseguir un simulador físico convincente o sencillamente impresionar a las visitas (y de paso mejorar tu curriculum). Además programar gráficos en 3D es bastante gratificante (una vez las cosas van funcionando) puesto que el resultado es más "gráfico".

Managed DirectX se traduce como DirectX "Asistido" que me parece un termino muy feo en español así que simpre utilizaré el termino ingles que me suena mucho más apropiado.