Рассказ мужика лет 60+, опытного космического электронщика. Много лет на Байконуре, серьезные погоны и задачи. Множество запусков и аппаратов,куча опыта и знаний. Пока не спился... Сделал он это быстро. Возле работы была разливуха и кореша... Руководство пыталось с этим что-то сделать, но, неудачно. Напивался он в хрюню ко второй половине дня. Умер неожиданно, даже не будучи уволенным.
Собственно история от него. Запустили они военный борт, разведка и связь. Крутился он чуть севернее экватора, пролетал над Россией и США. Когда он шел над США, в зоне радиомолчания, он записывал полученную информацию и, оказавшись над нашей территорией, радостно передавал.
Как-то он ушел за горизонт и вернулся пустой. Память нашпигована жуками, пауками, троянцами и прочей нечстью.
Прибор перешили в районе Челябинска. И, снова он отправился в путь. Вернулся в аналогичном виде.
Тут кто-то и догадался, не мы следим за ними, а они следят за нами. Пролетая над Россией прибор продолжал собирать информацию! И, скидывал ее врагам!
Меняли протоколы обмена, ключи шифрования, но, со стороны Владивостока приходил вражеский спутник!
Военные решили, да ну нах, сбить к чертям!
Теперь здоровенный борт покоится на дне Тихого океана.
Каждый профиль имеет публичный и приватный ключ. Вы делитесь публичным ключом на кнопке "поделиться" рядом с именем профиля или приглашаете собеседника в защищенный чат через кнопку замочка в самом дилоге.
Чаты хранят публичный ключ собеседника, id в мессенджере.
Содержимое веб-страницы зашифрованного текста подменяется на расшифрованный текст.
Android/iOS
Будет, но позже. Для iOS для этого требуется аккаунт разработчика. Нужна поддержка сообщества.
Как сделать бэкап?
Есть кнопка экспорт, там нужно сохранить безопасно пароль, который при импорте нужно ввести.
Можно ли шифроваться вне мессенджера?
Да! Достаточно получить публичный ключ собеседника и создать чат внутри расширения. У каждого чата есть кнопка шифровать/дешифровать. При дешифровании важно иметь скопированное сообщение в буфере обмена.
При создании чата можно не выбирать конкретный мессенджер.
Тогда можно использовать две кнопки - шифровать и дешифровать сообщение. По первой кнопке будет окно с вводом текста. А для второй надо уже иметь скопированное в буфер обмена зашифрованное сообщение.
Есть ли исходный код?
Да, предлагаю перейти на сайт. Там есть полная информация.
У меня есть один друг - программист и математик не от мира сего. Профессия - дешифровальщик. Поэтому мы и называем его Энигматом. Он специализируется на генераторах случайных чисел (ГСЧ) для различных кодовых систем. Так вот он на досуге удачно "взламывает" коды всяких лотерейных систем. В том числе и Морковска. А потом скидывает друзьям свои "прогнозы" - закономерности выпадения определённых комбинаций с очень высокой вероятностью. Сам он называет их - "самые непредсказуемые комбинации". Если ввести статистику выигрышных чисел в дешифратку - то можно увидеть много интересных посланий от создателя кода.
По поводу системы - говорит, что чувак, который кодил программу Морковска, оставил много "намёков" своим коллегам. И любой кто их поймёт - может с высокой вероятностью взять джек-пот. Сам Энигмат - один раз уже выиграл крупный джек-пот. Но как говорит - что бы не светиться - повторять пока не будет - да и ещё это не потратил.
Финансовую систему Озона - это никак не подорвёт - они могут себе позволить тратить на эту лотерею - в десятки раз больше, но если сравнивать с профессиональными казиношниками - экономят они на ней безбожно.
Так вот - все его друзья - постоянно находятся в списке выигравших.
Я тоже. И ради развлекайства иногда тоже трачу морковки, которые у меня накапливаются. Покупаю обычно не более 10шт. По его схеме - выигрывают 7 из 10. и в среднем каждый раз по полсотни морковок, и десятки баллов. Самое крупное что пока выигрывал за полгода - 1500 баллов за один розыгрыш.
Так что не вижу ничего удивительного, что вы вскрыли закономерное присутствие всех друзей Энигмата и его коллег.
PS: Категорично и крайне негативно отношусь ко всякого рода игроманиям - лохотрониям и напёрстничеству. Но Озон - это как бы бесплатная лотерея - просто развлекаюсь. Ну и ещё не плохо мотивирует людей потерявших всякую надежду на выживание в эти трудные времена. За это озоновцам спасибо!
Передача буфера обмена между устройствами через защищённый канал
Короткое напоминание
Месяц назад я тут рассказывал, как сделал свой сервис для обмена чувствительной и приватной информацией Copy Sync - устроенный так, чтобы мой сервер физически не мог прочитать ваши пароли и ссылки. Текст шифруется прямо на вашем устройстве, на сервер уезжает уже зашифрованная каша, ключа от неё у меня нет.
Многие тогда справедливо спросили в комментах: "а ключи-то от шифрования откуда устройства берут?" Вопрос в точку. И в той статье я сам честно написал, что тут осталась слабое место. Вот её и чиню.
В чём была дыра
Объясню простым языком:
Чтобы зашифровать сообщение для вашего второго устройства, первому нужен "публичный ключ" второго, что-то вроде открытого почтового ящика, куда можно бросить письмо, но достать его может только владелец. Вопрос: откуда первое устройство этот ящик берёт? Спрашивает у сервера. У моего сервера.
И вот тут собака зарыта. А что если сервер (или тот, кто его взломал) вместо настоящего ящика вашего устройства подсунет свой? Тогда:
ваше первое устройство шифрует письмо в подставной ящик;
сервер его спокойно открывает, читает, потом перепаковывает в настоящий ящик и отправляет дальше;
второе устройство получает письмо как ни в чём не бывало.
Оба ваших устройства довольны, а посередине кто-то всё прочитал. Это называется "человек посередине" (man-in-the-middle). И самое обидное шифрование тут ни при чём, оно идеальное. Просто зашифровали не туда. А "не туда" подсунул именно тот, кому мы вроде как не должны были доверять, мой сервер.
Неприятно, что мой же сервис, про который я писал "нечем вас прочитать", в этом сценарии всё-таки мог. Так не пойдёт.
Как защититься
Способ старый и проверенный, такой же используют в Signal и WhatsApp, когда показывают "код безопасности". Идея простая:
У каждого ящика-ключа есть короткий отпечаток - набор букв и цифр, который из этого ключа однозначно вычисляется. Как отпечаток пальца: у разных ключей он разный, у одного и того же - всегда одинаковый.
Вы открываете Copy Sync на двух своих устройствах и сравниваете отпечатки глазами. Совпали - значит, между устройствами реально один и тот же ключ, никто посередине не встрял. А если сервер подсунул свой ключ - отпечаток сразу разойдётся, и вы это увидите. Подделать его нельзя: отпечаток намертво привязан к ключу.
Пять секунд работы - и MITM из "незаметно читает всё" превращается в "попадётся на первой же сверке".
А теперь - самое главное, ради чего и пишу
Когда вы сверили отпечатки и нажали "Сверено", эту галочку надо где-то запомнить. И вот тут у меня был соблазн сделать "как удобно": сохранить её на сервере, чтобы синхронизировалась между устройствами.
Я этого не сделал. Сознательно.
Смотрите. Мы защищаемся от кого? От сервера. А теперь представьте, что я бы доверил тому же серверу хранить отметку "этому ключу можно верить". Взломщик просто поставил бы галочку "проверено" своему поддельному ключу и вся защита превратилась бы в спектакль. Нельзя ставить сторожить дверь того, от кого ты эту дверь запираешь.
Поэтому галочка "сверено" живёт только в вашем браузере и на сервер не уходит вообще никогда. У этого есть приятный побочный эффект: галочка привязана к самому ключу. Если сервер завтра попробует подменить ключ, отметка "проверено" слетит сама собой, и устройство снова покажет "не сверено". Вы заметите, что что-то поменялось. Подмена ключа автоматически сбрасывает доверие - это не баг, это и есть защита.
Цена честная: сверять придётся на каждом устройстве отдельно. Но это в сто раз лучше, чем доверять "проверку" тому, кого проверяешь.
Бонусом - подключение второго устройства по QR
Заодно сделал удобную мелочь. Раньше, чтобы добавить второе устройство, надо было вводить пароль. Теперь на первом устройстве показывается QR-код, вы сканируете его вторым и всё, вы в системе. Без пароля.
И тут важная деталь в том же духе: по QR передаётся только разовый "пропуск" (живёт 5 минут, срабатывает один раз). Ключи шифрования по нему не передаются - второе устройство создаёт свои собственные, прямо у себя, и они его никогда не покидают. Так что даже перехваченный QR не даст доступа к вашим данным.
Честно о том, чего ещё нет
Как и в прошлый раз - про минусы сам, без прикрас:
Сверка ручная. Она работает, только если вы реально сравнили отпечатки. Не сравнили - защита не сработает. Я не заставляю это делать насильно, но честно: это инструмент, а не автоматический щит.
Сервис пока не предупреждает сам, если ключ вдруг сменился - он лишь снимает галочку "проверено". Автоматическое уведомление "эй, ключ поменялся!" следующая задача.
Это по-прежнему пет-проект одного человека. Веб-версия работает, расширение и мобильные приложения - в планах. Код по-прежнему весь открыт - можете сами проверить, а не верить на слово.
Посмотреть
Сайт: copysync.ru (заведите два устройства, подключите второе по QR и сверьте отпечатки — увидите всё своими глазами)
Буду рад вопросам и критике - особенно от тех, кто шарит в безопасности. Нашли, как обойти сверку, - для меня это ценнее лайка.
А вопрос к вам такой: вы вообще когда-нибудь сверяли "код безопасности" в Signal или WhatsApp? Или это та штука, которую все видели, но никто ни разу не нажимал?
Ничего такого, просто домен max.ru использует бесплатный сертификат SSL.
Особенность данного сертификата, что он выдается на короткий срок, совершенно бесплатно и не подтверждает ничего кроме имени домена. И хрен бы с ним, если бы это был условный сайт-визитка который никого не интересует. Это, блин, сайт "национального" мессенджера. Вот подобного идиотизма я точно не ожидал.
Приветствую! За предыдущий год, к нам в мастерскую обратились примерно 10 человек, с одинаковой проблемой. Смартфон не принимает правильный пароль. Люди ничего не меняли, ничего криминального на смартфон не устанавливали. Просто в один момент смартфон не разблокировался: отпечаток пальца смартфон не принимает, лицо не распознаёт, экранный пароль будь то графический, буквенный или цифровой тоже отвергает.
Именно такая ситуация произошла с клиенткой из Санкт-Петербурга. На моё удивление, клиентка даже знает свой логин и пароль от гугл аккаунта, она даже смогла зайти на облачное хранилище и посмотреть какие данные есть в облаке. Но толку от этого было мало. Потому что на гугл диске бесплатно можно разместить лишь 15 гигабайт информации, а в смартфоне 128 гб встроенной памяти.
Будем спасать фотки счётчиков, кота и грядок с помощью программы Oxygen Forensic
Многие могут подумать: вот сэкономили, купили китайский смартфон, теперь страдайте. На самом деле проблема встречается и на смартфонах Samsung. Вообще нет какой-то зависимости даже от фирмы процессора в смартфоне. С такой же проблемой периодически приносят смартфоны и других фирм, Apple в том числе. Только из яблока вытянуть инфу практически невозможно, пока невозможно.
Почему вообще так происходит? У меня есть парочка версий:
1) Кривое обновление операционной системы. Смартфон скачал обновление, предложил юзеру установить это обновление прямо сейчас или ночью, ну и естественно никто не делает резервную копию, ведь в уведомлении говорится что ваши данные никуда не денутся. Так в принципе и должно быть, где-то в идеальной вселенной.
2) Переполненная память. Вся информация которую вы посмотрели в интернете, на маркет плейсах, в мессенджерах и соцсетях хранится в памяти вашего смартфона, для того, чтобы быстрее ПОВТОРНО открылась страничка сайта или карточка товара в приложении маркетплейса. Весь этот инфомусор называется кэшем. Кэш надо чистить...
3) Аппаратные проблемы. Я видел ролик, один мастер чинил Samsung S-серии после падения. Он реболил какую-то микруху и задел чип, отвечающий за шифрование. После реболлинга этого чипа, смартфон принял экранный пароль.
"CRL или CAC — списки SSL-сертификатов, отозванных центром выдачи (CA). На 2017 год происходит отказ от использования CRL (САС) в пользу OCSP (Онлайн Протокол Состояния Сертификата).
SSL обеспечивает защищённое HTTPS-соединение с сайтом, но существуют угрозы безопасности даже при действующем сертификате. Самая распространённая – секретный ключ скомпрометирован. Передача данных становится небезопасна. Чтобы номера кредитных карт и пароли пользователей не попали к мошенникам, сертификат нужно отозвать."