David Daniel Arroyo Zari - Ddaz -

MVP 2004 - 2005 de VB para México.
PatoAventura: Dacito en la batalla contra las referencias mal referenciadas! del Win 7

Hola de nuevo, esta es una cortita, la pongo en caliente, pq sino luego se va a la cola y ya no sale…:

bueno, tengo que aceptar que quizá este post tenga algo de bilis, espero que sea en su mínima expresión.

Antecedentes

esta pato aventura empezó, por que tuve que lanzar un proceso de análisis –automatizado- de una app el cual iba a demorar un par de horas, así que me  puse a ver como me entretenía, como había platicado con Eber via twt sobre cuales apps eran mas inseguras las de win32 o las de .net – eso es otro tema… – se me ocurrió probar el hacer el análisis de un archivo obfuscado con un desensamblador tradicional y en un editor hexadecimal.. Vs un archivo la versión original de ese archivo, en este caso era una app win que había echo días atrás, y para esto utilice el OllyDbg 1.1 y tbm el notepad++ con el plugin de fuente hexadecimal..  – si, ya se existe el WinDbg, pero no puedo dejarlos a un lado –..

Y que paso???

Me puse a analizar el código en ensamblador que mostraba, entonces… se me ocurrió ver que cadenas ASCII y las UNICODE – use el plugin “Ultra String Reference” del OllyDbg .. este pluging ademas de mostrarme las referencias del archivo, tbm me mostro las referencias string, de los archivos referenciados y dependientes … y en eso pude ver esto….

fuentewin7

cuando vi esto…. recordé unas experiencias previas con win 2k3..

si ven en la parte izquierda, esto viene de “ntdll.dll” una libreria de win7, y esta referenciando a una  ruta “ e:\win7rc\minikernel\theranpool\ntdll\waiter.c” – oh win 7 lo hicieron en C xD!”- pero que es esto?  simple, parte del codigo de la dll esta referenciando, al archivo fuente, el cual lógicamente no tengo, y además, que esta en otra partición – la cual no necesariamente podría existir en mi pc-, y esto pa que o que? en algunos casos cuando ocurre algun error, o en determinada situación Windows intenta buscar el archivo fuente – para lanzar su depurador – pero “oh sorpresa” el archivo no existe….  como ya deben de saber, el buscar archivos es algo costoso – en procesamiento -  y mas aun si no existen, pq pueden lanzar excepciones y ps una excepción provocada por otra excepción pues es doblemente costosa… o me equivoco?.

se que mas de uno ya estara pensando en responder al post con un “es beta”, y justo por eso muestro esto :

fuentewin2k3

es la misma dll “ntdll.dll”, con la diferencia que es del Windows 2003 R2..versión final … escogí la imagen al hazar,  y la dll tbm, ya que no son las únicas con este “detalle”, si se fijan en este caso los archivos con “.CPP” ósea que al windows 2003 r2 lo programaron en… ? xD!, pero bueno, no nos salgamos del punto….

Cual es el punto?

el punto es que los programadores de Microsoft, dejan referencias a rutas absolutas de  archivos “fuente” dentro de sus dlls, las cuales luego son llamadas por X o y motivos…  y estas al no estar presente lanzan a su vez otra excepción, que conseguimos con esto? simple… que nuestros win respondan de modo mas lento, ya que todas las excepciones no controladas son muy costosas – asi como las novias que son “pedilonas xD” -

creo que cualquier administrador de server decente -y especifico decente, pq el echo de meter el disco y darle next a todo no los hace un administrador de server..-  y cualquier otra persona que sea muy fan de ver el visor de eventos, a visto alguna vez en su vida, un error marcado casi sin motivo al parecer alguno en el visor de eventos, donde el mensaje dice “no se encuentra el archivo d:\nt\base\ntdll\……”  y uno nomas dice “juat!??” , esto muy común en Windows 2003  - ojo, win 2003 me parece un muy buen sistema operativo, pero de todas maneras no se escapa de esto –.

Personalmente aun no entiendo el por que los programadores de Microsoft hacen esto, para una app que usaran personas que no tienen el fuente a la mano…, ya que habrían otras formas de ubicar la fuente del error, sin tener que hacer llamadas a esos archivos.. la verdad no les entiendo, ya que evitando esto, podrían hacer que windows sea un poco mas estable…, la verdad cada vez los entiendo menos….

se que hubiera cerrado con broche de oro, mostrar una imagen del filemon donde sale la llamada a ese archivo o el visor de eventos, donde se hace una llamada a esos archivos, pero no e podido sacar aun una serie de pasos repetibles sobre como hacer k aparezcan estas llamadas y ando con mucha chamba … – las cuales ya me han pasado varias veces - ,  y aunque este tipo de “situaciones”  no se ejecuten todos los días, pueden hacer que un día X cuando estemos con alguna aplicación critica, truene algún proceso y este a otro y esta bolita de nieve se vuelva una avalancha y sea algo mas fuerte  - ya me paso… –, si mas adelante me sale uno, lo agregare a este post….- un screen shot -

que podemos hacer nosotros en estos casos ? … lamentablemente nada… y solo rezar por que no nos pase… y  tbm rezar pq ms deje de hacer esto en las apps de producción …

por situaciones como esta, es que recomiendo siempre que al listado de pruebas por hacer, se haga una revisión al archivo desensamblado, para ver que posibles detalles se podrían encontrar por allí…, lamentablemente no muchos lo hacen.. :(

 postdata: las imagenes que puse alli son al hazhar... si quieren verlo por sus propios ojos, las cientos - si es que no miles - de llamadas... pueden buscarlo uds mismos .. ;) ....

Salu2

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
sobre el por que creo que SI es una moda esto de SCRUM, la Aguilidad, etc – respuesta al post de Jersson-

 

tenia esta respuesta pendiente....  al post de jersson, con respecto a la pregunta que hice en el twitter


personalmente creo que SI es una moda, esto de "ser agil", o  usar "SCURM"....
y antes que salten encima con sus uñas, aclaro, que intentar mejorar no me parece malo, ni tampoco que se use scrum - bien aplicado- ...


algo que ley muy seguido en el twt es "sentido común".. y curiosamente eso mismo es lo que me parece el "manifiesto agil", es algo tan obvio, que el echo que gente se haya tenido que juntar para poder darse cuenta de eso, demuestra lo mal que estaba la industria del software.

Lamentablemente la industria del software es de las menos serias entre todas las profesiones, aunque, eso si, muchos hacen el esfuerzo para corregir eso.., lo malo es que no hay un verdadero norte..., todas son especulaciones, sobre como se podría mejorar, y le digo especulaciones, por que no todas las soluciones funcionan para todos..- en un momento completo la idea-.


se quiera o no aceptar en la industria del software, todo se basa en fondo de "que autor eres fan",  si eres fan de don box, de  Watts Humphrey, de alguno de los los scott, de Kent Beck, etc.., muchos autores para muchos temas, ya sea cmmi, xp, scrum, etc...., a diferencia con las carreras mas formales, donde uno puede leer  a un autor X y por mas bueno que sea, no fanatizarse con uno u otro aspecto, al menos en mi carrera original, podia leer muchos libros de diferentes autores, sobre procesos, reacciones y demas, pero ninguno le ganaba a los datos, que eran irrefutables, en soft eso no se puede hacer... por algo muy simple... el factor humano.


lo que cuenta la historia..., -lógicamente todos buscando la solución a los problemas..-. en el desarrollo de software.. quieran o no, se crearon modas… ,  entre los mas resaltantes estuvo la OOP, luego recuerdo que en Perú llego la moda del RUP,  - pude ver a muchos mvps, y demas  en ese tiempo k a todo lo veían con ojos de RUP, esto hizo que muchos sigan a rup-  luego llegando a México pude ver la moda del CMMI, en tecnologias microsoft, hubo la moda del dataset, luego tbm vino la moda linq,- y junto con pegado LinQ2SQL, el WinME de .Net-, cuando se hizo obvio que linq2sql no era "muy bueno" - oh sorpresa- luego muchos se fueron corriendo a EF...- , y hace poco  - por mas que estuvo mucho tiempo en beta-  ASPNET MVC...,  una de las modas que mas me causo risa, y que aun sigue, es la de Sharepoint,  el cual salió hace mucho... la gente lo veia y nadie le hacia caso, - en ese tiempo yo use implemente y recomendaba SharePoint-, y luego algún famoso - no se aun quien fue- mostros a SharePoint.... y OH WOW... luego otro grupo tras de SharePoint... en este medio, no importa que la tecnología exista de tiempo atrás.. solo importa si algún famoso lo muestra y dice que es cool...   para que corra un gran grupo tras de esa tecnología/ metodología, etc...


y ojo, no digo que esas tecnologías / metodologías  sean malas...- bueno a excepción de linq2sql, que si opino que es el peor error de ms de los ultimos años-, sino que la gente no se basa en investigaciones, en estudio, en evaluaciones, sino se basa en lo que otros opinen al respecto...,  y eso mismo lo e visto aqui en geeks.ms.. por eso es que le llamo moda.


un ejemplo claro, en Perú y España a pegado mucho esta moda, en España me parece claro y lógico, por que muchas de las personas mas resaltantes optan por esta tecnología, - y estoy seguro que en base a investigación y evaluación-, y eso llevo a que otros se sumen – no muy estudiosos- , en peru dependen mucho de lo que digan los autores de eeuu con respecto a .net - y eso lo e visto en muchas personas, y "celebridades" -, en cambio, aqui a México llego hace un par de años Watts Humphrey , era logico que venga, ya que el ITESM tiene convenio con Carnegie Mellon University,  vino y explico sobre PSP y TSP, la gente quedo impactada, y acto seguido, todos querian llevar PSP Y TSP, esto pego tanto, que actualmente en la maestría de ing de software,  tocan básicamente PSP Y TSP, en las universidades se esta enseñando, y empujan a los alumnos a certificarse en PSP, y les dicen que "con eso arreglaran sus lios", sin fijarse en las capacidades de las personas.... , me pregunto, que hubiera pasado si Watts hubiera ido a peru en vez de a mexico?... xD!!?


Intentar seguir técnicas "Agiles" es malo? definitivamente no, pero una cosa es eso, y otra gritar a los 4 vientos "Soy agil,  y  vamos  te ayudo a que seas agil"...  , asi como rodrigo dice, que aparecen muchos "Gurus"... asi estan apareciendo muchos  en lo que respecta a agil... ya que ahora "ser agil es ser cool" ...


y si, rodrigo tiene mucha razon al decir que el fondo de la "agilidad", es avanzar con respecto a los procesos que ya estaban establecidos, - como cmmi-... pero ahora viene mi pregunta, cuantos que estan intentando seguir las cosas "agiles" lo son por que han estudiado, analizado, investigado y comparado con respecto a las otras metodologías / tecnicas?  y cuantos solo por que vieron a un "compa" en el cual creen que sabe mas y "si el usa cosas agiles es por que es bueno, asi que yo tbm voy a usarlo"..


vamos, querer negar esto, seria como querer hacer agua con tan solo juntar unos átomos de hidrogeno y oxigeno a temperatura ambiente... o para que lo entiendan mejor, querer  tapar el sol con un dedo....


pero algo importante - y que muchos aceptan- es que no todos pueden usar todas las metodologias, por ejemplo, a rodrigo le funciona usar SCRUM en su empresa, por que el tiene en su equipo a gente que son muy buenos en su area, y muy inteligentes, pero cuantos pueden darse ese lujo? hablando por el twt con unos amigos, hace poco ellos mismos decian que la realidad es que en el mundo real aun predominan las empresas donde todos hacen de todo, no se contrata personal idoneo y muchas veces hay que verselas con programadores o analistas mediocres...., para poder usar SCRUM o XP -como ejemplo- necesito gente que sea inteligente  y proactiva, que no sean personas que les de flojera usar sus neuronas...; pero que pasa si mi equipo no es de los mejores? pues en muchos casos es mejor retroceder un poco a  cosas como CMMI o TSP que son mas pesados, mas documentacion, etc etc, pero que podrian darme un mejor resultado, con respecto al tipo de personal que cuento,....., si seguro pensaran que subestimo a la inteligencia de los desarrolladores, pero suene feo o no, es la verdad..., es como en los kentucky, mac donals, etc... sus cocineros no son buenos, pero si siguen el manual al pie de la letra, el resultado puede ser mejor de lo esperado....


si, se que en el soft existe el factor humano, que desequilibra cualquier ecuacion, por eso es que en soft no habra - al menos en los proximos 15 años-  una forma real y tangible de hacer soft con una seguridad de hacer soft con cierto % de calidad, con cualquier tipo de personal....

que es lo que dice la definición de moda? según RAE?  “Uso, modo o costumbre que está en boga durante algún tiempo, o en determinado país”, esto es lo que se ve, en casi todo lo que respecta a tecnologías/ metodologías, etc…  

lógicamente hay quienes si llegan a la conclusión de usar determinada tecnología/metodología/ tecnica, basándose en experiencias previas, evaluaciones e investigaciones, esas personas si tienen mi respecto… pero la mayoría no es asi, solo siguen por que “algun guru local  lo hace” .. suene feo o no es la realidad…


estoy seguro que esto de lo agil, scrum y aqui en mex el psp y tsp, seguirán vigente hasta que aparezca algo que los reemplace....  cuando algún gurú local o internacional use otra cosa que sea “mas cool” …


tengo muchas cosas mas en mente, pero bueno al menos por ahora le parare, y repito, la definición de “agilidad” no me parece mala.

les dejo una pregunta? .. SCRUM  hace cuanto se creo? hace cuanto estuvo esto de la “agilidad” en el mercado… y desde cuando se hizo “famoso” y “cool”  y se volvió masivo?  empaten las fechas…. y me avisan..

ahora si, disparen con todo lo que tengan xD!!

Salu2

Dacito Bauer!

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Pato aventura : Analisis de un virus en frio…

Hola:

les voy a contar mi ultima pato aventura..

Ddaz.mode=Daniel

hoy en la mañana me llego un email, de esos típicos que te dicen que alguien te envío una postal… 

a diferencia de antes cuando enviaban este tipo de emails  de alguna cuenta inventada, que podía ser fácilmente marcada como “no deseado”, están enviando estos emails de la cuenta “info@hi5.com” que esta tomada como “cuenta normal” y a casi nadie le llega a la carpeta de “correo no deseado” – lógicamente fue enviado desde un lugar que no es el verdadero…  en teoría el email viene desde el dominio metropostales.com, y el que envió el email no es el mismo dominio

email

lo primero que suelo hacer en este tipo de casos es ver el encabezado del email, en hotmail – o live mail – pueden darle con el botón derecho al email y seleccionar “ver código fuente”, les dejo  la imagen del encabezado, no borre las direcciones ni dominios originales – para que vean quien  fue el que lo envió… -

header

Al ver este tipo de datos  en la cabecera del email es posible estar seguros a un 99.9%  de que es un email falso,  al dar clic al vinculo – no pude resistirme – me di cuenta que descargaba un archivo que tenia un icono de un circulo y decía claro –si, el de una empresa de telefonía que funciona en Perú –, en este momento ya estaba totalmente seguro que era un virus, solo que aun no estaba muy seguro de que sea de Perú. 

icono

en esta ocasión hice lo que siempre hago – soy partner de ESET,si  los del nod32 –,   y les envío de vez en cuando alguna muestra de virus que encuentro – bueno tbm me gusta coleccionarlos,  quien sabe, quizá algún día los ocupe –, lógicamente al ser domingo es lógico que no respondan rápidamente, así que decidí esta vez analizarlo un poquito,

luego me puse a ver las propiedades del archivo  y pude ver esto :

propiedadesarchivo

Al ver estos datos pude ver que el que creo el virus no es tan metódico, ya que dejo demasiadas cosas sueltas como el nombre del proyecto “Proyecto1” ,  y el archivo  original se llamaba formulario.. e visto virus mas elaborados y no se saltan este tipo de detalles.

el segundo paso era saber con que fue compilado – en que lenguaje se hizo –, para esto use la herramienta “File Inspector XL”, el cual pueden descargar desde esta web http://www.exetools.com/file-analyzers.htm , dándome como resultado :

headerfile ya con esto pude saber que lo hicieron con Visual Basic  -  donde están los que dicen que el VB no sirve ? -

ya sabiendo esto, solo tenia que buscar el descompilador – o desensamblador -  adecuado, ya que  no todos los desensambladores funcionan con todos los ejecutables, en este caso use 2, uno es el VB decompiler lite  y el otro fue el W32DASM – con un parche para referencias VB –, y las imágenes que salieron fueron:

vbdecompiler

de esta imagen algo que destaca es “MicrosoftUpdateManager”  suena a la ventana de Windows update, pero no dijo mucho, así que me fui con el W32DASM.

w32dasm al abrir el archivo con el w32dasm,  y luego ir a la sección de “String references” salieron estos datos – cadenas de texto usadas en el programa  y que  pudo analizar el de compilador, en frio, vienen datos como :

  • “load=C:\windows\system32\updmngr.exe”  que debe ser el nombre de como se instalara el Virus, y esto se podría ver luego en el msconfig.
  • “http://minux2010.no-ip.org” este es el sitio donde el virus envía /recibe información.
  • “c:\windows\system32\drivers\etc\hosts” este es un archivo de sistema que guarda unas urls en cache de la pc… el virus – como muchos – infectara la pc,  lo mas común es para que cuando uno abra una ventana del navegador, automáticamente se conecte allí.
  • En la imagen se ven algunas secciones como <PRE> y </PRE>  así que de aquí se puede suponer que mostrara una ventana con algo de código HTML.

 

todo esto aun sin analizar en código ensamblador mostrado – que tomaría algo mas de tiempo - y bueno, al menos por ahora es suficiente, ya que es un analisis simple, sin tener que ejecutar la aplicación.

intente correr el programa en una pc virtual con Windows 2003 y en mi pc host con Windows 7, pero como no tenia las librerías de VB6 – msvbvm60.dll - , salió un error y el virus no funciono uhh que pena – si alguien quiere el virus, se lo puedo enviar por email – si es que me lo pide… lógicamente-

Quería enviarles un screenshot de la ventana del virus… pero al menos por ahora aun no me animo a descargar la dll que hace falta, para poder abrirlo….

lógicamente no mostré mucho sobre el desensamblado – cosas que mostrare en un futuro  - , el w32dasm pueden encontrarlo en “Crackerskit 2” – googleando lo encuentran – o  tbm en esta pagina http://www.exetools.com/disassemblers.htm .

Se que esto no tiene nada que ver con .net… pero recuerden que “No solo de .Net vivirá el hombre, sino de todo código que sea escrito y sea funcional.”

con esto respondo el pedido de Ebersys

Ddaz.mode=Dacito

Salu2 

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Mi Opinión y Experiencia Personal sobre TDD – y de por que NO estoy MUY de acuerdo con el -

Estoy últimos días e visto platicas, post ( uno de ellos es este )   y mensajes en el twitter sobre cuestiones “agiles”  y temas afines, aunque un tema en particular atrajo mi atención, es sobre TDD o  como algunos lo conocen, y ya no pude evitar querer dar mi opinión al respecto; aunque antes que nada me veo obligado a dar unas premisas, en las cuales basare mi “punto”

Premisas ( o como las quieran llamar)  :

  1. No todos los Programadores tienen el mismo Nivel : Esto es conocido por todos, aunque no aceptado públicamente – cuestiones de orgullo –,  así como hay programadores que no necesitan documentación – un amante de gnu por allí de ejemplo? –, y otros que no necesitan pruebas unitarias para hacer programas con cero errores o quizá un numero mínimo de ellos… así también hay programadores, que con toda la documentación, capacitación y pruebas unitarias les falla la aplicación.. causas?  quizá algún gen maligno, magia negra, el chupa cabras, la CIA interfiriendo nuestras ondas cerebrales con algún aparato electrónico a lo “Agente 86”… o quizá algo mas de experiencia y aprender de los errores pasados sumado un poquito de mucho estudio y practica.
  2. Que exista cierta metodología o proceso, implica que hay personas a las que SI les funciono, pero no significa que a todos les funcionara. que exista RUP, SCRUM, etc. significa que hay personas a las que siguiendo los pasos que le fueron indicados, tuvieron éxito en lo que buscaban, pero esto a su vez no implica que a todos les ira bien, posibles factores son muchos -
  3. Las Metodologías, técnicas, etc., no son Leyes : aunque suene feo, si obviamos usar determinada metodología “así tal cual viene en la caja”, si evitamos usar rup, scrum, etc etc etc.. esto no implica que nuestro software tenga muchos errores, o no sea optimo, las metodologías solo son una guía en la cual nos podemos basar para intentar tener un buen resultado con un mínimo costo / tiempo, OJO no estoy impulsando a no usarlas, solo quiero aclarar que no es un pecado capital “el no usarlas”, lógicamente que es como el juego de la ruleta rusa, nos puede ir bien  o nos puede ir mal, personalmente no soy de los que usa algo “tal cual viene en la caja” sino que lo personalizo hasta poder sacar el máximo rendimiento.
  4. Un Programador no piensa igual que alguien involucrado a fondo en el área de pruebas – a menos que tenga extrema experiencia en el tema-  :  en este punto e tenido algunas discusiones – muy placenteras – con algunos colegas; tengo algunos años – no muchos  si los comparo con algunos de los maestros que rondan por aquí en geeks.ms – e trabajado junto  a desarrolladores de al menos 2 países ( Perú y México) y con mas de 6 años de experiencia en pruebas, y e podido constatar – eso sin tomar en cuenta a lo que ya dicen muchos  respecto al tema –, que la forma de pensar de un programador “promedio” – ojo con la premisa 1 -  su forma de ver las cosas es como “construir” algo, su mente este abocada a armar software y es muy difícil – por no decir casi imposible – en pensar a fondo en pruebas, lógicamente se le ocurrirá una que otra, de cosas simples o básicas, pero no de las que son a profundidad;  a diferencia de alguien involucrado en pruebas – y no me refiero a los pica botones – en el cual su mente esta abocada a “Destruir” y pensar en como destrozar algo que otro realizo, se que muchos me dirán que no es cierto, pero e realizado la prueba con muchos programadores -soy del tipo que le gusta hacer experimentos son la gente- y los resultados fueron muy claros. Lógicamente hay personas con algo de experiencia – y que no tienen perdida de memoria -  y con el transcurrir el tiempo van pensando en pruebas cada vez mas complejas, lamentablemente este ultimo grupo es muy reducido. – no me extiendo mas, sino me auto robo el tema del siguiente post, que espero sacarlo ahora si -
  5. Una prueba unitaria básicamente es: probar que metiendo A datos a X función me devuelva Y; pero esto no implica que si meto B me devolverá Z:  el titulo habla por si solo, me extenderé en esto mas adelante.
  6. Basarse “solamente” en una forma de medir el software  puede ser tu perdición : aquí es simple, el usar “solo X” puede ser la causa que un proyecto se venga abajo, ya que en el software interviene el factor humano, el cual  es capaz de romper cualquier regla, en otras palabras, el hombre esta aplica principio de incertidumbre de Heisenberg, y por lo mismo quizá una forma única de ver las cosas nos diría que estamos en lo correcto, mientras que otra medida nos diría que no. ( al hablar de medidas me refiero a pruebas )

 

Veamos ahora algunos puntos acerca de TDD – por comodidad me fusilare los pasos descritos en wikipedia -

  1. Escribir El Requerimiento.
    • Esto es algo que se repite en cualquier metodología/ y forma de trabajar, el error en este punto varia directamente proporcional al que recoge los requerimientos… aunque de aquí depende mucho  el avance del proyecto, sobre que tantos y que tan buenos fueron los requerimientos recogidos –aquí hay material para extenderse otro post -
  2. Escribir las Pruebas.
    • Bueno:
      • El fin aquí es escribir el menor código “funcional” – de la app – al hacer que el programador se dedique a generar código que pase las pruebas,  estas pruebas están basadas en los requerimientos establecidos, aquí el nivel de efectividad depende de la calidad de requerimientos.
      • El echo de escribir la prueba antes que la funcionalidad, nos abre un poco mas la vista sobre que es lo que realmente necesita la aplicación de acuerdo a determinado requerimiento – ya que hay casos en que el error es que simplemente no se entendió bien el requerimiento –.
      • Cuando hay cambios en la aplicación,  se puede correr las pruebas y verificar que la aplicación “aun” supere las pruebas.
      • Las Pruebas unitarias no son el chupa cabras : algo que es absoluto es que Si o SI se tienen que hacer pruebas a la aplicación, ya sea antes o después – como puso Rodrigo en este post , aunque para algunos, escribirlas después hace que ya NO sea TDD-; personalmente las prefiero después.
      • Muchos de los beneficios los integro Ibon Landa en varios links de  este post, que seria bueno que lo vean.
    • Malo:
      • El Echo de que TDD pida que se hagan las pruebas antes, implica que el programador hace tareas de el encargado de pruebas : algo que se puede subsanar dando las pruebas para que lo realice una tercera persona, o se realicen luego de escrita la funcionalidad, lo cual podría traer líos con los puristas de TDD
      • Algunas veces para intentar cubrir todo, se crean requerimientos redundantes, que traen a su vez  pruebas redundantes, lo que implica una perdida de tiempo que se puede entender por perdida de $$.
      • En Algunos casos las pruebas terminan siendo mas complejas que la funcionalidad en si, haciendo que mas que una ayuda, sea un lastre para el proyecto – ojo que no es en todos los casos-
      • Muchas personas – no aplica en todos los casos – consideran que es una perdida de tiempo escribir las pruebas antes que el código, esto también depende de la pericia del programador y a como este acostumbrado a trabajar, personalmente no soy “fan” de escribir las pruebas antes, aunque si me gusta desde la etapa de requerimientos, definir las pruebas que debería pasar la aplicación.
      • que tenga 3000 ( o mas ) pruebas unitarias, no implica que este tomando en cuenta la totalidad de “posibilidades”, ya que una cuestión es probar valores puntuales en funcionalidad puntual  y otra muy diferente  tomar valores y estados en conjunto, ya que por ejemplo tomando un universo de 10 variables, estas 10 independientemente pueden funcionar a la perfección, pero en conjunto, en determinada situación pueden causar un error, que quizá no será un error de aplicación, sino un error de lógica y a su vez obtener valores erróneos,
      • Trabajar con demasiadas pruebas puede hacer que uno caiga en la desesperación como en este caso , que por cierto tiene gran  parte de razón, ya que las pruebas se pueden extender infinitamente, y un proyecto que pudo desarrollarse en 3 meses podría extenderse 2 años por el puro echo de ir programando pruebas, a la hora de hacer las pruebas, hay que saber en que punto detenerse.
      • Algunas personas llegan a creer que por el echo de que la aplicación haya pasado las pruebas unitarias significa que ya esta lista para irse a producción: Lamentablemente aun hay personas y empresas, que toman a menos a los encargados de pruebas, quizá  por que en muchos casos se contrata a  personas sin – o muy bajos – conocimientos técnicos y esto hace que los programadores y jefes de proyectos tomen a menos a los del área de pruebas. – aunque si hay casos en el que el razonamiento es justificado –; esto sumado al ego – si, ya se, estoy desvariando, los programadores no tenemos el ego grande, ni tenemos complejo de todopoderosos, son alucinaciones mías –, han llegado al punto de hacer que en ciertos casos los programadores minimicen o ignoren errores reportados – me consta- , los cuales luego tronaron – fallaron – en producción y trajeron muchos dolores de cabeza, este tipo de problema es algo complejo de resolver, por que escapa a lo “profesional” y se va a lo personal. algo que si es definitivo es que a pesar de todas las pruebas unitarias que le hagamos, aun la aplicación debe de pasar por un proceso de pruebas,  algo mas especializadas y quizá no automatizadas.
      • Las pruebas Automatizadas no aseguran que la aplicación este libre al 100% de errores :  ya que muchos de los causantes de sitios web hackeados, son por vulnerabilidades que las pruebas automatizadas no detectaron, sino miren el ejemplo de MS y que le paso por confiar en sus pruebas automatizadas , por eso es casi de ley hacer pruebas de esas que son basadas en el “ojímetro” – espero poder dar ejemplo prácticos sobre esto en un futuro no muy lejano - 
  3. Verificar que la prueba falla:
    • Aquí verificaremos que el error se presente… el problema es que pudimos habernos pasado unos 30 minutos o 1 hora escribiendo cierta prueba, que a las finales no falla, y no necesariamente por que la prueba este mal, lo que implicaría de nuevo una perdida de tiempo, aunque a su vez nos podría confirmar que X funcionalidad trabaja correctamente.
  4. Escribir la implementación:
    • aquí escribimos la funcionalidad de la aplicación, la cual deberá integrar  las validaciones necesarias  para poder superar la o las pruebas, en teoría – si estuviéramos en con Alicia en el país de las maravillas – la aplicación debería de funcionar sin problemas, la codificación de la aplicación debería de ser mínima, lamentablemente es algo que no pasa muy seguido a menos que el programador ya tenga una amplia experiencia,  lo cual nos saca del foco del “programador promedio”.
  5. Ejecutar las pruebas automatizadas:
    • Aquí la aplicación debería de pasar todas las pruebas, pueda darse que la aplicación pase las pruebas a la primera corrida, pero esto no implica que este libre de errores, solo indica que puntualmente la aplicación esta respondiendo  con determinados datos, pero no a todos
  6. Eliminación de duplicación:  aquí vamos refactorizando, algo útil, que a su vez es una inversión, este proceso no es malo, siempre y cuando se haga mesuradamente, ya que existen personas que se trauman demasiado con la optimización – si, ya se, estarán pensando “perro hablando de pulgas” – y hacen que se pierda demasiado tiempo en esto.
  7. Actualización de la lista de requerimientos: como el nombre lo dice, reordenamos los requerimientos y si es posible a repetir el proceso!.

 

Mi Experiencia Personal: no es exactamente TDD, pero usaron el modelo de pruebas.

Creo que ya lo conté en algún post…, no me canso de ponerlo, por el impacto del proyecto – de algunos millones de pesos – , erase un soft, al cual se le hizo un listado de requerimientos, y fue construido tal cual los requerimientos, el soft había pasado las pruebas planteadas en los requerimientos; si uno usaba el soft  tal cual indicaba el manual – las funciones puntuales trabajaban a la perfección – la aplicación funcionaba súper bien, el problema era cuando alguien daba un clic de mas, o presionaba en otro botón,  o hacia cualquier acción no contemplada en el proceso del manual de usuario; en ese momento la aplicación tronaba, fallaba,hacia BOOM…, no participe en la construcción de ese proyecto, aunque si en la destrucción – viendo como tronaba igual al pop corn-  cual fue su error? basarse “exclusivamente” en las pruebas echas en base a los requerimientos, y no ir “mas allá”  error en el cual algunos caen por que se confían demasiado en “las pruebas unitarias”, lógicamente esto también depende con que se cuente con un área de pruebas, ya que existen empresas en las cuales el programador tiene que hacerlas de tester, y eso puede volverse un gran problema.

 

Mi Opinión  y conclusiones :

El echo de que TDD exista, es por que hay personas a las cuales les funciono, pero antes que nada tenemos que tomar en cuenta el tipo de personas que lo usan, ya que de acuerdo al nivel de las personas, es que podemos hacer determinadas cosas, por ejemplo yo no podría hacer algo al mismo ritmo de alguno de los Scott – que salen por todos lados – , o un recién egresado a mi ritmo, por lo mismo no todas las metodologías funcionarían con todas las personas – por mas que la teoría diga que si se puede.

Escribir las pruebas antes que la aplicación, en la mayoría de casos – por no decir casi todos-, involucra que el programador realice funciones que no le corresponde, por eso mismo, personalmente prefiero las pruebas luego que el código de la aplicación y mas aun, prefiero que el que escriba las pruebas sea uno encargado de pruebas, así el programador se enfoca básicamente a programar la aplicación, aunque podría ir escribiéndose las pruebas y la aplicación en paralelo, esto depende de si se cuenta con personal capacitado para esto – si el de pruebas sabe programar pruebas, o solo es un pica botones -

Por que no estoy muy conforme con TDD? 

como ya lo puse, así como el modelo lo muestra, – y como es implementado normalmente- el programador tiene que hacer las pruebas y la aplicación, lo que implica  doble trabajo y hacer tareas que deberían tocarle a otras personas; estoy totalmente de acuerdo en que se deben de hacer pruebas, pero a mi parecer, lo debería de hacer alguien mas,  y mas aun que esta persona debe de estar integrada al equipo desde la etapa de diseño – esto es del siguiente post – . Lógicamente existen en nuestro medio personas excepcionales, que programan a una gran velocidad, y estas personas pueden programar pruebas y la funcionalidad  aun en menos tiempo, de lo que un programador promedio podría hacerlo, si esta fuera la situación,  que se da, en no todos los casos, pero se da,  allí no tendría ningún problema con que el programador haga las pruebas que quiera; pero lamentablemente esto no pasa en todos los casos.

Jorge Gamba me dijo vía twitter que BDD es mejor que TDD… ya habrá tiempo para opinar sobre eso.

Para terminar creo que TDD no es del todo malo, siempre y cuando se apliquen pruebas exhaustivas aun luego de que estas pasen las pruebas unitarias o pruebas automatizadas, confiar “solo” en estas pruebas unitarias, seria un grave error – se que Jersson dirá de que en TDD tbm se hacen pruebas – , el problema que hay es cuando personas con poca experiencia en el desarrollo de software usan esta metodología, es muy fácil que sientan que con las pruebas unitarias, ya tienen todo a la perfección y alli empiezan los problemas.

 

por si alguien quiere saber las mensadas que suelo poner – y que no llego a poner aquí por lo corto de las ideas, pueden encontrarme en  el twt http://twitter.com/ddaz – y lo de las mensadas es muy en serio eh xD –, se que dicen que el twt no es un chat, pero hay ideas que hay que  replicar en caliente, sino se va la inspiración.

espero sus opiniones y retroalimentación al respecto, no olviden que es mi apreciación personal :), quizá se me paso escribir algunas cosas que en este momento no se me vienen a la mente… pero de todas maneras este paso a ser otro “Testamento de Dacito”, veamos cuantos llegan a leer hasta este punto.

 y como lo prometi....  lo publique antes de irme a dormir... siendo las 3:36 am.. fugo para dormir...

Salu2

 

Ddaz – El Dacito -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Off Topic Nacimiento de Sakura

Se que tengo algunos post prometidos pendientes, se que no es excusa, pero hace unos días nació mi primogénita, Sakura Susana, los últimos días del embarazo maría me tuvo muy ocupado.

Nació el 2 de Abril, y sus Especificaciones iniciales fueron :

  • Estatura 56 cm
  • Masa 3.4 Kg
  • Peso 3.4 Kg Fuerza a 0 msnm.

en este momento estoy escribiendo un post, pero no podría ponerlo, sin antes poner sobre esto. les dejo una imagen de sakura

 

 

 

si les da curiosidad…. regularmente iré poniendo como una bitácora en línea sobre ella aquí http://marddaz.com/Informes.aspx 

 

 y Aquí un video  de Sakura :

 

si… ya se…  estoy idiotizado por mi hija…  lo acepto!!!

Salu2

Ddaz – el Dacito -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
una cortita Instalar Expression Studio 2.0 en español en Win 7

estaba intentando instalar el Expression Studio 2.0 en Win 7 .. y el autorun del instalador, me pidió instalar el “.net framework 3.5” – cosa que el win 7 ya trae… me dio curiosidad y la di en aceptar y entonces me salió el mismo mensaje que con el sp1 del vs 2008, de que el “language pack” se tiene que instalar desde panel de control / agregar o quitar componentes  ( http://geeks.ms/blogs/ddaz/archive/2009/03/03/una-cortita-mi-primer-problema-con-win-7.aspx )  ya me andaba preocupando…, pero en eso se me ocurrió entrar a la carpeta “setup” y ejecutar el archivo “XSetup.exe”, y con esto ya no me pidió  el FW  y pude instalar  el Expression Studio 2 en español; cabe señalar que este inconveniente es solo con las versiones en español, si , ya se que muchos dirian que use las versiones en ingles… pero me gusta mas el software en mi idioma.

aclaro, esto no lo considero un bug… lo pongo como tip.

Salu2

 

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
una cortita - mi primer problema con Win 7

este post lo tenia en borrador hace uff... en si ya encontre mas bugs de win 7... pero aun asi me parece bueno...

si , ya se....  

hoy me anime a instalar en la particion principal de mi pc el win 7 y luego me puse a instalar el soft que uso regularmente........

tuve unos detallitos ... pero nada  comparado a cuando quise instalar el SP del Visual Studio 2008 ...

para empezar, yo uso las ediciones en español del VS - si ya se que muchos dicen que hay que usar en ingles, pero a mi me gusta en sp y lo uso -.

el Windows 7 trae por defecto el Framework 3.5 SP1 nativo, asi que a la hora de poner el SP 1 del VS 2008 - en spanish -  intenta instalar el paquete de idioma del fw 3.5 sp1, y alli es donde rebota.

Mirando el archivo de log y luego verificando a mano - descargue el archivo dotnetfx35langpack_x86es -  me sale un mensaje, de que ese paquete de idioma tengo que habilitarlo desde " agregar o quitar componentes" -algo que aun no existe en el windows 7, me refiero a agregar esa caracteristica desde agregar o quitar componentes -, supongo  que esta parte estara disponible mas adelante...- eso espero - , aunque no se como se hara con versiones como la home premium - donde estoy probando -, que no deja instalar paquetes de idioma, ojala y pronto decidan esto y lo habiliten, ya que en este momento no se puede instalar.... 

aun no decido si poner una virtual o volver al xp... jeje, pero no pondre el vs 2008 en ingles jeje -a las finales  tuve que ceder, por presiones laborales- .... cuestiones de orgullo :), ya envie el  reporte al team.. - y otros 4 mas - veremos que dicen en ms :)

fuera de eso, aun me gusta el win7...

salu2

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Off Topic – Volviendo “de nuevo” a la jugada…

hace unas semanas, había tomado la decisión de alejarme de todo lo técnico, mientras acomodaba mi mente… para lo que esta por pasar dentro de poco – nace mi hija –, y bueno tenia que meditar muchas cosas, y sumado a la sobrecarga de trabajo… hizo que deje de lado hasta la comuna, – ni revisaba los comentarios al blog –,  la meta para dejar el aislamiento vencía hoy… así que espero ya comenzar a ponerme al día, en las respuestas a este y al otro – en msmvps.org – los post que había prometido y tenia pendiente. 

 

bueno al menos no perdí el tiempo, en mi tiempo de aislamiento, arme – junto con la PK – un Avion F-14 a escala xD

SDC10940[1]

 

 

así que empecemos!

 

Salu2

 

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
otro off topic Luego de lo bueno… viene lo feo…

si, no niego, me gusta el win 7, pero esto trae una cola, el echo de que a nivel global muchas personas empiecen a descargar el programa, hace que se saturen las redes, no se en otros lados, pero por aquí los DSL empezaron a caerse uno trae otro ( varias líneas ), al parecer telmex  ya no  se da abasto, o no se…

El problema es que los usuarios comunes y silvestres no entienden que como salió un nuevo beta ( ni entienden la palabra ) por eso el internet falla los msn se les cierran y  las paginas no abren, piensan que uno es mago y con un par de clics puede arreglar el mundo :s …

espero y se calme pronto, por que al menos hoy si e estado batallando mucho con los usuarios….

Salu2

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
off topic.. pregunta abierta sobre live writer y comunity server

hago esta pregunta a todos para ver si soy el unico con el problema....

 lo que pasa es que actualice a la ultima version del live msn writer, etc que salia en el inter, ( 9) y lo que paso es que ya no puedo usar el live writer con este blog.

en modo edicion no me deja escribir nada, se pone el color del tema del blog, pero no me deja  escribir contenido, solo en modo "html"  y esto con esta version, antiguamente si me dejaba usarlo...

a alguien mas le paso lo mismo? lo digo esto por que hasta el momento no encuentro referencias  en inter sobre esto.

 pdta : ya probe en mas de 1 pc y sale el mismo problema, 2 de ellas estaban recien formateadas.

Salu2

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
una cortita , mi opinion sobre el windows 7

No intento unirme a la fiebre de post que hablan de la disponibilidad del beta en publico, etc....

normalmente soy muy critico con cosas que no me parecen, pero aun puedo decir de cosas que si me gustan....

la situacion es esta, Ms hace unas semanas me envio un email invitandome al beta del win 7, la vdd algo dudoso acepte....

Pude descargar el win 7, aunque me pidieron que instale el Home basic Premium, lo instale.... y aqui les dejo unas cosas que pude ver

  • El logo de inicio y el grafico que sale, me gusto, me hicieron recordar a la serie el auto fantastico
  • La forma de agrupar las ventanas tambien me gusto ( con miniaturas )
  • Mientras instalaba me detecto la wireless y me pidio el pass para conectarme ( antes de que termine la actualizacion )
  • Creo algo como un "grupo" ( con clave ) para enlazarlo a mis demas pcs de la casa - aun no pruebo esta caracteristica, por que solo tengo una pc.
  • Me da la impresion de ser mas ligero y que las ventanas se mueven mas rapidamente que con un vista recien instalado.
  • Tuve que instalar un fix especial (KB961367) para que no me desgracie los mp3... esto me paso en un beta del vista, menos mal que ahora si sacaron a tiempo el fix.
  • Entre las descargas pude ver un win 7 server.... asi que supongo que por alli se viene otro ....
  • Me detecto los drivers de la lap ( hp pavilion dv6000) sin problemas

agregado luego :

  • me parecio curioso que el word pad abra los .docx pero no los .doc
  • conecte el media center con la xbox 360 y me gusto, definitivamente deproducire las cosas con el media center :) la experiencia me parece mucho mejor que en vista.
  • trae el windows media player 12.

en unos dias me toca hacer el upgrade al ultimate.

Logicamente aun me faltan probar muchas cosas, pero hasta el momento y con el nivel del beta  que es, puedo decir que me siento satisfecho  con el producto.

En esta vez me siento en la confianza de recomendarles que bajen el beta publico ( no dare links, ni imagenes, por que ya para eso otros han posteado del tema, pueden ver los otros post).

Omar tiene de nick "¡¡Ahh, a Ddaz le gustó Windows 7!! Imagínense lo bueno que tiene que ser para lograr eso..".. tan dificil es que me guste algo???.... jeje

espero no haber roto ningun nda .... jeje

hasta la proxima...

Salu2

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Ejemplo Practico – Cuando los testers no están capacitados… o al menos no lo suficiente

Este post esta adelantado a su tiempo  - porque tenia que salir antes otro post - , pero la situación lo amerita.

Antes que nada, estoy consiente de que este bug es algo difícil de encontrar, pero por el tamaño de la victima, es imperdonable.

 

Hace unos cuantos días salió un otro parche critico  al IE, este bug (súper critico) al parecer a estado unos 9 años en el mercado, solo que hace poco recién a sido sacado a la luz, lo cual  no dice desde cuando a podido ser explotado, ya que hasta donde se,  no todos los bugs son “públicos”, siempre hay algunos que se guardan (para así poder ser usados )…, igual y este no es el caso , igual y si…; aquí lo importante es que ya salió a la luz y de que ya hicieron el parche, para muchos allí queda todo, pero me puse a intentar leer sobre el tema (algunas veces trato de dar seguimiento a los bugs ) y me encontré información en la web  que me pareció por demás interesante :

  • Microsoft acepto que este bug no fue encontrado por sus “testers” o equipos de pruebas, por que “ no no están capacitados para hacer este tipo de pruebas” : me parece algo bueno que hayan aceptado  eso, lo que me parece importante aquí es que Microsoft es una de las mas grandes compañías de software a nivel mundial, así que no tienen la excusa de “no hay dinero” para no haber capacitado a sus equipos de pruebas, será que quizá ellos no tienen / no contratan  personal “realmente capacitado, para el puesto?” , para una empresa de su tamaño, es imperdonable que sus equipos de pruebas, el cual tienen que luchar contra los hackers del mundo y demás dacitos, no hagan todas las pruebas conocidas, por el impacto del producto ( en este caso Internet Explorer ),  y por la cantidad de ataques que recibe, el equipo de pruebas, debería ser de lo mejor, y debería estar capacitado en todos los tipos de ataques posibles, para así poder probarlos. Ojo aquí estoy separando, una cosa es que el equipo no haya encontrado el bug ( por error humano), y otra que no estén capacitados para encontrarlo. quizá debería hacer leer a los de Ms mi post anterior ??? jeje
  • Usar solamente “Herramientas automatizadas, no protege al 100%”  :  bueno para este tipo de casos, hay unas herramientas llamadas Fuzz, o fuzzing, pueden leer mas sobre eso aquí  o aquí tbm ( en este ultimo, salen un listado ), si bien a la hora de hacer pruebas, normalmente se tiene un “check list” de cosas a probar y como probarlas, la realidad es que esa lista no es “todo lo que hay que hacer”, hay que “salirse del libre” y comenzar a hacer pruebas aleatorias, o como dicen algunos “ por instinto”, si de esas que no son ordenadas, de esas que el listado de pruebas no indica ( me viene a la mente la aclaración de Jersson,  a mi ultimo post, que luego terminare de re-aclarar ) , esto es algo que comentare luego, si, muchos “ puristas” de los procesos y metodologías, siempre piden ( o  exigen) que uno siga el libreto establecido, pero en cuestiones de pruebas, seguir “solamente” el libreto, puede ser uno de los peores errores. Se que algunos  dirán “allí dice que no hay casos documentados para este tipo”- en referencia a lo que dice ms con respecto a este bug - , a lo cual les diría … no hay casos  documentados “públicamente”, quizá si los de MS entran tantito mas al IRC, podrían enterarse de mas casos  :) – bueno si, muchos grupos son privados-.

No puedo negar de que en los últimos  tiempos Microsoft se enfoco mas a la seguridad, pero estos 2 últimos bugs críticos ( si, aun no me olvido del otro que salió hace poco ), hacen pensar que quizá no están lo suficientemente capacitados, como se pensaba.

seria bueno que lean los artículos, que a su vez son las fuentes para este mini post:

y como ya puse antes, un listado de Fuzzers : http://www.infosecinstitute.com/blog/2005/12/fuzzers-ultimate-list.html

 

pdta:  este solo es un ejemplo de las cosas que pueden pasar (de  los puntos que mencione en mi anterior post), en la siguiente entrada me explicare un poco mas.

 

Salu2  y nos leemos al rato…

 

Ddaz –Dacito Grinch -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Seguridad de Aplicaciones I – Preludio y mi opinión sobre la realidad de las empresas y el Testing de Software.

Espero que este sea el primero de varios, sobre seguridad en aplicaciones ( y tantito en servers ), hay varios temas interesantes que tocar ( entre ellos uno de criptografía que me pidió sergio tarrillo, los cuales vendrán luego), tengo algunos post en la sección borradores, esperemos que luego puedan salir.

Preludio

un amigo me pidió que cuente algunas de mis experiencias… y eso me hizo recordar ciertas cosas… y bueno recordando viejos tiempos, cuando empecé a meterme “profesionalmente” a lo de informática ( no cuento lo de servers, eso es otra historia ), por allá en el 2001, empecé como “tester”, ya que era un simple estudiante de Ing.  Química, dentro de una empresa que hacia Software de Ingeniería ( Software especializado para Ingeniería de Procesos, lógicamente de los  Químicos), que solo sabia algo de pascal, assembler, RPL y algo de programación PLC –a excepción de assembler, lo demás nos lo dan en la carrera-, pero con ningún conocimiento formal sobre Ing. de Software, o procesos de desarrollo de software –lógicamente ya estoy cubriendo esa falencia –, empecé en esa empresa formada por ex alumnos de la facultad mi universidad (UNI ), curiosamente me metí a este mundo, por que por los cálculos avanzados de la carrera ( matemáticos y demás), se tenia que realizar simulación de procesos y la universidad solo tenia un “trial - limitado” de la versión actual y la versión full era demasiado antigua como para poder hacer las simulaciones ( la licencia pasaba de los USD $ 250,000.00 ), así que con unos compas empezamos a buscar el “crack”, pero como no existía ( casi no existen de software especializados, por suerte :)), nos pusimos a estudiar ensamblador, y finalmente pudimos usar la aplicación…, lógicamente, ya a estas alturas de mi vida, ya no promuevo el “crackeo ilegal” – si, de eso viene el otro post –, aunque eso hizo posible mi incursión en el mundo del software, ya que me acoplaron a una empresa de ex alumnos, cuando yo aun era alumno. Ya luego logre ver a .Net, me maravillo y comencé a programar allí, me fue gustando mas el mundo de la informática, así que poco a poco  que  termine alejándome del mundo de la  Ing. Química y me fui al software ( discúlpenme que no considere a la  “Ingeniería de software” una ingeniería de verdad – por mas que desde el 2004 “estudio formalmente sobre informática y/o sistemas”  y trabajo en cuestiones   de   software - , pero mi concepto de “ingeniería”  es muy diferente al de los informáticos tradicionales –por mi carrera base- y me es imposible – al menos por el momento- considerarlo una ingeniería. ), luego ya cuando vine a México, me metí al 100% a lo de software :)- en varios campos -, ….

 

Ahora si, ya entrando al tema de este post

Algo que se esta volviendo muy común, en las empresas de software, es que cada vez  están pensando – y ya muchas lo hacen – , el tener un  área de “control de calidad”, o área de pruebas,  (sobre este tema Miguel Llopis tiene varias entradas al respecto, coincido en muchas cosas – con respecto a este tema –, aunque en algunas otras… aun estoy algo escéptico; pero de todas maneras me parece interesante lo que pone ;), léanlo ).

Lógicamente hay muchas empresas que tienen bien estructurada  y organizada su área de pruebas, aunque de todas maneras se les escapan “bugs”, entre ellos tenemos a Microsoft, Google, etc; por lo que e visto en los betas  de MS que ando metido – empecé con el vs 2005 alpha – Microsoft a mejorado mucho su modo de tomar los errores, y como los recibe, desde Betaplace hasta ahora con Connect , y e visto que hablan que tienen sus tester  y demás, pero aun así, se les escapan bugs,  algunos gigantescos, lo bueno es que ahora los  encargados de los productos hacen mayor énfasis a recibir comentarios y sugerencias; pero si asi pasa con una empresa que invierte mucho dinero en pruebas, imagínense como es con las empresas con una mínima o nula inversión al respecto.

A mi parecer, en muchos casos aun veo algunos detallitos al como se aplica la parte de pruebas en las empresas, dentro del desarrollo de software, lógicamente hay empresas que si aplican muy bien esto, y el % de errores que se les escapa es “mínimo”, veamos algunos que pude lograr ver.

 

  • Personal no Especializado  El detalle aquí es que en la mayoría de veces se pone “solamente” a las personas con menos experiencia,  o mejor dicho personas no especializadas en el tema (no estaría mal, que si el equipo tuviera una parte de un tipo y otra del otro tipo ),  o también a personas con un nivel bajo o nulos  conocimientos de programación, los ponen a “usar la aplicación”, si bien al estar considerados como “Usuarios comunes y silvestres” saldrán varios “detallitos”, pero quizá no los mismos que podría sacar alguien con algo mas de conocimientos – aunque como siempre, hay casos que rompen la regla, esos con dones “destructivos”, en los cuales todo lo que tocan falla :) –, pero el detalle aquí es que la cantidad de errores descubiertos, puede ser mínima, comparando con los que realmente tiene  la aplicación, por eso es bueno tener gente especializada, si bien quizá no todo el equipo, pero no debería de faltar alguien especializado,al respecto  también a escrito hace algún tiempo Joel Spolsky  sobre este tema en su articulo Las Cinco Principales Razones (Equivocadas) por las Cuales no tienes Ingenieros de Prueba, aunque el a su vez aclara que es difícil conseguir buenos, y en algunos casos solo podamos ir rotando gente sin experiencia.
  • Tienen un área de pruebas, pero nadie les hace caso :  E visto esto en varias empresas,  donde los programadores, se podría decir que casi ignoran los tickets enviados por los de pruebas, y dicen “ luego los arreglo” – algo que nunca pasa –, es algo ilógico tener un área de pruebas y  que casi nunca se les haga caso, esto en algunos casos es por la mala planeación y  que los programadores estén “contra el reloj” terminando funcionalidad y “no tengan tiempo para corregir”, aunque en otras es culpa de los programadores, pueden ser muchos los posibles motivos,  aunque parezca  algo loco, lo e visto  :);  hasta me  a llegado a pasar ya un par de veces con los team de MS, enviaba bugs y hubo casos en que se demoraban hasta meses para tan solo revisar el error – imagínense en repararlo - , por suerte ya esta mejorando esto, jeje y bueno también tengo un usuario “moderador” en Connect.
  • Poco o nulo énfasis a la seguridad – (este será el foco de los siguientes post) los encargados de pruebas, en la mayoría de casos, se dedican a ver que la aplicación funcione “ como debe”, el detalle aquí es que en muchos casos se limitan a dar unos cuantos clics, a la aplicación y piensan que con eso eso la aplicación esta libre de problemas y que es segura,  lógicamente hay varios niveles de seguridad, dependiendo de la solución, puede ser algo básico o  niveles extremos como los que usa la NASA – así le dice Jerson -  ( sobre esto creo que mejor no me extiendo por ahora y lo dejo para un siguiente post), lógicamente ya muchos pensaran, pero hay programas ( de terceros) que hacen esto, a lo cual les diría, que esos programas, si bien es cierto que ayudan en muchos casos, no nos dan una seguridad al 100% (lógicamente también depende de la solución y del nivel de seguridad que necesitemos); otros dirán “ Visual Studio” trae herramientas muy potentes, lo cual es en extremo cierto, pero no para “análisis automático” allí también hay que programar pruebas :), personalmente me parece una herramienta muy potente y algunas de las veces que me han pedido que haga “pruebas” e usado al VS como herramienta de trabajo –a ver si mas adelante escribo algo de esto-. La seguridad es un mundo no es posible tocarlo en un solo post, todo dependerá de que tanto queremos
  • Los encargados de pruebas, tienen flojera  : No puedo negar que es algo tedioso y en algunos casos algo aburrido estar “probando aplicaciones” , y muchas veces e visto  a tester’s que  por lo mismo, y pro zafarse del trabajo (para luego poder seguir googleando), le dan una revisada “al vuelo” y no concienzudamente, aunque también, hay quienes pueden estar trabajando todo el día buscando errores y encontrar unos cuantos mientras hay quienes solo con 40 minutos, puedes sacar una gran cantidad de errores; lógicamente si detectamos personas que no hacen bien su trabajo, no merecen menos que el despido.
  • No se tiene un buen control del historial de “bugs” : por mas que tenga buenos encargados de pruebas,  si no lo hago de un modo ordenado, todo eso se volvería un caos, existen múltiples programas, entre free y de paga ( hasta un starter kit de aspnet 1.0) con el que podemos tener bien registrados los errores.
  • No se Integra desde la etapa de diseño la seguridad :  mucho se habla de esto, aunque quizá no muchos lo apliquen, en la etapa del diseño de la aplicación debería integrarse la parte de seguridad, lamentablemente es muy difícil conseguir un programador y un diseñador que sepa de seguridad (saber de verdad), la mayoría no piensa en seguridad, o en su defecto, tienen un conocimiento empírico, saben que tienen que poner seguridad, pero en la realidad no aplican seguridad…, y luego cuando empiezan los problemas ( lógicamente no en todos los sistemas aparecen) , tienen que comenzar a “parchar”, lo cual hace que se pierda mas tiempo, al menos por eso lo que suelo recomendar  es que el diseño pase por un análisis previo de seguridad, este entra al de funcionalidad.

 

De todos estos puntos que puse, en el que quiero especificar es en el de la seguridad y especialización, lógicamente sin olvidar sobre el performance, ya que como dicen algunos “intentar poner seguridad de manera desmedida, sin tomar en cuenta el impacto en el performance es malo”.

En el siguiente post, espero tocar una pregunta que en algunos casos es controversial… “saber técnicas de hacking y/o cracking, es malo?”, intentare explicar, el por que creo que no es malo, mas bien por el contrario, es imprescindible.”, ya luego vendría uno de criptografía :) , si, la respuesta al post de Sergio Tarrillo

Para terminar – por ahora - quiero dejarles algo para que piensen…  “el mejor ataque, es cuando la victima no se a dado cuenta que a sido atacada, y que están dentro del sistema” ( la idea es evitar esto, ya que no es necesario que nos modifiquen una pagina, o que nos pongan una foto, para que “estén dentro” ) .

 

Salu2

 

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Una Cortita (link sobre linq) “Is Linq to SQL Dead? Yes, but.…”

Este articulo me lo paso Jersson , lo leí y me pareció demasiado interesante, así que se los comparto, vean tbm los hipervínculos( referencias ), ya que llevan a información de blogs “msdn”  :) , esto sobre Linq2SQL, sobre el muerto que no esta muerto :), anda de parranda  :).

http://www.stephenforte.net/PermaLink,guid,bc1bc043-3cdc-4ac2-8b46-3c72ad1d61cf.aspx 

 

Salu2

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
OffTopic - Y el doc dijo… Sera Niña…:)

Hoy fuimos a la clínica para que la PK se haga el ultrasonido, y el doc dijo eso, que el bb será niña  les dejo las imágenes del ultrasonido, para que las vean!!, allí dice cuando podría nacer y demás cosas.

 

Salu2

 

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
noticia – Salió Live Grupos

Para los que tengan la web de sus comunidades en MSN Groups, seguro ya saben que para el otro anio ese servicio desaparecerá, MicroSoft a dado 2 propuestas, la primera fue en Multiply, donde daban la opción de migrar los mensajes, y luego invitar a los miembros a que se vuelvan a registrar, personalmente el servicio en multiply, no fue de mi agrado, ya que la web tenia muchos problemas de programación ( fallos en la sesiones, y en la web en general), otra opción eran los “Live Groups” el detalle en esta opción es que  aquí seria inicio desde cero, ya que no dan la opción de migración.

el día de ayer salió ( groups.live.com ) me parece una propuesta interesante, bueno no le vi la opción de agregar paginas con noticias o algún grafico extra,  pero el echo de usar el “live id” es muy cómodo, además de que para grupos pequeños ( hasta 20 ) dan la opción para manejarse vía MSN ( lógicamente hay que usar el live messenger 9) .

lo que me gusta  de este servicio es la integración con el live id; en la comunidad aquí en zacatecas “Barreteros.Net”  estábamos pensando migrar a un foro que venga de un CMS, pero con esta opción, lo mas seguro es que migremos a http://barreteros.groups.live.com .

este servicio de live groups, se ve muy interesante, y mas aun ya que los msn groups hace muchos tiempo había sido olvidado por el tío Bill, ojala que este servicio no le pase lo mismo.

 

Salu2

 

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Tenemos responsabilidad en lo que enseñamos/ mostramos?? … o simplemente nos dejamos llevar por las modas…

El post que saco hace unos días Jorge  sobre el por que quitar las referencias a VB  hizo que vuelva a mi mente unas cosas que tenia ya hace tiempo en la cabeza… y bueno, Jersson hizo que me anime a publicarlo. 

Problema :

lo que pensaba era si nosotros como expositores, divulgadores de tecnología ( que no sean empleados MS), entusiastas, etc.. somos responsables de las cosas que mostramos o damos a conocer a los demás…  ya que como una vez me dijo  Fer:

“muchas veces las personas –los lectores- toman muy en serio las cosas que decimos -escribimos-, así que se tiene que tener cuidado con lo que se dice –escribe-  públicamente”

Lógicamente  cada persona es libre de poner lo que le plazca en su blog/web/twitter, etc. pero creo que es necesario que seamos un poco mas consientes de la imagen que damos, a que me refiero?…  supongamos que sale una nueva funcionalidad, característica, etc.… lógicamente es publicada en su mayoría al inicio por algún empleado ms,  o algún socio, donde habla de esa funcionalidad, lógicamente por lo mismo de que es “ un negocio”  solo dirán el lado bonito,  lo bueno, pero no dirán “lo que viene por detrás” , el costo de usar esa funcionalidad, y muchas veces caemos en el error de “copypastear”  la noticia y publicarla así tal cual, sin haber antes probado…, o bueno quizá hasta allí podría pasar como “noticia”, pero lo mas correcto seria “quizá”  que probemos a profundidad esa funcionalidad, para poder ser capaz  de dar una opinión.

Otro problema muy común, es que solo probamos lo bonito, y no nos fijamos en lo demás, llegamos hasta dar conferencias o a hablar del producto, pero sin antes haber investigado sobre el costo de usar eso, personalmente siento que no se conoce realmente algo, hasta que se sabe su lado bueno y malo, cuando encuentro algo nuevo, busco lo bueno y a su vez – no por negativo- busco el costo de usarlo, y luego hago un balance entre lo bueno y lo malo, y si gana lo bueno lo uso…; e platicado con  varias personas  sobre determinadas tecnologías que usan, y les preguntaba si conocían determinado “ problema” que tendrían por usar esa tecnología ( para saber si eran consientes de eso), pero resultaba en muchos casos que ni sabían de eso, pensaban que todo era maravilloso. Lógicamente si uno es consiente de lo bueno y lo malo  y aun así decide usarlo, eso es algo para respetar, ya que tomo su decisión  conociendo realmente lo que esta usando.

Creo que es malo usar “en producción”  o recomendar masivamente que lo usen “en producción”  algo que no conocemos a fondo, muchas veces por querer ser “early adopter’s”   ponemos en producción cosas que nosotros no hemos probado a profundidad,  el lio es que cuando salen los problemas… volvemos a lo mismo “es culpa de MS” . También creo que es malo dejarnos llevar ciegamente por lo que podamos leer en blogs/webs/ conocidas , si bien es cierto muchos de nosotros somos socios “partner’s”  de Microsoft, y usamos sus tecnologías, y podemos leer una noticia  de alguna nueva tecnología”  y sin refutar, nos ponemos a usarla “en producción”  a fondo como si fuera esa tecnología perfecta y lo recomendamos a otros,  y luego si sale una nueva que se sobrepone a esta que estamos usando, sin refutar ni investigar a fondo nos ponemos a migrar a esa nueva funcionalidad, gastando recursos por algo que quizá funcionaba bien… y esto por que???? … por las “Modas” 

En estos círculos “.Net” llegue a reconocer a varios tipos de usuarios de tecnologías Microsoft, lógicamente  hay personas que si respeto mucho, ya que no se dejan llevar por la promoción investigan y sacan sus propias opiniones, esto en base a investigación propia, además de posibles referencias en el internet. También están las personas que no investigan y se creen todo lo que leen,  casi casi hasta lo que aparece en la web “el día de los inocentes”   y lo toman como “ ley”  y  muchas veces lo defienden a muerte, el problema en este caso es cuando estas personas son expositores, o divulgadores de tecnología, y sin haber tener una opinión propia bien fundamentada, replican eso y se genera el efecto del telefonito malogrado;  en muchos casos son conocidos como los que simplemente se memorizan la ppt y lo repiten  tal cual – e visto varios eventos, de ponentes diferentes,  donde se dice exactamente lo mismo, como si fuera el Avemaria –.Los que siguen Modas, estas personas no tienen una preferencia real, usan y siguen lo que este de “moda”, si la moda cambia, ellos cambian, algunas veces dura dias o meses. También están los Incondicionales, de los que defenderán a MS a muerte, saque la tecnología que saque, a mi parecer estos son los mas peligrosos, por que puede llegar a ser que hayan investigado a fondo ( casi no lo hacen, pero seamos optimistas ), pero por el simple echo de quedar bien, mostrarse “actualizados” ( o muchos otros motivos, el cual prefiero no mencionar… pero son conocidos), estas personas son de las que intentarían vender refrigeradoras a los esquimales –ósea no les importa si les sirve o no, lo que importa es darles lo ultimo-, recuerdo una vez que platicaba con una persona y defendía a muerte a Virtual PC 2004, decía que era mucho mejor que el vmware…, me atreví a preguntarle que si lo había usado… y me dijo que no, “ pero que en la web decía que era lo máximo”, lógicamente la platica allí termino… quizá haya otra categoría que se me haya pasado…  en este momento no la recuerdo.

 

Consecuencias :

Si, en este punto muchas personas estarán pensando “ yo soy libre de poner lo que quiera”  y no se equivocan, el detalle es … se habrán dado cuenta de las consecuencias de eso?, de que tanto pueden influir en los lectores? ….

Aquí unos ejemplos de cosas en las cuales AHORA ya no vemos bien ( o al menos de cierto modo) y en las cuales muchos hemos caído ( tengo que aceptar que en el primer caso yo caí … y fue la ultima vez que me deje llevar):

Dataset : cuando salió .Net el Dataset era el boom, si bien es cierto en muchos casos es útil, pero eso luego de un análisis de costo/beneficio, pero en el tiempo en que salió 2002/ 2003 era el boom, así que todos lo usaban , casi todos exponían de eso, de la facilidad, de lo corto del código, del dataadapter.fill y el dataadapter.update, ya hasta que se vieron los problemas en “producción” de performance se comenzó a cambiar la idea, aquí tengo que aceptar que yo tbm fui victima de esto, el detalle es que este “ problema” aun no termina, ya que en muchos de los ejemplos del MSDN – y otros website-  se usan como ejemplos los dataset,  si bien es cierto muchos ya estamos usando las listas genéricas y entidades en el acceso a datos, información  casi no se encuentra “públicamente” y las personas que recién están aprendiendo, verán que se usa dataset y lo usaran en producción, e visto grandes sistemas llenos de dataadapters y datasets en producción, y me llamaban ya que no entendían “por que era tan lento, si estaba echo en .net”.

Ajax : Este es reciente, en este caso es una buena tecnología, pero muchas veces no informamos bien el problema de no usarlo bien, y los usuarios se ponen a poner a diestra y siniestra updatepanels y demás sobresaturando sus paginas, lo bueno es que ahora ya en muchos lugares e visto donde recomiendan usarlo con moderación, pero eso no era así al inicio.

My: de esto se trata  el post de Jorge  sobre el por que es bueno quitarlo…, el detalle es que cuando salió vs 2005, esto fue uno de los caballitos de batalla.

Este ultimo es una opinión personal, aunque posiblemente muy controversial

Linq2SQL : bueno en este caso.. y en esta batalla estoy “casi solo” ( al menos en geeks.ms ), ya que “por el momento” soy de las pocas personas que no esta muy a favor de esto en especifico ( aunque la idea de Linq en general me parece buena, como Linq2Entity), ya Jersson publico unas pruebas de performance, además de que en un articulo se habla de la posible desaparición de Linq2SQL:  http://tinyurl.com/56d5ze , y  es algo en lo que estaría muy de acuerdo, Jersson me dijo que “tengamos paciencia, ya llegara ese día”, algo que espero; lógico hay quienes realmente han visto su lado bueno y malo, lo evaluaron y aun así decidieron usarlo, allí no podría decirles nada, ya que según su evaluación costo/beneficio les convenía usarlo, si fuera este el caso, es el tipo de cosas que hacen que respete a las personas.

Conclusiones :

Esos fueron ( al menos de los 3 primeros) ejemplos de tecnologías que son comúnmente muy “ mal usadas” por los programadores sin experiencia, y esto por que? por que vieron en algún blog, una conferencia, un webcast, que se usaba de cierto modo, y no tuvieron el aviso de que “solo servía como demostración, y no para entornos reales”; lógicamente esto es algo bueno para los de consultoría, ya que cobrarían ( y muy bien)  para arreglar ese tipo de situaciones :) .

Seria recomendable que cada uno haga una introspección y vea si lo que uno “predica” es algo que realmente conoce, si esta uno ya evaluó lo bueno, lo malo,  y aun así decide usarlo; si alguien hace la evaluación y  siente que determinada tecnología que usa es la mejor a su parecer, es algo de respetar, ya que en software, no hay “ respuesta correcta”, creo que lo correcto para todo seria la palabra “depende” , pero  todo usándolo luego de una evaluación, es malo si usamos las cosas sin antes evaluar bien la situación;  Seria Tan valido usar el GOTO en Vb si luego de una evaluación  vemos que es algo que nos conviene – ya esta probado que ms en el IL genera sentencias GOTO – esto en el blog de Rafael Ontivero - , supongo que MS evaluó y vio que era lo mejor-.

para terminar, solo me queda decir que seria bueno que pensemos no solamente en lo que ponemos, sino también como lo recibirán nuestros lectores y como podríamos afectarlos.

“No Siempre lo ultimo y lo mas voceado es lo mejor, primero analicemos, si realmente conviene usarlo, si luego de una evaluación profunda vemos que nos convence, entonces allí si  comencemos a recomendarlo a nuestros conocidos, ya que tendríamos un buen fundamento”. Dacito.

Pdta:  si se fijan, aclare de personas “No empleadas de MS”, ya que es razonable y lógico que los empleados MS defiendan sus tecnologías, ya que es una empresa privada y esas tecnologías son parte de su negocio, por eso mismo debemos de tomar con pinzas todas las noticias o lanzamientos que hacen.

Pdta2:  si llegaste a leer hasta aquí… ya tienes mis respetos, por el aguante, y espero no haber ofendido a nadie, si  es que llegue a hacerlo, de antemano le pido una disculpa.

 

Salu2

 

David Daniel Arroyo Zari – Ddaz -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
una súper corta… Link a un articulo de seguridad en JSON

este link lo publique en mi twitter pero me pareció tan importante que me atrevo a ponerlo tbm aquí…

el articulo habla sobre una vulnerabilidad en JSON, y de como es posible “ afectar sistemas”  vía este “ problemita”, como dijo Jersson  - en una platica vía MSN- “ es demasiado fácil”, sinceramente, ya lo veía venir… pero bueno... se me adelanto en el articulo, ni pex :).

Una de las cosas interesantes,  es que las librerías AJAX de MS  “mitigan” este problema, aunque lógico, mitigar no es “arreglar definitivamente”, así que  por allí aun podrían existir “dacitos”  que puedan usar este problema en beneficio propio…, bueno seria muy interesante que lean el articulo :

http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx

Salu2

Dacito Bauer – Ddaz -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
mini tip de seguridad - Por que es bueno registrar correctamente el office – :)

Hola:

Antes que nada aclaro que esto no tiene que ver con las licencias, compra o distribución :), también adelanto que esto es algo bien simple, pero con una gran utilidad.

Consideraciones  :

Como muchos deben imaginarse, en empresas grandes, y mas si tienen ámbitos políticos de por medio – como en gobierno-  muchas veces  no faltan los emails “difamadores”, y estos  en el 99% de los casos no dicen “quien lo envió”, ya que suelen ocultar su identidad, en algunos casos llegan hasta usar la cuenta de algún colega –sin su autorización-, lógicamente si el email fuera enviado vía Outlook o algún cliente  de email y una cuenta “corporativa” es un tanto mas fácil encontrar el origen del email, pero cuando se usa una cuenta gratuita como hotmail o gmail  la búsqueda se hace un tanto mas difícil de “rastrear”, y mas si no nos llego del remitente original, sino a la 3ra o 4ta reenviada…

Problema :

El viernes pasado, en la noche, recibí la llamada de mi jefe, avisándome sobre un caso como el que lo indique arriba, y tuve el encargo de encontrar el origen del email, y la persona que lo redacto; asi que… tuve que cambiar mi Nick a  “Daniel” - :) mi nick’s son  condéname’s que cambian según la tarea realizada -  y de entrada me “reenvió” el email en cuestión con eso sobre escribió la información del encabezado del email, – lógico luego me tuvo que dar acceso a su email, aunque igual no se pudo encontrar nada útil-, ya estaba casi por decirle que no se podía, cuando recordé algo, que es muy simple y conocido por muchos, pero no siempre prestamos atención, lo que paso, es que el email tenia adjunto una presentación con diapositivas de Power Point (.pps ), asi que me puse a ver las propiedades del archivo “pps”  y se vio algo parecido a esto :

pero recordaba que los archivos de office tenían mas información al respecto, así que me atreví a renombrar la extensión del archivo a “ppt”,entonces la vista cambio a algo así :

 

de lo cual me mostro el nombre del usuario que creo el documento, y quien lo modifico, la fecha, y bueno en el archivo original – ya que la imagen es de una demo echa en mi PC personal -  también se muestra la organización, con lo cual nuestra búsqueda de casi 3000 personas se redujo a 15, en este caso en especifico no me servía el nombre del creador, ya que el archivo origen era una ppt  de una de esas típicas cadenas, el cual fue modificado poniendo datos de una persona en especifico, así que solo me importaba quien lo modifico.

Conclusiones :

el nombre que se muestra es el nombre  - y organización – a la cual esta “instalado el office” – cuando instalamos el office nos pide nombre y organización –, así que si en cada pc de la organización en nombre tiene uno diferente – ya sea por nombre de persona que lo usara, o por nombre de la pc o área –, esto nos dará un buen indicador de donde proviene el archivo.

lógicamente esto casi siempre solo sirve en entornos controlados, – como nuestra organización – ya que si fuera en una pc de “ fuera” fácil podría no tener indicado el nombre y/o organización; ya que es algo fácil de “saltear” , pero de que ayuda, ayuda y mucho :) .

lógicamente por cuestiones de privacidad, no puedo mostrar el contenido del archivo original, ni decir a quien iba dirigido. Esta es una de las veces en la que estoy tan feliz de usar el office, ya que me ahorro muchas horas de trabajo , donde quizá no hubiera podido conseguir  gran cosa si no me hubiera fijado en eso.

Salu2 …

Dacito Bond – Ddaz -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
URGENTE... ACTUALICEN WINDOWS..... esto no es un simulacro!

Hola... salió una actualización critica... un Server mio fue afectado ( se detuvo el servicio servidor.... ) , pueden encontrar mas info en http://bink.nu , es tan critico que MS saco un parche de emergencia, y esta enviando un email a todos  en especial por este bug.

 

les copypasteo el email que tbm llego de ms

 

ACTUALIZACIÓN DE SEGURIDAD
23 Octubre, 2008
Resumen Ejecutivo:
ALERTA: MS08-067 / SEVERIDAD MÁXIMA PARA WINDOWS VISTA, WINDOWS XP, WINDOWS 2003 SERVER Y WINDOWS 2000 SERVER CON SEVERIDAD MÁXIMA CRÍTICA.
Acción Inmediata: Se sugiere realizar las siguientes tareas:
- Obtenga la actualización de seguridad utilizando: Windows Update, Microsoft Update (Nombre archivo: Actualización de seguridad No. KB958644) o ingrese a www.microsoft.com/downloads/ (teclear KB958644 y aquí se puede obtener la actualización para el sistema operativo que se tenga)
- Consulte: http://www.microsoft.com/latam/seguridad/default.aspx
Distinguido Cliente de Microsoft:
Por este medio le informamos que el día de hoy Microsoft liberó una actualización de seguridad sobre una vulnerabilidad en todas las versiones soportadas de Windows. Hasta este momento solo se han detectado ataques limitados y específicos.
Microsoft tuvo conocimiento de estos ataques contra Windows XP en las últimas dos semanas. En cuanto se detectó esta amenaza, se inició una investigación. Los resultados arrojaron que se presentaron ataques limitados y específicos por medio de una nueva vulnerabilidad que se descubrió en la plataforma Windows. De forma inmediata, se inició el Proceso de Respuesta a Incidentes de Seguridad de Software de Microsoft para investigar este tema y desarrollar una actualización de seguridad para atenderlo.
Los efectos de esta vulnerabilidad permiten la ejecución remota de código, si un usuario recibe un paquete especialmente diseñado para el ataque. En sistemas Windows 2000, Windows XP y Windows Server 2003, el atacante puede explotar esta vulnerabilidad sin autenticación para correr código arbitrario. Es posible que se pueda utilizar esta vulnerabilidad en el desarrollo de un gusano. Dentro de Windows Vista y Windows Server 2008, la vulnerabilidad tiene una probabilidad de ocurrencia menor, debido a que solo puede ser explotada por un paquete autenticado, al User Account Control (UAC) o Control de Cuenta de Usuario y al firewall de Windows. Es decir, la arquitectura de seguridad mejorada en Windows Vista reduce la probabilidad de una explotación exitosa de la vulnerabilidad.
La actualización de seguridad MS08-067 está clasificada con el máximo nivel de importancia para los sistemas Windows por lo que es muy importante que usted siga los siguientes pasos para protegerse:
- Ejecutar el Windows Update llamado: Actualización de seguridad No. KB958644

- Activar un firewall, actualizar su software e instalar un software antivirus.
- Encontrar más información para mantenerse protegido en:
http://www.microsoft.com/latam/seguridad/default.aspx
Es muy importante recomendarle la divulgación responsable de vulnerabilidades, que representa una práctica comúnmente aceptada y que ayuda a garantizar que los clientes reciban actualizaciones completas y de gran calidad para vulnerabilidades de seguridad sin exposición a atacantes maliciosos.
Con esta respuesta oportuna del Centro de Respuesta a Incidentes de Seguridad de Software de Microsoft y su apoyo, podremos prevenir un impacto de mayores consecuencias como aquellos que han ocurrido en el pasado.
Muchas gracias por su atención a la presente.
Microsoft México
Para preguntas y /o asesoría a este respecto, llame al : 01-800-527-2000
- Actualizaciones se estarán publicando en el blog de Seguridad de Microsoft Latam: http://blogs.technet.com/seguridad/
- Seguridad en Microsoft: www.microsoft.com/latam/seguridad
- Boletines de Seguridad Microsoft:
http://www.microsoft.com/latam/technet/seguridad/boletines/2008/ms08-067.mspx

http://www.microsoft.com/latam/technet/seguridad/boletines/2008/ms08-oct.mspx http://www.microsoft.com/latam/technet/seguridad/boletines.aspx

 

 

esto huele a un posible virus del nivel de blaster ....  y esto no es un simulacro

 

Salu2

 

Ddaz

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
More Posts Next page »