Банкоматных вирусов пост

    Ребята, я не выдержал. Речь сейчас пойдет о банкоматном вирусе, обнаруженном больше года назад в банкоматах Diebold, и основном принципе его работы. Тема эта древняя, пик истерии давно уже прошел, но общественность так и не узнала, что же произошло на самом деле, из-за чего даже ИТ-шники строят массу догадок и рассказывают мифы. Про этот вирус было написано много статей, от технических описаний до политпросвещения домохозяек, но самый главный трюк нам так и не раскрыли. Объяснять я постараюсь попроще, ибо нам важно понять суть, а не вникать в детали конкретной реализации чего-либо.

    Картинка для привлечения внимания:




    Начнем с начала. Год назад в СМИ поднялась паника: «в банкоматах вирусы!», вследствие чего все уважающие себя банковские управленцы эту панику поддержали и стали пытаться что-то сделать. Паника возникла неспроста: в мире бродит множество любителей халявы, т. н. кардеров, целью которых является получить данные вашей банковской карты, в т. ч. и PIN-код, чтобы потом сделать ее дубликат и снять все деньги или что-нибудь приобрести. Для этого придумываются разные способы обмана, но до появления вируса все они носили физический характер. А вот вирус весьма интересен, ибо вывел технологию принципиально на новый уровень – PIN-коды стали тырить на программном уровне. Надо заметить, что вирус еще умеет выдавать наличность в неограниченном объеме по спецкарте, но нам, как клиентам, на это наплевать, тут банк на деньги попадает, а не мы.

    Теперь давайте сделаем поверхностный экскурс в сам банкомат, и разберемся, откуда там могут быть вирусы. Открою тайну: подавляющее большинство банкоматов работает под Windows XP. Догадливый читатель поймет, что в данном случае угроза налицо, и надо начинать бояться. Но не все так плохо, как кажется. Во-первых, добросовестные поставщики банкоматного софта этот Windows сильно урезают, отключая в нем все, что только можно, защищают порты, закрывают доступы и так далее. А во-вторых, банкомат никогда не смотрит прямо в интернет – он или в выделенном сегменте корпоративной сети, или подключен через какую-нибудь шифровалку, типа Cisco или Checkpoint, и вирусу туда пробраться, мягко говоря, без вариантов. Соответственно, выход тут только инсайдерский, ибо извне подсунуть что-то в банкомат проблематично.

    А что же представляет собой типичный банкоматный софт? А вот что. Архитектура этого софта аналогична клиент-серверной. Сервер в данном случае умеет работать с конкретным железом (которого в банкомате навалом) и публикует наружу программные интерфейсы, общие для каждого типа железа (диспенсер, кардридер, принтер, клавиатура и т. д.). Клиент, т. е. само бизнес-приложение, в свою очередь, пользуясь этими интерфейсами, показывает нам рекламу, выдает долгожданную зарплату, печатает чеки и радостно мигает лампочками. Все это хозяйство называется стандартом CEN/XFS. Я, пожалуй, приложу картинку.



    Узнав такую новость, мы немедленно приступаем к написанию своего банкоматного софта с блэкджеком и шлюхами, благо секретов тут нет, и все эмуляторы и спецификации от нас никто не прячет. Магнитную полосу мы прочитаем с кардридера, когда клиент вставит карту, а PIN-код из PIN-клавиатуры, когда клиент его наберет. Вот он, как говорится, profit. И с виду, вроде как, все нормально. Но радоваться рано, нас ждет небольшой облом. Дело в том, что PIN-код из клавиатуры в чистом виде прочитать нельзя. Можно только в зашифрованном.



    Сделаем лирическое отступление, для общего развития интересующихся. PIN-код в чистом виде не гуляет нигде, кроме самой клавиатуры и специального прибора HSM, который находится в процессинге. Процесс ввода PIN-кода следующий. Софт передает в клавиатуру номер карты и команду на ввод PIN-кода. Далее, в процессе ввода, клавиатура возвращает только факт нажатия клавиши, но не сообщает какой именно. Затем клавиатура формирует конструкцию из двузначной длины PIN-кода, самого PIN-кода, потом добивает до 16 символов цифрой F и делает над этим «исключающее или» с правыми 12-тью цифрами номера карты, кроме последней проверочной цифры. Например, для PIN-кода 1234 и карточки 4987.6543.2109.8765 мы возьмем 04.1234.FFFFFFFFFF, сделаем над этим XOR с 0000.765432109876 и получим 0412.42AB.CDEF.6789. А дальше вот это последнее число шифруется рабочим ключом, который уже находится в клавиатуре, и шифр возвращается приложению, заказавшему операцию ввода PIN-кода.

    Теперь разберемся с ключами шифрования, раз уж мы про них заговорили. Эти ключи находятся в самой клавиатуре, и прочитать их оттуда нельзя. Как правило, до начала эксплуатации банкомата банковские офицеры безопасности вручную заводят в клавиатуру так называемый мастер-ключ (MK). Затем периодически из процессинга в банкомат прилетает специальный рабочий ключ (WK), зашифрованный тем самым мастер-ключом, который кроме клавиатуры и специального прибора HSM, о котором упоминалось выше, никто не знает (офицеры вводят каждый свою компоненту и тоже полный ключ не знают). Итого у нас в клавиатуре сидят MK и MK(WK).

    Начнем плавно подходить к кульминации. На самом деле в клавиатуру можно записать много разных ключей. А еще можно скормить ей PIN-блок, заставить расшифровать его рабочим ключом, зашифровать другим ключом и вернуть результат. Т. е. в чистом виде мы ключ никогда не получим, а в зашифрованном каким-либо ключом – пожалуйста. Так почему бы нам не записать туда свой, заведомо известный мастер-ключ и не дать клавиатуре команду шифровать PIN-блок именно им, а не каким-то другим? А мы потом его расшифруем, т. к. ключ нам теперь уже известен. Именно так и делает наш вирус.



    Вот и весь фокус, ребята. Ничего сложного, правда?

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



    Вот и все. Длинновато получилось, не надо было про PIN-блоки писать, ну да ладно. Надеюсь, я немного прояснил ситуацию, а разных мифов и толкований в известных кругах станет ходить поменьше. Особенно это актуально для больших банковских управленцев, которые мечтают ставить на банкоматы антивирусы, не понимая, что получат геморроя в разы больше, чем пользы. Нормальные парни давно пользуются решениями а-ля Solidcore и живут спокойно.
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 120

      +14
      спасибо большое
      очень интересно было читать
        0
        согласен. Очень интересная статья
        +1
        +1 за SolidCore и аналоги. Принцип белых списков рулит.
          +5
          а можно поподробнее про Solidcore?
          так же не понятно как же вирус все же туда попал?
            +16
            Если кратко, то Solidcore прописывает в дистрибутив слепок всего софта и не позволяет в процессе работы запускать любой неподписанный код. Поскольку на банкомате софт в процессе работы не доустанавливается, этот метод весьма эффективен. Понятное дело, что на простой рабочей станции такой фокус не пройдет.
              +10
              Вот, а вирус, я считаю, попал от какого-то сервисного инженера, поскольку был обнаружен не в одном банке. Как-то невнимательно я читаю вопросы, прошу прощенья.
                +2
                теперь понятно. а то уж думал на клавиатуре настучали :)
                +1
                Чем лучше стандартного Software Restriction Policy?
                  +1
                  Не знаю, врать не буду. В луче Solidcore вообще никакой код не может быть исполнен без подписи, вот и все. Если чо, вы не подумайте — есть еще несколько аналогичных решений.
                    +1
                    Я знаю что есть много аналогичных решений, сам учавствовал в создании одного, правда еще во времена Win 9x, тогда было актуально. Потом появилась XP/2003, SRP, и осталось куча коммерческих решений которые просто используют свои методы для реализации того что есть в системе из коробки (но к сожалению требует чтения документации).
                    Допускаю, что многие такие решения могут давать какие то преимущества, вроде более удобного интерфейса или красивых отчетов… Но мне кажется в подобных случаях не необходимое стороннее ПО лишь вредит безопасности.
                    SRP тоже не позволяет запускать никакие приложения кроме тех что разрешены по хешу, или подписаны доверенным CA (в зависимости от настроек). Причем это делается не путем перехвата системных функций, а родным функционалом самой системы.
              –2
              меня тут интересует немного другой вопрос, какой смысл юзать дырявую windows xp, пытаясь добиться безопасности другими средствами? есть же opensource платформы, вполне на те деньги, что отчисляются MS можно было сделать общий embedded продукт с нужными отрасли стандартами безопасности (уже на закрытой коммерческой основе), так нет, платят деньги непонятно за что, тем более что наврядли из-за креша системы ms понесет убытки, скорее их понесет сам банк

              это к вопросу о взломе, что-то мне подсказывает, что лажанулась там именно ОСЬ
                +19
                представьте ситуацию: вы открываете таксопарк, покупаете машины и переделываете все двигатели, дабы они работали не на бензиние, а на сжиженом водороде. мотивируя это тем что в бензин/солярку/газ враги вашего таксопарка, на обычных запраках могут подмешать мочу или другие вредные вещества и вы понесете убытки…
                за одно вы нанимаете штат химиков которые будут «добывать» вам водород, а чо водород то из воды берен, дешевле (читать как опенсорс)

                бред? вот тут так же само, банки зарабатывают деньги, а не заморачиваются с «идеальными» системами.
                  +11
                  Все верно. Добавлю еще совершенно тупой, но очень точный ответ — так сложилось исторически. Чуть понятнее станет, если залезть на страничку CEN/XFS в Википедии: Microsoft в 91-м возглавил это безобразие. А банкам да, все похрену, они деньги зарабатывают. Тем более, эта индустрия уже очень прочно сложилась, и менять тут что-то, мягко говоря, весьма проблематично.
                    0
                    попытаюсь донести до вас мою мысль

                    я бы с вами полностью согласился, если бы речь шла по пекарне или таксопарке, но входные данные говорят нам о как минимум 10,000 долларов * n банкоматов (логичным здесь было бы еще умножение на некое среднее количество итераций дозагрузки банкомата кешем или клиентов), в итоге выходит ощутимая цифра

                    да, я безусловно понимаю, что банк это государство в государстве, где проще объявить убыток, нежели с чем-то разбираться, но с каждым разом ком становится все больше и больше
                      +2
                      банк эти риски уже давно покрыл ставками по кредитам, штрафами, ужимками, ухмылками и еще чем нибудь другим что они там делают в своем банке.
                        +4
                        Дело в том, что проблема фрода банки не волнует в принципе. В США (как главного игрока на этом рынке), потому что подобные убытки застрахованы. В более других странах, в частности в России), потому что на бабло попадает клиент и его дружно посылают на все 4 стороны. То есть проблема как бы есть, но во-первых, она — у индейцев, а во-вторых, шерифа не волнует.
                          +3
                          «США и более другие страны», спасибо, возьму на вооружение ;-)
                            +2
                            не совсем так — проблема фрода банки волнует, поскольку уменьшив сумму страховки, можно уменьшить существенно выплаты по ней (заработать денег) Вопрос в том, что техническое решение должно стоить существенно дешевле нежели текущие выплаты, и не должно быть сложным чтобы отпугнуть клиентов из банка.

                            А вот таких решений пока нет — поэтому банки платят по страховке.
                              +1
                              Не совсем так, не берусь сказать за США, но в Европе многие (если не все) банки посылают вас, если при фроде использовался ПИН. Их ответ типа «вы сами себе злой буратина, если кто-то смог подсмотреть ваш пин»
                              +1
                              когда убытки*10 будут приближаться по размеру к прибыли тогда директор банка даст писссды программистам или закроет банк, как не рентабельный и все… а вы все еще будете настраивать свою «идеальную» систему выдачи денег…

                              все бы думали, как вы…
                              так бы и войн не было, а то вдруг солдата взломают вражеской пулей и окажется, что генералы они лажанулись с выбором «биороботов» ;) не то что перефекционисты, они не воют… т.к. создают идеального солдата )
                                –1
                                вы рассуждаете о деньгах, которых у вас наверное никогда не будет, причем делаете очень легко, а тут надо думать :-) да и не перфекционист я, по мне проще 1 раз подумать и сделать, чем страховать и перестраховывать риски, надеясь что они лопнут уже после моей смерти

                                P.S. какой-то тролль уже минусует непонятно за что
                              +3
                              Совершенно верно. Когда приходишь работать в компанию с четко определенной точкой зрения на платформу, твое мнение (холиварное) никого не интересует. Работает все под Windows — значит изволь писать под эту ОС/обслуживать эту ОС.
                              Заказчиком выступает банк. Специалист обязан лишь реализовать услугу.
                            • UFO just landed and posted this here
                                0
                                дело не в линуксе и не в массовом заражении, как мне кажется, а в конкретном точечном ударе по дырке где-то внутри конкретного вида банкоматов
                                  +3
                                  Правильно. Причем, дырка в оборудовании.
                                    –4
                                    по этому поводу пожалуйста развернутый ответ :-)))
                                      0
                                      «Дело в том, что в некоторых банкоматах Diebold были установлены старые клавиатуры, не соответствующие современным требованиям безопасности»

                                      чтение по диагонали придется забыть
                                        +2
                                        клавиатуры не обеспечивают иерархию ключей, что позволяет получать пин-код в чистом виде, это как-то соотносится со взломом?
                                          +1
                                          не прав, признаю.
                                0
                                Все системы дырявы по определению.

                                Написать вирус под конкретную инсталляцию любой ОС не проблема.

                                Тут сыграл человеческий фактор + несоответствие стандартам.
                                  0
                                  И жадность. Diebold продает на рынке 2 варианта клавиатур: соответствующую всем последним стандартам и попроще. Последняя стоит значительно дешевле.
                                  +5
                                  Я, конечно, не банковский сотрудник, и не знаю, что заставляет их действовать именно так, но вижу приблизительно такую картину.
                                  Сейчас у нас есть банкоматы, работающие под WinXP, при этом тщательно изолированные от внешнего мира. Они вполне безопасны, поскольку из истории понятно, что заражались банкоматы с аппаратной проблемой, причем, вероятно, сервисными инженерами. При достаточной квалификации и физическом доступе никакая ОС препятствовать внедрению вредоносного кода не сможет. При этом смена платформы как минимум на первых порах снизит безопасность решения. Неужели это хоть кому-то нужно, при том, что в условиях такой изоляции WinXP прекрасно справляется со своими задачами.
                                    +6
                                    Непонятно, за что человека минусуют. С точки зрения «как вообще должно быть правильно» с ним согласно все общество кодеров банкоматного софта, ящитаю. Другой вопрос — как это все продается и преподносится. Это вообще спонтанные явления, основанные на межчеловеческих отношениях, тут рассчитывать на логику не надо. Вот, решили случайно Windows, а все теперь мучаются. Банки — такие банки.
                                      +1
                                      Будучи пользователем и разработчиком под MS полностью согласен что в этой сфере нужно разрабатывать специализированное ПО, а не строить на основе закрытой системы.
                                        0
                                        Банки — такие банки.
                                        Дело в том, что сами банки очень слабо могут повлиять на выбор ОС, установленной внутри банкоматов.
                                        Банкоматами в банках занимается подразделение процессинга, которое обычно либо достаточно автономное и независимое, либо вообще отдаётся на аутсорсинг в стороннюю процессинговую компанию. А процессинговая компания сама не устанавливает ОС в банкоматы, она закупает готовые банкоматы с готовым программно-аппаратным комплексом (т.е. уже с виндой на борту). Учитывая, что эти Windows Embedded закупаются поизводителями банкоматов в огромных количествах, то и по цене они для них достаточно дёшевы, вот и не парятся.

                                        В итоге получается, что для смены ОС и всей платформы банкоматского ПО банку нужно надавить на процессинговую компанию, а тем уже на производителей банкоматов. Т.е. прямого влияния на выбор ОС банки зачастую оказать не могут.
                                      –20
                                      автор ты охуенен
                                        –15
                                        +1
                                          0
                                          вы че стукнулись об мониторы оба?
                                        +2
                                        Они-таки похоронили полуось?
                                          +4
                                          Да. А причина очень банальна — OS/2 не поддерживала Pentium IV и далее, вот и все. Эх, вот это софт был… Я даже как-то FTP сервер туда в билд вкорячил, чтобы картинки удаленно менять.
                                            +1
                                            Зачем в банкомате P-IV и дальше?
                                              +3
                                              А что вы можете еще предложить? Специально для вас (банкоматостроителя) никто P133MMX делать не будет, покупайте то, что есть.
                                                +5
                                                P133 не будет, а 486 с разгоном — будет. Vortex86SX называется, продаётся в эпических мастшабах как эмбеддед платформа с поддержкой x86.
                                                0
                                                Вероятно, старые Пентиумы и системные платы под них (а также память и т.д.) просто перестали выпускать.
                                                  0
                                                  Вероятно, C3 и C7 у виа выпускать не перестали, так же как и вортексы.
                                                0
                                                в Сбере Вам бы за фтпшку быстренько печенек накидали…
                                              +11
                                              [trolling]
                                              А авторан с флеше… банковских карт они выключили?
                                              [/trolling]
                                                  0
                                                  Евгений Касперский о банкоматах и проблеме возврата денег.
                                                    0
                                                    Какое-то рваное видео. Ужасный монтаж.
                                                    +1
                                                    Diebold-овское железо уже кто только не дырявил. Вспомнить хотя бы историю с их машинами для выборов.
                                                    Почему его еще покупают — загадка для меня.
                                                      0
                                                      говорят остальное ещё хуже. для срвисников банкоматов диболд чуть-ли не икона. ну там ncr ещё.
                                                      +2
                                                      немного запутали вы меня с ключами, но в целом довольно интересно.
                                                        0
                                                        То есть, если я правильно понял, таким образом становится невозможным клонировать карту, при помощи подставного софта в банкомате, потому что этот софт понятия не имеет, как расшифровать пин карты и просто передаёт его на сервер. Не понятно, а зачем, собственно нам в API предоставляется возможность получить хоть и зашифрованый, но пин? То есть именно наше приложение должно передовать серверу факт того, что вот мол карта вставлена, на ней набран пин — теперь я хочу от тебя вот этого.

                                                        Просто у меня следующий вопрос: Что мешает написать софт, который будет тупо сохранять этот зашифрованные пин коды и номера карт. Понятное дело, что нигде, кроме именно этого банкомата с текущим рабочим ключом эти пин коды смысла никакого не имеют. Но если наше прилождение может явиться инициатором какой-либо операции — то ведь мы можем передать сохранённые нами данные? Или банкомат всё-же сам должен на аппаратном уровне говорить серверу, что вот мол карта вставлена, вот набран пин, и т.п.?
                                                          +2
                                                          на карте пин не записан, чтобы сделать клон карты достаточно считать магнитную полосу. С пином просто можно ее максимально быстро обналичить. А уж как они его у вас уведут — через вирус ли, через накладную клавиатуру на банкомате, через видеокамеру, спрятанную неподалеку — поверьте, вам будет все оавно
                                                            +1
                                                            Не ну я и имел ввиду — клон карты с возможностью обналичить, меня именно техническая особенность всей этой технологии интересует.
                                                              0
                                                              Если внимательно читать, то станет понятно — в старых Диболдах с, назовем ее, специфичной клавиатурой можно сделать клон карты вместе с PIN-кодом. В остальных (NCR, Wincor Nixdorf) банкоматах — не получится.
                                                                0
                                                                А, тем не менее, я вот тоже не понял этого момента.

                                                                Зашифрованный блок с PIN-ом вредоносная программа на банкомате может сохранить. И провести, передавая его на сервер, несколько левых операций.
                                                                Тем самым можно увоить деньги со счёта, не зная PIN'а до момента смены рабочего ключа.

                                                                Где подвох?
                                                                  0
                                                                  Присоединяюсь к вопросу. Судя по описанию автора набор номеркарты-пин-рабочийключ однозначно определяет зашифрованный блок.
                                                                    0
                                                                    Непонятно, что тут непонятного :)
                                                                    Цель вирусописателя — изготовить дубликат карты. Далее, для изготовления дубликата карты требуется магнитная полоса и PIN. Дыра в некоторых клавиатурах банкоматов Diebold позволяет вычислить PIN. Магнитная полоса (которая содержит и номер карты, и срок действия, и много чего еще) считывается с кардридера.
                                                                      0
                                                                      Я так понял, что вопрос в следующем…
                                                                      Допустим, у нас есть банкомат не Диболд, а правильный (с правильной защитой клавиатурных ключей). В нём же всё равно проходят и данные карты и зашифрованный PIN.
                                                                      Что мешает злоумышленику внедрить в этот аппарат шпионскую программу, которая во время обычной операции любого клиента сохранит данные его карты и зашифрованный пин-код (пусть даже зашифрованный легитимным нескомпрометированным ключом), а потом с помощью этих данных проведёт левую сделку, например, в заданное время выплюнет из банкомата пачку денег со счёта запомненной карты (допустим деньги подберёт злоумышленик или нанятый им дроп).

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

                                                                            А при проводке дополнительных операций по той же карте квазилегальным методом банк может оставаться не в курсе ещё очень-очень долго…
                                                                              0
                                                                              Да, и хрен потом чего оспоришь — ты снимал, не ты…
                                                                                0
                                                                                Ну по идее должна быть какая-то защита от replay-атак, например, использование при шифровании PIN'а случайного неповторяющегос числа.
                                                                                  0
                                                                                  Есть такая, макирование называется. Правда, редко кто этим заморачивается, к сожалению.
                                                              +2
                                                              хороший пример бага в железе.
                                                              спасибо.
                                                                –13
                                                                Автор, ты на лепре сидишь что-ли?
                                                                  +4
                                                                  Вы так говорите, как будто это что-то плохое.
                                                                    –1
                                                                    а личка для чего? ты еще топик создай в песочнице: Аффтар, а ты на Лепре сидишь, а?
                                                                    +3
                                                                    Читая ваш пост, я получил из пролетающего НЛО идею. Снимать фильмы про хакинг\разработку\что-то подобное в стиле, подобном вашему. "… И тут ГГ падает на клавиатуру, уснув от тяжелого кодинга и во сне ему приходит решение задачи. Он, практически сквозь сон, набирает код который красиво обходит последную стену защиты на сервере. Тут всякие спецэффекты как код мечом разфигачивает купол защиты над ядром" :)
                                                                    Извините за бред.
                                                                      +1
                                                                      Вполне качественный бред, мне нравится ))
                                                                      Жизнь без него была бы скучнее xD
                                                                      0
                                                                      … но до появления вируса все они носили физический характер. А вот вирус весьма интересен, ибо вывел технологию принципиально на новый уровень – PIN-коды стали тырить на программном уровне…

                                                                      Чтобы «стырить» ПИН по Вашему описанию нужно сначала все-таки получить физический доступ к usb портам банкомата (вскрытие технологического отсека, знание админского пароля, etc). А при использовании физического доступа (ДО повального применения 3DES) в истории были возможности перехвата ПИНа. Однако за Деболды говорить квалифицированно не могу, могу только за NCR :)
                                                                      • UFO just landed and posted this here
                                                                          +1
                                                                          Рассказывали, что с этим банкоматным вирусом так и было. Данные о картах и пинах извлекались злоумышлеником из банкомата через обычный чековый принтер.
                                                                          0
                                                                          Что-то я не понял про USB-порты, можно чуть поподробнее, что они дают?
                                                                            0
                                                                            чтобы залить червя в систему, нужно сначала физически получить доступ к устройствам, через которые внедряется вредоносный код — usb для флешек или клавиатуры. А данные порты находятся в технологическом отсеке. Так что прежде программного взлома идет подбор доступа на физическом уровне.
                                                                              0
                                                                              Да там инженер какой-нибудь орудовал, стопудово. В банкомате 2 отсека — верхний, где комп/принтер/кардридер/… и нижний, где бабло (сейф). От верхнего все ключи одинаковые (ну, если конечно банк не страдает кретинизмом), всякие пароли тоже, как правило одинаковые ставят для простоты. Вот и получается, что чего-нибудь записать в комп грамотному инженеру весьма просто. Я же говорю, юзайте плюшки типа Солидкора, и проблем не будет.
                                                                          0
                                                                          Все банкоматы находятся в защищенной локалке, в связи с этим вопрос — какой способ пересылки информации от банкоматов злоумышленникам использовался?
                                                                            0
                                                                            я так понимаю через сам банкомат и специальные карты
                                                                              0
                                                                              через специальные карты был просто съём налички.
                                                                                +5
                                                                                Ну и распечатка длинного чека с треками и пинами, знамо дело.
                                                                            +1
                                                                            Книга в тему — zhurnal.lib.ru/m/malow_a_a/first12.shtml
                                                                            Претендует на звание биографии, но всё-таки является художественной. Что, правда, не умаляет её достоинств в качестве описания на пальцах процесса кардинга.
                                                                              +2
                                                                              так ли уж проблематично?

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

                                                                                +7
                                                                                Вот ради таких топиков и стоит читать хабр, спасибо.
                                                                                  +1
                                                                                  Огромное спасибо за пост) Наблюдал эту ситуацию со стороны пиара одной из АВ-компаний, тогда ДрВеб и ЛК замечательно отработали повод, хотя «антивирусного» там было — кот слезы)))) Но выхлоп был грандиозный) Жаль, у меня тогда не получилось раскрутить своих на говнопиар)))
                                                                                    +5
                                                                                      +5
                                                                                      Я извиняюсь, что в каждом каменте тут мельтешу, но поясню все же. Тут дело вот в чем. Windows для банкоматов поставляется в OEM-редакции, которая позволяет ему работать, грубо говоря, только с конкретными версиями BIOS. Соответственно, на сабжевом поциэнте либо поставили вообще левый софт (что маловероятно), либо забыли проапгрейдить BIOS после замены материнки. Бывает, че там. Хотя, этот Wincor довольно новеньким выглядит, странно.
                                                                                        0
                                                                                        grabber.exe, по версии Google, выполняет передачу звукового потока по сети.
                                                                                          0
                                                                                          Уж не знаю, левый он или нет, но мне, как только увидел, имя файла показалось весьма странным.
                                                                                            0
                                                                                            Точно, я не очень внимателен. В свое время гуляла подобная картинка, вот я и сделал выводы. А здесь да, результат налицо — решили по-быстрому какой-нибудь новый софт внедрить, вот и вляпались. Не Орловского проделки?
                                                                                              0
                                                                                              > Орловского
                                                                                              О ком идет речь?
                                                                                                0
                                                                                                Да так, весело-зелененьким цветом навеяло. Ложная тревога, короче, отбой.
                                                                                                  0
                                                                                                  А что, Орловский сам кодит? Если Вы про вице-преза Сбера…
                                                                                                    0
                                                                                                    Ну как-бы рыба гниет с головы. Если начальник хочет, «чтоб завтра все было и похеру как это будет сделано», то и качество этого будет соответствующее, какими бы гениальными кодеры ни были. Там же, говорят, идеи, как из рога изобилия прут. Лепят все, что только в голову приходит. Я не из Сбера, есличо.
                                                                                                      0
                                                                                                      Банкомат ПриватБанковский, если что.
                                                                                              0
                                                                                              а это разве не olivetti?
                                                                                            0
                                                                                            die, bold. dibeloid!
                                                                                              +2
                                                                                              Инкассаторы их так всегда называют: дебилоид.
                                                                                              0
                                                                                              да, довольно интересно, только не понятно одно, если мы вводим пин-код и он сразу подается в шифрованном виде, при проверке кода системой он же должен расшифровываться… или система уже знает шифры к каждому пин-коду?
                                                                                                0
                                                                                                Да, процессинг «знает» и мастер ключ, и рабочий ключ каждого банкомата. В кавычках потому, что все гораздо хитрее, и в открытом виде, конечно же, эти ключи нигде не валяются. Ключевое слово тут страшный прибор HSM (Host Security Machine).
                                                                                                  0
                                                                                                  Machine или Module?
                                                                                                    0
                                                                                                    Вроде да, module по науке. Я всегда machine называл. Тут главное — его скорострельность, а как он там зовется, пофиг :)
                                                                                                    0
                                                                                                    только Hardware Security Module :)
                                                                                                      0
                                                                                                      Точно! Мы вместе нашли истину :)
                                                                                                  +2
                                                                                                  + за топик и респект автору :)
                                                                                                  • UFO just landed and posted this here
                                                                                                    • UFO just landed and posted this here
                                                                                                        0
                                                                                                        Тема спецкарты не раскрыта. :D
                                                                                                          0
                                                                                                          Значит надо написать еще один вирус, который сграбит трек спецкарты, а потом склонировать ее.
                                                                                                          +2
                                                                                                          Что такое криптографические ключи для банкомата? Это три tdes компоненты. Два ключа приходят сотрудникам на ввод в банкомат. Один остаётся в голове на процессинге. «Чистых» ключей не видит никто кроме того, кто вводит, а тот кто вводит не видит всех компонент, т.к. есть третий кто следит за тем, чтобы никто не подглядывал друг у друга.

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

                                                                                                          Опять же, есть макирование к ключам. Макирование обычно работает только на коротких ключах (одинарной длины = 16 hex-символов). Грабли эти «утоптанные». Я не помню, чтобы на АТМ это где-то настраивалось, может где-то да есть какие-то флаги в этой TCS, но тут больше от процессинга зависит.

                                                                                                          Сессионый МАК-ключ одинарной длинный генерируются под длинны Мастер-ключом и грузится в АТМ перед началом каждой прогрузки конфигурации. Команда генерации лежит в самом начале конфиг-файла. Пока грузятся экраны — макирование не используется. После экранов начинает грузится таблица стейтов и вот тут начинает работать макирование.

                                                                                                          Если мак-трейлер для первой посылки стейтовой таблицы на АТМ отличается, то посылка отвергается и на хост летит Specific Command Reject. Прогрузка после этого прекращается и на хосте регистрируется Security Module — Error. Далее нужно сверять текущие суммы МАК-ключей на АТМ и на хосте. Либо EPP энкриптор «погнулся», либо хрень какая-то с софтом (например те самые вирусы с флешко), но это маловероятно. Тем-более если регулярно делать рекомендованный этими вашими визами аудит софта, да аджылисы на хостах апдейтить…
                                                                                                            +1
                                                                                                            Одобряэ.
                                                                                                            +1
                                                                                                            Не раз видел на банкоматах (в т.ч например у Сбербанка) панель задач, консоль и например окно с ошибкой PPTP протокола. Более того, у меня есть инстинктивное ощущение что лучше бы использовать Линукс (я сам его не люблю, но тут бы он подошел) так как там можно радикально урезать все функции, а в той же винде то рабоичй стол остается, то диспетчер задач, то еще что-нибудь, то какое-нибудь системное окно выскочит, она же зараза ошибки в логи писать не умеет.

                                                                                                            В общем, думаю дело в том что у нас банкам жалко денег на разработку, а конторы по разработке получают заказы через связи и откаты и нанимают всяких инвалидов вместо программистов. И вообще, если бы этот софт делал например Гугл, уверен все бы было в разы лучше, потому что туда обычных программистов, говорят не берут.

                                                                                                            Вот, а еще вопрос как туда вирус попадал, кстати. Очевидно без помощи сотрудников банков тут не обошлось.
                                                                                                              0
                                                                                                              Золотой комментарий, все так и есть.
                                                                                                              // Про способ попадания тоже верно.
                                                                                                                0
                                                                                                                >Не раз видел на банкоматах (в т.ч например у Сбербанка) панель задач, консоль и например окно с ошибкой PPTP протокола.

                                                                                                                по идее там не тачскрин, так что остается пожаловаться в банк, что АТМ не работает. А вот в Redbox я помнится по менюшкам немного полазил:)

                                                                                                                >а в той же винде то рабоичй стол остается, то диспетчер задач, то еще что-нибудь, то какое-нибудь системное окно выскочит,

                                                                                                                не помню, как там было в инструкции по банкоматам, но можно сделать и custom desktop, с которого кроме запуска одной программы ничего не доступно. А системные сообщения или BSOD(omg!) скорее всего приведут к неработоспособности АТМ.

                                                                                                                >она же зараза ошибки в логи писать не умеет.
                                                                                                                лолпроститешто?

                                                                                                                >В общем, думаю дело в том что у нас банкам жалко денег на разработку,
                                                                                                                Банки покупают готовые решения, иначе половина века и половина «прибыли» уйдет на разработку крайне надежной и засекреченной системы. Которая все равно сфейлит.
                                                                                                                +1
                                                                                                                Я все думал и не мог понять, как можно украть пин-код, если из пин-пада он выходит шифрованный? А вот оказывается можно! Спасибо за статью!
                                                                                                                  0
                                                                                                                  Банкоматы соединены напрямую в Банк или через Процессинговый центр?
                                                                                                                  Где об этом можно почитать? Как вообще устроена архитектура всех этих межбанковских связей?
                                                                                                                    0
                                                                                                                    Если без нудных подробностей, то так:
                                                                                                                    По своим картам: банкомат <-> ПЦ [ <-> АБС,… ]
                                                                                                                    По чужим картам: банкомат <-> ПЦ <-> платежная система <-> ПЦ банка-эмитента [ <-> АБС,… банка-эмитента ]

                                                                                                                    *1 банк-эмитент — это банк, выпустивший карту
                                                                                                                    *2 свои карты — карты банка-эмитента, засунутые в его же банкомат (напр. карта Сбера, вставленная в банкомат Сбера)
                                                                                                                    *3 платежная система — Visa, MasterCard и т. п.
                                                                                                                    *4 [АБС, ...] — банковские системы, у всех разные; может и не быть вообще
                                                                                                                      0
                                                                                                                      Спасибо!
                                                                                                                      Можно даже и с подробностями, если есть ссылки на чтение.

                                                                                                                  Only users with full accounts can post comments. Log in, please.