На сайте любого VPN-сервиса написано, что он не хранит логи. Буквально любого.
Я как-то от скуки открыл десяток сайтов подряд и нашёл везде одну формулировку. И вот вопрос, который меня после этого заел: чем обещание «мы не храним логи» отличается от обещания «мы хорошие»? Произнести это не стоит ничего, проверить из браузера невозможно, а отвечать за сказанное почти никогда не приходится, потому что доказывать обратное придётся вам, а у вас нет ни доступа к серверам, ни квалификации, ни, честно говоря, желания этим заниматься.
Отсюда и вырос независимый аудит: не потому, что отрасль захотела честности — в такие сюжеты я не верю, — а потому, что слова перестали работать. И сразу оговорюсь: я работаю в VPN-сервисе, тема для меня не отвлечённая.
Кто проводит аудит и что это за процедура
Аудит VPN — это когда сервис пускает к себе внешнюю команду по безопасности и открывает ей закрытое: код, серверы, внутренние процедуры. Команда копается, находит проблемы, пишет отчёт. Платит за всё это сам проверяемый — и вот он, нюанс, который пропускают примерно все: компания сама выбирает себе проверяющего и сама переводит ему деньги. Держать в голове стоит. У серьёзной фирмы весь капитал — репутация, поэтому стыдных отчётов там не подписывают даже за хорошие деньги, и это, думаю, работает лучше лицензирования. Давление всё равно есть, просто оно не всесильно.
Имён называть не буду. Скажу, как отличать: у живого аудитора публичная история проверок, методология и отчёты, которые читаются целиком. Сервис пишет «прошли аудит», а ссылки на документ нет — это слово в буклете, и мне такое попадалось столько раз, что выработался рефлекс: нет файла — нет разговора.
Аудиты бывают очень разные
Фраза «сервис прошёл аудит» не значит почти ничего, пока вы не знаете, какой именно.
Приложений. Проверяют то, что стоит у вас на телефоне: дыры в криптографии, утечки, захардкоженные ключи, кривую обработку разрывов, телеметрию. Мне такие отчёты попадались чаще прочих.
Инфраструктуры. Тут серверы: как настроены, где лежат ключи, у кого доступ, что остаётся на дисках, — дороже, сложнее, реже, и ровно поэтому, если честно, ценится выше.
Политики no-logs. Самый интересный и самый спорный вид, потому что аудитор тут подтверждает, что сервис правда не пишет того, что обещал: смотрит конфиги, читает серверный код, опрашивает инженеров, а в хороших случаях приезжает в дата-центр и трогает железо руками. Результат всегда с оговорками — вернее, без них не бывает. Механику разбирал в статье про политику no-logs.
Криптографии. Узкая история про алгоритмы, и на стандартных WireGuard и TLS она, скажем так, избыточна: проверять надо не алгоритм, а то, как его применили.
[Изображение: схема — что покрывает аудит, а что остаётся вне его периметра]
Что конкретно ищут внутри
Ядро списка, насколько я видел, у всех одинаковое, и оно скучнее, чем воображает читатель детективов: шифр никто не ломает, смотрят на бытовое.
- Пишутся ли IP подключающихся и сколько живут записи.
- Что попадает в системные журналы по умолчанию — тут вечно сюрприз: софт пишет то, о чём владелец не знал.
- Как хранятся пароли и токены в базе.
- Что остаётся в памяти и временных файлах после сессии.
- Нет ли избыточного доступа: классика — пять человек в штате и рут у всех пятерых.
- Кто выкатывает код на прод и как это контролируется.
- Утечки мимо туннеля — DNS, IPv6, WebRTC. Про них отдельный разбор.
- Поведение при разрыве: трафик перекрывается или утекает.
Кстати, юридический пласт задвигают в конец, хотя решает он порой больше: безупречный сервис в неудачной юрисдикции защитит хуже среднего в удачной.
Как читать отчёт и не обмануться
Отчёты публикуют целиком, и читать их можно без профильного образования. Беда в том, что большинство смотрит на заголовок, видит, что проверку прошли, и закрывает вкладку; я сам так делал, пока однажды не дочитал документ до конца и не наткнулся в оговорках на фразу, после которой весь текст читался иначе.
Объём проверки. Важнейший раздел и самый скучный, поэтому его пролистывают. Один клиент под одну платформу или вся инфраструктура — разница колоссальная, а в пресс-релизе и там и там «прошли аудит».
Дата. Отчёт трёхлетней давности описывает сервис, которого нет: сменились команда, стек, хостеры, код.
Находки и их статус. Тут всё выворачивается наизнанку: отчёт, в котором не нашли ничего, — подозрительный отчёт, ведь находки есть у кого угодно. Важна серьёзность и то, закрыты ли они.
Оговорки. Живут в конце, набраны мелко и звучат как шум вроде «доступ к производственной среде не предоставлялся», хотя именно там написано, чего аудитор на самом деле не видел.
[Изображение: пример структуры отчёта об аудите с подсветкой ключевых разделов]
Почему аудит — это фотография, а не гарантия
Теперь главное, иначе всё написанное выше — реклама отрасли. Аудит фиксирует состояние на конкретную дату. Проверили в марте — значит, в марте было так, и ни строчкой больше; в апреле выкатят обновление, которое сломает половину проверенного, и ни один отчёт этого не поймает, потому что лежит уже подписанный. Я видел, как ссылаются на двухлетний документ, будто он выдан бессрочно. По сути — подмена. Аудитор видит то, что ему показали. Если компания подготовилась заранее, шансы проверяющего не стопроцентные — впрочем, это ограничение любой добровольной проверки.
Отсутствие логов в принципе недоказуемо. Нельзя доказать, что чего-то не происходит никогда: сложность тут логическая, и максимум, что можно показать, — что на момент проверки механизмов для записи не было. Аудитор, на моей памяти, пишет второе, а маркетинг пересказывает как первое — на этом стыке и рождается изрядная часть отраслевого вранья.
И последнее, о чём говорить не принято: отсутствие аудита не равно ненадёжности. Проверка стоит денег, небольшому сервису их разумнее вложить в инфраструктуру: перед вами один сигнал из многих, а не тумблер. Про остальные — в материале о том, как выбирать VPN по критериям.
Открытый код клиентов: что он даёт на самом деле
Вещь хорошая. Но ожиданий вокруг неё вдвое больше, чем она отрабатывает. Что даёт: возможность посмотреть, что приложение делает с вашими данными и куда ходит, — телеметрия и странные запросы в открытом коде видны быстро. А ограничений больше. Первое и самое существенное: открытый код клиента не говорит ничего о сервере, а серверная часть у большинства закрыта, и именно там происходит всё интересное для приватности, потому что там принимаются соединения, там ведутся или не ведутся журналы, там сидит администратор с рутом. Второе: код в репозитории и бинарник из магазина — не обязательно одно и то же, а для проверки нужна воспроизводимая сборка, которую делают единицы. Третье, и оно меня раздражает сильнее всего: «открытый код все проверяют» — миф, потому что проверяют популярное, а в репозиторий среднего клиента не заглядывает никто, кроме трёх его разработчиков. Открытость даёт возможность проверки, а не проверку.
Warrant canary, прозрачность и охота за багами
Warrant canary — конструкция изящная: сервис регулярно публикует подписанное заявление, что на такую-то дату предписаний не получал и данных не передавал. Обновляется — порядок. Перестало — сигнал. Компанию можно обязать молчать о запросе, но нельзя заставить публиковать ложь, хотя работает ли это юридически — спорно, и судить я не возьмусь.
Отчёты о прозрачности. Сколько запросов пришло и сколько удовлетворили. Показателен не ноль — для живого сервиса ноль как раз странен, — а регулярность публикации.
Bug bounty. Вознаграждение за уязвимости, и по моему опыту это честнейший показатель зрелости: аудит можно пережить один раз, повесить значок на главную и забыть, а bug bounty надо кормить постоянно — внутри должны сидеть живые люди, которые принимают сообщения, чинят и платят.
Чек-лист: что спросить у сервиса до оплаты
Самое полезное отсюда. Напишите в поддержку — по моему опыту реакция скажет больше лендинга.
- Проходили ли аудит? Если да — ссылка на отчёт, а не на новость о нём.
- Что входило в объём проверки и на какую дату.
- Какие данные храните: IP, время подключения, трафик, платёжные данные.
- Сколько записи живут и что с ними происходит потом.
- Юрисдикция компании и расположение серверов.
- У кого доступ к боевым серверам и как он логируется.
- Есть ли warrant canary и отчёты о прозрачности.
- Есть ли bug bounty и куда сообщать об уязвимостях.
- Открыт ли код клиентов и где репозиторий.
- Что с данными после закрытия аккаунта.
Оценивайте не только содержание, но и форму: честное «это есть, а этого пока нет» — знак хороший, врать ведь проще, чем признаваться. Отписка — тоже знак, просто другой.
[Изображение: чек-лист вопросов к VPN-сервису карточкой для сохранения]
Если коротко
Аудит — полезный инструмент и слабый аргумент, когда он единственный. Срез на дату, в границах объёма. Не больше. Но и не меньше: тот, кто пустил к себе посторонних и опубликовал отчёт с находками, серьёзнее того, кто написал красивую фразу на главной. Дальше — скучные действия: почитать отчёты, задать вопросы, дочитать политику. И помнить, что у бесплатных сервисов экономика устроена иначе, а там главным становится другой вопрос — на чём вы зарабатываете, если не на мне.
Какие мы замечательные, рассказывать не буду. Лучше так: возьмите десять вопросов выше и задайте их нашей поддержке. Ответим по каждому, включая те, где ответ «нет». Заодно гляньте политику конфиденциальности. И четырнадцать дней теста без карты никто не отменял.
Частые вопросы
Что такое аудит VPN?
Проверка сервиса внешней командой по безопасности, которая получает доступ к коду, серверам и внутренним процедурам. По итогам публикуется отчёт с находками. Проверять могут приложения, инфраструктуру, политику хранения или всё сразу.
Зачем VPN проходить аудит?
Чтобы превратить обещание в проверяемое утверждение. Написать «мы не храним логи» может кто угодно. Пустить к себе чужую команду и опубликовать её выводы, включая неприятные, — поступок.
Гарантирует ли аудит безопасность?
Нет. Отчёт фиксирует состояние на дату проверки, в границах объёма и по тем материалам, которые показали аудитору. Завтра код обновится — и проверенное устареет.
Что даёт открытый код VPN-клиента?
Возможность увидеть, что приложение делает на устройстве: куда ходит, что собирает, нет ли телеметрии. Чего не даёт — сведений о сервере и гарантии, что скачанный бинарник собран из этого кода.