• Встроенная графика AMD почти догнала GeForce RTX 5060 в играх — первые тесты мини-ПК на Ryzen AI Max+ Pro 495 (4 фото + видео)

    Встроенная графика AMD подобралась к GeForce RTX 5060: первые игровые тесты мини-ПК с процессором Ryzen AI Max+ Pro 495 показали, что новый чип Gorgon Halo способен выдавать более 100 кадров/с в современных играх при разрешении 1080p. В отдельных проектах прирост относительно предшественника Ryzen AI Max+ Pro 395 достигает 41 %.
    Читать дальше
  • С аппаратных криптокошельков Ledger украли криптовалюту на $86 млн — и пока непонятно как

    Производитель аппаратных криптокошельков Ledger сообщил в пятницу о поведении проверки сообщений о краже средств на общую сумму $86 млн с выпускаемых им устройств, реализованных через реселлера в Юго-Восточной Азии.
    Читать дальше
  • Новинка от OnePlus - наушники OnePlus Buds Clip уже в продаже

    Почему стоит обратить на них внимание, расскажем в этом посте.
    Читать дальше
  • Смарт-очки по цене iPhone 18 Pro Max: раскрыты стоимость и сроки выхода Xreal Aura на базе Android XR

    Компания Xreal предоставила возможность представителям СМИ опробовать свои первые очки Aura под управлением Android XR. Производитель раскрыл сроки выхода устройства в продажу и его стоимость — она на уровне флагманского смартфона.
    Читать дальше
  • Microsoft представила Maia 300 — 2-нм чиплетный ИИ-ускоритель для снижения зависимости от Nvidia

    Microsoft представила чип Maia 300, который призван снизить зависимость от графических процессоров Nvidia и стать «основной системой для выполнения ИИ-вычислений» в продуктах и ​​сервисах компании. По словам Microsoft, Maia 300 повышает эффективность и производительность инференса, лучше справляется с новейшими моделями, способными к логи...
    Читать дальше

Уязвимость графического пароля

1 апреля 2013 | Просмотров: 29 743 | Интересное / Apple / Android
Уязвимость графического пароля

На страницах жж нашёлся крайне любопытный пост о наболевшем - безопасности персональных данных на мобильных устройствах. Далее сохранён авторский текст. Предыстория: моя жена постоянно норовит как-нибудь мне напортачить: поставить будильник на 3 часа ночи, поменять мелодию звонка, снести настройки синхронизации, удалить свою смс и потом доказывать, что она этого не говорила. Шутки шутками, но в какой-то момент я решил: “Довольно!” — и поставил графический пароль на свой андроид.


Жена усмехнулась и сказала, что подберёт. Я посмеялся в ответ, на том и разошлись. Только теперь её волновал вопрос, как подобрать, а меня какова вероятность этого события.

Самая первая и логичная мысль придумать математический способ вычисления комбинаций.
Нужно задать начальные условия:
Направление имеет значение
Каждую точку можно пройти лишь однажды
Для соединения двух точек они должны быть в прямой видимости. То есть первая может быть соединена пальцем со второй, но не с третьей.
Количество точек: от 5 до 9. Назовём один росчерк, одно соединение — хопом. То есть у нас может быть от 4 до 8 хопов.

Попытки влоб просчитать варианты математически не увенчались успехом. Накладываемые условия не позволили выявить правила.

Следующий шаг: перебор. Не то чтобы я надеялся перебрать все десятки тысяч вариантов. Основная мысль была — найти закономерности.
Я потратил на рисование схем несколько часов. Но все закономерности упирались в симметрию и то, что все угловые точки равнозначны, как и все промежуточные (кроме центральной).

Уязвимость графического пароля


Уязвимость графического пароля


Но когда нас пугали трудности? Начал я всё-таки с одного хопа.

Уязвимость графического пароля



1 хоп — проще пареной репы — 56 вариантов,
2 хопа — ничего сложного — 320 вариантов
3 хопа — пришлось потрудиться — 1624 варианта
4 хопа — это было, кхм, утомительно — 7152 варианта
5 хопов — мама миа и вырванные волосы — результат неизвестен.

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

Расчехлил турбопаскаль, стряхнул пыль с переменных и начал разрабатывать алгоритм. После 4 лет паузы и простеньких скриптов на баше мне потребовался целый вечер на отладку программы. Даром, что алгоритм родился минут за 20.

Уязвимость графического пароля


Вот вывод количества вариантов для каждого количество хопов. Как видно, с 1 по 4 цифра совпадает с практическими рассчётами, а при количестве хопов больше 8 — путей нет, что логично.

Уязвимость графического пароля


Паскаль имеет ограничение в 64 кБ на размер массива. Поэтому массив даже из Byte в несколько десятков тысяч элементов невозможен. Заморачиваться с динамическим выделением памяти или записями не хотелось, поэтому просчитать сами пути в подробностях можно только до 4 хопов:

Уязвимость графического пароля


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

Это результат для последовательности 11-22-31-32-12:

Уязвимость графического пароля


И вот долгожданный результат:

Уязвимость графического пароля


Итак, 389488 возможных вариантов. Даже если из них исключить 50% извращённых вариантов, которые не каждый человек, лишённый шизофрении, сможет с первого раза набрать (впрочем, зачем шизофренику андроид), остаётся 194744 вариантов.

Уязвимость графического пароля


Андроид даёт 20 попыток, после которых блокирует телефон.

Итак, 20/194744=,0001. То есть, вероятность 0,01%. Одна сотая процента!

“Ну-ну” — сказал я жене, показывая расчёты. “Ну-ну” — сказала мне жена, показывая разблокированный телефон.

Уязвимость графического пароля


Источник: livejournal

Комментарии: 11

  1. Андрей
    1 апреля 2013 12:43 Андрей
    Пароль она тоже сможет подобрать?
    + -1 −
    Ответить
  2. Ваше имя
    1 апреля 2013 13:11 Ваше имя
    дисплей надо протирать!

    + 4 −
    Ответить
  3. 1 апреля 2013 13:18 Killer
    зная на что давить, подобрать комбинацию не составит труда
    4*4 = всего 16 комбинаций
    + -1 −
    Ответить
  4. Роман Тяпочкин
    1 апреля 2013 13:24 Роман Тяпочкин
    Это с хабра
    habrahabr . ru /post/174773/
    + -1 −
    Ответить
  5. Андрей
    1 апреля 2013 15:10 Андрей
    2 Killer
    Почему 16? 10,000 тысяч же.
    + -1 −
    Ответить
  6. 1 апреля 2013 20:14 Killer
    это ты как посчитал?
    я отталкивался от того, что пароль - 4 цифры. и тебе известны какие именно! (если так же подсмотреть на пятна) останется только подобрать порядок. Итого вроде как только 16 комбинаций.
    + 0 −
    Ответить
  7. Антон
    2 апреля 2013 00:15 Антон
    Капец.. бредовый пост. С самого начала были мысли "Какого все это просчитывать, если по жировым следам все понятно".. тоже мне
    + 1 −
    Ответить
  8. Logorifmator9
    2 апреля 2013 06:40 Logorifmator9
    Математику в школе учить надо было! Первой может быть любая из 4 цифр, второй - любая из оставшихся 3, третьей -любая из оставшихся двух, четвертой выбора нет. Итого: 4*3*2*1=24 комбинации. Не верите - проверьте на листочке, это проще и быстрее, чем кажется.
    + 2 −
    Ответить
  9. Logorifmator9
    2 апреля 2013 06:44 Logorifmator9
    А то по такой логике, если допустить, что пароль из 4 цифр, и известно, что каждая цифра от 0 до 9 (т.е. по сути, нам эти цифры не известны), то по вашей формуле будет 4*10 = всего 40 вариантов. Но думаю, ежу понятно, что вариантов так-то побольше. А точнее - 10*9*8*7=5040. (С учетом, что цифры не повторяются и порядок их ввода имеет значение)
    + 1 −
    Ответить
  10. 2 апреля 2013 10:04 Killer
    хватит воздух сотрясать. доказал, молодец!
    + -6 −
    Ответить
  11. Ваше имя
    3 апреля 2013 23:39 Ваше имя
    я когда от своей блокировал телефон давно понял как она сможет подсмотреть пароль...
    + 0 −
    Ответить
В Вашем браузере отключен JavaScript. Для корректной работы сайта настоятельно рекомендуется его включить.