OONIPROBE: una herramienta que detecta vigilancia digital y censura en un país o red

Share this…

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

Desarrollamos un software gratis y de  origen abierto, llamado ooniprobe, 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 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 su red.

Al correr el software Ooniprobe, puedes recolectar data que pueda servir como evidencia de la censura del internet. ya que enseña, cómo, cuándo, dónde y quién está implementado, mencionó 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 de 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, metros y cantidades de redes manipulando 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 del red? Si es así, por favor lee este documento; esperamos que OONIPROBE  te ayude a reunir información de tu red y te 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 estes y que tipo de prueba quieras ejecutar. es técnicamente posible para una persona que esta observando tu conexiones a internet estar al tanto del hecho de que estas 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 es una obligación, favor de estar al tanto del riesgo.

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 https://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 https://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 https://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 https://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 default 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 (https://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

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 <https://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 des-habilitar 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 sus 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 ver 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 necesitar e 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 TheTor 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 la seguridad informáticadela 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 enseñará las pruebas disponibles.

Para ejecutar la unidad de pruebas, escribe:

coveragerun $(which trial) ooni