sábado, 16 de diciembre de 2017

OONIPROBE: una herramienta que detecta vigilancia digital y censura en tu red


El OONI (Open Observatory of Network Interference) es un proyecto de software gratis bajo “The Tor Project” que apunta a fortalecer los esfuerzos descentralizados en el aumento de la censura del internet alrededor del mundo.

Ooniprobe es un software gratis y de origen abierto que puedes correrlo para examinar lo siguiente:
  • Bloqueo de sitos web
  • bloqueo de aplicaciones con mensajes instantáneos (como por ejemplo WhatsApp y Messenger de Facebook).
  • bloqueo de herramientas de evasión de censura (como Tor);
  • Presencia de sistemas (“middleboxes”) en la red que puede ser la razón de la censura y/o vigilancia.
  • Velocidad y rendimiento de tu red.
Al correr el software Ooniprobe, puedes recolectar datos que pueda servir como evidencia de la censura del internet. ya que muestra, cómo, cuándo, dónde y quién lo está implementado, como lo menciona Jim Gil, un experto de seguridad informática de International Institute of Cyber Security (IICS).

Gracias a los miles de usuarios de Ooniprobe alrededor del mundo, millones de medidas en la red han sido recolectadas de más de 100 ciudades desde el 2012. Todas las metadata de la red son publicadas en OONI Explorer, la fuente pública acerca de la censura en internet más grande a la fecha.
OONI, (Open Observatory of Network Interference), es una red de observación global cuyo objetivo es recolectar datos de excelente calidad usando metodologías abiertas, utilizando Free y Open Source Software (FL/OSS) para compartir observaciones e información acerca de varios tipos, métodos y las cantidades de redes manipulas en el mundo.

OOMIPROBE es el primer programa que los usuarios utilizan para indagar su red y recolectar datos para el proyecto OONI. ¿Estás interesado en realizar pruebas en tu red para encontrar si es vigilada y censurada? ¿Quieres recolectar información para compartirla con otros, para que así todos tengan mejor entendimiento de la red? Si es así, por favor lee este documento; esperamos que OONIPROBE  te ayude a reunir información de tu red y ayude con futuros proyectos.

Lee esto antes de correr el programa de OONIPROBE

Hacer uso de este programa es una actividad con un posible riesgo, esto depende en gran manera de la jurisdicción en la que estés y que tipo de prueba quieras ejecutar. Es técnicamente posible para una persona que esta observando tu conexiones a internet darse cuenta del hecho de que estás ejecutando OONIPROBE. Esto significa que si este tipo de pruebas es ilegal en tu país, pueden detectarlo.
Además, OONIPROBE no tiene precauciones en cuanto a la protección del análisis forense de la instalación en la máquina en la que se está instalando. Si el hecho de que hayas instalado o usado OONIPROBE no es una obligación, favor de estar al tanto de los riesgos.

OONI en 5 minutos

La más reciente versión de OONIPROBE para Debian y Ubuntu puede ser encontrada en el repositorio de paquetes en deb.torproject.org

En Debian estable (jessie):

gpg –keyserver keys.gnupg.net –recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89

gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –

echo ‘deb http://deb.torproject.org/torproject.org jessie main’ | sudo tee /etc/apt/sources.list.d/ooniprobe.list

sudo apt-get update

sudo apt-get install ooniprobe deb.torproject.org-keyring

En pruebas de Debian:

gpg –keyserver keys.gnupg.net –recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89

gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –

echo ‘deb http://deb.torproject.org/torproject.org testing main’ | sudo tee /etc/apt/sources.list.d/ooniprobe.list

sudo apt-get update

sudo apt-get install ooniprobe deb.torproject.org-keyring

En Debian inestable:

gpg –keyserver keys.gnupg.net –recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89

gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –

echo ‘deb http://deb.torproject.org/torproject.org unstable main’ | sudo tee /etc/apt/sources.list.d/ooniprobe.list

sudo apt-get update

sudo apt-get install ooniprobe deb.torproject.org-keyring

En Ubuntu 16.10 (yakkety), 16.04 (xenial) or 14.04 (trusty):

gpg –keyserver keys.gnupg.net –recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89

gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –

echo ‘deb http://deb.torproject.org/torproject.org $RELEASE main’ | sudo tee /etc/apt/sources.list.d/ooniprobe.list

sudo apt-get update

sudo apt-get install ooniprobe deb.torproject.org-keyring

NOTA: necesitarás cambiar $RELEASE  para yakkety, xenial o trusty. Esto no pasará de manera automática. Tendrás también que asegurarte de tener el “universerepository” habilitado. El “universerepository” está habilitado por defecto en la instalación del Ubuntu estándar, pero puede ser que no lo esté en algunas no estándar.

Instalación

macOS

Puedes instalar OONIPROBE en macOS si tienes instalado el homebrew (http://brew.sh/) con:

brew install ooniprobe

Sistema Unix (con pip)

Asegúrate de haber instalado las siguientes dependencias:
  • build-essential
  • python (>=2.7)
  • python-dev
  • pip
  • libgeoip-dev
  • libdumbnet-dev
  • libpcap-dev
  • libssl-dev
  • libffi-dev
  • tor (>=0.2.5.1 torunallthetorrelatedtests)
Dependencias opcionales:
  • obfs4proxy

En los sistemas basados en Debian, se puede generalmente realizar al ejecutar:

sudo apt-get install -y build-essential libdumbnet-devlibpcap-devlibgeoip-devlibffi-dev python-dev python-pip tor libssl-dev obfs4proxy

En seguida podrás instalar OONIPROBE ejecutando:

sudo pip install ooniprobe

o instalar OONIPROBE como usuario:

pipinstallooniprobe

Utilizar OONIPROBE

La Pruebas de red son medidas que evalúan el tipo de censura que está sucediendo en el internet.

Decksson colecciones de pruebas de red de OONIPROBE con inputs especiales.

Collectores un servicio utilizado para reportar los resultados de las mediciones.

Test Helper es un servicio utilizado por un investigador para llevar acabo exitosamente las mediciones

Bouncer es un servicio utilizado para descubrir las direcciones de los ayudantes en la prueba y los recolectores (collectors).

Configurando OONIPROBE

Después de haber instalado exitosamente OONIPROBE, debes de tener acceso al UI de la red en tu máquina principal en <http://localhost:8842/> después de ejecutar:

ooniprobe -w

o iniciando el daemon.

Se te dará la configuración wizard del UI de la red en donde podrás leer los riesgos que involucra el ejecutar OONIPROBE. Posterior a haber contestado el quiz correctamente, puedes habilitar o deshabilitar las pruebas de OONIPROBE, ajustar la conexión a las medidas del collector y finalmente configurar tus ajustes de privacidad.

Por default, OONIPROBE no incluye información de identificación personal en los resultados de las pruebas, ni crea un archivo pcap de acuerdo a los expertos de seguridad informática de webimprints. Esto se puede personalizar.

Ejecuta OONIPROBE como un servicio (systemd)

A partir de de la versión de OONIPROBE 2.0.0 no hay necesidad de cronjobs ya que los agentes de OONIPROBE son responsables de agendar los tasks.

Puedes asegurarte de que un agente de OONIPROBE esta siempre corriendo el programa mediante la instalación y habilitación del systemdunitooniprobe.service:

wget https://raw.githubusercontent.com/TheTorProject/ooni-probe/master/scripts/systemd/ooniprobe.service –directory-prefix=/etc/systemd/system

systemctl enable ooniprobe

systemctl start ooniprobe

Debes de observar un output similar si el OONIPROBE (systemd) service está activo y descargado ejecutando el estatus de systemctlooniprobe

ooniprobe.service – ooniprobe.service, network interference detection tool

Loaded: loaded (/etc/systemd/system/ooniprobe.service; enabled)

Active: active (running) since Thu 2016-10-20 09:17:42 UTC; 16s ago
Process: 311 ExecStart=/usr/local/bin/ooniprobe-agent start (code=exited, status=0/SUCCESS)
Main PID: 390 (ooniprobe-agent)
CGroup: /system.slice/ooniprobe.service
└─390 /usr/bin/python /usr/local/bin/ooniprobe-agent start

Instalando las capacidades en tu virtualenvpythonbinary

Si tu distribución suporta capacidades, puedes evitar la necesidad de correr OONI como root:

setcapcap_net_admin,cap_net_raw+eip /path/to/your/virtualenv’s/python2

Reporte de bugs

Puedes reportar los bugs o problemas que encuentres de seguridad informática en The Tor Project issuetracker llenando la información en el componente “Ooni”

https://trac.torproject.org/projects/tor/newticket?component=Ooni.

Ya sea que registres una cuenta o uses la cuenta del grupo “cypherpunks” con la contraseña “writecode”

Establece un ambiente de desarrollo

En un sistema a base de Debian, un ambiente de desarrollo se puede configurar de la siguiente manera:

(requisitos previos incluyen estructuras fundamentales python-dev, y tor; para tor ver https://www.torproject.org/docs/debian.html.en):

sudo apt-get install python-pip python-virtualenvvirtualenv

sudo apt-get install libgeoip-devlibffi-devlibdumbnet-devlibssl-devlibpcap-dev

git clone https://github.com/TheTorProject/ooni-probe

cd ooni-probe

virtualenvvenv

Virtualenvvenv creará un folder en el directorio actual que contendrá los archivos ejecutables de Python, así como una copia de la biblioteca pip que se puede utilizar para instalas otros paquetes.

Para comenzar a utilizar el ambiente virtual, éste necesita estar activado:

sourcevenv/bin/activate

pip install -r requirements.txt

pip install -r requirements-dev.txt

python setup.py install

Posteriormente puedes revisar si la seguridad informática de la instalación se realiza de manera correcta:

ooniprobe -s

Esto te explicará los riesgos de OONIPROBE y se asegurará de que los hayas entendido, después te mostrará las pruebas disponibles.

Para ejecutar la unidad de pruebas, escribe:

coveragerun $(which trial) ooni