Дослідники знайшли безліч критичних вразливостей в платіжних протоколах



Німецькі дослідники інформаційної безпеки Карстен Ноль (Karsten Nohl), dexter і Фабіан Браунляйн (Fabian Braunlein) на конференції Chaos Computing Club розповіли про критичні вразливості платіжних протоколів, які можуть бути використані зловмисниками для крадіжки даних банківських карт покупців і грошей з рахунків продавців.

У чому проблема

Користувачі повинні мати можливість вірити платіжним системам: термінали оплати зараз можна зустріти всюди, а оплата банківськими картками стає все більш популярною, а в деяких країнах обсяг безготівкових транзакцій перевищує розрахунки готівкою.

Тим не менш, велика частина всієї цієї платіжної інфраструктури спирається на пропрієтарні протоколи родом з 90-х років минулого століття — на практиці це означає наявність великої кількості дірок безпеки. Платіжні термінали та процесори все частіше стають метою зловмисників.

Крадіжка фінансових даних

Використовуючи уразливості платіжних протоколів злочинці можуть отримувати доступ до інформації великої кількості банківських карт, а потім підбирати до них PIN-коди.

Приміром, у Німеччині головним комунікаційним протоколом для зв'язку платіжних терміналів і касових апаратів є ZVT. Він просто дозволяє хакерам зчитувати інформацію з банківських карт, отримавши доступ до локальної мережі магазину.

Гірше того, в протоколі реалізований механізм для віддаленого читання PIN-коди карток. Він захищений криптографічного підписом (MAC). Однак ключ симетричного шифрування зберігається в так званих Hardware Security Modules (HSM), деякі з яких схильні простим атак по часу (timing attack) — це дозволяє зловмисникам отримати доступ до ключа.



Важливий момент — у багатьох платіжних терміналів використовується один і той же ключ, що відкриває зловмисникам широкі можливості для здійснення атак (і суперечить базовим принципам проектування захищених систем).

Компрометація рахунків продавців

Крім того, недостатня захищеність фінансових протоколів відкриває можливості зловмисникам і за крадіжку грошей з рахунків продавців.

Платіжні термінали спілкуються зі спеціальними платіжними процесорами (які, у свою чергу, взаємодіють з банками) через інтернет, використовуючи стандарт ISO 8583. Існують різні «діалекти» цього стандарту — в Німеччині популярний Poseidon. І він також містить критичні уразливості.

Зокрема, одна з помилок аутентифікації описується так. Для виконання криптографічного протоколу аутентифікації термінал використовує секретний ключ. Поки що, все добре. Але далі ми знову бачимо повторення помилки ZVT — безліч терміналів зберігають один і той же ключ. Заміна одного номера (Terminal ID) у кожному конкретному терміналі відкриває доступ до рахунку продавця, до якого «прив'язаний» цей термінал. Що ще гірше, Terminal ID друкується на кожному чеку — це ще більше полегшує проведення атаки.



В результаті, атакуючі можуть виробляти повернення коштів (refund) або проводити оплату промо-кодів на стільниковий зв'язок (top-up codes).

Детальний опис представлених атак можна знайти на це PDF.

Не все так погано

Виявлені німецькими дослідниками проблеми безпеки платіжних протоколів зачіпають головним чином технології, що використовуються у Німеччині, і не настільки поширені в інших країнах.

Тим не менше, російські дослідники інформаційної безпеки публікували інформацію про серйозні уразливості в системах, що працюють в нашій країні банків і можливі атаки на самі банкомати та платіжні термінали.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.