Скрытые каналы

Одна из проблем, связанных с применением стеганографии, – ширина полосы пропускания. Легко скрыть несколько битов информации; спрятать целое сообщение электронной почты намного труднее. Рассмотрим пример совершенно разумного использования стеганографического канала передачи данных: Алиса и Боб должны обсудить, является ли некое отдельное действие «безопасным» или «угрожающим». Это один бит информации. Они регулярно обмениваются рецептами по электронной почте и договорились, что ключевая фраза «продублируй рецепт» будет индикатором сообщения. Если в послании сказано, что рецепт может быть продублирован, действие безопасно. Если же в нем говорится, что рецепт не может быть продублирован, соответствующее действие опасно. Любой рецепт без ключевой фразы не содержит скрытого сообщения.

Этот вид систем работает, поскольку секретное послание много-много меньше, чем скрывающее его сообщение, и в общем случае называется скрытым каналом (subliminalchannel) (похоже на тайный канал, описанный в главе 8). Скрытые каналы так же стары, как компьютеры, и всегда использовались недобросовестными программистами для «скачивания» информации без согласия пользователей. Представьте, что вы программист и делаете отчет по клиентам банка, и вы хотите запустить свои руки в картотеку индивидуальных номеров (PINs). Вас не уполномочили проверять реальные данные, но доверили вам написать код для получения отчета по базе, содержащей PINs. И вы можете посмотреть отчеты, которые были сделаны раньше. Программа создания отчета добавляет пробелы после данных каждого клиента, от 0 до 9, в соответствии с одной цифрой его PIN. Пусть теперь построитель отчета использует первую цифру в первый день, вторую цифру во второй день, и так далее, пока цикл не будет завершен и мы не возвратимся к первой цифре. Вот именно. Если программист сможет приложить руку к созданию электронного отчета в течение четырех дней, он справится с восстановлением всех индивидуальных номеров. (Действительно, он имеет четыре возможных варианта для каждого номера, в зависимости от того, какая цифра использовалась построителем отчета. Легко понять, что к чему.) Ни один из тех, кто будет смотреть отчеты, не увидит в них ничего злонамеренного, и пока они не проверят код, используемый для создания отчета (а как часто это случается?), никто не узнает, что индивидуальные номера раскрыты.

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

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

Вы можете организовать утечку всего что угодно. Индивидуальные номера – хороший пример. Другой пример – ключи шифрования. Создание устройства для шифрования, в котором информация о ключах утекает по скрытому каналу, – замечательный способ атаковать кого-нибудь.

Скрытые каналы, внедренные недобросовестными программистами, обнаруживались во всех видах программного обеспечения спустя какое-то время. Разведывательные организации, подобные NSA, долгое время подозревались во внедрении скрытых каналов, по которым идет утечка информации о ключах криптографического оборудования, проданного иностранным правительствам. Недавний скандал, в котором фигурировала шведская компания Crypto AG, подтверждает это. Побочные каналы, обсуждавшиеся в контексте главы 14, где речь шла об аппаратных средствах сопротивления вторжению, могут рассматриваться как действующие скрытые каналы.

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

Start trading on a professional exchange built on a powerful engine: https://beaxy.com/