17 июля я сдал анализы крови в компании Гемотест. Спустя полтора дня мне пришёл email с результатами на адрес, который я указал перед сдачей. К счастью, с анализами было всё хорошо: у меня нет ВИЧ, гепатита B, гепатита C, сифилиса, ура! PDF с анализами было заверено приложенной электронной подписью с инструкцией по проверке. Было внутри даже такое:

УВЕДОМЛЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ: Это электронное сообщение и любые документы, приложенные к нему, содержат конфиденциальную информацию. Настоящим уведомляем Вас о том, что если это сообщение не предназначено Вам, использование, копирование, распространение информации, содержащейся в настоящем сообщении, а также осуществление любых действий на основе этой информации, строго запрещено. Если Вы получили это сообщение по ошибке, пожалуйста, сообщите об этом отправителю по электронной почте и удалите это сообщение.

А потом ещё и то же самое на английском. Ну кайф. Вроде всё хорошо, можно не волноваться. Но одна вещь всё-таки лишила меня покоя.

Замочек. Красный. Перечёркнутый.

Что же такое он значит? Я кликнул и получил ответ: “security: gemotest.ru did not encrypt this message”. Господи, мне что, это снится? У них в офисе висела инструкция с красивыми и правильными словами о том, что результаты анализов на ВИЧ запрещено даже озвучивать по телефону (слишком уж это приватные данные), только лично или письмом. Кликаю “Learn more” и читаю:

Gmail использует TLS по умолчанию, чтобы шифровать соединение, когда письма передаются между серверами электронной почты. TLS помогает обеспечить конфиденциальность и предотвратить перехват и взлом писем на этапе пересылки. Чтобы шифрование TLS применялось, и отправитель, и получатель должны использовать сервисы доставки электронной почты с поддержкой TLS.

Если вы видите предупреждение о том, что письмо не зашифровано, или красный значок замка “Без шифрования”, скорее всего, получатель пользуется сервисом электронной почты, в котором не поддерживается TLS или другие способы шифрования, принятые в Gmail. Вы можете удалить адрес такого пользователя из списка получателей или не добавлять в письмо конфиденциальную информацию.

Если вы получили незашифрованное письмо с конфиденциальными сведениями, сообщите о проблеме отправителю и предложите ему связаться со своим поставщиком услуг электронной почты.

Let it sink in. Компания Гемотест – одна из крупнейших в РФ и СНГ, которые занимаются медицинскими анализами, у неё миллионы клиентов, которые доверяют ей самую интимную информацию, какая только есть – о своём здоровье. А ещё в моей PDF-ке были заполнены и другие интересные данные: ФИО, пол, дата рождения, адрес проживания, название страховой компании. Поля с диагнозом, отделением, палатой, направляющим врачом, номером истории болезни, номером страхового полиса не были заполнены, но могли бы быть.

И всё это добро передаётся от почтового сервера gemotest.ru к почтовому серверу gmail.com по сети без шифрования. У Гемотеста в 2022 году утекли данные 30 млн клиентов. Неужели эта история ничему их не научила? Или коварный Gmail лжёт?

Я погуглил “SMTP TLS test”, нашёл ряд онлайн-проверялок, которые единогласно подтвердили диагноз, который поставил Gmail. Действительно, есть серьёзные проблемы на стороне Гемотеста. Более конкретно, их TLS-сертификаты на почтовых серверах протухли несколько лет назад! Больше всего мне понравилась проверялка CheckTLS, вот что сказала она о первом сервере mx.gemotest.ru:

Connection converted to SSL/TLS

SSLVersion in use: TLSv1_3

Cipher in use: TLS_AES_256_GCM_SHA384

Perfect Forward Secrecy: yes

Session Algorithm in use: Curve X25519 DHE(253 bits)

Certificate #1 of 3 (sent by MX): EXPIRED

Cert VALIDATION ERROR(S): certificate has expired

So email is encrypted but the recipient domain is not verified

Cert Hostname VERIFIED (mx.gemotest.ru = .gemotest.ru | DNS:.gemotest.ru | DNS:gemotest.ru)

Not Valid Before: Oct 11 00:00:00 2019 GMT

Not Valid After: Nov  9 12:00:00 2021 GMT

Seconds Until Expired: -117008529

subject: /C=RU/L=Moscow/O=OOO Laboratoriya Gemotest/OU=ITA/CN=*.gemotest.ru

issuer: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018

Запись про второй сервер mx1.gemotest.ru была аналогичной.

Запись про третий сервер mx2.gemotest.ru была другой:

Connection converted to SSL/TLS

SSLVersion in use: TLSv1_3

Cipher in use: TLS_AES_256_GCM_SHA384

Perfect Forward Secrecy: yes

Session Algorithm in use: Curve X25519 DHE(253 bits)

Certificate #1 of 3 (sent by MX): EXPIRED

Cert VALIDATION ERROR(S): certificate has expired

So email is encrypted but the recipient domain is not verified

Cert Hostname VERIFIED (mx2.gemotest.ru = .gemotest.ru | DNS:.gemotest.ru | DNS:gemotest.ru)

Not Valid Before: Nov  2 00:00:00 2021 GMT

Not Valid After: Nov 10 23:59:59 2022 GMT

Seconds Until Expired: -85342933

subject: /C=RU/L=Moscow/O=OOO Laboratoriya Gemotest/CN=*.gemotest.ru

issuer: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018

Три почтовых сервера, два давным-давно просроченных сертификата и один параноик – ваш покорный слуга, чувствительные данные которого, по-видимому, в открытом виде пролетели по сети как фанера над Парижем.

Я не админ, но программист-безопасник, и со всей ответственностью могу заявить: да, сервера Gmail и какие угодно ещё (есть много разных, и все настроены по-своему) имели все основания отвергнуть предложение поработать по TLS с закрыванием глаз на просроченность. Так не принято, это какая-то иллюзия безопасности. Не просто возможно, но даже наиболее вероятно, что при технической возможности организовать такое кривое TLS-соединение сторонние сервера скажут: “Я с тобой только без шифрования буду общаться”, и будут по-своему правы. Я, конечно, не держал свечку-сниффер на серверах Гемотеста и Google, на промежуточном сетевом оборудовании, но по всей видимости, да, письма с самыми конфиденциальными из всех данных пересылаются в открытом виде, а любой промежуточный узел может незамеченным сохранять их себе сколько влезет, а потом использовать как ему вздумается. Вот так раз. Я не ожидал, что результатами сдачи крови окажется такой диагноз!

Уже через пару часов после получения анализов я написал на client@gemotest.ru письмо с подробнейшим разбором ситуации и умолял передать его админам. Ни на сайте, ни по WHOIS домена gemotest.ru я, к сожалению, не нашёл более конкретных адресов для технических жалоб. На следующий же день мне пришла отписка:

Уведомляем Вас, что Лаборатория Гемотест не осуществляет распространение персональных данных своих клиентов и сотрудников без их согласия. На основании ФЗ- 152 «О персональных данных» ст. 9, согласие на обработку персональных данных может быть отозвано, при указании обязательных сведений, позволяющим идентифицировать Ваши персональные данные.

Если пациент желает отозвать согласие на обработку персональных данных, то он может это сделать любым из следующих способов: <...>

Через 30 дней после получения результатов, персональные данные будут удалены.

Удаляются все данные! (Вся информация по заказам и бонусам).

Ничего по сути. Я написал ещё одно подробное письмо, что речь совершенно не о том, и опять умолял передать информацию админам, но на этот раз не получил вообще никакого ответа.

Заканчивается 25 июля. Хочу поделиться этой на мой взгляд волосодыбной информацией с хабравчанами в надежде, что дело сдвинется с мёртвой точки. Может, я что-то упускаю и не прав? Ну, в худшем случае я точно подсветил объективные проблемы: сертификаты просрочены, почтовые клиенты и онлайн-проверялки безопасности в один голос жалуются, нервы у меня (а теперь и у вас) потрачены. Так точно быть не должно. 

UPD. Я посмотрел в хэдеры полученного письма, и согласно ним, сбылся худший сценарий: оно действительно было передано между серверами без шифрования. Большое спасибо @ThingCrimsonза экспертизу, подробнее – в комментариях.

Комментарии (13)