XMPP Деанон

Achtung! Деанон через джаббер? Бывает и такое.

Achtung! Деанон через джаббер? Бывает и такое.

Приходя домой ты моешь руки? Теперь давайте вспомним, что есть еще такое понятие, как гигиена цифровая. Её несоблюдение тоже может привести к печальным последствиям. И даже “самый безопасный” джаббер может привести не только к деанону тебя, но и твоих друзей.

Предположим, ты добавил контакт в Jabber, переименовал его как удобно и распределил в нужную группу для порядка. Вся информация моментально “улетела” в серверный контакт-лист, или по-другому – Roster. Представь, контакт назывался “bArmAlEy”, а ты по старой дружбе переименовали его в “Misha Berdoev”, да еще и занес в группу “Carders”. Все это сохранилось на сервере.

JabberIDNicknameGroupSubscription
[email protected]Misha BerdoevCardersboth
Наглядно, для понимания, на сервере все выглядит так

При этом, тот самый bArmAlEy на другом конце провода даже не подозревает, что его уже слили. Это важно понимать, потому что те, кто тебя знают не под ником, или знают под другим ником, могут тебя за нечего делать “переименовать” в своем контакте “по-батюшке”, или еще по каким-нибудь сексуально-рассово-этническим признакам. Или, например, связать между собой разные ники. И неожиданно контакт [email protected] станет иметь ник Aibolit (более удобный для восприятия при общении человеком), который по другим контактам у других людей проходит как [email protected]. И никто в душе не ведает, что barmaley@ и aibo@ – это одно и то же лицо. Только теперь roster знает. А значит и все, кто имеют к нему доступ.

Ты создал два отдельных джаббера со знакомым вам человеком для личной переписки, и кто-то один (хотя бы один из вас) переименовал в “привычный” ник или имя, все пиздец, epic fail, – это слив.

Проконтролировать это удаленно невозможно. Можно лишь соблюдать социальную гигиену. То есть все твое окружение должно знать об этой особенности контактов и не заниматься подобными переименованиями или разделеннием по группам (по ним так же можно находить в ростере одних и тех же людей с разными никами/контактами, если структура групп такая же).

Чтобы чуть упростить жизнь пользователей Jabber, использующих Miranda NG, я с помощью George Hazan зачистил эту проблему там. (Ниже список коммитов).

Очень важно понимать: как это происходит в других jabber-клиентах – известно лишь их авторам. Но, с вероятностью около 95%, вся информация из локального контакт-листа по умолчанию улетает в ростер, как и предписывает это логика работы XMPP (серверный контакт-лист). Т.е. все ваши локальные имена контактов и группы сливаются на сервер. (Это касается любых клиентов, которые работают, как предписывает протокол – с серверным контакт-листом, т.е. все мобильные клиенты типа Xabber – тоже; не переименовывайте там контакты и не добавляйте людей в группы! Если только это не group1, group2 и т.п. в прямом смысле).

Если вы уже ранее слили информацию о никнеймах и группах, что делать сейчас? Как минимум, зачистить (хотя, скорее всего, она уже в руках у “тех кто”). А как максимум – обновлять контакты.

Даю инструкцию как зачистить эту информацию, используя последнюю версию Miranda NG (указанные исправления доступны только в последней дебаг-бета версии от 27.05.2020; в релизе этого пока нет).

1) Вначале посмотрите насколько все плохо. Просто обзорно. В верхнем меню выбираете Status -> нужный jabber-аккаунт -> Services… -> Roster Editor. В появившемся окне нажимаете [Download]. Появится список контактов из ростера – вот это то, что о ваших контактах, их именах, группах знает сервер (и “те кто”).

2) Не спешите здесь ничего редактировать – это не имеет смысла, данная таблица на практике read only (т.е. даже если вы что-то поменяете, это никак не сработает).

3) Посмотрели? Закрывайте окно.

4) Теперь идите в настройки, чтобы отключить синхронизацию ваших контактов (теперь это отключает не только синхронизацию групп, но и никнеймов, + еще и работает отлично).
Путь такой:
= -> Options… -> Network -> нужный jabber-аккаунт -> таб “Advanced”
Прокрутить список почти в самый низ. Над подгруппой Security будет виден checkbox:
[ ] Ignore server roster (groups and nick names)
Включите его – [x].
Далее – [OK] (закрываем настройки).

5) Теперь можно заняться чисткой. Надо зайти в Roster Editor у этого аккаунта (как это сделать указано в п. 1). Нажать там кнопку [Download], после чего нажать кнопку [Export] и сохранить в jabber-acc.xml (имя удобное вам).

6) После этого открыть сохраненный в предыдущем пункт jabber-acc.xml в любом удобном вам редакторе и привести все поля name=”” и group=”” именно к такому (пустому) состоянию. (Там у вас, вероятно, будет что-то типа jid=”[email protected]” name=”Vasek Koreshok” group=”Finance”, а нужно сделать jid=”[email protected]” name=”” group=””).

7) После окончания подготовки чистого .xml (лучше в другой копии на случай чего), нажимаете в том же Roster Editor кнопку [Import] и загружаете почищенный .xml.

8) Готово. (Так надо проделать со всеми jabber-аккаунтами, если у вас их больше одного)

Для информации список коммитов в Miranda NG с указанными изменениями:

Roster (ignore groups/nicknames):
https://github.com/miranda-ng/miranda-ng/commit/5ebba85de37a0aaaa0732fe6307fcf8de9010fea
https://github.com/miranda-ng/miranda-ng/commit/67adb1e398ec542ad62711c30031088685161546
https://github.com/miranda-ng/miranda-ng/commit/fd1139fc1959a9988143839d3224778d9ce0bbdd
https://github.com/miranda-ng/miranda-ng/commit/985d99a13b43a8420faadae25c4b3fe7f52305d6
https://github.com/miranda-ng/miranda-ng/commit/c6f19f056032de76565d097986d16db77b065a03

Roster: xml export/import (roster editor)
https://github.com/miranda-ng/miranda-ng/commit/59bcd6091e2332308e4aac5a05d3b719f15aa031

Бонусом:

1) Сокрытие типа/версии клиентского ПО:
https://github.com/miranda-ng/miranda-ng/commit/728b55c7e6fc307f084caabfdaf6a89aa6cf4f1d

2) Коммиты 15-21 марта 2020: починка GPG для разных ситуаций (подвисания всякие и проч.)

С разрешения sporaw.livejournal.com

Очень злой админ
Очень злой админ Автор статьи

Админ сайта. Публикует интересные статьи с других ресурсов, либо их переводы. Если есть настроение, бывает, что пишет и что-то своё.