Google Summer of Code Proposal: Crash Reporter for Tor Browser

Nur-Magomed Dzhamiev, March 26, 2017
nmagoru [at] gmail.com

What project would you like to work on? Use our ideas lists as a starting point or make up your own idea. Your proposal should include high-level descriptions of what you’re going to do, with more details about the parts you expect to be tricky. Your proposal should also try to break down the project into tasks of a fairly fine granularity, and convince us you have a plan for finishing it. A timeline for what you will be doing throughout the summer is highly recommended.

I would like to work on project “Crash Reporter for Tor Browser”. Crash Reporter will help developers to improve Tor browser, make it more stable and user-friendly for end users.

We already have Mozilla’s Crash Reporter (which currently disabled) based on BreakPad and also we have server side solution for collect data from Crash Reporter – Socorro. Our aim is to adapt these tools for Tor (browser) in other words make them anonymous. Continue reading “Google Summer of Code Proposal: Crash Reporter for Tor Browser”

Audit the built-in Crash Reporter Data – Intro

Crash Dump – the data collected about crash(es) of current browser. Client side of Mozilla Crash Reported based on Breakpad.

And Mozilla’s Implementation collect 6 “tabs” information about crash:

  • Details – the most important pieces of information (such as OS version, browser version, install time, last crash, ant etc.)
  • Metadata – this tab contains user information, and most important privacy-sensitive fields
  • Modules – shows all the system libraries loaded at the time of the crash
  • Raw Dump – crash report (JSON format), also contains privacy-sensitive fields
  • Extensions – shows which extensions are installed and enabled
  • Correlations (optional) – correlations between a crash and modules or extensions that are present

To provide user’s anonymity we have to remove from crash dump privacy-sensitive fields. Also we must consider that the aggregate of data can make user non-anonymous.