Смартфони с активиран NFC позволиха на изследователите да хакнат системи за продажба и банкомати, като получиха персонализирано изпълнение на код на някои от тях.
Въпреки че са един от единствените начини да изтеглите пари от банковата си сметка в движение, банкоматите са известни с редица проблеми със сигурността през годините. Дори сега нищо не пречи на хакера да постави скимер на карта на банкомат, тъй като повечето хора никога няма да забележат, че е там. Разбира се, през годините е имало и редица други атаки, които са по-сложни от това, но като цяло винаги трябва да сте внимателни, когато използвате банкомат. Сега има нов начин за хакване на банкомат и всичко, което изисква, е смартфон с NFC.
Като С кабел доклади, Хосеп Родригес е изследовател и консултант в IOActive, фирма за сигурност, базирана в Сиатъл, Вашингтон, и той прекара последната година в намиране на уязвимости в NFC четци, използвани в банкомати и системи за продажба. Много банкомати по света ви позволяват да докоснете вашата дебитна или кредитна карта, за да въведете своя ПИН и да изтеглите пари в брой, вместо да изискват да ги поставите в самия банкомат. Въпреки че е по-удобно, то също така заобикаля проблема с наличието на физически скимер на карта над четеца на карти. Безконтактните плащания в системите за продажба също са повсеместни на този етап.
Хакване на NFC четци
Родрикес създаде приложение за Android, което дава на телефона му силата да имитира комуникации с кредитни карти и да използва пропуски във фърмуера на NFC системите. Размахвайки телефона си над NFC четеца, той може да свърже множество експлойти, за да срине устройства в точка на продажба, да ги хакне за събиране и предаване на данни за карти, промяна на стойността на транзакциите и дори заключване на устройствата със съобщение за ransomware.
Освен това Родригес казва, че дори може да принуди поне една неназована марка банкомат да издава пари в брой, въпреки че работи само в комбинация с грешки, които е открил в софтуера на банкомата. Това се казва "джакпотинг“, за който има много начини, по които престъпниците са се опитвали през годините да получат достъп до банкомат, за да откраднат пари в брой. Той отказа да уточни марката или методите поради споразумения за неразкриване на информация с доставчиците на банкомати.
„Можете да модифицирате фърмуера и да промените цената на един долар, например, дори когато екранът показва, че плащате 50 долара. Можете да направите устройството безполезно или да инсталирате някакъв вид рансъмуер. Тук има много възможности", казва Родригес за откритите от него атаки на търговски обекти. „Ако свържете атаката и също така изпратите специален полезен товар към компютъра на банкомат, можете да джакпотирате банкомата – като теглене, само като докоснете телефона си.“
Източник: Хосеп Родригес
Засегнатите доставчици включват ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS, Nexgo и неназован доставчик на банкомати и всички те са били предупредени преди 7 месеца до една година. Повечето системи за продажба обаче не получават софтуерни актуализации или го правят рядко и е вероятно много от тях да изискват физически достъп за това. Следователно е вероятно много от тях да останат уязвими. „Поправянето на толкова много стотици хиляди банкомати физически, това е нещо, което ще изисква много време,“ Родригес казва.
За да демонстрира уязвимостите, Родригес сподели видеоклип с С кабел показвайки го как размахва смартфон над NFC четеца на банкомат в Мадрид, карайки машината да покаже съобщение за грешка. Той не показа атаката за джакпот, тъй като можеше да я тества законно само на машини, получени като част от консултациите за сигурност на IOActive, което тогава би нарушило тяхното споразумение за неразкриване. — попита Родригес С кабел да не публикува видеото поради страх от съдебна отговорност.
Констатациите са „отлично изследване на уязвимостта на софтуера, работещ на вградени устройства,“ казва Карстен Нол, основател на фирмата за сигурност SRLabs и хакер на фърмуер, който прегледа работата на Родригес. Нол също спомена, че има няколко недостатъка за крадците в реалния свят, включително хакнат NFC четецът би позволил на нападател да открадне само данни за кредитна карта с магнитна лента, а не ПИН или данни от EMV чипс. Джакпот атаката на банкомат също изисква уязвимост във фърмуера на банкомата, което е голяма бариера.
Въпреки това получаването на достъп за изпълнение на код на тези машини само по себе си е основен пропуск в сигурността и често е първата входна точка във всяка система, дори ако не е повече от достъп на ниво потребител. След като преминете през външния слой на сигурност, често се случва вътрешните софтуерни системи да не са толкова сигурни.
Изпълнителният директор на Red Balloon и главен учен Ang Cui беше впечатлен от констатациите. „Мисля, че е много правдоподобно, че след като имате изпълнение на код на някое от тези устройства, трябва да можете да получите право към главния контролер, защото това нещо е пълно с уязвимости, които не са коригирани повече от десетилетие", Cui казва. "Оттам," той добавя, "можете напълно да контролирате дозатора за касети" който държи и освобождава пари в брой на потребителите.
Изпълнение на персонализиран код
Възможността да се изпълнява персонализиран код на всяка машина е основна уязвимост и дава възможност на атакуващия да изследва основните системи в машината, за да открие повече уязвимости. Nintendo 3DS е отличен пример за това: игра, наречена Кубичен нинджа беше известен като един от най-ранните начини за използване на 3DS и изпълнение на homebrew. Експлойтът, наречен "Ninjhax", предизвика препълване на буфера, което задейства изпълнението на потребителски код. Докато самата игра имаше достъп до системата само на потребителско ниво, Ninjhax се превърна в основата на допълнителни експлойти за стартиране на персонализиран фърмуер на 3DS.
За да опростим: препълването на буфера се задейства, когато обемът на изпратените данни надвишава разпределеното място за съхранение за тези данни, което означава, че излишните данни след това се съхраняват в съседни области на паметта. Ако съседен регион на паметта може да изпълни код, тогава нападателят може да злоупотреби с това, за да запълни буфера с данни за боклук и след това добавете изпълним код в края му, където ще бъде прочетен в съседни памет. Не всички атаки за препълване на буфера могат да изпълнят код и много просто ще сринат програма или ще причинят неочаквано поведение. Например, ако едно поле може да приеме само 8 байта данни и нападателят принуди да въведе 10 байта, тогава допълнителните 2 байта в края ще прелеят в друг регион на паметта.
Прочетете повече: „PSA: Ако вашият компютър работи с Linux, трябва да актуализирате Sudo сега“
Родригес отбелязва, че са възможни атаки за препълване на буфера на NFC четци и устройства на място за продажба, тъй като той купи много от тях от eBay през последната година. Той посочи, че много от тях са страдали от същия пропуск в сигурността: те не са валидирали размера на данните, изпратени чрез NFC от кредитна карта. Създавайки приложение, което изпраща данни стотици пъти по-големи от очакваното от читателя, беше възможно да се задейства препълване на буфера.
Кога С кабел се обърна към засегнатите компании за коментар, ID Tech, BBPOS и Nexgo не отговориха на искания за коментар. Асоциацията на ATM индустрията също отказа коментар. Ingenico отговори в изявление, че смекчаването на сигурността означава, че препълването на буфера на Родригес може само да срине устройства, но не и да получи персонализирано изпълнение на код. Родригес се съмнява, че те наистина биха предотвратили изпълнението на код, но не е създал доказателство за концепцията, което да демонстрира. Ingenico каза, че „като се има предвид неудобството и въздействието върху нашите клиенти“, той все пак издава корекция.
Verifone каза, че е открила и поправила уязвимостите в точката на продажба през 2018 г., преди да бъдат докладвани, въпреки че това само показва как тези устройства никога не се актуализират. Родригес казва, че е тествал своите NFC атаки на устройство Verifone в ресторант миналата година, като е установил, че то все още остава уязвимо.
„Тези уязвимости присъстват във фърмуера от години и ние използваме тези устройства ежедневно, за да боравим с нашите кредитни карти, нашите пари,“ Родригес казва. — Те трябва да бъдат обезопасени. Родригес планира да сподели технически подробности за тези уязвимости в уеб семинар през следващите седмици.