То украденный грузовик с вейпами, то подозрительное похищение лобстеров.
Последние несколько месяцев одна малоизвестная, но критически важная американская технологическая компания в сфере логистики занималась устранением целого ряда простых уязвимостей в собственных системах. Эти уязвимости по неосторожности оставили двери её платформы для отгрузок широко распахнутыми для любого в интернете.
Эта компания — Bluspark Global, базирующаяся в Нью-Йорке. Её платформа для управления грузоперевозками и цепочками поставок, Bluvoyix, позволяет сотням крупных корпораций транспортировать свою продукцию и отслеживать грузы по всему миру. Хотя Bluspark может быть не у всех на слуху, компания обеспечивает работу значительной части мировых грузоперевозок, включая гигантов розничной торговли, продуктовые магазины, мебельные фабрики и многих других. Программное обеспечение компании также используется рядом аффилированных с Bluspark структур.
На этой неделе Bluspark сообщила TechCrunch, что проблемы с безопасностью устранены. Компания исправила пять уязвимостей в своей платформе, включая использование паролей в открытом текстовом виде сотрудниками и клиентами, а также возможность удаленного доступа и взаимодействия с программным обеспечением для отгрузок Bluvoyix. Эти недостатки открывали доступ ко всем данным клиентов, включая историю их отгрузок, насчитывающую десятилетия.
Однако для исследователя безопасности Итона Звеаре, обнаружившего уязвимости в системах Bluspark еще в октябре, оповещение компании о проблемах заняло больше времени, чем само обнаружение багов, поскольку у Bluspark не было очевидного способа связи с ним.
В опубликованном позже посте в блоге Звеаре сообщил, что передал сведения о пяти уязвимостях платформы в Maritime Hacking Village — некоммерческую организацию, которая занимается обеспечением безопасности в морском секторе и, как в данном случае, помогает исследователям уведомлять компании, работающие в этой отрасли, об активных уязвимостях.
Недели спустя, после многочисленных писем, голосовых сообщений и сообщений в LinkedIn, компания так и не ответила Звеаре. И всё это время уязвимостями мог воспользоваться любой желающий в интернете.
В качестве крайней меры Звеаре обратился в TechCrunch, чтобы предать информацию об этих проблемах огласке.
TechCrunch направил электронные письма генеральному директору Bluspark Кену О’Брайену и высшему руководству компании с уведомлением о нарушении безопасности, но ответа не получил. Позже TechCrunch отправил письмо одному из клиентов Bluspark, американской публичной розничной компании, чтобы предупредить о вышестоящем сбое безопасности, но и ответа не последовало.
В третий раз, когда TechCrunch писал генеральному директору Bluspark, мы приложили частичную копию его пароля, чтобы продемонстрировать серьезность нарушения безопасности.
Через пару часов TechCrunch получил ответ — от юридической фирмы, представляющей Bluspark.
Пароли в открытом виде и неаутентифицированный API
В своем посте Звеаре пояснил, что впервые обнаружил уязвимости, посетив веб-сайт одного из клиентов Bluspark.
Звеаре написал, что на сайте клиента была контактная форма для потенциальных покупателей. Просмотрев исходный код страницы с помощью встроенных инструментов браузера, Звеаре заметил, что форма отправляет сообщение клиента через серверы Bluspark посредством их API. (API позволяет двум или более связанным системам обмениваться данными через интернет; в данном случае — контактная форма сайта и почтовый ящик клиента Bluspark).
Поскольку код отправки электронной почты был встроен непосредственно в веб-страницу, это означало, что любой мог изменить код и злоупотребить этой формой для рассылки вредоносных писем, например, фишинговых приманок, якобы исходящих от реального клиента Bluspark.
Звеаре вставил веб-адрес API в свой браузер, после чего загрузилась страница с автоматически сгенерированной документацией API. Эта веб-страница представляла собой главный перечень всех действий, которые можно выполнить с API компании, таких как запрос списка пользователей, имеющих доступ к платформам Bluspark, а также создание новых учетных записей.
Страница документации API также имела функцию, позволяющую любому «протестировать» API, отправляя команды для извлечения данных с серверов Bluspark от имени вошедшего в систему пользователя.
Звеаре обнаружил, что API, несмотря на заявления на странице о необходимости аутентификации для использования, не требовал пароля или каких-либо учетных данных для получения конфиденциальной информации с серверов Bluspark.
Используя только список команд API, Звеаре смог извлечь огромное количество записей учетных данных сотрудников и клиентов, пользующихся платформой Bluspark, при полной отсутствии аутентификации. Среди них были имена пользователей и пароли, которые были видны в открытом текстовом виде и не были зашифрованы — включая учетную запись, связанную с администратором платформы.
Имея имя пользователя и пароль администратора, злоумышленник мог бы войти в эту учетную запись и устроить хаос. Как добросовестный исследователь безопасности, Звеаре не мог использовать эти учетные данные, поскольку использование чужого пароля без разрешения является незаконным.
Поскольку в документации API был указан список команд, позволяющий любому создать нового пользователя с правами администратора, Звеаре пошел дальше и сделал это, получив неограниченный доступ к платформе управления цепочками поставок Bluvoyix. Звеаре сообщил, что уровень доступа администратора позволял просматривать данные клиентов вплоть до 2007 года.
Звеаре обнаружил, что после входа в систему с этой вновь созданной учетной записью каждый запрос к API оборачивался в токен, специфичный для пользователя, который должен был гарантировать, что пользователь действительно имеет право доступа к странице портала при каждом нажатии на ссылку. Однако токен не требовался для выполнения команды, что позволяло Звеаре отправлять запросы и вовсе без токена, дополнительно подтверждая отсутствие аутентификации API.
Баги устранены, компания планирует новую политику безопасности
После установления контакта с юридической фирмой Bluspark Звеаре дал TechCrunch разрешение на передачу копии своего отчета об уязвимостях её представителям.
Несколько дней спустя юридическая фирма сообщила, что Bluspark устранила большинство уязвимостей и работает над привлечением сторонней компании для независимой оценки.
Усилия Звеаре по раскрытию багов высвечивают распространенную проблему в мире кибербезопасности. Компании зачастую не предоставляют способа, например, общедоступного адреса электронной почты, для уведомления их об уязвимостях безопасности. Как следствие, это может затруднить для исследователей безопасности публичное разглашение активных уязвимостей из опасений, что раскрытие деталей может поставить под угрозу данные пользователей.
Минг Ли, юрисконсульт, представляющий Bluspark, во вторник заявила TechCrunch, что компания «уверена в предпринятых шагах по смягчению потенциальных рисков, возникших в результате выводов исследователя», но отказалась комментировать детали уязвимостей или их исправления; назвать, какую стороннюю оценочную компанию она привлекла, если таковая была; или комментировать свои конкретные практики безопасности.
На вопрос TechCrunch, смогла ли Bluspark установить, были ли какие-либо отгрузки её клиентов изменены кем-либо в результате злонамеренной эксплуатации багов, компания не ответила. Ли заявила, что «нет никаких признаков воздействия на клиентов или злонамеренной деятельности, связанной с выявленными исследователем проблемами». Bluspark не предоставила доказательств, на основании которых она сделала такой вывод.
Ли сообщила, что Bluspark планирует внедрить программу раскрытия информации, которая позволит внешним исследователям безопасности сообщать компании об ошибках и уязвимостях, однако обсуждения по этому поводу всё ещё ведутся.
Генеральный директор Bluspark Кен О’Брайен не предоставил комментариев для этой статьи.
Чтобы безопасно связаться с этим репортером, вы можете обратиться через Signal по имени пользователя: zackwhittaker.1337
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Zack Whittaker




