Концепция Суперпароля — как дополнительная защита для веб-базированных почтовых аккаунтов

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

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

Существует системы двухуровневой защиты, как например на Google. Неплохое решение, но при всех своих плюсах там есть определенный минус, выражающийся в некоторой затрудненности в постоянном доступе к ящику. У меня, к примеру, иногда не приходил СМС с кодом на мобильный телефон, а требуется он довольно часто (зашел с другого места в почту). Не приходит и все тут. Затрудняется доступ программ под Android, использующих логин такой многоуровневой защиты в качестве базового логин идентификации.

Я подумал – а почему не использовать на логине почтовой службы систему распределенного доступа. К примеру, как на самой обычной Joomla. Пользователь User может создавать и редактировать новые страницы, но не может удалять чужие страницы, не говоря уже о доступе к логину SQL-базы.

Итак, представляем, что при регистрации на почтовой службы нам нужно указать не один, а два пароля.
Пароль № 1 – обычный пароль
Пароль №2 – суперпароль. Пароль для критических изменений.

Вот примерное распределение обязанностей и уровней доступа при использовании обычного пароля или суперпароля.

image

Как вы видите, обычный пароль позволяет вполне комфортно работать в своей почте, заходя в нее с разных устройств, в том числе подверженных риску взлома – чужие Wi-Fi сети, интернет-кафе и т.д. Почти всегда мы используем только обычный пароль. С современными квотами на дисковое пространство у таких лидеров как mail.ru, yandex.ru, hotmail.com, gmail.com и далее вопрос удаления сообщений часто не критичен. Обычно нет необходимости еженедельно чистить наш ящик от спама и больших писем, чтобы ящик не переполнился. Если перефразировать известное высказывание Б.Гейтса, можно сказать – «Обычного пароля хватит всем».

«Банально» — наверное, скажите вы. Вместо одного пароля – два пароля, больше шансов забыть их оба. В чем новизна?

Возражение № 1
Часто взлом почтового ящика только прелюдия к взлому логинов в других службах, к примеру в Skype, Webmoney, PayPal и т.д. Т.е. мы защитили наш почтовый ящик от критических изменений, но злоумышленник, имея обычный доступ к нему, запрашивает, к примеру, на Skype новый пароль, получает сообщение со ссылкой для смены пароля Skype, меняет его. Все, наш суперпароль не помог нам защитить наши другие логины и имея обычный пароль, злоумышленник может нанести ощутимый урон.

Возражение №2
Слив информации. Злоумышленник скачивает интересные для него письма, вложения во в них. Также может найти письма, где указаны пароли, указанные при регистрации в других службах (хотя сейчас такие письма все же редкость, но все же). Удаление всей информации – т.е. обычный вандализм.

Для препятствия этому я предлагаю систему ярлыков для всех писем.

Ярлык Top-Save

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

Ярлык Top-Secret

Данный ярлык позволяет обеспечить максимальную защиту для сохраненных сообщений. Письма, обозначенные данным ярлыком, нельзя прочесть без использования нашего суперпароля, хотя найти их в ящике можно. Конечно же в письме не будет показываться его первые строки, только отправитель и тема.
Как выставляется такой ярлык? Варианты:
1. Ко всем сообщениям, которые старше пол-года (можно изменить или отменить вообще).
2. К сообщениям, которые сам пользователь посчитает нужным отметить как Top-Secret. Причем, чтобы применить данный ярлык, достаточно обычного пароля, а чтобы снять ярлык или посмотреть письмо – только суперпароль.
3. Ко всем письмам от «Топовых» адресатов. Список таких адресатов можно составить заранее и включить в них самые популярные социальные сети, платежные системы, онлайн-месседжеры и т.д.
Защита в данном случае может представлять собой как полную защиту – к примеру мы можем, при использовании обычного пароля, увидеть письмо во входящих, видим отправителя и тему, но не можем открыть его для прочтения, так и частичную, когда мы открываем письмо, но не видим ссылок.

Пример:

Отправитель: Skype
Тема: Смена пароля
Уважаемый ХХХ!
Вы запросили новый пароль. Чтобы сменить пароль, нажмите следующую ссылку <Данная ссылка заблокирована по условиям ярлыка Top-Secret, используйте свой суперпароль для полного прочтения письма>
С уважением
Skype Inc.


4. К сообщениям от указанных вами адресатов. Может работать по принципу фильтров в Gmail.
«Применять ярлык Top-Secret ко всем сообщениям от Адресата <user@mail.ru> через 3 дня после поступления письма».

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

Что собою должен представлять суперпароль?
Это может быть обычный текстовый пароль, но после использования которого на мобильный телефон высылается проверочный код. Т.к. суперпароль будет требоваться не так уж часто, я думаю, такая сочетание даст максимальный уровень защиты.
Другие варианты суперпароля, как-то применение пары ключей (открытый-закрытый ключ) и т.п. также допускаются.
Хотел бы выслушать ваше мнение, замечания о слабых сторонах данного предложения.

UPD. Как предложил aalebedev, можно отказаться от текстового суперпароля как такового, а использовать для входа в почту имеющийся мобильный телефон, но только тот, который был указан при регистрации.
Т.е., вводим логин, ставим галочку (вход с суперпаролем), вводим в поле суперпароля свой мобильный телефон, а в третьем поле вводим код подтверждения, полученный через СМС.
В результате, нам нужно помнить только обычный пароль и свой номер мобильного телефона.

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 45

  • UFO just landed and posted this here
      +2
      большая часть пользователей хранит все эти пароли в броузере, без мастер пароля на хранилище.
      Меньшая часть использует утилиты типа KeePassX, KDE Wallet и им подобные.
      Кое кто хранит это все просто в текстовом файле или записывает ручкой в блокноте.
      Я например, не настолько гениален, чтобы хранить в голове пароль типа такого "<i^fVcB«RxS»u2Sn0A;m~[W:2", поэтому я на данный момент знаю только мастер пароль к KeePassX базе, которая лежит на домашнем компе, рабочей машине и в SkyDrive. У меня, кажется только телефонный пароль с меньшим количеством символов.
        –1
        > большая часть пользователей хранит все эти пароли в броузере
        при всём уважении, не голословьте без какого-то серьёзного подтверждения, кроме «почти все мои друзья так делают». на этом веб-разработка не строится.
          +1
          Я не буду голословным. В компании, где я работал недавно — небольшой украинский ОпСоС, пароли не хранились в броузере у единиц, и почти все сотрудники работали в ИТ Департаменте.
      0
      Все это интересно, но слишком усложняет юзабилити для конечного пользователя.
      В то же время уже существует удобное решение по защите доступа — так называемая двухсторонняя авторизация(под ней подразумеваю все варианты генерации ключей — токены, клиенты на телефонах, смс и т.д.).
        +1
        Супер пароль это такая вещь, которую изначально придумают сложной, а через пару месяцев когда она понадобится ее забудут.

        Выгоднее делать подтверждение по СМС и тп, вместо супер пароля.

        Кстати, я тут подумал, что узнать супер пароль ненамного сложнее, чем обычный.
          0
          Можно и так сделать.
          К примеру — Суперпароль = Обычный пароль + Номер мобильного, а после чего нужно ввести СМС подтверждение (к примеру, 5 цифр) с мобильного.
            0
            Этот(как и любой схожий вариант получения временного ключа) уже давно используется многими сервисами.
            Как это ни прискорбно говорить, но вы изобрели колесо.
              0
              Мое «колесо» — два пароля, один с урезанными правами, который дает почти свободно пользоваться сервисом, но без права на критические изменения. Второй — с полными правами.
              Плюс система двух ярлыков доступа внутри к письмам.
              Почитайте внимательно мой текст.
              Смс сейчас используется для замены единственного пароля. Всегда один пароль, полный доступ ко всему и вся.
                0
                Ярлыки да, но даже тут я не схож с Вами во мнении — чтобы замести следы, злоумышленнику как раз и нужно стирать только что пришедшие сообщения из других сервисов. А так да, возможность скрыть от посторонних глаз большую часть информации, это хорошо, особенно если человек пользуется «публичными терминалами»(компьютер на работе, у знакомого, и т.д.).
                А насчет полного доступа — в большинстве сервисов, при попытке изменить какие-то данные профиля, требуется введение временного ключа.
                  0
                  Ярлык Top-Secret как раз и предназначен, что «ловить» на лету такие письма с критической информацией. Злоумышленник их ни удалить не сможет, ни прочитать. Он увидит только отправителя письма и тему, но не само письмо.
                  Насчет «большинства сервисов», я проверил только что mail.ru, yandex.ru, hotmail.com и gmail.com
                  (без доп.идентификации). Везде, зайдя под паролем, я имею полный доступ, уж на смену пароля так точно. Подобные проверки с СМС есть в банковских системах, у меня в моем украинском банке, а в PayPal даже нет.
                  Единственную проблему я пока сам вижу в технологии восстановления именно суперпароля. Хотя идея использовать в качестве него мобильный номер + проверочный смс очень неплохая.

                  2 sunnybear — Да, в платежных системах это есть. Только в платежной системе постоянно нужны два пароля, редко кто заходит туда только чтобы посмотреть баланс и поступления (для этого обычно существуют смс о поступлении денег).
                  Моя идея — обычный пароль используется всегда и везде, а суперпароль — крайне редко, может раз в месяц, может раз в три месяца. Минимум шансов потерять свой емейл. Многие имеют почту на веб-базированных серверах, бесплатную. В случае взлома доказать, что этот ящик принадлежал вам почти не возможно, да и часто некому даже это сказать/написать.
          0
          Ненавижу, когда меня заставляют запоминать сотни паролей. Из-за таких вещей приходится записывать пароли.

          То же самое с «секретными вопросами». Абсолютно нереально вспомнить ответ, если ты не хранишь его где-нибудь на диске или на бумажке. Иногда даже очень хочется убивать, когда сидишь перед формой восстановления пароля. Тем более, когда она есть ограничение на количество неправильных попыток
            0
            Достаточно подобрать несколько оригинальных уже хорошо зафиксированных образов и комбинировать их каждый раз по разному. Скажем, какой-то номер телефона + кличка собаки друга + глобус. С секретным вопросом ещё проще — достаточно придумать универсальный ответ, а сам вопрос вообще не важен.
            +2
            Яндекс.Деньги используют такой вариант: обычный пароль для входа + платежный пароль для совершения операций. Обычная практика.
              0
              Все классно, только воровать будут и пароль и суперпароль.
                0
                Предлагаю расширить идею.
                Для полного доступа к аккаунту использовать пароль «администратора», как обычно.

                А для общественного доступа использовать одноразовый пароль. Но генерируемый локально.

                Т. е. на телефон ставится приложение, которое выдаёт ответ, дешифрованный на основе ключа, скачиваемого с сайта при полном доступе к аккаунту.
                Разумеется, при полном доступе также можно сгенерировать новый ключ, если что.

                При заходе на сайт выбирается, нужен ли полный доступ, и если нет, сайт даёт запрос, на который телефон выдаст ответный пароль.
                Та же двухфакторная авторизация, но не нужны ни СМС, ни какая-либо связь с сервером.

                Плюсы — поноценный доступ к аккаунту, но при этом невозможность повторного входа без доступа к телефону.
                  0
                  *полноценный :)
                    0
                    И «гостевой» доступ давать на какое-то время — например, задаваемое прямо при входе.
                      0
                      Получится что-то вроде программного аналога e-token'а с обновляемой на сайте дешифрующей частью.
                      0
                      Безопасно — да, но каждый раз вводить пароль вручную? Обычный человек на такое не пойдет. Каждый раз новый пароль вводим вручную. Для почты, которую проверяют в день как минимум трижды с разных мест (утром — из дому, днем — с работы, вечером из дому) будет слишком напрягать, имхо конечно.
                        0
                        Набрать вручную ответ из 12-16 цифр не так уж и долго, мне кажется.
                        И в данной системе обычный пароль же тоже придётся вводить каждый раз, насколько я понял.
                          0
                          Или Вы предлагаете оставлять «гостевой доступ» постоянно включенным на работе, например?
                          Ну не знаю, я обычно всегда выхожу из аккаунта что на работе, что дома. Соответственно, пароль тоже ввожу постоянно и привык.
                            0
                            Я не предлагаю это, но так делают большинство пользователей. Это жизнь. Мое предложение — как защитить почту от полного взлома. Пара — пароль/суперпароль — это как система распределенного доступа. Можно в веб-почте предлагать сразу три-четыре стандартных вида защиты, чтобы пользователям было легко ею пользоваться. Можно отказаться вообще от второго пароля в качестве текста, а просто использовать в качестве его мобильный телефон (как предлагал aalebedev), а затем вводить пришедшее смс.

                              0
                              Насчёт двух уровней доступа я, кстати, совершенно согласен — это было бы удобно в определённых случаях.
                              Но, на мой взгляд, «гостевой» вход по умолчанию тогда нужно делать полностью только для чтения (и не всех писем, как Вы и сказали).
                              Чтобы злоумышленник не смог ни удалить письма, ни написать с него.
                              А дальше уже уровень ограничений должен выбирать пользователь, в меру своей «параноидальности». :)

                              Из минусов я вижу автоматическую фильтрацию «доступно / не доступно гостю» — какие-то письма могут быть нужны, а они после гостевого входа окажутся недоступны.
                              Поэтому и предложил почти полный доступ (без возможности изменения настроек), но с повышенной защитой, не требующей постоянной связи телефона с внешним миром.

                              В общем, мы просто с разных концов подошли, и оба подхода будут друг друга дополнять, на самом деле.
                                0
                                Мыло ломают обычно или чтобы слить переписку, или чтобы восстановить на него пароль от какого-то важного аккаунта, поэтому нельзя допускать даже возможность «гостевого» входа только для чтения. Уже с ним можно натворить немало дел.
                                  0
                                  Так поэтому я специально и уточнил, что для гостевого входа далеко не все письма должны быть доступны — о чём и автор в статье писал.
                        0
                        Т. е. на телефон ставится приложение, которое выдаёт ответ, дешифрованный на основе ключа, скачиваемого с сайта при полном доступе к аккаунту.


                        Так такое давно есть же.

                        image
                          0
                          Да, судя по описанию, оно тоже может работать полностью локально.
                          Выходит, я отстал от жизни, и «всё уже придумали до нас». :)
                          Но, в общем, не удивительно — решение-то довольно очевидное.
                            0
                            Я все это понимаю, но все же мое идея совсем другая.

                            У Гугл есть сверхзащищенная система доступа к емейл. Да, она хороша и выполняет свою задачу. Да, получить доступ к аккаунту для злоумышленника ставится значительно труднее.
                            Но минусы — сложность в его использовании для среднестатического пользователя, не гика.

                            Моя идея — позволить как и раньше пользователю пользоваться его обычным паролям с разных устройств и мест.
                            Моя идея — пароль со сниженным уровнем доступа без возможности КРИТИЧЕСКИХ изменений в почте. Посмотрите таблицу и описание ярлыков Top-Save и Top-Secret. Без них идея суперпароля не имеет смысла.

                            А уж потом СМС или программа-генератор для получения суперпароля или вернее супердоступа, вещь ВТОРИЧНАЯ. Идея как раз не в ней. И ею мы будем пользоваться не каждый день, как с Gmail, а раз в месяц, раз в три месяца.

                            Если вы найдете где-то такую идею в почтовых сервирах и скинете ссылку — признаю, что изобрел велосипед.
                              0
                              Говорил, что «всё придумали», я только про «локальную» двухфакторную авторизацию, которая, как оказалось, уже есть у Гугла — отвечая на комментарий.

                              А двухуровневый доступ к почте — для меня лично новость. Вы молодец, что это придумали.
                              И что-то в этом есть, хотя я не считаю доступ с постоянным паролем из общественного места достаточно безопасным в принципе, даже с ограниченными правами (потому что фильтровать доступность новых писем будет автомат).
                        0
                        Глупость. У меня сохранены все письма с паролями, часть из которых актуальна, часть — совпадает с паролями для других сайтов. У меня не так много паролей, компрометация одного из них — уже неприятно.
                        Ярлыки еще надо реализовать, как это на гмейле, например? А без ярлыков компрометация простого пароля = доступ к 90% аккаунтам, завязанным на почту.
                          0
                          Прежде чем «придумывать» минусы двухуровневой авторизации как в Google, лучше бы сначала ознакомились с ней.
                          Управляем авторизацией, в целом — https://accounts.google.com/b/0/SmsAuthConfig. В частности настраиваем доступ приложению Google Authenticator, чтобы не ждать СМС.
                          Управляем паролями для приложений, которые не поддерживают двухэтапную авторизацию, например на вашем Android — accounts.google.com/b/0/IssuedAuthSubTokens

                          Один минус который я могу предположить, что при отсуствии смартфона, вы зависите от СМС, но даже будучи в такой ситуации я нажал ссылку — не пришло СМС и мне на телефон позвонил робот и продиктовал код. Так что в плане ее реализации в Google, я не сталкивался с недостатками или проблемами.
                            0
                            *Возражение №3*
                            взломщик может отправлять сообщения от имени пользователя.

                            тег top-secret должен ставить отправитель в заголовках, а не ставиться по спискам на почтовом сервере (по спискам тоже оставить, но списки должны быть пользовательскими, а не общесерверными)
                            ещё ввести уровень top-top-secret, когда письма даже не отображаются в ящике без до введения пароля в определённое поле, причём поле присутствует у всех, и взломщику нельзя определить, есть ли этот уровень, или нет, а также активирован он или нет, без взлома почтового сервера

                            замечу, что роль суперпароля сейчас на многих сервисах играет ответ на секретный вопрос

                            и наконец главный вопрос — как будем защищать суперпароль от компрометации и что будем делать в случае его компрометации?

                            предлагаю такой вариант:
                            у каждого сервера есть строка, встроенная в хтмл в виде метатега, пароль — супермедленная_хеш_функция_с_длинным_результатом(строка_сервиса+пароль) и будет являтся паролем на данном сервисе, хеш вычисляется на клиенте, функционал встроить в браузеры
                              0
                              В случае его компрометации можно использовать третий уровень защиты — для восстановления суперпароля.
                              Или подтверждение личности — как в Яндекс.Деньгах, например.
                                0
                                Как вариант — ещё один (ужас :)) мастер-пароль для «аварийной» полной блокировки доступа ко всем своим сайтам / почте, а разблокировать — уже только из заведомо безопасного места.
                                  0
                                  А для восстановления пароля использовать мастер-пароль,
                                  а для восстановления мастер-пароля использовать охрененный-мастер-пароль,
                                  а для восстановления охрененного-мастер-пароля использовать мастер-охрененный-мастер-пароль,
                                  а для восстановления мастер-охрененного-мастер-пароля использовать охрененный-мастер-охрененный-мастер-пароль,
                                  а для восстановления охрененного-мастер-охрененного-мастер-пароля использовать мастер-охрененный-мастер-охрененный-мастер-пароль,
                                  а для восстановления мастер-охрененного-мастер-охрененного-мастер-пароля использовать охрененный-мастер-охрененный-мастер-охрененный-мастер-пароль,
                                  а для восстановления охрененного-мастер-охрененного-мастер-охрененного-мастер-пароля использовать мастер-охрененный-мастер-охрененный-мастер-охрененный-мастер-пароль,
                                  а для восстановления мастер-охрененного-мастер-охрененного-мастер-охрененного-мастер-пароля использовать охрененный-мастер-охрененный-мастер-охрененный-мастер-охрененный-мастер-пароль,
                                  а для восстановления охрененного-мастер-охрененного-мастер-охрененного-мастер-охрененного-мастер-пароля использовать мастер-охрененный-мастер-охрененный-мастер-охрененный-мастер-охрененный-мастер-пароль,
                                  а для восстановления мастер-охрененного-мастер-охрененного-мастер-охрененного-мастер-охрененного-мастер-пароля использовать охрененный-мастер-охрененный-мастер-охрененный-мастер-охрененный-мастер-охрененный-мастер-пароль…

                                  Подтверждение личности — повод для злоупотреблений, контактик тому пример.
                                    0
                                    Вы же это не вручную набирали, правда?
                                      0
                                      Ну а если подумать, суперпароли, о существовании которых вообще не известно из-под более низкого уровня — это очень логичное применение многоуровневой системы доступа.

                                      А количество «слоёв» пользователь может установить сам — смотря сколько попыток восстановления доступа он захочет себе обеспечить.
                                      И если даже на 10-м уровне у него крадут пароль, это уже явный повод задуматься о безопасности того места, где он их вводит. :)

                                      Подтверждение личности и восстановление доступа, скажем, визитом в офис — разумеется, на случай, если человеку важнее доступ к аккаунту, чем анонимность в сети.
                                        0
                                        И ещё один момент: при восстановлении пароля должна быть возможность отменить «безвозвратные» изменения, сделанные на обычном уровне — например, удалённые письма.
                                0
                                Например, как могла бы выглядеть система восстановления доступа с использованием нескольких уровней:

                                1) Кнопка в аккаунте «добавить пароль для восстановления доступа».
                                При установке «суперпароля» кнопка пропадает.

                                2) При входе на более высоком уровне нет полного управления аккаунтом, но есть возможность:
                                — задать новый пароль к этому и всем предыдущим уровням;
                                — восстановить недавно удалённые письма;
                                — восстановить недавно удалённые отправленные письма;
                                — добавить более высокий уровень восстановления пароля.

                                Итого, придётся хранить несколько дополнительных паролей + какое-то время хранить «удалённые безвозвратно» письма.
                                  0
                                  Полное управление при «восстанавливающем» входе отключено, чтобы не перепутать с обычным использованием аккаунта.
                                    0
                                    И для создания верхнего уровня нужно подтверждение пользователя через независимую систему — например, по телефону.
                                    Как и предлагает автор.

                                    А уже использовать их можно и без подтверждения — безопасность обеспечивается верхними уровнями.
                                    0
                                    Вот, кстати, ещё пара мыслей прилетели – может, кому пригодятся (а может, у какого-нибудь почтового провайдера есть уже).
                                    Если пойти в обратную сторону – для входа в почту в общественных местах использовать одноразовые пароли?

                                    — Либо в заведомо безопасном месте (например, дома) зайти в почтовый ящик и в панели управления им нагенерировать одноразовых паролей и куда-нибудь их сохранить/записать, а в общественном месте спокойно использовать – повторно зайти в почту по ним не получится.

                                    — Либо отправить СМС на короткий номер с привязанного к ящику телефона, а в ответ придёт одноразовый пароль (допустим, как платная услуга на экстренный случай).
                                      0
                                      Хотя с паролем в СМС тоже вопрос – кто знает, насколько сложно «замаскироваться» под нужный номер, чтобы так получить пароль?
                                      Наверное, подобная возможность должна быть включаемой вручную, либо даже с дополнительным подтверждением, известным только владельцу (как вариант, генерируемое при подключении число, которое нужно отправлять в СМС).

                                      И поскольку диалог идёт с самим собой, извиняюсь за мысли вслух. :)
                                        0
                                        Ещё вариант: при подключении «пароля по телефону» приходит СМС со 160-символьным случайным кодом-подписью, который на короткий номер нужно, не меняя, пересылать.

                                    Only users with full accounts can post comments. Log in, please.