I have Raspberry Pi with WLAN and an additional network module which can be run as a WIFI access point.

Plan

  • Analyze the security of HTTPS connections of common Linux applications I use besides webbrowsers. For example check if they verify the SSL certificates, prevent downgrade attacks and so on.
  • Analyze the traffic of my smartphone. For example check if apps use SSL connections, if they verify certificates or pin their own ones.
  • Analyze the traffic of "smart" devices like Smart TVs and WLAN speakers.

Current Results

Linux applications

All linux utils I have tested where verifying the CA properly and not accepting the man in the middle certificate, which is great.

I have tested: curl, wget, osc, zypper, rpm, git, bundle install, go get

If you know other relevant tools let me know.

Smartphone applications

At least on iOS there does not seem to be any app which does not verify the certificate which is great but expected.

Most do not seem to use Certificate pinning so I was able to watch most of their SSL traffic. It is interesting how many tracker are contacted from a regular app (even the ones with paid services).

The only exception I have found so far which used certificate pinning is Threema and also does not contact any trackers.

It is a little frighting how many different tracking sites are used by just one app. Some apps have a hidden button somewhere to disable tracking but usually there is not much someone can do.

Most also have a static ID or cookie id which can only be renewed by reinstalling the app.

The good news is that at least on iOS all the apps I have checked use exclusively encrypted connections and verify the certificate properly.

Apple seems to use an unknown binary format to transfer data and some connections like one to the iTunes server are not possible to intercept because of certificate pinning. This is something which needs more time to check out I suppose.

I have not intercepted an Android phone yet but I guess the SSL verification will be similar good, at least on the newer models. The question is if they enforce similar policies to encrypt as Apple does for the app developers.

Smart devices

PS4

The traffic is mostly encrypted and the certificate verified properly.

There are some HTTP connection though like for checking for new PS4 updates. But I am pretty sure that they verify the update files before installing them so it should be not an issue.

Additionally some "sticker" urls are provided unencrypted as json.

Smart TV

A LG Smart TV from 2016 does verify all HTTPs connections. HTTP was nearly not use except of for the Netflix app, but the master token seemed to be signed and it also tried to connect to an HTTPs Netflix server so I suppose it should be no problem.

The TV does also connect to an LG ad server but I could not intercept the traffic because it was also encrypted.

WLAN Speaker

The WLAN speakers are the first device which do not verify all HTTPs requests. Some https connections can be intercepted, others not. I will contact the support regarding this issue.

They also request the time via HTTP, which is interesting since there is Linux running on them and they could use NTP.

The also transfer a device ID and the services you have activated. These are transferred through an HTTPs connection but the certificate is not verified.

I have tried to understand the workings of Spotify Connect in detail but they do not seem to use HTTP[s] connections for streaming. Spotify also initiates one HTTP connection in the beginning but it is called esdk-fire-and-forget and there is no response which does make sense from the url name. I have to follow up on Spotify Connect with Wireshark.

In general the speakers have the issue that during the first setup through Wifi they transfer the WPA password in clear text through the air because they do not support WPS.

Wifi Printer from 2005

This was a pleasant surprise that the HP printer (which besides the age supports WPA2) did not connect to any Internet server at all. It did just send SSDP announcements to multicast ip ranges and that was it.

There is an HP Instant Share option in the menu but it seems it needed to be installed separately.

Sadly I could not check it with a more recent HP model but I am pretty sure they are much more talkative. At least I had to disable quite some online services in an HP Envy printer I have setup and I am pretty sure there is more.

The HP app for example does have quite some data sharing options enabled by default and even if you disable them it connects to facebook although this might be just related to some Facebook functionality in the app.

Looking for mad skills in:

wireshark security networking ssl

This project is part of:

Hack Week 15

Activity

  • over 2 years ago: thardeck started Analyze the security of Linux HTTPS connections and monitor the traffic of "smart" devices
  • over 2 years ago: thardeck left Analyze the security of Linux HTTPS connections and monitor the traffic of "smart" devices
  • over 2 years ago: thardeck added keyword "ssl" to Analyze the security of Linux HTTPS connections and monitor the traffic of "smart" devices
  • over 2 years ago: thardeck added keyword "networking" to Analyze the security of Linux HTTPS connections and monitor the traffic of "smart" devices
  • over 2 years ago: thardeck added keyword "security" to Analyze the security of Linux HTTPS connections and monitor the traffic of "smart" devices
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    libpathrs by cyphar

    The plan is to implement a safe path resolution...


    DPHAT: Data Plane Health Assessment Tool For Cloud Networking Technology by rtidwell

    A common challenge for OpenStack and K8S deploy...


    ethtool ops for netdevsim by mkubecek

    This can be seen as a subproject of [ethtool ne...


    netlink interface for ethtool by mkubecek

    There seems to be an overall consensus that the...