Команда специалистов по компьютерной безопасности из Швейцарской высшей технической школы Цюриха придумали новый метод двухфакторной аутентификации пользователя, не требующий от последнего каких-либо действий. Метод, получивший название Sound-Proof, основан на записи и сравнении фонового шума в помещении, где находится пользователь.

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

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

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

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

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

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

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

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

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


  1. amarao
    16.08.2015 17:30
    -3

    То есть когда август закончится и цикады перестанут орать под окном, всё, прощай аккаунт?


    1. affka
      16.08.2015 17:48
      +2

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


      1. amarao
        16.08.2015 23:06
        -4

        А, то есть записывается не звук окружения, а звук, воспроизводимый другой железкой? Ну, имеет смысл. Хотя бы подумал о том, чтобы «приложуха на телефоне» по bluetooth что-то слала в компьютер (или получала).

        Рраз — и двухфакторка.


        1. Lungo
          17.08.2015 00:02
          +1

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


          1. amarao
            17.08.2015 04:00
            +4

            А, понял.

            Теперь вопрос: нафига записывать окружающий шум, когда можно просто воспроизвести его?

            Чаще всего у компьютера есть колонки. Микрофон не всегда. Значит, правильный алгоритм такой:

            1. Компьютер воспроизводит криптомелодию.
            2. Телефон её слышит и передаёт на сервер.

            Атака:

            А) Без доступа к телефону невозможна, ибо требуется конкретно то приложение, которое на телефоне. Оно услышанный звук проверяет и подписывает своим ключом (открытая часть которого регистрируется в системе).
            Б) Без доступа к аккаунту пользователя невозможна, ибо мелодия уникальная и сервер должен её ждать.

            При этом она никакого шума не ожидает, плюс пользователь точно слышит, что «компьютер ща делает платёж», плюс есть возможность выключить (выключил звук — нет платёжек).

            Для усиления кон-фу можно попытаться заюзать какие-то неукрадаемые в электронном виде возможности телефона (TPM и всё такое, если оно там есть).


      1. Shannon
        17.08.2015 14:30

        Справедливости ради стоит отметить, что на айфоне точность всё таки высокая, 9 из 10 раз срабатывает очень четко. При этом прикладывать палец можно под любым углом и почти любой его площадью, всё равно будет 9 из 10 (на самом деле уже не припомню случая, когда touch id бы не сработал с первого раза)

        Если у вас именно тупит, или просто чтобы еще сильнее повысить точность распознавания, достаточно заглянуть в Настройки -> Touch ID и просто поприкладывать нужным пальцем к touch id (удалять и пересканировать отпечаток не нужно), каждый раз будет происходить распознавание и загорится строчка с уже сохраненным отпечатком, точность каждый раз будет повышаться (иногда нужно подождать секунды 2-3, чтобы он распознал более сложный случай прикосновения, но зато в работе уже будет распознавать быстро)

        Это сработает, даже если вы будете прикладывать под очень разными углами от изначального распознавания (вертикально или горизонтально или боком и т.д.) или прикасаться разной площадью пальца (пол-пальцем, 1/4 пальца итд). Согласен, немного не очевидное решение, однако после этого, даже коснувшись лишь слегка кончиком пальца к touch id — он будет срабатывать, не говоря уже про полный контакт


  1. zemel
    16.08.2015 19:35
    +1

    Второй вариант год назад реализовал Приватбанк в Украине.
    Вот только видео работы найти не могу.
    ain.ua/2014/04/25/521618


    1. Lungo
      16.08.2015 21:35

      Что-то не нахожу как этим воспользоваться, видимо убрали


      1. Gorodnya
        17.08.2015 11:06

        Это?


        1. Houston
          17.08.2015 12:42

          Что-то мне это напоминает)


    1. amarao
      17.08.2015 04:01
      -1

      О, всё хорошее уже украли.


  1. leggiermente
    17.08.2015 11:40

    Это что ж получается, если я первый раз дома аутентифицировался, аккурат в тот момент, когда сосед со своей женой детей делал, мне что, просить его повторить? А если у него новая жена будет?


    1. Vilgelm
      17.08.2015 14:59

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


  1. brzsmg
    17.08.2015 15:46

    А не проще ли, этому мобильному приложению выдавать сообщение с вопросом(как мобильные операторы используют ussd для аутентификации):
    Вами выполняется операция "%" на другом устройстве?
    Варианты ответа: Да(это я)/Нет(это кто то балуется).

    [Плюсы]
    Не надо вводить никакой код, удалять СМС-ку.

    [Минусы]
    Таки придется отвлечься на телефон, разблокировать, и ткнуть вариант ответа.


  1. Siper
    17.08.2015 18:29

    Это ломается на раз. Достаточно чтобы рядом с жертвой был человек/устроство — которое либо записывает, либо воспроизводит нужные звуки (возможны варианты для удобства атакующих).