Security Week 39: XcodeGhost, утечка сертификата D-Link, миллион за баг в iOS9

54dc3b4e9f764ec3b4958fc21cd0c69f.pngНовый эпизод сериала хочется начать с новости, не относящейся в общем-то к инфобезопасности. В автомобилях Volkswagen с дизельным двигателем обнаружили разные показатели выброса вредных веществ во время движения, и при стационарном тестировании. Пока с этой историей все не станет окончательно ясно, я бы предпочел придерживаться именно такой формулировки. Эта история говорит нам о том, насколько стал важен софт: оказалось, что при помощи небольшого твика в программном коде можно изменить очень важную характеристику автомобиля, да так, что никто этого и не заметит.

Wired пишет, что скрыть повышенный уровень выброса вредных веществ было просто. Как происходит лабораторное тестирование? Машину ставят на ролики, нажимают на газ, колеса крутятся, двигатель работает, выхлоп анализируется. Какое единственное отличие между таким режимом и обычной ездой по трассе? Правильно, руль не двигается. То есть достаточно ввести единственное условие: никто не крутит руль, а машина едет — значит мы на станции техосмотра. Такой «хак» можно было обнаружить только случайно — что, собственно, и произошло.

Опять же, пока историю не рассказали до конца, разницу в выхлопе можно считать как намеренным действием автоконцерна (а точнее узкой группы людей, ответственной за управляющий код), так и простой ошибкой. Может это быть ошибкой? Да вполне. В сегодняшнем дайджесте самых важных новостей с сайте Threatpost.ru за неделю — истории о том, как ошибки происходят, как ими пользуются, и как на них делают деньги. Все предыдущие выпуски тут.
D-Link по ошибке выложила собственные сертификаты в открытый доступ
Новость. Детальное расследование на голландском сайте Tweakers.net с толстым слоем Google Translate.

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

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

Это я, конечно, фантазирую, может оно и не так все было. А по факту получилось вот что: бдительный пользователь, скачавший обновление прошивки для веб-камеры D-Link обнаружил в архиве ключи, которыми вендор подписывает свой софт. Ключей-сертификатов было несколько, частично у них истек срок действия, но у одного — совсем недавно, 3 сентября.

a555810f3a814e6ab5295799bf5aa0b8.jpg

А до этого полгода ключ находился в открытом доступе, и им можно было подписать абсолютно любой софт, в том числе и вредоносный. Налицо явная ошибка, обидная и опасная. Мы живем в эпоху, когда строчка из 512 чисел может содержать в себе все что угодно: и ключ к заражению миллионов компьютеров, и сотни тысяч долларов в виртуальной валюте, и коды доступа к сверхсекретной информации. При этом эти же 512 байт — пылинка на поверхности жесткого диска твоего компьютера, которая так же легко может быть выброшена в открытое пространство. Остается надеяться, что никто не заметил, и таки да, чаще всего так и бывает. Но иногда, увы, замечают, хотя конкретно в случае D-Link простой поиск вредоносных программ с использованием утерянного ключа, ничего не дал.

XcodeGhost — закладка в IDE Apple
Новость. Исследование Palo Alto. Список зараженных приложений. Официальная информация от Apple. Увы, на китайском.

Вот представьте, что вы — китайский разработчик приложений для айфона. Собственно, тут и представлять нечего: устройства, инструменты разработки одинаковые для всех девелоперов, из любой страны. Разве что нужно добавить немного местного колорита. И вот вы для очередного крутого проекта покупаете новенький Мак, ставите на него среду разработки Xcode и, стало быть, кодите. Все хорошо, кроме одного момента: с сайта Apple бесплатная Xcode качается очень медленно, потому как он хостится за великим фаерволом. Проще скачать с местного сайта, это намного быстрее, да и какая разница — бесплатно же.

Затем внезапно в коде нескольких приложений, популярных и не очень, обнаруживается вредоносная вставка, которая, как минимум, отправляет зашифрованную информацию об устройстве на C&C сервер. Как максимум — с сервера принимаются команды, возможно позволяющие сделать с владельцем устройства что-то нехорошее, и эксплуатирующие уязвимости в iOS.

b4afa91fbe394a26954ff23e7329fe6e.png
Код «закладки», из исследования Palo Alto.

Далее выясняется, что закладка была в тех самых локально-доступных версиях Xcode, причем сразу в нескольких релизах Xcode, то есть кто-то весьма целенаправленно эти закладки делал. Дальше еще хуже: дело даже не в том, что пострадали две дюжины довольно популярных приложений (в их числе популярный чатик WeChat и местная версия Angry Birds), а в том, что вредоносный код прошел через модерацию App Store. Естественно, в настоящее время все зараженные приложения удалены, да и отыскать закладку, после того, как о ней все узнали, довольно просто — хотя бы по доменам управляющих серверов (их тоже заблокировали). А вот не зная о закладке, найти ее было довольно сложно: спрятали с умом, вставив в стандартные библиотеки Apple, использующиеся в 99,9% приложений.

Интересен тут еще и такой момент. Издание The Intercept, специализирующееся (в том числе) на раскрытии секретных данных, поступивших от Эдварда Сноудена, сообщает, что метод проникновения зараженного ПО на устройства Apple у XcodeGhost полностью соответствует секретным планам из тех самых утечек. Журналисты отмечают, что обнародовали эту информацию еще в марте этого года. Дескать «вооот, а мы говорили!». Ну что же, а мы говорили еще раньше: в 2009 году, до Сноудена и прочего, мы, например нашли вредоносное ПО, заражающее IDE Delphi, и вставляющее закладку во все скомпилированные приложения. Идея-то лежит на поверхности. Впрочем, зная о такой проблеме, устранить ее тоже просто: достаточно сверить целостность средства разработки с эталоном. Ну и не скачивать софт из сомнительных источников, хотя мы вроде говорим об опытных девелоперах, да? Уж они-то не могут допустить такую банальную ошибку? Получается, что могут.

Торговец дырами объявил награду в миллион за уязвимость в iOS 9
Новость.

В Википедии есть познавательная табличка об истории джейлбрека устройств Apple. В отличие от Android и десктопных ОС, где возможность полного контроля над системой является, в общем-то, штатной, и эксплуатируется сравнительно легко, смартфоны, планшеты (а еще часы и ТВ-приставки) Apple изначально сделаны так, что в них права пользователя достаточно серьезно ограничены. И вот уже семь лет вендор, с одной стороны, пытается максимально свои устройства огородить защитить, а с другой стороны, кхм, сообщество неравнодушных любителей рута, эту защиту взламывает. Причем взламывает почти всегда: джейлбрейк для всех устройств, за исключением третьей версии Apple TV и (пока что) часов, обязательно появляется в период от одного дня до полугода после появления устройства в продаже.

Так вот, для свежевыпущенной iOS 9 джейлбрейк как бы есть, но с другой стороны его как бы нет. Доломать систему до конца пока не получилось. «Исправить» ситуацию планирует компания Zerodium, объявившая о награде до миллиона долларов тому, кто покажет способ взлома iOS 9 со следующими свойствами:

— Эксплойт должен запускаться удаленно (например, автоматически при посещении подготовленной страницы в браузере, открытии или получении SMS или MMS)
— Эксплойт дает возможность установки произвольного приложения на устройство (например, Cydia)
— Изменения в устройстве должны сохраняться после перезагрузки
— Эксплойт должен быть «надежным, незаметным, не требующим вмешательства пользователя»

580a5c096e1e408c884e68b2ec808c70.jpeg

По этому списку уже понятно, что компания вовсе не собирается выбросить на ветер три миллиона долларов (это общий призовой фонд) для того, чтобы удовлетворить руто-фанатов. Основатель Zerodium Чауки Бекрар ранее создал компанию VUPEN. Последняя специализируется на предоставлении «госструктурам» инструментов для компьютерного взлома. Это такая мутная серая зона, в которой, предположительно, хорошие ребята ловят плохих ребят с помощью инструментов плохих ребят. И если VUPEN, по крайней мере официально, не занимается торговлей эксплойтами, то Zerodium как раз для этого и была создана. А значит, что кто-то в результате может получить много денег, кто-то еще будет взламывать с помощью купленного эксплойта устройства, не раскрывая детали уязвимости (иначе какой смысл платить?). Что происходит, когда торговцев эксплойтами взламывают, мы уже знаем на примере Hacking Team: внезапно в публичном доступе оказались много zero-day уязвимостей, вскрылись темные делишки компании на Ближнем Востоке, да и вообще.

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

Что еще произошло:
Adobe закрыла 23 уязвимости в Flash-плеере. В августе были закрыты еще 30.

У американской госструктуры украли данные миллионов работников бюджетной сферы, включая 5,6 миллиона (!) отпечатков пальцев. Диванные аналитики отмечают, что палец — не пароль, его просто так не поменяешь, и количество комбинаций ограничено. Пока ничего противоправного с этими отпечатками сделать нельзя, но кто ж его знает, до чего дойдет прогресс.

2ff787c3bfb64aedb366fe2c66f6d040.png


Меняйте отпечатки пальцев почаще, используйте менеджер отпечатков и никогда не используйте один и тот же отпечаток дважды.

1a3d8477c94641beaa19694292d10b54.pngДревности:
«PrintScreen»

Очень опасный вирус, длина 512 байт (1 сектор). Заражает Boot-сектор флоппи-дисков и винчестера при чтении с них (int 13h). Старый Boot-сектор сохраняет на флоппи-диске по адресу 1/0/3 (строна/трек/сектор), на винчестере — по адресу 3/1/13. При этом может уничтожить один из секторов FAT или данные (в зависимости от объема диска). При заражении винчестера предполагает, что его Boot-сектор расположен по адресу 0/1/1 (это говорит о низкой квалификации автора вируса).

Перехватывает int 13h. Судя по листингу вируса при инфицировании диска с вероятностью 1/256 (в зависимости от значения своего внутреннего счетчика) вирус должен вызывать int 5 (печать экрана), но допущена ошибка, в результате которой новое значение счетчика не сохраняется.

Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страницa 102.

Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.

© Habrahabr.ru