LINUX.ORG.RU
ФорумTalks

Хакер создал приложение для бесплатного пополнения карты «Тройка»

 , ,


0

2

http://www.popmech.ru/technologies/239010-khaker-sozdal-prilozhenie-dlya-besp...

Пользователь портала «Хабрахабр» сообщил об уязвимости в системе карты «Тройка», а также создал приложение, которое позволяет бесплатно пополнять баланс карты.

Как пишет в своем посте Игорь Шевцов, вся работа была проведена без использования специальных технических средств — ему понадобился только Android-смартфон с NFC-чипом. На поиск уязвимости у него ушло 15 дней. Для взлома системы Игорь Шевцов использовал мобильное приложение «Мой проездной», через которое он смог получить доступ к памяти карты и изучить структуру хранения данных.

Больше всего времени заняло изучение структуры данных в памяти карты. Это оказалось возможным из-за того, что данные хранятся в незашифрованном виде. В случае, если бы данные в памяти карты были зашифрованы, вероятнее всего, потребовалось бы физическое проникновение в системы работающие с картой, что делает атаку существенно сложнее.

★★

Последнее исправление: leave (всего исправлений: 3)

Хакер создал

Там же в камментах на хабре написано, что в «хакере» это описывалось несколько лет назад.

greenman ★★★★★
()

самое забавное, что это ж сколько времени они его исправлять будут. Жаль мой nfc на nexus 5 не подходит под эти говнокарты =(

fjfalcon ★★★
()

Как я понял, это приложение тупо дампит карту, а потом восстанавливает одно из старых состояний, где был баланс побольше. Почему не получилось расковырять формат и напрямую писать дату последнего прохода и баланс, какие захочется? Получается, что какая-то защита там всё же есть? Я не живу в Москве, но интересны технические подробности.

Вообще, самая нормальная система - когда на карте записан только ID, а вся информация о проходах и балансе хранится в единой базе данных. Турникеты в метро стационарные, не верю, что это проблема подключить их к какой-нибудь сети. В автобусах сложнее, но там уже есть GPS-трекеры. Что мешает по такому же каналу и запрашивать информацию о карте? Разумеется, также добавить публичный API для запроса информации по ID карты, чтобы работали всякие приложения, отображающие информации. Такая система будет защищена от подобных атак.

KivApple ★★★★★
()

А мог бы бесплатно ездить.

user42 ★★
()

Ну и зачем палить халяву? Ему же не заплатят за это и в Гугл работать не пригласят. Мог бы и сам кататься и другим людям помогать.

karton1 ★★★★★
()
Ответ на: комментарий от Esteban_Garcia

А если как следует подумать? Вполне можно быструю организовать, там кинуть-то десяток байт и кэшировать базу локально, коллизии возможны, ну пара чудных зайцев в пятилетку. Заодно мобильный нет починят, зоны покрытия расширят

Morin ★★★★
()
Ответ на: комментарий от karton1

Мог бы и сам кататься и другим людям помогать.

Ну он и...

создал приложение, которое позволяет бесплатно пополнять баланс карты.

aplay ★★★★★
()
Ответ на: комментарий от KivApple

Защита тут не причём. Дампить и перезаписывать это нормальное решение. Произвольное редактирование требует разбор формата хранения, это возможно, но это трудозатраты. Не особо нужно, если хочется просто иметь анлим. Достаточно обновлять всякие там timestamp, если они есть.

Хранение только id идея хорошая, но практически нежизнеспособная для дешёвых транзакций. Виза и мастеркард имеют хорошую прибыль и могут себе позволить процессинговые центры с и малы задержки, но даже у них, если вы расплачиваетесь в каком-нибудь урюпинске с терминала, работающего через gprs есть тормоза, существенные. Не знаю попадали ли вы в случаи, когда не удавалось расплатиться, я вот попадал и не только в урюпинсках. Всё упирается в две вещи: хорошие процессинговые центры, а это деньги(а они откуда?) и спецы(утекли все уже почти) и хороший коннект(с этим всё ужасно, если ещё стационарные точки контроля могут себе позволить, хотя вы только представьте отказ всех турникетов хотя бы на полчаса отсутствия инета, а такое случается, то в автобусах возможен полный ад с модемами, перегрузками и жопарезами)

ixrws ★★★
()
Ответ на: комментарий от ixrws

Простой пример - в питерском метро турникет, умеющий банковские карточки, тупит перед списанием секунд 5-10.

svr4
()
Ответ на: комментарий от karton1

Альтруист. А вот что касается работать не пригласят, это не совсем так. У разных работодателей разные требования. Работа по ревесу разных протоколов и форматов данных стоит немалых денег и переодически её заказывают компании даже для собственных форматов 20 и более летней давности, когда даже код есть, но никого нет чтобы разобраться.

ixrws ★★★
()
Ответ на: комментарий от svr4

Вот вот, а это метро, заведение с почти неограниченными возможностями)

ixrws ★★★
()
Ответ на: комментарий от a1batross

Вообще, самая нормальная система - когда на карте записан только ID, а вся информация о проходах и балансе хранится в единой базе данных.

Увы, бюрократия мешает. Там несколько операторов, и это накладывает свои сложности.

upcFrost ★★★★★
()

в 100% городов, где есть подобные «платежные» средства, они не шифруются (а зачем ?, никто не считает же). Так что не новость.

robot12 ★★★★★
()
Ответ на: комментарий от ixrws

Справедливости ради, timestamp последней операции записывается на карту, а турникеты в метро подключены к сети, поэтому восстановление дампа и использование его в метро приведет к неизбежному бану карты, для обхода этого автор приложения предлагает производить списание в наземном транспорте, где синк происходит в конце дня. В конечном итоге, не думаю, что кто-то реально будет с этим заморачиваться, слишком много но...

l0k9j8
()
Ответ на: комментарий от Esteban_Garcia

Мда, безопасность не про вас. Проектировать надо безопасные вещи изначально, если сломали, да еще так, значит время потрачено зря. Ну на самом деле не зря, контора внедрявшая все это должна была осознать свою ошибку, тоже польза. Жаль только что подобные вещи делают не очень прозорливые люди мягко сказано

Morin ★★★★
()
Ответ на: комментарий от KivApple

В автобусах сложнее

Но в мос. области уже сделано, «стрелка» так и работает.

Ramen ★★★★
()
Ответ на: комментарий от Morin

Потому я говорю что ты исходишь из принципа. И однобоко смотришь, в том числе на безопасность. Ты придумай массовую атаку на общественный транспорт. Например такой сценарий:

Внезапно в городе появится миллион злоумышленников, которые воспользуются этой уязвимостью.

Esteban_Garcia
()
Ответ на: комментарий от Esteban_Garcia

Еще раз, ты нихрена не понимаешь в безопасности. Угадай почему подделка дензнаков уголовное преступление? Ведь их подделать куда сложней, чем ломануть эту карту

Morin ★★★★
()
Ответ на: комментарий от Morin

Подделка дензнаков куда большие возможности дает. И не обращал никогда внимание, что наличные дентги имеют куда большую степень защиты от подделок, чем всякие билеты в общественном транспорте. Подумай почему.

Esteban_Garcia
()
Ответ на: комментарий от Esteban_Garcia

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

Morin ★★★★
()
Ответ на: комментарий от KivApple

Такой системе мешают программисты, не могущие в надежность. Подобные системы на платных дорогах вышли из моды лет десять назад и не один новый проект не закладывается с подобной идей.

Причина проста: огромное количество простоев и ошибок.

zloelamo ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.