На Radeon RX 5500 TX номер карты восстанавливается по этому хэшу за 30 секунд:
это обычный sha-1 от номера карты, что запрещено по PCI DSS
всего нужно подобрать 11 цифр, так как последние четыре цифры
возвращаются терминалом, а первая цифра восстанавливается по типу карты (Visa, Mastercard и т.д.)
if AID starts with A000000003
1F Length Indicator = 31
4A Derivation Key Index = 74
FF Cryptogram Version Number = 255
32 CVR length = 50
A0 (1010 0000) byte 2
10.. .... AC returned in 2nd GENERATE AC: Not requested
..10 .... AC returned in 1st GENERATE AC: ARQC
.... 0... Issuer Authentication successfull or not performed
.... .0.. Offline PIN verification not performed
.... ..0. Offline PIN verification passed or not performed
.... ...0 Able to go online or offline transaction
00 (0000 0000) byte 3
0... .... Last online transaction completed
.0.. .... PIN Try Limit not exceeded
..0. .... Not exceeded velocity checking counters
...0 .... No new card
.... 0... Issuer Authentication successful on last online transaction or not performed
.... .0.. Issuer Authentication performed after online authorization or offline transaction
.... ..0. Application not blocked by card
.... ...0 Offline static data authentication passed or was not performed on last transaction
00 (0000 0000) byte 4
0000 .... Number of Issuer Script Commands : '0'
.... 0... Issuer Script processing passed
.... .0.. Offline dynamic data authentication passed or was not performed on last transaction
.... ..0. Offline dynamic data authentication not performed
.... ...0 PIN verification command received for a PIN-Expecting card or card does not expect PIN (i.e. Offline PIN verification not supported)
В java тоже есть интрумент для анализа производительности и поиска узких мест — Java Mission Control.
Он идет в составе JVM.
Причем он при его использовании производительность практически не падает (от 1 до 5%).
Перегревается ли Odroid XU4?
По нашему опыту, под большими нагрузками наблюдаются внезапные зависания. Причем проявляется это примерно через наделю. Решили установкой дополнительного охлаждения.
У XU4 четыры ядра медленных A7, и четыре быстрых A15.
Вы выбираете ядра, где будет работать потоки программы распознавания?
И насколько быстрее работает на A15, чем на A7?
Какое ядро используете?
От hardkernel 3.10 или с kernel.org?
От версии к версии меняется много, разные системы инициализации (init, upstart, systemd), новые пакеты, взамен старых (например, pam для ldap), про ядро я уже не говорю (это только для intel, для arm за ядром все равно самим следить).
Плюс, нужно еще и протестировасть самим систему, погонять тесты на производительность.
Еще не надо забывать про новые GCC, glibc и binutils.
Плюс, больше чем уверен, что oracle свою версию java тестирует на LTS-системах.
А что мы получаем взамен?
Только новые версии пакетов, которые еще и не протестированы.
К примеру, мне все равно, что нового в open-ssh сервере (текущая функциональность полностью устраивает), главное, чтобы не было ошибок и дыр в безопасности.
Для host-систем, я лучше бы выбрал alpine linux или coreos, но у них нет LTS пока.
Экспериментировали с yoctoproject, но там не все входит в LTS и в случае с docker за слишком многим нужно следить самим.
У buildroot тоже нет LTS.
Например, я уже 4 года на ноутбуке используют archlinux, и каждый раз обновление системы приносит новые ошибки и (иногда) исправление старых. На ноутбуке две карты Nvidia и Intel, при обновлении ядра очень часто невозможно переключиться на Nvidia. Я уже не говорю про gnome shell, для которого у меня несколько скриптов, исправляющий его глюки.
Ставил archlinux на Odroid-U3 (используется в одном проекте для управления железками + vpn), в один день пришло обновление, которое поломало получение ip адреса по dhcp (было связано с systemd).
Мы выбрали Centos для Intel и ubuntu для ARM. Основное — это LTS.
Да, некоторые пакеты не устраивают, например java, docker, mysql и еще несколько.
Для низ сделаны собственные репозитории, за которыми мы следим и обрабатываем все CVE, связанные с ними.
Остальные пакеты в рамках существующих версий в LTS не обновляются на новые версии, только исправляются ошибки и правится безопасность, поэтому основная система стабильная.
По производительности (3 шт. Odroid XU4, eMMC 32 GB или USB 3.0 HDD):
cassandra-stress на 3 нодах (каждая в docker-контейнере) выдает 12 тыс/c
iperf — около 950 Mbit/s
Centos 7 пока еще в экспериментальном репозитории, image для загрузки и для docker уже можно собрать, но тестировать всю систему придется самим, с ubuntu 14.04 все проще — уже давно всеми тестируется и работает как часы.
Производительности ARM v7 серверов вполне хватает (для наших задач), жалко что память ограничена только 2GB.
Хотя, есть экземпляры и с 4GB RAM, но по цене уступают в два раза Odroid XU4.
Стоит обратить внимание при размещение системы на sd-картах.
Для домашнего использования все хорошо, а вот для серверов — нет.
Часто при сбросе файлового кэша на sd-карту происходит замирание системы, т.к. sd-карты не обеспечивают постоянную скорость записи в режиме random.
Намного лучше себя ведут eMMC 5.0: постоянная скорость записи в разных режимах — 50MB/s (тестировали только у Odroid XU4).
По слухам, AMD готовит плату с 64-битным процессором, основанную на спецификации www.96boards.org/ee-specification по стоимости в 300-400$.
Для размещения в стойке формат текущих плат немного не устраивает.
Было бы здорово, если бы у Odroid XU4 порт UART и разьем питания располагались на противоположной стороне от RJ45 и были бы с каким-нибудь разъемом для backplane, например, как для шасси у медиаконвертеров.
На Radeon RX 5500 TX номер карты восстанавливается по этому хэшу за 30 секунд:
возвращаются терминалом, а первая цифра восстанавливается по типу карты (Visa, Mastercard и т.д.)
Речь идёт о нарушении безопасности.
Если, конечно, там обычный sha-1 без использования MAC-функции с секретным ключом (например, CBC-MAC).
Терминал не должен по USB или по rs-232 выдавать чувствительные данные (PAN, PIN block).
Поэтому здесь нарушения стандарта PCI нет.
Интересно, а Сбербанк не даёт описание протокола, как общаться через USB или rs-232 с терминалом?
Тогда было бы намного проще интегрироваться.
Насколько я понял, терминалы Сбербанка не возвращают BIN, только последние 4 цифры.
Цифр меньше, всего 11:
Производительно одной Nvidia 1080 около 1 GH/s для sha-1 https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40 Примерно 27 дней на одну карту.
Есть точки, которые не требуют CVV.
Это настоящий sha1 от номера карты?
Если это так, то можно восстановить номер карты, который нельзя раскрывать организациям, у которых нет PCI DSS.
Расшифровка CID
Расшифровка IAD:
Интересно, по какому алгоритму считается фискальный признак на кассе и как он потом проверяется.
А можно ли обновлять BIOS из linux напрямую?
Для Windows есть такая возможность.
Мы на основе статьи написали простой bash-скрипт для проверки этой уязвимости (test.sh):
Запускаем первый раз и получаем nonce:
Затем во втором аргументе используем полученный nonce:
В java тоже есть интрумент для анализа производительности и поиска узких мест — Java Mission Control.
Он идет в составе JVM.
Причем он при его использовании производительность практически не падает (от 1 до 5%).
Включается несколькими параметрами:
Дальше можно зайти на сервер по ssh с перенаправлением портов:
Запускаем jmc и подключаемся к 127.0.0.1:7091
Вместо goroutines можно использовать fibers http://docs.paralleluniverse.co/quasar/
По нашему опыту, под большими нагрузками наблюдаются внезапные зависания. Причем проявляется это примерно через наделю. Решили установкой дополнительного охлаждения.
У XU4 четыры ядра медленных A7, и четыре быстрых A15.
Вы выбираете ядра, где будет работать потоки программы распознавания?
И насколько быстрее работает на A15, чем на A7?
Какое ядро используете?
От hardkernel 3.10 или с kernel.org?
Я смог найти только DC53427HYE и NUC5i5MYHE с поддержкой IPMI.
Плюс, нужно еще и протестировасть самим систему, погонять тесты на производительность.
Еще не надо забывать про новые GCC, glibc и binutils.
Плюс, больше чем уверен, что oracle свою версию java тестирует на LTS-системах.
А что мы получаем взамен?
Только новые версии пакетов, которые еще и не протестированы.
К примеру, мне все равно, что нового в open-ssh сервере (текущая функциональность полностью устраивает), главное, чтобы не было ошибок и дыр в безопасности.
Для host-систем, я лучше бы выбрал alpine linux или coreos, но у них нет LTS пока.
Экспериментировали с yoctoproject, но там не все входит в LTS и в случае с docker за слишком многим нужно следить самим.
У buildroot тоже нет LTS.
Что нам делать с серверами, каждые полтора года переустанавливать ОС?
Например, я уже 4 года на ноутбуке используют archlinux, и каждый раз обновление системы приносит новые ошибки и (иногда) исправление старых. На ноутбуке две карты Nvidia и Intel, при обновлении ядра очень часто невозможно переключиться на Nvidia. Я уже не говорю про gnome shell, для которого у меня несколько скриптов, исправляющий его глюки.
Ставил archlinux на Odroid-U3 (используется в одном проекте для управления железками + vpn), в один день пришло обновление, которое поломало получение ip адреса по dhcp (было связано с systemd).
Мы выбрали Centos для Intel и ubuntu для ARM. Основное — это LTS.
Да, некоторые пакеты не устраивают, например java, docker, mysql и еще несколько.
Для низ сделаны собственные репозитории, за которыми мы следим и обрабатываем все CVE, связанные с ними.
Остальные пакеты в рамках существующих версий в LTS не обновляются на новые версии, только исправляются ошибки и правится безопасность, поэтому основная система стабильная.
На новую версию обновляется легко:
wget https://github.com/umiddelb/armhf/raw/master/bin/docker-1.7.1 && stop docker.io && cp docker-1.7.1 /usr/bin/docker && chmod a+x /usr/bin/docker && start docker.io
Подробнее в статье про docker для ARM v7
По производительности (3 шт. Odroid XU4, eMMC 32 GB или USB 3.0 HDD):
cassandra-stress на 3 нодах (каждая в docker-контейнере) выдает 12 тыс/c
iperf — около 950 Mbit/s
Centos 7 пока еще в экспериментальном репозитории, image для загрузки и для docker уже можно собрать, но тестировать всю систему придется самим, с ubuntu 14.04 все проще — уже давно всеми тестируется и работает как часы.
На этой неделе Hetzner стал предлагать сервера на основе Odroid XU4. Но почему-то ограничилcя только Ubuntu 15.04 (почему не выбрали 14.04?).
Производительности ARM v7 серверов вполне хватает (для наших задач), жалко что память ограничена только 2GB.
Хотя, есть экземпляры и с 4GB RAM, но по цене уступают в два раза Odroid XU4.
Стоит обратить внимание при размещение системы на sd-картах.
Для домашнего использования все хорошо, а вот для серверов — нет.
Часто при сбросе файлового кэша на sd-карту происходит замирание системы, т.к. sd-карты не обеспечивают постоянную скорость записи в режиме random.
Намного лучше себя ведут eMMC 5.0: постоянная скорость записи в разных режимах — 50MB/s (тестировали только у Odroid XU4).
По слухам, AMD готовит плату с 64-битным процессором, основанную на спецификации www.96boards.org/ee-specification по стоимости в 300-400$.
Для размещения в стойке формат текущих плат немного не устраивает.
Было бы здорово, если бы у Odroid XU4 порт UART и разьем питания располагались на противоположной стороне от RJ45 и были бы с каким-нибудь разъемом для backplane, например, как для шасси у медиаконвертеров.