Система и способ защищенной передачи аудиоданных от микрофона к процессам

Иллюстрации

Показать все

Изобретение относится к области защищенной передачи аудиоданных от микрофона к процессам посредством шифрования. Технический результат изобретения заключается в защите аудиоданных, передаваемых от микрофона к процессам, от перехвата. Система защищенной передачи аудиоданных от микрофона к процессам содержит: вычислительное устройство, содержащее: по меньшей мере, один процессор; средства ввода и вывода, взаимодействующие, по меньшей мере, с одним процессором; и носитель информации, содержащий операционную систему, множество инструкций, исполняемых, по меньшей мере, на одном процессоре, и подсистему защищенной передачи аудиоданных; при этом операционная система включает в себя аудиоподсистему, содержащую: средство управления аудиопотоками, с которым при помощи API-функций взаимодействуют процессы для создания и управления аудиопотоками, связанное со средством микширования и обработки аудиопотоков; средство микширования и обработки аудиопотоков, предназначенное для обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), а также маршрутизации аудиопотоков между процессами и конечным устройством, являющимся микрофоном, во время которой осуществляется передача аудиоданных от упомянутого микрофона к процессам посредством отдельных буферов, в которые упомянутое средство микширования и обработки аудиопотоков записывает аудиоданные, а процессы считывают упомянутые аудиоданные при помощи вызова API-функции; при этом подсистема защищенной передачи аудиоданных содержит: средство фильтрации RPC-трафика, осуществляющее мониторинг RPC-трафика между средством управления аудиопотоками и средством микширования и обработки аудиопотоков, предназначенное для обнаружения RPC-запросов создания аудиопотоков, связанных с конечным аудиоустройством, являющимся микрофоном, и для определения идентификаторов процессов, для которых запрашивается создание аудиопотоков, связанное со средством криптографической защиты аудиопотоков; средство криптографической защиты аудиопотоков, предназначенное для шифрования аудиоданных в рамках средства микширования и обработки аудиопотоков при помощи средств обработки аудио (Audio Processing Objects, APOs), также предназначенное для установки перехватчиков вызова API-функции, посредством которой процессы считывают аудиоданные из отдельных буферов, используемых средством микширования и обработки аудиопотоков для осуществления передачи аудиоданных от конечного устройства, являющегося микрофоном, к процессам, где упомянутые перехватчики устанавливаются для процессов, идентификаторы которых были определены средством фильтрации RPC-трафика, и также предназначенное для выполнения процедуры расшифрования аудиоданных и передачи расшифрованных аудиоданных процессам. 2 н. и 12 з.п. ф-лы, 7 ил.

Реферат

Область техники

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

Уровень техники

В современном мире пользователи сталкиваются с множеством киберугроз, одной из которых является несанкционированный доступ к микрофону пользователя с целью прослушивания. Для реализации контроля доступа к данным микрофона со стороны процессов, запущенных на компьютере пользователя, необходимо осуществлять фильтрацию определенных запросов в рамках операционной системы или получать доступ к контексту данных запросов для идентификации процессов, запрашивающих доступ, с целью блокирования тех процессов, доступ для которых не был санкционирован. На операционных системах 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 и обрабатывается при помощи локальных объектов о