ГлавнаяНовостиСтатьиВендорыКаталог  +7 (495) 231-0169 © 

[ Список статей ] ...


ITSec.ru. Watchguard: во втором квартале 2020 года число атак уменьшилось, но вредоносное ПО стало агрессивнее

CISO CLUB. Ультимативный гайд по электронным подписям от УЦ ITCOM

WhatsBetter.ru. Лучшие антивирусы 2020

WhatsBetter.ru. Лучшие браузеры 2020

WhatsBetter.ru. Какая операционная система лучше?

WhatsBetter.ru. Что лучше: Windows 10, 8, 7, Vista или XP?

WatchGuard Technoligies. Новые возможности сервисов Network Discovery и Mobile Security позволили WatchGuard значительно увеличить "Прозрачность" cети

Илья Шабанов. Названы самые комфортные в работе антивирусы

Мария «Mifrill» Нефедова. Облава: о том, как спецслужбы ловят дропов, и не только

Алексей Кадиев. Ботнет Bredolab. Конец истории?

Юрий Ильин. «Добровольные» DDoS-атаки: комментарии экспертов

Берд Киви. За кулисами кибервойны

Берд Киви. Шифровальщик устал...

Chad Perrin. Эффективное уничтожение данных на жестких дисках и других накопителях

Н.Н. Федотов. Риски системного администратора: семь и еще один способ подвести сисадмина под монастырь

Берд Киви. Ближе к железу

Microsoft TechNet. Десять непреложных законов безопасности

Анатолий Темкин. Как карта ляжет

Андрей Сидельников. Правообладатели не придумали, как делить болваночный сбор

Антон Носик. Лохотрон в зоне .рф

Максим Букин. Лжевирусы атакуют

habr.ru. Взгляд на современные системы защиты от спама веб-форм

Cio.com (перевод — Елена Фирсова). Самые опасные работы в области технологий

 habr.ru 

  

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


  Речь сейчас пойдет о банкоматном вирусе, обнаруженном больше года назад в банкоматах 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 и живут спокойно.

Источник: habr.ru  

Рейтинг @Mail.ru
Rambler''s Top100