Hi,

Micah Lee wrote (25 Jun 2014 18:35:45 GMT) :
> Rather than replying in-line to everything, I'll just summarise:

Thanks, that was a good read. In case torbrowser-launcher doesn't have
a security design doc yet, this should be a pretty good start :)

> * TLS/x.509 security: torbrowser-launcher doesn't rely on the CA
> infrastructure. The only TLS it does is make HTTPS requests to
> check.torproject.org and (if you haven't set a mirror)
> www.torproject.org. When it connects to these hostnames, it uses a
> hardcoded certificate. So none of the TLS PKI issues apply at
> all here.

I like the idea of using the Debian archive as a side-channel,
presumably already somewhat trusted, to distribute the included
certificate.

@Debian maintainers: it might be nice to make the stable release team
aware that this package will most likely need to be updated in stable
point-releases, when the certificate changes.

@Micah: I hope you've got a good, automated way to promptly detect
changes in the certificate(s) used by www.torproject.org. And if you
have one, I'd be glad to steal and re-use it :)

> * Downgrade attacks shouldn't be possible, unless they're committed by
> Tor devs themselves. If an attacker captures a valid old request to
> https://check.torproject.org/RecommendedTBBVersions that claims that the
> current version is an older version than what's currently installed,
> torbrowser-launcher prevents it from installing. (And by "installing" I
> mean extracting to the user's home dir.)

> However, there is the scenereo where the user has set a third-party
> mirror to download from instead of the default. The third-party mirror
> could serve a tarball and sig that have filenames of the latest version,
> but are actually an older version. This attack is mitigated by [...]

When we've thought Tails incremental upgrades through, the best
defense we've found against downgrade attacks is to encode the version
information about a given target file (using the TUF specification
nomenclature [1] here) as part of what's strongly authenticated (in
this case, with OpenPGP), instead of trusting filenames in any way.

That's what our upgrade-description files [2] are for. But even then,
against an adversary who controls the web space that hosts the
upgrade-description files, or who can break TLS, Indefinite freeze
attacks are still possible. The only way I've see to mitigate it is
short-lived signatures on meta-data.

In the case of tor-launcher, it may be possible to drop the
indirection layer (upgrade-description files), and protect against
downgrade attacks simply by comparing the currently running version,
with the version information that is, I guess, present in the target
files, once they've been downloaded and authenticated.

[I'm now realizing that the TUF spec has changed since last time I've
read it. And Tor Browser's upcoming self-upgrade super-power may be
a game changer.]

[1] https://github.com/theupdateframework/tuf/blob/develop/docs/tuf-spec.txt
[2] https://tails.boum.org/contribute/design/incremental_upgrades/

Cheers,
-- 
intrigeri


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to