Уязвимости и дыры

Алексей Комолов (С.-Петербург)

Восемь символов, которые убивают любую программу OS X

Во встроенном модуле валидации форматов данных операционной системы OS X обнаружился забавный баг. Если написать в любом приложении OS X восемь символов “File:///», то программа падает. Баг распространяется и на текстовый редактор, и на консоль, если попробовать из консоли открыть файл с краш-репортом. Более того, рушится даже сама программа Crash Reporter UI, если вы попытаетесь отправить в Apple сообщение о баге.

Как сказано выше, баг присутствует во встроенном модуле проверки форматов данных операционной системы OS X, начиная с версии OS X Mountain Lion, включая самую последнюю бету. Соответственно, нештатное поведение присутствует во всех программах, которые используют этот модуль. Это все нативные приложения OS X, а также многие сторонние программы, в том числе браузер Google Chrome.

Кроме заветной комбинации “File:///”, падение можно спроворцировать комбинациями типа «File://a» или «File://aa», или с другими символами, если набирать быстро или медленно, но здесь результат не гарантирован. Люди продолжают эксперименты.

Одно из наиболее достоверных объяснений гласит, что баг связан с механизмом автоматического определения форматов checkDataDetectors. Модуль checkDataDetectors извлекает из текста все URL’ы файлов по схеме file:// и передает их для обработки в DDResultCopyExtractURL. Там осуществляется валидация URL’в, а в случае “File:///» и тому подобных строк выдается исключение NSInternalInconsistencyException. Из-за него и рушится любая программа, потому что это исключение никак не обрабатывается.

Разница во времени падения программы связана с тем, что модуль NSSpellCheckerCheckString срабатывает не сразу, а через определенную паузу после окончания ввода символов.

Чтобы избавиться от бага при вводе символов с клавиатуры, можно зайти в настройки System Preferences > Language & Text > Text и убрать птички с пунктов Correct spelling automatically и Use symbol and text substitution. Однако, модуль checkDataDetectors все равно будет срабатывать при открытии других файлов, что открывает некоторые возможности по написанию эксплойтов для OS X, в том числе с запуском собственного шелл-кода.

Есть возможности и для троллинга пользователей OS X, которые еще не в курсе проблемы.

Серьезная уязвимость в почтовой системе Yahoo

Вслед за резонансными взломами The Wall Street Journal, The New York Times и Twitter, компания Yahoo признала, что ее почтовый сервис также мог быть взломан, а взломанные аккаунты использованы для рассылки спама. Сложно сказать, являются ли предыдущие взломы и взлом Yahoo связанными между собой, но цели последнего взлома, судя по всему, отличаются от ранее совершенных взломов.

Согласно информации антивирусной компании Bitdefender, в случае с Yahoo, хакеры использовали ряд уязвимостей в безопасности программного обеспечения почтового сервиса Yahoo и перехватывали сессионные файлы-cookie, что позволяло им захватить контроль над пользовательским интерфейсом и рассылать через него спам, используя также систему сокращения ссылок bit.ly. Изначально кампания была ориентирована на западных пользователей, так как использовала только мошеннические письма в стиле сообщений новостного сайта MSNBC, позже мошенники начали рассылать традиционные для таких кампаний предложения о домашнем заработке через интернет.

В Bitdefender говорят, что по их данным мошенники использовали для проведения атаки специальный код на JavaScript, который использовал XSS-уязвимость, впервые появившуюся в Yahoo Developer Network и связанную с передачей cookie. Ранее многие эксперты по сетевой безопаности неоднократно критиковали компании за использование сессионных cookie-файлов без соответствующего механизма защиты. Так, в случае с атакой имело место использования так называемых supercookie, то есть сессионных файлов, которые выдаются сервером при авторизации пользователя на двух и более разных порталах одного оператора. Как правило, такие файлы-идентификаторы связаны с поддоменами и выдаются основными доменами в отношении доменов более низкого уровня.

Подобная система организации логична и удобна, но лишь тогда, когда у оператора программное обеспечение, лишенное XSS-уязвимостей.

Так, в случае с Yahoo, использование файлов от developer.yahoo.com в некоторых случаях давало расширенный доступ к mail.yahoo.com, что является уязвимостью. Ранее нечто подобное было найдено во многопользовательской версии системы WordPress.

Уязвимость в TLS-протоколах позволяет получать доступ к данным пользователей

Профессор Лондонского университета Кенни Патерсон (Kenny Paterson) и академик Надхем Алфардан (Nadhem Alfardan) обнаружили новую уязвимость в TLS-протоколах. Эта ошибка, обнаруженная 4 января, может быть использована для получения доступа к паролям и другой конфиденциальной информации пользователей сайтов, использующих HTTPS-протокол.

Патерсон и Алфардан заявили, что могут осуществить MITM-атаку, расшифровав содержимое траффика. Уязвимость состоит в том, что при обмене сообщениями между web-сервером и браузером, требуется несколько микросекунд на их обработку. За это время злоумышленники могут перехватить информацию о передаваемых данных, а затем постепенно восстановить эти данные в незашифрованном виде.

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

Таким образом, необходимо повторно исследовать сервер с новыми соединениями, воспроизводя немного измененные версии оригинального зашифрованного сообщения, аналогично тому, как атаки проводились с помощью инструмента BEAST.

Патерсон сообщил, что код JavaScript, введенный в web-страницу, мог бы позволить провести новые исследования и расшифровать авторизационные cookie в течение двух часов. «TLS-протоколы оказались не такими пуленепробиваемыми, как мы думали» — добавил эксперт.

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

Эксперты сообщили, что в сотрудничестве с OpenSSL, Google и Oracle они нашли несколько возможных вариантов противодействия этим атакам.

Атаки совершаются на TLS-протоколы версий 1.1 или 1.2 и DTLS-протоколы версий 1.0 или 1.2. Все TLS и DTLS-протоколы, зашифрованные CBC, также являются потенциально уязвимыми. Эксперты тестировали атаки на OpenSSL и GnuTLS. Для OpenSS возможно полное восстановление текста зашифрованных данных, для GnuTLS – частичное. Блокирование атак может быть достигнуто путем добавления случайной задержки времени в расшифровке CBC или переключения на RC4 или AES-GCM.

Критическая уязвимость в маршрутизаторах D-Link

Исследователь информационной безопасности Майкл Месснер (Michael Messner) обнаружил критическую уязвимость в беспроводных маршрутизаторах компании D-Link (модели DIR-600 и DIR). Эксплуатация данных брешей позволяет удаленному пользователю скомпрометировать целевую систему.

Опасения эксперта вызывает тот факт, что для успешной эксплуатации уязвимости потенциальному злоумышленнику не нужно проходить процесс аутентификации.

Как выяснил Месснер, уязвимость существует из-за отсутствия ограничений доступа, а также проверки входных данных в параметре cmd в заводской прошивке (версии 2.14b01 и более ранние).

На момент публикации новости разработчики D-Link еще не выпустили исправления безопасности. В то же время, случаев эксплуатации уязвимостей вредоносным ПО зафиксировано не было.

Стоит напомнить, что недавно исследователи из компании Rapid7 обнаружили уязвимость в сетевом стандарте Universal Plug and Play (UPnP), используемом маршрутизаторами и другим сетевым оборудованием. По их словам, в число уязвимых продуктов вошли порядка 40-50 миллионов устройств, в том числе компании D-Link.

Adobe выпустила экстренное исправление для Flash Player

Adobe Systems выпустила экстренное исправление для Flash Player, в котором производитель устраняет две уязвимости, активно используемые для установки на пользовательские компьютеры вредоносного программного обеспечения на компьютеры Apple.

Хотя Flash Player подвержен лишь уязвимостям, связанным с операционными системами Windows и Mac, компания также выпустила и исправления для Linux- и Android-версий. В заявлении производителя говорится, что компания рекомендует установить исправление как можно скорее.

Пользователи Mac оказываются подвержены уязвимости, связанной с Flash Player, работающим с браузером Safari и Mozilla Firefox. Уязвимость, отмеченная как CVE-2013-0634 направлена на Windows и представляет собой эксплуатирование системного вызова Flash из Microsoft Word. В Adobe говорят, что обе уязвимости носят критический характер и должны быть закрыты как можно скорее.

При помощи специалистов из «Лаборатории Касперского», был обнаружен баг CVE-2013-0633б также касающийся того, как Flash обрабатывает мультимедийный контент.

Критическая уязвимость в устройствах с поддержкой UPnP от различных производителей

Опубликована детальная информация о сути недавно анонсированной критической уязвимости в беспроводных маршрутизаторах Cisco Linksys, которая позволяет из локальной сети получить доступ к устройству под пользователем root без проведения аутентификации. Уязвимость вызвана ошибкой в UPnP-стеке Broadcom и позволяет через специальный SOAP-запрос эксплуатировать ошибку форматирования строки и осуществить запись в произвольную область памяти и организовать выполнение своего кода с root-правами.

После более подробного изучения уязвимости было выявлено, что кроме Linksys проблеме подвержены и другие продукты с UPnP-стеком Broadcom, например, мини-маршрутизаторы и точки доступа Asus, TP-Link, Zyxel, D-Link, Netgear и US Robotics. По предварительной оценке в сети находится около 70 млн беспроводных маршрутизаторов, из которых примерно 15 млн подвержены указанной уязвимости. Кроме того, похожая проблема выявлена и на днях исправлена в открытой реализации UPnP — libupnp. Из реализаций UPnP не подверженных проблеме отмечается только MiniUPnP.

Примечательно, что компания Cisco была уведомлена о проблеме несколько месяцев назад, но исправление так и не было выпущено. В настоящее время все доступные версии прошивки Linksys уязвимы, как и большинство прошивок других устройств на базе чипов Broadcom. Проблему усугубляет то, что многие устройства принимают UPnP-запросы (UDP-порт 1900 и TCP-порт 2869) на WAN-интерфейсе, т.е. в этом случае не исключается проведение атаки злоумышленником из внешней сети.

 Критическая уязвимость в подсистеме ptrace ядра Linux

В ядре Linux обнаружена локальная уязвимость в подсистеме ptrace. Уже существует прототип эксплойта. Уязвимости присвоен номер CVE-2013-0871

Баг типа race condition (состояние гонки) — довольно типичная ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Такие баги довольно трудно принудительно вызвать, но это возможно. В данном случае желательно внесение небольшого изменения в ядро, упрощающего проявление эффекта гонки при вызове ptrace с параметром PTRACE_SETREGS.

Последствия возможной эксплуатации уязвимости еще до конца не изучены, но некоторые эксперты предполагают, что это самый опасный баг в ядре Linux за последние несколько лет. Для большинства дистрибутивов Linux ее можно считать уязвимостью нулевого дня, хотя в основной ветке ядра проблема исправлена почти месяц назад. Вообще, это интересная ситуация: выглядит так, словно автор эксплойта узнал об уязвимости именно из патча, внесенного в ядро месяц назад. То есть вместо дизассемблера хакеры теперь изучают историю коммитов Линуса.

Тем не менее, в основных дистрибутивах дыра все еще присутствует. Есть предположение, что уязвимость может затрагивать все основные дистрибутивы Linux как на платформе x86_64, так и на платформе x86_32.

В последнее время появляется все больше новостях об уязвимостях в ядре Linux, а также о вредоносных программах на Linux-серверах. Это дает возможность недоброжелателям выступать с не очень приятными заявлениями в адрес свободной ОС. Например, недавно компания Trustwave (партнер Microsoft) заявила, что уязвимости в ядре Linux остаются незакрытыми в среднем 857 дней, что вдвое больше, чем для уязвимостей в Windows (375 дней), хотя методология их исследования довольно сомнительная.

Скрипт-кидди сканируют SSH на нестандартных портах

Любой владелец сервера с работающим sshd-демоном знаком с бесконечными попытками неудачной аутентификации со стороны многочисленных ботов. Это совершенно не угрожает безопасности, особенно если вы используете аутентификацию по ключу, но подобные запросы от скрипт-кидди засоряют логи и очень надоедают.

Каждый решает проблему в меру своих возможностей. Кто-то просто игнорирует запросы от ботов как неизбежный сетевой шум, а кто-то использует программы для блокировки IP-адресов после нескольких попыток неудачной аутентификации. Для этого можно порекомендовать fail2ban.

Еще одним популярным трюком было перенести sshd-демон со стандартного порта 22 на какой-нибудь порт в верхней части 65536-диапазона в надежде хотя бы так избавиться от «мусора». К сожалению, этот метод перестал работать.

Специалисты по безопасности сообщают о случаях беспорядочного сканирования портов во всем диапазоне. Они говорят, что это вполне естественное развитие событий, а странно скорее то, что о таких случаях не сообщалось ранее. Вероятно, раньше такого не было, потому что не очень многие веб-мастера переносили SSH на нестандартные порты, а большинство из них не уделяло внимания логам. Но теперь «халява» закончилась, и поиск SSH с общеупотребительными паролями идет на всех портах.

Логи выглядят примерно так:

Feb 10 17:16:33 net5501 sshd[23679]: Invalid user alex from 66.133.188.86

Feb 10 17:18:32 net5501 sshd[20330]: Invalid user cactiuser from 66.133.188.86

Feb 10 17:20:31 net5501 sshd[19432]: Invalid user www-data from 66.133.188.86

Feb 10 17:24:28 net5501 sshd[29455]: Invalid user user from 66.133.188.86

Feb 10 17:26:27 net5501 sshd[82]: Invalid user tomcat from 66.133.188.86

Feb 10 17:28:26 net5501 sshd[31011]: Invalid user test from 66.133.188.86

Feb 10 17:30:25 net5501 sshd[20057]: Invalid user temp from 66.133.188.86

Feb 10 17:32:23 net5501 sshd[19848]: Invalid user service from 66.133.188.86

Feb 10 17:34:22 net5501 sshd[31209]: Invalid user samba from 66.133.188.86

Feb 10 17:38:20 net5501 sshd[12045]: Invalid user postgres from 66.133.188.86

Feb 10 17:40:20 net5501 sshd[1085]: Invalid user oracle from 66.133.188.86

Feb 10 17:42:19 net5501 sshd[12896]: Invalid user nagios from 66.133.188.86

Feb 10 17:44:19 net5501 sshd[10681]: Invalid user mysql from 66.133.188.86

Feb 10 17:46:19 net5501 sshd[27897]: Invalid user guest from 66.133.188.86

Feb 10 17:48:19 net5501 sshd[13400]: Invalid user tom from 66.133.188.86

Feb 10 17:50:18 net5501 sshd[5132]: Invalid user ftp from 66.133.188.86

Feb 10 17:54:15 net5501 sshd[28789]: Invalid user jboss from 66.133.188.86

Feb 10 17:56:14 net5501 sshd[20435]: Invalid user backup from 66.133.188.86

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>