Pull to refresh

Comments 289

Очевидно же, что коды подобраны таким образом, чтобы их удобнее было запомнить. Для одноразового пароля, срок жизни у которого минута и количество попыток угадывания крайне мало, это нормально.
Насколько помню свой пользовательский опыт, попытка одна. После неверного кода присылают новый. но вероятность угадать получается 1/1000, что в принципе не такая уж и маленькая вероятность. Сбер например шлет 5-6 цифровые коды. Вопрос в том, как быстро банк заблочит карту при попытках перебора
Нет, ошибся, все-таки несколько раз дает ввести
Кстати мне, как пользователю, крайне тяжело запоминать и вводить 6 цифр. Когда 4 цифры — уже хорошо и УДОБНО. А если действительно коды сделаны так, чтобы удобно было запоминать (это я про повторяющиеся цифры) — тогда благодарность им за удобство пользователя.
6 цифр спокойно запоминаются как два трехзначных числа.
А если применить индукцию к этому правилу, то sky is the limit.
Или как шесть однозначных :)
А разве сегодня это актуально? в ios уже давненько есть функция распознавания кода в смс и код предлагается в клавиатуре быстрого ввода. В андроиде это тоже вроде на подходе, а пока есть программки, копирующие коды в буфер. например мое творение работает на основе регулярок ищет код в уведомлениях. было запилено для себя и в данный момент не поддерживается, но вроде как работает на последних андроидах.
С телефонами всё хорошо. Только я еще и в компьютер ввожу коды, которые приходят на телефон )))
да, забыл про это, виноват. Яблоки расслабляют своими фичами с общим буфером и imessage. На андроидах я pushbullet юзал. Он зеркалит смс в расширение хрома. + умеет принимать уведомления по апи, что полезно для мониторинга сервисов.
Потому что смс обычно применяются как последняя сторона защиты от автоматического вывода денег со счетов. Если ваш компьютер взломали, то вряд-ли взломают ещё и телефон. И почти единственный способ получить у вас пароль — соц.инжиниринг.
что значит компьютер взломали? получили доступ к закрытому rdp? подпихнули мне исполняемый файл в защищенную директорию и запустили от имени админа и ввели мой пароль? Установили незаметно
для меня расширение в браузер, подтвердили установку и кликнули по нему для активации? если нет, то я не вижу способа получить доступ к моему браузеру и его расширениям. тем более логически связать компьютер с телефоном. Нет, технически это можно сделать, но нужно потратить довольно много времени и сил на слежку и анализ неизвестной ценности аккаунта. Что делает это «экономически невыгодно» (с)

А вообще с этой точки зрения мак — супер-дырявая штука т.к. имеет imessage и о каждой смс приходят уведомления на комп. Что уж говорить об телеграммах, стимах и пр. только вот считать это все надо постараться…
Вы о чем? У меня 2 мака и афйон, из общего только imessage, никаких уведомлений на машинах про СМС на телефон не получаю. К тому же пуш адресуется не только на учётку, но и на конкретное устройство — пуши с кодами банк-клиентов на телефоне доступны только на телефоне.
я про смс. У вас не настроена пересылка смс на компы.

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

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

Небольшое дополнение. Не знаю как скакнул прогресс в этом деле сейчас. Но ещё лет 10 назад, подельников уже не было как правило. Были люди кто занимался сплоитами и юзали их или продавали. Были кто занимался написанием троянов/лоадеров, которые потом продавали в сборе или по билдово, а со временем вообще генераторы в паблик уползали. Были люди кто продавал загрузки «твоего вредоносного ПО на наш трафик». То есть это уже был огромный рынок узкоспециализированных людей и услуг. Ну и была огромнейшая куча софта для автоматизации.
То есть список из действий в «доделывал», так же тогда делался автоматическими методами.
Что уж говорить про трои, которые живя в системе, могли подменять страницы известных банков, чтобы получить одноразовый пин, отправить хозяину и заблокировать интернет на машине пользователя? Наверно круче были только те, которые сами осуществляли переводы.
Сейчас я думаю всё это ещё сильнее ушло в автоматизацию. И всё берётся массовостью, а не точечной работой. Проще наверно загрузить вредоносное ПО, которое само подгрузит всё что надо и сделает что надо, на сотни тысяч устройств. Чем ковырять руками одно-два. Отдавая основную массу усилий «оператора» на настройку этой «фермы».
если настроена синхронизация сообщений с компьютером, то коды и в браузере на компьютере подставляются
для ввода на компьютере его даже запоминать не надо, вы можете смотреть на телефон и набирать на клавиатуре

Тоже с другом на коленке делали что-то похожее=)

И двухфакторная аутентификация превращается в однофаторную.

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

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

и зачем запоминать? Кладешь телефон рядом с ноутбуком экраном вверх и просто переписываешь код ) Хотя у меня, да, буферной памяти на 6 цифр хватает.

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

По этой же причине тот, кто придумал пин-коды (не вспомню сейчас фамилию) сделал их четырёхзначными, потому что жена его не могла запомнить больше четырёх чисел… ну, так гласит легенда.
Пин-код может быть более 4х знаков. По этой причине банкоматы чужого банка не завершают автоматически ввод кода после набранных 4 символов, как это происходит со своей картой в своём банкомате.
ну справедливости ради — АТМ (конечно эквайер) сам сообщает пин-код какой длинны он может принять банку в котором заведена карта (то бишь эмитенту) и соответственно полученный пин-блок будет содержать только введёное количество символов пин-кода (зашифрованное под ключами платежной системы).
Это не так работает.
Если кратко и без заумных слов, то В банкомате есть таблицы с масками карт и ассоциированными с ними параметрами. Когда ты вставляешь карту то банкомат начинает сверять её номер с масками. Как только совпадение найдено банкомат узнает параметры ассоциированные с максой- это может быть как количество цифр в пин-коде, так и например переход на меню «для карточных продуктов банка» или же «для карточных продуктов других банков». Именно поэтому вставив карту ВТБ в банкомат Тинькова можно не увидеть специфических сервисов доступных только клиенту, обладателю карты банка.
Как правило последняя маска в этой таблице имеет вид XXXXXXXXXXXXXX и матчится с любой картой, несматченной с предыдущими масками.

Дальше банкомат спрашивает пин, вернее он даёт команду пин-паду принять пин, передав в параметах максимальное количество символов и необходимость автозавершения. Пин-пад принимает пин, но не сообщает его банкомату, лишь шлёт * при каждом нажатии, а так же сообщает о завершение команды и результатах (завершено по отмене, автоматически, по нажатию ввод). Если ввод пин не завершен нажатием кнопки Cancel или отменён по таймауту, введенный пин помещается в регистр памяти пин-пада. Получить в открытом виде его невозможно.

Следующий этап это получение пин-блока, опять же это команда пин-паду где в параметрах передаётся тип пин-блока (сейчас используется ANSI, он же ISO-0), PAN (номер карты), имя ключа на котором нужно зашифровать пин-блок.
Пин-пад генерит пин-блок, шифрует его ключом и отдаёт в таком виде софту.

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

Смотри, как ты смог заметить нигде на этих этапах банкомат не сообщает никому какой длины ПИН он может принять. Более того, для тех кто знает механизм работы всей этой котовасии, подобная версия звучит крайне бредово.
Банкомат сообщает эмитенту что он может принять только 4 цифры пин-кода из 8ми и при это пин-блок остаётся валидным?
Если физически устройство не способно принять больше 4 символов, то оно их и не примет.
Вы уже совсем в кишки полезли и немного не туда — в бин таблицах не определяется возможное количество цифр в пин-коде для рейнджа карты.

В диалектах МПС есть как раз поле (подполе в некоторых) в котором передается Pin Capture Capability (в МИРе например 26 поле) — как раз таки двухзначное число возможного количества принятых цифр ПИН-кода. Рекомендуется к ознакомлению :)
BIN таблицы это маршрутизация на хосте. На банкомате FIT-таблицы, которые немного отличаются по содержанию. BIN-таблицы это роутинг, FIT это настройки для конкретной карты.

Таки где взять длину пин-а если ее не дает МПС? а МПС дает именно БИН таблицы.

BIN таблицы даёт не МПС. В целом по BIN можно узнать только то что есть на Bincodes.com — ТИП МПС, Продукт и банк. А самое главное это роутинг — он у каждого банка свой.
Тип пин-блока и размерность пин-кода задаётся стандартами ISO. В МПС принят определённый стандарт пин-кода. Производитель хоста обязан поддерживать этот стандарт, если хочет работать в с МПС.

Аргумент про пин-пад не принимающий более 4 символов — тоже бред. Потому как всегда эти коды падятся 0 до 12.
ps я же специально сделал пометочку что максимальное количество вводимых цифр пин-кода передает именно эквайер
ну справедливости ради — АТМ (конечно эквайер) сам сообщает пин-код какой длинны он может принять банку в котором заведена карта (то бишь эмитенту)


Так я и напсал что это — бред. Эквайер никому ничего не сообщает. Если количество символов не известно то ставится максимум — 12 и ввод по энтеру.
Если ПИН-Пад не поддерживает пин-коды длиной вплоть до 12 сивмолов, то банкомат не пройдёт сертификацию в МПС => не сможет работать.

ISO 9564-1 Format 0. An ISO-0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats and is similar to a VISA-4 PIN block format. The ISO-0 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.

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


Так я и напсал что это — бред. Эквайер никому ничего не сообщает.

Ну почитайте хотя бы спецификацию любой МПС прежде чем это утверждать — привел же конкретный пример.

ISO 9564-1 Format 0. An ISO-0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats and is similar to a VISA-4 PIN block format. The ISO-0 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.
И что самое интересное пин-код не проверяется даже после ввода, он проверяется только когда начинаешь выполнять какую-то операцию предполагающую ответ от банка.
UFO just landed and posted this here
В том случае, если это реально фича, а не баг, переросший в фичу %)
А зачем делать удобный к запоминанию четырёхзначный код, который по надёжности равняется трёхзначному, когда можно сразу слать трёхзначный?
А зачем делать удобный к запоминанию четырёхзначный код, который по надёжности равняется трёхзначному, когда можно сразу слать трёхзначный?

С таким подходом он будет сводиться уже к двузначному, что «далеко не есть гут».

Возможно, для многих четырёхзначное число проще удерживать в памяти как два двузначных (93-95), чем одно трёхзначное (935). И опять же, чуть больше данных о валидности кода, которые потенциально можно анализировать: если пользователь ввёл 8395, то он, скорее всего, опечатался. Для трёхзначных такой информации у нас не будет.

Можно лучше играться вероятностями и иногда отправлять реально случайный код. То есть шанс угадывания будет где-то между 1/1000 и 1/10000. Причём можно варьировать его от операции к операции и от клиента к клиенту в зависимости от оценки рисков.

Условно, если запрос кода приходит с того же устройства откуда уже приходила куча успешных запросов, то подсунуть пользователю код попроще. Если из незнакомого места - код посложнее. Также, как отметил автор статьи, на некоторые операции ему всегда приходил сложный код (очевидно, угроза от перевода между своими счетами и на счета друзей и знакомых меньше, чем угроза от переводов незнакомцам).

При этом не надо напрягать пользователя кодами разной длины. Будет слишком много удивлённых клиентов + явное раскрытие оценки рисков операций банком (что упростит обход антифрода преступниками).

Насколько я понимаю, именно для этого и нужны огромные базы данных карточек.
Грубо говоря, если вероятность угадать код 1/900, то просто берём 900 карточек и 900 раз пробуем.

Конечно, вероятность работает не совсем так, и карточек для 90% результата нужно взять тысячи две+. Но это мелочи — принцип, думаю, понятен.
Если у банка антифрод не дурак, то случаи с угадыванием отправятся безопасникам очень быстро, а если дурак, то можно повести смсками высылать, всё равно не поможет.
трехзначный код запомнить еще проще, но зачем-то присылают 4 цифры. думается мне это какое-то требование ЦБ, которое Тиньков обходит таким способом
На самом деле нет. Сами попробуйте, например 54-56 и 546. Первое число намного проще запоминается.
Наверное всё это закончится, как только большинство телефонов научится подставлять коды из СМС. На примере моего банка: я до прочтения статьи даже не вспомнил, что же там за коды приходят. Посмотрел — о, ужас! 4-символьный буквенно-цифровой случайный код ) Но я его не ввожу, он сам — это тоже удобство пользователя.

А вот один не российский банк делает гораздо интереснее - на телефон приходит PUSH, который предлагает зайти в приложение (разумеется, вход в приложение защищён биометрией/пин-кодом) и нажать кнопку подтверждения транзакции.

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

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

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

А случайно не знаете исследования проводились в этом направлении? То есть генерация случайных чисел которые легко запомнить.

ЕМНИП раньше коды были действительно случайные, а точнее, некрасиво-случайные, вроде 9671. Потом систему стали нагружать повторные отправки и она оптимизировалась введя красиво-случайные коды
P.S. Возможно такая ситуация наблюдается только у меня и связана с алгоритмом генерации кодов на основании данных клиента, например. Прошу сообщество посмотреть, имеет ли данная проблема массовый характер.

У меня такая же ситуация. подтверждаю. Но я всегда думал что это не случайно ( в смысле, чтобы нам было удобно%) )
Истиный случайный генератор обычно и выдаёт не случайные по людским ощущениям последовательности
Apple кстати сталкивались с этим, пользователи жаловались на то что треки проигрываются в неслучайном порядке. В итоге эппл профиксили алгоритм, сделав его псевдослучайным.
UFO just landed and posted this here
Имел такую же ситуацию с похожей поделкой (CD плеер), решил так же.
Всегда казалось, что это и есть верный способ получить рандомный плейлист. Потому что ну правда же нужен случайный порядок всех треков, а не следующий случайный. Ни разу не встречалось, и здорово узнать, что кто-то сделал.

Будет заметно, что после песни ААА всегда слебует БББ. Ичем короче плейлист — тем это заметнее.

Это только если с рандомом беда совсем. Иначе при воспроизведении всего круга или выключения/включения плеера будет просто собрана новая последовательность треков (в разумной реализации).
Так перед каждым прослушиванием надо перемешивать. После ааа всегда ббб это, считай, по порядку.
Ни разу не встречалось, и здорово узнать, что кто-то сделал.
Winamp умел такое делать, 12 лет назад когда я им пользовался я именно мешал плейлист. Его наследник AIMP вроде бы тоже умеет, но я честно говоря давно ушел на спотифай и не помню точно. Правда винамп это делал явно — нужно было именно попросить перемешать плейлист, при рандомном воспроизведении был именно случайный следующий. Зато можно было выбрать чего именно ты хочешь, хоть оба варианта сразу.
В вк в последнее время рандом как-то сортирует треки по похожести / личным предпочтениям и получается не случайный список, а псевдослучайно — персонализированный. Я один это заметил?
Так было в Winampе, и было действительно удобно — нажав кнопку «предыдущий трек» включался предыдущий трек, а не случайный.
В винампе было много хорошего, чего мне до сих пор не хватает в онлайн плеерах...)
Это да. В честь юбилея у яндекс.музыки была промо страничка с копией винампа. Пользовался, пока не закрыли — удобнее самой Яндекс.Музыки даже в таком варианте
Ну так ведь это единственно правильный вариант: «воспроизведение всего плейлиста в случайном порядке».
Конечно. Именно при таком случайном порядке можно включить предыдущий трек, если хочется его еще раз послушать, а новая песня уже началась. И дублей не возникнет, пока не послушаешь все треки в альбоме.
Да при любой сортировке зачем пользователю две кнопки «другой случайный трек»?!
«Предыдущий трек» и должен быть тот, что играл предыдущим (я согласен даже не хранить всю историю, когда можно дойти до самого начала воспроизведения плейлиста).
В итоге эппл профиксили алгоритм, сделав его псевдослучайным.
То, что вы хотели сказать — называется «квазислучайным».
не факт. Ну или я не понял, как вы это поняли, с учетом того, что описания алгоритма нет особо. Может и псевдослучайное
В vlc странный генератор рандомных видео. некоторые мультики повторяются намного чаще чем другие, вероятно сначала рандомно выбирается папка для проигрывания, а потом уже файл. А из-за того, что в некоторых папках мультов в разы меньше, то и получается такой эффект.
В mssql тоже есть свой прикол — везде пишут, что для сортировки по рандому пишите order by newid(). Однако чем больше разрыв значений у первичного ключа, тем странные будет результат.
Например есть сотрудник Маша, у которой ид 1, и работаетуже 10 лет. А есть Василиса, у которой ид 1000, и Саша 1001. Так вот, у Маша в сортировке по рандому будет выпадать примерно в 10 раз чаще, чем остальные.
Вот интересно, если верить этой статье, то, при условии, что у нас есть исполнитель А, для которого 10 песен в плейлисте и исполнитель Б, для которого 10 песен в плейлисте, то всегда после исполнителя А будет играть исполнитель Б. Ну во всяком случае я так понял на базе этой статьи
Да, но это не тот случай.
«Зарифмованый» числовой код человеку проще перенести из мобильного телефона на компьютер. Может показаться смешным, странным и необычным, но большому количеству людей тяжело выполняя непривычную им операцию общения с онлайн-банком еще параллельно запоминать код и вводить его. Например, существуют люди, которым очень сложно заполнить анкету (бумажную). Заполняя поле телефона впишут туда адрес. Даже копируя с черновика (уже испорченной анкеты). «Рифма» же копируется через буфер обмена в голове легче. Возможно есть набранная статистика по количеству ошибочных вводов. И красивое четырехзначное число легче перекинуть чем обычное трехзначное.

Мне тоже сложно заполнять анкеты. Всегда получается успешно со второго раза. А уж когда нервничать начинаешь (а обстановка в госучерждениях только к этому и способствует)… Но вот с вводом пин-кодом никогда проблем не возникало.


Возможно есть набранная статистика по количеству ошибочных вводов. И красивое четырехзначное число легче перекинуть чем обычное трехзначное.
ага. Зато и злоумышленникам его подобрать проще....
Существует железобетонный способ запоминать пин-коды. Цифры заменяем словами, начинающимися на ту же букву. Слова имеют связное по смыслу предложение. Хак: чем диковиннее смысл, тем лучше запоминается. Пример: 1234 — Оранжевый Дятел Травит Частушки
Дятел это Два или Девять?
Ждал этого вопроса. Если уж встретились в одном коде два и девять можно подбирать слова на Дв и Де. Вообще, метод не запрещает числительные. Главное, запоминающийся текст
Есть и более продвинутый подход, когда числовое значение имеют только согласные:
(один из вариантов: {0: нл', 1:'кг', 2:'бхц', 3:'тз', 4:'чр', 5: 'п', 6: 'шщж', 7: 'см', 8:'вф', 9: 'д'}).
Тогда 1234 -> 'кобзарь' или 'кубатура'. (Или разбить на пары и «якобы утро» (или заранее подобрать слова для всех чисел от 00 до 99).)
Так заморачиваться стоит, если вам нужно помнить десятки кодов. Вообще, мнемоника, это целое направление с кучей статей и книг. Один композитор помнил все телефоны своих друзей, переведя их на ноты. Есть стишки для запоминания числа пи и т.д.
Есть стишки для запоминания числа пи и т.д.

«Надо просто постараться и запомнить все, как есть — 3, 14, 15, 92 и 6...»

Как рассказали мне лет в 6, так и легло в память. Намертво.
Это же надо ещё словарь запоминать)
Польза появляется при наличии где-то 3-4 и более разных пин-кодов, и то, при условии, что частью пинов пользоваться часто (чтобы словарь не забывать), а частью — редко (и пин легко забыть).
И в таком случае, вместо запоминания пина к карте, вам надо запоминать слово к карте. Впрочем, «кубатуру» можно и маркером на карте написать…
Я дольше слова буду придумывать ))
Похоже на фичу: по операциям с низким риском высылается удобный для запоминания код, по операциям с высоким риском высылается более надежный рандомный.
высоким риском высылается более надежный рандомный

Вспоминается страховка авто в ингосстрахе. Прислали код по смс, код — буквы, цыфры, спецсимволы, штук 12-15. я удивился но ввел руками, код не подошел, я попробовал снова и опять неудача. Я скопировал его на компьютер через контакт(самому себе отослал). Скопировал в форму — код подошел. Решил же проверить, что не так с кодом, скопировал его в питонячью консоль
>>> 'rewfо$#'
'rewf\xd0\xbe$#'

и очень удивился когда одна из букв «о» оказалась русской.
Вот это я понимаю забота о безопасности.
UFO just landed and posted this here
Это один из популярных механизмов чтобы не оформляли электронный полис. Другой к примеру: «Ведутся технические работы/ошибка 404» на этапе оформления.

У тинькова при оформлении ОСАГО на последнем шаге после ввода тонны реквизитов идёт редирект на сравни.ру, где сам Тиньков "недоступен". При этом спокойно оформляется через поддержку.

У РЕСО-гарантия при оформлении е-осаго у многих выскакивает такая капча, что судя по воплям на соответствующих форумах, ее никому еще не удалось разгадать (я в их числе).

Хм, оформлял недавно, никаких редириктов не было, тодько обязательная регистрация и оплата в конце.

Редиректы и интересные ошибки возникают у тех, кто заполняет первого водителя без стажа или из плохого региона. Первого водителя надо всегда указывать с хорошим стажем и регионом (он всё равно не повлияет на стоимость полиса), а потом уже дозаполнять остальных, когда система согласится считать стоимость.

Плюс очень сильно помогает открыть дебаггер и смотреть сырые ответы сервера, там иногда выводятся ошибки прямо в человекочитаемом виде (но не отображаются на странице). Таким образом, например, можно подобрать дату начала стажа и количество лошадиных сил автомобиля, если в базе они не совпадают с реальностью.
Я в мае смог застраховать в Тинькове авто, которое продал в июле. Новый же автомобиль я застраховать уже не смог и получил редирект на сравни.ру. При этом я никогда не был виновником ДТП и регистрация у меня в Спб.
А вообще, у Тинькова свои прекрасные репутационные механизмы, я, каким-то волшебным образом, стал у них персоной нон-грата — у меня пропали бонусные предложения от партнеров в банковском приложении и мне отказывают в открытии инвестиционного счёта.
Может кредит раньше времени закрыли?
Кредит, мне, кстати, тоже не дают. Хотя кредитка, которую получил давно, действует. При этом я активно пользуюсь услугами банка и, как мне кажется, оставляю о себе впечатление платежеспособного человека.
Возможно, где-то не в том магазине оплатил или кому-то не тому осуществил перевод с карты банка. Поддержка не признаётся.
Попробуйте заказать у них же кредитную историю, может там что-нибудь интересное всплывёт.
Заказывал, 87% (достойно). Порекомендовали брать побольше кредитов или завести кредитку, но кредиткой я и так пользуюсь время от времени, а кредит они мне не дают :)
А случаем не зарегистрирван ИП или самозанятый?
Не-не, официальное трудоустройство, белая ЗП.
Второй вариант — много кредитных карт, а они иногда трактуются как «незакрытые кредиты»

Они не иногда трактуются как незакрытые кредиты, а всегда трактуются как "еще один кредитный договор". Я копался в своих данных в бюро кредитных историй и много интересного узнал о себе )))) /ничего плохого, кстати/

Может кредит раньше времени закрыли?
Я сто раз так делал, и ничего.
Была такая же фигня, оказалось, что-то сломалось, написал в чатик, всё починили.
Мне дважды в чате ответили, что бонусные предложения генерятся автоматом на основе моих категорий покупок :) и один раз то же самое сказал представитель на banki.ru
Попробую закинуть удочку еще раз, полгода уже прошло с того момента.

Это специально, страховые считали невыгодным электронное оформление, т.к. доп.-ов не продать

Похоже на фичу: по операциям с низким риском высылается удобный для запоминания код, по операциям с высоким риском высылается более надежный рандомный.
Интересная гипотеза. Автор, скажите, а те 42 случайных кода были на больших сумах?
неслучайный код (190 штук) и случайный (42 штуки).
Как пишет автор:
В категорию неслучайного кода относятся все операции покупки в интернете, операции перевода между своими картами. А на операции оплаты через мобильный банк, установку пин кода, вход в интернет банк, переводы третьим лицам приходят случайные коды.

Переводы между своими картами и покупки в интернете безопаснее переводов третьим лицам и изменений пин-кода.
Нет, совершенно не принципиально, коды бьются четко по категориям. свои + интернет платежи и остальные.
Согласен, фича это.
Причем, в тиньков-бизнес коды всегда рандомные.
Да не только смс коды!
У меня один раз банк выдал конверт с пин-кодом для карты. Открываю — и прямо изумлен — пин-код равен году смерти Ивана Грозного минус 4! Как можно такие простые коды делать??
Мне раз выдали пин-код равный дню смерти дяди Джо
Минус 4 ведь, так что 1580

Лучше использовать год основания Инсбрука.

UFO just landed and posted this here
А я думал, это год Грюнвальдской битвы.
Мне как то раз выдали карту, пин код которой повторял мой внутренний рабочий телефон.

Когда Харди навещал в больнице Рамануджана, он, по его словам, начал разговор с того, что «пожаловался» на то, что приехал на такси со скучным, непримечательным номером «1729». Рамануджан разволновался и воскликнул: «Харди, ну как же, Харди, это же число — наименьшее натуральное число, представимое в виде суммы кубов двумя различными способами!».

А я не парюсь и всегда устанавливаю свой пин-код — год выхода Half-Life 3.
Зачем врать, в пин-коде же всего 4 цифры!
Как было замечено выше — в некоторых случаях шесть ) что вполне реалистично
Я не особо силён в ТВ, но могу подтвердить паттерн, где 1я и 3я цифры всегда одинаковые. Возможно, что это какой-то юзабилити-хак со стороны Тинькова.
Подтверждаю, во всех кодах на покупки 1 и 3 цифры одинаковые. Другие коды на другие операции явно рандомнее.
Еще момент, вторая цифра никогда не бывает 0
Потому что такие пары не рифмуются.
Двадцать пять-сорок пять — нормально, пятьдесят-семьдесят (или еще лучше тридцать-сорок) — нет.
а как же 2025 или 3037 и тому подобное. Вполне неплохо звучит и не режет слух )
Коды Тинькова — рифмуются, а не просто «звучат хорошо», поэтому и нужны одинаковые суффиксы — для рифмы.
Просто проговорите:
3037
и
2737

3037 звучит и запоминается как две отдельных единицы, а 2737 как одна, как стих.
Ну это такое… субъективщина.
Да, но в Тинькофф 1 и 3 цифры одинаковы ) Так что там с рифмой вопрос. Там скорее повторение одной цифры для минимизации ошибки, поэтому особой разницы между 2825 и 2025 не вижу, а вот почему из второй цифры исключили ноль — вопрос остался. Возможно, чтобы не получать 000 в начале кода. Да и цифра 1 на второй позиции, где первая и третья 0 не была замечена.
Ах да, я перепутал. Извините.
Да, всегда такие коды приходят, что думаешь «о, как повезло». Но быстро привыкаешь)
Каждый раз, получая код подтверждения, как будто ощущаю, что он «приятный» для запоминания и набора. Всегда подозревал, что они не случайные, но изучать никогда не пробовал, а вот оно что, оказывается :)

Где-то еще подобное ощущение с кодами было, кроме Тинькова, только вот вспомнить не могу, где.
У меня такое ощущение бывало с пинкодами банковских карт.
>Где-то еще подобное ощущение с кодами было, кроме Тинькова

Как минимум tele2 стали pin всем 0000 делать.

Вывод: tele2 для тупых. Которые не способны четыре труъ рэндомные цифры подержать в гойлове 3 секунды.
Украина — Приватбанк, тоже на какие-то простые операции приходят легкозапоминаемые коды, хотя мне кажется такой жесткой системы «1 и 3 цифры совпадают» там нет. Какие-то цифры обязательно совпадают, другие часто на 1 отличаются, но не всегда. А еще все чаще стал переводить просто без подтверждения, видимо там ML какой-то, не поймешь как он решает. Раньше на оплату инета раз в месяц код требовал, хотя реквизиты те же, а теперь в инет-магазин какой-то новый первый раз переводишь деньги, а он «подтверждение не требуется».
Малые суммы, операция со знакомого банку девайса — подтверждать не нужно.

На карте Кукуруза такое было.

Скорее всего, это сделано для облегчения запоминания кода при переносе. У меня такая же история с сервисами Google и Яндекс.Деньгами: часто кажется, что последовательность не рандомная. А вот, например, у QIWI, Сбера и ВТБ24 явно это не учитывается: коды чисто случайные, и я часто в них ошибаюсь (при этом не ошибаюсь никогда в Gmail, Яндексе и том же Тинькофф).
Долгое время из-за постоянных переездов в разные страны использовал в своем банке токен RSA, для подтверждения операций, так как номер телефона или менялся или было лениво симку перекидывать, токен закончился в январе, новые банк больше не выдает, перешел на смс, думал что у меня паранойя, а оказалось что коды не случайные, спасибо за топик и коменты!

Кстати я писал в банк с этим вопросом, получил ответ от СБ что коды случайные, что предсказуемо.

Хабр — забота о вашем психологическом здоровье!)))
Украина, но в РФ тоже есть эта «венгерская банковская группа», не хочу рекламить, ухожу от них, очень недоволен.
Это тот банк, у которого на логотипе человек в яме (долговой видимо)?
Ха-ха, верно подмечено. ОТП банк, для тех, кто не в курсе.
Было бы интересно почитать про исследование долговременных ПИН-кодов. Ибо описанную автором ситуацию я наблюдал с кодами от карточек одного популярного зелёного банка.
Ну это всего лишь означает, что пространство, из которого делается случайный выбор не равно пространству всех четырёхзначных кодов, а не то, что есть какая-то неслучайность при генерации кода.
Как бы, встречаются генераторы случайных PIN кодов удобных для запоминания. Естественно, размер множества генерируемых кодов получается не 104, а немного меньше. Часто используют примерно следующие правила:
  1. PIN — дата (28.12);
  2. PIN — Т9 слова (2229: baby);
  3. PIN — арифметическое соотношение (6432);
  4. PIN — простая фигура на клавиатуре (1478: L-образная фигура).

В вашем случае:
В каждом коде 1 и 3 цифры совпадают…
UPD.: вторая цифра всегда больше 0. Таким образом остается 900 комбинаций

Почему нет? Опять же 19 коллизий в 190 попытках как бы не противоречат предположению, что PIN случайно выбирается из множества мощности 900. Впрочем, можно открыть Кнута т.2 и проверить сию гипотезу разными тестами ;)

P.S. Численный эксперимент:
$ od -t u2 /dev/random | awk '{ for(i = 2; i < NF; i++) print $i % 900; }' | head -190 | sort -u | wc
177 177 691
$ od -t u2 /dev/random | awk '{ for(i = 2; i < NF; i++) print $i % 900; }' | head -190 | sort -u | wc
173 173 670
$ od -t u2 /dev/random | awk '{ for(i = 2; i < NF; i++) print $i % 900; }' | head -190 | sort -u | wc
168 168 653
$ od -t u2 /dev/random | awk '{ for(i = 2; i < NF; i++) print $i % 900; }' | head -190 | sort -u | wc
175 175 676
$ od -t u2 /dev/random | awk '{ for(i = 2; i < NF; i++) print $i % 900; }' | head -190 | sort -u | wc
178 178 695
$ od -t u2 /dev/random | awk '{ for(i = 2; i < NF; i++) print $i % 900; }' | head -190 | sort -u | wc
170 170 663
Странно, но данная команда у меня выдает ничего. И подскажите, что означают цифры в stdout?
Странно, но данная команда у меня выдает ничего.

Я в macOS запускал. Но, есть воспоминания, в некоторых системах `/dev/random' работает медленно, т.е. пропорционально накопленной энтропии от внешних прерываний. Возможно, его надо заменить на `/dev/urandom', для скорости, а может где-то что-то ещё отличается от POSIX.
И подскажите, что означают цифры в stdout?

`wc' без аргументов выдаёт число строк, слов и символов. После `sort -u' первое число строк это число уникальных значений из полученных от `head -190' 190 случайных чисел.
Кстати как вариант уменьшения коллизий, дать возможность юзерам задавать пин цифрами от 4 до 6 знаков, насколько я понимаю это не требует больших изменений в «глобальном» смысле, большая часть банкоматов при заграничной карте предлагает ввести до 6 знаков включительно
С точки зрения криптографической безопасности размеры множества угадывания PIN кода: 103, 104 или 106, примерно одинаковы. Например, CVV2/CVC2/CVP2 коды Visa/MasterCard/Мир трёхзначные.

Здесь же главное — качество реализации гарантированного максимального числа попыток подбора в той или иной системе.
Если говорить про пин, разве разница степени, количества знаков, не меняет ситуацию кардинально?

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

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

Если гарантированное число попыток ввода PIN ровно 1, т.е. гарантированно, с вероятностью 0.9999, что после первой же неудачной попытки доступа защищаемый ресурс блокируется. Трёхзначный PIN даёт вероятность нарушения — 10-3, что более чем достаточно. В подавляющем большинстве систем, если реалистично оценивать возможности несанкционированного доступа, вероятность нарушения выше 10-2.
UFO just landed and posted this here
Зарандомить 3 цифры, 1000 и 10 умножать на одну и ту же
Можете ту что умножите на 100 рандомить из множества 1-9, если это необходимо
Могу.

Хотя, если вопрос за то, как именно. Для 4-6 значных PIN-кодов просто создаём таблицы всех возможных кодов с мнемониками (даты, фигуры, арифметические примеры, T9 слова, в последнем случае, в ispell словарях дублируем некоторые слова для выравнивания числа коллизий), а потом получаем криптографическое случайное число и выдаём элемент таблицы.
Я как-то пытался придумать мнемоническое правило для запоминания кода. Пока придумывал — выучил код. Помню его до сих пор, а слово, естественно, напрочь забыл почти сразу.
Выше написал правило. Посмотрите по нику. Ссылку с телефона не вставить
Слово по PIN, это ж не по христиански ж. ;)

Ибо сказано, «сначала было слово». В этих генераторах, первично мнемоническое правило, PIN вторичен.

P.S. А для фигур, так вообще память рук, бывает, что без клавиатуры PIN код и не вспомнить же ;)

Эту гипотезу уже пытался проверить. Вот пример 3 кодов


1564594646 6560
1564594851 2724
1564595472 8482


Таймстэмп взят с погрешностью +-5сек, т.к. не понятно сколько проходит с момента запроса в тинькофф до генерации

Такая же история с кодами для авторизации в Приватбанке (Украина), давно уже заметил. Они тоже используют хорошо запоминающиеся четырехсимвольные комбинации. Уверен, что это сделано для упрощения ввода кода подтверждения простыми юзерами.
Скорее фича. Не понимал никогда зачем сбербанк генерирует шестизначные коды, как и то что он года так до 2018 имел совершенно идиотскую страницу авторизации платежа, где кроме отстутсвия адаптива еще и всегда выплевывается стандартная мобильныая qwerty клавиатура вместо нумпада
Они тогда еще, видимо, про HTML5 не слышали, в частности в отделе, где делают эту самую посещаемую страницу. Тоже это жутко раздражало, особенно на телефонах с малой диагональю.
У сбербанка эти коды еще приходилось вводить в поле, которое скрывает набираемые символы, очень неудобно.
У газпромбанка так до сих пор, каждый раз плююсь, запоминая код в духе 281549 и вбивая его в поле, где символы скрыты звёздочками.
Фича для удобства запоминания и ввода говорите? Если первый и третий символ всегда одинаковые, не удобнее ли было бы запоминать и вводить трехзначный код?
Видимо нет. В голове проще держать 2 похожих двузначных числа, чем одно трехзначное. Например:
541 или 54 51
293 или 29 23
ИМХО так и правда удобнее.

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

Есть сомнения на этот счет. А варианты с единицей, точно хуже: 1811 вместо 181, 1610 вместо 160.
Для некоторых операций, как видно из статьи, СБ все-таки постановила необходимость использовать настоящий четырехзначный код. А учитывая, что и те, и те коды используются в рамках одного и того же UI, решение использовать «неслучайный» код напрашивается само собой: и коды «приятные» получаются, и UI/UX для трехзначных кодов не нужно пилить и проверять.
интересная статья, тоже и с Тинькофом и с парой-тройкой других банков анализировал смс-ки с кодом и действительно якобы случайные совсем не случайны особенно если брать для анализа последовательности. спасает только то что коды можно ввести только три раза потом для конкретной операции надо заново код получать и еще иногда некоторые банки изменяют длину котов с 4 до 5, 6 цифр или даже знаков.
Заголовок спойлера
image
image

Да, коты они вообще такие, могут иметь произвольную длину )
Я заметил что некоторые сети банкоматов, при использовании заграничных карт, запрашивают не 4-ре цифры, а пин до 6-ти цифр включительно, Вы случаем не знаете почему так?
Пин-код может быть длиной не только в 4 цифры, адекватные банкоматы ожидают это.
Окей, а какого от меня все, знакомые мне, банки требуют именно 4-ре?
UFO just landed and posted this here
Банк с яйцом 6 цифр просит, например

Хе-хе.


Исландия, автоматическая заправка. Колонка принимает мою карту и просит ввести пин. Правда, он у меня шестизначный, а колонка после введенной четвертой цифры запускает проверку пина. При этом кнопки отмены/коррекции не позволяют отменить операцию и забрать карту ни на каком из этапов.


Конец немного предсказуем: после третьей попытки колонка выплевывает карту со словами "карта недействительна". К счастью, мой банк был по-видимому знаком с такими ситуациями и карту блокировать не стал.

По спецификации китайской ПС (China Union Pay EMV) PIN код — 6 цифр.
Многие Российские банки поимели с этим проблемы в ПО банкоматов где прибито гвоздями 4 цифры PIN на ввод.


А теоретически длинна PIN допускается от 4 до 12 цифр (см. форматы PIN блоков)

Откуда люди берут в длине две «н»?
Смущай таких — проси напечатать: длинна длина Двины :)

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

У Тинькоффа весьма регулярно, примерно раз в месяц ловлю 4 цифры ОДИНАКОВЫЕ… весьма разочарован в их «случайном» генераторе
С точки зрения теории вероятности, это могут быть вполне случайные величины, но не с равномерным распределением!
С точки зрения криптографии в этом нет ничего плохого, ведь для каждого алгоритма надо считать вероятность угадывания следующего числа, вы ожидаете, что она равна 0.01%, но возможно она 0.1%, думаю она не более 1%.

Дальше эту вероятность можно использовать для некоторой атаки, успешная атака может существовать со случайностью и 0.001%, а может не существовать и с 10% (например, если штраф равен выигрышу).
Это еще что, мне знаком случай когда втб сгенерировал пин карты: 4444. Причем самому задать такой пин код он не дает, а вот сгенерировать — пожалуйста.
Скорее всего, здесь нет никакой проблемы. В случае случайной генерации 4444 — это обычное случайное число. А в случае генерации человеком наоборот — часто используемая комбинация, которую разумно запретить.
Это значит, что так настроили HSM, используемый в персонализации пластиковых карт. В стандартной настройке что Thales, что SafeNet имеют блэклисты на простые пинкоды (более 4 повторяющихся цифр + еще какие-то, которые при подглядывании сбоку за движениями пальцев над пинпадом (не видя кнопок пинпада) позволяют существенно повысить вероятность подбора пинкода).

Либо ВТБ закупил китайского клона SafeNet (в котором нет функционала блэклистов). У SafeNet, кстати, очень приятный и внятный API по сравнению с Thales, поэтому китайцы очень любят его копировать.

Например, все одинаковые цифры и 3 попытки на ввод дают вероятность 30%, что злоумышленник получит доступ к карточному счёту, если у него окажется ваша карта.
Например, все одинаковые цифры и 3 попытки на ввод дают вероятность 30%, что злоумышленник получит доступ к карточному счёту, если у него окажется ваша карта.

для этого злоумышленик должен знать, что все цифры одинаковые
Как раз на днях размышлял об этом. От сбера почти всегда приходят шестизначные пароли, которые можно читать в рифму.
Может программист «фанат» Маяковского:
2 46 38 1
116 14 20!
15 14 21
14 0 17.

Это фича.


В банковских приблудах пин генерится примерно по такому алгоритму:


1) Взять 3 случайные цифры;
2) Одну из этих 3 цифр взять ещё раз;
3) Вписать её в случайное место кода, но так, чтобы две одинаковые цифры не шли подряд


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


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

Количество вариантов уменьшается: убраны все нерифмованные варианты

Для одного человека — да, а по большой выборке — нет: у одного будет "рифма" 1213, у другого — 2131, у третьего — 1231.

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

Я обычно делаю так: накрываю пальцы правой руки левой ладонью, складываю пальцы в правильный жест, и уже получившийся «домик» тащу к пинпаду. Но даже если ничего не закрывать рукой, разглядеть статическое положение пальцев и последовательность их нажатия гораздо тяжелее, чем увидеть перемещение пальца от цифры к цифре.
По крайней мере, это не во всех банках. В Альфе, например, подобных особенностей не заметил — все 4 цифры пинов разные.
Если они всегда разные, это тоже нарушение равновероятности)
Нет, ну не совсем всегда) Бывает, и равные цифры встречаются.
Проверил свои сообщения от Альфы. Терпения хватило пролистать 25 последних чисел. 15 из них имеют две или более одинаковые цифры. Хотя по идее должно быть где-т 50/50.
На такой малой выборке может быть и не 50 на 50. Вам надо проанализировать хотябы 1000 чисел.
Не про пины речь, а про коды подтверждения операций. Во-первых, в них у Альфы 5 цифр. Во-вторых, аналогичной закономерности, посмотрев сейчас примерно месячную историю СМС, я не заметил.

Автор, конечно же это фича, я и сам давно заметил, но фича-то удобная. И стоит ли так париться о её меньшей безопасности, чем если бы использовался полный рандом и/или бы использовалось больше цифр? Если сообщение каким-то образом может попасть к злоумышленнику, это не будет иметь значения. А неиллюзорная возможность угадать код существует всегда.
Вы не проводили эксперимент онлайн-покупки, вводя данные своей карты и пытаясь угадать код из СМС. Сколько попыток на один код? После скольки попыток повторной генерации кода банк заблочит возможность оплаты и сообщит вам, как владельцу карты, об этом?

UPDATE:
Мне стало интересно, провёл опыт.
Попытка оплаты №1: после 4-й попытки неправильной попытки ввода кода, банк отклонил попытку оплаты, и браузер вернуло в магазин с неуспешным результатом.
Попытка оплаты №2: аналогично
Попытка оплаты №3: аналогично
Попытка оплаты №4: аналогично
Поднял VPN в US и сделал ещё 2 попытки на бОльшую сумму — аналогично.
Далее не стал :)
Блокировки карты или звонков из СБ не последовало.
Я только хотел понять случаен ли код. Выяснил, что код случаен, но множество не равно ожидаемому на 4 цифры. А так — не парюсь. Просто было подозрение, что генерация происходит по какому либо алгоритму, который можно зареверсить — и вот это моей паранойе не давало покоя. Но видно, что 3 цифры участвующие в распределении имеют (насколько можно судить по такой малой выборке) вполне равномерное распределение.
UFO just landed and posted this here
Если в современном телефоне убрать в настройках удаление старых СМС — можно смело хранить их за много лет. И то, в android там стоит изначально лимит 1000 смс и 100 смс от одного контакта.

Я Вам больше скажу:
я у себя технические СМС-ки даже не отмечаю прочитанными.

А зачем их специально удалять? Они не ограничены 20 смс, как при хранении на симкарте, памяти не едят.

UFO just landed and posted this here
Что тут удивительного? Прошли те времена с ограниченной памятью на СМС не более 100 штук…
Прошли те времена с ограниченной памятью на СМС не более 100 штук…
Если бы… (У меня такой: ограничение 100 СМС. И «Встроенная память (ROM) 32Mb» немного вводит в заблуждение: пользователю из них доступно 25КБ (да, _килобайт_) ).
Всякое может быть, но использование подобных телефонов это сознательное а не техническое ограничение и не имеет массового характера.
У меня кстати с прошлого телефона фобия осталась… он при удалении СМС через раз удалял не выделенную а рандомную… весело так было. Вжух… и ушла свежая СМС с кодом ещё не полученной посылки — решил старые почистить…

Спасибо, что провели анализ.
У меня тоже в каждом "неслучайном" коде есть две повторяющиеся цифры.
Для меня это удобно.


Думаю, что это не баг, а фича Тинькофф банка.

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

Являюсь клиентом Тинькова, фичу подтверждаю.
Странно что паттерн всегда один и тот же, могли бы делать "альтернативно рифмованные" коды типа 1223, запоминается ничуть не хуже

Почему не используют двухфакторную аутентификацию 2FA для интернет банков?

SMS это и есть второй фактор.

я про Google Authenticator, Яндекс.Ключ и т.п.
А чем это удобнее пуша или смс? Если вы совершаете операцию в интернете, требующую код, то, наверняка, вы способны получить пуш или смс.
Про безопасность не говорю, всегда можно придумать что-то побезопаснее, но надо соблюдать баланс между безопасностью и удобством.
Я выше привел пример с газпромбанком с их шестизначными кодами в конце длинного СМС (которое надо открыть отдельно, так как код не умещается во всплывающем уведомлении), которые надо вводить в поле под звёздочками.
Безопасненько? Наверное, чуть безопаснее, чем четырёхзначный код и поле без звездочек, но я всей душой ненавижу пользоваться 3D-secure от ГПБ
Это даёт именно безопасность. Ну и не требует интернет на телефоне, если он есть только на компьютере, например (если сравнивать с пушем). Не требует наличия сотовой связи, если с ней есть какие-то проблемы, если сравнивать с СМС. Ну и в целом — TOTP работает мгновенно, а не зависит от текущего качества кучи прочих служб (доставки пушей и смс).
ОТР прекрасны в плане безопасности, я не спорю. Но есть одна деталь, ОТР — это удел сознательных интернет пользователей и гиков.
Даже у такого продвинутого и модного-молодёжного банка, как Тинькофф, процент пользователей, активно пользующихся ОТР, составит ну не больше 10-15. А остальных надо как-то обучить. Нужна ли такая безопасность в случае с одноразовыми кодами, живущими пару минут, в ущерб удобству?
Вопрос в том, что это должно быть выбором для пользователя, а не обязательным для всех. Кто-то предпочитает СМС, кто-то — OTP. Хуже только ситуация, когда для регистрации OTP в сервисе сначала принудительно заставляют регистрировать СМС. Так, например, делает Вконтакте. В итоге, вместо усиления защиты — сплошное ослабление.
Но есть одна деталь, ОТР — это удел сознательных интернет пользователей и гиков.

Мне кажется, это зависит от политики банка. Живу за пределами РФ, тут местный банк вовсю рассылает фирменные аутентификаторы вместе с картами. Хочешь заплатить в онлайне — берешь девайс, вставляешь в него карту, вводишь пин-код (!), вводишь код с экрана компа, оно думает и рожает на свет божий второй код, который нужно ввести в браузере, и вот только тогда платеж проходит.
И люди этим вполне пользуются.
Не Эстония ли это? У них там с карточками весело все.
Нет, Нидерланды. Кстати, да, с карточками тут тоже достаточно весело — если вкратце, то вот этой картой нельзя просто так взять и заплатить в интернете. Только на тех сайтах, где подключена местная платежная система iDeal. Справедливости ради скажу, что этот «айдил» поддерживают все локальные сайты, которые чем-либо торгуют, и даже многие зарубежные принимают платежи с помощью него. Но вот там, где принимают только стандартную Визу/Мастеркард — там не заплатить никак.
пример… с их… кодами в конце длинного СМС (которое надо открыть отдельно, так как код не умещается во всплывающем уведомлении)

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

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

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

Я отвечал на комментарий, где в качестве примера привели именно кражу телефона.
Описанный вами вариант, конечно, тоже реален, но насколько вероятен? От кражи телефона и карты никто не застрахован, а нахождение человека в нечестной компании и засвет банковской карты вместе с оставлением телефона наедине с этой компанией, зависит от самого человека и не должно касаться ИБшников банка.

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

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

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

И вообще кража это палево. А вот если нашел сумку с телефоном и кошельком, перевел потратил деньги, и вернул владельцу, то ты няша.
Но телефон его может проигнорировать. Ввод пин-кода от симки не есть обязательным для её полноценной работы, это скорей «защита от дурака».
Я по своей наивности когда-то думал что пин-код как-то сверяется внутри симки и она не работает без его ввода, если он обязателен… но… как-то я подключал разъём зарядки, он стал криво и вошел не сразу видимо «пошуршав» напряжением и… телефон вдруг включился и разблокировался без ввода пин-кода. Очевидно, это был баг пошивки не предусматривающий нестабильное напряжение питания во время пробуждения со стороны зарядки…
Интересный опыт. Но даже если на современных симках это так, модификация телефона подразумевает достаточно серьезных людей с некоторой квалификацией. Их число обязано быть значительно ниже, чем мелких воришек и тд.
Да какое там модификация… был бы спрос, были бы автономные приборчики для снятия пин-кода с симок. Но сейчас это не актуально, больше упор идёт на защиту содержимого телефонной памяти чем симки ибо симку сейчас проще перевыпустить с чистым пин-кодом чем что-то с ней делать, причем даже в варианте если бы код был бы криптографически стойким.
Пин защищает от ситуации с утерей сумки, например. Когда «нашедший» не является кардером, но имея ваш телефон и кошелек может забрать все деньги со счета.
UFO just landed and posted this here

На заблокированном телефоне, что пуши, что смски на экране маскируются...

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

Да, верно. Это становится дефолтной настройкой для множества телефонов…
А те китайские поделки, где эта настройка не активирована… Ну, тогда это, очевидно, становится проблемой владельца аппарата.

Раньше использовали. Тот же Ситибанк лет 10 назад давал несколько листов с одноразовыми паролями для входа в банк-клиент. Сейчас все перешли на СМС, и это, конечно, хуже в плане безопасности.

iOS умеет подставлять присланный код из SMS, очень удобно. Надеюсь, андроиды тоже умеют.
Проблема с сервисами Гугла и MS, там код длинный и перебивать надо с мобильного, что для 7-значных паролей сложно.

Умеют, если приложению дать права.

на iOS права не требуются, смску читает клавиатура, а не приложение

Safari на macOS тоже подставляет коды из СМС. Но как и iOS работает не со всеми СМС.

Расскажите, почему банки так пекутся о «неразглашении» этих кодов? Что такого может сделать злоумышленник, зная код подтверждения моей транзакции?
Вопрос тут не в том, что это ваша транзакция — с ней проблем нет. Есть ситуация проще:
«Здравствуйте, мы из поддержки банка. Требуется подвердить ваш номер мобильного телефона, продиктуйте, пожалуйста, код из сообщения.» И множество людей поверит в подобное. Что приведёт к краже денег, например.
Это один из вариантов 3DS-авторизации, на случай, если утекут данные вашей карты (с какого-нибудь сайта, который вопреки правилам платежных систем логировал и хранил их, или просто ваша карта попала кому-нибудь в руки и он запомнил/сфотографировал PAN, expiration date, cardholder name, CVV2/CVC2), то злоумышленник может быстро опустошить ваш картсчёт за с помощью CNP-транзакций.
Обычно это выглядит следующим образом: вы ставите один и тот же пароль в интернет-банке и в магазине ozon, логин конечно же совпадает с почтой, дальше база озона с паролями утекает в сеть, и вам остаётся только сидеть и наблюдать, как сваливают денежки с вашего счёта. Если конечно злоумышленник каким-то образом знает коды подтверждения транзакций.
Если злоумышленник сфотографирует вашу карту и попробует оплатить ею что-либо в интернете, то на странице подтверждения он может попробовать выудить из вас одноразовый код. Та же ситуация, например, если вы ушли обедать, а на вашем компе активна сессия в веб-версии вашего банка — если злоумышленник попытается провести какую-то операцию, то ему тоже понадобится этот код.

Не во всех кейсах критически важна секретность кода. Но, я думаю, здесь цель приучить пользователей хранить данный код в секрете в любой ситуации.
Еще явно слишком много повторов трех цифр — 20.5%, при том что теоретическое значение — 3.6%.
UFO just landed and posted this here
Да, давно замечал такое у Тинькоффа, но проверять было несколько лень.
Зато: на той неделе делал покупки в интернетах, где-то с интервалом в 2-3 минуты получал пару кодов. Мне пришли числа подряд (типа abcd и abcd+1). А одно из них ещё и мой пин-код на эту карту… В общем, троллит меня Тинькофф :)
Еще +1, кто подтверждает повторяющиеся 1 и 3 цифру.
Гораздо удобнее, чем сбер — их 6 цифр я иногда записывал на бумажку, если она была под рукой.
А я напомню поговорку подальше положишь поближе возьмешь.
Украв карту и телефон сняли с банкомата, зашли в лк подняли лимит и сняли всё.
А так всё было удобно, да. Не храните много денег в кармане, даже виртуальном.
Это очень кайфная фича. Давно ее заметил и очень радуюсь, что не нужно в принципе напрягать мозг на эту задачу — любой пин откладывается в памяти моментально.

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

Почему с телефона оплачиваешь? Можно и с компа оплачивать.
Ну, и всегда есть второй фактор — будь то юзернейм-пароль к банку, или пин-код на банк-клиент (если речь про планшет)

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

Почему это? У меня вот как минимум в половине случаев не так.
Там немного другая история и малая выборка. ТС там намекает, что в конце всегда 9 или как минимум вероятность 9 в генерации очень завышена. Но в связи с малой выборкой говорить что-то сложно. При нормальном распределении вероятность того, что в коде будет хоть одна 9 — примерно 45% что очень много.

Да, математика понятна, конечно. Просто дополнил комментарии своим случаем.

Стоило один раз пройти собеседование в банк чтобы узнать что 2 одинаковые цифры в проверочном коде это фича для простоты запоминания

Автор, а ты пробовал задать вопрос в службу поддерки банка? Хотя бы на форуме банки.ру? Обычно, они хоть что-то, да отвечают.
Что касается самого вопроса, то лично мне в самых разных банках таким же образом пин-код карты генерят. За редким исключением 2 цифры из четырёх совпадают.
Не совсем понятно о чем спор. Если у кого то будут полные данные вашей карты с CCV эти коды не помешают снятию денег.
Если бы это было так, кардерам было бы достаточно фотографировать обе стороны без заморочек со снятием пин кода.
А так и делают. Заморочки с пин-кодом, это если они хотят наличку с банкомата снимать. Но есть ещё масса способов как увести деньги с карты без банкомата. Особенно относительно небольшие суммы. Но пока опомнишься и начнёшь блокировать карту с неё могут списать приличную часть вашей з/п… именно так и происходило у знакомых в 4 часа утра после того как «засветили» карту в магазине.
Такие транзакции в принципе можно оспорить, но скольких это будет стоить нервных клеток, да и вернутся средства могут через пол года. То ещё удовольствие, выцарапывать у банка СВОИ же деньги.
Я не нашёл упоминание парадокса дней рождений ни в одном комментарии. Если считать, что у нас 10 цифр и код 4 знака, то вероятность, что две цифры будут совпадать получится 1 — 10*9*8*7 / 10000 = 0.496. В статье посчитали вероятность, что две цифры будут равны какой-то конкретной цифре, а не просто совпадут. Потому парадокс дней рождений и парадокс.

У человека удивительная способность находить закономерности там, где их нет. А анализ на случайность надо делать совсем по-другому. Например нарисовать гистограмму кодов хотя-бы, или провести статистический тест.
Ну строго говоря да, в статье считают для 1 и 3, а я для произвольной пары. Надо сначала разобраться как часто совпадают другие пары и насколько это отличается от равномерного.
Не очень понятно, о каком «поиске несуществующих закономерностей» вы говорите, когда вероятность совпадения 1 и 3 цифры кода для подтверждения определенных операций — 100%. Очевидно, мощность множества значений таких кодов снижена как минимум на десятичный порядок от тривиальных 10000, об этом и статья. Дальше-то можно разбираться, конечно, но повысить мощность обратно уже не получится — только еще сильнее снизить.

Я понял свою ошибку. Действительно упустил момент, что есть разные типы операций.

Просто подразумевается, что если вы уже вошли в аккаунт, то для всяких «мелочей», не влияющих на его дальнейшую работу слишком секьюрный код не требуется, и удобство важнее. Особенно, если операций много. Есть шанс, что на больших суммах коды тоже усложняются, но день проверять, если честно (да и не куда мне большие суммы переводить вот так вот из любопутства).
1 и 3 цифры при подтверждении операций совпадают всегда. При входе в аккаунт — почти никогда (на самом деле — в соответствии с тервером, а «никогда» это метафора для сравнения с «всегда»). Вопрос закрыт=)
Как правило такой код генерируется последовательно, то есть каждая цифра самостоятельно.
например:
  • в качестве базы для первой (она же третья и пятая) цифры берется сумма
  • для второй номер месяца (или дня недели)
  • для четвертой текущее время


Такая технология применяется не только банками, но и операторами связи. Разумеется конкретный алгоритм не разглашается.

Вероятность «угадать» такой код составляет от 1:100 до 1:1000 (для описанного кода).
Учитывая, что операция выполняется верифицированным пользователем 4-х значного кода более чем достаточно.
Sign up to leave a comment.

Articles