Jump to: navigation, search

Dev/Automatic Updates

< Dev

Random News:

Join us testing new AppArmor profiles for improved security! (forum discussion)

Simplified Assisted Updates[edit]

One click upgrade button for Debian packages[edit]

Automation is very difficult due to issues introduced at a higher level (Debian and The Tor Project).

apt-get isn't good at conflict resolution with config files (the user may have installed arbitrary packages, changed their configs and then upstream may have updated the config file. dpkg will ask if the user wants to take the new or the old config file. I.e. apt-get is showing an dpkg interactive conflict resolution dialog. See also Whonix Configuration Files.

Also other things can go wrong, such as problems with gpg verification, package lists, which are no longer valid-until[1], general brokenness due to aborts during last action and so forth. Others dedicated projects have failed at simplification of apt-get, such as synaptic, apper[2], packagekit and software center. All failed at implementing this for everyone in all cases. When separate projects failed as a higher level (Linux distributions aren't user friendly themselves in the first place), there is nothing that be could fixed in Whonix at a lower level.

See also these related apt-get bugs, which would make it harder to implement a script automating this. See also this issue with packages that lack full security support, even though those are in Debian stable repository.

See also Security Guide about Updates for yet more complexity that needs to be covered, that we're currently only documenting (unsigned packages, restart required).

Automatic Updates[edit]

Unattended upgrades in background for Debian packages[edit]

Reasons for Automatic Updates:

  • Better usability.

Reasons against Automatic Updates:

  • Apparently mysterious [3] system load.
  • Apparently mysterious [3] network load.
  • Some people may be on different kinds of internet connections. Sometimes they may use a connection with unlimited quota and want to postpone updating.
  • If Debian's update mechanism ever gets compromised [4], then it would make sense for users to read Whonix News before manually updating.
  • Old discussion
  • If the user is using Debian a host operating system or connecting to the same mirror,

DoNot#Do_not_connect_to_any_server_anonymously_and_non-anonymously_at_the_same_time.21 applies. (Since using stream isolation, in worst case, as far as I can see, the server only knows what packages you wanted to download, if that happens.)

Needs Research:

  • What happens when a stale mirror is detected? Will the user be informed?
  • Stale mirror attack not of concern, since exit relays change anyway?
  • Are times when "apt-get update" is run randomized to prevent a clear network fingerprint? If not, this needs a custom implementation/diverting some scripts.
  • Are times when "apt-get dist-upgrade" is run randomized to prevent a clear network fingerprint? If not, this needs a custom implementation/diverting some scripts.
  • What are the reasons why distributions such as Debian/Ubuntu/Qubes OS are not using automatic updates by default?

Non-issues:

Forum discussion:

Auto Upgrading Tor Browser[edit]

For the Tor Browser version check is unreliable. Sometimes upstream messed up versions, uploads faulty version files or changes the version format. There is reliable no way for a machine[5] to determine if a new version has been released. [6] [7]

And due to other issues (not passing the TUF (The Update Framework)'s[8] [9] threat model [TUF: Attacks and Weaknesses][10]), the torbrowser downloader (tb-updater) shouldn't blindly trust what the version check claims is the most recent version. Therefore the user still has to check if it's sane. Could be very well a downgrade attack at some point.

Update Notifier / GUI Updater[edit]

Rejects ideas[edit]

apper (kde) package[edit]

whonixcheck runs apt-get update. Checks if there are updates with /usr/lib/update-notifier/apt-check. If there are updates, it opens apper --updates, if installed. (Otherwise notifies about updates only in whonixcheck result.)

Apper is user friendly since there is only one big update button and does also honor proxy settings in /etc/apt/apt.conf which are required for Tor stream isolation.

Automatic update check has been disabled in /etc/apt/apt.conf.d/10periodic because the execution time would be too predictable. Whonixcheck runs at startup (non-predictable) and every day at a random time.

Apper / Synaptic subject for removal for Whonix 8, see: https://github.com/Whonix/Whonix/issues/104

Too many bugs, too confusing:

update-notifier (gnome) package[edit]

Overall ui is very good. Asks a confusing question to update "safely" and not removing packages. After updating "safely" it still reports updates. Open question: how to provide update-notifer in several languages? Would be all gnome language packages needed?

Would have to configure it with something like "gconftool-2 --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory". Would have to

cp /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update.desktop

And remove shownotin kde from /etc/xdg/autostart/update.desktop.

update-notifier-kde package[edit]

Is confusing. It shows how many updates are available, but it has only one button "later".

Conclusion[edit]

As long there are no tools which can handle always all cases for all users, it's the best of the worse choices to teach users how to update using the CLI tools. Those always work reliably.

Footnotes[edit]

  1. http://blog.ganneff.de/blog/2008/09/23/valid-until-field-in-release-f.html
  2. Bugs such as apper recommends restarting while apt-get (command line) is still working.
  3. 3.0 3.1 to those who don't know that automatic updates are enabled by default; would result in questions such as this: Special:AWCforum/st/id178/Weird_traffic_display_in_arm.html
  4. If a malicious package was uploaded to Debian's APT repository or if there was a critical bug in apt-get.
  5. script
  6. counter downgrade / stale mirror attacks on RecommendedTBBVersions - sign / verify tbb versions file
  7. better support for TBB / TPO software downloaders
  8. https://www.updateframework.com/
  9. https://github.com/theupdateframework/tuf
  10. https://github.com/theupdateframework/tuf/blob/develop/SECURITY.md http://www.webcitation.org/6F7Io2ncN


Log in | OpenID | Contact | Impressum | Datenschutz | Haftungsausschluss | Investors | Donate

https | Mirror | Mirror | Share: Twitter | Facebook | Google+

This is a wiki. Want to improve this page? See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.

Whonix (g+) is a licensee of the Open Invention Network. Unless otherwise noted above, content of this page is copyrighted and licensed under the same Free (as in speech) license as Whonix itself.