Syetms электронные устройства и соображения

Aug 05, 2008 в банковской сфере и EFTPoS, безопасность

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

Глядя на продукцию и отношения с нами, как правило, хорошее начало.

Вещи для рассмотрения следующих вопросов:

Мобильный банкинг безопасности и оценка риска соображения

Aug 05, 2008 в банковской сфере и EFTPoS, безопасность

При рассмотрении банкинг и связанных с ним рисков, оценки во многом зависит от решения создаются или предоставляются.
В целом подход на основе слоистой поддержки и окружающих технологий и методов.

Вот некоторые вещи, чтобы рассмотреть.

оценок обычно сосредоточена на двух основных вещах.

1 / Чувствительность
Что в настоящее время отправлено. напр. кредитных карт, домашний адрес, банковского счета и т.д.
не могут быть чувствительны берегу, но может быть рассмотрена в качестве чувствительных клиентов.
и т.д. ... ... ....

2 / Возможность к
Какие средне настоящее время используются?
Является ли она легко
Что используется?
Все пути обеспечения (клиент и задней)?
Есть 3rd Party, участвующих в коммутации от сделок?
и т.д. ... ... ...

Вещи для рассмотрения следующих вопросов:

  • сбрасывает послал через с клиентом, не должно использоваться как единственный метод доступа к счетам. Дополнительных конкретных клиентов (возможно, статические) передать слово / фразу следует использовать в дополнение к генерируются динамически можно sniffed (в зависимости от режима и местонахождение).
  • Если WAP используется, все устройства, способные Если устройства не могут мы можем в доступе к этим устройствам? Если на стороне клиента или (WIN CE, и т.д.), обеспечить это не могут быть скомпрометированы путем троянских и ключевых техники.
  • Имеет организация рассмотрела стороне клиента сертификатов для проверки устройства до операции принимаются? Рассмотрим несколько устройств и пользовательских (очень зависит решение).
  • Большинство мобильных POS терминалов шифрует клиента вступил рядом, но не шифрует все, что в Если является компьютер, мы должны рассмотреть, если могут быть трещины, и если в незашифрованном очень чувствителен. Рассмотрим дополнительно данных т.е. использование всех IPSec) или использовать терминал, который использует уникальный ключ Производные транзакцию
  • Многие приложения были затронуты на типичных хаки, такие, как захват сессии, SQL не случайная сессии ключей (на стороне клиента и и т.д. ... Это типичная хаки должна рассматриваться в вашей Безопасный SDLC и качества процессов, как только вы знаете из используются и / или развертывания.
  • АТС и кабельные системы распределения кадров может иметь устройства, подключенного к сбору сделок. Беспроводные устройства сейчас подключены к этим системам. Злоумышленник сидит в своей машине на автостоянке на улице. Часто это делается в супер рынках.
  • Беспроводные шлюзы, если не зашифрованы легко собираемые в рамках любого беспроводного диапазона. 802,11 и другие беспроводные / инфракрасные средства в настоящее время используется (оценить и средних используется).
  • Имеет организация считается динамично ключи для мобильных пользователей? Есть некоторые очень низкой цене SecureID решений, имеющихся на сегодняшний день, однако клиенты должны иметь эти приборы на них, когда они хотят делать

Преодолевая VISA PIN

Jul 02, 2008 в банковской сфере и EFTPoS

Ниже приводится статья я обнаружил недавно. Это один из наиболее полных описаний стоимость взлома.

Я думал, я хотел бы повторить это здесь, на моей местного ведения.

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

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.php

--- текст ----

Предисловие
Вы когда-нибудь чудо, что произойдет, если вы потеряете вашей дебетовой и кто-то находит его. Будет ли этот человек иметь возможность снимать наличные деньги из банкоматов гадать, каким-то образом, ваш Кроме того, если вы были, кто считает кого-то бы вы попробуйте угадать и принимать шанс получить денег? Конечно, ответ на оба вопроса должны быть "нет". Эта работа не касается второго вопроса, это вопрос При этом я пытаюсь ответить на первый вопрос.

Все информация используемый для этой работы государственных и можно свободно найти в Остальное идет и программирования, таким образом, мы можем что-нибудь и улыбнемся. Я выявить никаких секретов. Кроме того, цель (и окончательное этой работы заключается в том, чтобы продемонстрировать, что алгоритмов все еще достаточно сильны, чтобы обеспечить достаточную Мы все знаем, не является

Эта работа анализирует один из самых распространенных VISA используемый многими карточек) и пытается выяснить, каким является стойкой к угадать нападений. Под "угадать" Я не имею в виду выбора случайных и пытается ее в банкомате. Хорошо известно, что в целом мы с учетом трех последовательных судебных процессов ввести право если мы не банкомат держит Как четыре цифры долго это легко сделать вывод, что вероятность случайных угадать 3 / 10000 = 0.0003, кажется низкой, чтобы они были безопасными; это означает, что вы должны терять вашу более чем в три тысячи раз ( или потерять более трех тысяч карточек в то же время:) до тех пор, пока есть реальный шанс потерять

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



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

Описание можно найти в двух документах, связанных в предыдущей странице. В целом она состоит в по 8 байт (64 бит), строка называемый преобразовало (ОВЧ), с (DEA), в Код книги режиме (ЕЦБ) с помощью тайного 64-битный ключ. вытекает из результатов процесса, который представляет собой 8 байт строки. Эти четыре цифры (слева направо) соответствуют первых четырех десятичных цифр (слева направо) на выходе из когда считается 16 шестнадцатеричных символов (16 х 4 бита = 64 бит) строку. Если нет Есть четыре десятичных цифр среди 16 шестнадцатеричных символов, а затем завершен принято (слева направо), не десятичных знаков и decimalizing их с помощью преобразования-> 0, B-> 1, C-> 2, D -> 3, Е-> 4, F-> 5. Вот пример:

Результат от 0FAB9CDEFFE7DCBA

0975

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

ОВЧ, видели, как 16 шестнадцатеричных символов (64 бит) строка, формируется (слева направо) с 11-правый цифры PAN за исключением последней цифре (контрольная цифра), одна цифра от 1 до 6 , который выбирает тайным ключом шифрования и, наконец, четырех цифр Вот пример:

PAN: 1234 5678 9012 3445
Ключевые селектор: 1
2468

ОВЧ: 5678901234412468

Очевидно, что проблема разрушения состоит в поисках тайного ключа для шифрования Метод заключается в том, что делать грубую силу поисках ключа пространстве. Заметим, что это не единственный метод, можно попытаться найти недостатки в DEA, многие пытались, но это старый стандарт по-прежнему находится в широкое использование (в настоящее время заменен AES и однако). Это свидетельствует о его достаточно, чтобы грубая сила является единственным реальным способом (Есть некоторые лучше нападения, но не практическим, в нашем случае, для резюме см. LASEC памятки и грязные подробности см. Biham И Шамир 1990 году, Biham И Шамир 1991 году, Мацуи 1993 году Biham И Бирюков 1994 года и Heys 2001).

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

Подготовка к


Грубая сила состоит в шифровании ОВЧ с известными с использованием всех возможных ключей шифрования, и сравнить полученные каждым с известными После матча находится у нас есть кандидат ключ. Но сколько ключей мы попробовать? Как мы уже говорили выше, ключевым является 64-битный долго, то это означает, что мы должны попытаться 2 ^ 64 ключей. Однако это не так. На самом деле только 56 бит являются эффективными в ключами, поскольку один бит (младший) из каждого октета была исторически защищены, как контрольная для других; на практике эти 8 бит (по одному для каждой из 8 октетов), игнорируются.

Поэтому ключом пространство состоит из 2 ^ 56 ключей. Если мы пытаемся все эти ключи, мы сможем найти один и только один матч, соответствующий секретный ключ? Конечно, нет. Мы будем получать много, соответствующие клавиши. Это происходит потому, что это лишь небольшая часть (одна четвертая) от производства. Кроме того это перерос потому, что некоторые из цифр (между 0 и 5 после последнего, видели слева направо, между цифрой 6 и 9) может исходить от десятичных цифр или от decimalized шестнадцатеричных цифр производства. Таким образом, многие ключи будут производить вывод, который уступает тому же сопоставление

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

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

всегда можно рассматривать как соотношение благоприятных случаев к возможным случаям. В нашей проблемой количество возможных случаев дается из 16 элементов (от 0 до F шестнадцатеричных цифр), в группе из 16 из них (16 шестнадцатеричных цифр выходных). Это определяется по 16 ^ 16 ~ 1,8 * 10 ^ 19, которая, разумеется совпадала с 2 ^ 64 (разных номеров из 64 бит). Этот набор номера могут быть разделены на пять категорий:

Те, по крайней мере четырех десятичных цифр (от 0 до 9) среди 16 шестнадцатеричных цифр (от 0 до F) от производства.

Те, кто именно только трех десятичных цифр.

Те, кто точно только двух десятичных цифр.

Те, кто точно только одно десятичных цифр.

Те, кто не десятичных цифр (все между А и F).

Давайте подсчитать, сколько номеров осени в каждой категории. Если мы этикетка 16 шестнадцатеричных цифр производства, как X1 на X16 тогда мы можем ярлык первых четырех десятичных цифр или иной номер первой категории, как Xi, XJ, XK и XL. Число различных комбинаций с этого профиля зависит от продукта 6 I-1 * 10 * 6j-I-1 * 10 * 6K-J-1 * 10 * 6 LK-1 * 10 * 1616-L, где 6 ' S поступает из числа возможностей для F цифры, в 10 из возможностей от 0 до 9 цифр, и 16 из возможностей от 0 до F цифры. Теперь общее число в первой категории просто уделять путем суммирования этого продукта за I, J, K, L от 1 до 16, но с I <J <K <Л. Если вы делаете некоторые математические работы вы увидите этот равна произведению 104 / 6 с суммированием за I от 4 до 16 (I-1) * (I-2) * (I-3) * 6i-4 * 16 16-я ~ 1,8 * 1019.

Аналогично число случаев, во второй категории предоставляется путем суммирования над I, J, K от 1 до 16 с I <J <К данному продукту 6i-1 * 10 * 6j-I-1 * 10 * 6K-J -1 * 10 * 616-K, которые вы можете работать это будет 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7.3 * 1015. Аналогично для третьей категории мы суммирования над I, J от 1 до 16 с I <J 6 I-1 * 10 * 6j-I-1 * 10 * 616-J, который равен 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9.4 * 1014. Опять же, для четвертой категории мы суммирования за I от 1 до 16 6i-1 * 10 * 616-I = 160 * 615 ~ 7,5 * 1013. И, наконец, сумма случаев, в пятой категории дается из шести элементов (М цифр с) в группу 16, то есть, 616 ~ 2.8 * 1012.

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

До сих пор мы подсчитали число возможных случаев, в каждой из пяти категорий, но мы заинтересованы в получении ряда благоприятных случаях вместо. Это очень легко получить последний из бывших, как это только фиксация комбинация из четырех десятичных цифр (или требуется шестнадцатеричных цифр, если нет Есть четыре десятичных цифр) от вместо давая им бесплатно. На практике это означает превращение в 10 в формуле выше на 1 и требуемую сумму в 6 в 1 в том случае, если нет Есть четыре десятичных цифр. Это означает, что мы должны делать первый результат на 104, второй 103 * 6, третий 102 * 62, четвертый на 10 * 63 и пятый 64. Тогда число благоприятных случаев в пяти категориях примерно 1,8 * 1015, 1.2 * 1012, 2.6 * 1011, 3.5 * 1010, 2.2 * 109, соответственно.

Теперь мы можем получить то, что для вывода на матч случайно. Нам просто нужно добавить пять номеров благоприятных случаях и разделите его на общее число возможных случаев. При этом мы что вероятность очень приблизительно 0,0001 или один из десяти тысяч. Разве странно, это хорошо округлены результат? Вовсе нет, просто посмотрите на номера мы рассчитанных выше. К первой категории доминирует на несколько порядков число благоприятных и возможные случаи. Это скорее интуитивное, как представляется очевидным, что очень маловероятно, не имея четыре десятичных цифр (10 шансов из 16 цифр процентов) среди 16 шестнадцатеричных цифр. Мы видели ранее, что взаимосвязь между количеством возможных и выгодные дела в первой категории было разделение на 10 ^ 4, вот где наши результате P = 0.0001 приходит с.

Наша цель для всех этих расчетов состоит в том, чтобы выяснить, сколько парами нам необходимо для выполнения успешной "грубой силой". Теперь мы можем вычислить ожидаемое число ложных срабатываний в первую поиска: он будет рядом судебных разбирательств раза для одной случайной ошибки, то есть Т * С, где Т = 2 ^ 56, размер ключа пространстве. Это составляет примерно 7.2 * 10 ^ 12, довольно большое количество. Ожидаемое число ложных срабатываний во второй поиска (только для позитивных ключей ознакомиться в первом поиска) будут (T * P) * P, на третий поиска будет ((T * P) * P) * P и так далее. Таким образом, для N поиски ожидаемого количества ложных срабатываний будет T * P ^ Н.

Мы можем получить ряд обысков необходимо ожидать лишь один ложноположительный выразить уравнением T * P ^ N = 1 и решения для Н. Так N равен в базе P 1 / T, которая по свойствам логарифмов он дает N = LOG (1 / T) / вход (С) ~ 4.2. Поскольку мы не можем сделать поиск дробно это удобно круглые этот номер. Поэтому то, что ожидаемое количество ложных срабатываний, если мы проводим пять обысков? Он T * P ^ 5 ~ 0,0007, или примерно 1 из 1400. Таким образом, используя пять пар является безопасным для получения истинного секретный ключ без каких-либо ложных срабатываний.


После того, как мы знаем, что нам нужно пять пар, как нам получить их? Конечно, нам нужно по крайней мере одну с известными и в силу характера это единственное, что нам нужно. С другой систем, таких как IBM, нам потребуется пять карт, однако это не является необходимым с Нам надо просто читать а затем изменить четыре раза, но чтение после каждого изменения.

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

Я сделал простую программу на С, getpvvkey.c, выполнять Она состоит из петель попробовать все возможные ключи для шифрования первого ОВЧ, если полученные матчей верно новых ОВЧ судом, и так далее до тех пор, пока существует несоответствие, и в этом случае ключ отбрасываются, а новое судом, или пяти, полученных PVVs матч соответствующие PVVs верно, и в этом случае мы можем предположить, мы получили секретный ключ, однако цикл продолжается до тех пор, пока она истощает ключевым пространством. Это делается для обеспечения мы находим действительно ключевой, поскольку существует вероятность (хотя и очень низкий) первый ключевой обнаружили является ложным положительным.

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

является ключевым моментом в программе, поэтому очень важно оптимизировать его скорость. Я тестировал несколько реализаций: libdes, SSLeay, OpenSSL, cryptlib, NSS, libgcrypt, катакомбах, libtomcrypt, cryptopp, UFC-склепе. функции первые четыре основаны на тот же код, Eric Young, и то, которое осуществляется наилучшим (включает оптимизированный C и x86 код сборщика). Поэтому я выбрал libdes которая была оригинальной и осуществления всех соответствующих конденсированных код в файлы encrypt.c (C версия) и x86encrypt.s (x86 Версия ассемблера). Код немного изменен для достижения некоторых усовершенствований в "грубой силой": первоначальный является фиксированной общей крутых в каждом ОВЧ и поэтому можно сделать только один раз в начале. Еще одним усовершенствованием является то, что я написал совершенно новую функцию SetKey (я назвал его nextkey), которая является оптимальной для грубой силы петля.

Чтобы получить рабочую программу вы просто в соответствующем месте пять TSPs и их PVVs, а затем обобщить его. Я тестировал только на UNIX платформах, с использованием Makegetpvvkey Makefile для компиляции (используйте команду "Make-F Makegetpvvkey"). Он может составить от других систем, но вы, возможно, потребуется исправить некоторые вещи. Будьте уверены, что определение long64 соответствует 64-битное целое. В принципе нет никакой зависимости от порядка байтов в процессор. Я успешно собран и запустить его на Pentium-Linux, Альфа-Tru64, архитектуры Mips-Irix и Sparc-Solaris. Если у вас нет и не хотите, чтобы установить Linux (вы не знаете, что вам не хватает ;-) вас еще есть выбор для запуска Linux на CD и использовать мою программу, см. мою страницу Linux, не устанавливая ее.

После того как вы нашли банковские ключа, если вы хотите найти от произвольного вам просто нужно написать аналогичную программу (жаль я не написан он, я слишком ленив:), что бы попытаться все 10 ^ 4-коды путем создания соответствующей ОВЧ, зашифровать его с (не более) секретный ключ, вытекающих и сравнив его с на Вы получите один матч за истинную Лишь один матч? Помните, что мы видели выше, у нас есть шанс на 0,0001, что случайное матчах Мы стараемся 10000-Пен (и, следовательно, TSPs), таким образом, мы ожидаем, 10000 * 0,0001 = 1 ложноположительный в среднем.

Это очень интересный результат, это означает, что в среднем каждая имеет два действительных коды: клиента, и ожидается, ложноположительный. Слово это "ложные", но отмечают, что до тех пор, как он создает справедливо это столь же актуальными, как один клиент. Кроме того, нет возможности узнать, которая, которые, даже для банкомата, только клиент знает. Даже если ложноположительный были не действительны, как вы еще три судебных процесса в банкомате в любом случае, достаточно в среднем. Поэтому мы рассчитывается в начале этого документа о случайном догадываться о должна быть исправлена. На самом деле оно в два раза превышает стоимость, то есть, это 0,0006 или один из более чем 1600 год, по-прежнему безопасно низким.

Результаты


Важно, чтобы оптимизировать компиляцию программы и запустить ее в возможном быстрый процессор из-за долгого времени ожидается запуск. Я обнаружил, что компилятор оптимизации флаг-O получает лучшую производительность, мысли некоторое улучшение достигается добавлением-fomit-кадр-указатель флаг на Pentium-Linux, то-флаг на пика Альфа-Tru64, флаг-МПА от архитектуры Mips-Irix и скорость флаг на Sparc-Solaris. Специальные флаги (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) для код, как преимущества, как хорошо. Все эти флаги уже были опробованы и я выбрал наилучшее сочетание для каждого процессора (см. Makefile), но вы можете попробовать для тонкой настройки других флагов.

По моим испытаниям лучшей производительности достигается с AMD Athlon 1600 МГц процессор, превышающей 3.4 million ключей в секунду. Интересно оно получает лучшие результаты, чем Intel Pentium IV 1800 МГц и 2000 МГц (см. диаграммы ниже, нажмите на них, чтобы увеличить). Я считаю, это объясняется некоторыми I / O насыщения, несомненно, кэш-память или что процессор AMD (которая в два раза кэш Pentium) или материнская плата, в которой она работает, удается избежать. На первом рисунке вы можете видеть, что нарушение скорости процессоров все более или менее линейную связь с процессором скорости, за исключением двух Intel Pentium я упоминал ранее. Это логично, это означает, что для двойной процессор скорости вы будете получать двойное нарушение скорости, но и следить за насыщения последствия, в этом случае лучше AMD Athlon 1600 МГц, который будет еще дешевле, чем Intel Pentium 1800 МГц или 2000 МГц.

Во второй диаграмме мы можем увидеть более подробно, что мы хотели бы призвать собственного перерыв мощности процессора. Я получаю этот параметр просто разделить перерыва скорости на скорость процессора, то есть, мы получим число ключами пытались секунду, и процентам МГц. Это показатель эффективности работы процессора