TroikaDumper – уникальный мобильный клиент, который дает возможность считать содержимое транспортно карты «Тройка» и перезаписывать его с нужной корректировкой информации. Пользователи должны знать, что для правильной и бесперебойной работы приложения портативный девайс должен иметь встроенный чип NFC производителя NXP с поддержкой карт Mifare. С полным списком гаджетов можно ознакомиться на сайте разработчика в хранилище GitHub.
Данная версия утилиты предназначена специально для портативных гаджетов на платформе Android.
Среди основных особенностей утилиты есть возможность вносить изменения на транспортную карту «Тройка». Осуществляется поддержка чтения полного объема хранимой информации и корректировка конкретных значений на определенных позициях. Если сказать по-другому, то пользователь может считать любую информацию с пластиковой карты:
состояние счета;
дата последнего использования;
ID турникета.
А также вносить корректировки в значения любой позиции. Иногда это позволяет вносить деньги на баланс без оплаты.
Создатели утилиты рекомендуют пользователям не пополнять баланс на сумму, превышающую 100 рублей, поскольку протоколы могут видоизменяться в зависимости от размера вносимой суммы. Также стоит отметить, что после каждого использования откорректированного значения «Тройки» потребуется выполнить списание средств с использованием валидатора желтого цвета в городском электротранспорте.
Пользователям не стоит платить в метрополитене картой, у которой одно и то же время прошлого использования, поскольку блокировка карты последует моментально.
В основе принципа работы утилиты лежит обнаружение слабых мест в формате хранения информации транспортной карты «Тройка»;
возможность считывания полного содержимого карты, сохранять и перезаписывать все корректировки;
портативное устройство должно быть оборудовано NFC чипом производства NXP, который осуществляет поддержку частоты карт Mifare;
бесплатное пополнение транспортной карты «Тройка»;
простой и очень удобный пользовательский интерфейс;
распространение по free-лицензии;
осуществляется поддержка всех актуальных версий операционной системы Android.
Атака повторного воспроизведения
В результате экспериментов было установлено, что сектор памяти, хранящий информацию о балансе электронного кошелька, содержит криптографическую подпись для подтверждения подлинности данных, так называемую имитовставку. Данный механизм служит для защиты данных от подделки.
Все устройства, работающие с балансом электронного кошелька (турникеты, терминал), проверяют достоверность подписи, и, в случае несоответствия подписи, возвращают ошибку “карта неисправна”.
Установлено, что подпись формируется на основе уникального идентификационного номера карты (UID), поэтому клонирование сектора памяти электронного кошелька из одной карты на другую с отличным UID, всегда дает недействительную подпись.
Несмотря на то, что области памяти электронного кошелька защищены с помощью имитовставки, система оказалась уязвима для атаки повторного воспроизведения. Было сохранено состояние памяти сектора электронного кошелька до прохода через турникет, после чего выполнен проход и операция списания 31 рубля с баланса карты.
После чего состояние памяти карты было возвращено к исходному состоянию. В результате, на карте была восстановлена сумма баланса до прохода через турникет. Данную операцию удалось повторить несколько раз. Из этого следует вывод, что система не защищена от подобного вида атак.
шаги атаки повторного воспроизведения
Для установления возможности реальной эксплуатации уязвимости было выполнено продолжительное тестирование атаки повторного воспроизведения на инфраструктуре общественного транспорта Москвы. Первым был протестирован наземный транспорт: троллейбусы, автобусы, трамваи.
Электронный кошелек был пополнен единожды на сумму 50 рублей и все проходы через турникеты были выполнены с помощью атаки повторного воспроизведения.В течение пяти дней было совершено 57 поездок в наземном транспорте на общую сумму 1767 рублей. После чего карта была возвращена в кассу метрополитена и был получен возврат залоговой суммы в 50 рублей.
Для тестирования систем метрополитена была куплена новая карта и пополнена на 50 рублей. Все проходы через турникеты были выполнены с помощью атаки повторного воспроизведения. Было выполнено 12 поездок в течение 2 дней на общую сумму 384 рубля. На третий день карта была заблокирована на всех турникетах метро и наземного транспорта.
После полного восстановления состояния памяти карты до состояния на момент приобретения, карта продолжила работать в наземном транспорте, но блокировалась при проходе в метро. Из этого следует, что турникеты в метро имеют защиту от данного вида атак, однако срабатывает она с задержкой в несколько дней.
В москве раскрыли хакерский взлом карты «тройка»
Останкинский районный суд завершил рассмотрение дела группы хакеров, которые обвиняются во взломе защиты карты «Тройка» и других проездных билетов. Это редкое киберпреступление стоило городу примерно 2 млн руб.
В Останкинском районном суде Москвы 24 августа прошло итоговое судебное заседание по делу о создании организованной группой вредоносного софта для мошенничества с картой «Тройка» и другими транспортными картами Москвы и Московской области. На скамье подсудимых — Денис Казьмин, Юрий Путин и Павел Андрюшин, которым инкриминируют причинение имущественного ущерба (ст. 165 УК РФ) ГУП «Мосгортранс» и Центральной пригородной пассажирской компании (ЦППК). Их суммарные потери, согласно обвинительному заключению, составили более 2 млн руб. Казьмина и Путина обвиняют также в неправомерном доступе к компьютерной информации (ст. 272 УК РФ) и создании и использовании вредоносных компьютерных программ (ст. 273 УК РФ).
Обвиняемые свою вину не признали, приговор будет вынесен 31 августа.
Представитель «Мосгортранса» Дмитрий Глухов сообщил РБК, что в 2021–2021 годах было возбуждено три уголовных дела о мошенничестве с транспортными картами, одно из которых в настоящее время и рассматривается в суде. «Контролеры ГУП «Мосгортранс» регулярно проводят проверку правильности оплаты проезда в наземном городском транспорте Москвы. При выявлении случаев использования нелегитимной билетной продукции полученные сведения направляются в правоохранительные органы для принятия процессуального решения», — говорит Глухов.
Представитель ЦППК от комментариев отказался.
Но вернусь к взлому. итак, обо всем по порядку.
Все описанные мною действия я проводила осенью прошлого года, но, насколько мне известно, все работает и сейчас.
Итак, у меня есть недорогой смартфон с NFC. Я в свое время покупала транспортные карты «Ситикард» (так получилось, что у меня их несколько – порой забывала карту то дома, то на работе и приходилось покупать новую).
Я скачала официальное приложение производителя карт Mifare NXP Taginfo и просканировала свою транспортную карту:
Оказалось, что карта основана на чипе Mifare Plus S, но что самое важное, работает она в режиме безопасности № 1. А это значит, что по сути это простая карта Mifare Classic, которая легко взламывается.
Я скачала в Google Play замечательное приложение Mifare Classic Tool и просканировала транспортную карту стандартными ключами:
Тут меня постигло разочарование – ни один из известных ключей не подошел. Соответственно, использовать взлом способом, как было описано в статье про «Подорожник», было не возможно.«Постойте-ка» — подумала я, «но ведь можно попробовать способ, как описано в статье про взлом «Тройки».
Действительно, у «Ситикард» тоже есть приложение из Google Play, которое позволяет проверять баланс карты, а впоследствии прикрутили возможность и пополнять карту.
Я скачала и установила это приложение. Но теперь передо мной встала дилемма: ключи к карте зашиты или в самом приложении, или «прилетают» с сервера. Декомпиллировать Android-приложения достаточно просто, но я в этом не очень хорошо разбираюсь.
Наверняка, более или менее соображающий разработчик может это достаточно легко сделать. Я такими умениями не обладала и обратилась к брату, который занимается ремонтом домофонов, думала, у него есть знакомый программист, но он предложил более элегантное и простое решение.
Он к тому времени получил плату с Кикстартера, которая позволяет подсматривать протокол между ридером и картой. Оказывается, в домофонах стали использовать брелки, внутри которых зашит все тот же чип Mifare, и эта плата ему понадобилась для каких-то дел, связанных с этими брелками (я в подробности не вдавалась).
Итак, он взял свою плату, поместил ее к моему смартфону, который выступил в роли ридера, а в роли карты выступила собственно транспортная карта, и снял лог обмена данными между ридером и картой.
Дальше встал вопрос, что делать с полученным логом. Но непродолжительный поиск в Интернете привел к утилите под название crapto1gui. Ссылки приводить не будут, достаточно легко находится и так.
Скриншот утилиты привожу ниже (взято с одного из сайтов в интернете, так что данные там не реальные, которые мы использовали).
В общем, достаточно в эту утилиту вставить нужные куски лога и 6-байтный ключ мгновенно вычисляется. Я сама удивилась, как легко это делается, самое сложное было скопировать нужные части из лога и вставить в соответствующие поля программы.
Затем я открыла все тоже приложение Mifare Classic Tool (MCT), вставила в приложение полученный ключ и на этот раз мне отобразилось содержимое 0-го и 8-го секторов.
В нулевом секторе в основном были одни нули, а вот в восьмом были какие-то данные, из чего я сделала вывод, что данные по транспортной карте хранятся в 8-м секторе (как и в карте «Тройке» — неужели один и тот же разработчик?), а полученный ключ оказался ключом B (у сектора два ключа A и B).
Дальше, ради интереса, я с помощью опенсорсной утилиты libnfc и ридера бесконтактных карт получила и все остальные ключи от карты (подробнее об этом было написано в статье про «Подорожник» — я тоже использовала этот способ. Он также описан на сайте libnfc).
Дальше я принялась исследовать содержимое транспортной карты. 8-й сектор состоит из 4-х блоков по 16 байт. С помощью MCT стало понятно, что первый блок является т. н. Value-блоком. Первым делом пришла мысль, что в этом блоке и хранится баланс карты. С помощью MCT удалось его декодировать – он содержал число 2147483647. На баланс карты, будь он даже в копейках, это явно было не похоже.
Потом я совершила поездку по этой карте и обнаружила, прочитав содержимое сектора, что значение не поменялось, а вот содержимое других блоков изменилось. Из чего был сделан вывод, что баланс карты хранится в них.
Разбирать содержимое карты особого желания не было, ведь я хотела попробовать так называемую replay attack (это я уже потом узнала, как она правильно называется).
Утром перед поездкой в метро я сохранила содержимое восьмого сектора, приложила карту к турникету и отправилась на работу. Днем же, отправившись по делам, я с помощью MCT записала предыдущее состояние карты и попробовала проехать в метро… И у меня получилось!
(картинка не моя — мне совсем не хотелось привлекать внимание)
Так я поняла, что таким образом можно делать «вечный проездной». Я решила немного побаловаться и записала содержимое сектора транспортной карты в домофонный брелок.
(вот такой же брелок я использовала для записи в него транспортной карты)
Я попробовала пройти через турникет, приложив брелок, но тут меня постигло разочарование – брелок, к моему удивлению, не сработал. Я подумала, что мою транспортную карту заблокировала (ведь брелок был ее клоном), но при прикладывании «оригинала» (транспортной карты) пройти через турникет удалось.
Я поговорила с братом, хотела узнать, что он думает по этому поводу, и он мне рассказал, что у каждой карты и брелка есть свой идентификационный номер. По всей видимости, мой «клон» был не полным, а содержимое в карте неким образом завязано на ее номер.
Но оказалось, что был выход и из этой ситуации: есть некоторые виды брелков, которые по виду точно такие же, но у них можно менять их номер (у обычных транспортных карт это сделать не получится). Более того, в MCT есть такая функция по перезаписи номера, поскольку он храниться в первом блоке нулевого сектора.
Правда, почему-то поменять номер с помощью MCT не получилось. Но получилось это сделать с помощью ридера и все того же libnfc.
На сей раз у меня получился полный клон транспортной карты в виде брелка, ведь даже номер совпадал. Я попробовала пройти через турникет по домофонному брелку, и это у меня легко получилось. В автобусе прикладывать брелок не рискнула, поскольку тетенька кондуктор могла бы очень удивиться, а вот «вечная» транспортная карта сработала тоже без проблем.
Итак, подводя итоги, можно сказать следующее: транспортные карты для оплаты проезда в Нижнем Новгороде так же легко взламываются, как и «Тройка» (Москва) и «Подорожник» (Санкт-Петербург).
Даже я, девушка, не имея специальных знаний, но умеющая скачивать Android приложения и пользоваться поиском в Гугле и Яндексе, смогла это сделать с использованием подручных средств и доступных в открытом доступе программ и утилит (будь я разработчиком, наверное, это было бы даже легче, хотя куда уж легче…) Да, мне понадобилось некоторое время на поиск в интернете и на изучение форумов, но все оказалось очень просто.
Хочу сразу отметить, предвидя вопросы, что никакого ущерба метрополитену нанесено не было – я учитывала все поездки, совершенные по «вечному проездному», поэтому соответствующий сумме таких поездок остаток на карте не стала расходовать, а саму карту потом уничтожила.
Но ведь злоумышленники не такие сознательные, наверняка они пользуются подобной уязвимостью и наносят ущерб городскому транспорту. Мы же получаем регулярно растущие тарифы на проезд (может быть, в том числе из-за потерь по подделке транспортных карт).
Складывается ощущение, что все транспортные системы, где используются транспортные карты, небезопасны. Не хочу рассуждать, почему так происходит (эта тема не для Хабра), остается лишь задать вопрос: кто (какой город) следующий и когда ждать про это статью на Хабре?
[ad name=»Responbl»]
PS Данная история, конечно же, выдуманная. Все персонажи — вымышленные, все совпадения — случайны. Ну, вы поняли…
Номер турникета, дата и время прохода
Аналогичная методика была применена для изучения формата остальных данных в секторе. Было выполнено несколько проходов через турникеты метро и сохранено состояние памяти после каждого прохода. Проходы были выполнены с интервалом времени в 1 минуту попеременно на двух различных турникетах.
Путем подбора значений было установлено, что нулевой и первый байт в первом секторе хранит идентификатор последнего турникета, через который осуществлялся проход. Далее второй и третий байты содержат дату последнего прохода в виде количества дней от 1.1.1992.
Время прохода записано в четвертом байте и старших четырех битах пятого байта, и кратно 30 секундам, начиная с 00:00 часов. Следовательно, расчет времени можно выполнить в два действия:
для расчета часов
Таким образом получим время 15:30, что соответствует действительному времени прохода.
На основе полученных сведений можно расшифровать данные представленные в предыдущей таблице
Каждая карта Тройка имеет уникальный серийный номер, отличный от UID. Этот номер нанесен на самой карте и используется для удаленного пополнения карты. Он хранится в нулевом блоке восьмого сектора с третьего байта по младшие четыре бита седьмого байта.
Несмотря на то, что все данные хранятся в открытом виде, на их расшифровку было потрачено больше всего времени. При этом некоторые данные остались нерасшифрованными. Предположительно, последние пять байт в первом блоке восьмого сектора содержат криптографическую подпись (т.н. имитовставка, MAC), которая генерируется с использованием приватного ключа в памяти турникета.
Приложения для смартфонов
В Google Play Market было найдено несколько приложений, позволяющих работать с электронным кошельком карты Тройка. Наиболее популярным по числу установок является приложение «Мой проездной», позволяющее напрямую пополнять карту с помощью смартфона с функцией NFC. Это означает, что приложение содержит данные, позволяющие производить запись в память карты.
Из всех рассмотренных целей было решено остановиться на реверс-инжиниринге приложения «Мой проездной», как на более простом и безопасном варианте. Для этого достаточно было приобрести смартфон на платформе Android с поддержкой функции NFC. Выбор данной цели обусловлен еще и тем, что для исследования не требовалось иметь доступ к объектам общественного транспорта, и все операции по поиску уязвимостей можно было произвести не выходя из дома.
Приложение «Мой проездной» предназначено для самостоятельного пополнения карты Тройка. Работает на смартфонах с операционной системой Android и функцией NFC. Приложение бесплатное и доступно для загрузки через Google Play Market (каталог приложений Android).
Суд над взломщиками карты "тройка".
Захотелось поделиться важной штукой, за которой я уже некоторое время наблюдаю с огромным восхищением. Она началась в США и шагает по миру семимильными шагами – это зародившееся на сайте reddit.com движение “anti-work“, т.е. против работы, которое охватило миллионы и начинает распространяться повсеместно, и сопутствующий “великий отказ” работников от плохих работодателей. Это беспрецедентное массовое явление, которое олицетворяет скрытый, но огромный психологический сдвиг в американском обществе. Какое нам дело до американских проблем? В России, где честный работодатель, хороший директор, белая зарплата, соцпакет и уплата налогов скорее исключение, чем правило, с этим вопросом придётся столкнуться рано или поздно всему обществу целиком. И это отнюдь не чисто русская проблема. Если тебя, читатель, за**ло работать, это для тебя.
Маленькая оговорка: я никоим образом не поддерживаю коммунистические взгляды марксизм-ленинизма. Я не стесняюсь признать их правоту там, где они действительно правы. Тем не менее, данную статью не следует принимать за выражение поддержки коммунизму, даже если между строками можно уловить знакомый мотив.
Все внешние линки на английском языке. Опубликованные в статье картинки переведены на русский.
Тем, кому лень читать всё написанное (а скорее всего, я таких постов сделаю несколько), обобщу популярные в этом движении взгляды:
– Отдавать большинство жизни работе бесмыссленно, и мы должны перестроить общество так, чтобы можно было мало работать, или даже не работать вообще. Мы делаем это сегодня лишь по собственному согласию, и пора это согласие забрать обратно. Самостоятельная ценность человека не зависит от его работы, а наоборот, противоречит ей.
– Ложь, обман и воровство работодателем причитающегося работнику – не из ряда вон выходящее, исключительное явление, а норма, логически проистекающая из трудовых отношений, фактически узаконенная (общий пример: если ты украдёшь сто долларов из кассы на работе, тебя посадят; если работодатель не доплатит тебе сто долларов зарплаты, тебе придётся бегать по инстанциям и судам, может, получишь деньги, а может и нет, но работодатель при этом наказан не будет). Это инструмент прибирания к рукам денег работников.
– Не работник должен быть благодарен работодателю, а наоборот. Бизнес, построенный на минимизации доходов работников, или проявляющий к ним жестокость, не имеет права на существование. Ложные обещания, корпоративы и копеечные подарки вместо адекватной компенсации – это сигнал, по которому надо увольняться.
– Работники должны интересоваться прежде всего своим душевным покоем и карманом, а на интересы бизнеса им должно быть плевать. Любой труд должен быть оплачен, коррупционные махинации должны пресекаться, бесполезные менеджеры – вырезаться, а подлецы – наказываться.
– Ни один миллиардер не нажил миллиарды честным и полезным трудом, а только через организованную эксплуатацию других и манипуляции через созданные богатыми же механизмы, такие, как фондовый рынок. Деньги миллиардеров не принадлежат миллиардерам, и нужно найти способ ими воспользоваться. Честному человеку невозможно полностью себя обеспечить на все случаи жизни, и государство должно создать механизмы социальной безопасности и обеспечения.
– Ключом к переменам являются бойкоты, массовые самоувольнения, взаимоподдержка и создание профсоюзов. Солидарность работников и открытое обсуждение уровней зарплат, поведения работодателей и упоминание имён мест работы ушедшими сотрудниками перестало быть табу.
– Нет никакого двуличия в том, чтобы критиковать и подрывать капиталистическую систему, одновременно участвуя в ней, поскольку это участие вынужденное.
Другими словами, сам капитализм ставится под вопрос.
НАЧАЛО
Летом 2021 американские новости начали обращать внимание, что работодатели в определённых областях затрудняются найти новых работников, тогда как старые массово увольняются. Первым звоночком стали исследования нескольких крупных компаний, в которых опросы показали, что подавляющее большинство работников допускают и желают смену места работы, когда работодатели начали говорить о возвращении в нормальный рабочий режим в офисе. Тогда ещё предположили, что это временное явление, связанное с эпидемией.
В августе был опубликован отчёт о том, что 4 миллиона американцев уволились в апреле 2021 года. Образовалось рекордное количество свободных рабочих мест – 10 миллионов. Это произвёло фурор в газетах, и явление массового ухода с работы было названо “великим отказом” и “большим увольнением”. Причины и масштабы его тогда ещё не были ясны. Разные авторы по разному объясняли этот внезапный эффект, обвиняя правительство, Тик-Ток, социалистов, русских шпионов и Китай. Правда оказалась одновременно и банальнее, и глубже: американцы стали отказываться от жизни в долгах, полного рабочего дня и того, что мы на Пикабу называем эффективными менеджерами.
Американская культура работы строится на идее, что если упорно вкалывать, то будешь продвигаться по карьерной лестнице, что работник должен быть благодарен работодателю и богу за предоставленную возможность отличиться, но в конечном итоге его личный успех зависит от него самого (соответственно, провал тоже его вина и ничья другая). Это на протяжении многих поколений называлось “протестанской трудовой этикой“. Самой большой фантазией американцев среднего класса является стать успешным только благодаря самому себе – эдакий образ Рональда Рейгана, прошедшего путь от мальчика на побегушках до президента. Фантазия эта уходит корнями к американским первопроходцам и покорению тяжёлых земель, и внушена консервативными настроениями. Американцы, таким образом, долгое время считали нормальным работать на бизнес, в котором управляющее звено состояло из моральных уродов, эксплуатирующих их в хвост и гриву, и были готовы, как и предписывает христианская доктрина, терпеть конкретные издевательства сейчас за надежду на абстрактное вознаграждение потом. При таком менталитете каждый коллега рассматривается как потенциальный соперник, а не союзник, а начальство и власть – как поставленный всевышним эстафетный барьер, который надо не критиковать, а перепрыгивать. Классовая солидарность исключена.
Такой подход, да ещё и в американском масштабе, создал раздольное поле паразитам типа менеджеров среднего звена и директоров, задача которых не делать работу, а надзирать за теми, кто её делает на самом деле. Уверен, что многим читателям это хорошо знакомо и без США. Поскольку сложность производства и планирования постоянно увеличивалась, идиллия американского капитализма, построенная на фундаменте личной самостоятельности, начала подтачиваться новообразованным классом управленцев, которые создали иллюзию собственной необходимости. Стало совершенно нормальным явлением, что управляющий директор компании, который формально является таким же работником, получает в десятки, а то и сотни раз больше денег, чем персонал, которым он управляет, не говоря уже о многомиллионных бонусах, “золотых парашютах”, яхтах и самолётах.
В 70х стал развиваться феномен, причины которого ещё не до конца выяснены: пока продуктивность труда постоянно повышалась благодаря новым технологиям и методам организации труда, его реальная оплата шла вниз. Разные авторы приписывают разные причины этой перемене, и к этому вопросу мы ещё вернёмся. Впрочем, пока мы можем догадываться о причинах и без научных изысканий, поскольку недоплаченные деньги не растворились в воздухе, а осели в чьём-то кармане: в конечном итоге эта причина – жадность работодателей и воровство менеджеров.
Рост производительности труда и почасовой оплаты с 1948 года. Жёлтая кривая: производительность, красная – оплата труда.
Если, условно говоря, садовник в 50х на свою зарплату мог купить дом под разумную ипотеку, а то и просто отложив наличные, мог содержать жену и отдать в колледж двоих детей, то в 70х для этого требовалось, чтобы работали оба супруга, а в 90х это стало уже неподъёмным без внешнего финансирования. Сейчас же во многих случаях двух работ не хватает для того, чтобы оплатить автомобиль, еду, ипотеку и медицинскую страховку. Соответственно, дети и собственность стали дорогим удовольствием, и среди традиционно зажиточных членов (читайте: белых) общества начался упадок рождаемости и владения недвижимостью.
С другой стороны, за последние десятилетия США сделали значительные шаги в улучшении федерального и местного законодательства о труде. Были проведены большие реформы и созданы органы надзора, через которые работник может получить ему причитающееся. Чем
больше наглели работодатели, тем больше работники узнавали о положенной им законом защите от такой наглости и пользовались своими правами. На американских форумах всё чаще и чаще стали появляться конкретные советы о том, как наказывать ворующие зарплату бизнесы самостоятельно, без расходов на адвоката, и делать это перестало быть зазорным.
Когда пандемия заставила работодателей отправлять работников по домам, очень быстро выяснилось, что менеджеры ничем особенно полезным не занимаются, и прибыльная компания без них становится ещё более прибыльной. В свою очередь, менеджеры начали осознавать, чем им угрожает удалённая работа их подчинённых, и начали всеми правдами и неправдами пытаться от неё избавиться. Работники же, свыкшись с удобством работы из дома, и заметным улучшением в своём настроении, вдруг начали получать требования являться в офисы, устанавливать на рабочие компьютеры и телефоны достаточно фашистские приложения контроля, расписывать по часам свои рабочие занятия и планы, проводить разные ненужные собрания и прочие ранее нормальные менеджерские изобретения, которые теперь стали казаться дикостью. Зачастую это сопровождалось угрозами штрафов, урезания заработной платы и увольнения, в том числе незаконным образом.
Сочетание пандемии, интернета, упадка дохода, усталости и ненависти наконец превратило разрозненные ощущения среднего класса в массовое течение.
СОПРОТИВЛЕНИЕ
Обёрнутая в платочек эффективности социопатия менеджеров перерасла в невиданную
жестокость, и началось массовое противостояние. Так, например, один из членов сообщества /r/antiwork выложил фотографию его переписки с начальником, где тот требует от него явиться на работу в выходной, который работник взял в связи со смертью отца. Начальник открыто говорит ему “перестать быть страдальцем”. Работник же немедленно извещает его об увольнении и посылает на несколько весёлых букв. Раньше такое считалось бы изолированным инцидентом, услышав о котором, многие бы удивились. Теперь же это норма. Этот пост получил 150 тысяч голосов и был прочитан миллионами. Вот ещё пример: одна работница уволилась, и начальство потребовало от другого сотрудника выйти на работу в субботу, после непрерывных 8 рабочих дней. Он отказался; начальник попытался угрожать увольнением и потерей медицинской страховки, и был немедленно послан, работник уволился на месте.
Пандемия, интернет и государственная помощь помогли американскому рабочему классу усвоить совершенно новую для него истину: нет принципиальной разницы между изнуряющей работой под эффективным менеджером, который постоянно тебя унижает, и за которую платят гроши, на которые ты едва ли можешь оплатить наёмную комнату, и безработицей. Американцы стали массово отправлять начальство в известные пешие походы и увольняться, создав кризис, масштабы которого только начинают выясняться. Таким образом, в США пустило корни то
самое явление, которого больше всего боятся работодатели: солидарность. Миллиардные торговые предприятия, платящие минимальную зарплату сотням тысяч работников, начали тихо паниковать. Бизнес-журналистика бьёт в набат – об этом в следующей части.
Начало этого явления было пропущено аналитиками и приписалось газетчиками изнеженным хипстерам и “ленивым зумерам” – детям 2000х и младше, которые якобы не хотели работать и рассчитывали жить на всём готовом, составляя жизненные приоритеты целиком и полностью из испытания подлинных переживаний в своём богатом внутреннем мире. Зумеры назначали собеседование на работу и не являлись на него; если же работа им была предложена, они могли запросто на неё не явиться, или встать посредине рабочего дня и молча уйти навсегда. За двадцатилетними зумерами потянулись и миллениалы – те, кто родились в 80х – но в отличие от тех, кто помоложе, человек за 30 уже имеет какие-то ценности, жизненный опыт и какой-никакой вес в обществе, и когда такие люди объединяются и начинают поддерживать друг друга, этому есть ощутимые реальные последствия.
“НИКТО НЕ ХОЧЕТ БОЛЬШЕ РАБОТАТЬ”
Первую трещину дала индустрия фастфуда и розничной торговли. Работники начали покидать рабочие места, часто прямо посреди рабочего дня. Попытки управленцев затянуть удавки и взять быка за рога только ухудшили ситуацию. Работники начали увольняться заодно и подавать жалобы вместе – иногда целыми сменами. Владельцы бизнесов принялись развешивать повсюду извинения о задержках в обслуживании и объявления о наборе работников, сетующие о том, что “никто не хочет больше работать.” В ответ сами работники, покидая рабочее место, начали оставлять за собой свои собственные объявления: “мы все уволились, потому что нам платят копейки и плюют в лицо и душу.”
Конечно, большинству бизнесов и в голову не пришло поднимать зарплату, улучшать условия труда и отношение к обычному работнику. Вместо этого, они решили просто свалить вину на новое поколение и потакающее ему правительство, а кризис просто переждать. Но кризис, похоже, переживёт их. Американский интернет переполнен фотографиями закрытых
ресторанов с жалобными письмами на дверях. В Британии треснула индустрия грузоперевозок, что привело к опустению полок магазинов в некоторых местах и кризису доставок горючего. Правительство и работодатели опять заговорили о ленивых водителях, которые просто не хотят работать, субсидиях за счёт налогоплательщиков и ввозе дополнительной зарубежной рабочей силы; никто, естественно, не захотел расставаться со своими собственными деньгами. В Китае
обнаружилось подобное движение, символом которого стало бездействие лёжа. В Германии, Австралии и других странах работники тоже начинают вести себя подобным образом.
Следующим шагом стала самоорганизация и популяризация анти-капиталистического диалога. В США долгое время бытовала идея, что некоторые должности можно рассматривать как временные или же как пригодные только для подростков. Разумеется, работодателю выгодно такое мышление – это означает, что работнику на полную ставку можно платить ниже прожиточного минимума. Теперь же идея временного и неквалифицированного труда открыто отрицается. Прямо сейчас, например, организуется бойкот Макдоналдс, который всегда считался местом, где подростки могут “понюхать жизнь и набраться опыта”, с целью заставить сеть поднять минимальную заработную плату до 25 долларов в час; эта инициатива набирает обороты как со стороны работников, так и со стороны посетителей. Похоже, будет подорвана и американская “чёрная пятница” – работники призывают друг друга не выходить на работу в праздник без адекватной компенсации, которую они никогда не получают. Естественно, если это произойдёт, убытки для торговых сетей будут огромными. Американский рабочий класс, как видим, постепенно начинает осознавать абсурдность своей экономической ситуации – так,
например, в ориентационном пакете торговой сети Wallmart прямо говорится о том, как получать от государства дотации на еду, поскольку на зарплату не выжить, что стоит государству миллиарды в социальных программах; складские работники компании Amazon описывают компьютерные алгоритмы, которые следят за их производительностью, вынуждая их писать в бутылки и плакать в специально отведённых для этого боксах. Создаются и распространяются памфлеты, памятки о правах работников, заметки, систематизирующие происходящее и другие агитационные материалы. Потихоньку отмечается повышение зарплат в отдельных филиалах торговых сетей.
Сформировались основные цели движения против работы: миллиардеры с одной стороны, разъезжающие на “Ламборджини” менеджеры и нищие рядовые работники, вынужденные пахать на двух работах – это несправедливо. Работать, говорят в движении, надо только по желанию и только в удовольствие. Конечно, это наивный, поверхностный взгляд. За ним, тем не менее, стоит вновь открывшееся американскому рабочему классу понимание: самоценность человека не зависит от того, как тяжело он работает, и гнуть спину на дядю за копейки должно быть позором, а не поводом для хвастовства. Рабочий день должен быть коротким, зарплата высокой, а работодатель – вежливым. А значит, баснословные выгоды больше не извлечёшь – и тех, кто пытается это делать, надо давить. Всё перевернулось: кандидаты на рабочее место теперь не просто отказываются предоставить рекомендации от предыдущих работодателей, а начинают требовать рекомендации от прошлых работников. Начальник должен быть благодарен, что ты согласился у него работать, а не наоборот. Составлен целый список “красных флажков” и признаков недобросовестности, которые позволяют соискателю немедленно остановить собеседование и распрощаться. По сути, даже само собеседование теперь меняет направление – работодатель становится кандитатом для работника и должен подойти под его критерии. Разные ухищрения кадровиков и агентств, которые раньше просто воспринимались как данное – например, всякие попытки заманить кандидата, скрывая при этом до последнего уровень зарплаты, настоящее местоположение работы, прямой обман в обещанных условиях – теперь могут запросто не только вставить палки в колесо набора новых сотрудников, но и создать отток существующих. Ранее распространённая практика работодателей обязательных тестов на наркотики, полиграфов, росписей под запрещёнными законом обязательствами, ровно как и различная ложь агенств по набору персонала о “молодой и динамичной обстановке”, всякие унизительные дешёвые подарки, тимбилдинги, мотивационные лекции и обязательные корпоративы, которыми работодатель пользуется вместо поднятия оплаты труда, всё это теперь стало вызывать отторжение и ненависть, которую больше не нужно скрывать. Пресловутая русская очередь желающих работать, всегда находившаяся вне поля зрения за забором, которой работодатели так любят пугать качающему права неблагодарному работнику, который умнее всех, громко растворилась и оставила после себя пугающую пустоту.
Кроме того, медленно, но верно отпадает глубоко въевшийся в американскую ментальность страх называть имя бывшего работодателя, который плохо с тобой обошёлся, поскольку всегда можно получить иск о клевете. Теперь же всё больше и больше работников рассуждает так: им с меня взять нечего, а когда другие услышат о том, что компания пытается судить бывших работников, никто там работать больше не будет никогда, и им конец. А это, в свою очередь, означает, что компании, которые зиждятся на высасывании крови и нервов из работников, не
смогут более этого скрывать. В этой новой ментальности бизнес, прибыльность которого зависит от способности психопатов в управлении выжать из работника максимум пользы за минимум оплаты, не имеет право на существование – и бизнесы, построенные на лжи, обмане, криках, угрозах и унижении, начинают гореть. Взаимный перерез глоток, которым так славилась американская культура, наконец-то стал отвратителен тем, кому их больше всего перерезают. Отмена табу на озвучивание имён таких компаний позволит бойкотировать их, таким
образом положа им конец.
Сила работников – в солидарности. Если никто не хочет на тебя работать, потому что ты козёл, то никакого бизнеса у тебя нет, и валяй на свалку жрать всё подряд. Это может быть и нашей реальностью тоже – если мы захотим. Если неуправляемый капитализм “поздней стадии” в США схлопнется, цепная реакция повсеместно неминуема.
В следующих эпизодах взглянем на конкретные примеры движения, сделаем обзор прессы, поговорим об истории профсоюзов и трудовых движений, а затем поразмышляем о том, что будет дальше.
Формат данных в секторе электронного кошелька
Чтобы понять структуру хранения данных в памяти карты, была использована чистая карта, купленная в кассе, по которой не было выполнено ни одной поездки. Далее карта была пополнена 10 раз на 1 рубль через автомат. После каждого пополнения состояние памяти сохранялось. В конце все сохраненные данные были сравнены и установлено, что изменения происходят только в двух блоках 8 сектора.
дампы памяти восьмого сектора после пополнений на 1 рубль
Видно, что данные изменяются в первом блоке (нумерация от нуля) с 9 по 15 байт. Очевидно, что в данном месте содержится баланс электронного кошелька. Путем подбора возможных форматов хранения данных было выяснено, что значение баланса электронного кошелька хранится в области памяти от младших 4 бит 8 байта до старших 3 бит 10 байта и рассчитывается по формуле
Где 137B8 значение в памяти карты в шестнадцатеричном формате, а 399 сумма в рублях.Таким образом можно рассчитать значения из предыдущей таблицы.
расчет баланса в секторе электронного кошелька
Чёрный – взлом карты тройка
http://i.imgur.com/Ka9xrqG.png
TroikaDumper
Приложение TroikaDumper позволяет читать, сохранять и восстанавливать записанное состояние памяти карты Тройка. Для использования необходим телефон с версией Android ≥ 4.4 и NFC чипом, поддерживающим карты Mifare. NFC чип должен быть произодства NXP https://en.wikipedia.org/wiki/List_of_NFC-enabled_mobile_devices Чипы производства Broadcom и другие работать не будут.
Неполный список поддерживаемых телефонов: ALCATEL ONETOUCH POP S9
ALCATEL ONETOUCH IDOL2 Mini S
Acer Liquid Express
Acer Liquid Glow
Asus Padfone 2
Asus Padfone S
HTC One
HTC Desire 610
HTC One X
HTC One M8
HTC One M9
HTC One Max
HUAWEI ASCENT P7
Google Nexus 7 (2021 c NXP PN65)
Lenovo Sisley S90
Lenovo VIBE Z2
Lenovo P780
Lenovo Vibe Z2 Pro (K920)
LG Optimus 3D Max
LG Optimus G
LG Optimus G Pro
LG Optimus 4X HD
LG Optimus L5
LG Optimus L7
LG Optimus LTE
LG Optimus Vu
LG Prada 3.0
LG Optimus Vu 2
LG G3
LG G4
Motorola Droid Razr
Motorola Droid Razr HD
Motorola Droid Razr Maxx HD
Motorola Moto X
Samsung Galaxy Nexus I9250
Samsung Galaxy Note II
Samsung Galaxy SIII
Samsung Galaxy SIII Neo
Samsung Core, Samsung Core DUOS
Samsung Galaxy A7
Samsung Galaxy S5 G900F
Sony Xperia ZR
Sony Xperia Z
Sony Xperia М1
Sony LТ25i/Xperia V
Sony Xperia Z2
Sony Xperia C3
Sony Xperia C3 Dual
Sony Xperia Z3
Sony Xperia Z3 Dual
Sony Xperia Z3 Compact
Sony Xperia Z3 Tablet Compact
Sony Xperia Z3
Sony Xperia Z3 Dual
Panasonic ELUGA
Philips Xenium W336
ZTE Grand S
ZTE PF200
ZTE Grand X
ZTE Render
ZTE Kis
ZTE Sprint Flash
Lumia 640
Lumia 730
Lumia 735
Lumia 810
Lumia 830
Lumia 950XL
Инструкция
Установите приложение скачав его по ссылке https://github.com/gshevtsov/TroikaDumper/releases/download/0.1/TroikaDumper-0.1.apk
Запустите приложение и поднести карту Тройка. Должно отобразится состояние баланса, время последнего прохода и т. д. При считывании карты состояние памяти автоматически сохраняется и доступно в архиве (нижняя правая кнопка в виде папки)
Для записи дампа памяти на карту выберите нужный дамп из архива и нажмите кнопку запись. Кнопка записи находится левее кнопки архива.
Как избежать блокировки карты
Не оперируйте суммами баланса более 100 рублей
Никогда не проходите в метро два раза с одинаковым временем последнего прохода. После записи дампа обновите текущее время на карте используя валидатор в наземном транспорте. То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае.
Интерфейс программы http://i.imgur.com/aURHnBs.png
Заключение
Общее время, затраченное на работу, составило две недели. Большинство из поставленных целей исследования были достигнуты. Несмотря на применяемые системы защиты, такие как ключи доступа к карте и криптографическая подпись в секторе электронного кошелька, подделка баланса оказалась возможна.
Относительно легко был осуществлен реверс-инжиниринг приложения «Мой проездной», что позволило обойтись без взлома физических систем транспортной инфраструктуры.
Больше всего времени заняло изучение структуры данных в памяти карты. Это оказалось возможным из-за того, что данные хранятся в незашифрованном виде. В случае, если бы данные в памяти карты были зашифрованы, вероятнее всего, потребовалось бы физическое проникновение в системы работающие с картой, что делает атаку существенно сложнее.
Итогом исследования стало написание приложения TroikaDumper, позволяющее легко эксплуатировать уязвимости в системе карты Тройка, имея смартфон с поддержкой функции NFC. Приложение просто в использовании и может быть использовано массово.
Для исправления найденных уязвимостей необходимо усовершенствование формата хранения данных в памяти карты и обновление программного обеспечения всех систем, работающих с картой.