3 de mayo de 2012

Seguridad en Dispositivos Móviles

Ingeniería de Dispositivos Móviles
Laboratorio: Publicación 11
Todos los días manejamos una gran cantidad de información, y cada vez es más común viajar con ella a todos lados con nuestros dispositivos móviles. Ya no solo guardamos información valiosa en nuestras computadoras de casa, ahora guardamos información en tablets y sobre todo en teléfonos móviles, en los que llevamos siempre información que puede ser muy personal, o también información confidencial del trabajo. Y con esto es momento de considerar que la seguridad en nuestros móviles es muy importante, y también hay que pensar en que pasaría si se nos pierde o nos roban nuestro móvil.

Para no adentrarnos tanto en que información personal tenemos guardada en nuestro teléfono, basta con mencionar nuestra agenda telefónica, que para muchos perderle sería lo peor del mundo. Pero también llevamos cosas como vídeos y fotos que no nos gustaría que cualquier persona en caso de pérdida estuviera viendo o haciendo mal uso de ellas.

Así que voy a mencionarles tres aspectos importantes que hay que considerar antes de sacar información de nuestro trabajo en nuestros teléfonos móviles o en las tablets.


A la vez también se descuida la seguridad al no tener cuidado con las aplicaciones que instalamos, llegando a darse el caso de tener problemas por instalar aplicaciones que están infectadas con código malicioso. Especialmente hay que ser cuidadosos en tabletas y teléfonos, donde el usuario tiene menos cultura de seguridad.

Virus en los dispositivos móviles


Porque los virus que nos afectan y cada vez más en estos dispositivos. Y en el caso de teléfonos y tabletas en muchos casos ni siquiera tenemos antivirus instalados, que puedan revisar periódicamente nuestras tabletas o teléfonos.

Últimamente Android ha sufrido algún que otro problema de este tipo, pero ninguna plataforma es invulnerable.

En los portátiles el problema que podemos encontrarnos es que no estén tan actualizados como debieran, ya que no se conectan a Internet de forma continuada como un equipo de sobremesa y nos desentendemos de la actualización. De esta manera actuamos como si estuviésemos protegidos cuando en realidad tenemos agujeros de seguridad que pueden ser importantes. El mismo caso ocurre con las actualizaciones del sistema.

Algunas aplicaciones que nos ayudan a evitar archivos o aplicaciones maliciosas



AVG Mobilation Antivirus Gratis es una solución de seguridad para móviles gratuita que protege en tiempo real el teléfono contra virus, malware, spyware y ataques de vulnerabilidad en línea.

AVG tiene:
  • Analizar aplicaciones, configuraciones, archivos y multimedia en tiempo real
  • Encontrar o localizar su teléfono extraviado o sustraído por medio de Google Maps
  • Bloquear y limpiar el dispositivo para proteger su privacidad
  • Detener tareas que ralentizan el funcionamiento del teléfono
  • Navegar por la red de forma segura


Avast! te brinda seguridad con su antivirus y un sistema de antirrobo para tu móvil Android.

Proteja sus datos personales con análisis de virus automáticos y alertas de URL infectadas. Detenga a los hackers mediante la adición de un cortafuegos. Controle las funciones antirrobo con comandos remotos de SMS para: borrado del historial, bloqueo de teléfono, activación de sirena, rastreo GPS, monitoreo de audio y muchas otras herramientas útiles.


Norton Mobile Security Lite protege su dispositivo móvil en caso de pérdida o robo, y contra los programas maliciosos. Norton ofrece su experiencia en seguridad y contra programas maliciosos para los dispositivos móviles. Su vida y su información importante están almacenadas en su teléfono. Manténgalo protegido con Norton Mobile Security Lite para Android.

  • Análisis de virus automático para las aplicaciones y las actualizaciones de las aplicaciones descargadas para proteger contra amenazas.
  • Detecta y elimina las amenazas para la seguridad móvil que los cibercriminales utilizan a fin de robarle su información personal, enviarle mensajes de texto de spam o tomar el control de su teléfono.
  • Ofrece la opción de analizar los datos de la tarjeta SD en busca de amenazas cuando se inserta en su teléfono con la avanzada protección contra virus.
  • La función de bloqueo remoto le permite bloquear su teléfono de forma remota en caso de pérdida o robo, habilite un bloqueo de seguridad en su teléfono de forma remota con un simple mensaje de texto para que los ladrones no puedan tener acceso a su información ni generar cargos en su factura.
  • Protege su información privada contra los curiosos en caso de pérdida o robo del dispositivo.

Copia de seguridad



Esta es otra de las cuestiones que debemos considerar para tenerlo en cuenta en caso de pérdida o robo del dispositivo. Tener copia de nuestros datos, realizada de forma periódica es fundamental. Pero también de nuestra agenda de contactos, configuraciones, etc. El ideal es que si mañana perdemos un dispositivo al día siguiente estamos trabajando en otro de iguales características sin mayor inconveniente. Es una forma de asegurar la continuidad del negocio.

A la vez debemos buscar soluciones para cifrar toda la información que sea crítica si trabajas en alguna empresa. Las tarjetas externas en muchas ocasiones dan un plus de capacidad a los dispositivos y buscar un software que nos permita cifrar la información en caso de pérdida y a la vez mantener la productividad. El cifrado debe ser transparente para el usuario, de manera que se realice de forma automática y sin entorpecer el trabajo del equipo.

Localización del dispositivo perdido



Esta es otra de las opciones básicas en muchos casos. Sobre todo cuando se trata de una pérdida u olvido más que de un robo. La mayoría de las soluciones de seguridad para tabletas y teléfonos incluyen esta posibilidad de localización.

El siguiente paso es el borrado seguro de la información de forma remota, que permite en caso de robo eliminar toda la información de un dispositivo o de sus tarjetas externas. Por eso también es tan importante tener copia de seguridad de los mismos para recuperarlos en otro dispositivo y trabajar de nuevo con normalidad.

Todo este software debemos considerarlo como una inversión en la continuidad de negocio de nuestra fuerza móvil. Si podemos trabajar sin el teléfono móvil al día siguiente está claro que no necesitamos más que pedir un duplicado de la SIM, pero si cada vez nuestro teléfono tableta o portátiles se convierten en equipos más críticos en nuestra vida diaria debemos cuidarlos.

Referencias
Seguridad en móviles

2 de mayo de 2012

Prender un Led con un Push Button en Arduino Uno

Cómputo Integrado
Laboratorio

Ahora vamos a realizar un circuito básico para el uso de un botón o push button para prender un led con nuestro Arduino Uno.

Material

  • 1 push button de cuatro terminales
  • 1 resistencia de 10k ohms
  • 1 led de 5mm de color rojo
  • Arduino Uno y cable para conexión USB
  • Cable para conexión
  • Un protoboard

Circuito montado


Por si no se nota en la imagen la punta más larga del led de 5mm esta conectada en el pin número 13 del Arduino y la otra en el pin del GND.
El cable de color rojo indica la salida de 5V desde el Arduino y esta conectado a la línea roja del protoboard.
El cable azul es el que va a tierra o GND del Arduino y también va conectado al protoboard pero a la línea azul.
El cable de color verde esta conectado de la salida del push button al pin número 2 en el Arduino.


Código realizado



Circuito funcionando


Aquí podemos ver en la imagen que cuando es presionado el botón, el led prende inmediatamente.


Esto fue un uso simple, pero la función que nosotros le demos al botón puede ser la que nosotros queramos como para botones de control de un carro o botones que cuando se presionen guarden datos en memoria, etcétera.

1 de mayo de 2012

Aumentar Pines Digitales en Arduino Uno

Cómputo Integrado
Laboratorio

Mientras experimentaba un poco con mi Arduino Uno encontré información valiosa en internet, acerca del uso de los pines que tenemos disponibles.

Una de las cosas con las que aveces lidiamos es la cantidad de salidas/entradas digitales en nuestra placa Arduino, pero podemos hacer un poco de maravillas con ella sin necesidad de comprar un componente más. Esto es usando todos los pines como salidas o entradas digitales.

Mi compañera Cecilia Urbina hizo una entrada para aumentar en número de pines pero cuando se tiene a la mano otro Arduino.

Enlace directo a la publicación: Aumentar I/O en Arduino

Veamos como están distribuidas las entradas y salidas digitales, seriales y analógicas de nuestra placa de Arduino Uno.


De forma predeterminada los pines del Arduino están distribuidos de la siguiente manera.
  • Terminales digitales 0-1 E/S serie - TX/RX (verde oscuro).
  • Terminales digitales 2-13 (color verde).
  • Terminales de entrada analógica 0-5 (azul claro).

Pero algo que es bueno saber cuando se necesitan más entradas o salidas digitales es que las terminales 0 y 1 (TX y RX) si no estan siendo utilizadas como salidas seriales, como por ejemplo, usando Serial.begin(9600); pueden usarse sin problema como salidas digitales donde podemos usar digitalWrite();.

Y también tenemos 6 entradas analógicas (A0 - A5) que podemos utilizar, siempre y cuando no estemos usando ninguna de ellas para la lectura de algún sensor, ya que con una sola terminal que necesitemos para un sensor, en automático todos los demás también se activan para el mismo uso. Así que mientras no usemos ningún sensor, hemos ganado 6 entradas y salidas digitales.

Cree un pequeño ejemplo donde utilizo todas las terminales del Arduino para prender leds.


Si podemos ver las terminales A0, A1, A2, A3, A4 y A5 son usadas como 14, 15, 16, 17, 18 y 19, al ser usadas en pinMode();.

Y esto es una forma fácil de tener más salidas o entradas digitales en nuestro Arduino sin gastar en más componentes.

Referencias
Arduino Uno - Board

30 de abril de 2012

Sensor de Alcohol MQ-3

Cómputo Integrado
Laboratorio

Para mi proyecto Arduino realicé un alcoholímetro donde utilice uno de los sensores más comunes para la detección de alcohol en el aliento humano, y como no entre en detalles acerca del sensor, les platico un poco trabaja y como fue conectado.

Les dejo el enlace del reporte del proyecto: Proyecto Arduino: Alcoholímetro

Este es un sensor de alcohol llamado MQ-3, que detecta etanol en el aire. Es uno de los sensores de gas más sencillos por lo que funciona casi de la misma manera con otros sensores de gas como el de gas metano y gas butano. Cuesta alrededor de los $85 pesos. Típicamente se utiliza como parte de los alcoholímetros o probadores de aliento para la detección de etanol en el aliento humano.


Básicamente, tiene 6 pines, la tapa y el cuerpo. Aunque a pesar de que tiene 6 pines, se suelen utilizar sólo 4 de ellos. Dos de ellos son para el sistema de calefacción, lo que marco como H y los otros 2 son para la conexión de alimentación y de tierra, que están marcados como A y B.


Si miramos por dentro el sensor, encontraremos un pequeño tubo. Este tubo es un sistema de calefacción que esta hecho de óxido de aluminio y dióxido de estaño, y dentro de este hay bobinas, que prácticamente producen el calor. Y también se pueden encontrar 6 pines. 2 pines que llamados son llamados pin H y están conectadas a las bobinas del calentador y los otros están conectados directo al tubo.


Como conectar el sensor


El sensor tal y como lo suelen vender en las tiendas distribuidoras es como el de la primer imagen mostrada aquí, lo cual aveces dificulta el uso del mismo ya que tenemos que soldar cuidadosamente los pines necesarios a cable, y por la estructura en que se encuentran suele ser un tanto batalloso.


Pero tuve la suerte de que al comprarlo me proporcionaron una pequeña placa especial para el sensor donde ya vienen marcadas exactamente las 4 salidas necesarias para la lectura del sensor y donde se facilita la forma de soldar.


Esta pequeña placa sigue exactamente las instrucciones para conectar al Arduino y recibir los datos del sensor.


Yo con cables para interconexión soldé a cada una de las 4 salidas (GND, A1, B1, H1) y me quedo lo siguiente.


Ejemplo para recibir la lectura del sensor


Armé un pequeño circuito para leer los datos del sensor y verlos desde el monitor serial.


El código que use para esta lectura.


Y por último les muestro la salida desde el monitor serial, después de haber usado un algodón impregnado con alcohol etílico.

Podemos notar que los datos recibidos van desde valores cercanos a 600 y llega a subir hasta valores cercanos a 1000.


Bibliografía
Blog de sensores
Breathalyzer with MQ-3 and Arduino

29 de abril de 2012

Arduino Uno y Flex Sensor

Cómputo Integrado
Laboratorio

Ahora vamos a hacer uso del flex sensor y crear un pequeño circuito con leds que nos indiquen el nivel de flexión. Recomiendo que para pruebas se utilice la el monitor serial, para conocer la lectura del sensor y aprendamos un poquito de como son sus mediciones.

Un sensor de flexibilidad o flex sensor de 4.5 pulgadas, funciona debido a que cuando el sensor es flexionado, la resistencia del sensor incrementa. Para nuestro Arduino la salida del sensor entra en uno de los pines analógicos que normalmente reciben valores de entre 0 y 1023, pero para nuestro sensor lo normal es estar recibiendo datos entre 130 y 275 aproximadamente.


Material

  • 10 leds de 5mm, de cualquier color
  • 9 resistencias de 330 ohms
  • 1 resistencia de 10k ohms
  • 1 flex sensor
  • Arduino Uno y cable para conexión USB
  • Cable para conexiones

Circuito


EL siguiente circuito difiere un poco del mostrado, pero fue del cual me base para crear el mio. La diferencia es que este esta de alguna forma separado en dos protoboards, pero el mio esta todo en uno solo.

El sensor como se puede apreciar esta en una de las entradas analógicas de nuestra placa Arduino.


Y esta es la imagen de como fue mi circuito para el uso del sensor de flexibilidad.


Código


El código es sencillo de entender sin tanta explicación, para los que ya están familiarizados con las funciones típicas de lectura y escritura para encender los leds y como se dice que cierto pin es de salida, etcétera.


Vídeo


Y que mejor que un vídeo para mostrar la funcionalidad y como esta flexionándose el sensor, y ver los destellos de los leds según el nivel de flexibilidad.


Otra cosa que hay que mencionar es que el sensor al flexionarse en sentido contrario da números negativos, pero yo coloque una condición en el programa de cuando este por debajo de cero se quede en cero.

Referencias
Flex sensor

28 de abril de 2012

Semáforo con Arduino Uno

Cómputo Integrado
Laboratorio

Programa y circuito para la creación de cruce de semáforos con Arduino Uno. El estado verde tiene una duración de 6 segundos, más el tiempo de parpadeo, el estado amarillo es de 3 segundos y el estado rojo se encuentra activo mientras el otro semáforo pasa por el estado verde y amarillo. El botón sirve para terminar el tiempo del semáforo con luz verde activo en el momento y así pasar la actividad al otro semáforo.

Material usado

  • Arduino Uno y cable para conexión USB
  • 1 push button
  • 1 resistencia de 10K ohms
  • 6 resistencias de 330 ohms
  • 2 leds de 10 mm, color verde difuso
  • 2 leds de 10 mm, color ámbar difuso
  • 2 leds de 10 mm, color rojo difuso
  • 1 protoboard
  • Cables para conexiones

Yo use cables para conexión macho-macho y algo de cable de ethernet. Los leds use de 10mm para que fuese más vistoso, pero pudo haber sido leds sencillos de 5mm.

Circuito


El circuito es sencillo y fácil de elaborar, yo use Fritzing para mostrárselos aquí y vean como son las conexiones.


Y aquí una imagen de como quedo el circuito ya montado en el protoboard.


Código


Este es el programa creado para hacer funcionar los dos semáforos. Cada semáforo es una función, y al termino de cada función se manda a llamar a la otra función. La función loop inicializa el semáforo con uno en luz verde y el otro en luz roja.


Esta es una imagen del circuito, con el programa ya subido al Arduino y funcionando.


Vídeo


Un vídeo de muestra con el semáforo funcionando.


Versión modificada


El semáforo anterior tiene un push button que cuando es presionado mientras el semáforo se encuentra en luz verde, termina su tiempo y empieza a parpadear la luz amarilla, para después cambiar a rojo, en pocas palabras el botón tiene la función de cambiar de semáforo.

Esta versión es de un semáforo manual, es decir, no cambia de un semáforo a otro hasta que es presionado el botón.
Aquí les dejo el código modificado, quite los comentarios ya que son prácticamente los mismos que en el anterior. Podemos ver el cambio dentro del ciclo while donde cambiamos la condición.


Y aquí esta el vídeo para ver cuál fue la diferencia que tenemos en este semáforo que cambia manualmente.


27 de abril de 2012

Prender un led con Arduino Uno

Cómputo Integrado
Laboratorio

Como dije en la publicación anterior, antes de crear el programa o sketch que prenderá nuestro led, veremos las partes esenciales de nuestro código para que todo ande bien.

Hay dos funciones esenciales para nuestro programa, veamos cuales son.

La función setup() se establece cuando se inicia un programa o sketch. Se emplea para iniciar variables, establecer el estado de los pins e inicializar librerías. Esta función se ejecutará una única vez después de que se conecte la placa Arduino a la fuente de alimentación, o cuando se pulse el botón de reinicio de la placa.

La función loop() hace justamente lo que su nombre sugiere, por lo tanto se ejecuta consecutivamente, permitiéndole al programa variar y responder.

Y lo que usamos para decir que un pin será salida o entrada tenemos lo siguiente:

pinMode() - Configura el pin especificado para comportarse como una entrada o una salida.

Y para indicar si el estado es alto o bajo de un pin tenemos:

digitalWrite() - Escribe un valor HIGH o LOW hacia un pin digital.

Si el pin ha sido configurado como OUTPUT con pinMode(), su voltaje será establecido al correspondiente valor: 5V para HIGH, 0V (tierra) para LOW. Si el pin es configurado como INPUT, escribir un valor de HIGH con digitalWrite() habilitará una resistencia interna de 20K conectada en pullup. Escribir LOW invalidará la resistencia. La resistencia es sufuciente para hacer brillar un LED de forma opaca, si los LEDs aparentan funcionar, pero no muy iluminados, esta puede ser la causa. La solución es establecer el pin como salida con la función pinMode().

Ahora si vamos a crear nuestra primer práctica con Arduino.

Material necesario


  • Una placa Arduino Uno

  • Un cable para conexión USB

  • Un led de 5mm, de cualquier color

Armado


Colocamos el led con la punta positiva (la más larga) en pin número 13, y la otra (la negativa) hacia el pin GND.

Conectamos la placa Arduino con el cable USB a la computadora.


Código


Este es el código que escribiremos en el IDE de Arduino como nuestro primer sketch, yo lo he guardado con el nombre de "led".


Al subirlo a la placa Arduino podremos ver su funcionamiento, y como prende nuestro led.


Vídeo


Por último les dejo mi vídeo de como quedo nuestro primer prigramita.


Referencia
Arduino - Función setup
Arduino - Fucnión loop
Arduino - pinMode
Arduino - digitalWrite