Совершая очередную транзакцию в моем любимом банке Тинькофф, получил уже привычное сообщение:
Никому не говорите код: 3131! Перевод с карты ****. Сумма ***.00 RUB
Если будут спрашивать — я вам его не говорил.
И снова взгляд зацепился за интересное совпадение цифр в «случайном» одноразовом коде (вспомнился Нео с чёрной кошкой). В итоге решил поднять всю историю сообщений, чтобы посмотреть, насколько случаен «случайный» одноразовый код и чем это может грозить.
В телефоне нашлось всего 234 таких сообщения за прошедший год. Все эти операции можно разделить на 2 типа: неслучайный код (190 штук) и случайный (42 штуки).
В категорию неслучайного кода относятся все операции покупки в интернете, операции перевода между своими картами. А на операции оплаты через мобильный банк, установку пин кода, вход в интернет банк, переводы третьим лицам приходят случайные коды.
Итак, были выбраны все неслучайные коды и отсортированы по возрастанию:
0200 0207 0207 0208 0301 0307 0308 0401 0602 0706 0802 0808 0809 0900 0901 0903 0905 1119 1315 1515 1516 1516 1610 1614 1712 1715 1715 1715 1812 1812 1818 1918 2121 2125 2128 2220 2226 2228 2321 2325 2325 2423 2429 2528 2621 2721 2723 2727 2826 2827 2926 2927 3131 3131 3134 3231 3234 3237 3335 3432 3437 3637 3734 3736 3831 3832 3930 3932 3937 3939 4140 4143 4149 4240 4243 4442 4443 4448 4546 4640 4640 4641 4641 4842 4843 4844 4941 4946 4948 5153 5154 5158 5250 5250 5350 5354 5355 5454 5455 5550 5556 5557 5557 5558 5559 5653 5653 5659 5755 5755 5852 5950 5954 5956 5957 5959 6160 6162 6168 6261 6267 6366 6368 6369 6567 6761 6861 6863 6867 6960 7273 7370 7379 7473 7473 7570 7578 7670 7673 7679 7771 7772 7773 7773 7778 7877 7971 8189 8388 8480 8581 8581 8583 8586 8587 8587 8688 8782 8785 8886 8887 8981 8982 8983 8984 9192 9193 9195 9197 9199 9394 9395 9492 9493 9496 9499 9595 9596 9693 9793 9794 9890 9895 9897 9897 9899 9899 9990 9993 9995
Как видно невооруженным глазом случайность этих кодов вызывает сомнения. В каждом коде 1 и 3 цифры совпадают, причем для выборки из 190 штук мы имеем 19 дублей кодов.
Посчитаем вероятность получения двух одинаковых чисел на первой и третьей позиции:
P = 0,1 * 0,1 * 10 = 0,1
Не так уж и невероятно получить код с одинаковыми цифрами в первой и третьей позиции, хотя интуитивно я считал, что это более редкое событие.
Но вернемся к выборке. Какова вероятность получить 190 кодов подряд, в которых первая и третья цифры совпадают при равномерном распределении?
P = 0,1190
Таким образом четырехзначный код превращается в трехзначный.
Возможно в сообществе найдутся знатоки теории вероятности и смогут вытащить из этих данных больше информации, буду рад почитать в комментариях.
P.S. Возможно такая ситуация наблюдается только у меня и связана с алгоритмом генерации кодов на основании данных клиента, например. Прошу сообщество посмотреть, имеет ли данная проблема массовый характер.
UPD.: вторая цифра всегда больше 0. Таким образом остается 900 комбинаций
alex_ter
Очевидно же, что коды подобраны таким образом, чтобы их удобнее было запомнить. Для одноразового пароля, срок жизни у которого минута и количество попыток угадывания крайне мало, это нормально.
alekssaff Автор
Насколько помню свой пользовательский опыт, попытка одна. После неверного кода присылают новый. но вероятность угадать получается 1/1000, что в принципе не такая уж и маленькая вероятность. Сбер например шлет 5-6 цифровые коды. Вопрос в том, как быстро банк заблочит карту при попытках перебора
alekssaff Автор
Нет, ошибся, все-таки несколько раз дает ввести
Pashkevich
Кстати мне, как пользователю, крайне тяжело запоминать и вводить 6 цифр. Когда 4 цифры — уже хорошо и УДОБНО. А если действительно коды сделаны так, чтобы удобно было запоминать (это я про повторяющиеся цифры) — тогда благодарность им за удобство пользователя.
SakuradaJun
6 цифр спокойно запоминаются как два трехзначных числа.
OlegMax
А если применить индукцию к этому правилу, то sky is the limit.
eefadeev
Или как шесть однозначных :)
dmitriym09
3 двухзначных)
Catsys2
А разве сегодня это актуально? в ios уже давненько есть функция распознавания кода в смс и код предлагается в клавиатуре быстрого ввода. В андроиде это тоже вроде на подходе, а пока есть программки, копирующие коды в буфер. например мое творение работает на основе регулярок ищет код в уведомлениях. было запилено для себя и в данный момент не поддерживается, но вроде как работает на последних андроидах.
Pashkevich
С телефонами всё хорошо. Только я еще и в компьютер ввожу коды, которые приходят на телефон )))
Catsys2
да, забыл про это, виноват. Яблоки расслабляют своими фичами с общим буфером и imessage. На андроидах я pushbullet юзал. Он зеркалит смс в расширение хрома. + умеет принимать уведомления по апи, что полезно для мониторинга сервисов.
Busla
… и прощай второй фактор
Шарик, ты — балбес! (с)
Catsys2
с чего бы?
TimsTims
Потому что смс обычно применяются как последняя сторона защиты от автоматического вывода денег со счетов. Если ваш компьютер взломали, то вряд-ли взломают ещё и телефон. И почти единственный способ получить у вас пароль — соц.инжиниринг.
Catsys2
что значит компьютер взломали? получили доступ к закрытому rdp? подпихнули мне исполняемый файл в защищенную директорию и запустили от имени админа и ввели мой пароль? Установили незаметно
для меня расширение в браузер, подтвердили установку и кликнули по нему для активации? если нет, то я не вижу способа получить доступ к моему браузеру и его расширениям. тем более логически связать компьютер с телефоном. Нет, технически это можно сделать, но нужно потратить довольно много времени и сил на слежку и анализ неизвестной ценности аккаунта. Что делает это «экономически невыгодно» (с)
А вообще с этой точки зрения мак — супер-дырявая штука т.к. имеет imessage и о каждой смс приходят уведомления на комп. Что уж говорить об телеграммах, стимах и пр. только вот считать это все надо постараться…
usheynet
Вы о чем? У меня 2 мака и афйон, из общего только imessage, никаких уведомлений на машинах про СМС на телефон не получаю. К тому же пуш адресуется не только на учётку, но и на конкретное устройство — пуши с кодами банк-клиентов на телефоне доступны только на телефоне.
Catsys2
я про смс. У вас не настроена пересылка смс на компы.
usheynet
Нашел, как это сделать. Не просто так они это так глубоко спрятали, да ещё пароль телефона для включения опции требуют. Подход "всё для пользователя, который отдает отчет в своих действиях", так что тут уязвимость — это человек, а не компьютер.
TimsTims
Вы рассуждаете будто тот кто будет вас ломать — охотится именно за вами. Этой действительно редкость. Чаще происходит так, что ловите мелкий непонятный вирус, а дальше уже злоумышленник копается, чего у вас можно украсть. Это может быть даже не сам хакер (он то свое дело уже сделал), а его подельник, который уже доделывает дело — занимается переводами, счетами, вводами кодов, обналом итд.
syschel
Небольшое дополнение. Не знаю как скакнул прогресс в этом деле сейчас. Но ещё лет 10 назад, подельников уже не было как правило. Были люди кто занимался сплоитами и юзали их или продавали. Были кто занимался написанием троянов/лоадеров, которые потом продавали в сборе или по билдово, а со временем вообще генераторы в паблик уползали. Были люди кто продавал загрузки «твоего вредоносного ПО на наш трафик». То есть это уже был огромный рынок узкоспециализированных людей и услуг. Ну и была огромнейшая куча софта для автоматизации.
То есть список из действий в «доделывал», так же тогда делался автоматическими методами.
Что уж говорить про трои, которые живя в системе, могли подменять страницы известных банков, чтобы получить одноразовый пин, отправить хозяину и заблокировать интернет на машине пользователя? Наверно круче были только те, которые сами осуществляли переводы.
Сейчас я думаю всё это ещё сильнее ушло в автоматизацию. И всё берётся массовостью, а не точечной работой. Проще наверно загрузить вредоносное ПО, которое само подгрузит всё что надо и сделает что надо, на сотни тысяч устройств. Чем ковырять руками одно-два. Отдавая основную массу усилий «оператора» на настройку этой «фермы».
iddi
если настроена синхронизация сообщений с компьютером, то коды и в браузере на компьютере подставляются
t3sc0
для ввода на компьютере его даже запоминать не надо, вы можете смотреть на телефон и набирать на клавиатуре
da411d
Тоже с другом на коленке делали что-то похожее=)
BigBeaver
И двухфакторная аутентификация превращается в однофаторную.
domix32
Не очень понятно в какой ситуации вообще необходимо их запоминать. Они же (почти) одноразовые для подтверждения операций.
Pashkevich
Чтобы заполнять на сайте. Т.е. код пришел на телефон — а вводить нужно на компе.
DaemonGloom
Если это ваш телефон и ваш компьютер — существует множество способов синхронизировать уведомления. Это крайне удобно.
Mishootk
gecube
и зачем запоминать? Кладешь телефон рядом с ноутбуком экраном вверх и просто переписываешь код ) Хотя у меня, да, буферной памяти на 6 цифр хватает.
UksusoFF
В случае если ты поставил себе приложение которое блочит смс с коротких номеров и номеров незнакомых людей, то даже банковские приложения не доберутся до смс. Тут надо запоминать, сворачивать одно приложение и вводить код в другое. Но это конечно довольно редкий кейс.
Mavr007
По этой же причине тот, кто придумал пин-коды (не вспомню сейчас фамилию) сделал их четырёхзначными, потому что жена его не могла запомнить больше четырёх чисел… ну, так гласит легенда.
Jesting
Пин-код может быть более 4х знаков. По этой причине банкоматы чужого банка не завершают автоматически ввод кода после набранных 4 символов, как это происходит со своей картой в своём банкомате.
Dimes
ну справедливости ради — АТМ (конечно эквайер) сам сообщает пин-код какой длинны он может принять банку в котором заведена карта (то бишь эмитенту) и соответственно полученный пин-блок будет содержать только введёное количество символов пин-кода (зашифрованное под ключами платежной системы).
Jesting
Это не так работает.
Если кратко и без заумных слов, то В банкомате есть таблицы с масками карт и ассоциированными с ними параметрами. Когда ты вставляешь карту то банкомат начинает сверять её номер с масками. Как только совпадение найдено банкомат узнает параметры ассоциированные с максой- это может быть как количество цифр в пин-коде, так и например переход на меню «для карточных продуктов банка» или же «для карточных продуктов других банков». Именно поэтому вставив карту ВТБ в банкомат Тинькова можно не увидеть специфических сервисов доступных только клиенту, обладателю карты банка.
Как правило последняя маска в этой таблице имеет вид XXXXXXXXXXXXXX и матчится с любой картой, несматченной с предыдущими масками.
Дальше банкомат спрашивает пин, вернее он даёт команду пин-паду принять пин, передав в параметах максимальное количество символов и необходимость автозавершения. Пин-пад принимает пин, но не сообщает его банкомату, лишь шлёт * при каждом нажатии, а так же сообщает о завершение команды и результатах (завершено по отмене, автоматически, по нажатию ввод). Если ввод пин не завершен нажатием кнопки Cancel или отменён по таймауту, введенный пин помещается в регистр памяти пин-пада. Получить в открытом виде его невозможно.
Следующий этап это получение пин-блока, опять же это команда пин-паду где в параметрах передаётся тип пин-блока (сейчас используется ANSI, он же ISO-0), PAN (номер карты), имя ключа на котором нужно зашифровать пин-блок.
Пин-пад генерит пин-блок, шифрует его ключом и отдаёт в таком виде софту.
Софт при запросе авторизации(ну например снятие налички, хотя можно и отдельно проверить пин) передаёт этот пин-блок хосту, который проверяет валидность пин (опять же это очень грубое упрощение), в случае если карта чужого банка то хост перешифровывает пин на межхостовых ключах и передаёт его дальше в ПС или банк-партнёр(как роутинг скажет). Подтвердить валидность пин-блока может только банк, выпустивший карту.
Смотри, как ты смог заметить нигде на этих этапах банкомат не сообщает никому какой длины ПИН он может принять. Более того, для тех кто знает механизм работы всей этой котовасии, подобная версия звучит крайне бредово.
Банкомат сообщает эмитенту что он может принять только 4 цифры пин-кода из 8ми и при это пин-блок остаётся валидным?
Dimes
Если физически устройство не способно принять больше 4 символов, то оно их и не примет.
Вы уже совсем в кишки полезли и немного не туда — в бин таблицах не определяется возможное количество цифр в пин-коде для рейнджа карты.
В диалектах МПС есть как раз поле (подполе в некоторых) в котором передается Pin Capture Capability (в МИРе например 26 поле) — как раз таки двухзначное число возможного количества принятых цифр ПИН-кода. Рекомендуется к ознакомлению :)
Jesting
BIN таблицы это маршрутизация на хосте. На банкомате FIT-таблицы, которые немного отличаются по содержанию. BIN-таблицы это роутинг, FIT это настройки для конкретной карты.
Dimes
Таки где взять длину пин-а если ее не дает МПС? а МПС дает именно БИН таблицы.
Jesting
BIN таблицы даёт не МПС. В целом по BIN можно узнать только то что есть на Bincodes.com — ТИП МПС, Продукт и банк. А самое главное это роутинг — он у каждого банка свой.
Jesting
Тип пин-блока и размерность пин-кода задаётся стандартами ISO. В МПС принят определённый стандарт пин-кода. Производитель хоста обязан поддерживать этот стандарт, если хочет работать в с МПС.
Аргумент про пин-пад не принимающий более 4 символов — тоже бред. Потому как всегда эти коды падятся 0 до 12.
Dimes
ps я же специально сделал пометочку что максимальное количество вводимых цифр пин-кода передает именно эквайер
Jesting
Так я и напсал что это — бред. Эквайер никому ничего не сообщает. Если количество символов не известно то ставится максимум — 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.
Dimes
за сертификацию банкоматов не скажу, но парк устройств банка это не только банкоматы — это и ретейловые устройства различные (не только стендэлоун терминалы), и множество видов устройств самообслуживания (киоски, транспортные терминалы и тд).
Ну почитайте хотя бы спецификацию любой МПС прежде чем это утверждать — привел же конкретный пример.
Jesting
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.
Alexeyslav
И что самое интересное пин-код не проверяется даже после ввода, он проверяется только когда начинаешь выполнять какую-то операцию предполагающую ответ от банка.
sumanai
ИМХО это чтобы преступник подольше покрутился перед камерами банкомата.
casusbelli-dn
В том случае, если это реально фича, а не баг, переросший в фичу %)
gro
А зачем делать удобный к запоминанию четырёхзначный код, который по надёжности равняется трёхзначному, когда можно сразу слать трёхзначный?
eximus
С таким подходом он будет сводиться уже к двузначному, что «далеко не есть гут».
putnik
Возможно, для многих четырёхзначное число проще удерживать в памяти как два двузначных (93-95), чем одно трёхзначное (935). И опять же, чуть больше данных о валидности кода, которые потенциально можно анализировать: если пользователь ввёл 8395, то он, скорее всего, опечатался. Для трёхзначных такой информации у нас не будет.
Assargadon
Насколько я понимаю, именно для этого и нужны огромные базы данных карточек.
Грубо говоря, если вероятность угадать код 1/900, то просто берём 900 карточек и 900 раз пробуем.
Конечно, вероятность работает не совсем так, и карточек для 90% результата нужно взять тысячи две+. Но это мелочи — принцип, думаю, понятен.
Occama
Если у банка антифрод не дурак, то случаи с угадыванием отправятся безопасникам очень быстро, а если дурак, то можно повести смсками высылать, всё равно не поможет.
m-rv
трехзначный код запомнить еще проще, но зачем-то присылают 4 цифры. думается мне это какое-то требование ЦБ, которое Тиньков обходит таким способом
stanislavkulikov
На самом деле нет. Сами попробуйте, например 54-56 и 546. Первое число намного проще запоминается.
Alternativ
Наверное всё это закончится, как только большинство телефонов научится подставлять коды из СМС. На примере моего банка: я до прочтения статьи даже не вспомнил, что же там за коды приходят. Посмотрел — о, ужас! 4-символьный буквенно-цифровой случайный код ) Но я его не ввожу, он сам — это тоже удобство пользователя.
EminH
А случайно не знаете исследования проводились в этом направлении? То есть генерация случайных чисел которые легко запомнить.
fotofan
ЕМНИП раньше коды были действительно случайные, а точнее, некрасиво-случайные, вроде 9671. Потом систему стали нагружать повторные отправки и она оптимизировалась введя красиво-случайные коды
borisovEvg
У меня такая же ситуация. подтверждаю. Но я всегда думал что это не случайно ( в смысле, чтобы нам было удобно%) )
ProfBiss
Истиный случайный генератор обычно и выдаёт не случайные по людским ощущениям последовательности
ProfBiss
Apple кстати сталкивались с этим, пользователи жаловались на то что треки проигрываются в неслучайном порядке. В итоге эппл профиксили алгоритм, сделав его псевдослучайным.
0xd34df00d
Я в свое время в плеере, который я писал, это пофиксил, заменив рандомный выбор следующего трека на рандомное перемешивание плейлиста в самом начале воспроизведения. Полтора пользователя моего поделия сказали, что стало лучше.
arkamax
Имел такую же ситуацию с похожей поделкой (CD плеер), решил так же.
e_finkel
Всегда казалось, что это и есть верный способ получить рандомный плейлист. Потому что ну правда же нужен случайный порядок всех треков, а не следующий случайный. Ни разу не встречалось, и здорово узнать, что кто-то сделал.
screwer
Будет заметно, что после песни ААА всегда слебует БББ. Ичем короче плейлист — тем это заметнее.
DaemonGloom
Это только если с рандомом беда совсем. Иначе при воспроизведении всего круга или выключения/включения плеера будет просто собрана новая последовательность треков (в разумной реализации).
e_finkel
Так перед каждым прослушиванием надо перемешивать. После ааа всегда ббб это, считай, по порядку.
dimm_ddr
semen-pro
В вк в последнее время рандом как-то сортирует треки по похожести / личным предпочтениям и получается не случайный список, а псевдослучайно — персонализированный. Я один это заметил?
ozonar
Так было в Winampе, и было действительно удобно — нажав кнопку «предыдущий трек» включался предыдущий трек, а не случайный.
wladyspb
В винампе было много хорошего, чего мне до сих пор не хватает в онлайн плеерах...)
ozonar
Это да. В честь юбилея у яндекс.музыки была промо страничка с копией винампа. Пользовался, пока не закрыли — удобнее самой Яндекс.Музыки даже в таком варианте
we1
Ну так ведь это единственно правильный вариант: «воспроизведение всего плейлиста в случайном порядке».
Ergistael
Конечно. Именно при таком случайном порядке можно включить предыдущий трек, если хочется его еще раз послушать, а новая песня уже началась. И дублей не возникнет, пока не послушаешь все треки в альбоме.
ainoneko
Да при любой сортировке зачем пользователю две кнопки «другой случайный трек»?!
«Предыдущий трек» и должен быть тот, что играл предыдущим (я согласен даже не хранить всю историю, когда можно дойти до самого начала воспроизведения плейлиста).
TheShock
Ketovdk
не факт. Ну или я не понял, как вы это поняли, с учетом того, что описания алгоритма нет особо. Может и псевдослучайное
Kolegg
В vlc странный генератор рандомных видео. некоторые мультики повторяются намного чаще чем другие, вероятно сначала рандомно выбирается папка для проигрывания, а потом уже файл. А из-за того, что в некоторых папках мультов в разы меньше, то и получается такой эффект.
TimsTims
В mssql тоже есть свой прикол — везде пишут, что для сортировки по рандому пишите order by newid(). Однако чем больше разрыв значений у первичного ключа, тем странные будет результат.
Например есть сотрудник Маша, у которой ид 1, и работаетуже 10 лет. А есть Василиса, у которой ид 1000, и Саша 1001. Так вот, у Маша в сортировке по рандому будет выпадать примерно в 10 раз чаще, чем остальные.
Vanadium
У спотифая в блоге есть интересная статья про это: labs.spotify.com/2014/02/28/how-to-shuffle-songs
TheShock
Вот интересно, если верить этой статье, то, при условии, что у нас есть исполнитель А, для которого 10 песен в плейлисте и исполнитель Б, для которого 10 песен в плейлисте, то всегда после исполнителя А будет играть исполнитель Б. Ну во всяком случае я так понял на базе этой статьи
Sirion
Да, но это не тот случай.
Mishootk
«Зарифмованый» числовой код человеку проще перенести из мобильного телефона на компьютер. Может показаться смешным, странным и необычным, но большому количеству людей тяжело выполняя непривычную им операцию общения с онлайн-банком еще параллельно запоминать код и вводить его. Например, существуют люди, которым очень сложно заполнить анкету (бумажную). Заполняя поле телефона впишут туда адрес. Даже копируя с черновика (уже испорченной анкеты). «Рифма» же копируется через буфер обмена в голове легче. Возможно есть набранная статистика по количеству ошибочных вводов. И красивое четырехзначное число легче перекинуть чем обычное трехзначное.
gecube
Мне тоже сложно заполнять анкеты. Всегда получается успешно со второго раза. А уж когда нервничать начинаешь (а обстановка в госучерждениях только к этому и способствует)… Но вот с вводом пин-кодом никогда проблем не возникало.
fotofan
Существует железобетонный способ запоминать пин-коды. Цифры заменяем словами, начинающимися на ту же букву. Слова имеют связное по смыслу предложение. Хак: чем диковиннее смысл, тем лучше запоминается. Пример: 1234 — Оранжевый Дятел Травит Частушки
Avg00r
Дятел это Два или Девять?
fotofan
Ждал этого вопроса. Если уж встретились в одном коде два и девять можно подбирать слова на Дв и Де. Вообще, метод не запрещает числительные. Главное, запоминающийся текст
ainoneko
Есть и более продвинутый подход, когда числовое значение имеют только согласные:
(один из вариантов: {0: нл', 1:'кг', 2:'бхц', 3:'тз', 4:'чр', 5: 'п', 6: 'шщж', 7: 'см', 8:'вф', 9: 'д'}).
Тогда 1234 -> 'кобзарь' или 'кубатура'. (Или разбить на пары и «якобы утро» (или заранее подобрать слова для всех чисел от 00 до 99).)
fotofan
Так заморачиваться стоит, если вам нужно помнить десятки кодов. Вообще, мнемоника, это целое направление с кучей статей и книг. Один композитор помнил все телефоны своих друзей, переведя их на ноты. Есть стишки для запоминания числа пи и т.д.
JC_IIB
«Надо просто постараться и запомнить все, как есть — 3, 14, 15, 92 и 6...»
Как рассказали мне лет в 6, так и легло в память. Намертво.
malefix
Это же надо ещё словарь запоминать)
Польза появляется при наличии где-то 3-4 и более разных пин-кодов, и то, при условии, что частью пинов пользоваться часто (чтобы словарь не забывать), а частью — редко (и пин легко забыть).
И в таком случае, вместо запоминания пина к карте, вам надо запоминать слово к карте. Впрочем, «кубатуру» можно и маркером на карте написать…
Jeka178RUS
Я дольше слова буду придумывать ))
ustin
Похоже на фичу: по операциям с низким риском высылается удобный для запоминания код, по операциям с высоким риском высылается более надежный рандомный.
swelf
Вспоминается страховка авто в ингосстрахе. Прислали код по смс, код — буквы, цыфры, спецсимволы, штук 12-15. я удивился но ввел руками, код не подошел, я попробовал снова и опять неудача. Я скопировал его на компьютер через контакт(самому себе отослал). Скопировал в форму — код подошел. Решил же проверить, что не так с кодом, скопировал его в питонячью консоль
и очень удивился когда одна из букв «о» оказалась русской.
Вот это я понимаю забота о безопасности.
SemenPV
Наверное это случай «неразгадываемой капчи», они вас не хотели видеть в качестве клиента и пытались вас испугать, но вы победили. Хотя может и нет.
mig126
Это один из популярных механизмов чтобы не оформляли электронный полис. Другой к примеру: «Ведутся технические работы/ошибка 404» на этапе оформления.
dmitry_dvm
У тинькова при оформлении ОСАГО на последнем шаге после ввода тонны реквизитов идёт редирект на сравни.ру, где сам Тиньков "недоступен". При этом спокойно оформляется через поддержку.
Yuriy_krd
У РЕСО-гарантия при оформлении е-осаго у многих выскакивает такая капча, что судя по воплям на соответствующих форумах, ее никому еще не удалось разгадать (я в их числе).
tmin10
Хм, оформлял недавно, никаких редириктов не было, тодько обязательная регистрация и оплата в конце.
Archon
Редиректы и интересные ошибки возникают у тех, кто заполняет первого водителя без стажа или из плохого региона. Первого водителя надо всегда указывать с хорошим стажем и регионом (он всё равно не повлияет на стоимость полиса), а потом уже дозаполнять остальных, когда система согласится считать стоимость.
Плюс очень сильно помогает открыть дебаггер и смотреть сырые ответы сервера, там иногда выводятся ошибки прямо в человекочитаемом виде (но не отображаются на странице). Таким образом, например, можно подобрать дату начала стажа и количество лошадиных сил автомобиля, если в базе они не совпадают с реальностью.
Amihailov
Я в мае смог застраховать в Тинькове авто, которое продал в июле. Новый же автомобиль я застраховать уже не смог и получил редирект на сравни.ру. При этом я никогда не был виновником ДТП и регистрация у меня в Спб.
А вообще, у Тинькова свои прекрасные репутационные механизмы, я, каким-то волшебным образом, стал у них персоной нон-грата — у меня пропали бонусные предложения от партнеров в банковском приложении и мне отказывают в открытии инвестиционного счёта.
mig126
Может кредит раньше времени закрыли?
Amihailov
Кредит, мне, кстати, тоже не дают. Хотя кредитка, которую получил давно, действует. При этом я активно пользуюсь услугами банка и, как мне кажется, оставляю о себе впечатление платежеспособного человека.
Возможно, где-то не в том магазине оплатил или кому-то не тому осуществил перевод с карты банка. Поддержка не признаётся.
Archon
Попробуйте заказать у них же кредитную историю, может там что-нибудь интересное всплывёт.
Amihailov
Заказывал, 87% (достойно). Порекомендовали брать побольше кредитов или завести кредитку, но кредиткой я и так пользуюсь время от времени, а кредит они мне не дают :)
d-stream
А случаем не зарегистрирван ИП или самозанятый?
Amihailov
Не-не, официальное трудоустройство, белая ЗП.
d-stream
Второй вариант — много кредитных карт, а они иногда трактуются как «незакрытые кредиты»
gecube
Они не иногда трактуются как незакрытые кредиты, а всегда трактуются как "еще один кредитный договор". Я копался в своих данных в бюро кредитных историй и много интересного узнал о себе )))) /ничего плохого, кстати/
SergeyMax
alexxxst
Была такая же фигня, оказалось, что-то сломалось, написал в чатик, всё починили.
Amihailov
Мне дважды в чате ответили, что бонусные предложения генерятся автоматом на основе моих категорий покупок :) и один раз то же самое сказал представитель на banki.ru
Попробую закинуть удочку еще раз, полгода уже прошло с того момента.
nikolayv81
Это специально, страховые считали невыгодным электронное оформление, т.к. доп.-ов не продать
TheShock
ustin
Как пишет автор:
Переводы между своими картами и покупки в интернете безопаснее переводов третьим лицам и изменений пин-кода.
alekssaff Автор
Нет, совершенно не принципиально, коды бьются четко по категориям. свои + интернет платежи и остальные.
bearoxide
Согласен, фича это.
Причем, в тиньков-бизнес коды всегда рандомные.
baldr
Да не только смс коды!
У меня один раз банк выдал конверт с пин-кодом для карты. Открываю — и прямо изумлен — пин-код равен году смерти Ивана Грозного минус 4! Как можно такие простые коды делать??
Vitalley
Мне раз выдали пин-код равный дню смерти дяди Джо
CrogST
Для таких как я: 1584
TheShock
Минус 4 ведь, так что 1580
Squoworode
Как насчёт года, в котором произошло сражение на Омовже?
Deosis
Лучше использовать год основания Инсбрука.
Igorjan
Вы не представляете, сколько людей использует год Канонизации св. Доминика Григорием IX.
ru.wikipedia.org/wiki/1234_%D0%B3%D0%BE%D0%B4
Sirion
А я думал, это год Грюнвальдской битвы.
Filex
Мне как то раз выдали карту, пин код которой повторял мой внутренний рабочий телефон.
WinPooh73
Когда Харди навещал в больнице Рамануджана, он, по его словам, начал разговор с того, что «пожаловался» на то, что приехал на такси со скучным, непримечательным номером «1729». Рамануджан разволновался и воскликнул: «Харди, ну как же, Харди, это же число — наименьшее натуральное число, представимое в виде суммы кубов двумя различными способами!».
Peacemaker
А я не парюсь и всегда устанавливаю свой пин-код — год выхода Half-Life 3.
He11ion
Зачем врать, в пин-коде же всего 4 цифры!
alekssaff Автор
Как было замечено выше — в некоторых случаях шесть ) что вполне реалистично
u1teque
Я не особо силён в ТВ, но могу подтвердить паттерн, где 1я и 3я цифры всегда одинаковые. Возможно, что это какой-то юзабилити-хак со стороны Тинькова.
alexxxst
Подтверждаю, во всех кодах на покупки 1 и 3 цифры одинаковые. Другие коды на другие операции явно рандомнее.
alekssaff Автор
Еще момент, вторая цифра никогда не бывает 0
MacIn
Потому что такие пары не рифмуются.
Двадцать пять-сорок пять — нормально, пятьдесят-семьдесят (или еще лучше тридцать-сорок) — нет.
alekssaff Автор
а как же 2025 или 3037 и тому подобное. Вполне неплохо звучит и не режет слух )
MacIn
Коды Тинькова — рифмуются, а не просто «звучат хорошо», поэтому и нужны одинаковые суффиксы — для рифмы.
Просто проговорите:
3037
и
2737
3037 звучит и запоминается как две отдельных единицы, а 2737 как одна, как стих.
Ну это такое… субъективщина.
alekssaff Автор
Да, но в Тинькофф 1 и 3 цифры одинаковы ) Так что там с рифмой вопрос. Там скорее повторение одной цифры для минимизации ошибки, поэтому особой разницы между 2825 и 2025 не вижу, а вот почему из второй цифры исключили ноль — вопрос остался. Возможно, чтобы не получать 000 в начале кода. Да и цифра 1 на второй позиции, где первая и третья 0 не была замечена.
MacIn
Ах да, я перепутал. Извините.
sets
Да, всегда такие коды приходят, что думаешь «о, как повезло». Но быстро привыкаешь)
yea
Каждый раз, получая код подтверждения, как будто ощущаю, что он «приятный» для запоминания и набора. Всегда подозревал, что они не случайные, но изучать никогда не пробовал, а вот оно что, оказывается :)
Где-то еще подобное ощущение с кодами было, кроме Тинькова, только вот вспомнить не могу, где.
janatem
У меня такое ощущение бывало с пинкодами банковских карт.
mspain
>Где-то еще подобное ощущение с кодами было, кроме Тинькова
Как минимум tele2 стали pin всем 0000 делать.
Вывод: tele2 для тупых. Которые не способны четыре труъ рэндомные цифры подержать в гойлове 3 секунды.
alexzeed
Украина — Приватбанк, тоже на какие-то простые операции приходят легкозапоминаемые коды, хотя мне кажется такой жесткой системы «1 и 3 цифры совпадают» там нет. Какие-то цифры обязательно совпадают, другие часто на 1 отличаются, но не всегда. А еще все чаще стал переводить просто без подтверждения, видимо там ML какой-то, не поймешь как он решает. Раньше на оплату инета раз в месяц код требовал, хотя реквизиты те же, а теперь в инет-магазин какой-то новый первый раз переводишь деньги, а он «подтверждение не требуется».
4e1
Малые суммы, операция со знакомого банку девайса — подтверждать не нужно.
AlexSky
На карте Кукуруза такое было.
Lord_Ahriman
Скорее всего, это сделано для облегчения запоминания кода при переносе. У меня такая же история с сервисами Google и Яндекс.Деньгами: часто кажется, что последовательность не рандомная. А вот, например, у QIWI, Сбера и ВТБ24 явно это не учитывается: коды чисто случайные, и я часто в них ошибаюсь (при этом не ошибаюсь никогда в Gmail, Яндексе и том же Тинькофф).
axit
Долгое время из-за постоянных переездов в разные страны использовал в своем банке токен RSA, для подтверждения операций, так как номер телефона или менялся или было лениво симку перекидывать, токен закончился в январе, новые банк больше не выдает, перешел на смс, думал что у меня паранойя, а оказалось что коды не случайные, спасибо за топик и коменты!
Кстати я писал в банк с этим вопросом, получил ответ от СБ что коды случайные, что предсказуемо.
Хабр — забота о вашем психологическом здоровье!)))
Aquahawk
Подскажите, рф банк?
axit
Украина, но в РФ тоже есть эта «венгерская банковская группа», не хочу рекламить, ухожу от них, очень недоволен.
SakuradaJun
Это тот банк, у которого на логотипе человек в яме (долговой видимо)?
Eugney
Ха-ха, верно подмечено. ОТП банк, для тех, кто не в курсе.
Rober
Было бы интересно почитать про исследование долговременных ПИН-кодов. Ибо описанную автором ситуацию я наблюдал с кодами от карточек одного популярного зелёного банка.
Megakazbek
Ну это всего лишь означает, что пространство, из которого делается случайный выбор не равно пространству всех четырёхзначных кодов, а не то, что есть какая-то неслучайность при генерации кода.
Serge3leo
Как бы, встречаются генераторы случайных PIN кодов удобных для запоминания. Естественно, размер множества генерируемых кодов получается не 104, а немного меньше. Часто используют примерно следующие правила:
В вашем случае:
Почему нет? Опять же 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
alekssaff Автор
Странно, но данная команда у меня выдает ничего. И подскажите, что означают цифры в stdout?
Serge3leo
Я в macOS запускал. Но, есть воспоминания, в некоторых системах `/dev/random' работает медленно, т.е. пропорционально накопленной энтропии от внешних прерываний. Возможно, его надо заменить на `/dev/urandom', для скорости, а может где-то что-то ещё отличается от POSIX.
`wc' без аргументов выдаёт число строк, слов и символов. После `sort -u' первое число строк это число уникальных значений из полученных от `head -190' 190 случайных чисел.
axit
Кстати как вариант уменьшения коллизий, дать возможность юзерам задавать пин цифрами от 4 до 6 знаков, насколько я понимаю это не требует больших изменений в «глобальном» смысле, большая часть банкоматов при заграничной карте предлагает ввести до 6 знаков включительно
Serge3leo
С точки зрения криптографической безопасности размеры множества угадывания PIN кода: 103, 104 или 106, примерно одинаковы. Например, CVV2/CVC2/CVP2 коды Visa/MasterCard/Мир трёхзначные.
Здесь же главное — качество реализации гарантированного максимального числа попыток подбора в той или иной системе.
axit
Если говорить про пин, разве разница степени, количества знаков, не меняет ситуацию кардинально?
Хз что Вы имели ввиду, перефразируйте пожалуйста. Гарантируемое количество попыток = 1
Serge3leo
Кардинально ситуация меняется где-то в районе 1030, где-то в этом месте мы уже можем говорить, что нам по барабану, сколько будет попыток и вероятности нарушений определяются остальными факторами.
Если гарантированное число попыток ввода PIN ровно 1, т.е. гарантированно, с вероятностью 0.9999, что после первой же неудачной попытки доступа защищаемый ресурс блокируется. Трёхзначный PIN даёт вероятность нарушения — 10-3, что более чем достаточно. В подавляющем большинстве систем, если реалистично оценивать возможности несанкционированного доступа, вероятность нарушения выше 10-2.
upviqq
А можете написать генератор таких удобных пинкодов, как в статье?
gusevartemasd
Зарандомить 3 цифры, 1000 и 10 умножать на одну и ту же
Можете ту что умножите на 100 рандомить из множества 1-9, если это необходимо
Serge3leo
Могу.
Хотя, если вопрос за то, как именно. Для 4-6 значных PIN-кодов просто создаём таблицы всех возможных кодов с мнемониками (даты, фигуры, арифметические примеры, T9 слова, в последнем случае, в ispell словарях дублируем некоторые слова для выравнивания числа коллизий), а потом получаем криптографическое случайное число и выдаём элемент таблицы.
darthslider
Я как-то пытался придумать мнемоническое правило для запоминания кода. Пока придумывал — выучил код. Помню его до сих пор, а слово, естественно, напрочь забыл почти сразу.
fotofan
Выше написал правило. Посмотрите по нику. Ссылку с телефона не вставить
Serge3leo
Слово по PIN, это ж не по христиански ж. ;)
Ибо сказано, «сначала было слово». В этих генераторах, первично мнемоническое правило, PIN вторичен.
P.S. А для фигур, так вообще память рук, бывает, что без клавиатуры PIN код и не вспомнить же ;)
storm_r1der
Нужно распределение по датам.
alekssaff Автор
Эту гипотезу уже пытался проверить. Вот пример 3 кодов
1564594646 6560
1564594851 2724
1564595472 8482
Таймстэмп взят с погрешностью +-5сек, т.к. не понятно сколько проходит с момента запроса в тинькофф до генерации
TheCluster
Такая же история с кодами для авторизации в Приватбанке (Украина), давно уже заметил. Они тоже используют хорошо запоминающиеся четырехсимвольные комбинации. Уверен, что это сделано для упрощения ввода кода подтверждения простыми юзерами.
Dee3
Скорее фича. Не понимал никогда зачем сбербанк генерирует шестизначные коды, как и то что он года так до 2018 имел совершенно идиотскую страницу авторизации платежа, где кроме отстутсвия адаптива еще и всегда выплевывается стандартная мобильныая qwerty клавиатура вместо нумпада
alekssaff Автор
Они тогда еще, видимо, про HTML5 не слышали, в частности в отделе, где делают эту самую посещаемую страницу. Тоже это жутко раздражало, особенно на телефонах с малой диагональю.
Pongo
У сбербанка эти коды еще приходилось вводить в поле, которое скрывает набираемые символы, очень неудобно.
Amihailov
У газпромбанка так до сих пор, каждый раз плююсь, запоминая код в духе 281549 и вбивая его в поле, где символы скрыты звёздочками.
Rukis
Фича для удобства запоминания и ввода говорите? Если первый и третий символ всегда одинаковые, не удобнее ли было бы запоминать и вводить трехзначный код?
alekssaff Автор
Видимо нет. В голове проще держать 2 похожих двузначных числа, чем одно трехзначное. Например:
541 или 54 51
293 или 29 23
ИМХО так и правда удобнее.
VADemon
Трёхзначное число можно ещё запомнить одним числом, словами, не разделяя: пятьсотдевяностоодин. С четырёхзначными тысячами уже приходится их разбивать на части. Лично я так номер телефона свой помню: где по две цифры, где по три сгруппировал.
Rukis
Есть сомнения на этот счет. А варианты с единицей, точно хуже: 1811 вместо 181, 1610 вместо 160.
yea
Для некоторых операций, как видно из статьи, СБ все-таки постановила необходимость использовать настоящий четырехзначный код. А учитывая, что и те, и те коды используются в рамках одного и того же UI, решение использовать «неслучайный» код напрашивается само собой: и коды «приятные» получаются, и UI/UX для трехзначных кодов не нужно пилить и проверять.
DarkWolf13
интересная статья, тоже и с Тинькофом и с парой-тройкой других банков анализировал смс-ки с кодом и действительно якобы случайные совсем не случайны особенно если брать для анализа последовательности. спасает только то что коды можно ввести только три раза потом для конкретной операции надо заново код получать и еще иногда некоторые банки изменяют длину котов с 4 до 5, 6 цифр или даже знаков.
alekssaff Автор
axit
Я заметил что некоторые сети банкоматов, при использовании заграничных карт, запрашивают не 4-ре цифры, а пин до 6-ти цифр включительно, Вы случаем не знаете почему так?
pyrk2142
Пин-код может быть длиной не только в 4 цифры, адекватные банкоматы ожидают это.
axit
Окей, а какого от меня все, знакомые мне, банки требуют именно 4-ре?
kloppspb
Мои знакомые банки тоже требуют 4 («четыре-ре» не встречал, даже не знаю такого числа). Но значит ли это, что множество знакомых мне банков совпадает со множеством всех банков?
Cactozzz
Банк с яйцом 6 цифр просит, например
qbertych
Хе-хе.
Исландия, автоматическая заправка. Колонка принимает мою карту и просит ввести пин. Правда, он у меня шестизначный, а колонка после введенной четвертой цифры запускает проверку пина. При этом кнопки отмены/коррекции не позволяют отменить операцию и забрать карту ни на каком из этапов.
Конец немного предсказуем: после третьей попытки колонка выплевывает карту со словами "карта недействительна". К счастью, мой банк был по-видимому знаком с такими ситуациями и карту блокировать не стал.
mmMike
По спецификации китайской ПС (China Union Pay EMV) PIN код — 6 цифр.
Многие Российские банки поимели с этим проблемы в ПО банкоматов где прибито гвоздями 4 цифры PIN на ввод.
А теоретически длинна PIN допускается от 4 до 12 цифр (см. форматы PIN блоков)
anwender95
Откуда люди берут в длине две «н»?
alexxxst
Так длиннее.
trolley813
Так она кажется длиннее.
xtender
Смущай таких — проси напечатать: длинна длина Двины :)
nikolayv81
При этом ошибка в последней цифре, во многих, гарантирует отказ авторизации, т.к. банкомат не даёт шанса её поменять и автоматом запускает валидацию.
sav6622
У Тинькоффа весьма регулярно, примерно раз в месяц ловлю 4 цифры ОДИНАКОВЫЕ… весьма разочарован в их «случайном» генераторе
vics001
С точки зрения теории вероятности, это могут быть вполне случайные величины, но не с равномерным распределением!
С точки зрения криптографии в этом нет ничего плохого, ведь для каждого алгоритма надо считать вероятность угадывания следующего числа, вы ожидаете, что она равна 0.01%, но возможно она 0.1%, думаю она не более 1%.
Дальше эту вероятность можно использовать для некоторой атаки, успешная атака может существовать со случайностью и 0.001%, а может не существовать и с 10% (например, если штраф равен выигрышу).
Alexsey
Это еще что, мне знаком случай когда втб сгенерировал пин карты: 4444. Причем самому задать такой пин код он не дает, а вот сгенерировать — пожалуйста.
SergeyMax
Скорее всего, здесь нет никакой проблемы. В случае случайной генерации 4444 — это обычное случайное число. А в случае генерации человеком наоборот — часто используемая комбинация, которую разумно запретить.
tbl
Это значит, что так настроили HSM, используемый в персонализации пластиковых карт. В стандартной настройке что Thales, что SafeNet имеют блэклисты на простые пинкоды (более 4 повторяющихся цифр + еще какие-то, которые при подглядывании сбоку за движениями пальцев над пинпадом (не видя кнопок пинпада) позволяют существенно повысить вероятность подбора пинкода).
Либо ВТБ закупил китайского клона SafeNet (в котором нет функционала блэклистов). У SafeNet, кстати, очень приятный и внятный API по сравнению с Thales, поэтому китайцы очень любят его копировать.
Например, все одинаковые цифры и 3 попытки на ввод дают вероятность 30%, что злоумышленник получит доступ к карточному счёту, если у него окажется ваша карта.
edo1h
для этого злоумышленик должен знать, что все цифры одинаковые
MaxxONE
Как раз на днях размышлял об этом. От сбера почти всегда приходят шестизначные пароли, которые можно читать в рифму.
roach1967
Может программист «фанат» Маяковского:
2 46 38 1
116 14 20!
15 14 21
14 0 17.
Wesha
Это фича.
В банковских приблудах пин генерится примерно по такому алгоритму:
1) Взять 3 случайные цифры;
2) Одну из этих 3 цифр взять ещё раз;
3) Вписать её в случайное место кода, но так, чтобы две одинаковые цифры не шли подряд
Например:
1) 2, 7, 3
2) случайно выбираем из них одну цифру — пусть это будет (3).
3) получаем набор 2, 7, 3, (3) — но по правилу нужно, чтобы одинаковые цифры не шли подряд, переместим её: 2, (3), 7, 3 — пин получен.
Смысл в том, что получаются пины, которые легко запоминаются в силу "рифмованности", но при этом количество вариантов не уменьшается — "рифма" может быть в любом месте и в любом порядке.
Finesse
Количество вариантов уменьшается: убраны все нерифмованные варианты
Wesha
Для одного человека — да, а по большой выборке — нет: у одного будет "рифма" 1213, у другого — 2131, у третьего — 1231.
Aquahawk
Т.е. вы предлагаете иметь мощность и защищённость от трёхсимвольного пина а грузить пользователя чертырёхсимвольным но, якобы, более легко запоминающимся? Т.е. предполагается что 273 запоминается хуже чем 2373? Или дело всё-же в том что есть какие-то банковские стандарты на то, что подтверждать нужно кодами длиной не менее 4х символов? Если такое требование есть, то выдумывание запоминающихся кодов это прямое нарушение идеи и уровня безопасности.
Archon
Подозреваю, что дело не в запоминающихся кодах, а в том, что для набора 4 разных цифр надо перемещать пальцы по пинпаду, что существенно повышает шанс увидеть ваш код. Далеко не на каждую комбинацию из 4 цифр можно заранее положить пальцы.
Я обычно делаю так: накрываю пальцы правой руки левой ладонью, складываю пальцы в правильный жест, и уже получившийся «домик» тащу к пинпаду. Но даже если ничего не закрывать рукой, разглядеть статическое положение пальцев и последовательность их нажатия гораздо тяжелее, чем увидеть перемещение пальца от цифры к цифре.
FibYar
По крайней мере, это не во всех банках. В Альфе, например, подобных особенностей не заметил — все 4 цифры пинов разные.
Sirion
Если они всегда разные, это тоже нарушение равновероятности)
FibYar
Нет, ну не совсем всегда) Бывает, и равные цифры встречаются.
Androniy
Проверил свои сообщения от Альфы. Терпения хватило пролистать 25 последних чисел. 15 из них имеют две или более одинаковые цифры. Хотя по идее должно быть где-т 50/50.
Alexeyslav
На такой малой выборке может быть и не 50 на 50. Вам надо проанализировать хотябы 1000 чисел.
Assargin
Не про пины речь, а про коды подтверждения операций. Во-первых, в них у Альфы 5 цифр. Во-вторых, аналогичной закономерности, посмотрев сейчас примерно месячную историю СМС, я не заметил.
Автор, конечно же это фича, я и сам давно заметил, но фича-то удобная. И стоит ли так париться о её меньшей безопасности, чем если бы использовался полный рандом и/или бы использовалось больше цифр? Если сообщение каким-то образом может попасть к злоумышленнику, это не будет иметь значения. А неиллюзорная возможность угадать код существует всегда.
Вы не проводили эксперимент онлайн-покупки, вводя данные своей карты и пытаясь угадать код из СМС. Сколько попыток на один код? После скольки попыток повторной генерации кода банк заблочит возможность оплаты и сообщит вам, как владельцу карты, об этом?
UPDATE:
Мне стало интересно, провёл опыт.
Попытка оплаты №1: после 4-й попытки неправильной попытки ввода кода, банк отклонил попытку оплаты, и браузер вернуло в магазин с неуспешным результатом.
Попытка оплаты №2: аналогично
Попытка оплаты №3: аналогично
Попытка оплаты №4: аналогично
Поднял VPN в US и сделал ещё 2 попытки на бОльшую сумму — аналогично.
Далее не стал :)
Блокировки карты или звонков из СБ не последовало.
alekssaff Автор
Я только хотел понять случаен ли код. Выяснил, что код случаен, но множество не равно ожидаемому на 4 цифры. А так — не парюсь. Просто было подозрение, что генерация происходит по какому либо алгоритму, который можно зареверсить — и вот это моей паранойе не давало покоя. Но видно, что 3 цифры участвующие в распределении имеют (насколько можно судить по такой малой выборке) вполне равномерное распределение.
scifinder
Месье хранит у себя на телефоне 190 СМС'ок?..
DaemonGloom
Если в современном телефоне убрать в настройках удаление старых СМС — можно смело хранить их за много лет. И то, в android там стоит изначально лимит 1000 смс и 100 смс от одного контакта.
arkcol
Я Вам больше скажу:
я у себя технические СМС-ки даже не отмечаю прочитанными.
tmin10
А зачем их специально удалять? Они не ограничены 20 смс, как при хранении на симкарте, памяти не едят.
tvr
Посмотрел у себя — 6930 СМС'ок.
Чистить лень и смысла не вижу — есть не просят.
Alexeyslav
Что тут удивительного? Прошли те времена с ограниченной памятью на СМС не более 100 штук…
ainoneko
Alexeyslav
Всякое может быть, но использование подобных телефонов это сознательное а не техническое ограничение и не имеет массового характера.
Alexeyslav
У меня кстати с прошлого телефона фобия осталась… он при удалении СМС через раз удалял не выделенную а рандомную… весело так было. Вжух… и ушла свежая СМС с кодом ещё не полученной посылки — решил старые почистить…
alekssaff Автор
Месье удаляет СМСки только покупкой нового телефона )
arkcol
Спасибо, что провели анализ.
У меня тоже в каждом "неслучайном" коде есть две повторяющиеся цифры.
Для меня это удобно.
Думаю, что это не баг, а фича Тинькофф банка.
Mnemone
На Хабре уже была статья в которой говорили о особенностях генерации кодов для СМС. Основная тема там была про то — зачем вообще в современном мире СМС. Пытался сейчас найти, но не удалось.
deitry
Являюсь клиентом Тинькова, фичу подтверждаю.
Странно что паттерн всегда один и тот же, могли бы делать "альтернативно рифмованные" коды типа 1223, запоминается ничуть не хуже
ustas33
Почему не используют двухфакторную аутентификацию 2FA для интернет банков?
entze
SMS это и есть второй фактор.
ustas33
я про Google Authenticator, Яндекс.Ключ и т.п.
Amihailov
А чем это удобнее пуша или смс? Если вы совершаете операцию в интернете, требующую код, то, наверняка, вы способны получить пуш или смс.
Про безопасность не говорю, всегда можно придумать что-то побезопаснее, но надо соблюдать баланс между безопасностью и удобством.
Я выше привел пример с газпромбанком с их шестизначными кодами в конце длинного СМС (которое надо открыть отдельно, так как код не умещается во всплывающем уведомлении), которые надо вводить в поле под звёздочками.
Безопасненько? Наверное, чуть безопаснее, чем четырёхзначный код и поле без звездочек, но я всей душой ненавижу пользоваться 3D-secure от ГПБ
DaemonGloom
Это даёт именно безопасность. Ну и не требует интернет на телефоне, если он есть только на компьютере, например (если сравнивать с пушем). Не требует наличия сотовой связи, если с ней есть какие-то проблемы, если сравнивать с СМС. Ну и в целом — TOTP работает мгновенно, а не зависит от текущего качества кучи прочих служб (доставки пушей и смс).
Amihailov
ОТР прекрасны в плане безопасности, я не спорю. Но есть одна деталь, ОТР — это удел сознательных интернет пользователей и гиков.
Даже у такого продвинутого и модного-молодёжного банка, как Тинькофф, процент пользователей, активно пользующихся ОТР, составит ну не больше 10-15. А остальных надо как-то обучить. Нужна ли такая безопасность в случае с одноразовыми кодами, живущими пару минут, в ущерб удобству?
DaemonGloom
Вопрос в том, что это должно быть выбором для пользователя, а не обязательным для всех. Кто-то предпочитает СМС, кто-то — OTP. Хуже только ситуация, когда для регистрации OTP в сервисе сначала принудительно заставляют регистрировать СМС. Так, например, делает Вконтакте. В итоге, вместо усиления защиты — сплошное ослабление.
JC_IIB
Мне кажется, это зависит от политики банка. Живу за пределами РФ, тут местный банк вовсю рассылает фирменные аутентификаторы вместе с картами. Хочешь заплатить в онлайне — берешь девайс, вставляешь в него карту, вводишь пин-код (!), вводишь код с экрана компа, оно думает и рожает на свет божий второй код, который нужно ввести в браузере, и вот только тогда платеж проходит.
И люди этим вполне пользуются.
dimm_ddr
Не Эстония ли это? У них там с карточками весело все.
JC_IIB
Нет, Нидерланды. Кстати, да, с карточками тут тоже достаточно весело — если вкратце, то вот этой картой нельзя просто так взять и заплатить в интернете. Только на тех сайтах, где подключена местная платежная система iDeal. Справедливости ради скажу, что этот «айдил» поддерживают все локальные сайты, которые чем-либо торгуют, и даже многие зарубежные принимают платежи с помощью него. Но вот там, где принимают только стандартную Визу/Мастеркард — там не заплатить никак.
malefix
Это безы обычно так просят. Причины:
— код не будет виден в уведомлении на заблокированном экране (должно защитить, например, в ситуации, когда у вас украли телефон и карту и пытаются зайти/зарегистрироваться в онлайн-банк)
— по идее клиент будет читать весь текст и сравнивать реквизиты операции. Если код будет в самом начале, то дальше вообще никто читать не будет. Правда и сейчас никто не читает, глазами ищут что-то, похожее на код, а телефон его еще и выделяет визуально
Amihailov
По поводу первой причины — проще переставить симку в другой аппарат, что позволит обойти и длинные смс с кодом в конце, и скрытие текста уведомлений на заблокированном экране (у меня так), и блокировку краденого телефона собственником.
Не очень я люблю такие меры ИБ. Если уж мера приносит неудобство, то хотя бы должна приносить ощутимый результат.
BigBeaver
Так речь не о краденых телефонах. Например, вы оказались в публичном месте в компании не очень честных людей и случайно засветили карту. Телефон лежит на столе экраном вверх, вы отвернулись на пару минут — денег нет, хотя к вашим вещам никто даже не прикасался.
Amihailov
Я отвечал на комментарий, где в качестве примера привели именно кражу телефона.
Описанный вами вариант, конечно, тоже реален, но насколько вероятен? От кражи телефона и карты никто не застрахован, а нахождение человека в нечестной компании и засвет банковской карты вместе с оставлением телефона наедине с этой компанией, зависит от самого человека и не должно касаться ИБшников банка.
BigBeaver
Ну так это просто пример неудачный.
Вот вы сидите в кафе с друзьями, расплаиваетесь картой, но уходите не мгновенно. Злоумышленник рядом видит вашу карту и ваш телефон. Я бы сказал, что шанс успеха для злоумышленника высок. Хотя шанс попасть в такую ситуацию лично вам, конечно, не очень высок.Тем не менее, описанная фича позволяет вам не заботиться о том, в насколько доверенном окружении вы находитесь.
malefix
Да, но банковским безопасникам это в голову не приходило изначально. А кому приходило — ссылались на возможность выявления оператором смены аппарата. У меня лично ни при перевыпуске симки, ни при смене телефона проблем не было, но в интернете полно историй, когда перестали приходить смс после подобных действий.
Ну и про именно кражу телефона, конкретно этот кейс — это просто один из вариантов, подобных сценариев, когда злоумышленник не сможет прочитать код в конце, достаточно много можно навыдумывать и пропихнуть эту идею на реализацию. Даже если механизм легко обходится
BigBeaver
А еще у симки есть свой пин, если не отключать.
И вообще кража это палево. А вот если нашел сумку с телефоном и кошельком, перевел потратил деньги, и вернул владельцу, то ты няша.
sumanai
А маркетологи и экономисты проталкивают пуши, где всё видно сразу с историей в шторке.
gecube
На заблокированном телефоне, что пуши, что смски на экране маскируются...
unwrecker
Раньше использовали. Тот же Ситибанк лет 10 назад давал несколько листов с одноразовыми паролями для входа в банк-клиент. Сейчас все перешли на СМС, и это, конечно, хуже в плане безопасности.
entze
iOS умеет подставлять присланный код из SMS, очень удобно. Надеюсь, андроиды тоже умеют.
Проблема с сервисами Гугла и MS, там код длинный и перебивать надо с мобильного, что для 7-значных паролей сложно.
ffs
Умеют, если приложению дать права.
usrsse2
на iOS права не требуются, смску читает клавиатура, а не приложение
Finesse
Safari на macOS тоже подставляет коды из СМС. Но как и iOS работает не со всеми СМС.
WebMonet
Расскажите, почему банки так пекутся о «неразглашении» этих кодов? Что такого может сделать злоумышленник, зная код подтверждения моей транзакции?
DaemonGloom
Вопрос тут не в том, что это ваша транзакция — с ней проблем нет. Есть ситуация проще:
«Здравствуйте, мы из поддержки банка. Требуется подвердить ваш номер мобильного телефона, продиктуйте, пожалуйста, код из сообщения.» И множество людей поверит в подобное. Что приведёт к краже денег, например.
tbl
Это один из вариантов 3DS-авторизации, на случай, если утекут данные вашей карты (с какого-нибудь сайта, который вопреки правилам платежных систем логировал и хранил их, или просто ваша карта попала кому-нибудь в руки и он запомнил/сфотографировал PAN, expiration date, cardholder name, CVV2/CVC2), то злоумышленник может быстро опустошить ваш картсчёт за с помощью CNP-транзакций.
SergeyMax
Обычно это выглядит следующим образом: вы ставите один и тот же пароль в интернет-банке и в магазине ozon, логин конечно же совпадает с почтой, дальше база озона с паролями утекает в сеть, и вам остаётся только сидеть и наблюдать, как сваливают денежки с вашего счёта. Если конечно злоумышленник каким-то образом знает коды подтверждения транзакций.
neluzhin
Если злоумышленник сфотографирует вашу карту и попробует оплатить ею что-либо в интернете, то на странице подтверждения он может попробовать выудить из вас одноразовый код. Та же ситуация, например, если вы ушли обедать, а на вашем компе активна сессия в веб-версии вашего банка — если злоумышленник попытается провести какую-то операцию, то ему тоже понадобится этот код.
Не во всех кейсах критически важна секретность кода. Но, я думаю, здесь цель приучить пользователей хранить данный код в секрете в любой ситуации.
disputant
Еще явно слишком много повторов трех цифр — 20.5%, при том что теоретическое значение — 3.6%.
lolhunter
Кто-то еще заметил этот баг, которому года три минимум. Как мне сказали на горячей линии типа Тинькофф не генерирует эти коды. Но почему-то только у карты Тинькова коды такие. Одинаковая 1 и 3 цифры.
Случайный код получен как код на вход в ИБ или на 3D Secure.
Все остальные коды имеют одинаковую 1 и 3 цифру.
DmitryKa
Да, давно замечал такое у Тинькоффа, но проверять было несколько лень.
Зато: на той неделе делал покупки в интернетах, где-то с интервалом в 2-3 минуты получал пару кодов. Мне пришли числа подряд (типа abcd и abcd+1). А одно из них ещё и мой пин-код на эту карту… В общем, троллит меня Тинькофф :)
zzz1386
Еще +1, кто подтверждает повторяющиеся 1 и 3 цифру.
Гораздо удобнее, чем сбер — их 6 цифр я иногда записывал на бумажку, если она была под рукой.
Pokolo
А я напомню поговорку подальше положишь поближе возьмешь.
Украв карту и телефон сняли с банкомата, зашли в лк подняли лимит и сняли всё.
А так всё было удобно, да. Не храните много денег в кармане, даже виртуальном.
McBernar
Это очень кайфная фича. Давно ее заметил и очень радуюсь, что не нужно в принципе напрягать мозг на эту задачу — любой пин откладывается в памяти моментально.
З — забота :)
vantoose
В чем двухфакторность защиты, если ты получаешь секретный код на то же устройство, с помощью которого оплачиваешь?
имхо, в топку эти смс
gecube
Почему с телефона оплачиваешь? Можно и с компа оплачивать.
Ну, и всегда есть второй фактор — будь то юзернейм-пароль к банку, или пин-код на банк-клиент (если речь про планшет)
yea
Почему это? У меня вот как минимум в половине случаев не так.
MaximAL
Заметил это пару лет назад, тоже удивился. Вот тред в Твиттере, где банк участвует в диалоге:
https://twitter.com/almaximal/status/900687438506536961
alekssaff Автор
Там немного другая история и малая выборка. ТС там намекает, что в конце всегда 9 или как минимум вероятность 9 в генерации очень завышена. Но в связи с малой выборкой говорить что-то сложно. При нормальном распределении вероятность того, что в коде будет хоть одна 9 — примерно 45% что очень много.
MaximAL
Да, математика понятна, конечно. Просто дополнил комментарии своим случаем.
SlavikMIPT
Стоило один раз пройти собеседование в банк чтобы узнать что 2 одинаковые цифры в проверочном коде это фича для простоты запоминания
safari2012
Автор, а ты пробовал задать вопрос в службу поддерки банка? Хотя бы на форуме банки.ру? Обычно, они хоть что-то, да отвечают.
Что касается самого вопроса, то лично мне в самых разных банках таким же образом пин-код карты генерят. За редким исключением 2 цифры из четырёх совпадают.
Gl_Proxy
Не совсем понятно о чем спор. Если у кого то будут полные данные вашей карты с CCV эти коды не помешают снятию денег.
BigBeaver
Если бы это было так, кардерам было бы достаточно фотографировать обе стороны без заморочек со снятием пин кода.