Сегодня мы в очередной раз потрогаем тему защиты критичных данных в дозволенных местах.

Здравствуйте, меня зовут Виктор и у меня больше 200 паролей. Прошли те счастливые времена, когда зажиточный помещик мог обойтись всего 1 ключом от сундука, где лежат все его NFT червонцы. Современный мир диктует новые правила и большинство банков и интернет сервисов с вами не начнут работать, пока не получат верификацию в виде SMS или учетных данных.

Конечно, можно сказать «Да он нам нафиг не нужон интернет ваш!» и уйти в Сибирь, строить свой солнечный лунапарк без цифровых авторизаций и финансовых оков. Но, во-первых, к вам все равно прилетят на вертолетах и стандартным способом причинят справедливость. Во-вторых, существование в режиме глубокого пролетариата всегда приводит к печальным последствиям (пруфы преподавали на уроках истории в российских школах до 2023 г).

"Город Солнца", д. Жаровск Красноярского края
"Город Солнца", д. Жаровск Красноярского края

Что касается тех, кому интернет «нужон» и людей, стремящихся приобщиться к возможностям современного цифрового мира с относительно высокой степенью безопасности, то способы есть и они разнообразны.

Сразу уточню, что следующий текст и методы относятся к созданию защиты чувствительных учетных данных. На povаrenok.ru вы можете заходить как и раньше с паролем из браузера. Но частая ошибка людей в том, что все их пароли хранятся в одной базе, без разделения по уровню безопасности. 

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

На физическом уровне мы имеем:
* смартфон
* компьютер
Они будут выступать в роли носителей софтовой части и резервных копий данных.
Софтовая часть: кроме стандартной программной начинки устройств, нам понадобятся:

* менеджер паролей
* аутентификатор
* почтовый аккаунт с облачным хранилищем (part II)

В течение последних 8 лет я использовал разные менеджеры паролей, включая пятилетний опыт с KeePass, которым активно пользовался на нескольких устройствах, регулярно делая резервные копии локальных баз данных. Не очень удобно, но вроде секьюрно. Но узнав стойкость своего мастер пароля (55 минут брутфорса), меня посетила мысль, что пора снова задуматься о безопасности.  

Важным критерием для меня было найти баланс в отношении Простота / Надежность, так как слишком сложная система была бы источником раздражения и стресса.

Начнем с центрального элемента системы - менеджера паролей. Можно, конечно, посмотреть в сторону экзотических экземпляров в виде хардварных хранилищ, но удобство эксплуатации и замены при утере девайса выглядит туманно.

С программными продуктами в этой сфере все обстоит гораздо лучше.

Витрина менеджеров паролей богата. Часть из них, к сожалению, завершила продвижение проектов, часть была скомпрометирована, но продолжила развитие и выпуск платных продуктов. Выбор - дело индивидуальное. 

Но есть важная и, как оказалось, довольно простая вещь - создание мастер пароля. 

В начале стоит посмотреть, что из себя представляют вариации ваших текущих паролей, например тут.

Исходя из теории и практики, можно утверждать, что хороший пароль должен быть:
* мнемоническим (так проще запомнить)
* максимально рандомным (Password1234 - это 2 секунды брутфорса, без шуток)
* соответствующим распространенным требованиям (спец символы, цифры, регистры и всякое)


И в этом нам поможет старая добрая транслитерация. Помните, когда мобильные телефоны умели только звонить и 1 sms = 70 символов на кириллице, но 150 на латинице ????. Тогда мы не догадывались, что в 2023 году это будет золотым скиллом. Банальная смска “Prihodi@Lenina19;-)” - будет чудом криптографии.

Простой пример: Lenina23&Pushkina7

Pion&Roza237
Kot-23@Pes-7

Как вы, наверное, догадались, числа в примерах это отсылки на 23й год и 7й месяц, а еще намек и стимул для периодической смены паролей.

Думаю суть вы уловили. Попробуйте свои варианты и, если не лень, поделитесь в комментах. Чужая креативность может помочь застенчивым интровертам.

Итак, раз мы теперь уверены в стойкости своих паролей, может стоит сменить пароль на ПК и зашифровать диск встроенными в ОС инструментами (BitLocker например)? Компьютер ведь не просто так называется персональным, а не зашифрованный диск в руках злоумышленника - это полный доступ к вашим кэшам, истории браузеров, сохраненным паролям и прочей ценной информации, которая будет использована против вас.

Счетчик обязательных паролей: 1 (ПК)

Допустим, вы не заленились и у вас есть ПК, на который не стыдно ставить менеджер паролей. Начнем с самого главного - рекавери чек. Ставим клиент, добавляем тестовые данные, синхронизируемся с облаком и удаляем клиент с устройства. Затем ставим на другое устройство и проверяем, как прошло восстановление. Если все хорошо, то выпускаем в прод и начинаем эксплуатацию.

Теперь еще интересный момент, создаем папку/директорию на ПК со скучным названием «Пенсия», экспортируем зашифрованный бэкап из менеджера паролей, переносим файл в папку и архивируем ее с шифрованием (почти любой архиватор это умеет). В качестве дополнительного пароля можно использовать свой пароль от ПК. Закидываем архив на смартфон. А папка нам еще пригодится во второй части статьи (part II).  

Счетчик обязательных паролей: 2 (+менеджер паролей)

Теперь у нас есть бекап менеджера паролей в облаке компании-разработчика, на нашем ПК и на смартфоне. Но если смартфон на PIN пароле? Срочно исправляем!
Зачастую смартфон хранит больше критично важной информации о владельце, чем личный ПК. Если вы планируете использовать менеджер паролей на смартфоне совместно с 2FA клиентом, то это устройство дает полный доступ ко всем вашим цифровым данным. Поэтому убедитесь, что версия вашей ОС поддерживает шифрование памяти устройства и оно активировано. 

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

Ну, вроде, mission accomplished, и почти да, но нет ????. Раз уж мы строим систему для защиты критичных данных, надо бы добавить следующий слой защиты, например 2FA/MFA. Такая связка из независимых устройств хранения и динамической генерации паролей будет достаточной мерой защиты для большинства пользователей.

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

Теперь начинается часть посложнее. Самый важный критерий аутентификатора - это… (реально, подумайте 15 секунд, как будет работать дополнительный слой независимой авторизации и где могут возникнуть персональные сложности). 

По моему мнению, самым важным моментом будет процедура восстановления, потому что без кодов 2FA, значительная часть паролей будут бесполезна. 

Скорее всего устройством 2FA будет выступать смартфон, а он имеет свойство теряться, ломаться, красться и все эти кейсы нанесут вам значительный моральный вред. Поэтому не забываем про необходимость создания бэкапов 2FA. Делаем рекавери чек, аналогично процедуре в описании менеджера паролей. Если процедура не удалась, разбираемся или выбираем другой клиент. Важный момент: при утере доступа к 2FA сервису, все привязанные авторизации станут недоступны, поэтому обязательно убедитесь, что вы можете полностью восстановить работу 2FA клиента на другом устройстве.

Если все ОК, то проходимся по своим важным сервисам и активируем 2FA. По завершению, создаем зашифрованный бэкап конфигурации клиента, используя локальный пароль от ПК и сохраняем копии на своих устройствах.

Итак, наши шифрованные архивы хранятся на устройствах, находящихся под защитой паролей, и тут действует двойная и даже тройная защита (в случае бэкапа менеджера паролей).

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

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

Поздравляю тех, кто дочитал до этого места! Правильно реализованная система защиты данных сделает ваши волосы гладкими и шелковистыми.

Во второй части статьи мы поговорим о добавлении комфорта в процесс хранения наших данных авторизации. Запомним еще 1 пароль (обещаю, последний) и самое важное - настроим защищенную автоматическую систему передачи всех наших доступов на случай фатальной непредвиденной ситуации. Что-то вроде цифрового завещания, так как ваши близкие люди могут не иметь представления о ваших активах в банках и крипто валютах и никакие решения судов и выписки нотариусов им не дадут эти доступы, если вы не позаботитесь об этом заранее.

Астахов & OceanGate Titan
Астахов & OceanGate Titan

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


  1. anzay911
    31.07.2023 06:44
    +1

    После того как у телефона сломался чип памяти, добавляю 2FA только в текстовом виде с бэкапом в менеджер паролей.


    1. Aquahawk
      31.07.2023 06:44
      +4

      andOTP позволяет нормально бекапить и читать исходные данные даже если читалось с qr кода. А keypass уже давно умеет сам генерить otp по правильно сохранённым данным https://keepass.info/help/base/placeholders.html#otp


      1. FlipWho
        31.07.2023 06:44

        Так keypass или keepass?


        1. Aquahawk
          31.07.2023 06:44

          keepass, опечатался


  1. vilgeforce
    31.07.2023 06:44
    +4

    " стойкость своего мастер пароля (55 минут брутфорса) " - вы свой пароль по данным из KeePass реально брутили или это теоретические выкладки относительно времени подбора?


    1. Viktor_Osadchiy Автор
      31.07.2023 06:44

      Посмотрел время по сервисам, которые примерно оценивают время подбора.


      1. vilgeforce
        31.07.2023 06:44

        Сферические кони в вакууме... Откуда они знают сколько занимает проверка пароля в этой конкретной криптосхеме? Вам про *KDF ниже очень верно написали!


      1. delimer
        31.07.2023 06:44

        Решил проверить ваш пример пароля сервисом, ссылку на который вы дали. Результат впечатляет)))


        1. Viktor_Osadchiy Автор
          31.07.2023 06:44

          ))) да, забавно, лучше неверное воспользоваться https://bitwarden.com/password-strength/


  1. tdemin
    31.07.2023 06:44
    +5

    В течение последних 8 лет я использовал разные менеджеры паролей,
    включая пятилетний опыт с KeePass, которым активно пользовался на
    нескольких устройствах, регулярно делая резервные копии локальных баз
    данных. Не очень удобно, но вроде секьюрно. Но узнав стойкость своего
    мастер пароля (55 минут брутфорса), меня посетила мысль, что пора снова
    задуматься о безопасности.

    Вы же в курсе, что в KeePass количество итераций используемой KDF регулируется так, что можно сделать, например, секунду на одну попытку подбора мастер-пароля?

    В KeePassXC эта крутилка выглядит так, например (в оригинальном KeePass можно крутить точное количество итераций, если память не изменяет):

    достается из меню -> Database Security


    1. Viktor_Osadchiy Автор
      31.07.2023 06:44

      Полезно, не залезал в эти настройки. Вообще, KeePass по совокупности бесплатного фнкционала один из самых вкусных вариантов.



  1. kinall
    31.07.2023 06:44
    -1

    Я просто оставлю это здесь:


    1. MonkAlex
      31.07.2023 06:44
      +1

      Когда у вас больше сотни паролей - эта картинка перестаёт помогать

      UPD: а если речь про основной пароль - то его каким угодно можно делать, лишь бы длинным.


    1. Wizard_of_light
      31.07.2023 06:44

      На эту картинку стандартное вoзражение - eсли в брутфорсе будет стадия перебора по слoварям, то лошадь со скрепками будет смотреться бледно, таки числами и спецзнаками надо разбавлять, причём eщё желательно не тривиальными подстановками i=1, a=@, и=&, o=0.


      1. nidalee
        31.07.2023 06:44

        eсли в брутфорсе будет стадия перебора по слoварям
        То ничего не изменится, потому что слова «correcthorsebatterystaple» не существует, а за правильно подобранную часть пароля звездочки зелеными загораться не будут, как в фильмах :)
        Я бегло погуглил:
        The Second Edition of the 20-volume Oxford English Dictionary contains full entries for 171,476 words in current use
        Таким образом, чтобы сбрутить пароль из 4 склеенных рандомных английских слов, нужно иметь словарь на 171,476^4 = 864596310000000000000 строк (поправьте, если ошибаюсь, по математике тройка).
        Я брутил пароли пару раз, но woldlist-а более чем на 10 миллионов не мусорных строк еще не встречал.


        1. Wizard_of_light
          31.07.2023 06:44

          Так строки на ходу генерируются. Имеется в виду не тупой перебор по готовому списку, а перебор, в котором вместе с символами участвуют готовые элементы из словаря, пробный пароль представляет собой строку из склеенных элементов словаря.


          1. nidalee
            31.07.2023 06:44

            Не понимаю кардинальных отличий (в скорости) от перебора по списку. Вам нужно найти комбинацию из 4 слов. Какая разница, списком они идут, или склеиваются? Количество вариантов от этого не уменьшается.


            1. Wizard_of_light
              31.07.2023 06:44

              Так по сравнению с вариантом, в котором надо угадать строку перебором символов - ускорение серьёзное. Предположим, у нас пароль "академиккурит". Если мы перебираем 13 символов юникода, то это 1112064^13 ~ 4*10^78 вариантов, если известно, что это русские буквы, число вариантов 33^13~5,5*10^19, если известно, что это два русских слова, то это ~150000^2=2,25*10^10. Очевидно, брутфорс выгодно начинать с атаки по словарным комбинациям и часто употребляемым символам, потому что требуемая мощность этой атаки составит совершенно ничтожную долю от требуемой мощности для полного посимвольного перебора.


    1. Viktor_Osadchiy Автор
      31.07.2023 06:44
      +1

      Да, популярная картинка, но это больше на тему юмора и концепции, чем про реальное применение, так как хоть пароль и длинный, но он состоит из реальных слов, которые попадают под dictionary attack. А по стойкости Vishnevyi_Pirog ничем ему не уступает.


      1. firegurafiku
        31.07.2023 06:44

        ... но он состоит из реальных слов, которые попадают под dictionary attack.

        Если ваш пароль состоит из достаточного количества случайных словарных слов, уже неважно, что каждое по-отдельности — словарное.

        ... это больше на тему юмора и концепции, чем про реальное применение.

        Для реального применения более чем годится и рекомендуется EFF. По ссылке написано: бросьте кость несколько раз, составьте броски в число, выберите по этому числу слово из большого словаря, повторите так шесть раз. Вот, например, онлайн-генератор, который ровно это и делает: Diceware. А ещё генерация случайных словарных фраз есть в менеджерах паролей (как минимум, в KeepassXC и Bitwarden).


        1. Viktor_Osadchiy Автор
          31.07.2023 06:44

          Да, склейка из рандомных 4-6 слов будет криптостойким вариантом, но она не имеет ассоциаций для вашей памяти. А можно придумать комбинацию из двух коротких слов и числа, которые для конкретного человека что-то значат, и это в тойже степени криптостойкий пароль.


          1. firegurafiku
            31.07.2023 06:44
            +1

            ... но она не имеет ассоциаций для вашей памяти

            Да, нужно сначала сгенерировать пароль, а потом придумать к нему какую-нибудь ассоциацию. Придумать ассоциацию к нескольким случайным словам проще, чем к паролю из случайных символов с той же энтропией.

            ... и это в той же степени криптостойкий пароль.

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

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


            1. Viktor_Osadchiy Автор
              31.07.2023 06:44
              +1

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

              Я ,конечно, надеюсь, что ни за кем так целенаправленно не охотятся )
              Но для меня пароль Fox-101-Wolf будет менее предпочтительным, чем Juk-101-Pauk, потому что запоминание и смысл для мозга не различаются в обоих случаях, а вот совпадение с брутфорсными словарями явно будет больше у первого варианта.


  1. remendado
    31.07.2023 06:44

    Настолько не заморачиваюсь, на реально ценных ресурсах двухфакторная аутентификация, на серверах ssh-key с паролем, на Микротиках и прочих роутерах ограничения входа по IP, на всяких форумах и тому подобном - один из нескольких паролей, которые запоминаю в голове.


  1. LuggerFormas
    31.07.2023 06:44
    -1

    Сейчас бы скомпрометированый в 2005 АЕС считать милитари-грейд


    1. vilgeforce
      31.07.2023 06:44

      Я все пропустил? В чем там компрометация была?


  1. frex
    31.07.2023 06:44

    Не встречали вариант защиты с использованием вынесенного DNS сервера с пере конвертацией по ключу и передачей на клиента хеша исходного домена? Вероятно это решает больную часть проблем. Никто же не будет брутить домен типа jasowoarfbgcmvfimaftt6twagswzczad.


    1. MonkAlex
      31.07.2023 06:44
      +2

      Почему не будет? Это интернет, тут брутят всё.


  1. pavelprotsenkooutlookcom
    31.07.2023 06:44

    Давно хотел заняться своими паролями и буду считать что эта статься попалась мне неслучайно


  1. mrShadow
    31.07.2023 06:44

    А что вы думаете по поводу быстрого входа по 4-циферному коду, который сейчас часто предусматривают в мобильных приложениях (иногда даже форсят, привет приложению Сбербанка)? 4 цифры это же дофига небезопасно. А если приложений с таким входом штук 5, приходится либо путаться, либо использовать в нескольких местах один код, что ещё менее безопасно. Почему нигде (ну либо я не встречал) нет варианта "пароль или отпечаток пальца", без коротких кодов? Это техническое ограничение (навряд ли)? Или просто считается, что если разлоченный телефон попал в руки кому-то кроме владельца, то всё равно всё уже пропало и смысла нормально защищать отдельное приложение нет?


    1. CoDe-X
      31.07.2023 06:44
      +1

      Сейчас проверил ради Вас Сбер. 3 поытки на ввод, после чего блокировка на 1 час. Насколько это секъюрно, мне сказать сложно. Наверное имеет смысл подбирать, если чётко знаешь что получишь, если подберешь


    1. Viktor_Osadchiy Автор
      31.07.2023 06:44
      +2

      Ну заполучить разблокированный телефон не так-то просто и в обычных ситауциях одного пароля на вход в устройство должно и так хватать. НО если хочется варианта с защитой близкой к маскимальной, то вот схема:
      * Смартфон под криптостойким буквенноциферным паролем
      * Чувствительные приложения скрыты функцией Hide Apps
      * На каждое приложение отдельный криптостойкий пароль через функцию App Lock
      * Двухфакторая авторизация в сервисе приложения
      * Аутентификатор также скрыт и под паролем
      Это еще не предел, но я бы никому не советовал так усложнять взаимодействие с приложениями.


    1. CaptainFlint
      31.07.2023 06:44

      Я даже больше скажу. Стоит винда на ноутбуке, и есть там дактолоскопический датчик, но он не был задействован. Решил приобщиться к благам цивилизации. И что же выяснилось? Для включения входа по отпечатку пальца я обязан включить Windows Hello. И эта Hello от меня железно требует создать для входа в систему пин-код, причём строго четырёхциферный. То есть если я хочу уметь входить по отпечатку пальца, я обязан разрешить логиниться в свою систему вводом четырёх циферок вместо длинного сложного пароля.


      Я пытался гуглить, и когда прочёл объяснения на форумах Microsoft, чуть не подавился. Оказывается, с их точки зрения такой вход безопаснее, чем вход по паролю (независимо от его сложности). Когда им в ветке попытались указать на явные противоречия, в ответ были приведены туманные рассуждения на тему того, что пароль от аккаунта, а пин-код — всего лишь от девайса, поэтому, мол, более секурно. Какое-то время я пытался сообразить, как это состыкуется с моим единственным девайсом, на котором есть единственный локальный аккаунт, и в чём, собственно, вообще разница. (Лишь много позже до меня дошло, что представители MS, похоже, считают локальные учётки несуществующими в природе.)


      В конце концов я нашёл в политиках опцию разблокировки уровней сложности для пин-кода, и вместо четырёх цифр сделал пин идентичным паролю.


  1. xSVPx
    31.07.2023 06:44

    Мда... Т.е. опять предлагают кучу заморочек с единой точкой отказа-взлома :)?

    Прожрут вас вирусы-трояны и все это утечет скопом. Пользоваться всем этим можно только в стерильной среде...

    Уж лучше тогда на бумажке написать и ее носить. Безопаснее.

    А для людей реально беспокоящихся о паролях и безопасности выпускают аппаратные устройства. Те, которые каждый раз перед вводом пароля переспрашивают надо ли это делать....


    1. Viktor_Osadchiy Автор
      31.07.2023 06:44

      Так получается, что весь ПК это единая точка отказа-взлома-невезения-боли-проблем ???? и никакая бумажка от этого не спасет.