domingo, 17 de noviembre de 2013

Estenografía


Estenografía


En este tema se propone un algoritmo esteganográfico que permite el envió de mensajes o datos ocultos en imágenes.

Del griego steganos (oculto) y graphos (escritura), la esteganografía se puede definir como la ocultación de información en un canal encubierto con el propósito de prevenir la detección de un mensaje oculto.
La esteganografía estudia el conjunto de técnicas cuyo fin es insertar información sensible dentro de otro fichero. A este fichero se le denomina fichero contenedor (gráficos, documentos, programas ejecutables, etc.). De esta forma, se consigue que la información pase inadvertida a terceros, de tal forma que sólo sea recuperada por un usuario legítimo que conozca un determinado algoritmo de extracción de la misma

En clase desarrollamos una práctica en la cual se debía ocultar un mensaje  y decifrar una imagen usando la herramienta ImageHide.exe la idea era ocultar un mensaje y utilizar esta herramienta para encriptar y descifrar el mensaje el éxito de la practica para ganar los puntos estaba en dar al adversario una clave difícil de digitar para que les tomara mas tiempo la descencriptación del mensaje.



Para ello utilizamos ImageHide, un programa que nos permite encriptar información por medio de una imagen, y tambien de desencriptar.




Instalamos el programa como primer paso.




Iniciamos cargando la imagen en Load Image, escogemos una imagen 






Aquí escogemos la imagen en la cual ocultamos el mensaje y la clave para que descifraran nuestro mensaje es: 

Clave:^{]*¨?¡()*~""¬¬|°ñongas;:,¡!{¿Ñ@=(%"!CarlosjaimeluissoniaHSLHCWPERDIERON
Mensaje: Perdieron.


En el siguiente video mostraremos lo fácil de utilizar esta herramienta para poder enviar y crear mensajes ocultos desde una imagen








sábado, 16 de noviembre de 2013

Filósofos Comensales

Este es un problema donde se representa la sincronización de los procesos en un sistema operativo. Cabe aclarar que la interpretación está basada en pensadores chinos, quienes comían con dos palillos, donde es más lógico que se necesite el del comensal que se siente al lado para poder comer.




Problema


Cinco filósofos se sientan alrededor de una mesa y pasan su vida cenando y pensando. Cada filósofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Para comer los fideos son necesarios dos tenedores y cada filósofo sólo puede tomar los que están a su izquierda y derecha. Si cualquier filósofo toma un tenedor y el otro está ocupado, se quedará esperando, con el tenedor en la mano, hasta que pueda tomar el otro tenedor, para luego empezar a comer.

Si dos filósofos adyacentes intentan tomar el mismo tenedor a una vez, se produce una condición de carrera; ambos compiten por tomar el mismo tenedor, y uno de ellos se queda sin comer.

Si todos los filósofos toman el tenedor que está a su derecha al mismo tiempo, entonces todos se quedarán esperando eternamente, porque alguien debe liberar el tenedor que les falta. Nadie lo hará porque todos se encuentran en la misma situación (esperando que alguno deje sus tenedores). Entonces los filósofos se morirán de hambre. Este bloqueo mutuo se denomina interbloqueo deadlock.
El problema consiste en encontrar un algoritmo que permita que los filósofos nunca se mueran de hambre.


Solución

Para el problema de los filosofos comensales, acudimos a crear un mecanismo de sincronización entre procesos y este macanismo lo llamamos SEMÁFORO.

Los pasos para la solución son los siguientes:

1. Inicialización: asignamos un valor inicial.

2. Espera: decremento de una unidad del valor del semáforo, puede dejar bloqueado al proceso que solicita la operación.

3. Señal: incremento de una unidad del valor del semáforo, puede desbloquear el primer proceso que está bloqueado en este semáforo.

Cada semáforo mantiene una cola de procesos bloqueados.

En este tema aprendimos en clase de como crear un programa que nos visualiza el funcionamiento del semáforo para la solución de los interbloqueos o deadlock que nos muestra el ejercicio de los filosofos comensales.




























Scanning


Angry IP Scanner


No abundan las utilidades de red gratuitas para Mac OS X, y si además pueden resultar útiles y son sencillas de utilizar merecen ser tenidas en cuenta. Este es el caso de Angry IP Scanner, que además tiene otra cosa interesante: existen versiones tanto para Windows, como para Mac OS X y Linux. Podemos descargarlas desde la página oficial.

Para Mac se facilita un archivo ZIP con la aplicación, que sólo hay que guardar en Aplicaciones, Utilidades o donde queramos. Los usuarios Windows pueden utilizar el correspondiente ejecutable sin necesidad de instalarlo, aunque la última Beta requiere de Java instalado. Para Linux existen diferentes paquetes, incluso en formato DEB para los usuarios de Ubuntu y Debian.




¿Para qué sirve Angry IP Scanner?


Angry IP Scanner nos permite monitorizar nuestra red interna o LAN, identifica los equipos (o "nodos") conectados a ella como ordenadores, discos de red, routers, impresoras de red, etc… Veremos las direcciones IP de red que utiliza cada uno de ellos, así como alguna información adicional, como el tiempo de respuesta a los ping, los puertos abiertos, el nombre NetBIOS, grupo de trabajo, etc… Es decir, es una sencilla herramienta para la "administración de redes". Y todo ello desde una interfaz gráfica más accesible y cómoda para aquellos usuarios no acostumbrados al uso de comandos en el Terminal de Mac OS X o Linux, o en la Consola de Windows.




Tenemos otro programa llamado NMAP. A continuación haremos una pequeña práctica de esta herramienta bastante útil para rastrar puertos desde la red.




Nmap 


Nmap, cuyo nombre significa mapeador de redes, es software libre y puede redistribuirse y/o modificarse bajo los términos de la Licencia Publica General GNU.


Es un programa de código abierto que sirve para efectuar rastreo de puertos escrito originalmente por Gordon Lyon (más conocido por su alias Fyodor Vaskovich). Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red informática.



Características


  • Descubrimiento de servidores: Identifica computadoras en una red, por ejemplo listando aquellas que responden ping.

  • Identifica puertos abiertos en una computadora objetivo.

  • Determina qué servicios está ejecutando la misma.

  • Determinar qué sistema operativo y versión utiliza dicha computadora, (esta técnica es también conocida como fingerprinting).

  • Obtiene algunas características del hardware de red de la máquina objeto de la prueba.



En las siguientes imágenes mostraremos la práctica realizada en clase con los comandos de Nmap.









































Conclusión


Tanto NMAP como su interfaz gráfica Zenmap son herramientas muy útiles para los administradores de sistemas. Permiten hacer, de forma rápida, intuitiva y sencilla, una auditoría del sistema en el ámbito de su competencia, que es la exploración de puertos. Y no hace falta ser responsable de un gran sistema para verle la utilidad a NMAP. Cualquiera de nosotros, al fin y al cabo, somos administradores de nuestro propio sistema y debemos vigilar la integridad, disponibilidad y confidencialidad de nuestros datos. En definitiva, la seguridad.