Добро пожаловать в еженедельный дайджест событий в области безопасности, сезон первый, эпизод второй. В предыдущей серии мы узнали о самооткрывающихся машинках, хронической боязни сцены у Android и о том, как нас не будут больше отслеживать в Сети (на самом деле будут).
В этом выпуске две вроде бы совершенно не связанные новости, которые тем не менее имеют одну общую черту: они не о том, что где-то кто-то уязвим, а о том, что уязвимость подчас порождается нежеланием подключить доступные меры безопасности. А третья — она и вовсе не про безопасность, а скорее про частные случаи взаимоотношений внутри индустрии. Интересно, что все три, если покопаться, оказываются не совсем такими, какими кажутся изначально.
Напоминаю правила: каждую неделю редакция новостного сайта Threatpost выбирает три наиболее значимые новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти тут.
Взлом гостиничных дверей
Вот говорят, что есть гуманитарии, а есть технари и эти две категории населения с трудом понимают друг друга. А уж превратиться из гуманитария в технаря точно невозможно. Такой стереотип в свое время опроверг Джон Виганд, изначально избравший карьеру музыканта. В 30-х годах прошлого века он играл на фортепиано и дирижировал детским хором, пока не заинтересовался устройством усилителей звука. В 40-х он работал над тогдашней новинкой — магнитной звукозаписью, а в 1974 году (в возрасте, на минуточку, 62 лет) сделал свое главное открытие.
В проволоке Виганда из сплава кобальта, железа и ванадия, помещенной в магнитное поле, меняется местами полярность сердечника и оболочки, за счет чего возникает разность потенциалов. Более того, полярность не меняется до следующего намагничивания, что и позволило использовать эффект, скажем, для создания гостиничных ключей.
В отличие от современных карт, единицы и нолики записаны не в микросхеме, а прямой последовательностью уложенных особым образом проводов. Перепрограммировать такой ключ невозможно, и вообще по схеме он больше похож не на современные проездные на метро и кредитки, а на карты с магнитными полосами, только более надежные.
То есть ломаем бесконтактные карты? На самом деле нет. Именем Виганда назван не только эффект, но и протокол, довольно древний, по которому производится обмен данными. С протоколом все достаточно плохо. Во-первых, он так и не был толком стандартизирован, и существует множество разных реализаций.
Во-вторых, изначально ID карты мог быть записан максимум 16 битами, что дает ну очень мало возможных комбинаций. В-третьих, особенность тех самых бесконтактных карт с проволокой, придуманных еще до того, как в кредитную карту научились помещать целый компьютер, ограничивает длину ключа 37 битами — дальше падает надежность считывания.
Так вот, на прошедшей на прошлой неделе конференции Black Hat исследователи Эрик Эвенчик (Eric Evenchick) и Марк Баседжио (Mark Baseggio) показали свой девайс для перехвата ничем не зашифрованных ключевых последовательностей во время авторизации. Что самое интересное, карты тут вообще ни при чем — данные воруются при передаче от считывателя карт к контроллеру двери: там исторически используется тот самый протокол Виганда.
Устройство они назвали BLEKey — это такая небольшая плата, которую можно воткнуть прямо в корпус считывателя, скажем, на двери отеля, причем было показано, что весь процесс занимает несколько секунд. Дальше все просто: считываем ключ, дожидаемся, пока настоящий владелец уйдет, открываем дверь. Или не дожидаемся. Или не открываем. Если не вдаваться в технические тонкости, диалог между дверью и считывателем/беспроводным ключом выглядит так:
— Кто там?
— Это я.
— А, это ты. Заходи.
Final talk run through! pic.twitter.com/TQB472izkO
— Eric Evenchick (@ericevenchick@mastodon.social) (@ericevenchick) August 6, 2015
Вроде бы все ясно, но есть нюанс. Ну, как обычно, не все системы контроля доступа подвержены такой атаке. И даже те, что подвержены, можно защитить, не заменяя целиком. По словам исследователей, в ридерах есть средства защиты от подобных взломов, просто они обычно, хм, выключены. Некоторые даже поддерживают протокол Open Supervised Device Protocol, который позволяет зашифровать передаваемую ключевую последовательность. Этими «фичами» не пользуются, потому что, не устаю это повторять, не думать о безопасности дешево и просто.
Вот еще одно интересное исследование по теме 2009 года, с техническими деталями. Судя по всему, на уязвимость карт (не считывателей) указывали еще в 1992 году, но тогда предлагалось саму карту то ли разобрать, то ли пропустить через рентген. Для этого ее надо, например, отобрать у владельца. А сейчас все решается платкой размером с монетку. Однако, прогресс!
Неуязвимость в Microsoft. Тонкости работы Windows Server Update Services в компаниях
Новость на Threatpost. Оригинальный whitepaper исследователей.
Система Windows Server Update Services позволяет большим компаниям централизованно устанавливать обновления на парк компьютеров, используя для раздачи внутренний сервер вместо внешнего. И это очень надежная и достаточно защищенная система. Во-первых, все обновления должны быть подписаны Microsoft. Во-вторых, общение между корпоративным сервером обновлений и сервером вендора ведется в зашифрованном виде с использованием протокола SSL.
И это довольно простая система. Список апдейтов сервер компании получает в виде файла в формате XML, где, собственно, и прописано, что где качать и как обновлять. И вот это первоначальное взаимодействие, как оказалось, производится открытым текстом. Точнее, не так. Оно должно шифроваться (ключевое слово — «должно»), и при развертывании WSUS администратору настоятельно рекомендуется включить шифрование. Но по умолчанию оно выключено.
Это не то чтобы ужас-ужас — так просто подменить «инструкции» не получится, но если у атакующего уже есть возможность перехвата трафика (man-in-the-middle уже состоялся), то это возможно. Исследователи Пол Стоун (Paul Stone) и Алекс Чэпмен (Alex Chapman) выяснили, что подмена инструкций позволяет запустить на обновляемой системе произвольный код с высокими привилегиями.
Нет, проверка на наличие цифрового сертификата Microsoft все равно производится, но принимается любой сертификат компании. Например, можно протащить таким образом утилиту PsExec из набора SysInternals, а с ее помощью уже запускать все что угодно.
Почему вообще так получается? Дело в том, что включение SSL при развертывании WSUS нельзя автоматизировать — нужно генерировать сертификат. Причем, как отмечают исследователи, Microsoft в этом случае и сделать-то ничего не может, кроме как настоятельно рекомендовать включение SSL. То есть получается, что уязвимость как бы есть, но ее как бы и нет. И сделать ничего нельзя. Да еще и никто, кроме админа, не виноват.
One of our weaker advertising campaigns for Windows: pic.twitter.com/Fon5IvBFnP
— Mark Russinovich (@markrussinovich) August 12, 2015
Кстати, обнаруженное «Лабораторией Касперского» кибершпионское ПО Flame также использовало для заражения систему обновлений Windows, хотя и по-другому: с помощью подставного прокси перехватывались запросы к серверу Microsoft и в ответ отдавались немного не те файлы, часть из которых даже была подписана сертификатами вендора.
Реверс-инжиниринг и боль
Новость на Threatpost. Исходный пост CSO Oracle (кэш гугла, альтернативная копия — интернеты не забудут своих героев).
Выше процитированы две презентации на конференции Black Hat, и объединяет их то, что авторы этих исследований, эксперты по безопасности, обнаружили какую-то уязвимость в технологии или продукте, который разрабатывает кто-то другой. И обнародовали, а в случае с BLEKey еще и выложили весь код и железо в открытый доступ. Это в общем-то является стандартным взаимодействием security-сообщества с окружающим миром, но далеко не всем такой расклад нравится.
Принципиально воздержусь здесь от оценок, скажу лишь, что это очень деликатная тема. Можно ли анализировать чужой код и на каких условиях? Как раскрывать информацию об уязвимостях так, чтобы не навредить? Можно ли платить за найденные дыры? Законодательные ограничения, Уголовный кодекс, неписаные правила индустрии — все это влияет.
Эффект слона в посудной лавке произвел недавний пост директора по безопасности компании Oracle Мэри Энн Дэвидсон (Mary Ann Davidson). Озаглавленный (неточный перевод с английского) «На самом деле нет, вы не можете», он практически целиком обращен к клиентам компании (а не к индустрии в целом), которые присылают информацию о найденных в продуктах вендора уязвимостях.
Цитировать пост, опубликованный в блоге Oracle 10 августа, можно абзацами, но вот главное: если клиент не мог получить информацию об уязвимости иначе как с помощью реверс-инжиниринга, то клиент нарушает лицензионное соглашение, а это нехорошо.
Цитата:
Клиент не может проанализировать весь код и убедиться в том, что есть алгоритм, блокирующий потенциальную атаку, о которой ему сообщает какой-то сканер… Клиент не может создать патч для решения проблемы — только вендор может. Клиент абсолютно точно нарушает лицензионное соглашение, используя утилиту для статического анализа.
Реакция общественности выглядела примерно так:
https://twitter.com/nicboul/status/631183093580341248
Или так:
Adobe, Microsoft Push Patches, Oracle Drops Drama http://t.co/XN4Tpb9RXw #oraclefanfic
— briankrebs (@briankrebs) August 12, 2015
Или даже так:
Don't look for vulns. Fuck bug bounties. We won't even credit you. https://t.co/VgCrjGYx1j An @oracle love letter to the security community.
— Morgan Marquis-Boire (@headhntr) August 11, 2015
Короче, пост провисел не больше суток, был удален по причине «несоответствия [официальным] взглядам на взаимодействие с клиентами» (но Интернет все помнит). Напомню, что Oracle разрабатывает Java, уязвимости в которой не эксплуатирует только ленивый. Три года назад мы посчитали количество уязвимостей в Java за 12 месяцев и нашли 160 (!) штук. Возможно, в идеальном мире искать и закрывать уязвимости в ПО действительно должен только разработчик софта. В реальном мире не получается ли иногда так, что ответственные за это люди работают по схеме «пчелы против меда»?
А вот взгляд с другой стороны. На прошлой неделе основатель той самой Black Hat Джефф Мосс (Jeff Moss) высказался на предмет ответственности разработчиков софта за дыры в нем. Мол, пора вычеркнуть из EULA все эти строчки про то, что компания клиентам ничем не обязана. Заявление интересное, но не менее претенциозное, чем «давайте запретим дизассемблер». Пока ясно лишь то, что пользователи (корпоративные и простые), вендоры и исследователи если и смогут договориться между собой, то явно не с помощью громких заявлений и шуток в твиттере.
Что еще произошло:
Еще одна презентация с Black Hat про взлом ридера пластиковых карт Square Reader — ну той штуки, которая подключается к смартфону, и через нее вы оплачиваете курьеру доставку суши. Требуется паяльник.
В ноутбуках Lenovo (не во всех, но в некоторых) опять нашли руткит от вендора. Предыдущая история.
Древности:
Резидентные вирусы стандартно записываются в конец COM-файлов (кроме «Small-114, -118, -122», эти — в начало) при загрузке файлов в память. Большинство из вирусов семейства используют команды POPA и PUSHA процессоров 80×86. «Small-132, -149» некорректно заражают некоторые файлы. Принадлежат различным авторам. Видимо, появление семейства «Small» можно рассматривать как конкурс на самый короткий резидентный вирус для MS-DOS. Осталось только решить вопрос о размере призового фонда.
Цитата из книги «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страница 45.
Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.