О безопасности мессенджеров
Серьезную обеспокоенность среди постоянных читателей нашего журнала вызвала намедняя публикация про Space-based Radar.
Ведь мечта любого наркомана это возможность крысить чужие клады. А пресвятой Илоний (Небоходец) Маск не только наркоман, но и теперь имеет возможность палить вообще все коммуникации с мобильных телефонов и домашних Wi-Fi.
Как же уберечься от этой напасти? Какой мессенджер использовать? Телеграм? Жабер? Как зашифроваться? P2P-шифрование? OTR? TOR? VPN? Может использовать чаты в онлайн играх? Море вопросов и, хотя ответ прост – никак, обоснование этого ответа чуть сложнее.
Дело в том, что любая система обмена мгновенными сообщениями синхронно порождает два соразмерных всплеска трафика. Один в исходящем канале у отправителя, второй во входящем канале у получателя.
Даже если они не используют Телегу от майора ФСБ Дурова, разработка которой идет в доме Зингера, а сервера стоят в подвалах на Литейном. Даже если они используют свой жабер-сервер, с OTR-шифрованием в клиентах через TOR поверх надежного VPN. Это все абсолютно бесполезно. Синхронность и соразмерность всплесков трафика остаются.
Злоумышленнику (их по недоразумению называют правоохранителями в некоторых юрисдикциях) достаточно иметь логи объема трафика. Содержимое трафика не важно, важен объем. Если у нас есть один наркоман, то абоненты отправляющие ему трафик вероятно барыги с фоточками кладов. А абоненты отправляющие трафик барыгам вероятно кладмены. Все. Finito la comedia. Один наркоман, даже не открыв рта, сдает весь бизнес на подконтрольной территории с которой у нас есть логи трафика.
Наркоманы тут для примера, на карандаш ставятся вообще все движения по неосторожности обменивающиеся мгновенными сообщениями.
Для тех кто сомневается в возможности корреляционного анализа объемов данных с миллиардов абонентских терминалов приведу навскидку простой алгоритм:
Входящий и исходящий объем трафика абонента нарезается на пятисекундные интервалы. Если в интервале пролетело больше трафика чем в предыдущем, то пишем 1, если меньше пишем 0, для равных объемов случайно пишем 0/1.
Делаем XOR полученных последовательностей входящего и исходящего трафика всех абонентов и считаем разность количества нулей и единиц после XOR. Тут возникает сложность O(N^2) но она легко молотится FPGA например. Если нулей после XOR существенно больше чем единиц, то уже детально соотносим трафик для этой пары абонентов.
Как же обезопасить коммуникации? Нужно убрать факторы соразмерности и синхронности всплесков.
Реальнее всего использовать Email с кучей спама и ручным забором почты по кнопке в случайные моменты перед прочтением. Конечно не “киберанархические” почты а-ля Protonmail, лучше свой почтовый сервер с грамотно настроеным SSL и наложить сверху PGP. Немножко поможет внесение шума в канал, например скачка и раздача торрентов, но только немножко – соотношение сигнал/шум ненулевое и лишь потребуется больше сообщений для выявления пары абонентов. Идеально равномерно заполнить канал шумом и вырезать в нем полосу для полезного сигнала, но такое средство потребует больших объемов трафика и в природе пока не существует.