Differences between revisions 40 and 42 (spanning 2 versions)
Revision 40 as of 2021-07-10 03:57:33
Size: 14502
Editor: PaulWise
Comment: reorder
Revision 42 as of 2021-07-17 01:10:56
Size: 15191
Editor: PaulWise
Comment: add leakage of software names/versions
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * [[https://github.com/jonasdn/nsntrace/|nsntrace]]  * DebianPackage:nsntrace
Line 28: Line 28:
 * data leakage
   * software names and version numbers
Line 187: Line 189:
== Data leakage ==

 * Lots of different software leaks software names and version numbers into output
   * DNS servers respond with it to this command: {{{dig +short @f.root-servers.net version.bind chaos txt
     * These DNS servers are definitely affected: unbound
   * Mail user agents leak this into one of several headers: {{{User-Agent}}} {{{Mailer}}} {{{X-Mailer}}}
     * These MUAs are definitely affected: evolution
   * Mail servers leak this into the {{{Received}}} header
     * These MTAs are definitely affected: exim
   * Web browsers leak this into the {{{User-Agent}}} header
     * Almost all HTTP clients do this by default

Documentation

Detection tools

Issue categories

  • logging & verbose logging

  • homephoning without user consent
    • cleartext
    • TLS
  • featurebug: when a bug is also a feature
  • privacy defaults
    • optin
    • optout
  • traceability
  • no deletion of config files when uninstalling a package
  • data leakage
    • software names and version numbers

Reports

Privacy issues in Debian packages

Phone home

There are some common categories of phoning home:

These packages either don't fit those categories or do lots of them and more:

Phone elsewhere

Connectivity

Some services need to know when system is "online". Best practice is to only rely on system services, optionally coupled with distro-specific public service like network-manager-config-connectivity-debian . An antipattern is to hardcode probing of a public service.

Packages determining connectivity by probing Apple website and Google DNS resolvers:

Packages determining connectivity by probing Google DNS resolvers:

DNS

Many network protocols need a nameserver. Best practice is to only rely on user input or system resolver. An antipattern is to hardcode one or more nameservers, either exclusively or as internal default.

Packages using Cloudflare and Freenom and Google DNS resolvers by default:

Packages using Cloudflare and Google DNS resolvers by default:

Packages using Cloudflare and Google and Qaud9 DNS resolvers by default:

Packages using Google DNS resolvers by default:

Packages using Google and UncensoredDNS DNS resolvers by default:

Packages using Google and 77.88.39.152 DNS resolvers by default:

ICE

WebRTC and SIP and similar protocols need a public-accessible TUN/STUN/TURN service across public networks. Best practice is to only rely on local configuration. an antipattern is to hardcode public STUN services, either exclusively or as internal default.

Packages using Ekiga STUN resolvers by default:

Packages using Ekiga and GNUnet and Mozilla STUN resolvers by default:

Packages using Ekiga and SIPgate and Stuntman and more STUN resolvers by default:

Packages using Ekiga and SIPphone and Google and Stuntman and Xten and more STUN resolvers by default:

Packages using Google STUN resolvers by default:

Packages using Google and Stuntman STUN resolvers by default:

Packages using SIPgate and SIPphone STUN resolvers by default:

Packages using SIPphone STUN resolvers by default:

Packages using Stuntman STUN resolvers by default:

Packages using Xten STUN resolvers by default:

Data sharing

  • remmina - shares the clipboard with remote hosts over RDP by default
  • pidgin - shares typing notifications with remote peers by default
  • hw-probe - includes truncated salted hashes of MAC addresses and serial numbers in hardware probe reports
  • git-remote-bzr (all implementations) - leaks the local git branch name into the "branch nick" field of commits, which could get pushed to a remote repository

Data leakage

  • Lots of different software leaks software names and version numbers into output
    • DNS servers respond with it to this command: {{{dig +short @f.root-servers.net version.bind chaos txt
      • These DNS servers are definitely affected: unbound
    • Mail user agents leak this into one of several headers: User-Agent Mailer X-Mailer

      • These MUAs are definitely affected: evolution
    • Mail servers leak this into the Received header

      • These MTAs are definitely affected: exim
    • Web browsers leak this into the User-Agent header

      • Almost all HTTP clients do this by default

Data storage

  • web and other servers of various kinds default to logging information about requests over the network from external entities