1 of 27

OONI Hack Session

Bornhack @ CCCamp 2023

18th August 2023

2 of 27

Free software project (born under The Tor Project) aimed at empowering decentralized efforts in increasing transparency of internet censorship around the world.

Since 2012, the OONI community has collected more than a billion network measurements

from 241 countries and territories, shedding light on internet censorship worldwide.

3 of 27

You can install OONI Probe on:

  • iOS
  • Android (and F-Droid)

OONI Probe Desktop available for:

  • Windows
  • macOS
  • Linux

4 of 27

OONI Software Tests

Blocking of websites

Blocking of instant messaging apps

Blocking of censorship circumvention tools

Detection of middle boxes

Measure network speed & performance

5 of 27

Citizen Lab

Test Lists:

Websites tested by OONI Probe

  • Global test list: �Internationally relevant websites�
  • Country-specific test lists: �Websites that are relevant to a specific country

6 of 27

Test Lists Editor

7 of 27

Coordinate

OONI Probe

Testing

8 of 27

OONI Explorer

9 of 27

Measurement Aggregation Toolkit

(MAT)

10 of 27

OONI Data

11 of 27

OONI research reports

12 of 27

Updates from the OONI-verse

  • OONI Run v2
  • Censorship Incident Reporting Platform

  • Methodology for detecting throttling

  • Social Media Censorship Alert System

  • Automating detection and characterization of censorship

13 of 27

OONI Run v2

  • OONI Run links will have first class support in OONI Probe

  • URLs will be shorter and editable

  • Measured as part of automatic testing and automatically updated

  • Results from an OONI Run link searchable in OONI Explorer

  • Richer API for customizing how they appear and configuring nettest options

  • All cards in OONI Probe dashboard will become OONI Run v2 links

14 of 27

Censorship Incident Reporting Platform

15 of 27

Methodology for detecting throttling

16 of 27

Social Media Censorship Alert System

  • Receive alerts on a blocking or unblocking event occurs on a particular (test_name, country, asn, input) tuple TCAI

  • Focus only on social media to reduce noise due to unreliability of hosting for smaller sites

  • RSS feed for getting the event list

17 of 27

Automating Detection and Characterization of censorship

  • High level goal is to be able to say
    • Target X is
      1. OK - Accessible and no filtering detected
      2. Blocked - Some form of restriction is in place
      3. Down - The service is inaccessible, but that’s not due to blocking
    • More specifically for cases 2. we care to know how the block is happening
      • DNS tampering
      • TCP/IP blocking
      • TLS Interference
      • HTTP blocking
      • Throttling

18 of 27

Let’s go down the rabbit hole!

19 of 27

20 of 27

OONI Probe (Ideas)

  • OONI Probe network experiments
  • OONI Probe Engine
    • Replace C Tor with Arti for running Tor experiments

21 of 27

OONI Data

  • The goal is to transform one measurement into many observations
  • Many observations are analyzed to determine if a target is
    • Blocked
    • Down
    • OK
  • When it’s blocked, we care to know how

22 of 27

OONI Data

Measurement

Observation

Observation

Observation

Observation

Experiment result

23 of 27

Observation generation

23

24 of 27

Observation generation

24

See WebObservation model and relevant transforms (measurement_transformer, web_connectivity)

💾

HTTP

TLS

TCP

DNS Answer

ip

hostname

probe

time

OK

OK

OK

162.19.153.247

162.19.153.247:443

quora.com

US, AS123

2023-01-01T11:01:002

OK

OK

OK

200.34.20.123

200.34.20.123:443

quora.com

US, AS123

2023-01-01T11:01:003

25 of 27

OONI Data (Ideas)

  • Add support for parsing unsupported experiments: https://github.com/ooni/data/issues/32
  • Improvements to the blocking analysis
    • Scale the support for ExperimentResult generation
    • Experiment with machine learning for DNS anomaly detection
  • Come up with new interesting analysis

26 of 27

OONI Explorer (Ideas)

27 of 27

Resources