Как HP клавиатурный шпион с ноутбуками поставляла

Технологии
автор: Евгений Золотов  16 мая 2017

Пока популярные СМИ обсуждают эпидемию очередной ransomware-заразы — случившейся на этот раз вследствие утекших у спецслужб секретов, надо же! — в более узких профессиональных кругах раскручивается более тихая, но и куда более интересная, если по справедливости, история. Я говорю о скандале с кейлогером, обнаруженным в официальном драйвере, предустанавливавшемся более чем в двух дюжинах ноутбуков HP на протяжении минимум последнего года. Тут тоже вовлечена MS Windows, но в данном случае интересны другие аспекты. Впрочем, давайте по порядку.

Сейчас, когда детали головоломки собраны, интересно проследить, как всё начиналось. А началась эта история ещё прошлой осенью, а может быть и раньше, когда на форумах появились первые сообщения о том, что некоторые ноутбуки HP ведут себя, скажем так, странным образом. Вот, к примеру, пост, датированный октябрём 2016-го: владелец HP Envy, укомплектованного по последнему слову техники (Core 7, Windows 10 и т.п.), сообщает о проблеме непонятного свойства. Как только пользователь начинает набирать текст, система активно «шуршит» жёстким диском. Звук обращения к винчестеру, конечно, не слышен (стоит SSD), но загрузка процессора столь значительна, что текст появляется на экране с задержкой!

После обсуждения на форуме Microsoft и некоторых самостоятельных изысканий, автор локализовал проблему: виновен системный процесс MicTray64. Если удалить его из памяти, машина начинает работать нормально, однако остаются сомнения, не приведёт ли такое вмешательство к негативным последствиям для системы в целом. Узнать наверняка, для чего MicTray64 нужен, тогда так и не удалось.

И вплоть до апреля 2017-го загадка эта оставалась неразгаданной. Предполагали и баги, и взлом, пока в конце концов ответ не нашли специалисты швейцарской конторы Modzero, занимающейся анализом компьютерной безопасности. Они проанализировали загадочный процесс и установили, что это не что иное, как клавиатурный шпион, стартующий во время загрузки системы. Перехваченные клавиши он пишет в файл \Users\Public\MicTray.log, который стирается после каждого логина, зато доступен всем пользователям. Другая интересная деталь: «родителем» для него является аудиодрайвер Conexant, что совсем уж из ряда вон. Ну для чего звуковой карте следить за клавиатурой?

Информацию о своей находке Modzero первым делом передала в HP, точнее, в одно из подразделений этой гигантской корпорации. Где началась обычная для таких случаев волокита: сотрудники одного отделения, безопасностью не занимающиеся, попытались связаться с сотрудниками другого, и это отнимало драгоценные дни и даже недели. Лишь на днях HP подтвердила, что проблема имеет место быть, выпустила патч, удаляющий кейлогер, а также заявила, что не имела доступа к собиравшимся данным и что сам кейлогер использовался на этапе отладки и попал в релиз ненамеренно.

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

Что мы имеем? На протяжении года или более (ибо проблеме точно подвержены и модели 2015-го года выпуска) в львиной доле новых ноутбуков одного из самых востребованных производителей PC (в прошлом году компания поставила практически каждую пятую персоналку на мировом рынке, уступив слегка лишь Lenovo) работала автоматическая утилита, писавшая все прикосновения к клавиатуре в локальный файл. Да, сама она ничего никуда не отправляла, зато сильно облегчала задачу слежки за пользователями всем, кто только мог этого желать.

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

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

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

Таким образом сейчас всё упирается в вопрос: имел ли кто-то со стороны доступ к логу клавиатурного шпиона? Конечно, можно закрыть глаза и рискнуть сказать «нет», но… Когда на протяжении года в десятках миллионов машин (а речь минимум о 20 млн. ноутбуков) зияет дыра, воспользоваться которой, теоретически, может даже браузерный скрипт, полагаться на удачу — плохая идея. Намного менее удобные уязвимости эксплуатируются мошенниками, хулиганами, ворами и спецслужбами. И правильным в данной ситуации будет предполагать худшее: о кейлогере в аудиодрайвере ноутбуков HP некоторые знали и этим втихую пользовались.

Предлагая решение, боюсь показаться скучным: оно такое же, как и пять, и десять, и пятнадцать лет назад. Особенно корпоративным пользователям и по крайней мере в том, что касается системных вопросов, нужно переходить на свободный софт. Да, open source не без своих проблем и сложностей, но конкретно эта угроза в нём устранена, она органически со свободным софтом несовместима: тут нет невнимательных одиночек-разработчиков, способных нагадить миллионам человек. Кейлогер в аудиодрайвере, тормозящий работу всей системы, был бы обнаружен и устранён задолго до того, как он смог бы навредить сообществу. Скучно? Может быть. Зато эффективно и безопасно.

P.S. В статье использованы графические работы Johan Arwidmark, Christoph Scholz.

Поделиться
Поделиться
Tweet
Google
 
Читайте также
Заплати и спи спокойно? Кибервымогательство — уже не шутка
Заплати и спи спокойно? Кибервымогательство — уже не шутка
Вирус для монитора
Вирус для монитора
Ребёнок, знай своё место! Но правда ли нужно следить за детьми?
Ребёнок, знай своё место! Но правда ли нужно следить за детьми?
  • Вот попробовал этот самый «опен-сорс» (и все пробую и пробую…): пришлось для Ubuntu ставить дополнительное приложение (!) для «traceroute». Мало того, оно, оказывается, выводит текст на экран само (какими-то системными вызовами?), а не при помощи потока (попытка поставить «канализацию» вывода в файл ни к чему не привела).
    Комп с «опен-сорсом» на столе гика — защищен. Компы в большой конторе, или в огромном количестве маленьких конторок будут также беззащитны, как и сейчас «винтел-системы»: нужность и последовательность установки патчей не станет предметом аккуратного, безфлудового, негикометрического процесса (глубоко личное мнение — видал я «линуксоидов»).

    • Не совсем понятно, что вас удивило в необходимости установки traceroute. Это ПО мало того что нужно не всем, так еще и существует пучок реализаций. Мне вот mtr больше нравится. Впрочем, так же непонятно что у вас за проблемы с выводом в файл от отдельного traceroute из одноименного пакета — у меня чудесно работает > как и обычно. Может не в тот канал лезет? Тогда 2>&1
      И да — комп с OpenSource на столе мелкой конторы так же будет защищен, просто из-за модели разработки и распостранения ПО, а так же из-за исторических особенностей NIX-систем — достаточно посмотреть на Mac OS.

      • Ну вот если в самом коде OpenSource есть ошибка, например, то же переполнение буфера (https://habrahabr.ru/post/160337/), как быстро его можно устранить на всех системах с данной ОС?
        (Ну, трассировка маршрута — обычное дело, если что-то не так с сетью. Не каждому надо, согласен, это как вопрос знакомого, помогающего с ремонтом — «а ключ на 17 есть?»)

        • Если мы отбросим тот факт, что дыр меньше, то ситуация выглядит так: как правило исправление безопасности выходит в течении часов с момента обнаружения, с такой же скоростью адаптируется дистро-строителями, а далее всё как с обновлениями Windows — зависит от того как часто конкретный пользователь обновляет свою систему. У ОС серверного класса есть специальный канал обновления в котором только латаются дырки и часто он ставится автоматически не глядя потому что как правило ничего не ломает (аналог критических обновлений windows). Но конечно есть те, кто мало что обновляет, или делает от случая к случаю.
          От Windows принципиально отличается парой важных фактов:
          1) Всё ПО (за малозначительными исключениями в виде бинарных дров nvidia) устанавливается через централизованные репозитории, «официальные» или не очень. Таже закрытая Java — ставится централизованно. И если в мире windows мы говорим только о патчах от самой МС, то в мире Linux так патчится ВСЁ ПО.
          2) В мире открытого ПО разработчики очень трепетно относятся к найденным угрозам, и ситуация когда некий «белый хакер» нашедший дырку годами пытается доказать производителю ПО её важность и критичность (а то и избежать преследования в судах) — неслыханна. Да и даже если проект «умер» всегда можно его пропатчить и распостранить исправления.

          Вот например вам троян в BIOS, классика жанра из серии «это не мы, оно не важно и вообще такого не может быть»: https://semiaccurate.com/2017/05/01/remote-security-exploit-2008-intel-platforms/

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

          Traceroute я почти не использую, в большинстве ситуаций он бесполезен. В системе есть ping & netcat которых достаточно. Мне удобнее telnet но как и в windows его надо ставить отдельно, и если есть возможность я так и делаю.

          • JP

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

          • > но, потр@хавшись хорошенько с установками того же nvideo драйвера
            А вы думаете я зря некий Линус испытывает к ней такие трепетные чувства?
            https://www.youtube.com/watch?v=_36yNWw_07g

          • Спасибо.
            Traceroute нужен для проверки сети, в том числе даже для контроля провайдера, специфика :)

          • Вот в таких случаях мне чаще помогал MTR, в котором можно видеть как маршрут целиком так и где именно и какие потери.

          • Понял. Учу матчасть.

    • Илья Шпаньков

      Так вы перепутали. Вы пробовали Open Source, а надо было Free Software :-)

      А если серьёзно, то Ubuntu хоть и самый популярный дистрибутив, но далеко не самый качественный.

  • Олег Борисов

    Практически 100%, но довольно дорогой способ контролировать все рабочие станции в офисе — перевод офиса на бездисковые станции и работа с образом на терминале.

    • Victor Man

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

  • triod pentod

    ноутбуки надо всегда брать без операционки вообще.
    и затем уже ставить себе свой любимый вариант OS.
    и потом я никогда лично не видел чтобы предустановленная OS
    была установлена правильно, её всегда криво устанавливают
    на неправильно разбитый диск, достаточно посмотреть на этот
    диск в ParagonHDM или в GParted.

    • Саша Про

      Как-то рассмешило разбиение диска на системный раздел (90%) и остальное, типа — «данные» :) И какая-нибудь «Леново Изи Капча», уй!

    • riy

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

      Что касается долговременного нытья автора про свободный софт — то это может быть либо глубокое ИМХО, либо реклама, но никак не объективные данные. Ибо так же в точности, как и Винда, Линуксы используются в качестве предустановленных систем на множестве ноутбуков. И в точности так же, как и в Винду, в Линукс можно установить любое ПО, в т.ч. и кейлоггер, и вирус.

      Так что статья интересная, а вот выводы, как обычно у Евгения, далеко не очевидны.

  • Victor Man

    почему-то автор не стал рассказывать про аналогичную закладку в ноутбуках Lenovo. Точно такой же клавиатурный шпион у них. Установкой чистой Windows вопрос не решается, так как всё равно приходится ставить фирменные драйверы. А от туда он, родимый, селится в систему. Честно говоря меня ломает разбираться с чем он у меня грузится, с конексантом, с повер-менеджером или с менеджером горячих клавиш. Я тупо забил.

Хостинг "ИТ-ГРАД"
© ООО "Компьютерра-Онлайн", 1997-2017
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.
«Партнер Рамблера» Почта защищена сервером "СПАМОРЕЗ" Хостинг "Fornex"