Область техники
Настоящее изобретение относится к системам и способам защиты от утечек данных, и более конкретно к системам и способам противодействия несанкционированному доступу к данным микрофона.
Уровень техники
В современном мире пользователи сталкиваются с множеством киберугроз, одной из которых является несанкционированный доступ к микрофону пользователя с целью прослушивания. Для реализации контроля доступа к данным микрофона со стороны процессов, запущенных на компьютере пользователя, необходимо осуществлять фильтрацию определенных запросов в рамках операционной системы или получать доступ к контексту данных запросов для идентификации процессов, запрашивающих доступ, с целью блокирования тех процессов, доступ для которых не был санкционирован. На операционных системах Windows ХР и ниже данный функционал решался с помощью перехвата трафика в области компонента ядра «KSmixer.sys» (технология Windows Kernel Streaming). Запросы на чтение данных микрофона в рамках перехватываемого трафика приходили через специальный фильтр в контексте процесса, читающего данные микрофона.
С появлением Windows Vista была разработана новая архитектура WASAPI, состоящая из многих компонентов ядра и режима пользователя, где технология Windows Kernel Streaming осталась в «базовом варианте», а весь аудиотрафик был пущен через приватные СОМ-интерфейсы новых аудиодрайверов, которые регистрируются на драйвере порта «portcls.sys». Эти аудиодрайверы могут быть реализованы таким образом, что аудиотрафик с помощью контроллера прямого доступа к памяти (англ. Direct Access Memory, DMA) попадет сразу в буфер режима пользователя, то есть без участия процессора и какого-либо дополнительного кода. А данный буфер отображается в защищенный процесс «audiodg.exe», из которого данные копируются с помощью процессора в буфер пользовательского процесса в контексте этого же процесса «audiodg.exe». То есть контролирующий фильтр по технологии Windows Kernel Streaming стал абсолютно не пригоден, начиная с Windows Vista.
Вследствие вышеизложенного возникает необходимость в реализации подхода, позволяющего осуществлять перехват аудиотрафика с микрофонов в привязке к контексту процессов, читающих данные с микрофонов.
Раскрытие изобретения
Настоящее изобретение предназначено для обеспечения защищенной передачи аудиоданных от микрофона к процессам посредством шифрования.
Технический результат настоящего изобретения заключается в защите аудиоданных, передаваемых от микрофона к процессам, от перехвата.
В одном из вариантов осуществления данного изобретения реализована система защищенной передачи аудиоданных от микрофона к процессам, которая содержит:
вычислительное устройство, содержащее: по меньшей мере, один процессор; средства ввода и вывода, взаимодействующие, по меньшей мере, с одним процессором; и носитель информации, содержащий операционную систему, множество инструкций, исполняемых, по меньшей мере, на одном процессоре, и подсистему защищенной передачи аудиоданных;
при этом операционная система включает в себя аудиоподсистему, содержащую: средство управления аудиопотоками, с которым при помощи API-функций взаимодействуют процессы для создания и управления аудиопотоками, связанное со средством микширования и обработки аудиопотоков; средство микширования и обработки аудиопотоков, предназначенное для обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), а также маршрутизации аудиопотоков между процессами и конечным устройством, являющимся микрофоном, во время которой осуществляется передача аудиоданных от упомянутого микрофона к процессам посредством отдельных буферов, в которые упомянутое средство микширования и обработки аудиопотоков записывает аудиоданные, а процессы считывают упомянутые аудиоданные при помощи вызова API-функции;
при этом подсистема защищенной передачи аудиоданных содержит: средство фильтрации RPC-трафика, осуществляющее мониторинг RPC-трафика между средством управления аудиопотоками и средством микширования и обработки аудиопотоков, предназначенное для обнаружения RPC-запросов создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, и для определения идентификаторов процессов, для которых запрашивается создание аудиопотоков, связанное со средством криптографической защиты аудиопотоков; средство криптографической защиты аудиопотоков, предназначенное для шифрования аудиоданных в рамках средства микширования и обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), также предназначенное для установки перехватчиков вызова API-функции, посредством которой процессы считывают аудиоданные из отдельных буферов, используемых средством микширования и обработки аудиопотоков для осуществления передачи аудиоданных от конечного устройства, являющегося микрофоном, к процессам, где упомянутые перехватчики устанавливаются для процессов, идентификаторы которых были определены средством фильтрации RPC-трафика, и также предназначенное для выполнения процедуры расшифрования аудиоданных и передачи расшифрованных аудиоданных процессам.
В другом варианте осуществления данного изобретения конечным аудиоустройством является устройство, лежащее на одном из концов канала передачи аудиоданных, который начинается или заканчивается на процессе.
Согласно другому варианту осуществления средством управления аудиопотоками является служба Windows Audio Service.
В другом варианте осуществления средством микширования и обработки аудиопотоков является защищенный процесс Windows Audio Device Graph Isolation.
Согласно другому варианту осуществления система содержит средство авторизации доступа, связанное со средством криптографической защиты и средством фильтрации RPC-трафика, предназначенное для осуществления проверки авторизации процессов по идентификаторам процессов, определенных средством фильтрации RPC-трафика, на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
Еще в одном варианте осуществления средство криптографической защиты аудиопотоков устанавливает перехватчики вызова API-функции только для тех процессов, которые в результате упомянутой проверки были признаны средством авторизации доступа авторизованными на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
В другом варианте осуществления средства обработки аудио (Audio Processing Objects, APOs), при помощи которых средство криптографической защиты шифрует аудиоданные, являются локальными средствами обработки аудио (Local Effects Audio Processing Objects, LFX sAPOs) и/или глобальными средствами обработки аудио (Global Effects Audio Processing Objects, GFX sAPOs).
В одном из вариантов осуществления данного изобретения реализуется способ защищенной передачи аудиоданных от микрофона к процессам, по которому: (а) отслеживают RPC-запросы создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, для определения идентификаторов процессов, осуществляющих доступ к аудиоданным от упомянутого микрофона, при помощи средства фильтрации RPC-трафика, осуществляющего мониторинг RPC-трафика между средством управления аудиопотоками и средством микширования и обработки аудиопотоков; (б) шифруют аудиоданные всех аудиопотоков в рамках средства микширования и обработки аудиопотоков средством криптографической защиты аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs); (в) для процессов, идентификаторы которых были определены средством фильтрации RPC-трафика, устанавливают при помощи средства криптографической защиты аудиопотоков перехватчики вызова API-функции, посредством которой процессы считывают аудиоданные из отдельных буферов, используемых средством микширования и обработки аудиопотоков для осуществления передачи аудиоданных от конечного устройства, являющегося микрофоном, к процессам; (г) вызывают при помощи упомянутых перехватчиков процедуру расшифрования аудиоданных, выполняемую средством криптографической защиты аудиопотоков, и передают расшифрованные аудиоданные процессам.
В другом варианте осуществления конечным аудиоустройством является устройство, лежащее на одном из концов канала передачи аудиоданных, который начинается или заканчивается на процессе.
Согласно другому варианту осуществления средством управления аудиопотоками является служба Windows Audio Service.
В другом варианте осуществления средством микширования и обработки аудиопотоков является защищенный процесс Windows Audio Device Graph Isolation.
Согласно другому варианту осуществления дополнительно при помощи средства авторизации доступа осуществляют проверку авторизации процессов по идентификаторам процессов, определенных средством фильтрации RPC-трафика, на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
Еще в одном варианте осуществления средство криптографической защиты аудиопотоков устанавливает перехватчики вызова API-функции только для тех процессов, которые в результате упомянутой проверки были признаны средством авторизации доступа авторизованными на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
В другом варианте осуществления средства обработки аудио (Audio Processing Objects, APOs), при помощи которых средство криптографической защиты шифрует аудиоданные, являются локальными средствами обработки аудио (Local Effects Audio Processing Objects, LFX sAPOs) и/или глобальными средствами обработки аудио (Global Effects Audio Processing Objects, GFX sAPOs).
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 показывает новую высокоуровневую модель Windows Audio Stack.
Фиг. 2 показывает аудио подсистему, в рамках которой реализовано данное изобретение.
Фиг. 3 показывает систему противодействия несанкционированному доступу к данным микрофона.
Фиг. 4 показывает блок-схему способа противодействия несанкционированному доступу к данным микрофона.
Фиг. 5 показывает систему защищенной передачи аудиоданных от микрофона к процессам.
Фиг. 6 показывает блок-схему способа защищенной передачи аудиоданных от микрофона к процессам.
Фиг. 7 показывает пример компьютерной системы общего назначения.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Для повышения надежности и упрощения разработки приложений, работающих с аудиоданными, компания Microsoft существенно переработала аудиостек, который используется в современных операционных системах, начиная с Windows Vista.
На Фиг. 1 изображена высокоуровневая модель нового аудиостека. Основные компоненты данной модели приведены и описаны ниже. Список приведенных на Фиг. 1 компонентов не является исчерпывающим, а лишь включает в себя те компоненты, которые используются в рамках заявленного изобретения или являются необходимыми для понимания принципов работы с аудиоданными в рамках новой модели аудиостека.
WASAPI 101 (от англ. The Windows Audio Session API) - программные интерфейсы, позволяющие управлять потоками аудиоданных между приложениями 100 и конечными аудиоустройствами 107. Каждый аудиопоток является частью аудиосессии, которая является объединением всех аудиопотоков между приложениями 100 и конкретным конечным аудиоустройством 107, например микрофоном 108. Операционная система Windows позволяет обрабатывать каждый поток в рамках аудиосессии по отдельности, а также управлять некоторыми параметрами, например, громкостью, в рамках целой аудиосессии. Стоит отметить, что аудиосессия может состоять только из потоков воспроизведения аудиоданных (rendering streams) либо из потоков захвата аудиоданных (capture streams). В рамках данного изобретения рассматриваются только потоки захвата аудиоданных. Приложения 100 могут использовать программные интерфейсы WASAPI в двух режимах: общем (WASAPI Shared) и эксклюзивном (WASAPI Exclusive). Использование одним приложением эксклюзивного режима блокирует всем другим приложениям доступ к конечному аудиоустройству. Использование общего режима позволяет приложениям 100 одновременно получать доступ к одному и тому же конечному аудиоустройству 107. Для организации общего доступа к аудиоданным, поступающим от одного конечного аудиоустройства 107, используется компонент Windows Audio Device Graph Isolation 103.
Windows Audio Device Graph Isolation 103 является компонентом аудиостека, предназначенным для транспортировки аудиоданных, поступающих от конечного аудиоустройства 107 к приложениям 100, и позволяет выполнять различные преобразования данных аудиопотоков в рамках одной аудиосессии, используя только ресурсы центрального процессора. Например, Windows Audio Device Graph Isolation 103 может осуществлять приведение аудиопотоков от разных приложений к одному виду, указанному в настройках Windows, то есть к одному количеству каналов, частоте дискретизации и глубине квантования, или может осуществлять микширование аудиопотоков, а в случае с потоком захвата аудиоданных копировать его для передачи нескольким приложениям 100. Windows Audio Device Graph Isolation 103 реализован в виде защищенного процесса «audiodg.exe», запускаемого в пользовательском режиме.
Windows Audio Service 104 является службой в рамках операционной системы Windows, предназначенной для создания и управления потоками аудиоданных. Данный компонент аудиостека позволяет приложениям 100 взаимодействовать с защищенным процессом «audiodg.exe», прямой доступ к которым с их стороны ограничен. Также Windows Audio Service 104 является компонентом, который реализует политику Windows Audio Policy, которая включает в себя совокупность правил, применяемых в рамках операционной системы к аудиопотокам, доступным в общем режиме в рамках аудиосессии.
Аудиодрайверы 106 является прослойкой в рамках описываемой модели аудиостека, включающей в себя комбинацию различных системных драйверов, поддерживающих его архитектуру, а также драйверов, позволяющих поддерживать компоненты сторонних производителей. Например, для аудиоадаптеров, подключаемых к шинам PCI и PCI express, в рамках операционной системы Windows поставляются системные драйверы класса «Port Class» (portcls.sys), включающие набор драйверов портов для реализации различных функций аудиоадаптеров. А в случае с аудиоадаптером, подключаемым к шине USB, в рамках операционной системы Windows поставляются системные драйверы класса «AVStream» (Ks.sys) и драйвер класса «USB Audio» (Usbaudio.sys). Основной особенностью новой модели аудиостека, реализованной в рамках прослойки аудиодрайверов 106, является реализация технологии Microsoft Wave Real Time (WaveRT), позволяющей конечным аудиоустройствам без участия центрального процессора осуществлять запись аудиоданных напрямую в буфер, находящийся в пользовательском режиме, данные из которого считываются посредством защищенного процесса «audiodg.exe», реализующего компонент Windows Audio Device Graph Isolation 103. Доступ к данному буферу со стороны других процессов запрещен и контролируется со стороны операционной системы.
Конечными аудиоустройствами 107 в рамках данного изобретения являются устройства, лежащие на одном из концов канала передачи аудиоданных, который начинается или заканчивается на приложении 100. Примерами конечных аудиоустройств являются микрофон 108, наушники, акустические колонки или CD-плеер. Конечные аудиоустройства 107 могут подключаться к аудиоадаптерам или быть их частью.
Microsoft Audio Endpoint Builder 105 является службой операционной системы Windows, предназначенной для обнаружения новых конечных аудиоустройств 107, а также учета и управления имеющимися.
Windows.Devices.Enumeration 102 - программные интерфейсы, позволяющие приложениям 100 взаимодействовать со службой Microsoft Audio Endpoint Builder 105 для получения информации об имеющихся конечных аудиоустройствах 107 и использования их для воспроизведения или захвата аудиоданных.
Рассмотрим теперь более подробно некоторые из компонентов аудиостека, которые входят в состав аудиоподсистемы операционной системы Windows, в рамках которой реализовано данное изобретение. Схема упомянутой аудиоподсистемы приведена на Фиг. 2. Данная схема описывает сценарий, при котором процессам 200 предоставляется доступ в общем режиме (WASAPI Shared) в рамках аудиосессии состоящей из потоков захвата аудиоданных (capture streams), получаемых от конечного аудиоустройства, являющегося микрофоном 206. В рамках приведенной схемы используется понятие процессы 200, под которыми подразумеваются выполняющиеся в текущий момент приложения. Если приложение - это пассивная совокупность инструкций, то процесс - это непосредственное исполнение этих инструкций. Каждый процесс имеет уникальный идентификатор Process ID (сокр. PID), по которому данный процесс может быть идентифицирован.
Основной сложностью для реализации системы и способа противодействия несанкционированному доступу к данным микрофона, является тот факт, что все аудиопотоки, циркулирующие между процессами и конечным аудиоустройством, являются контекстом одного защищенного процесса «audiodg.exe», реализующего компонент Windows Audio Device Graph Isolation 202. В виду того что процесс является защищенным, то есть в отношении данного процесса имеются ограничения прав доступа, взаимодействие с данным процессом с использованием стандартных API-функций пользовательского режима невозможно для проведения многих операций. Таким образом, при помощи стандартных API-функций пользовательского режима другой процесс не может осуществить запрос информации о внутренних данных процесса «audiodg.exe». Для взаимодействия каждого из процессов 200 с защищенным процессом «audiodg.exe», реализующим компонент Windows Audio Device Graph Isolation 202, служба операционной системы Windows Audio Service 201 создает специальный кросс-процессный буфер 200, через который осуществляется передача аудиоданных от одного из конечных аудиоустройств 205, например от микрофона 206. Учет и добавление конечных аудиоустройств 205, как упоминалось ранее, осуществляется при помощи службы операционной системы Windows Microsoft Audio Endpoint Builder 204.
Взаимодействие конечного аудиоустройства, например микрофона 206, с защищенным процессом audiodg.exe 202 также осуществляется через специальный буфер 203, доступный в пользовательском режиме. Аудиоданные поступают в буфер 203 напрямую от микрофона 206 без участия центрального процессора, а затем считываются компонентом Windows Audio Device Graph Isolation 202, и наоборот, обрабатываются только с использованием ресурсов центрального процессора, то есть программно, без участия ресурсов аудиоадаптеров, к которым подключены или являются их частью конечные аудиоустройства 205.
Перед тем как аудиоданные, считанные из буфера 203, будут переданы процессам 200, они подвергаются обработке компонентом Windows Audio Device Graph Isolation 202. Основными задачами компонента Windows Audio Device Graph Isolation 202 являются транспортировка аудиоданных, поступающих от конечного аудиоустройства, микрофона 206, к процессам 100, и выполнение различных преобразований данных аудиопотоков в рамках одной аудиосессии. Преобразования данных аудиопотоков осуществляются при помощи мини-порт драйверов упомянутой технологии WaveRT (от англ. WaveRT miniport driver), которые называются объектами обработки аудио (от англ. Audio Processing Objects, сокращенно APOs). Различаются два типа объектов обработки аудио: глобальные (от англ. Global effects, сокращенно GFX sAPOs 212) и локальные (от англ. Local effects, сокращенно LFX sAPOs 211). В рамках аудиосессии, состоящей из потоков захвата аудиоданных, глобальные объекты обработки аудио GFX sAPOs 112 применяются к входящему аудиопотоку, полученному от микрофона 206. Затем для каждого процесса 200, запросившего у службы Windows Audio Service 201 создание аудиопотока, компонентом Windows Audio Device Graph Isolation 202, осуществляется создание самостоятельного аудиопотока путем копирования входящего потока, обработанного при помощи глобального объекта обработки аудио GFX sAPO 112. Каждый самостоятельный аудиопоток соответствует одному процессу и обрабатывается при помощи локальных объектов обработки аудио LFX sAPOs 211. Количество локальных объектов обработки аудио LFX sAPOs 211, применяемых к каждому самостоятельному аудиопотоку, может быть одинаково или может отличаться. Характер манипуляций, осуществляемых с данными каждого самостоятельного аудиопотока при помощи локальных объектов обработки аудио LFX sAPOs 211, также может отличаться, так как параметрами объектов обработки аудиоданных можно управлять в реальном времени. Локальные объекты обработки аудио LFX sAPOs 211 можно активировать (применять) индивидуально для каждого процесса, что приведет к добавлению локального объекта обработки аудио LFX sAPO 211 к соответствующему данному процессу аудиопотоку. Также локальные объекты обработки аудио LFX sAPOs 211 можно деактивировать индивидуально для каждого процесса, что приведет к удалению локального объекта обработки аудио LFX sAPO 211 из соответствующего данному процессу аудиопотока. Локальные объекты обработки аудио LFX sAPOs 211 реализованы в виде WaveRT мини-порт драйверов, которые устанавливаются в операционную систему и регистрируются в отношении каждого конкретного конечного аудиоустройства 205 путем добавления соответствующих записей в системный реестр, после чего локальные объекты обработки аудио LFX sAPOs 211 будут автоматически применяться аудиоподсистемой при обработке каждого нового аудиопотока, связанного с конечным аудиоустройством, в отношении которого данные локальные объекты обработки аудио LFX sAPOs 211 были зарегистрированы (установлены).
Для того чтобы процесс в режиме общего доступа (WASAPI Shared) мог получить доступ к аудиоданным, поступающим с микрофона 206, он формирует и отправляет запрос к службе Windows Audio Service 201. Данный запрос включает в себя различные параметры, в том числе идентификатор процесса (PID). Windows Audio Service 201 формирует и отправляет RPC-запрос создания нового потока данных компоненту Windows Audio Device Graph Isolation 202, передавая в числе параметров данного RPC-запроса идентификатор процесса (PID), запросившего создание аудиопотока. Windows Audio Service 201 создает специальный кросс-процессный буфер 200, через который осуществляется передача аудиоданных от микрофона 206 к процессу, запросившему создание аудиопотока. Windows Audio Device Graph Isolation 202 в свою очередь создает самостоятельный аудиопоток, связанный с упомянутым специальным буфером 200, через который аудиоданные будут передаваться процессу, запросившему создание данного аудиопотока. И в завершении, аудиоподсистема осуществляет применение локальных объектов обработки аудио LFX sAPOs 211, зарегистрированных для микрофона 206, для обработки созданного аудиопотока.
На Фиг. 3 изображена система противодействия несанкционированному доступу к данным микрофона. Данная система состоит из двух подсистем: описанной выше аудиоподсистемы, изображенной на Фиг. 2, и интегрированной в нее подсистемы контроля доступа к данным микрофона. Аудиоподсистема состоит из следующих компонентов:
- средства управления аудиопотоками 301, с которым при помощи API-функций взаимодействуют процессы для создания и управления аудиопотоками, которое в одном из вариантов реализации данного изобретения может являться службой Windows Audio Service 201;
- средства микширования и обработки аудиопотоков 302, предназначенного для маршрутизации аудиопотоков между приложениями и конечными аудиоустройствами, а также для обработки аудиопотоков при помощи фильтров, которое в одном из вариантов реализации данного изобретения может являться защищенным процессом Windows Audio Device Graph Isolation 202;
- средства управления конечными аудиоустройствами 306, осуществляющего добавление и учет конечных аудиоустройств, которое в одном из вариантов реализации данного изобретения может являться службой Windows Audio Endpoint Builder 204.
Подсистема контроля доступа к данным микрофона состоит из трех следующих компонентов: средства фильтрации RPC-трафика 310, средства блокирования аудиопотоков 311 и средства авторизации доступа 312. Средство фильтрации RPC-трафика 310, предназначено для осуществления мониторинга RPC-трафика между средством управления аудиопотоками 301 и средством микширования и обработки аудиопотоков 302, с целью обнаружения RPC-запросов создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, и определения идентификаторов процессов (PID), для которых запрашивается создание аудиопотоков. Данное средство позволяет решить упомянутую выше по тексту проблему идентификации процессов 300 получающих, аудиоданные от микрофона 305, заключающуюся в том, что все аудиопотоки, циркулирующие между процессами 300 и микрофоном 305, являются контекстом одного защищенного процесса «audiodg.exe» (средства микширования и обработки аудиопотоков 302).
Средство блокирования аудиопотоков 311 устанавливается для каждого нового аудиопотока из аудиосессии, связанной с конечным аудиоустройством, являющимся микрофоном 305, в качестве локального объекта обработки аудио LFX sAPO 211 в рамках средства микширования и обработки аудиопотоков 302. В одном из вариантов реализации данного изобретения средство блокирования аудиопотоков 311 представлено в виде драйвера, например WaveRT мини-порт драйвера. Аудиоподсистема автоматически устанавливает средство блокирования аудиопотоков 311 для каждого нового аудиопотока в рамках аудиосессии, связанной с каждым конечным аудиоустройством из множества конечных аудиоустройств 304, для которого средство блокирования аудиопотоков 311 зарегистрировано в качестве локального объекта обработки аудио LFX sAPO 211. В одном из вариантов реализации данного изобретения упомянутую в предыдущем предложении автоматическую установку средства блокирования аудиопотоков 311 осуществляет средство микширования и обработки аудиопотоков 302. После установки средство блокирования аудиопотоков 311 отправляет запрос средству авторизации доступа 312 на проверку авторизации процесса на предмет осуществления доступа к данным аудиопотока, для которого было установлено данное средство блокирования аудиопотоков 311. Для осуществления проверки средство авторизации доступа 312 получает или запрашивает от средства фильтрации RPC-трафика 310 идентификатор процесса, в отношении которого запрашивается упомянутая проверка авторизации. Стоит отметить, что средство блокирования аудиопотока 311 не обладает информацией о том, какому процессу соответствует аудиопоток, на который оно установлено. Средство фильтрации RPC-трафика 310 также не обладает такой информацией. Соотнесение запроса, отправленного средством блокирования аудиопотоков 311, с идентификатором процесса, полученным средством фильтрации RPC-трафика 310, что эквивалентно соотнесению аудиопотока с процессом, осуществляет средство авторизации доступа 312.
Основным назначением средства блокирования аудиопотоков 311 является предотвращение доступа к данным аудиопотока со стороны неавторизованного процесса. Для этого средство блокирования аудиопотоков 311 осуществляет обнуление данных аудиопотока, процесс запросивший создание которого был признан неавторизованным при помощи средства авторизации доступа 312.
Средство авторизации доступа 312 связано со средством фильтрации RPC-трафика 310 и средством блокирования аудиопотоков 311 и предназначено для осуществления проверки авторизации процессов по упомянутым идентификаторам процессов на осуществление доступа к данным аудиопотоков, связанных с конечным аудиоустройством, например микрофоном 305. Средство авторизации процесса может осуществлять как самостоятельную проверку авторизации процесса на осуществление доступа к данным аудиопотоков, связанных с конечным аудиоустройством из множества конечных аудиоустройств 304, так и отправлять запросы в отношении проверяемого процесса другим модулям безопасности, среди которых могут быть:
- модуль контроля активности процессов, предназначенный для регулирования действий со стороны процессов, например доступа к файловой системе, системному реестру или взаимодействия с другими процессами, разделяющий все процессы на: доверенные, не доверенные, процессы со слабыми ограничениями и процессы с сильными ограничениями;
- антивирусный модуль, предназначенный для проверки на вирусы на основе базы данных сигнатур (описаний известных вирусов и других вредоносных приложений), и удаления или помещения в карантин соответствующих объектов и связанных с ними данных;
- модуль нейтрализация угроз, применяемый для обнаружения нежелательного контента, обнаружения нападений или угроз в реальном времени, осуществляющий принятие мер по закрытию любых подозрительных процессов, блокированию сетевого трафика, а также восстановлению системы до последнего известного безопасного состояния;
- модуль обратной связи с пользователем, позволяющий уведомлять пользователя обо всех попытках осуществления со стороны процессов доступа к данным микрофона, чтобы пользователь мог выбрать, разрешить ли доступ данному процессу к микрофону или запретить, а также предоставить пользователю возможность заблокировать доступ для всех процессов к микрофону по умолчанию.
Таким образом, средство авторизации доступа 312 может признавать процесс не авторизованным на основании вердиктов от сторонних модулей безопасности. Например, процесс может быть признан не авторизованным, если процесс является вредоносным или, если процесс не авторизован пользователем на доступ к данным микрофона.
В одном из вариантов реализации данного изобретения средство авторизации доступа 312 связанно со средством управления конечными аудиоустройствами 306 для отслеживания добавления нового конечного аудиоустройства к множеству конечных аудиоустройств 304. Для каждого нового конечного аудиоустройства средство авторизации доступа 312 осуществляет регистрацию средства блокирования аудиопотоков 311, зарегистрировано в качестве локального объекта обработки аудио LFX sAPO 211. В другом варианте реализации данного изобретения средство авторизации доступа 312 защищает от изменения и удаления все записи системного реестра, в которых средство блокирования аудиопотоков 311 прописано в качестве локального объекта обработки аудио LFX sAPO 211.
На Фиг. 4 изображена блок-схема способа противодействия несанкционированному доступу к данным микрофона. Согласно данной блок-схеме на этапе 401 при помощи средства авторизации доступа 312 осуществляют установку средства блокирования аудиопотоков 311 в качестве локального средства обработки аудио LFX sAPO в рамках средства микширования и обработки аудиопотоков 302 для каждого конечного аудиоустройства, являющегося микрофоном 305, учтенного средством управления конечными аудиоустройствами 306. При этом локальное средство обработки аудио LFX sAPO применяется средством микширования и обработки аудиопотоков 302 для каждого нового аудиопотока, относящегося к каждому конечному аудиоустройству, являющемуся микрофоном 305, для которого данное локальное средство обработки аудио LFX sAPO установлено.
Далее на этапе 402 при помощи средства фильтрации RPC-трафика 310, осуществляющего мониторинг RPC-трафика между средством управления аудиопотоками 301 и средством микширования и обработки аудиопотоков 302, обнаруживают RPC-запрос создания аудиопотока, связанного с конечным аудиоустройством, являющимся микрофоном 305, и определяют идентификатор процесса, для которого запрашивается создание упомянутого аудиопотока.
При создании нового аудиопотока средство микширования и обработки аудиопотоков 302 применяет к нему локальные средства обработки аудиопотоков LFX sAPOs, которые были установлены для конечного аудиоустройства, связанного с новым аудиопотоком. Так как на этапе 401 для каждого конечного аудиоустройства, являющегося микрофоном, в качестве локального средства обработки аудиопотоков LFX sAPO было установлено средство блокирования аудиопотоков 311, то к новому аудиопотоку, относящемуся к конечному аудиоустройству, являющемуся микрофоном, на этапе 403 будет применено средство блокирования аудиопотоков 311, которое сразу после инициализации отправит запрос авторизации средству авторизации доступа 312.
В ответ на упомянутый запрос на этапе 404 средство авторизации доступа 312 по идентификатору процесса, запросившего создание аудиопотока, полученному на этапе 402, осуществляет проверку авторизации процесса на осуществление доступа к данным упомянутого аудиопотока.
И по результатам проверки на этапе 405 при помощи средства блокирования аудиопотоков 311 осуществляют обнуление данных упомянутого аудиопотока, если процесс, запросивший создание упомянутого аудиопотока, был признан неавторизованным при помощи средства авторизации доступа 312.
Система и способ противодействия несанкционированному доступу к данным микрофона позволяет защитить пользователя от утечек аудиоданных, происходящих в результате осуществления неавторизованного доступа со стороны процессов к данным микрофона с использованием механизмов, предоставляемых аудиоподсистемой в рамках операционной системы. Однако упомянутые система и способ не обеспечивают защиту пользователя от утечек аудиоданных, возникающих в результате осуществления сторонними процессами несанкционированного доступа непосредственно к аудиопотокам, поступающим к авторизованным процессам. Для защиты аудиопотоков от несанкционированного доступа в рамках данного изобретения реализованы система и способ защищенной передачи аудиоданных от микрофона к процессам.
На Фиг. 5 изображена система защищенной передачи аудиоданных от микрофона к процессам. Данная система состоит из двух подсистем: описанной выше аудиоподсистемы, изображенной на Фиг. 2, и интегрированной с ней подсистемы защищенной передачи аудиоданных. Аудиоподсистема состоит из следующих компонентов: средства управления аудиопотоками 301, средства микширования и обработки аудиопотоков 302 и средства управления конечными аудиоустройствами 306.
Средство управления аудиопотоками 301 предназначено для создания и управления аудиопотоками. Процессы 300 взаимодействуют со средством управления аудиопотоками 301 при помощи API-функций. В одном из вариантов реализации данного изобретения средство управления аудиопотоками 301 может являться службой Windows Audio Service 201.
Средство микширования и обработки аудиопотоков 302 связано со средством управления аудиопотоками 301 и предназначено для маршрутизации аудиопотоков между процессами 300 и конечным аудиоустройством из множества конечных аудиоустройств 304, например микрофоном 305. Также средство микширования и обработки аудиопотоков 302 предназначено для обработки аудиопотоков при помощи средств обработки аудио, поддерживаемых системой (от англ. Audio Processing Objects, сокращенно APOs). В рамках аудиоподсистемы Windows различаются системные средства обработки аудио, для их обозначения используется аббревиатура APOs (буква «s» в конце аббревиатуры указывает на множественное число), и сторонние средства обработки аудио sAPOs. Для целей данного изобретения используются только sAPOs, которые далее будут именоваться просто средствами обработки аудио sAPOs. Как упоминалось выше, различаются два типа объектов обработки аудио sAPOs, используемых средством микширования и обработки аудиопотоков 302: глобальные (от англ. Global effects, сокращенно GFX sAPOs 502) и локальные (от англ. Local effects, сокращенно LFX sAPOs 501). В рамках аудиосессии, состоящей из потоков захвата аудиоданных, глобальные объекты обработки аудио GFX sAPOs 502 применяются к входящему аудиопотоку, полученному от микрофона 305. Затем для каждого процесса, например процесса N, запросившего у средства управления аудиопотоками 301 создание аудиопотока, при помощи средства микширования и обработки аудиопотоков 302 осуществляется создание самостоятельного аудиопотока путем копирования входящего потока, обработанного при помощи глобального объекта обработки аудио GFX sAPO 502. Каждый самостоятельный аудиопоток соответствует одному из процессов 300 и обрабатывается при помощи локальных объектов обработки аудио LFX sAPOs 501. Средство микширования и обработки аудиопотоков 302 осуществляет передачу аудиоданных от конечного аудиоустройства, например микрофона 305, к процессам 300 посредством отдельных буферов 503, в которые средство микширования и обработки аудиопотоков 302 записывает аудиоданные, а процессы 300 при помощи вызова API-функции считывают их. В одном из вариантов реализации данного изобретения средство микширования и обработки аудиопотоков 302 может являться защищенным процессом Windows Audio Device Graph Isolation 202.
Средство управления конечными аудиоустройствами 306 осуществляет добавление и учет конечных аудиоустройств. В одном из вариантов реализации данного изобретения средство управления конечными аудиоустройствами 306 может являться службой Windows Audio Endpoint Builder 204.
Подсистема защищенной передачи аудиоданных состоит из средства фильтрации RPC-трафика 310 и средства криптографической защиты аудиопотоков 500, а также дополнительно может содержать средство авторизации доступа 312. Средство фильтрации RPC-трафика 310 осуществляет мониторинг RPC-трафика между средством управления аудиопотоками 301 и средством микширования и обработки аудиопотоков 302. Средство фильтрации RPC-трафика 310 предназначено для обнаружения RPC-запросов создания аудиопотоков, связанных с конечным аудиоустройством, например микрофоном 305. Средство фильтрации RPC-трафика 310 связано со средством криптографической защиты аудиопотоков 500 и в рамках подсистемы защищенной передачи аудиоданных применяется для отслеживания всех RPC-запросов создания аудиопотоков, связанных с любым конечным аудиоустройством, являющимся микрофоном. Средство фильтрации RPC-трафика 310 определяет идентификаторы процессов (от англ. Process Identifier, сокращенно PID) и хранит множество идентификаторов {PID 1, PID N}, соответствующих множеству процессов 300 {Процесс 1, Процесс N}, для которых запрашивается создание аудиопотоков, связанных с конечным аудиоустройством, например микрофоном 305. Таким образом средство фильтрации RPC-трафика 310 позволяет подсистеме защищенной передачи аудиоданных идентифицировать все процессы 300, которые на текущий момент осуществляют доступ к любому конечному аудиоустройству, являющемуся микрофоном.
Средство криптографической защиты аудиопотоков 500 связано со средством фильтрации RPC-трафика 310 и предназначено для шифрования и расшифрования аудиоданных в рамках средства микширования и обработки аудиопотоков 302. Для шифрования аудиоданных средство криптографической защиты аудиопотоков 500 использует средства обработки аудио sAPOs, реализованные в виде драйверов, которые устанавливаются в операционную систему и регистрируются в отношении каждого конкретного конечного аудиоустройства, являющегося микрофоном, из множества конечных аудиоустройств 304 путем добавления соответствующих записей в системный реестр. После установки глобальные объекты обработки аудио GFX sAPOs 502 автоматически применяются средством микширования и обработки аудиопотоков 302 к входящему аудиопотоку, полученному через буфер памяти 303 от конечного аудиоустройства, являющегося микрофоном, а локальные объекты обработки аудио LFX sAPOs 501 применяются для обработки каждого нового аудиопотока, связанного с тем же конечным аудиоустройством, являющимся микрофоном, для которого данные локальные и глобальные объекты обработки аудио LFX sAPOs 501 и GFX sAPOs 502 были установлены. Алгоритм шифрования может быть частично или полностью реализован в рамках средств обработки аудио sAPOs таким образом, чтобы шифрование могло выполняться самостоятельно посредством локального объекта обработки аудио LFX sAPO 501 или посредством глобального объекта обработки данных GFX sAPO 502, или таким образом, чтобы шифрование выполнялось посредством комбинации локальных и глобальных объектов обработки аудио LFX sAPOs 501 и GFX sAPOs 502. В качестве алгоритмов шифрования могут использоваться как алгоритмы симметричного шифрования, например: AES, DES, ГОСТ 28147-89, так и алгоритмы асимметричного шифрования, например: RSA, El-Gamal. Симметричное шифрование предусматривает использование одного и того же ключа и для шифрования, и для расшифрования. Асимметричное шифрование предусматривает использование пары ключей, открытого и секретного. Открытый ключ передается по открытому каналу связи (не скрывается) и используется для шифрования данных. Для расшифрования данных используется второй ключ, секретный. Средство криптографической защиты аудиопотоков 500 осуществляет генерацию ключей, их хранение и передачу ключей средствам обработки аудио sAPOs для шифрования.
Зашифрованные при помощи средства криптографической защиты аудиопотоков 500 данные поступают в буферы памяти 503. Каждый буфер памяти из множества буферов памяти 503 {Буфер памяти 1, Буфер памяти N} соответствует процессу из множества процессов 300 {Процесс 1, Процесс N}, которые на текущий момент осуществляют доступ к конечному аудиоустройству, являющемуся микрофоном. Буферы памяти создаются средством управления аудиопотоками 301 для каждого процесса, запросившего создание аудиопотока. Посредством буферов памяти 503 средство микширования и обработки аудиопотоков 302 осуществляет передачу процессам аудиоданных, поступающих от конечного аудиоустройства, являющегося микрофоном. Именно буферы памяти 503 являются наиболее вероятным местом утечки на пути следования аудиоданных от конечного аудиоустройства, являющегося микрофоном, к процессам 300. Для получения аудиоданных из буферов памяти 503 процессы 300 используют API-функции, в частности WASAPI-функции, посредством которых процессы 300 считывают аудиоданные из буферов памяти 503, перемещая, например, считанные аудиоданные в локальные буферы памяти 505 для их дальнейшей обработки и использования. Для осуществления расшифрования аудиоданных средство криптографической защиты аудиопотоков 500 устанавливает перехватчики вызова той API-функции, посредством которой процессы 300 считывают аудиоданные из буферов памяти 503. Данные перехватчики устанавливаются средством криптографической защиты аудиопотоков 500 лишь для тех процессов, идентификаторы которых были определены средством фильтрации RPC-трафика 310. Например, согласно Фиг. 5 для процесса N, имеющего идентификатор PID N, устанавливается перехватчик вызова API-функции 504.
Технология осуществления перехвата вызовов API-функций известна из уровня техники и включает в себя разные подходы, которые могут быть применимы в рамках данного изобретения. Разберем один из подходов, который основан на том, что вызовы любых API-функций в процессе N из сторонних DLL выполняется через таблицу импорта функций. Данная таблица заполняется при загрузке DLL в процесс N, и в ней прописываются адреса всех импортируемых функций, которые процессу N могут понадобиться, в том числе и API-функция, посредством которой процесс N считывает аудиоданные из буфера памяти N. Соответственно, для установки перехватчика вызова API-функции 504 средство криптографической защиты аудиопотоков 500 находит таблицу импорта, а в ней - API-функцию, вызов которой необходимо перехватить, и помещает в найденную таблицу импорта указатель на другую функцию вместо исходной API-функции. Другой функцией, указатель которой помещен в таблицу импорта вместо исходной API-функции, является измененная исходная API-функция, позволяющая процессу N считывать аудиоданные из буфера памяти N, отличающаяся тем, что дополнительно содержит вызов процедуры расшифрования считываемых аудиоданных, выполняемой средством криптографической защиты аудиопотоков 500. После завершения упомянутой процедуры расшифрованные аудиоданные передаются процессу N.
В одном из вариантов реализации данного изобретения расшифрование аудиоданных, находящихся, например, в буфере памяти N, может быть выполнено без перехватчика. Процесс N может самостоятельно взаимодействовать с подсистемой защищенной передачи аудиоданных посредством специальных программных интерфейсов, например, KL API (от англ. Kasperksy Lab Application Programming Interfaces), поставляемых в виде комплекта средств для разработки (от англ. Software Development Kit, сокращенно SDK). Таким образом процесс N может не только самостоятельно вызвать процедуру расшифрования, выполняемую средством криптографической защиты аудиопотоков 500, но и осуществлять взаимодействия со средством криптографической защиты аудиопотоков 500 для вызова процедур шифрования аудиоданных и процедур генерации и обмена ключами, используемыми для шифрования и расшифрования аудиоданных, а также для взаимодействия с другими компонентами подсистемы защищенной передачи аудиоданных для обеспечения безопасности аудиоданных, поступающих от конечного аудиоустройства, являющегося микрофоном, к процессу N.
Средство авторизации доступа 312 в рамках подсистемы защищенной передачи аудиоданных связано со средством криптографической защиты 500 и средством фильтрации RPC-трафика 310 и предназначено для осуществления проверки авторизации процессов по идентификаторам процессов, определенных средством фильтрации RPC-трафика 310, на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном. Таким образом, с использованием средства авторизации доступа 312 в одном из вариантов реализации данного изобретения средство криптографической защиты аудиопотоков 500 может устанавливать перехватчики вызова API-функции только для тех процессов, которые в результате упомянутой проверки были признаны средством авторизации доступа 312 авторизованными на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном. В результате чего неавторизованным процессам от средства микширования и обработки аудиопотоков 302 будут поступать зашифрованные аудиоданные.
На Фиг. 6 изображена блок-схема способа защищенной передачи аудиоданных от микрофона к процессам. Согласно данной блок-схеме на этапе 601 при помощи средства фильтрации RPC-трафика 310, предназначенного для мониторинга RPC-трафика между средством управления аудиопотоками 301 и средством микширования и обработки аудиопотоков 302, осуществляют отслеживание RPC-запросов создания аудиопотоков, связанных с каждым конечным аудиоустройством, являющимся микрофоном, для определения идентификаторов всех процессов, осуществляющих доступ к упомянутому микрофону.
Далее на этапе 602 осуществляют шифрование аудиоданных всех аудиопотоков в рамках средства микширования и обработки аудиопотоков 302 средством криптографической защиты аудиопотоков 500. Для шифрования аудиоданных средство криптографической защиты аудиопотоков 500 использует средства обработки аудио (sAPOs), которые подразделяются на два типа объектов: глобальные средства обработки аудио GFX sAPOs 502 и локальные средства обработки аудио LFX sAPOs 501.
Средство микширования и обработки аудиопотоков 302 помещает зашифрованные аудиоданные в буферы памяти 503. Каждый буфер памяти из множества буферов памяти 503 {Буфер памяти 1, …, Буфер памяти N} соответствует процессу из множества процессов 300 {Процесс 1, …, Процесс N}, которые на текущий момент осуществляют доступ к конечному аудиоустройству, являющемуся микрофоном.
Для расшифрования аудиоданных средство криптографической защиты 500 на этапе 603 осуществляет установку перехватчиков вызова API-функции, посредством которой процессы 300 считывают аудиоданные из соответствующих буферов памяти 503, используемых средством микширования и обработки аудиопотоков 302 для осуществления передачи аудиоданных от конечного аудиоустройства, являющегося микрофоном, к процессам 300. Установка перехватчиков средством криптографической защиты 500 осуществляется для тех процессов 300, идентификаторы которых были определены средством фильтрации RPC-трафика на этапе 601.
В одном из вариантов реализации данного изобретения средство криптографической защиты аудиопотоков 500 устанавливает перехватчики вызова API-функции только для тех процессов из множества процессов 300, которые в результате проверки средством авторизации доступа 312 были признаны авторизованными на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном. Средство авторизации доступа 312 осуществляет проверку авторизации процессов 300 на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном, по их идентификаторам, которые были определены средством фильтрации RPC-трафика 310.
И на этапе 604 при помощи упомянутых перехватчиков осуществляется вызов процедуры расшифрования аудиоданных, которая выполняется средством криптографической защиты аудиопотоков 500, после чего осуществляется передача расшифрованных аудиоданных процессам.
На Фиг. 7 представлен пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, содержаща я аудио подсистему 60, представленную на Фиг. 2, подсистему контроля доступа к данным микрофона 61, представленную на Фиг. 3, а также подсистему защищенной передачи аудиоданных 62, представленную на Фиг. 5, дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
Изобретение относится к области защищенной передачи аудиоданных от микрофона к процессам посредством шифрования. Технический результат изобретения заключается в защите аудиоданных, передаваемых от микрофона к процессам, от перехвата. Система защищенной передачи аудиоданных от микрофона к процессам содержит: вычислительное устройство, содержащее: по меньшей мере, один процессор; средства ввода и вывода, взаимодействующие, по меньшей мере, с одним процессором; и носитель информации, содержащий операционную систему, множество инструкций, исполняемых, по меньшей мере, на одном процессоре, и подсистему защищенной передачи аудиоданных; при этом операционная система включает в себя аудиоподсистему, содержащую: средство управления аудиопотоками, с которым при помощи API-функций взаимодействуют процессы для создания и управления аудиопотоками, связанное со средством микширования и обработки аудиопотоков; средство микширования и обработки аудиопотоков, предназначенное для обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), а также маршрутизации аудиопотоков между процессами и конечным устройством, являющимся микрофоном, во время которой осуществляется передача аудиоданных от упомянутого микрофона к процессам посредством отдельных буферов, в которые упомянутое средство микширования и обработки аудиопотоков записывает аудиоданные, а процессы считывают упомянутые аудиоданные при помощи вызова API-функции; при этом подсистема защищенной передачи аудиоданных содержит: средство фильтрации RPC-трафика, осуществляющее мониторинг RPC-трафика между средством управления аудиопотоками и средством микширования и обработки аудиопотоков, предназначенное для обнаружения RPC-запросов создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, и для определения идентификаторов процессов, для которых запрашивается создание аудиопотоков, связанное со средством криптографической защиты аудиопотоков; средство криптографической защиты аудиопотоков, предназначенное для шифрования аудиоданных в рамках средства микширования и обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), также предназначенное для установки перехватчиков вызова API-функции, посредством которой процессы считывают аудиоданные из отдельных буферов, используемых средством микширования и обработки аудиопотоков для осуществления передачи аудиоданных от конечного устройства, являющегося микрофоном, к процессам, где упомянутые перехватчики устанавливаются для процессов, идентификаторы которых были определены средством фильтрации RPC-трафика, и также предназначенное для выполнения процедуры расшифрования аудиоданных и передачи расшифрованных аудиоданных процессам. 2 н. и 12 з.п. ф-лы, 7 ил.
1. Система защищенной передачи аудиоданных от микрофона к процессам, содержащая:
вычислительное устройство, содержащее:
- по меньшей мере, один процессор;
- средства ввода и вывода, взаимодействующие, по меньшей мере, с одним процессором;
- и носитель информации, содержащий операционную систему, множество инструкций, исполняемых, по меньшей мере, на одном процессоре, и подсистему защищенной передачи аудиоданных;
при этом операционная система включает в себя аудиоподсистему, содержащую:
средство управления аудиопотоками, с которым при помощи API-функций взаимодействуют процессы для создания и управления аудиопотоками, связанное со средством микширования и обработки аудиопотоков;
средство микширования и обработки аудиопотоков, предназначенное для обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), а также маршрутизации аудиопотоков между процессами и конечным устройством, являющимся микрофоном, во время которой осуществляется передача аудиоданных от упомянутого микрофона к процессам посредством отдельных буферов, в которые упомянутое средство микширования и обработки аудиопотоков записывает аудиоданные, а процессы считывают упомянутые аудиоданные при помощи вызова API-функции;
при этом подсистема защищенной передачи аудиоданных содержит:
средство фильтрации RPC-трафика, осуществляющее мониторинг RPC-трафика между средством управления аудиопотоками и средством микширования и обработки аудиопотоков, предназначенное для обнаружения RPC-запросов создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, и для определения идентификаторов процессов, для которых запрашивается создание аудиопотоков, связанное со средством криптографической защиты аудиопотоков;
средство криптографической защиты аудиопотоков, предназначенное для шифрования аудиоданных в рамках средства микширования и обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), также предназначенное для установки перехватчиков вызова API-функции, посредством которой процессы считывают аудиоданные из отдельных буферов, используемых средством микширования и обработки аудиопотоков для осуществления передачи аудиоданных от конечного устройства, являющегося микрофоном, к процессам, где упомянутые перехватчики устанавливаются для процессов, идентификаторы которых были определены средством фильтрации RPC-трафика, и также предназначенное для выполнения процедуры расшифрования аудиоданных и передачи расшифрованных аудиоданных процессам.
2. Система по п. 1, где конечным аудиоустройством является устройство, лежащее на одном из концов канала передачи аудиоданных, который начинается или заканчивается на процессе.
3. Система по п. 1, где средством управления аудиопотоками является служба Windows Audio Service.
4. Система по п. 1, где средством микширования и обработки аудиопотоков является защищенный процесс Windows Audio Device Graph Isolation.
5. Система по п. 1, которая содержит средство авторизации доступа, связанное со средством криптографической защиты и средством фильтрации RPC-трафика, предназначенное для осуществления проверки авторизации процессов по идентификаторам процессов, определенных средством фильтрации RPC-трафика, на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
6. Система по п. 5, где средство криптографической защиты аудиопотоков устанавливает перехватчики вызова API-функции только для тех процессов, которые в результате упомянутой проверки были признаны средством авторизации доступа авторизованными на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
7. Система по п. 1, где средства обработки аудио (Audio Processing Objects, APOs), при помощи которых средство криптографической защиты шифрует аудиоданные, являются локальными средствами обработки аудио (Local Effects Audio Processing Objects, LFX sAPOs) и/или глобальными средствами обработки аудио (Global Effects Audio Processing Objects, GFX sAPOs).
8. Способ защищенной передачи аудиоданных от микрофона к процессам, по которому:
отслеживают RPC-запросы создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, для определения идентификаторов процессов, осуществляющих доступ к аудиоданным от упомянутого микрофона, при помощи средства фильтрации RPC-трафика, осуществляющего мониторинг RPC-трафика между средством управления аудиопотоками и средством микширования и обработки аудиопотоков;
шифруют аудиоданные всех аудиопотоков в рамках средства микширования и обработки аудиопотоков средством криптографической защиты аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs);
для процессов, идентификаторы которых были определены средством фильтрации RPC-трафика, устанавливают при помощи средства криптографической защиты аудиопотоков перехватчики вызова API-функции, посредством которой процессы считывают аудиоданные из отдельных буферов, используемых средством микширования и обработки аудиопотоков для осуществления передачи аудиоданных от конечного устройства, являющегося микрофоном, к процессам;
вызывают при помощи упомянутых перехватчиков процедуру расшифрования аудиоданных, выполняемую средством криптографической защиты аудиопотоков, и передают расшифрованные аудиоданные процессам.
9. Способ по п. 8, где конечным аудиоустройством является устройство, лежащее на одном из концов канала передачи аудиоданных, который начинается или заканчивается на процессе.
10. Способ по п. 8, где средством управления аудиопотоками является служба Windows Audio Service.
11. Способ по п. 8, где средством микширования и обработки аудиопотоков является защищенный процесс Windows Audio Device Graph Isolation.
12. Способ по п. 8, по которому дополнительно при помощи средства авторизации доступа осуществляют проверку авторизации процессов по идентификаторам процессов, определенных средством фильтрации RPC-трафика, на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
13. Способ по п. 12, по которому средство криптографической защиты аудиопотоков устанавливает перехватчики вызова API-функции только для тех процессов, которые в результате упомянутой проверки были признаны средством авторизации доступа авторизованными на осуществление доступа к конечному аудиоустройству, являющемуся микрофоном.
14. Способ по п. 8, где средства обработки аудио (Audio Processing Objects, APOs), при помощи которых средство криптографической защиты шифрует аудиоданные, являются локальными средствами обработки аудио (Local Effects Audio Processing Objects, LFX sAPOs) и/или глобальными средствами обработки аудио (Global Effects Audio Processing Objects, GFX sAPOs).
Токарный резец | 1924 |
|
SU2016A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
US 8332058 B2, 11.12.2012 | |||
УСТРОЙСТВО И СПОСОБ РЕТРАНСЛЯЦИИ ДАННЫХ | 2005 |
|
RU2302086C2 |
Авторы
Даты
2017-08-22—Публикация
2016-04-25—Подача