martes, 5 de mayo de 2015

Herramienta contra CoinVault



La compañía rusa Kaspersky Lab ofrece una herramienta, que busca liberar de ransomeware los archivos de los usuarios en forma gratuita.

Se trata de un desarrollo hecho en conjunto con la Unidad Nacional contra Delitos de Alta Tecnología de la policía holandesa y que actúa específicamente contra el virus "CoinVault".

La herramienta fue creada en base a datos obtenidos por la policía holandesa, provenientes de un servidor de comando y control. Con eso, el equipo de Kaspersky pudo crear un repositorio especial de claves de descifrado que aún sigue creciendo, ya que la investigación sigue en curso.

Según datos entregados por Kaspersky, CoinVault ha afectado a más de mil equipos Windows en 20 países, especialmente en mercados como Países Bajos, Alemania, Estados Unidos, Francia y Reino Unido. En Latinoamérica se han registrado casos en Argentina, Panamá, República Dominicana y México.

Sin más preámbulo, acá la herramienta en línea: https://noransom.kaspersky.com/

lunes, 16 de marzo de 2015

De cuando el miedo me debía dinero.



Esa construcción cultural de lo que llamamos: Miedo, y que "para quien tiene miedo, todo son ruidos", citando a Sófocles en un arranque neuronal, podríamos hacernos una temerosa pregunta (asumo que notaron el juego de palabras), ¿existe en realidad?

Racionalizando el punto, podemos definir que es una emoción primaria que se deriva de la aversión natural al riesgo o la amenaza, y que se manifiesta en todos los animales ¡incluyéndolo a usted! (no se vaya a enojar...), ¡incluyéndome! (ya estoy empezándome a caer mal), en fin...

Freud -que no tuve el conductual gusto de conocer-, aseguraba que existían dos tipos de miedo (típico, tenía que haber más de uno): el real y el neurótico. Es decir, uno inconsciente y otro aprendido.

Humildemente, pasaré a explicar décadas de estudios de muy conocidos "loqueros"... err, profesionales de nuestra psique. Es curioso, que esté definida como mitología, es decir, algo que no existe. Esto nos lleva a otra pregunta: ¿cómo se define aquella persona que estudia algo que no existe?... bien, bien, no nos desviemos!

La psique en psicología perdió su base metafísica y "se convierte así en la designación de todos los procesos y fenómenos que hacen la mente humana como una unidad." Me sigue gustando la otra definición etérea.

Ah sí! La explicación... perdón, son conductas aprendidas. Un chiste de neuróticos:

-Doctor, doctor, nadie me cree.
-Dígame la verdad ahora, ¿cuál es su verdadero problema? 

Ahora, de forma magistral debo añadir, otro pero de miedo real:

En el fragor sangriento de la batalla el capitán gritaba a sus soldados:
-¡Adelante! ¿Quien manda aquí yo o el miedo?
Y un soldado, que no podía mas le contesto:
-¡¡El miedo señor!!
-¿Cómo que el miedo soldado?
-Claro! porque usted será muy capitán, ¡pero el miedo es general!

¡Los psicoanalistas saben que los neuróticos no les van a durar para siempre! La vida no es eterna (ese es uno de los motivos por los que los neuróticos son neuróticos), y además, a veces los neuróticos se trasmutan a otra especie, la de los psicóticos (neuróticus encabronadus), la de los sanos (neuróticus curatus) o la de los psicoanalistas (neuróticus profesionalis). Pero un buen neurótico puede durar más de 10 años en el diván, si se sabe (o si no se sabe) cómo tratarlo.

Pero ¿se acuerdan de la pregunta? (que dicha, porque tuve que devolverme para leerla de nuevo). Mi respuesta se basa en un principio informático universal: KISS (Keep It Simple Stupid!). Existe solamente en nuestra cabeza, la cual está toda embarrada de psique... que en un principio no existía! y que luego le dieron una definición que les tomó décadas hacer que la gente creyera.

Por esa razón Ichabod Crane huía del Jinete aterrorizado, lo mataba la incertidumbre, porque alguien sin cabeza no creo que lo pudiera ni siquiera, insultar.


El miedo es muy real, cuando está en nuestra cabeza, pero no fuera de ella. Por eso el Miedo me debe dinero. Tantas cosas sin hacer por miedo al Miedo...


viernes, 9 de enero de 2015

Serie Forense: Copia local de dispositivo USB con Linux



Pura vida gente!

Este es el primer post sobre Computación Forense de una serie que tengo planeado compartirles. Ya que ocuparemos la siguiente información en posteriores posts, haremos este tema primero. 

Usando Kali Linux (luego veremos el ejemplo con Windows) y un USB pendrive realizaremos una copia bit-a-bit del contenido de este. Muy bien, una copia bit-a-bit (Bit-Stream copy) es la copia de un contenido digital donde cada bit de dicho contenido, es idéntico al bit correspondiente del original.

Lo anterior es uno de los pasos más comunes en ciertas investigaciones forenses. Por supuesto, hay muchísimos pasos previos, pero solo nos enfocaremos en este. Veamos:
  • Inserte el disco de arranque de Linux en el PC y haga boot del sistema. Podría también usar un PC que ya lo tenga instalado, pero lo ideal es que todo se ejecute en memoria volátil.
  • Conecte el dispositivo de almacenamiento USB, si no se monta automáticamente se requerirá montarlo manualmente. Supondremos que es /dev/sdb1 y se ha montado como /media/USB.
  • Busquen el contenido que desean copiar en el directorio /dev, en el ejemplo, el disco duro se llama sda con particiones sda1, sda2, etc.
  • Con el comando md5sum /dev/sda > /media/USB/ImagenMD5hash01.txt cree un hash MD5 de la unidad en el dispositivo USB montado, para verificar la integridad del medio original contra la copia al final del procedimiento. Este paso es uno de los más relevantes, ya que si hubo alguna alteración, no sería admisible como prueba legítima en un hipotético caso legal.
  • Ejecute el siguiente comando: 
    • dd if =/dev/sda of =/media/usb/Imagen01.img
  • Lo anterior copiará el contenido del USB como un archivo en el HDD como Imagen01.img, recuerde que para Linux todo es un archivo.
  • Cree otro hash MD5 de la copia. Servirá para compararla con la original para verificar la integridad de la copia.
  • Haga más de una copia y un hash por cada copia. Es mejor prevenir y tener varias muestras.

El resultado deberían ser varias copias y varios hashes. Nunca trabaje sobre los datos originales! Para eso son las copias. En forensia existe la adquisición de datos manual, física y lógica (eso lo explicaré en otro post).

Es importante recalcar que el método anterior no explica nada si se encuentran problemas de por medio. Por ejemplo, si el PC no puede leer algunos de los sectores de la unidad que va a copiar, o si el archivo se debe dividir para que quepan en el CD, o si la imagen necesita partirse para que quepa en un dispositivo FAT32 y requiere archivos más pequeños de 2 GB.

Cuando se generan imágenes de una unidad que empieza a tener algunos sectores dañados, el siguiente comando se puede utilizar:

dd if=/dev/hda of=/media/USB conv=noerror,sync

Esto permitirá a dd continuar en los errores de lectura, y en la pista del destino donde se encuentren ceros es donde se han producido errores en la unidad de origen (por lo que su tamaño y compensaciones coincidirán). Si lo hace, es posible que desee considerar redirigir los errores estándar a un archivo, por lo que tiene un registro de dónde se encuentran sus errores.

Es posible dividir las imágenes creadas. El método más fácil es mediante el programa de división. La sintaxis del comando si usted tiene una imagen de 4GB para encajar en un CD sería:

dd if=/dev/hda | split –b 600m – /USB/sda/

Esto dividirá la imagen de salida en secciones de 620MB (-b 620m) en el directorio /USB/sda/. El nombre que les da a los fichero suele ser a* (* puede ser cualquier letra). Estos archivos pueden ser reformados en un archivo de imagen con el comando cat (## es un consecutivo).

cat a* > LaImagen##.img

A continuación, cree un hash del archivo usando md5sum y lo compare con el valor hash inicial.

md5sum LaImagen##.img

Alternativamente, si la división no está disponible puede utilizar dd por sí mismo, pero utiliza el skip, bs (tamaño de bloque) y el recuento interruptores para evitar que la lectura comience desde el principio.

dd if=dev/hda of=/media/USB/image1.img bs=1M count=600
dd if=dev/hda of=/media/USB/image2.img bs=1M count=600 skip= 601
dd if=dev/hda of=/media/USB/image3.img bs=1M count=600 skip= 1201

... y así hasta el final del archivo de entrada. Una vez en el sistema de destino y en el mismo directorio se puede juntar todos en una sola imagen con el siguiente comando:

cat /home/imagen * > TodoJunto.img

md5sum se puede ejecutar en esta imagen y se compara con el hash md5 original para comprobar la integridad.

Para ayudar a reducir el tamaño se puede utilizar gzip y split juntos. A continuación se muestra la sintaxis utilizada para realizar esto:

dd if =/dev/hda | gzip -c | split -b 2000m – /media/USB/imagen.img.gz.

dd se utiliza para tomar una imagen del disco duro. Esto es pasado al gzip (-c es la salida estándar). La imagen comprimida se canaliza entonces a la herramienta de división split, y continuación crea los archivos imagen.img.gzaa, imagen.img.gzab, etc. Para restaurar la copia de seguridad de varios archivos, ejecute el comando siguiente:

cat /USB/image.img.gz * | gzip -dc | dd of =/dev/hda

cat muestra el contenido del zip y archivos de imágenes divididas en stdout en orden. Los resultados se canalizan a través de gzip y se descomprimen. Y por útimo se escriben en el disco duro con el comando dd.

Bueno hay más comandos y formas de utilizar dd, pero creo que esto es suficiente para que investiguen más.

Nos vemos.

lunes, 29 de diciembre de 2014

Tus contraseñas, asegúralas!



Si, lo sé, ya existen cientos de blogs que lo recomiendan, pero aún así sigue siendo uno de los vectores más vulnerables a ataques.

Sobretodo en estos días de consumismo voráz on-line, deberías reconsiderar todas tus contraseñas. Si ya las has convertido a seguras, entonces lo que debes es tener un plan para renovarlas constantemente.

Puede ser cansado si, pero mira esta noticia reciente. Parece de esas malas películas que para ahorrar costos repiten una escena una y otra vez. Si la solución es tan sencilla, por qué es de los threads más comunes? Yo tengo una teoría: "Hoy en día la gente conoce el precio de todo y el valor de nada. -Oscar Wilde-"

Y bien, te lo resumo en cuatro sencillos pasos:

El primero, multiplicidad:
  • Asegúrese de tener una contraseña distinta para cada cuenta online importante que posea. Los cibercriminales pueden robar su usuario y contraseña de otro sitio, y luego usarlos para intentar iniciar sesión en muchos otros sitios en donde pudieras tener una cuenta.
  • Si usted utiliza la misma contraseña a lo largo de diferentes sitios, existe una mayor posibilidad de que ésta termine en una lista de contraseñas robadas, y mientras más cuentas tenga que usen esa contraseña, más información podrías perder si dicha contraseña fuera robada.
  • Darle a cada cuenta una contraseña fuerte y propia le ayuda a protegerse a sí mismo y a la información contenida en su cuenta. Empiece hoy mismo!

El segundo (si, el anterior era solo el primero), complejidad:
  • Contraseñas como “123456”, “password”, “hola123” son ejemplos de malas contraseñas por una sencilla razón: resultan fáciles de adivinar! Hacer que su contraseña sea extensa y más complicada hace que sea más difícil adivinarla, tanto para los malhechores, como para la gente que pueda conocerte.
  • Sabemos que es más fácil de decir que de hacer. Al fin y al cabo, la contraseña promedio contiene menos de 8 caracteres y sólo puede incluir letras. De hecho, sólo el 4% de las contraseñas incluyen caracteres ¨especiales” como @ o &, y sólo un poco más de la mitad utiliza números.
  • Una forma de crear contraseñas fuertes es pensar en una frase o enunciado que otras personas no conozcan y luego utilizarlo para generar su contraseña. Por ejemplo, en el caso de su email, podrías pensar en un mensaje personal como: “Todos los días me levanto y tomo dos chocolates antes de salir” y luego construir la contraseña con los números, los símbolos y las primeras letras de cada palabra para obtener algo como: “Tldml&t2c_ads” (de hecho, esa era mi clave).
  • Y recuerde que su película o canción favorita suele ser popular y que los cibercriminales también van al cine y escuchan música, además, cuentan con diccionarios de contraseñas comunes cuando intentan ingresar a su cuenta. La idea es que la contraseña sea algo que sólo usted conozca.

Tercero, ya casi termino, almacenamiento:
  • Las investigaciones muestran que la principal razón por la cual la gente reutiliza ciertas contraseñas a lo largo de múltiples servicios es el temor a olvidar tantas contraseñas. Sin embargo, si usted ha creado demasiadas contraseñas difíciles de recordar, está bien que las escriba. Sólo asegurese de mantenerlas en un lugar seguro donde no las pierda y adonde otros no puedan encontrarlas. Si prefiere manejar sus contraseñas digitalmente, una buena opción podría ser buscar un administrador de contraseñas confiable. 
  • Chrome y muchos navegadores web cuentan con administradores de contraseñas gratuitos integrados; también existen muchas otras opciones independientes. Tómese el tiempo de revisar reseñas de distintos administradores de contraseñas para determinar cuál podría ser la mejor opción para sus necesidades.

Cuarto, recuperación:
  • ¿Alguna vez se te ha olvidado una contraseña? Pues no eres la primera persona a la que le sucede… Establecer una opción de recuperación, como una dirección de correo o un número de teléfono alterno, ayuda a darle al proveedor del servicio otra forma de contactarle en caso de que algún día no pueda entrar a su cuenta. Tener un teléfono o dirección de correo de recuperación actualizada es la mejor forma de asegurarse de que podrá volver a ingresar a su cuenta rápidamente en el caso de que surgiera algún problema.
  • Tener una estrategia de seguridad en Internet optimizada no es garantía de seguridad, del mismo modo que mantener las puertas y ventanas de su casa cerradas tampoco garantiza que nadie pueda entrar nunca sin su consentimiento. Pero una contraseña bien construida logra que los accesos a sus cuentas sean más resistentes a un ataque casual de bajo nivel, que son los más habituales en Internet. Una gran parte de los intentos ilegales de hackear cuentas se hace a través de ataques de este tipo, en los que una contraseña es adivinada o robada para tener acceso a otras cuentas.

Como vieron no es nada del otro mundo. Hay recursos en Internet para probar contraseñas seguras, como el siguiente de la gente de Kaspersky Labs, pruébenlo.

Feliz año y pura vida gente!!!


martes, 9 de diciembre de 2014

¿Sabes lo qué es DSL o xDSL? Parte I



Pura vida gente!

Luego de un tiempo de receso, les vuelvo a compartir un post más (en realidad varios de este tema). El tema va dirigido a aquellas personas con Internet en el hogar y que conocen poco o nada de cómo "mágicamente" les llega ese servicio a casa.

Empecemos por un concepto básico en telecomunicaciones, que mucha gente usa en su diario vivir, pero que pocos conocen a fondo, el DSL (xDSL) más conocido como ADSL.

Lo primero que deben saber es que no es una marca comercial. Mucha gente lo relaciona directamente con el aparato (hardware) que tienen en sus hogares o empresas para conectarse a Internet. El router (aparato lleno de luces... je je je vean este link explicativo si desean) es solamente el medio físico necesario para que el servicio xDSL se de.

Expuesto lo anterior, pasamos a los conceptos básicos:
  • El DSL (Digital Suscriber Line) lo conocemos como la Línea de Abonado Digital, que es una familia de tecnologías que proporcionan el acceso a Internet mediante la transmisión de datos digitales a través de los cables de una red telefónica local. Es un término utilizado para referirse de forma global a todas las tecnologías que proveen una conexión digital sobre línea de abonado de la red telefónica básica o conmutada, a esta familia pertenecen las líneas de abonado: ADSL, ADSL2, ADSL2+, SDSL, IDSL, HDSL, SHDSL, VDSL y VDSL2. El xDSL es un término genérico para la gran variedad de tecnologías pertenecientes a DSL, y cada una de estas tiene distintas características en cuanto a prestaciones (velocidad de la transmisión de datos por ejemplo) y distancia de la Central Telefónica (ya que el cable de cobre no estaba pensado para eso, a cuanta más distancia peores prestaciones).
  • Otro punto importante, que incluso los vendedores del servicio (ISP's) erran a la hora informar al usuario, es la llamada "velocidad de internet". El término como tal no existe, este se utiliza para identificar un comportamiento solamente. En informática y telecomunicaciones, el término tasa de bits (en inglés bit rate, a menudo tasa de transferencia) define el número de bits que se transmiten por unidad de tiempo a través de un sistema de transmisión digital o entre dos dispositivos digitales. Así pues, es la velocidad de transferencia de datos.
  • La unidad con que el Sistema Internacional de Unidades expresa el bit rate, es el bit por segundo (bit/s, b/s, bps). La b debe escribirse siempre en minúscula, para impedir la confusión con byte por segundo (B/s). Para convertir de bytes/s a bits/s, basta simplemente multiplicar por "8" y viceversa. Que la unidad utilizada sea el bit/s, no implica que no puedan utilizarse múltiplos del mismo:
    • kbit/s o kbps (kb/s, kilobit/s o mil bits por segundo)
    • Mbit/s o Mbps(Mb/s, Megabit/s o un millón de bits por segundo)
    • Gbit/s o Gbps (Gb/s, Gigabit, mil millones de bits)
    • byte/s (B/s u 8 bits por segundo)
    • kilobyte/s (kB/s, mil bytes u ocho mil bits por segundo)
    • megabyte/s (MB/s, un millón de bytes u 8 millones de bit por segundo)
    • gigabyte/s (GB/s, mil millones de bytes u 8 mil millones de bits)
  • Vean estas tasas de transferencia típicas de los accesos de conexión a Internet y su conversión de bit/s a B/s:
    • Módem RTB: 128 kbit/s = 16 kB/s (16 kilobytes por segundo)
    • ADSL: 64 Mbit/s = 8 MB/s (8 megabytes por segundo)
    • Cable: 30 Mbit/s = 3,75 MB/s (3,75 megabytes por segundo)
    • VSAT: 6 Mbit/s = 750 kB/s (750 kilobytes por segundo)
    • Telefonía móvil 3G: 3 Mbit/s = 375 kB/s (375 kilobytes por segundo)
  • Por ejemplo una de las velocidades ofrecidas (tomada de acá) por el Instituto Costarricense de Electricidad (ICE) es de: 6 Megas (6144/1024 Kbps). Ahora la pregunta, velocidad de qué? de internet? No. Veamos:
    • Han notado en algún momento esos dos numeritos encerrados en paréntesis? Son las tasas de subida y descarga de datos. Como ambas no suelen ser iguales en ADSL por ejemplo, se dice que el servicio es asimétrico. La velocidad de bits de los servicios del cliente DSL varía normalmente de 256 kbit/s hasta 40 Mbit/s en dirección hacia el cliente (flujo descendente de datos), dependiendo de la tecnología DSL, condiciones de la línea y la aplicación de nivel de servicio. En ADSL, el flujo ascendente de datos (la dirección hacia el proveedor de servicios o ISP) es más baja, por lo tanto, la designación de servicio es asimétrica. En los servicios de línea de abonado digital simétrica (SDSL), las tasas de datos de descendentes y ascendentes son iguales.
    • El punto aquí es que se utilizan diferentes frecuencias para la transmisión de datos. Si no sabes lo que frecuencia revisa el link que te compartí en este párrafo. Veamos las frecuencias (cuya unidad de medida son los Hertz -Hz-) usadas en ADSL. 
El área roja es el área usada por la voz en telefonía normal, el área verde es el upstream o subida de datos y el área azul es para el downstream o descarga de datos.

El por qué de esa división de frecuencias en realidad es muy simple. En telecomunicaciones es muy importante separar el tráfico de datos por diferentes "carreteras" (canales en realidad), ya que así se evitan "choques" o interferencias entre los datos... esa explicación fue a muy grandes rasgos, créanme.

Como notarán el área azul es más ancha. En ADSL suele ser así porque se necesitan recursos disponibles diferentes para descargar que para transmitir datos. Actualmente, las empresas de telefonía están implantando versiones mejoradas de esta tecnología como ADSL2 y ADSL2+ con capacidad de suministro de televisión y video de alta calidad por el par telefónico, lo cual supone una dura competencia entre los operadores telefónicos y los de cable, y la aparición de ofertas integradas de voz, datos y televisión, a partir de una misma línea (llamado comúnmente Triple-Play). El uso de un mayor ancho de banda para estos servicios limita aún más la distancia a la que pueden funcionar, por el par de hilos.

ADSL2 y ADSL2+ incorporan mecanismos de modulación y gestión de los recursos físicos avanzados, de modo que no sólo aumentan la capacidad del ADSL convencional de 8 Mbit/s a 12 y 24 Mbit/s respectivamente, sino que introducen mejoras para evitar las interferencias o ruido y disminuir los efectos de la atenuación de ahí que se alcancen distancias de hasta 9 km.

Creo que hasta aquí es suficiente para la primera entrega. En el siguiente post veremos como funcionan las conexiones xDSL. Nos vemos!!


lunes, 10 de noviembre de 2014

WireLurker, malware para Apple iOS



Pura vida gente!

Un grupo de investigadores de PaloAlto Networks, llamada Unidad 42 ha descubierto recientemente una nueva familia de malware para Apple OSX y iOS llamado "WireLurker". 

Las características de esta familia de malware, incluyendo su capacidad de infectar incluso dispositivos iOS sin "jailbreak" a través de aplicaciones de OS X troyanizadas, sugieren que marca una nueva era en el malware a través de escritorio de Apple y las plataformas móviles.

Esta vez Apple ha actuado rápidamente para bloquear las aplicaciones de los responsables, que lo han propagado desde una tienda de aplicaciones para Mac de China. Concretamente, estaba siendo propagado desde la tienda de aplicaciones para ordenadores de Apple, Maiyadi. Esto sucedía al conectar un iPad o un iPhone al ordenador troyanizado. En donde al llegar a ese punto, el virus robaba los datos de los dispositivos infectados.

La compañía de Cupertino ha identificado un total de 467 aplicaciones infectadas con el malware 'WireLurker, que habían sido descargadas más de 356.000 veces...  0_o

¿Cómo funciona?

WireLurker controla cualquier dispositivo iOS conectado vía USB a un ordenador OS X infectado, instalando aplicaciones de terceros o genera sus propias aplicaciones maliciosas automáticamente en el dispositivo, con o sin "jailbreak". Esta es la razón por la que lo llaman "wire lurker". 

Los investigadores han demostrado métodos similares para atacar a los dispositivos con "jailbreak" antes, sin embargo, este malware combina una serie de técnicas para realizar con éxito un nuevo tipo de amenaza para todos los dispositivos iOS. WireLurker exhibe una estructura compleja de código, varias versiones de componentes, archivos ocultos, código ofuscado y encripción personalizado para frustrar el anti-reversing. 

Recomendaciones 

Estos son algunos consejos para mitigar la amenaza de WireLurker y amenazas similares:
  • Emplear un producto de antivirus o de seguridad para el sistema Mac OS X y mantener sus firmas actualizadas.
  • En el panel de Preferencias del Sistema de OS X, en "Security & Privacy" asegurese de que "Allow apps downloaded from Mac App Store (or Mac App Store and identified developers)" está activado.
  • No descargar y ejecutar aplicaciones para Mac o juegos de cualquier tienda de aplicaciones de terceros, torrents o de otra fuente no confiable.
  • Mantenga la versión de iOS en su dispositivo hasta al día.
  • No acepte ningún archivo de aprovisionamiento empresarial a menos que tenga una autorización para recibirlo.
  • No vincule el dispositivo iOS con los ordenadores o dispositivos que no son de confianza o desconocidos.
  • Evite encender su dispositivo iOS a través de los cargadores no confiables o desconocidos.
  • Del mismo modo, evite la conexión de dispositivos iOS con los accesorios que no son de confianza o desconocidos (Mac o PC).
  • No use "jailbreak"; en caso contrario, utilice accesos de la comunidad de Cydia confiables y evite el uso o almacenamiento de la información personal en el dispositivo.

Acceda a la herramienta para detectar la familia de malware WireLurker en OS X, liberada en GitHub.

Nos vemos.

martes, 4 de noviembre de 2014

Vulnerabilidades en Controladores Lógico-Programables (PLC)


Pura vida gente!

El post de hoy, continúa el tema industrial que comenzamos con el tema de los antivirus hace unos días atrás.

Según la IEEE, en su normativa respecto a subestaciones de distribución de energía eléctrica, pero aplicable al resto de sistemas de automatización, la intrusión electrónica se define como la entrada en una subestación por vía electrónica (teléfono, radio, etc.) para manipular o interferir el equipamiento electrónico tales como controladores, autómatas, etc.

En el momento en que un sistema de control presenta la posibilidad de ser accedido de forma remota, su área de riesgo crece en forma alarmante. Cualquier punto de conexión es susceptible de ser utilizado por personas con aviesas intenciones.

Ejemplo de ello son los PLC. Cuando se dieron los ataques de Stuxnet , este reemplazaba comandos legítimos del software Siemens Simatic Step7 al PLC (uno tipo de dispositivo de los que se componen los sistemas SCADA). Además, había que tener en cuenta que los PLCs no son configurables para restringir su acceso a determinadas direcciones IP y, aunque el PLC sea configurado para aceptar únicamente paquetes autenticados, la medida de seguridad se puede deshabilitar mediante ataques de repetición.

Hay varias técnicas de penetración y varios tipos de remediación a dichas técnicas, pero van a depender del escenario, componentes que se deseen vulnerar y las interfaces que los PLC tengan. La siguiente es una lista de posibles metodologías y técnicas de ataque utilizadas contra sistemas de control y automatización:
  • Análisis de vectores de ataque habituales (activo/pasivo), enumeración de vulnerabilidades, explotación de puertos disponibles y escalado de privilegios, harvesting, puertas traseras, copias de seguridad, eliminación del rastro/evidencias.
  • Salto entre segmentos de red para alcanzar los objetivos de un sistema de control y automatización.
  • Se recomiendan las siguientes técnicas de Pentest:
    • Labores de inteligencia para dar con datos sobre protocolos usados y así vectorizar lenguajes de programación para inyección de scripts: Whois, Samspade, Maltego, Google hacking, Shodan.
    • Ataques DNS en el caso de los sistemas bados en PC: DNS lookup, Netblock, transferencia de zona.
    • Ataques en comunicaciones basadas en Ethernet/IP: ARP spoofing, IP spoofing, SYN flood, ICMP flood, Pinf of Death, etc.
    • Ataques contra equipamiento de red periférico: STP spoofing, VLAN hopping, FW bypass, port knocking, fragmentación, etc.
    • De los más importantes están los ataques a bajo nivel en infraestructuras de comunicaciones cableadas: PLC, PRIME; RS/232, RS/422, RS/485; MPLS, etc.
    • Ataques en comunicaciones inalámbricas: Zigbee/IEC 802.15.4, Wifi/IEC 802.11. Por ejemplo ataques a PLC's marca Wireless Wire SW 1008. Pueden probar unos jammers geniales para wifi como el WB12.
    • Ataques a nivel de aplicación: bypassing, desbordamientos de buffer, inyecciones de código, ataques CGI, RFI, etc.
    • Ataques dirigidos y automatización de ataques: suite metasploit, autoPWN, Fast-Track, aspectos básicos de la creación de exploits basados en lenguajes como Ladder.
Otros aspectos básicos, como los pasos más comunes a seguir una vez que se ha alcanzado el acceso al PLC son (no necesariamente en ese orden):
  1. Denegación de servicio en comunicaciones serie.
  2. Captura, modificación e inyección de tráfico Modbus serie.
  3. Captura y análisis de protocolo Modbus/TCP.
  4. Captura, modificación e inyección de tráfico Zigbee.
  5. Intrusión a un sistema SCADA desde el exterior: peligros asociados con un mal diseño.
  6. Intrusión interna a un sistema SCADA.
  7. Ataque a servidor web de una RTU y de un HMI en un aplicativo SCADA.
Descrito lo anterior, procedo a mencionar las remediaciones más comunes a los problemas de seguridad ya descritos:
  • Métodos, modelos, técnicas y tecnologías de seguridad utilizadas en sistemas de control y automatización:
    • Cortafuegos, diodos de datos, IPS, segmentación por encriptación y redes virtuales.
    • Autenticación y autorización de entidades.
    • Cifrado de comunicaciones: túneles/VPN, seguridad inalámbrica, etc.
    • Registradores de eventos y SIEMs.
    • Escáneres de vulnerabilidades.
    • Antivirus y listas blancas.
    • Tecnologías de gestión de parches.
    • DLPs.
    • Honeypots y honeynets.
  • Segmentación en sistemas de control y automatización:
    • Diseño de DMZs y de zonas/segmentos.
    • Recomendaciones del IEC 643443/ISA99 y la RG 5.71.
    • Buenas prácticas en el despliegue de cortafuegos: arquitecturas y reglas de filtrado.
  • Monitorización de seguridad en sistemas de control y automatización: 
    • Despliegue, configuración y mantenimiento de IDS/IPS de red y de host.
    • Despliegue de sistemas de monitorización y gestión de eventos: SNMP-to-OPC, Syslog, agregación de logs, arquitecturas.
    • Gestión de alertas, etc.
    • Honeynets y honeypots.
Por supuesto, los pasos más comunes a seguir para implementar lo anterior sería:
  1. Configuración de firewall perimetral.
  2. Segmentación basada en VLAN.
  3. Instalación y configuración de un diodo de datos.
  4. Instalación y configuración de un IDS Modbus/TCP.
Nos vemos!