11 Сентября, 2018

Security Week 32: Fortnite-Android-драма

Лаборатория Касперского
Тот ловкий момент, когда ты написал пророческий дайджест. В прошлом выпуске речь шла о рисках безопасности в Android, в частности об уязвимостях типа Man-in-the-disk, а также о неспортивном (все ради денег) поведении компании Epic Games, отказавшейся размещать игру Fortnite в магазине Google Play. 25 августа пасьянс сошелся: Google с ее магазином, Epic Games с ее бета-версией Fortnite и даже man-in-the-disk-уязвимость вступили в интимную связь, породив среднего размера скандальчик.

Изначально речь шла о том, что технически неподкованные игроки в Fortnite, не найдя Android-версию в официальном магазине Google Play Store, пойдут искать ее куда-нибудь еще и установят на смартфон что-нибудь не то. Если сейчас со смартфона зайти в аппстор и поискать там Fortnite, Google даже покажет вам специальное сообщение, как на картинке наверху, чтобы вы не ставили из магазина приложения-клоны. Но, как выяснилось, инсталлятор Fortnite сам по себе уязвим — по сценарию не то чтобы совсем ужасному, но все же.

Уязвимость была обнаружена 15 августа компанией Google, технические детали опубликованы у них в багтрекере . Проблема идентична той, что накопала компания Check Point (и про которую подробнее рассказано в дайджесте номер 31 ). Применительно к Fortnite получается так: пользователь скачивает с сайта инсталлятор, единственная задача которого — найти и установить уже саму игру.

Инсталлятор загружает и сохраняет файл с игрой во внешнюю память. Любое приложение, также имеющее доступ к внешней памяти, может подменить этот файл. Инсталлятор далее начнет установку игры, не подозревая, что запускает уже что-то не то: подлинность загруженного файла не проверяется. Более того, можно сделать так, что поддельный Fortnite автоматически, без уведомления пользователя, получит доступ к приватным данным. При использовании приложением определенной версии SDK телефон даже не будет спрашивать разрешения у пользователя (которые все равно одобряются по умолчанию в большинстве случаев).

Решается проблема просто: надо сохранять инсталлятор во внутреннюю память, где доступ к файлам есть только у приложения, их создавшего. Что, собственно, и сделала компания Epic Games, в течение двух суток устранив уязвимость. Исследователи Google уведомили разработчика 15 августа, 17-го проблема была решена. Через семь дней, 24-го (в пятницу вечером), в полном соответствии с правилами раскрытия информации об уязвимостях, которым следует Google, информация была выложена в общий доступ.

Суть скандальчика простая: на стороне Google произошел конфликт интересов. Компания берет 30% с любых продаж в приложениях, выложенных в Google Play. Epic Games не планирует выкладывать Fortnite в официальный магазин, чтобы не платить эту пошлину. Игра и так популярная — дополнительная раскрутка, обеспечиваемая самой площадкой Google, ей не требуется. Конечно же, разработчик игры объяснил такое решение не денежным вопросом, а «желанием развивать альтернативные каналы дистрибуции» или чем-то подобным. Хотя на сайте Epic Games Android-версия игры преподносится как бета-версия, в магазине приложений Samsung она доступна просто так и рекламируется сразу двумя рекламными баннерами, чтоб наверняка.

В переписке с Google представители Epic Games рапортуют о решении проблемы, но просят не публиковать информацию об уязвимости до истечения стандартных для норм ответственного раскрытия информации девяноста дней. Google отказывает: если есть фикс и он доступен широким народным массам, то нет смысла скрывать. В ответ гендиректор Epic Games в комментарии изданию Mashable обвиняет Google в безответственности.

Кто прав? Google свои же правила работы с опасной информацией об уязвимостях не нарушила. В комментариях в багтрекере справедливо говорят, что если бы приложение распространялось через Google Play, проблемы бы не было — не пришлось бы городить огород с «инсталлятором инсталлятора». С другой стороны, в Google должны были осознавать конфликтную ситуацию, да и кто устраивает другим компаниям проблемы, публикуя информацию в пятницу в семь вечера? Так ли опасна сама уязвимость? Это ведь получается, что пользователь уже должен иметь на смартфоне приложение, имеющее плохие намерения — через дырявый код Fortnite украсть персональные данные.

Опыт подсказывает, что несущественных мелочей в инфобезопасности не бывает. В любой другой ситуации это был бы обычный обмен информацией: мы нашли проблему, вы ее устранили, все хорошо. Здесь же дискуссия вокруг рутинной уязвимости незамедлительно политизировалась. Эта история — она, скорее, про отсутствие доверия. В следующий раз кто-то найдет уязвимость в ПО, зарепортит производителю, а тот намеренно будет тянуть с ответами, запрашивать дополнительную информацию, не признаваться, что дыра уже давно закрыта. В такой «здоровой», «дружеской» атмосфере вероятность стрельбы по ногам будет только увеличиваться.

Что еще произошло?
«Лаборатория Касперского» исследовала новую кампанию группы Lazarus (это которая предположительно атаковала Sony Pictures в 2014 году), и там какой-то непростой боевик: впервые таргетируется система Mac OS X, используется сложносочиненный троян, доставляемый с поддельного сайта фейковой биржи для купли-продажи поддельных криптовалют. Коротко на русском написано здесь , подробно на английском тут .

В OpenSSH закрыли не очень серьезную уязвимость (непреднамеренная утечка имен пользователей), которая присутствовала в коде 19 лет, с выпуска самой первой версии программного пакета. В компании Qualys утверждают , что закрытие произошло непреднамеренно — проблема обнаружена не до обновления кода, а после.

На Google подали в суд за отслеживание координат пользователей, когда те этого не хотят, по следам недавнего расследования Associated Press. В нем выяснилось, что отключение определения местоположения отключает его не до конца.

Disclaimer: Все очень сложно, и проще не становится. Будьте внимательны и осторожны.