[tor-commits] [tor-browser-spec/master] Update disk avoidance section.

mikeperry at torproject.org mikeperry at torproject.org
Mon Apr 28 15:18:48 UTC 2014


commit a56f78d36461feddcfbdc90978fdcff4544d999d
Author: Mike Perry <mikeperry-git at fscked.org>
Date:   Tue Feb 19 17:10:56 2013 -0800

    Update disk avoidance section.
    
    Hrmm. This section is really ugly...
---
 docs/design/design.xml |   86 +++++++++++++++++++++++++-----------------------
 1 file changed, 44 insertions(+), 42 deletions(-)

diff --git a/docs/design/design.xml b/docs/design/design.xml
index aa4dd99..65b6a01 100644
--- a/docs/design/design.xml
+++ b/docs/design/design.xml
@@ -876,50 +876,22 @@ Flash cookies from leaking from a pre-existing Flash directory.
    <sect3>
     <title>Design Goal:</title>
     <blockquote>
-Tor Browser MUST (at user option) prevent all disk records of browser activity.
+
+The User Agent MUST (at user option) prevent all disk records of browser activity.
 The user should be able to optionally enable URL history and other history
-features if they so desire. Once we <ulink
-url="https://trac.torproject.org/projects/tor/ticket/3100">simplify the
-preferences interface</ulink>, we will likely just enable Private Browsing
-mode by default to handle this goal.
+features if they so desire. 
+
     </blockquote>
    </sect3>
    <sect3>
     <title>Implementation Status:</title>
     <blockquote>
-For now, Tor Browser blocks write access to the disk through Torbutton
-using several Firefox preferences. 
-
-<!-- XXX: http auth on disk??? -->
-<!-- XXX: can general.open_location.last_url hit disk??? -->
-
-The set of prefs is:
-<command>dom.storage.enabled</command>,
-<command>network.http.use-cache</command>,
-<command>browser.cache.disk.enable</command>,
-<command>browser.cache.disk.capacity</command>,
-<command>browser.cache.offline.enable</command>,
-<command>general.open_location.last_url</command>,
-<command>places.history.enabled</command>,
-<command>browser.formfill.enable</command>,
-<command>signon.rememberSignons</command>,
-<command>browser.download.manager.retention</command>,
-<command>dom.indexedDB.enabled</command>,
-and <command>network.cookie.lifetimePolicy</command>.
-    </blockquote>
-   </sect3>
-    <para>
-
-Torbutton also <ulink
-url="https://gitweb.torproject.org/torbutton.git/blob/HEAD:/src/components/tbSessionStore.js">contains
-code</ulink> to prevent the Firefox session store from writing to disk.
 
-    </para>
-    <para>
-In addition, three Firefox patches are needed to prevent disk writes, even if
+We achieve this goal through several mechanisms. First, we set the Firefox
+Private Browsing preference
+<command>browser.privatebrowsing.autostart</command>. In addition, four Firefox patches are needed to prevent disk writes, even if
 Private Browsing Mode is enabled. We need to
 
-<!-- XXX: Firefox 17 will mess up all these patch links -->
 <ulink
 url="https://gitweb.torproject.org/torbrowser.git/blob/maint-2.4:/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch">prevent
 the permissions manager from recording HTTPS STS state</ulink>,
@@ -933,16 +905,40 @@ download history from being recorded</ulink>, and
 url="https://gitweb.torproject.org/torbrowser.git/blob/maint-2.4:/src/current-patches/firefox/0006-Make-content-pref-service-memory-only-clearable.patch">prevent
 the content preferences service from recording site zoom</ulink>.
 
-<!-- XXX: DOM Storage patch, too. -->
-
 For more details on these patches, <link linkend="firefox-patches">see the
 Firefox Patches section</link>.
 
-   </para>
-   <para>
+    </blockquote>
+    <blockquote>
+
+As an additional defense-in-depth measure, we set the following preferences:
+<command></command>,
+<command>browser.cache.disk.enable</command>,
+<command>browser.cache.offline.enable</command>,
+<command>dom.indexedDB.enabled</command>,
+<command>network.cookie.lifetimePolicy</command>,
+<command>signon.rememberSignons</command>,
+<command>browser.formfill.enable</command>,
+<command>browser.download.manager.retention</command>,
+<command>browser.sessionstore.privacy_level</command>,
+and <command>network.cookie.lifetimePolicy</command>. Many of these
+preferences are likely redundant with
+<command>browser.privatebrowsing.autostart</command>, but we have not done the
+auditing work to ensure that yet.
+
+    </blockquote>
+    <blockquote>
+
+Torbutton also <ulink
+url="https://gitweb.torproject.org/torbutton.git/blob/HEAD:/src/components/tbSessionStore.js">contains
+code</ulink> to prevent the Firefox session store from writing to disk.
+    </blockquote>
+    <blockquote>
+
 For more details on disk leak bugs and enhancements, see the <ulink
 url="https://trac.torproject.org/projects/tor/query?keywords=~tbb-disk-leak&status=!closed">tbb-disk-leak tag in our bugtracker</ulink>
-   </para>
+    </blockquote>
+   </sect3>
   </sect2>
   <sect2 id="app-data-isolation">
    <title>Application Data Isolation</title>
@@ -954,9 +950,15 @@ safely remove the bundle without leaving other traces of Tor usage on their
 computer.
 
    </para>
-   <para>FIXME: sjmurdoch, Erinn: explain what magic we do to satisfy this,
-and/or what additional work or auditing needs to be done.
+   <para>
+
+To ensure TBB directory isolation, we set
+<command>browser.download.useDownloadDir</command>,
+<command>browser.shell.checkDefaultBrowser</command>, and
+<command>browser.download.manager.addToRecentDocs</command>. We also set the
+$HOME environment variable to be the TBB extraction directory.
    </para>
+
   </sect2>
 <!-- FIXME: Write me... 
   <sect2 id="update-safety">





More information about the tor-commits mailing list