31 июля 2013

Странный взлом сервиса Apple для разработчиков

Бизнес

Сегодня вряд ли кого-то можно удивить известиями о взломе ресурсов крупной IT-компании. К сожалению, происходят подобные вещи если не регулярно, то, во всяком случае, чаще, чем хотелось бы. Одной из последних жертв стала компания Apple. Правда, история со взломом её ресурсов несколько неоднозначна, чтобы не сказать странновата.

Где-то 18 июля внезапно прекратил работу ресурс для разработчиков приложений под операционные системы Mac OS X и iOS — Apple’s Developer Center. Закрыто было всё — и сайт, и форумы. На главной странице висело уведомление о «технических работах».

applescreenshot

Лишь по прошествии трёх дней Apple официально признала, что сайт, «возможно», был взломан. Зарегистрированные пользователи ресурса получили письмо от Apple следующего содержания:

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

Чтобы избежать повторного возникновения угроз вроде этой, мы полностью перерабатываем нашу систему для разработчиков, обновляем серверное ПО и перестраиваем базу данных. Мы приносим извинения за значительные неудобства, вызванные простоем наших ресурсов, и ожидаем, что они скоро вновь заработают».

Позднее журналистам представители Apple повторили, что предположительный взлом задел только аккаунты разработчиков, обычных пользователей iTunes это никак не затронуло; утечки информации о кредитных картах не произошло. А трёхдневное молчание было, дескать, связано с тем, что администраторы Apple пытались оценить масштабы бедствия.

А 22 июля в комментарии к заметке TechCrunch, в которой говорилось о взломе, явился некий Ибрахим Балик, частный консультант по вопросам информационной безопасности, объявивший себя, так сказать, виновником торжества.

Дескать, это он в сугубо исследовательских целях вторгся на ресурс Apple, поскольку нашёл там множество багов.

balic«В целом я нашёл 13 багов и сообщил об этом через http://bugreport.apple.com. Обо всех багах сообщалось поодиночке и Apple была проинформирована. Я предоставил Apple все подробности, какие смог, и добавил скриншоты. Один из этих багов предоставил мне доступ к информации о пользователях и так далее. Я немедленно сообщил об этом в Apple. Я взял 73 записи о пользователях (это только работники Apple) и представил их как пример», — написал Балик. Его английский не то, чтобы на высоте, в частности, но, по крайней мере, по большей части можно понять, что он хотел сказать.

Но есть и малопонятный момент:

«Моя цель была сообщить о багах и собрать пользовательские записи, чтобы показать, насколько глубоко я могу проникнуть. У меня сейчас есть более 100 тысяч пользовательских учётных записей [Балик использует оборот «Users details — прим. Kaspersky Team], и Apple об этом проинформирована. Я не пытался сначала получить эти данные, а затем сообщить [о проблеме], я сначала сообщил».

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

Чтобы лучше понять масштабы уязвимости, Балик написал скрипт на Python, который наугад генерировал запросы к серверам Apple с именами или фамилиями пользователей. Серверы выдали ему (sic!) информацию о ста тысячах пользователях. 73 записи из этих 100 тысяч были приложены к сообщению об уязвимости, которое Балик направил администраторам Apple.

Но уязвимость-то была в iAd. Причём тут сайт для разработчиков? Почему Балик написал, что именно его сообщение могло привести к отключению ресурса? Этому прямых объяснений нет. Однако из тех 13 уязвимостей, о которых он уведомил Apple, одна представляла собой XSS-брешь как раз в Apple’s Developer Center, и ещё одиннадцать — также XSS-уязвимости разных ресурсов Apple.

Во вторник Балик получил сердечную благодарность от Apple за сообщения о выявленных уязвимостях. Тем не менее, у него есть основания опасаться, что им займутся правоохранительные органы уже просто потому, что он записал и выложил на YouTube видео, в котором видно окно терминала с работающим скриптом, собирающим «урожай» с серверов Apple. Зачем Балику это было нужно, он не объяснил. Видео он потом из Сети убрал.

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

Балик утверждает, что к этим запросам он точно никакого отношения не имеет, и что та информация, которую ему удалось «наудить» своим скриптом, не позволит всерьёз скомпрометировать пользовательские аккаунты.

Что ж, пока промежуточные итоги у этой истории выглядят следующим образом:

— На ресурсах Apple найдена серьёзная брешь, и не одна, и администраторы Apple работают над тем, чтобы всё исправить;

— Критически важные пользовательские данные хранились на серверах Apple в зашифрованном виде (по крайней мере, по утверждению Apple). Так и должно быть, но, к сожалению, бывает не всегда;

— Фундаментальность работ и то, что фактически меняется вся архитектура сервиса Apple Developers Center, вынуждает предположить, что выявлена очень серьёзная проблема, не поддающаяся «косметическому ремонту». Выявил ли её Балик, вопрос открытый;

— Декларируя «дух прозрачности», Apple, однако, предпочитает особо не распространяться по поводу всей этой ситуации. То есть, что на самом деле произошло, никто пока сказать не может. Секретничать в такой ситуации — ожидаемый, но далеко не выигрышный ход;

— На Apple Developer Center в течение долгого времени работала только главная страница и форма для отправки обнаруженных уязвимостей (которой Балик, судя по его твиттеру, уже успел воспользоваться — похоже, нашёл ещё одну брешь, связанную с межсайтовым скриптингом). К настоящему моменту, впрочем, сайт восстановил работу в полном объёме.

Взломы — это всегда удар по репутации, а репутация нынче стоит дорого. В данном случае, однако, остаётся загадкой, а был ли взлом вообще. Или в Apple просто настолько испугались обнаруженных уязвимостей, что решили учинить у себя перестройку? Второй вариант выглядит менее вероятным уже потому, что недельный простой важного сервиса — это тоже значительный репутационный ущерб. Видимо, выбирали из двух зол меньшее.

Хотя на данный момент нет информации о том, что случилось на самом деле, Ибрахим Балик, по сути, взял на себя ответственность за то, что произошло с Apple Developers Center. Таким образом, получается, что виновником ущерба – прямым или косвенным, не так уж это теперь и важно, — оказался не злонамеренный вредитель, а энтузиаст, действовавший из самых благих намерений.

В этой связи бизнесу, в чьей инфраструктуре IT занимает сколько-нибудь существенное положение, следует задуматься о наладке контактов с энтузиастами, которые находят какие-либо уязвимости и готовы о них сообщить. Чем более прямолинейной и общепонятной будет процедура (в идеале это форма для отправки сведений в отдельном разделе сайта), тем лучше для обеих сторон.