Мир, полный слежки
В общем-то, ничего нового... Ассанж, Сноуден... Всё те же темы... Полный доступ спецслужб ко всем крупным общественным сервисам...
В народе бытует шутка "Одноклассники - самая большая база данных ФСБ". И она никого не удивляет...
Но недавно до меня начало доходить куда более страшное....
В статье обсуждалась возможность встраивания "жучков" в компиляторы ПО - это позволило бы сделать "трояном" абсолютно любой код, даже тот, что вы сами написали :-)
Но в той же статье упоминалась идея встраивания таких "троянов" в управляющий микрокод оборудования, который де-факто, и де-юре как правило закрыт абсолютно для всех, кроме разработчиков самих процессоров и контроллеров.
У меня мысль полетела дальше - а что если абсолютно все компании в мире, занимающиеся выпуском микросхем, уже давно под контролем спецслужб, и в каждом, абсолютно каждом чипе есть кусок кода, который отвечает за беспрепятственный доступ к вашему оборудованию?
Производителей процессоров и микроконтроллеров гораздо меньше, чем производителей техники или производителей ПО. Intel, AMD, Qualcomm, Samsung, Marvel, Broadcom.... Конечно, список не полный, но он бесследно затеряется на фоне списка всех, кто эти чипы использует в оборудовании, и кто пишет ПО под это оборудование.
Представьте себе картину: У вас сеть, несколько серверов, вынесенных в ДМЗ, на границе с интернетом - файрволл + IPS/IDS + система, логгирующая весь траффик. То же самое на границе ДМЗ с вашей сетью...
Некая спецслужба хочет почитать ваши документы.
С вашего компьютера или с сервера в ДМЗ. На ваш внешний IP приходит некий "волшебный пакет". Да, у вас настроен файрволл, и ничего лишнего пропустить не должно...но! Управляющий процессор вашей {Cisco|Juniper|комп-с-линуксом|комп-с-виндой|что-там-у-вас-еще-может-быть-файрволлом} запрограммирован:
- пропускать такие пакеты
- не передавать драйверу сетевого адаптера данные об этих пакетах (а это значит - вы не увидите этот пакет в netflow или в какой-либо статистике, и ни один счетчик не дрогнет...)
- сообщать все сведения о известной ему топологии данного устройства
- выполнять какие-то действия (а любые, тут как фантазия разработчиков микрокода разгуляется)
Итак, пакет зашел в сеть, пнув дверь ногой... Потому что вся ваша защита даже и не думала, что оборудование, на котором она работает, запрограммирована пропускать определенные атаки..
Думаю, додумать весь остальной путь этого пакета, и других управляющих/уточняющих/координирующих пакетов несложно...
Они доберуться до нужного компа.
Контроллер сетевой карты "не заметит" никакого трафика - не скажет о нём ничего драйверу, сам передаст данные по шине, эти данные увидит микрокод в мосте или в центральном процессоре, отработает нужную программу, найдёт нужное ПО, заставит его выполнить необходимые действия по шифровке/дешифровке (даже может подождать ввода пользователя, когда тот соберется в очередной раз открывать контейнер TrueCrypt, например) и т.п. и т.д.
Процессор выполнит те инструкции, которые заложены в него производителем (или которые ему пришлют вместе с "волшебным пакетом"), и плевать он хотел на то, что должен выполнять по мнению ОС.
Да, мир opensource думает, что все ПО открыто, проверяемо, и надежно. Но даже компилятор "с трояном" может в корне изменить ситуацию. А представьте себе, что может натворить группа процессоров/контроллеров, чьи действия вообще никакое ПО не в состоянии контролировать/проверять? С учетом размеров современных модулей памяти - в десктопный центральный процессор можно запихать целый компьютер, со сложной ОС, с парой гигабайт постоянной памяти, который будет анализировать и изменять любой код, который вы думаете, что вы на нём исполняете...
Я уже молчу про проприетарное ПО - если оно промышленных масштабов - как Windows или AIX, или HP-UX - там вообще может быть предусмотрен сторонний доступ ко всему и всегда и везде.
Я уже молчу про изначально закрытые платформы - сотовые телефоны, телефонные станции.. Ведь никого не удивляет мысль "спецслужбы могут в любой момент включить микрофон вашего сотового телефона и записать звук окружающей обстановки"? (даже если в реальности это байка - ничего сложного в реализации ведь нет!). Так почему вас удивляет мысль, что ваша сетевая карта помогает сотруднику спецслужб обойти ваш файрволл, а ваш процессор ищет у вас на диске документы без вашего ведома? Если он может выполнять ваш код - он может выполнять и любой другой код, в том числе присланный ему через десятки систем защит, которые помогли обойти "специально обученные" контроллеры сетевого оборудования....
Вообще-то, вся статья - плод моей фантазии и паранойи... Надеюсь, что за мной не "выехали" :-D
Но чем больше я думаю на эту тему - тем меньше я хочу жить в цифровом мире....