Subscríbase /Subscribe

Bienvenidos a mi Bitácora personal sobre novedades en ciencia, tecnología, naturaleza y tal vez algo de arte desde mi particular punto de vista; también incluyo algunas noticias que considero puedan tener cierto interés o relevancia relacionadas principalmente con Hardware y Software. En el primer artículo incluyo información sobre esta página. Gracias por su visita.

sábado, 27 de junio de 2015

El problema de las llaves de agua

Un acertijo sencillo, sin frases escondidas ni cosas para adivinar, sólo hay que pensar:

En el primer piso de un edificio de tres pisos (un departamento por piso) hay tres llaves que controlan el abastecimiento de agua (A,B y C), cada una de un departamento. Puedo entrar al departamento del tercer piso, pero no al primero ni al segundo. Las llaves pueden abrirse y cerrarse las veces que se necesite. No hay nadie que informe desde alguno de los departamentos si hay o no agua. Sólo subiendo al tercer piso se puede saber si hay o no abastecimiento de agua en dicho departamento. El problema consiste en averiguar cuál de las llaves corresponde al departamento del tercer piso, subiendo el menor número de veces a realizar la verificación. Asumir que las llaves están inicialmente cerradas.



Rpta: Sólo hay que subir a verificar una vez: Se deja algo bajo el caño abierto del tercer piso, un balde vacío por ejemplo. Se baja y se abre la llave A medio minuto, luego se deja abierta la llave B y se sube a realizar la verificación. Si el balde se encuentra con agua pero no sale agua del caño, entonces la llave A corresponde al departamento del tercer piso. Si hay agua saliendo del caño, entonces es la llave B. Si no hay agua en el balde ni sale del caño, entonces la llave correcta es la C.

martes, 28 de abril de 2015

vHDL Obfuscator GUI - Ofuscador de código HDL

 Los Lenguajes VHDL ([Very High Speed Integrated Circuit] Hardware Description Language) y Verilog HDL, son estándares definidos por la IEEE que permiten describir el comportamiento de hardware. Su aplicación más extendida, pero no única, es la generación de circuitos digitales y su simulación.

En algunas ocasiones un diseñador necesita compartir información pero no desea revelar el contenido de su código. Existen técnicas propietarias de los fabricantes de dispositivos lógicos programables (como las FPGA) que permiten encriptar el código, pero la mayor parte de las herramientas que realizan dicha protección, requieren de la adquisición de licencias adicionales y además no suelen ser portables.

Cuando lo que se desea es proteger ligeramente la propiedad intelectual del código fuente HDL, pero no necesariamente controlar la distribución del mismo, es posible utilizar técnicas más sencillas como la ofuscación. Esto permite generar un archivo fuente en HDL que es muy difícil de ser leído por un ser humano, permaneciendo válido y aceptado por un sintetizador o compilador, generando un resultado funcionalmente idéntico al código original sin ofuscar.

Hay que resaltar, que la ofuscación del código no tiene por intención la protección de secretos industriales, pues no tiene el nivel de una encriptación. Las referencias siguientes pueden ayudar a comprender mejor la aplicación que tiene el ofuscar el código:

https://www.aldec.com/en/support/resources/documentation/articles/1586

https://www.aldec.com/en/company/blog/5--camouflage-for-your-hdl-code

http://www.visengi.com/products/software/vhdl_obfuscator

http://www.semdesigns.com/Products/Obfuscators/VHDLObfuscator.html

En el siguiente enlace se muestra un proyecto que consiste en la generación de una herramienta gratuita, con interfaz de usuario gráfico que permite ofuscar con facilidad código fuente HDL, permitiendo realizar comprobaciones de la sintaxis, tanto mediante el resaltado de palabras clave como con el uso de una herramienta gratuita para la comprobación semántica:

http://ue.accesus.com/vhdl-obfuscator


miércoles, 15 de abril de 2015

Albert, Bernard, Cheryl y el problema de la fecha de su cumpleaños (Cheryl's birthday)

Un problema de lógica matemática aplicado a niños entre 14 y 15 años en Singapur ha llamado mucho la atención en internet en días recientes. El enunciado del problema es el siguiente:

"Albert y Bernard se han hecho amigos de Cheryl y ellos quieren saber cuándo es su cumpleaños. Cheryl les da una lista de 10 posibles fechas:

15 de mayo, 16 de mayo, 19 de mayo,
17 de junio, 18 de junio,
14 de julio, 16 de julio,
14 de agosto, 15 de agosto y 17 de agosto.

Cheryl les cuenta a Albert y a Benard, por separado, el mes y el día de su cumpleaños respectivamente.

Albert: "Yo no sé cuándo es el cumpleaños de Cheryl, pero sé que Bernard tampoco lo sabe".
Bernard: "Al principio, yo no sabía cuándo era el cumpleaños de Cheryl, pero ahora lo sé".
Albert: "Entonces, yo también sé cuándo es el cumpleaños de Cheryl".

Así que, ¿cuándo es el cumpleaños de Cheryl?"

Se han dado varias soluciones, yo mismo llegué en principio a una respuesta común: 17 de Agosto, pero luego de un análisis más meditado se obtiene el 16 de Julio. La diferencia principal en la obtención de dichas fechas radica en la forma en que nuestro cerebro maneja los supuestos y organiza la información de forma global, esto nos arrebata la pista que nos da la secuencialidad y textualidad de las afirmaciones de Albert y Bernard.

Un punto controversial se encuentra al analizar la primera afirmación de Albert:

Albert: "Yo no sé cuándo es el cumpleaños de Cheryl, pero sé que Bernard tampoco lo sabe".

Que Albert esté tan seguro de que Bernard no conoce la fecha elimina aquellas soluciones con día único, es decir:

19 de Mayo y 18 de Junio

Albert conoce que en dichas fechas no es el cumpleaños. Pero aquí empieza la controversia, algunos sugieren que sólo esas dos fechas pueden ser eliminadas por dicha afirmación, sin embargo se pasa por alto algo esencial, Albert sólo tiene información sobre los meses, por lo tanto que el 19 de Mayo sea descartado, por ejemplo, indica indirectamente que él sabe con certeza que el mes mayo es incorrecto. En lógica lo escribiríamos así:

(19 y mayo) = falso;
por lo cual 19=falso y/o mayo=falso;

Como Albert no puede afirmar nada sobre el día sólo queda mayo=falso, con lo cual se descartan las soluciones que incluyen al mes mayo y de la misma forma las que incluyen a junio:

15 de mayo, 16 de mayo, 19 de mayo,
17 de junio, 18 de junio,
14 de julio, 16 de julio,
14 de agosto, 15 de agosto y 17 de agosto.

Bernard que ha estado escuchando atentamente aplica el mismo razonamiento de Albert quedándose con las siguientes posibilidades:

14 de julio, 16 de julio,
14 de agosto, 15 de agosto y 17 de agosto.

Pero Bernard conoce el día, lo único indeterminado para él es el mes, dado que afirma que ahora ya sabe cual es la fecha correcta entonces podemos descartar que el día sea el 14, las opciones quedan entonces de la siguiente manera:

14 de julio, 16 de julio,
14 de agosto, 15 de agosto y 17 de agosto.

Albert sabe ahora que Bernard conoce la respuesta, deduce también por lo tanto que el día 14 queda descartado con lo cual se queda con las siguientes opciones:

16 de julio,
15 de agosto y 17 de agosto.

Y cómo él conoce cual es el mes correcto dice sin dudar: "Entonces, yo también sé cuándo es el cumpleaños de Cheryl", esta afirmación sólo es posible si Albert conoce que el mes del cumpleaños es en julio, puesto que si fuera agosto, quedaría aún con la duda de si es el 15 o el 17. Nosotros por lo tanto podemos deducir de la última afirmación de Albert que agosto queda descartado:

16 de julio,
15 de agosto y 17 de agosto.

Por lo cual obtenemos como respuesta que el cumpleaños de Cheryl es sin duda el 16 de Julio.

miércoles, 4 de febrero de 2015

ALERTA: Ransomware "CryptoWall 3.0", HELP_DECRYPT

Si de pronto no puedes acceder a un documento y en su carpeta aparece cualquiera de los archivos:

HELP_DECRYPT.TXT
HELP_DECRYPT.PNG
HELP_DECRYPT.HTML
HELP_DECRYPT.URL

Apaga inmediatamente tu PC, y comunícate con tu asesor en informática de confianza. Tu información está en serio peligro. El Ransowware "CryptoWall 3.0" anda suelto encriptando documentos de Office, imágenes, videos, etc. sobre escribiéndolos, haciéndolos prácticamente irrecuperables, y solicitando como rescate de tus datos el valor de USD$500 pagables en (2.33 al cambio) Bitcoins dentro de las 170 horas de realizada la encriptación, luego el costo sube al doble. El malware ataca a todos los archivos que se encuentren dentro de las unidades listadas por el sistema operativo, es decir, discos duros, unidades de memoria externas (memorias y discos usb) y unidades de red inclusive. Hasta hay reportes de que es capaz de modificar los archivos en Dropbox a los que la computadora infectada tuviera acceso.

En lo posible no intentes recuperar tu mismo la información, ni empieces a descargar supuestas herramientas que ofrecen ayudarte, muchas de ellas son falsas y buscan sacar provecho de tu situación. La mejor forma de intentar recuperar en algo tus documentos es mediante técnicas y herramientas profesionales y mejor si se realiza desde una computadora que se encuentre libre del Ransomware, si se tiene suerte y su sistema operativo es Windows 7, es posible que se haya tenido activada la opción de protección de sistema. y mediante la exploración del "volume shadow copy" existe la posibilidad de recuperar versiones previas de sus valiosos archivos. Sin embargo CryptoWall en su tercera versión intenta borrar esta copia de seguridad e inclusive desabilita la protección mencionada en un intento de desaparecer cualquier posibilidad de recuperación, afortunadamente no siempre consigue eliminar adecuadamente el archivo principal del "Shadow Copy" que se encuentra en una ubicación protegida.

¿Cómo protegerse de este nuevo ataque?
La medida más efectiva de todas: La copia de seguridad (Backup) Usted siempre debe de suponer que los archivos de su computadora son vulnerables, y que de un momento a otro simplemente puede perder todo aquello que en ella se encuentra, bajo esa premisa, debería de regularmente realizar copias de seguridad de sus archivos en unidades que sólo se conecten a la computadora para realizar dicha copia.
Mantenga su sistema operativo actualizado, muchos malwares de este tipo aprovechan las vulnerabilidades del sistema para tomar el control del mismo. Un sistema operativo no actualizado y conectado a la Internet se encuentra extremadamente expuesto a estos ataques y no existe garantía total de que un antivirus lo proteja si su sistema no ha sido corregido (parchado).
No abra ningún tipo de archivo de fuentes no confiables, no descargue contenido ni juegos que ofrecen ser gratuitos si no está 100% seguro de su origen.
Cuando navegue por Internet preste especial atención a los anuncios que indican que debe actualizar tal o cual complemento "plug-in" muchos de esos avisos son falsos, sólo haga caso a las actualizaciones que el propio sistema operativo (Windows) le sugiera e ignore los avisos que aparezcan en el navegador o página web.
Si tiene un antivirus actualízelo regularmente, conectando cada cierto tiempo su máquina a la Internet. Un antivirus desactualizado es una coladera.
Finalmente, vuelva a hacer backups, suba sus archivos críticos en forma manual a la nube.

hardware eventos experimento laboratorio ciencia informática computación computadoras fotografía digital naturaleza niños científico tecnología profesional aplicación escolar Perú hardware eventos experimento laboratorio ciencia informática computación computadoras fotografía digital naturaleza niños científico tecnología profesional aplicación escolar Perú hardware eventos experimento laboratorio ciencia informática computación computadoras fotografía digital naturaleza niños científico tecnología profesional aplicación escolar Perú hardware eventos experimento laboratorio ciencia informática computación computadoras fotografía digital naturaleza niños científico tecnología profesional aplicación escolar Perú news events experiment laboratory science computer calculation photographs digital nature children scientific technology professional application school news events experiment laboratory science computer calculation photographs digital nature children scientific technology professional application school