JonDoFox sources

From JonDonym Wiki
Revision as of 11:18, 21 November 2012 by Geko (Talk | contribs)
Jump to: navigation, search

En2.png De2.png  Changelogs and Sources

How to get the sources and build a jondofox.xpi

It is probably the best to create a JonDoFox directory first and change to it:

mkdir JonDoFox && cd JonDoFox

Now you need a subversion client and check out the source as follows:

svn checkout

If your svn client complains about our self-signed certificate you may compare the SHA1 fingerprints to make sure you download our sources. The SHA1-fingerprint of our certificate is:


Afterwards change the directory to trunk and run the appropriate shellscript:

cd trunk && ./

Now you'll find the freshly built jondofox.xpi in the directory xpi.

JonDoFox Documentation

The source of the documentation may be found here, a compiled .pdf may be found here (currently only an old german version).

JonDoFox' Defenses

  • HTTP-Header
    • spoofing of User Agent (general.appname.override, general.appversion.override, general.buildID.override, general.oscpu.override, general.platform.override, general.productSub.override, general.useragent.override, general.useragent.vendor, general.useragent.vendorSub)
    • spoofing of Referer
    • further header spoofing (intl.accept_languages, intl.charset.default, network.http.accept.default)
  • Further preferences
    • browser.pagethumbnails.capturing_disabled set to true
    • set to false
    • browser.zoom.siteSpecific set to false
    • plugin.expose_full_path set to false
    • browser.send_pings set to false
    • set to false
    • set to false
    • geo.enabled set to false
    • network.prefetch-next set to false
    • network.proxy.socks_remote_dns set to true
    • network.http.proxy.keep-alive set to false
    • view_source.editor.external set to false
    • security.remember_cert_checkbox_default_setting set to false
    • security.default_personal_cert set to "Ask Every Time"
    • privacy.sanitize.sanitizeOnShutdown set to true
    • privacy.clearOnShutdown.history set to false
    • privacy.clearOnShutdown.offlineApps set to true
    • network.cookie.cookieBehavior set to 2
    • set to true
    • network.protocol-handler.warn-external.snews set to true
    • network.protocol-handler.warn-external.nntp set to true
    • network.protocol-handler.warn-external.file set to true
    • network.protocol-handler.warn-external.mailto set to true
    • network.protocol-handler.warn-external-default set to true
    • browser.history_expire_days set to 0
    • network.http.accept-encoding set to "gzip,deflate" (FF4 and higher)
    • privacy.donottrackheader.enabled set to true (FF4 and higher)
    • extensions.getAddons.cache.enabled set to false (FF4 and higher)
    • dom.indexedDB.enabled set to false (FF4 and higher)
    • webgl.disabled set to true (FF4 and higher)
    • browser.display.use_document_fonts set to 0
    • browser.sessionhistory.max_entries set to 2 (FF4 and higher)
    • browser.safebrowsing.* => set relevant safebrowsing peferences to values that do neither leak the deployed language nor the FF version to Google (see the preferences.js in the JonDoFox.xpi for the currently used values)
    • security.enable_tls_session_tickets set to false to avoid fingerprinting via TLS Session Resumption
    • dom.battery.enabled set to false to avoid leaking some fingerprintable information in some corner cases
    • dom.performance_enable set to false (FF7 and higher) in order to avoid fingerprinting a user deploying detailed page load statistics (although this threat is somewhat mitigated by having an anonymization service between the user and the attacker)
    • network.http.spdy.enabled set to false
  • Cookies, DOM storage and IndexedDB
    • cookies currently blocked per default via Cookie Monster {planned an own user friendly tabspecific CM}
    • DOM storage currently disabled per preference {planned to expand the CM to the handling of DOM storage}
    • The IndexedDB feature is disabled per preference at the moment {planned to expand the CM to the handling of the IndexedDB feature}
  • Cache
    • modified SafeCache code {planned to expand the tabspecific design mentioned above to handle cache cases as well}
  • Browser History
    • currently disabled per preference (FF3.x)
  • Websockets
    • currently disabled per preference until we investigated whether they pose an additional threat (and if so, how to mitigate that)
  • MIME types
    • in almost all cases we avoid that an external application is launched automatically to open a specific file
    • we show a warning dialog (hooking us into the external app or NoScript dialog (the latter if the user has a pdf plugin activated))
    • we prohibit that the user may set the "Always open with this application" option {there needs still a little bit done in this regard to make that bulletproof}
  • Search queries
    • delete the search queries after user launched search request
    • after half an hour will the search history be deleted
    • we disabled search suggestions per preference
  • SSL based attacks
    • included a modified version of Certificate Patrol (CP) {planned to enhance that a bit further (a kind of get-me-out-of-here button...)}
    • disabled attacks using client certificates per preference
    • included EFF's distributed SSL Observatory feature to be able to secure the SSL infrastructure in the future
  • Media queries
    • currently no way to cope with that as that needs probably a patched Firefox
  • @font-face
    • NoScript
    • {we plan to implement a nsIContentPolicy that would take care of it e.g. if NoScript is disabled}
  • JS based attacks
    • NoScript in profile included
    • tracking users via is disabled
    • {planned to spoof the browser locale reliably}
  • Plugins
    • NoScript in profile included
    • all plugins are disabled in JonDo but Flash by default; the latter get disabled additionally by setting a hidden preference, extensions.jondofox.disableAllPluginsJonDoMode, to "true"
  • AdBlock based attack
    • {planned to implement one ad blocking list shipped with JonDoFox to minimize the risk that users get profiled by using different ad filter lists}
Personal tools