В соцсетях можно найти фотографии авиабилетов и присвоить бонусные мили
В системах бронирования билетов не соблюдаются базовые правила безопасности. Из-за этого находчивые хакеры могут присвоить бонусные мили, которые авиакомпании предоставляют часто летающим пассажирам. Как это сделать — подробно рассказано в презентации известного специалиста Карстена Ноля (Karsten Nohl) и его коллеги Наманьи Никодиевича (Nemanja Nikodijević), которую ребята представили на 33-й ежегодной конференции Chaos Communication Congress (33С3).
Речь идёт о глобальных системах бронирования (GDS), в которых собирается информация от туристических агентств и сайтов бронирования билетов с заявками на билеты, а также от авиакомпаний, гостиниц и компаний по прокату автомобилей.
Вся информация концентрируется в GDS с определением доступности путёвок/авиабилетов, их ценой и бронью. В этой базе хранится не только общая информация о ценах и доступности, но и персональная информация о клиентах, которые забронировали билеты.
Вот как выглядит типичный электронный билет, который выдаёт система GDS конкретному пользователю после регистрации брони. Документ хранится в базе данных GDS.
Код бронирования (PNR) замазан
Сейчас на мировом рынке доминируют три основные GDS: это Amadeus (основана в 1987 году), Sabre (основана в 1960 году) и Galileo (сейчас подразделение Travelport). Например, с первой сотрудничают авиакомпании Lufthabsa и AirBerlin, а также туристический агент Expedia. Со второй — авиакомпании American Airlines и «Аэрофлот». Например, если забронировать через Expedia авиабилет на рейс American Airlines, то он будет храниться в обеих GDS: и в Amadeus, и в Sabre. Заранее вообще трудно предсказать, в каких конкретно GDS можно найти персональную информацию по конкретному пользователю, поскольку есть ещё бронь отелей, посредники турагентств и т.д.
Карстен Ноль и Наманья Никодиевич исследовали защиту информационной безопасности в системах GDS и выяснили, что она близка к нулю. Речь идёт об уровне безопасности свойственном для электронных систем 70-х и 80-х годов. Эти компании начали использовать «облачное хранение» данных ещё до того, как появился такой термин. Обеспечить надёжную криптозащиту в то время они не могли в принципе. Более того, в системе обеспечен очень слабый уровень защиты доступа. Это объясняется тем, что слишком большому количеству агентов позволен доступ в систему: это и авиакомпании, и турагентства, и отели, и т.д.
Таким образом, по факту все сотрудники GDS, а также сотрудники всех агентов имеют доступ ко всем PNR. Исследователи предполагают, что доступ к PNR имеют также различные государственные агентства.
Для доступа у GDS на базовом уровне даже не требуется устанавливать произвольный логин и пароль. Они назначаются автоматически, где в качестве логина устанавливается фамилия пользователя, а в качестве пароля — код бронирования (PNR). Именно тот код, который печатается на электронных билетах и который замазан на первом скриншоте.
И что же мы видим на многочисленных фотографиях в Instagram и других социальных сетях? Пользователи безалаберно фотографируют свои электронные билеты и публикуют их в открытом доступе. Более того, эти коды можно собирать даже в офлайне, просто фотографируя бирки на пассажирском багаже. Секретная информация (фактически, пароль в систему) просто печатается на принтере, приклеивается к чемодану и выставляется на всеобщее обозрение.
Иногда она закодирована в графическом коде для сканера, но легко распознаётся.
В открытом доступе вы можете найти тысячи таких фотографий с кодами, из которых извлекаются PNR.
Что мы можем получить, зная идентификатор PNR (шесть символов) и фамилию? Мы можем получить информацию о личности пользователя, возможно, ещё информацию о гостинице, в которой у него забронирован номер, и об аренде автомобиля. Плюс информацию о бонусных милях и других поощрениях авиакомпании для постоянных клиентов (frequent flyer). Контактную информацию: телефон, адрес электронной почты, часто почтовый адрес. Часто в GDS доступны паспортные данные, в том числе дата рождения.
Хакеры с доступом к GDS также видят платёжную информацию — номер банковской карточки и срок окончания действия (exp.date), а также IP-адрес пользователя. Эта информация может пригодиться в дальнейшем процессе подделки личности.
Автора доклада обращают внимание, что шестизначный код PNR можно даже подобрать брутфорсом. Энтропия 29,2−28,9 бит.
Авиакомпании тоже многое позволяют сделать, если обратиться с известным PNR. Например, они иногда позволяют изменить дату вылета и поменять билет (это будет сюрпризом для жертвы). Некоторые позволяют даже поменять имя в билете (вот это уже приятный бонус). Большинство компаний выдают по PNR различные бонусы.
Таким образом, вырисовывается общий сценарий. Выбираем стандартные фамилии, брутфорсим PNR, находим подходящие билеты. Если авиакомпания допускает пассажиров по билетам без проверки паспорта, то меняем дату и адрес электронной почты — и летим куда надо. Если документы проверяются, то возвращаем билет, получаем бонусы, с их помощью покупает новый билет на своё имя — и летим бесплатно.
Бесплатные мили можно использовать не только для полётов, но и для бесплатного размещения в гостиницах и получения подарочных сертификатов. С помощью последних можно осуществлять «обналичку» бесплатных миль, обменивая сертификаты на товары и продавая их или сдавая обратно в магазин в обмен на наличные. Так что древние системы бронирования способны обеспечить безбедную жизнь не одного хакера.
В докладе Карстена Ноля и Наманьи Никодиевича указаны подробности PNR различных GDS, допустимые символы и другая информация для брутфорса.
Презентация Карстена Ноля и Наманьи Никодиевича на 33C3 (pdf)