Например, как я могу проверить, что YouTube для Android использует TLS-шифрование безопасности транспортного уровня?

Могу ли я использовать сетевой инструмент для проверки того, что используется шифрование?

2 ответа2

1

Вы можете выполнить тестирование, подключившись к беспроводной сети, которой вы управляете, и используя сниффер (wireshark, tcpdump) на проводной стороне точки доступа для наблюдения за прохождением пакетов. В то время как Android должен отдавать предпочтение беспроводной связи по телефонной сети, вы можете отключить телефонные службы передачи данных, если это не так.

Дайте нам знать, что вы найдете!

1

Для тестирования вам нужно захватить сетевые пакеты от Wireshark или аналогичного инструмента. Это можно запустить на вашем телефоне, если у вас есть рутированный телефон. Кроме того, вы можете взять компьютер, подключенный к Интернету, и установить неиспользуемую карту Wi-Fi / Bluetooth в качестве точки доступа Wi-Fi / Bluetooth (например, настроить точку доступа Wi-Fi, когда компьютер напрямую подключен к Интернету через Ethernet, или настроить подключение Bluetooth, которое использует Интернет. между вашим телефоном и ноутбуком, если ваш ноутбук подключен к Интернету через Wi-Fi). Затем подключите телефон к интернету вашего ноутбука и начните захват Wireshark. Затем запустите конкретное мобильное приложение и используйте его. Старайтесь не иметь свой компьютер или телефон, чтобы иметь слишком много другой интернет-активности во время захвата. Отфильтруйте собранные пакеты по IP-адресу (например, если вы ищете YouTube, посмотрите IP-адреса, связанные с YouTube). Убедитесь, что все сгенерированное приложением пересылается по протоколу TLS (обратите внимание на протокол). Смотрите, если данные, которые вы хотите сохранить в секрете, отправляются в незашифрованном виде.

Для конкретного случая приложения YouTube на Android. Нет, видео и первоначальный запрос на получение видео отправляются по незашифрованному HTTP. (Я только что проверил с Wireshark, используя приложение YouTube на моем Nexus 7 под управлением Android 4.4.2.) Он устанавливает первоначальное HTTPS-соединение, которое, я полагаю, используется для входа в вашу учетную запись Google. Однако при запросе и просмотре видео трафик, включая заголовок HTTP, который идентифицирует видео, передается по незашифрованному HTTP. Ниже приведен перехваченный HTTP-запрос, сделанный в начале потока TCP, созданного с помощью приложения youtube (если я изменил свой ip и многие другие поля с поддельными данными, поэтому я случайно не пропустил информацию, такую как активный файл cookie сеанса Google) , что я не хочу отправлять). Обратите внимание на &id=b7935aa6939a4137& часть, которая не изменилась.

GET /videoplayback?ms=au&clen=22426616&key=yt5&mime=video%2F3gpp&ip=1.2.3.4&mv=m&ipbits=0
 &mws=yes&fexp=123456%2C123456%2C123456%2C123456%2C123456%2C123456%2C123456%2C123456
 &sparams=clen%2Cdur%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Csource%2Cupn%2Cexpire
 &signature=123456789ABCDEF123456789ABCDEFABCDEFABCD.EF1234567890ABC123123123123A1231231234123
 &upn=a1B2C3d4E5F&id=b7935aa6939a4137&gir=yes&mt=14001000000&sver=3&expire=1400200000
 &dur=791.010&source=youtube&lmt=123456789012345&itag=36&dnc=1&cpn=-ABCDEFGHIJKLMt3 HTTP/1.1
Host: r3---sn-mv-ab4a.googlevideo.com
Connection: keep-alive
User-Agent: com.google.android.youtube/5.6.36(Linux; U; Android 4.4.2; en_US; Nexus 7 Build/KOT49H)
Accept-Encoding: gzip,deflate

Это было, когда я смотрел видео: https://www.youtube.com/watch?v=t5NappOaQTc в мобильном приложении.

Обратите внимание, что эти два идентификатора соответствуют друг другу; один - это идентификатор видео, закодированный (модифицированный) base64, а другой - идентификатор видео, закодированный в шестнадцатеричном формате. Зайдя в python, вы можете показать, что они идентичны:

>>> import base64
>>> base64.b64decode('t5NappOaQTc=').encode('hex')
'b7935aa6939a4137'

В качестве альтернативы, чтобы пойти другим путем:

>>> base64.b64encode('b7935aa6939a4137'.decode('hex'))
't5NappOaQTc='

Таким образом, сетевой перехватчик может заметить, какие видео вы смотрите через мобильное приложение YouTube.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .