Трояны опасны для касс ТСП - анализ Лаборатории Касперского и расследование PLUSworld.ru
10 июля 2017 года «Лаборатория Касперского» распространила сообщение об активном появлении особой модификации трояна Neutrino, якобы атакующей POS-терминалы и компрометирующей данные банковских карт. Эта информация, получившая широкий резонанс в СМИ прежде всего в силу несовершенства профессиональной терминологической базы, уже успела вызвать дискуссию среди авторитетных экспертов платежной индустрии. Портал PLUSworld.ru провел собственное журналистское расследование, и сегодня мы подводим его результат, публикуя развернутый анализ ситуации, подготовленный по нашему запросу Сергеем Головановым, ведущим антивирусным экспертом «Лаборатории Касперского».
«В пресс-релизе «Лаборатории Касперского» речь действительно идет не о POS-терминале как о специализированном платежном устройстве, но о кассовом компьютере под управлением ОС Windows, подключенном к устройству, принимающему платежные карты. После заражения данного компьютера вредоносная программа похищает данные из памяти программы в ОС Windows, отвечающей за связь с устройством, считывающим информацию с карт. Признаем, что в пресс-релизе, возможно, была допущена терминологическая неточность, связанная с переводом с английского.
Несмотря на возникшее в результате этой неточности в платежном сообществе терминологическое недопонимание, связанное в первую очередь с несовершенством профессиональной терминологической базы, важно подчеркнуть, что POS-системы нельзя считать неуязвимыми для современных вредоносных программ.
Бытует мнение, что поскольку данные карт не могут покидать защищенной контур POS-терминала или ПИН-пада, а на кассу номер карты POS-терминал передает маскированным (в таком виде он бесполезен для злоумышленника), то похитить данные путем заражения троянцем кассового компьютера нельзя. Это заблуждение. В ряде случаев карточные данные попадают в кассовый компьютер при использовании торгово-сервисным предприятием ККМ, не интегрированной с POS-терминалом. В результате после проведения транзакции по карте с помощью POS-терминала кассиру необходимо внести данные карты покупателя в кассовую систему, что он и делает, прокатав магнитную полосу, например, через встроенный в клавиатуру считыватель магнитной полосы карты. Подобная схема нарушает стандарты безопасности, включая PCI PA, ведь считанные таким путем карточные данные магнитной полосы банковской карты хранятся в буфере обмена компьютерной клавиатуры компьютера под управлением ОС Windows и доступны для компрометации троянцем.
Считыватели магнитной полосы карт встроены в ККМ многих производителей и предназначены в основном для работы с картами лояльности, которые, в отличие от платежных карт, не несут критичной информации. Впрочем, в США, где миграция на EMV пока не завершилась, использование ридера кассы для работы с банковскими картами – явление достаточно распространенное.
Следует отметить, что в России в связи с обязательным выпуском всеми участниками рынка только EMV-карт с 1 июля 2015 года такая порочная схема практически не встречается, поскольку все транзакции проходят по чипу. Хотя в некоторых случаях подобные рискованные схемы с устаревшими ККМ, не интегрированными с POS-терминалом, все же имеют место. И именно здесь заражение Neutrino может иметь самые серьезные последствия – троянец способен похитить из POS-системы любые карточные данные с магнитной полосы (лишь ПИН-код карты остается в безопасности, поскольку просто не может быть передан на кассовый компьютер).
Непосредственно кража карточных данных из компьютера POS-системы при оплате картой с помощью магнитной полосы реализована в Neutrino чрезвычайно просто. Троянец анализирует запущенные процессы (CreateToolhelp32Snapshot\ Process32FirstW\Process32NextW), исключая из списка себя, затем, используя связку OpenProcess\VirtualQuery\ReadProcessMemory, получает информацию о страницах в памяти указанного процесса. Затем он сканирует полученный регион памяти для нахождения полей Track1 магнитной карты друг за другом: последовательность из 15, 16, 19 символов «0»-«9» (данная последовательность проверяется после проверки длины с помощью Алгоритма Луна); проверяет наличие символа разделителя «^»; извлекает имя владельца карты (максимальная длина согласно стандарту ISO/IEC 7813 — 26 символов). Оставшиеся данные (CVC32, дата окончания срока обслуживания, CVV) копируются единым блоком с проверкой условий длины и содержимого. Далее данные отправляются на сервер по описанному в секции выше принципу с пометкой Track1. После этого троянец собирает данные по Track2: вначале, так же, как и на предыдущем этапе, извлекается PAN (те же проверки, что и Track1), но с другим символом разделителем; track2 не содержит имени владельца — оставшиеся данные также извлекаются единым блоком; данные отправляются на сервер. Этой информации будет достаточно для того, чтобы изготовить клон пластиковой карты.
Существует масса случаев, когда компании признавались в компрометации вредоносными программами своих кассовых аппаратов и несли убытки. Например, MICROS в 2016 году пострадало от деятельности финансовой киберпреступной группы Carbanak. Согласно исследованию «Финансовые киберугрозы в 2016 году», которое было проведено специально для «Лаборатории Касперского» среди 800 представителей финансовых организаций из 15 стран мира, включая Россию, каждое пятое финансовое учреждение в течение 12 месяцев хотя бы раз столкнулось с атакой на POS-системы.
На сегодняшний день крупные игроки в сфере ритейла и эквайринга уделяют большое значение обеспечению информационной защиты своих систем. Однако в силу различных причин, например, человеческого фактора, финансовые учреждения продолжают страдать от уязвимостей POS-систем. Так, согласно исследованию «Лаборатории Касперского», финансовые учреждения в результате инцидентов, задетектированных на POS-системах, в среднем теряли более 2 млн долл. США».
Комментирует Тимур Аитов, член комитета ТПП РФ по финансовым рынкам и кредитным организациям:
"В период 1990-х я более десяти лет отработал ИТ-директором Торгового дома ГУМ, уже тогда весьма редкими были случаи, когда касса вместо стандартного POS-терминала использовала собственные ридеры магнитной полосы и поэтому оперировала с реальными номерами банковской карты. В ГУМе такого точно не было – кассы тогда обслуживала компания ФИТ – она и сегодня на рынке. А роль эквайрера выполняла UCS. Сегодня же встретить связку «касса-ридер-полоса» практически невозможно. Даже если POS-терминал и не интегрирован с кассой, а находится рядом в виде отдельного устройства, все равно на этот отдельно стоящий терминал кассир вручную передает исключительно сумму покупки. Далее сам POS-терминал связывается по закрытым каналам с эквайрером, и поэтому атаковать этот терминал по сети интернет невозможно. Конечно, можно представить случай, когда какой-либо кассир конкретной торговой точки помимо проведения транзакции через POS-терминал еще и записывает где-то у себя на бумажке номер карты или просто загружает вручную этот номер в кассовую машину, или прокатывает карту через ридер полосы и т. д. – такая ситуация, если и может иметь где-то место, практически неотделима от случая, когда злоумышленник просто совершает хищение номеров карт.
Да, действительно, современная касса – это компьютер со всеми вытекающими уязвимостями, однако разработчики кассовых программ давно знают о вирусах и никогда не загружают в кассовую программу физический номер карты. Безусловно, эксперты «Лаборатории Касперского» имеют свою четкую позицию, обоснованную и спецификой работы, и огромным опытом".
По материалам PLUSworld.ru