какая информация записывается на дорожки магнитной карты
Как записывается и считывается информация с банковской карты?
Вопрос очень емкий.
На современных картах есть два независимых, по сути, носителя информации – магнитная полоса и EMV-чип. Хотя задача и того и того заключается в авторизации платежа, работают они радикально по-разному.
Магнитная полоса представляет собой кусок ленты, покрытой слоем магнитного порошка. Если провести по ней сильным магнитом – порошок намагнитится и будет сохранять магнитное поле довольно долго (годы). Чтобы записать на полосу информацию, по ней проводят записывающей головкой – электромагнитом, умеющим быстро менять мощность и полярность своего магнитного поля. Для чтения используется другая головка, считывающая, которая улавливает магнитное поле и преобразует его в электрические сигналы.
На магнитной полосе банковской карты записан ее номер (тот же, что и выдавлен на ней самой), срок действия, страна выпуска, некоторые сервисные коды. При платеже вы проводите полосой через считыватель, вся эта информация попадает в терминал, он запрашивает у вас PIN-код (или не запрашивает, если авторизация по подписи), шифрует платежные данные с PIN-кодом, и отправляет в процессинговый центр банка-эквайрера, который формирует так называемую авторизацию – собственно, запрос денег у банка-эмитента.
Теперь про EMV-чип. Кстати, то, что вы видите на карте – это не чип. Это контактные площадки чипа. Когда вы вставляете карту в считыватель, к ним прижимаются подпружиненные контакты, подают на чип питание, и передают данные в него и из него.
EMV-чип представляет собой микрокомпьютер, с процессором, оперативной и постоянной память. На нем даже операционная система своя работает, под которой крутятся аплеты (приложения). Пока карта у вас в кармане, чип не работает (обесточен), питание подает ему считыватель.
Когда изготавливается банковская карта, производитель чипа на своем оборудовании записывает на него операционную систему, вставляет в пластиковую карту. Такие заготовки попадают в персонализационное бюро, которое наносит на карту пленку с рисунком, выдавливает платежные данные и записывает информацию на магнитную полосу и в EMV-чип.
Оборудование для персонализации подключается к чипу через его контакты, и передает туда все необходимые приложения (платежное, транспортное, идентификационное и т.д.), и персональные данные – номер, дата окончания срока действия, и т.д., все то же, что и на магнитной полосе. Однако все файлы криптографически подписываются так, чтобы человек со стороны не мог в них вмешаться. Если файл изменить, не зная ключа шифрования, и записать на карту, исполняться и считываться он не будет.
Когда действующую карту вставляют в считыватель терминала, терминал обменивается данными с чипом – передает ему информацию о платеже и введенный PIN-код, и получает обратно зашифрованный блок данных для передачи в процессинговый центр. Причем чип умеет сам проверять корректность PIN-кода, поэтому у EMV-карт PIN-кодов фактически два: онлайн (который знает только процессинг банка-эмитента) и оффлайн (который записан в чип). Они почти всегда одинаковые.
Визуализация и декодирование данных с магнитных АТМ-карт
Предмет интереса этой публикации — считывание и декодирование данных со второй дорожки банкоматовской карточки в условиях дефицита оборудования и средств.
Для начала приведу сухие теоретические знания. Если теория не интересует — можно пропустить.
Пленка или дорожка представляет собой пластик, с нанесенными мельчайшими (очень мелкими) частицами ферромагнетика — вещества, обладающего остаточной намагниченностью. Ферромагнетик, кроме того, что он чертовски мелкий и не различим в школьный или ремонтный микроскоп, так он еще имеет форму, похожую на соты, гранулы или кристаллы.
В процессе нанесения на поверхность он сразу проходит ориентацию — то есть поворачивается согласно линиям магнитного поля. Этим достигается некоторое улучшение магнитных свойств дорожки. Дальше наносится фиксатор и защитный слой. Все, менять своего положения физически они не могут, изменение направлений векторов магнитных индукций (та самая остаточная намагниченность, магнитные линии) может происходить теперь только на молекулярном уровне. Но не нужно думать, что полоска после изготовления сразу обладает магнитными свойствами. Во-первых, если они есть, то слишком малы, во-вторых, направления векторов ориентированы случайным и компенсируют друг друга.
Вносим такую полоску в зону действия магнитного поля и ждем. Ждем, пока произойдет перепрыгивание энергетических лошадок через барьер и векторы магнитной индукции этих частичек не станут совпадать по величине с векторами внешнего магнитного поля, а сами частички не запасут некоторую энергию и не станут самыми настоящими постоянными магнитами. Всё, теперь этой полоской можно притягивать гвозди и шокировать обезьян в зоопарке.
Существует некое первичное намагничивание, переводящее девственную дорожку из состояния летаргии в состояние остаточной намагниченности. Для полного представления нужно рассмотреть картинку гистерезиса, она отражает все возможные магнитные состояния наших ферромагнетиков. Среди которых есть и два состояния полного размагничивания.
Теперь ближе к тому, как все происходит при записи и чтении на реальной магнитной полосе карты.
Первое. При записи головка, которая создает поле возле магнитной полосы, на самом деле создает поле не рядом с ней, а в ней. Чтобы это понять, нужно вспомнить простое правило: ток течет по пути наименьшего сопротивления. А теперь представим подкову, да, обычную подкову от лошади. Она имеет разрез, прислоните подкову разрывом перпендикулярно полосе. Это и есть современная головка для подобных записей.То есть все дело в разрыве, который почти прикасается к магнитной полосе.
Обмотаем подкову проволокой и пустим электрический ток, подкова станет электромагнитом, магнитное поле потечет по подкове и в месте разрыва подковы встретит сильное сопротивление — воздух или какой-то специально подсунутый туда диэлектрик.
Что остается делать магнитному полю? Пойти по пути наименьшего сопротивления — по самой магнитной полоске! Скакнув на полоску, замкнуться через нее. Что нам на руку.
Способ представления дискретной (считай в дальнейшем — цифровой информации) на такой полоске теоретически может сильно отличаться. Можно подставить себя на месте конструктора и попытаться промоделировать процессы записи и считывания. При этом в наших руках следующие козыри:
— информацию нужно записывать участками фиксированной длины;
— записывать на полоску можно 2 типа участков, то есть с разными направлениями силовых линий магнитного поля (векторов магнитной индукции и кучи других величин, на что нам, впрочем, пофиг). Для простоты обозначим их как SN и NS;
— записывать на полоску можно типы участков SN и NS, но любой из них может иметь различную степень намагниченности, то есть можно обозначить градацию степени намагниченности для любого из участков, например, договорившись с вами о том, что будем приписывать справа цифру от 0 до 9, выражающую степень намагниченности в возрастании;
— считывание возможно при условии изменения магнитного потока головки, которая проходит рядом с намагниченной полоской. Меняющийся магнитный поток проходит через сердечник (всю туже саму подкову) и в результате на выводах обмотки, расположенной на сердечнике, появиться меняющееся напряжение.
Таким образом, менять оно может только при изменении магнитного потока. А он может меняться в трех случаях:
а) изменение направлений линий магнитного поля. То есть участки должны идти в таком порядке:
(SN)(NS)(SN). В результате получим, грубо говоря, 2 раза пульсирующий ток;
б) изменение интенсивности магнитный полей участков. Например, такая последовательность участков должна вызывать появление\изменение электрического тока в головке – (SN1)(SN2)(SN9)(SN3) (3 изменения в амплитуде эл.тока головки), а вот такая уже нет – (SN5)(SN5)(SN5)(SN5)(SN5);
в) комбинация а и б (SN5)(NS5)(NS6).
Вроде проблем нет, бери, используй любой из вариантов для представления нулей дискретных участков. Да, для записи все просто. Проблемы появляются при считывании. Один из основных факторов, который ставит палки в колеса — это скорость считывания, то есть скорость протяжки ленты под головкой. Изобретенные человеком устройства для ручного протаскивания карты через них не могут позволить себе точно распознать скорость без дополнительных ухищрений, с которой рука проводит карту (это возможно, но нужно делать дополнительную тактовую магнитную или иную линию). В банкоматах проще и достаточная точность может быть реализована.
Так в чем же проблема? Ну, разная скорость и фиг бы с ней.
А вы попробуйте, будучи простым рядовым устройством разберите следующую последовательность:
(SN)(NS)(NS)(SN)(NS)? (последовательность 1)
(1) (2) (3) (4) (5)
Что можно сказать об этой последовательности? Только то, что на вызовет ровно 3 раза (между участками 1 и 2, 3 и 4, 4 и 5) смену полярности электрического поля в головке.
Если принять самый первый приходящий в голову вариант кодирования 0 и 1 сменой полярности участков магнитного поля, то уверенно можно сказать, что SN — это 1, а NS — это 0, и получив скачок напряжения в сторону +, можно сказать, что произошел переход с 1 на 0. Значит, распознано 2 участка. А вот дальше, где 2 и 3 стоят рядом – (NS)(NS) никакого изменения не будет, но ведь известно, что на этом месте последнее, что было распознано по предыдущему скачку напряжения — это 0! Но попробуй, докажи сколько точно нулей на этом участке при разных скоростях движения, два или больше. Тое сть что последовательность 1 именно последовательность 1, а не, допустим, эта:
(SN)(NS)(NS) (NS) (NS) (SN)(NS)? (последовательность 2)
(1) (2) (3) (ошибка) (ошибка) (4) (5)
Между 3 и 4 все ровно — скачок напряжения происходит в сторону – и можно сказать, что 3 — это 0, а 4 — это 1. Выходов из сложившейся ситуации масса, от линии синхронизации до частотного кодирования. Которое и является основным в магнитных картах — это удвоение частоты F\2F.
(NS)(SN)(NS)(NS)(SN)(SN)(NS)(SN)(NS)(SN)
( 1 )( 0 )( 0 )( 1 )( 1 )
Смысл, думается, ясен. Для кодирования 1 используется факт интерпретации скачков напряжения — удвоение частоты смены полярностей участков для кодирования одного элемента. Если присмотреться получше, то можно увидеть, что такое кодирование полностью устраняет недостатки кодирования, представленного выше при некоторых условиях.
Допустим, мы остановим карту на участке (NS)(NS). Можно подумать, что устройство собьется и неправильно посчитает число нулей, то есть примет (NS)(NS)(NS)(NS) за 00. На самом деле этого не произойдет, потому что при кодировании условием перехода на следующую группу участков является смена полярности, а ее не происходит и устройство просто ставит 0 и ждет смены полярности (ждет хоть до бесконечности) для того, чтобы вновь запустить свой счетчик — генератор для распознания следующей группы участков. Вопрос, как устройство определяет частоту появления смен полярности, конечно, интересный, но сейчас не нужный.
Лучше один раз увидеть, чем сто раз прочитать. Заглянем в содержимое дорожек магнитных карт и посмотрим, можно ли в домашних условиях однозначно понять, что же на них написано. Попутно получив некоторый инструмент для визуальной оценки состояния дорожек.
Опилки, посыпаемые на лист бумаги, под которым находится магнит, выстраиваются вдоль силовых линий. Нам же от них нужно, чтобы они липли к намагниченным участкам дорожек карты, предательских их обличая.
Обычные опилки или металлическая пыль не подойдут, слишком большие частицы. Предлагается использовать частицы тонера для картриджей принтеров. Они очень тщательно обработаны, однородны, и некоторые из них имеют в своем составе магнитные пигменты.
В оригиналах-источниках идеи предлагается использовать смесь тонера и крахмала, но это, видимо, по той причине, что идея оценивать состояние карточек с помощью тонера или специального спрея появилась давно, а тонеры тогда были специфичными. Поэтому, например, нам ровняться на Францию от 1999 года не стоит. Мы пойдем в современный магазин и приобретем тонер с магнитными пигментами (как показано на рисунке), желательно цветной.
Обсыпав карту и постучав ее об стол для стряхивания излишек тонера получаем в свое распоряжение этот вновь открывшийся мир. На полоске сразу видно все дефекты участков, получаемые картой. В некоторых бытовых случаях это может пригодиться.
Мы же должны продолжить. Весь интерес в том, чтобы прочитать содержимое карты имея под руками только фотоаппарат, лупу, или конечно же микроскоп. Как будет ясно дальше, для анализа второй дорожки из 3-ей достаточно фотоаппарата. На рисунках представлены фотографии со среднего цифрового фотоаппарата и с цифрового микроскопа.
Вся дорожка №2 (ABA) целиком.
Вся дорожка №2 (ABA) целиком с нанесенными в программе paint ориентирами.
И та же самая дорожка, чуть крупнее:
Для удобства, конечно же, использовать снимки с микроскопа.
Итак, анализ. Но сперва нужно обратиться к стандартам:
ISO 7810 Physical Characteristics of Credit.Card Size Document
ISO 7811-1 Embossing
ISO 7811-2 Magnetic Stripe — Low Coercivity
ISO 7811-3 Location of Embossed Characters
ISO 7811-4 Location of Tracks 1 and 2
ISO 7811-5 Location of Track 3
ISO 7811-6 Magnetic Stripe — High Coercivity
ISO 7813 Financial Transaction Cards
Далее в правой стороне документа смотрим сверху вниз:
— Рисунок карты и ее размеры 3.375×2,125 дюймов, один дюйм=2,54 см, получается 85*54 мм. Совпадает с размерами исследуемой карты.
— Строчка «Magnetic Stripe Encoding — Financial Transaction Cards» показывает расстояние от края карты в дюймах и характеристики дорожек (track) в виде своеобразной таблицы. Всего дорожек 3, каждая имеет свое название:
TRACK 1 IATA
TRACK 2 ABA
TRACK 3 THRIFT
Плотность записи RECORDING DENSITY (bits per inch) для каждой из дорожек.
CHARACTER CONFIGURATION (including parity bit) «Устройство символа», по сути, число бит на байт, с учетом бита четности и INFORMATION CONTENT (including control characters) содержимое символов. Видно, что первая дорожка содержит как цифры, так и буквы, вторая и третья содержат только цифры — 40 цифровых символов.
Ниже и слева расположены расшифровки форматов дорожек.
В теории, у нашей 2-ой дорожки ABA должно содержаться не более 75 бит на дюйм. То есть не более 3,375 (длина карты)*75(емкость на дюйм)=253,125 бит=253 бита на всю дорожку. Размер байта — 5 бит, кодировка только цифры, при этом получается 253/5=50 символов, но по стандарту их 40. Лишние — это последовательности для синхронизации в самом начале дорожке — нули.
5 битное кодирование расписано в ссылке ниже.
Что ж, чтобы начать, надо начать. Имея таблицу декодирования, напишем программу расшифровки онной. И да, нам же нужен дамп, полученный при визуализации, вон он (разумеется, чуть изменен, чтобы скрыть персональные данные, которых, кстати говоря, там кот наплакал):
Ну и сама программа:
И, наконец, сам результат:
Который подозрительно напоминает наскрайбированные на карте цифры и буквы.
Следующая дорожка уже зашифрована, но об этом уже в другой раз.
Безопасность банковских пластиковых карт — миф или реальность?
Все больше людей пользуются пластиковыми банковскими картами. Лишь немногие знают, чем одна карта отличается от другой. (Visa от MasterCard, карта с чипом от обычной карты с магнитной полосой). Многие хранят деньги на пластиковой карте, так как считают, что там они более защищены от воровства. Так до недавнего времени было и со мной. Простой поход по магазинам обошелся в 0 р. на счету и при этом карта ни разу не была использована. Разве такое возможно? Оказывается вполне даже. Этот пост скорее для тех людей, которые еще верят в защищенность кусочка пластика с магнитной полосой и доверяют ему все свои сбережения.
Техническая сторона
На сегодняшний день в обиходе самыми распространенными являются карты с магнитной полосой и карты с чипом. Второй вариант в чистом виде в России почти не используется — в качестве его альтернативы используют гибридный вариант (чип + магнитная полоса).
Карта с магнитной полосой
Для данного типа карты информация заносится на магнитную полосу. Карты с магнитной полосой бывают трёх форматов: ID-1, ID-2, ID-3 (наиболее распространен формат ID-1). Магнитная полоса содержит 3 дорожки (чаще всего используют только 2), на которые в закодированном виде записывают номер карты, срок ее действия, фамилию держателя карты и тому подобные данные. Наиболее полно и точно карты с магнитной полосой описаны в стандартах:
Большинство видов пластиковых карт имеют размер, определённый стандартом ISO 7810 ID-1. Какие же средства защиты (помимо магнитной полосы, на которую заносится информация о владельце) позволяют отличить данную карту среди многих других? Подобная информация так же заносится в штрих код. Например, у «Связного банка» при переводе денег на счет достаточно знать именно штрих-код. Идентифицировать владельца так же можно при помощи образца его личной подписи на обратной стороне. Так же все карты имеют идентификационный номер, срок действия и специальный код CVV2 или CVC2 на обороте. Этих данных достаточно чтобы совершать платежи через Интернет. Многие банки так же наносят на свои карты голографические знаки.
Гибридная карта с чипом
В отличии от карт с магнитной полосой, при совершении транзакций задействуется именно информация с чипа. Чип обладает большим объемом памяти, и информация на нем подвергается более сложному типу шифрования. При осуществлении транзакции картой с магнитной полосой, она всегда имеет одинаковые идентифицирующие карту данные, которые передаются в банк. Поэтому их можно скопировать и изготовить поддельную карту. Микропроцессорная карта работает иначе: каждая транзакция подтверждается специально сформированным для нее кодом, и для каждой последующей операции требуется новый код, сделать дубликат фактически невозможно. Гибридный вариант прижился ввиду сложного перехода техники принимающей карты на новый тип данных. Сейчас чипы умеют читать практически все устройства принимающие пластиковые карты. Если банкомат провел операцию с использование лишь данных с магнитной полосы, то данную транзакцию можно оспорить и банк (владелец устаревшего банкомата) обязан возместить ущерб причиненный держателю карты.
Суровая реальность
Вернемся к тому, как же так получилось, что с карты (находящейся всегда у владельца при себе) были сняты все накопления. Я могу только догадываться, т.к. все что у меня есть это образование в сфере ИТ и Интернет (который знает все). Злосчастная карта относилась к самому дешевому в обслуживании типу карт. Обычная карта с магнитной полосой (даже не именная). Какие меры защиты присутствовали на карте:
Что из этого работает?
Магнитная полоса удачно копируется специальным устройством — скиммером. После чего изготавливается дубликат карты и все что остается это узнать пин-код карты. Для этого обычно в паре со скиммером используется скрытая видеокамера или же если это сам злоумышленник в лице официанта или продавца, то он старается подсмотреть пин-код. Еще более технологичный вариант, когда к устройству ввода подключается считыватель вводимых данных.
Так же для получения данных у владельцев используются фишинговые сайты или рассылки где владельцев карт просят ввести их секретную информацию (номер карты CVV2 или CVC2 и т.п.).
Довольно распространенные случаи, когда злоумышленники портят считыватель карт так чтобы карта там застряла. Если владелец уходит, то появляется злоумышленник и завладевает картой.
Существует разновидность другого метода — кардинга (англ. carding – прочесывание). В этом случае злоумышленник завладевает базой интернет-магазина или какого нибудь онлайн банка и снимает деньги с карт к которым удается получить доступ.
Сейчас набирает обороты более сложный вариант скимминга — шимминг (от англ. тонкая прокладка). Эти устройства в отличие от скиммеров, незаметны: тонкая гибкая плата толщиной около 1 мм вставляется через щель картридера и считывает данные введенных карт, позволяя похитить номер карты и ее пин-код. Эксперты успокаивают, что до России такой вид мошенничества пока не дошел, так как это довольно дорого и трудноосуществимо. (На мой взгляд, мне попался именно этот вариант, так что эксперты могут брать себе на заметку).
Подпись на обратной стороне. Данный тип защиты вообще абсурден, если карта как в моем случае не именная, ибо владельцем может быть любой, кто нанесет подпись. В случае с дубликатом ничего не мешает нанести свою подпись и свои имя, фамилию на изготовленную копию. По своему опыту — проходил пол года с картой где стерлась подпись на обороте и только потом мне указали на это и заставили при них оставить автограф (что еще абсурднее).
Голограмма с логотипом банка. Как способ подтвердить, что у вас не поддельная карта на руках вполне может быть, но не более того.
Штрих-код. Достаточно иметь снимок карты и штрих-код легко дублируется.
Моя любимая часть — СМС-информирование. Очень полезная вещь, вы всегда будете видеть, как утекают ваши деньги. Мои утекли за 2 минуты. На то чтобы дождаться ответа от оператора в банке после череды автоответчиков и переадресаций ушло около 1,5 минут. Надо заметить, что телефон вообще можно оставить дома, или он может разрядиться или не быть доступа в сеть, да и много всего еще. Так что как способ защиты очень сомнителен. Темболее как подсказали пользователи MyHabrahabr и SpiritOfVox есть способ вообще блокировать телефон жертвы на момент «потрошения» её карты.
Итоги
Как бы это не было печально, но законодательной базы регламентирующей ответственность банков при осуществлении мошеннических действий с пластиковыми картами в России пока нет. Все случаи рассматриваются каждым банком в отдельности. Они проводят свое собственное расследование и, как правило, если вы нарушили хоть один пункт договора по использованию пластиковой карты (передали третьим лицам, хранили пин-код в доступном для других месте, сообщали информацию о сроке службы, номере карты или cv1/cv2 коды третьим лицам), то в возврате средств будет отказано. Для того чтобы иметь основания и написать заявление в банк — нужно дождаться подтверждения прохождения транзакции (около 3-х дней). До этого момента деньги еще фактически находятся на вашем счету, и оснований для обжалования транзакции нет.
Если злоумышленнику удастся получить копию вашей карты без чипа и пин-код, то, скорее всего такие операции не отличить от совершенных вами лично и тут тоже напрашивается отказ.
Несколько советов:
1) Если у вас все еще обычная карта с магнитной полосой — поменяйте ее на карту с чипом. ( не настолько она дороже, зато деньги целее будут).
2) Установите лимит на снятие денежных средств в течении суток. При включенном СМС-информировании это позволит с меньшими потерями успеть заблокировать карту.
3) Блокируйте карту сразу как появится подозрительная транзакция, многие банки позволяют производить блокировку/разблокировку карты по телефону.
4) Внимательно смотрите на устройства, в которые вставляете карту и не передавайте ее третьим лицам.
5) Если карта застряла в банкомате — сначала блокируйте ее, потом можно и бросить если нет времени или нет возможности найти лицо уполномоченное извлечь карту из банкомата.
6) Самое главное — оставайтесь людьми, не воруйте чужие деньги. У всех есть мечты, но кто-то ради них работает полжизни, а кто-то всего за 2 минуты лишает стимула продолжать верить в мечту.
Полезные ресурсы
Это разновидность кардинга (онлайн-кардинг). Использование дампов для покупок в физических магазинах и комбинаций дамп + пин для обналичивания в банкоматах — это тоже кардинг.
UPD2:
Законодательная база всетаки есть. Правда практика ее применения всеравно ставится под вопрос. (спасибо scarab
Статья 854. Основания списания денежных средств со счета
1. Списание денежных средств со счета осуществляется банком на основании распоряжения клиента.
2. Без распоряжения клиента списание денежных средств, находящихся на счете, допускается по решению суда, а также в случаях, установленных законом или предусмотренных договором между банком и клиентом.
UPD3:
Связной банк — не подвел. Вчера они закончили свое расследование (оно заняло около 2-х недель) и вернули все деньги. Причем новую карту сделали сразу именную и чипованную. Исправляются, это не может не радовать.
Спасибо MyHabrahabr и SpiritOfVox за конструктивные замечания.