Занимательные каналы утечки

В корпоративных сетях нередко применяются системы DLP (Data Loss Prevention), которые должны предотвращать утечки конфиденциальной информации. (Иногда почему-то считается, что основная задача DLP не предотвращение утечек, а их обнаружение; однако, если утечка произошла, это означает лишь, что система DLP не сработала.) Предотвращение утечек подразумевает перекрытие каналов, по которым эти утечки могут происходить. В самом банальном варианте – блокируется передача данных через сетевые подключения (но не приём). Или рабочее место, где возможен доступ к защищаемым данным, физически не подключено к сетям передачи данных. Ну и так далее, вариантов много, а продвинутая система ещё должна следить за доступом к данным, а не только “трафик просматривать”.

Возможны всякие неожиданные каналы утечки, создаваемые при участии инсайдера. Предположим, что никакие устройства подключать к ПК нельзя – порты физически закрыты. Пользователь может принести небольшое устройство с собой, но не подключать его к ПК. Передать данные на это устройство можно разными способами (это кроме обычных каналов побочных излучений). Есть отработанные варианты с мигающим изображением на мониторе: даже небольшое изображение, несколько десятков пикселей, может передавать в считывающее устройство данные на заметной скорости в несколько килобит в секунду. Устройство считывает сигнал даже не при помощи камеры, а используя набор светочувствительных элементов. В самом простом случае – элемент может быть один, и устройство просто прикладывается к монитору. (Кстати, по такой схеме работают некоторые устройства двухфакторной авторизации.) Впрочем, скорость здесь будет совсем маленькой, всего несколько байтов в секунду.

Предположим, что данные передаются со скоростью один килобит, это, примерно, 100 полезных байтов в секунду (потребуется израсходовать часть полосы на коррекцию ошибок и служебную информацию) – тогда за час можно скопировать около 350 килобайт информации. Не очень много, но, если взять объём за рабочий день, достаточно для многих типов конструкторской документации или дампов баз данных клиентов. Да, очевидно, что в качестве аппаратного носителя схемы годится смартфон, но смартфоны могут быть запрещены, а компактный считыватель, выполненный в виде шариковой ручки, пронести возможно.

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

Многообещающее направление – это автоматизированное внедрение готовой программы, проведённое каким-то нестандартным способом. Например, пользователю доступна штатная утилита аудиозаписи, входящая в дистрибутив ОС, а ПК оснащён встроенным микрофоном. Тогда код программы можно передать через аудиоканал, а для декодирования, опять же, использовать имеющиеся средства обработки данных. Чуть более оригинальное решение – устройство, аппаратно подключаемое к клавиатуре или мыши: передавать код оно может через срабатывание клавиш или кнопок. Тут, впрочем, опять возникает вопрос преобразования некоторого сигнала в код (или исходный текст) программы – для этого нужна подходящая утилита. Естественно, напрашивается готовый полноценный клавиатурный эмулятор (или эмулятор мыши, хотя он тут подходит гораздо хуже), но это широко известный вектор аппаратной атаки на ПК, поэтому считаем, что подключение мыши и/или клавиатуры ограничено физически.

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

Адрес записки: https://dxdt.ru/2017/02/13/8266/

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 8

  • 1. 13th February 2017, 19:49 // Читатель sashket написал:

    > Кстати, по такой схеме работают некоторые устройства двухфакторной авторизации.

    А можно об этом подробнее?

  • 2. 13th February 2017, 22:59 // Александр Венедюхин:

    > А можно об этом подробнее?

    Там, собственно, схема простая: у пользователя на руках есть некоторое устройство, которое может вычислять код ответа на запрос, передаваемый при авторизации. Запрос устройство считывает оптическим сенсором. Например, в случае веба, пользователь вводит логин/пароль, после этого на экран выводится “мигающий квадрат”, к которому нужно приложить устройство, устройство читает запрос, вычисляет ответ, показывает код ответа на встроенном экране – пользователь вводит этот код. (В продвинутой версии – код может автоматически набираться, если устройство подключено к ПК в качестве эмулятора клавиатуры.)

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

  • 3. 14th February 2017, 01:41 // Читатель Z.T. написал:

    А можно надеть аппарат на кабель USB клавиатуры (оставив клавиатуру подключенной) и успешно набирать javascript в консоль браузера, не повредив кабеля?

  • 4. 14th February 2017, 16:17 // Читатель sashket написал:

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

  • 5. 14th February 2017, 17:56 // Читатель sarin написал:

    почему нельзя считать камерой в пуговице данные с монитора в том виде, в котором они обычно выводятся?
    и канал шире получится, и палева меньше (чего это у вас мигает там на мониторе?!), и места для ошибок агента. напутает ещё чего вводя программу.

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

  • 6. 15th February 2017, 13:57 // Александр Венедюхин:

    > А можно надеть аппарат на кабель USB клавиатуры (оставив клавиатуру подключенной) и успешно набирать javascript в консоль браузера, не повредив кабеля?

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

  • 7. 15th February 2017, 14:03 // Александр Венедюхин:

    > почему нельзя считать камерой в пуговице данные с монитора в том виде, в котором они обычно выводятся?

    А если нам нужны именно исходные данные? Например, не общий вид узла в интерфейсе CAD, а сами исходные модели. Тут камера не подходит. Конечно, можно вывести некий исходник, а потом распознавать данные из видеозаписи, но тогда мы, фактически, приходим к той же самой схеме.

  • 8. 24th February 2017, 12:54 // Читатель Kujer написал:

    Зачем мерцать части экрана? Пусть мерцает весь к в Li-Fi – несколько сот мегабит в секунду могут считать многие камеры, в том числе и всяких “шпионских” ручек.