Речь сейчас пойдет о банкоматном вирусе, обнаруженном больше года назад в банкоматах Diebold, и основном принципе его работы. Тема эта древняя, пик истерии давно уже прошел, но общественность так и не узнала, что же произошло на самом деле, из-за чего даже ИТ-шники строят массу догадок и рассказывают мифы. Про этот вирус было написано много статей, от технических описаний до политпросвещения домохозяек, но самый главный трюк нам так и не раскрыли. Объяснять я постараюсь попроще, ибо нам важно понять суть, а не вникать в детали конкретной реализации чего-либо. Начнем с начала. Год назад в СМИ поднялась паника: «в банкоматах вирусы!», вследствие чего все уважающие себя банковские управленцы эту панику поддержали и стали пытаться что-то сделать. Паника возникла неспроста: в мире бродит множество любителей халявы, т. н. кардеров, целью которых является получить данные вашей банковской карты, в т. ч. и PIN-код, чтобы потом сделать ее дубликат и снять все деньги или что-нибудь приобрести. Для этого придумываются разные способы обмана, но до появления вируса все они носили физический характер. А вот вирус весьма интересен, ибо вывел технологию принципиально на новый уровень – PIN-коды стали тырить на программном уровне. Надо заметить, что вирус еще умеет выдавать наличность в неограниченном объеме по спецкарте, но нам, как клиентам, на это наплевать, тут банк на деньги попадает, а не мы. Теперь давайте сделаем поверхностный экскурс в сам банкомат, и разберемся, откуда там могут быть вирусы. Открою тайну: подавляющее большинство банкоматов работает под Windows XP. Догадливый читатель поймет, что в данном случае угроза налицо, и надо начинать бояться. Но не все так плохо, как кажется. Во-первых, добросовестные поставщики банкоматного софта этот Windows сильно урезают, отключая в нем все, что только можно, защищают порты, закрывают доступы и так далее. А во-вторых, банкомат никогда не смотрит прямо в интернет – он или в выделенном сегменте корпоративной сети, или подключен через какую-нибудь шифровалку, типа Cisco или Checkpoint, и вирусу туда пробраться, мягко говоря, без вариантов. Соответственно, выход тут только инсайдерский, ибо извне подсунуть что-то в банкомат проблематично. А что же представляет собой типичный банкоматный софт? А вот что. Архитектура этого софта аналогична клиент-серверной. Сервер в данном случае умеет работать с конкретным железом (которого в банкомате навалом) и публикует наружу программные интерфейсы, общие для каждого типа железа (диспенсер, кардридер, принтер, клавиатура и т. д.). Клиент, т. е. само бизнес-приложение, в свою очередь, пользуясь этими интерфейсами, показывает нам рекламу, выдает долгожданную зарплату, печатает чеки и радостно мигает лампочками. Все это хозяйство называется стандартом CEN/XFS. Я, пожалуй, приложу картинку. Read more: Habrahabr.ru