OPSEC52 / Неделя 10 — Ончейн-эвристики
В прозрачной сети вы не анонимны — вы псевдонимны, а это совсем другое и куда более слабое состояние. Каждый платёж — это постоянное публичное ребро в графе, и фирмы ончейн-анализа заняты ровно одним: сворачивают этот граф обратно к реальным личностям. Один вывод с KYC, один повторно использованный адрес, одна небрежная консолидация — и годы «приватной» истории распаковываются разом. Связуемость решается в момент траты, а реестр никогда не забывает.
Модель угроз: фирма ончейн-анализа, кластеризующая ваши адреса через общее владение входами, обнаружение сдачи и корреляцию круглых сумм/времени; биржа, сопоставляющая вашу KYC-личность с кластером, которого коснулся вывод; контрагент, знающий один адрес и идущий по графу наружу; и ретроактивность всего этого — сегодня безопасная трата деанонимизируется новой эвристикой или старой утечкой через годы.
Псевдонимность — это не анонимность
Bitcoin и любая прозрачная сеть публикуют навсегда, кто кому и сколько заплатил. Ваш адрес — не ваше имя, пока им не станет. Вся индустрия ончейн-анализа существует ради этого последнего шага: привязать одну реальную личность к одному адресу, а дальше граф сделает всё сам. И граф щедр. Он утекает не одним платежом; он утекает целым кластером в тот миг, когда помечен любой единственный узел.
Ошибка — думать, что приватность добавляется потом: перемешать, накинуть VPN, перевести в свежий кошелёк. Но связи были отчеканены в момент траты и неизменны. Транзакцию нельзя «отпубликовать». Поэтому ончейн-OPSEC — это не уборка; это дисциплина, применяемая до каждой траты.
Три эвристики, наносящие почти весь урон
Общее владение входами. Когда транзакция тратит несколько входов сразу, аналитики полагают, что все они принадлежали одной сущности. Это самая мощная эвристика кластеризации. Каждый раз, когда кошелёк консолидирует монеты для платежа, вы публично заявляете «всё это моё» — сваривая ранее раздельные адреса в одну личность.
Обнаружение сдачи. Заплатите кому-то 0,7 из входа в 1,0 — и 0,3 вернутся вам сдачей. Аналитики распознают выход-сдачу по признакам (свежесгенерированный адрес, некруглая сумма, тип скрипта как у вашего кошелька) и идут вперёд за вашими деньгами, а не за деньгами получателя. Ваша сдача — это радиомаяк.
Корреляция суммы и времени. Круглые числа, повторяющиеся одинаковые суммы и платежи, что всегда падают через минуты после зарплаты, создают отпечатки. Вывод «500,00», а через час депозит «500,00» связывает два счёта вообще без общих адресов.
KYC-якорь — это вся игра
Ничто из вышеперечисленного не важно противнику, пока один узел вашего кластера не помечен именем. Этот якорь почти всегда родом из KYC: вы выводите с регулируемой биржи на свой кошелёк — и теперь биржа (и всякий, с кем она делится данными по повестке или через утечку) знает вход в весь ваш кластер. Оттуда эвристики расходятся по каждому адресу, что вы когда-либо связали.
Вот почему порядок действий важнее инструментов. У монет, никогда не проходивших KYC, нет имени для якоря. Монеты, коснувшиеся KYC, несут эту личность через каждый прыжок — если только вы решительно не разорвёте связуемость, что прозрачные сети делают по-настоящему трудным.
Что действительно защищает
- Перестаньте консолидировать. Избегайте сметать много входов в одну транзакцию, если не согласны, что их скластеризуют. Разделяйте средства по назначению и тратьте из нужного отсека.
- Никогда не переиспользуйте адрес. Свежий адрес получения на каждый платёж — это пол, а не достижение. Переиспользование дарит аналитикам рёбра даром.
- Разорвите KYC-якорь, пока он не важен. Считайте любую прошедшую KYC монету помеченной. Не смешивайте «чистые» и KYC-монеты в одной транзакции — это лишь пометит и чистые.
- Убейте круглые суммы и предсказуемое время. Варьируйте суммы; не двигайте деньги по расписанию, которое наблюдатель может предсказать.
- Относитесь к сдаче как к личности. Понимайте, какой выход — ваша сдача и куда она идёт дальше.
Где Monero меняет арифметику
Каждая защита выше — это ваша борьба со значением по умолчанию реестра, то есть с полной прозрачностью. Monero переворачивает это значение: кольцевые подписи скрывают, какой вход тратится на самом деле (общее владение входами перестаёт работать), стелс-адреса означают, что адрес получателя вообще не появляется в сети (нет переиспользования для эксплуатации, нет опоры для обнаружения сдачи), а RingCT скрывает суммы (корреляция времени/круглых чисел теряет отпечатки). Вы не побеждаете три эвристики вручную на каждой трате — их побеждает протокол, за вас, для всех, всё время.
Это и есть структурный тезис, к которому серия возвращается снова и снова: в прозрачной сети приватность — хрупкая дисциплина, которую можно потерять одной небрежной тратой; в Monero это значение по умолчанию, которое ещё надо постараться сломать. Если ваша модель угроз — ончейн-анализ, ход с наибольшим рычагом не в лучшей стратегии микширования, а в том, чтобы вообще не порождать прозрачный граф.
Задания этой недели
- Вставьте свой самый используемый прозрачный адрес в любой блок-эксплорер и посмотрите на него глазами аналитика: что к нему кластеризуется, куда идёт ваша сдача, какие суммы повторяются?
- Определите каждую свою монету, что коснулась KYC. Мысленно пометьте всю её последующую историю как «именную».
- Прекратите переиспользование адресов сегодня — настройте кошелёк генерировать свежий адрес получения на каждый платёж.
- Перед следующим приватным платежом спросите до подписи: что эта трата заявляет тому, кто идёт по графу — и заявила бы Monero что-либо вообще?
Смотрите также
- OPSEC52 Неделя 9 — OPSEC аппаратного кошелька (защищает ваши ключи; этот столп защищает вашу связуемость)
- OPSEC52 Неделя 1 — Дисциплина VPN-выходов (сетевая половина принципа «не строй мост сам»)
OPSEC52 — еженедельная серия OPSEC от xmr.club. Индекс серии: /opsec.
Curated by Cyber Satoshi