Просмотров: 6395

Принтер, как источник угрозы. Часть 3


Сетевые принтеры и МФУ, какие проблемы безопасности и приватности они порождают, как их следует защищать и настраивать? — продолжаем ранее начатый разговор.

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

Во-первых, подобный тип атаки на принтерную технику сейчас очень сложно обнаружить или как-то автоматически предотвратить: нет никакого специализированного антивируса для принтеров или встроенных средств контроля за его безопасностью, а после того как его прошивка будет всё-таки скрытно заменена, о новых возможностях его владельцу можно будет только догадываться. Во-вторых, к сетевым принтерам и МФУ как правило наблюдается очень легкомысленное отношение со стороны системных администраторов, их по долгу службы сопровождающих. Сисадмины могут очень внимательно следить за состоянием серверов, анализировать и выявлять опасные подключения к рабочим станциям, но сетевой принтер... он как правило предоставлен сам себе, после того как был включен и единожды настроен для работы в локальной сети организации.

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

HP printer принтер угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

Дело о желтых точках

Распространенная и малоосозноваемая большинством проблема с принтерами — сложности с приватностью и потенциальные возможности для слежения за их владельцами, как правило, с помощью специальной скрытой маркировки всех распечатанных документов почти невидимыми желтыми точками.

Несмотря на то, что это явление скрытой маркировки получило общепризнанное название «маркировка желтыми точками» (yellow tracking dots) или Printer steganography, не нужно понимать это буквально — хотя микроскопические желтые точки, безусловно, иногда встречаются, чаще всего могут использоваться и другие технологии для скрытой идентификации путем привязки конкретных характеристик каждому отпечатанному листу бумаги. Это могут быть неразличимые без специальной подготовки и оборудования особенности печати букв (шрифтов), неочевидные закономерности минимального изменения тонов определенного цвета (белого-черного) и так далее и тому подобное (c некоторыми современными подходами, используемыми для подобных целей можно ознакомиться в данной работе).

маркировка желтыми точками yellow tracking dots скрытые метки на печати точки контроль слежка государства принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

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

Но, одно дело, когда такой дополнительной маркировке подвергаются, например, деньги (очень часто те же 100 долларовые купюры являются переносчиком различных потайных месседжей выполненных по такой технологии и им подобным, например с помощью дополнительных ИК-меток и магнитных меток; их инициаторами могут являться как крупные банки, так и различных преступные группировки, например японские якудза метят таким образом почти все деньги проходящие через них), и совсем другое дело, когда подобная технология применяется скрытно от вас на вашем же собственном принтере!

Так, массовое исследование специалистами принтеров самых разных производителей на предмет применения подобных скрытых техник, которая провела известная независимая организация Electronic Frontier Foundation (EFF), утверждает, что в наши дни подобная маркировка используется буквально повсеместно — из более 200 проверенных современных принтеров, только у 31 из них не использовались методы скрытой маркировки печати.

маркировка желтыми точками yellow tracking dots скрытые метки на печати точки контроль слежка государства принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

В качестве второго удачного примера борьбы с этим явлением можно привести общественную компанию Seeing Yellow Campaign проводимую на Западе, где каждый владелец (покупатель) принтера получает бесплатную техническую и юридическую консультацию: как он может обнаружить скрытые маркеры, а также легально бороться с производителем такого принтера.

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

Когда лекарство хуже болезни

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

Очень простая процедура с постановкой удаленной печати (пример чего описан в прошлой части статьи) сформированная определенным образом с включением операционных кодов принтера, приводит к загрузке принтером новой прошивки, что и было продемонстрировано исследователями из Колумбийского Университета.

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

Безусловно, оборудование, которое может работать исключительно с подписанным кодом теоретически достаточно безопасно, но тут важное дополнение — только в том случае, если у самого владельца этого принтера есть хоть какое-то право решать, какие подписи принимать, а какие — нет.

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

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

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

Инцидент «Климатгейт» и проблемы «безопасности по умолчанию»
В ноябре 2009 года был взломан центральный сервер научного центра Climatic Research Unit (CRU). Этот скандал широко освещался в мировой прессе и даже получил громкое название «климатгейт» (Climategate), так как были опубликованы похищенные сенсационные сведения о многочисленных подтасовках научных данных связанных с теорией «глобального потепления». В данном случае нас интересует техническая сторона этого взлома, о которой до сих пор известно очень немногое. В прессе озвучиваются лишь два факта: во-первых, этот инцидент по ряду косвенных признаков имеет «российский след», а во-вторых, первичным вектором атаки, через который и был получен доступ к хорошо защищенной локальной сети научного центра — был взлом служебного МФУ.

Впрочем, было бы ошибкой как-то отдельно выделять сетевые принтеры/МФУ как какую-то особенно опасную категорию офисной техники. Так компания Zscaler Labs в ходе многомесячного сканирования сети установила огромное количество свободно доступных через интернет и никак незащищённых от посторонних лиц сетевых сканеров, копировальных машин, DSL-концентраторов, сетевых устройств хранения данных и самых разных систем VoIP-телефонии, доступ к которым в самом лучшем случае был защищен стандартным заводским паролем.

Баррикадируемся изнутри

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

Все-таки большинство подобных успешных атак срабатывают по одной и банальной причине: у подавляющего большинства из них пароль отключен или установлен в значение по умолчанию. Но, даже, несмотря на возможность его установки, стоит иметь ввиду, что большинство сетевых принтеров не поддерживают шифрование ни в каком виде, поэтому при администраторском доступе как через telnet, так и http-протоколы пароль может быть подслушан или перехвачен с помощью таких инструментов как Ettercap, Cain, Dsniff и тому подобных.

Второй оправданный шаг — это настройка сетевой фильтрации, осуществить которую можно на стороне самого принтера за счет настройки его списка доступа (IP ACLs, Access Control Lists). Эта функциональность сейчас присутствует практически в любом современном сетевом принтере, и, несмотря на то, что синтаксис главной команды acl allow: ip на разных принтерах может незначительно отличаться, сама суть этих команд-аналогов везде практически одинакова.

В большинстве случаев для подобной настройки можно использовать и web-интерфейс, но ниже хочу продемонстрировать сеанс настройки через telnet:

igor@corelink# telnet 168.188.1.12
Trying 168.188.1.12...
HP JetDirect
Password:my_pass
Please type "?" for HELP, or "/" for current settings
> allow:0
> quit
igor@corelink# telnet 168.188.1.12
Trying 168.188.1.12...
HP JetDirect
Password:my_pass
Please type "?" for HELP, or "/" for current settings
> allow:168.188.18.57
> allow:168.188.21.0 255.255.255.0
> allow:list
Access Control List:
IP: 168.188.19.56 Mask: 255.255.255.255
IP: 168.188.20.0 Mask: 255.255.255.0
> quit
Connection closed by foreign host.

Давайте прокомментируем все действия в сеансе. В первом подключении я сбросил все предыдущие настройки. Во время второго подключения я запретил доступ сначала с одного определенного адреса, а затем из диапазона адресов, после чего для контроля вывел весь текущий список доступа к данному принтеру.

Конечно, можно и нужно запрещать в дополнение к этим настройкам доступ к вашей внутренней офисной технике со стороны большого интернета на уровне шлюза вашей сети, но при этом не нужно пренебрегать созданием персонального разрешенного списка доступа на каждом отдельном сетевом принтере средствами IP ACLs , так как всё-таки фильтрующая функциональность стандартно настроенного брандмаера иногда можно обойти различными методами, а вот обойти ACL-правила самого принтера будет на порядок сложнее: чтобы подсунуть такому принтеру специальные зловредные задания, придётся воспользоваться гораздо более сложными техниками (например, применить ARP-poisoning).

FTP-сервис: не гарантийный случай

Я вынужден постоянно ссылаться на первую часть статьи, так все описываемые сегодня методы являются логическим продолжением ранее описанных, и могут быть поняты неправильно без предварительных пояснений. Мы уже описывали очень простые, но чрезвычайно эффективные методы DDoS-атак на принтеры и МФУ, но описанные ранее подходы не единственно возможные.

Например, достаточно болезненный метод, когда инициируется начало удаленного обновления прошивки, а после этого эта процедура умышленно обрывается сразу после её запуска. Такой принтер будет совершенно не работоспособен, пока вы не проявите свою природную любознательность и настойчивость, и не найдете способ как самостоятельно восстановить прошивку. Учитывая отсутствие у большинства моделей пароля для процедуры обновления прошивки в принципе, это может безвозмездно для вас сделать любой доброжелатель, который успеет добраться до вашего принтера, если вы раньше не разберетесь с политикой безопасности в вашей сети.

Хотелось бы дать важное пояснение: некоторые международные компании-производители принтеров отрицают возможность удаленной перепрошивки их устройств, в том же самое время в языке PJL всё-таки содержится недокументированная функция remote firmware update (RFU). И хотя некоторые диалекты PJL действительно не поддерживают команду RFU, в процентном исчислении — это скорее исключение из правила

Кроме «силовых» DDoS-атак (с распечатыванием содержимого винчестера, как это было показано на примере ранее), также очень эффективны атаки на удержание, суть которых сводится к тому, что очень многие модели МФУ (если не большинство), обладают той странной особенностью, что после подключения к ним по telnet (как это было описано выше) и удержании такой сессии активной, принтер будет одновременно не в состоянии обрабатывать текущую очередь печати. То есть внешне он будет скорее мертв, чем жив, что обусловлено отсутствием даже минимальной многозадачности в софтверной конструкции его прошивки.

Кроме того, как я уже говорил многократно, современные принтеры являются носителями многочисленных встроенных сервисов, таких например как ftp, web, SMB, SNMP и так далее. При этом основная проблема, что часто программная реализация этих сервисов выполнена чрезвычайно примитивно, то есть они стабильно (я бы даже сказал — надежно) подвержены различным fuzzing-атакам. Для большей конкретики предлагаю скачать и применить какой-нибудь FTP Fuzzer для тестирования надежности реализации сервиса FTP на вашей модели принтера.

FTP Fuzzer фаззинг  принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити
FTP Fuzzer в процессе работы...

Обещаю, вы будете очень удивлены: в большинстве случаев вскрывается огромное количество примеров переполнения буфера (buffer overflow) при работе подобного сканера.

Самый простейший вариант FTP Fuzzer входит в состав популярного хакерского пакета Metasploit, но лично мне больше нравятся 4n FTP Fuzzer и Infigo FTPStress Fuzzer, азы их использования можно почитать здесь). Также очень показательно, но модель сетевого принтера с которым проводилось вышеуказанное тестирование, и известную марку которой я бы не хотел здесь «рекламировать», содержит «на своем борту» версию реализации ftp-сервера выполненную ещё в далеком «предперестроечном» 1980 году, хотя сам этот сетевой принтер был произведен в 2010 году.

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

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

~

Читать этот материал дальше. Оглавление и начало этой серии статей — здесь.

Игорь Савчук ©  Системный Администратор, 2012
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , , ,
Эта запись опубликована: Четверг, 2 августа 2012 в рубрике Обзоры.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз