Система и способ открытия файлов, созданных уязвимыми приложениями
SYSTEM AND METHOD OF OPENING FILES CREATED BY VULNERABLE APPLICATIONS

Область техники
Изобретение относится к области обеспечения безопасности программного обеспечения, а именно к системам и способам открытия файлов, созданных уязвимыми приложениями.
Уровень техники
В области информационной безопасности термин «уязвимость» означает ошибку в программном обеспечении (ПО), которая может быть использована злоумышленником для получения доступа к компьютерной системе пользователя или компьютерной сети. Из-за сложности и объема кода современного программного обеспечения существование уязвимостей в ПО является практически неизбежным.
Для устранения возможности использования злоумышленниками найденных уязвимостей производители ПО стремятся в кротчайшие сроки после обнаружения уязвимости выпустить обновление, исправляющее возможность использования уязвимости. Кроме этого, выполнение уязвимых приложений может быть ограничено или вовсе заблокировано.
Определенной опасности также подвержены приложения, для которых уязвимости были найдены ранее. Такие приложения являются потенциально уязвимыми. Приложения, посредством которых на компьютер может быть доставлен нежелательный объект (например, вредоносное программное обеспечение), также могут рассматриваться как уязвимые приложения (например, веб-браузер, IM-клиент). Даже после того как уязвимости были исправлены, факт их появления свидетельствует о потенциальном наличии ошибок в коде и о возможности их эксплуатации злоумышленниками, особенно когда приложение популярно. Существуют технологии, накладывающие ограничение на запуск и отслеживающие активности таких приложений. В то же время опасность представляют файлы, созданные потенциально уязвимыми приложениями, а также приложениями, являющимися источником недоверенных файлов, которые также нуждаются в контроле. Например, многие популярные приложения обмена сообщениями (Skype, ICQ и пр.) имеют возможность отправки файлов и сохранения их на компьютере адресата. Антивирусные приложения обычно не считают такие файлы опасными, так как они были созданы популярными доверенными приложениями.
В заявке US 20100306851 А1 описывается способ предотвращения эксплуатации уязвимостей в интернет-браузере путем слежения за исполняемыми файлами, скачанными посредством его, определения запуска таких исполняемых файлов и оповещения пользователя о возможной уязвимости браузера, которую может эксплуатировать скачанный исполняемый файл. Окончательное решение о запуске файла принимает пользователь.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно системой и способом открытия файлов, созданных уязвимыми приложениями.
Раскрытие изобретения
Настоящее изобретение относится к системам и способам открытия файлов, созданных уязвимыми приложениями.
Технический результат заключается в улучшении защиты компьютера от использования вредоносными программами уязвимостей приложений компьютера путем открытия файлов, созданных уязвимыми приложениями, в соответствии с политикой открытия файлов, которая зависит от политики доступа к файлу и политики запуска приложения-потребителя.
Согласно варианту реализации используется способ открытия файлов, созданных уязвимыми приложениями, в котором: определяют создание файла приложением-источником; определяют по меньшей мере одну уязвимость в приложении-источнике; определяют параметры созданного файла; определяют политику доступа к файлу в зависимости от информации, определенной на предыдущих этапах; перехватывают открытие созданного файла приложением-потребителем, при этом упомянутое приложение-потребитель предназначено для открытия файла; определяют политику запуска приложения-потребителя; определяют по меньшей мере одну политику открытия файла приложением-потребителем в зависимости от: политики доступа к файлу; политики запуска приложения-потребителя; выполняют открытие созданного файла приложением-потребителем в соответствии с политикой открытия.
Согласно одному из частных вариантов реализации создание файла приложением определяют по меньшей мере одним из способов: с помощью драйвер-фильтра файловой системы; с помощью перехвата вызовов системного API; с использованием API, предоставляемого приложениями.
Согласно другому частному варианту реализации дополнительно определяют, является ли приложение-источник источником недоверенных файлов.
Согласно еще одному из частных вариантов реализации определяют принадлежность приложения-источника к источнику недоверенных файлов с помощью по меньшей мере одного из: базы данных приложений, котораясодержит список приложений, являющихся источником недоверенных файлов; анализа поведения приложения-источника, при этом поведение приложения-источника включает загрузку уязвимых модулей; метаданных приложения.
Согласно одному из частных вариантов реализации перехват открытия созданного файла приложением-потребителем определяют по меньшей мере одним из способов: с помощью драйвер-фильтра файловой системы; с помощью перехвата вызовов системного API; с использованием API, предоставляемого приложениями.
Согласно другому частному варианту реализации параметры файла включают по крайней мере один из: тип файла; размер файла; электронную цифровую подпись файла; издатель сертификата; источник файла; присутствие файла в списке доверенных файлов; расширение файла.
Согласно еще одному частному варианту реализации проводят антивирусную проверку созданного файла в зависимости от определенной на предыдущих этапах информации, при этом параметры созданного файла содержат результаты антивирусной проверки.
Согласно одному из частных вариантов реализации дополнительно определяют наличие по крайней мере одного из: устраненных уязвимостей в приложении; уязвимостей в предыдущих версиях приложения; устраненных уязвимостей в предыдущих версиях приложения; уязвимостей в приложении-потребителе.
Согласно другому частному варианту реализации приложением-потребителем является одно из: приложение, которое создало файл; созданный файл, когда упомянутый созданный файл является одним из: процесс, исполняемый файл, файл сценария, подключаемая библиотека.Согласно еще одному частному варианту реализации политика открытия файла приложением-потребителем определяет права доступа упомянутого приложения-потребителя к ресурсам компьютера.
Согласно одному из частных вариантов реализации политика доступа к файлу определяет права доступа к ресурсам компьютера для приложения, запросившего доступ к упомянутому файлу.
Согласно другому частному варианту реализации политика запуска приложения-потребителя определяет права доступа упомянутого приложения-потребителя к ресурсам компьютера.
Согласно еще одному частному варианту реализации права доступа к ресурсам компьютера включают ограничение на выполнение приложением-потребителем одной или нескольких из операций: низкоуровневый доступ к файловой системе; низкоуровневый доступ к диску; запуск драйвера; модификацию реестра; прямой доступ к памяти; получение дескриптора процесса; использование API браузера; модификация файлов с расширениями «.ехе» и «.dll» в каталогах «%SystemRoot%» и «%ProgramFiles%» со всеми подкаталогами; создание и модификация файлов в каталоге «Startup»; создание и модификация ключей автозапуска; доступ к файловым ресурсам, адрес которых включает переменные окружения; доступ к реестровым ресурсам пользователя.
Согласно одному из частных вариантов реализации ограничение на выполнение приложением-потребителем операций включает одно из: запрет, разрешение.
Согласно другому частному варианту реализации политика открытия включает запрет на выполнение приложением-потребителем операций, на которые содержится запрет по крайней мере в одной из: политике доступа к файлу, политике запуска приложения-потребителя.
Согласно еще одному частному варианту реализации политика открытия включает разрешение на выполнение приложением-потребителем операций, на которые содержится запрет по крайней мере в одной из: политике доступа к файлу, политике запуска приложения-потребителя.
Согласно одному из частных вариантов реализации задан приоритет ограничения для по меньше мере одной из: политики доступа к файлу; политики запуска приложения-потребителя, при этом упомянутый приоритет ограничения используется при определении политики открытия файла.
Согласно другому частному варианту реализации политика открытия файла приложением-потребителем наследует ограничение с большим приоритетом ограничения одной из: политики доступа к файлу; политики запуска приложения-потребителя.
Согласно еще одному из частных вариантов реализации политика открытия файла приложением-потребителем определяет правила открытия файла, содержащие по крайней мере одно из: разрешить открытие, запретить открытие.
Согласно одному из частных вариантов реализации политика доступа к файлу определяет для приложения, запросившего доступ к упомянутому файлу, правила, содержащие по крайней мере одно из: разрешить открытие, запретить открытие.
Согласно другому частному варианту реализации политика запуска приложения-потребителя определяет правила, содержащие по крайней мере одно из: разрешить открытие, запретить открытие.
Согласно варианту реализации используется система открытия файлов, созданных уязвимыми приложениями, содержащая: приложение-источник, предназначенное для создания файла; средство наблюдения, предназначенное для: определения создания файла приложением-источником; определения параметров созданного файла; средство анализа, связанное со средствомнаблюдения и предназначенное для определения по меньшей мере одной уязвимости в приложении-источнике; средство определения политик, связанное со средством анализа и предназначенное для: определения политики доступа к файлу в зависимости от информации, определенной средством наблюдения и средством анализа; определения политики запуска файла приложением-потребителем; определения по меньшей мере одной политики открытия файла приложением-потребителем в зависимости от: политики доступа к файлу, политики запуска файла приложением-потребителем; упомянутое приложение-потребитель, предназначенное для открытия созданного файла; средство контроля, связанное со средством определения политик и предназначенное для: перехвата открытия созданного файла приложением-потребителем; выполнения открытия созданного файла приложением-потребителем в соответствии с политикой открытия.
Согласно одному из частных вариантов реализации средство наблюдения предназначено для определения создания файла приложением по меньшей мере одним из способов: с помощью драйвер-фильтра файловой системы; с помощью перехвата вызовов системного API; с использованием API, предоставляемого приложениями.
Согласно другому частному варианту реализации средство анализа дополнительно предназначено для определения, является ли приложение-источник источником недоверенных файлов.
Согласно еще одному частному варианту реализации средство анализа определяет принадлежность приложения-источника к источнику недоверенных файлов с помощью по меньшей мере одного из: базы данных приложений, которая содержит список приложений, являющихся источником недоверенных файлов; анализа поведения приложения-источника, при этом поведение приложения-источника включает загрузку уязвимых модулей; метаданных приложения.
Согласно одному из частных вариантов реализации средство контроля осуществляет перехват открытия созданного файла приложением-потребителем по меньшей мере одним из способов: с помощью драйвер-фильтра файловой системы; с помощью перехвата вызовов системного API; с использованием API, предоставляемого приложениями.
Согласно другому частному варианту реализации параметры файла включают по крайней мере один из: тип файла; размер файла; электронную цифровую подпись файла; издатель сертификата; источник файла; наличие файла в списке доверенных файлов; расширение файла.
Согласно еще одному частному варианту реализации средство анализа дополнительно предназначено для проведения антивирусной проверки созданного файла в зависимости от определенной средством наблюдения информации, при этом параметры созданного файла содержат результаты антивирусной проверки.
Согласно одному из частных вариантов реализации средство анализа дополнительно предназначено для определения наличия по крайней мере одного из: устраненных уязвимостей в приложении; уязвимостей в предыдущих версиях приложения; устраненных уязвимостей в предыдущих версиях приложения; уязвимостей в приложении-потребителе.
Согласно другому частному варианту реализации приложением-потребителем является одно из: приложение, которое создало файл; созданный файл, когда упомянутый созданный файл является одним из: процесс, исполняемый файл, файл сценария, подключаемая библиотека.
Согласно еще одному частному варианту реализации политика открытия файла приложением-потребителем определяет права доступа упомянутого приложения-потребителя к ресурсам компьютера.
Согласно одному из частных вариантов реализации политика доступа к файлу определяет права доступа к ресурсам компьютера для приложения, запросившего доступ к упомянутому файлу.
Согласно другому частному варианту реализации политика запуска приложения-потребителя определяет права доступа упомянутого приложения-потребителя к ресурсам компьютера.
Согласно еще одному частному варианту реализации права доступа к ресурсам компьютера включают ограничение на выполнение приложением-потребителем одной или нескольких из операций: низкоуровневый доступ к файловой системе; низкоуровневый доступ к диску; запуск драйвера; модификацию реестра; прямой доступ к памяти; получение дескриптора процесса; использование API браузера; модификация файлов с расширениями «.ехе» и «.dll» в каталогах «%SystemRoot%» и «%ProgramFiles%» со всеми подкаталогами; создание и модификация файлов в каталоге «Startup»; создание и модификация ключей автозапуска; доступ к файловым ресурсам, адрес которых включает переменные окружения; доступ к реестровым ресурсам пользователя.
Согласно одному из частных вариантов реализации ограничение на выполнение приложением-потребителем операций включает одно из: запрет, разрешение.
Согласно другому частному варианту реализации политика открытия включает запрет на выполнение приложением-потребителем операций, на которые содержится запрет по крайней мере в одной из: политике доступа к файлу, политике запуска приложения-потребителя.
Согласно еще одному частному варианту реализации политика открытия включает разрешение на выполнение приложением-потребителем операций, на которые содержится запрет по крайней мере в одной из: политике доступа к файлу, политике запуска приложения-потребителя.
Согласно одному из частных вариантов реализации задан приоритет ограничения для по меньше мере одной из: политики доступа к файлу; политики запуска приложения-потребителя, при этом упомянутый приоритет ограничения используется при определении политики открытия файла.
Согласно другому частному варианту реализации политика открытия файла приложением-потребителем наследует ограничение с большим приоритетом ограничения одной из: политики доступа к файлу; политики запуска приложения-потребителя.
Согласно еще одному из частных вариантов реализации политика открытия файла приложением-потребителем определяет правила открытия файла, содержащие по крайней мере одно из: разрешить открытие, запретить открытие.
Согласно одному из частных вариантов реализации политика доступа к файлу определяет для приложения, запросившего доступ к упомянутому файлу, правила, содержащие по крайней мере одно из: разрешить открытие, запретить открытие.
Согласно другому частному варианту реализации политика запуска приложения-потребителя определяет правила, содержащие по крайней мере одно из: разрешить открытие, запретить открытие.
Согласно еще одному частному варианту реализации используется система открытия файлов, созданных уязвимыми приложениями, дополнительно содержащая базу данных приложений, которая содержит по меньшей мере одно из: список приложений, посредством которых на компьютер может быть загружен нежелательный объект; список доверенных файлов; список уязвимостей в известных приложениях; список приложений, которым соответствуют политики открытия файлов; список неустраненных и устраненных уязвимостей, содержащихся во всех версиях приложения.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 иллюстрирует систему открытия файлов, созданных уязвимыми приложениями.
На Фиг. 2 приведен способ открытия файлов, созданных уязвимыми приложениями.
Фиг. 3 представляет пример компьютерной системы общего назначения.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Фиг. 1 иллюстрирует систему открытия файлов, созданных уязвимыми приложениями. Приложение является компьютерной программой, исполняемой на компьютере пользователя. Под приложением рассматривается набор версий одного программного продукта (например, Microsoft Word, Internet Explorer). Приложения, для которых когда-либо были найдены уязвимости, будут упоминаться далее как «уязвимые приложения». Кроме этого, приложения, посредством которых на компьютер могут быть доставлены недоверенные файлы или другие нежелательные объекты (например, вредоносное программное обеспечение), также будут рассматриваться как уязвимые приложения (например, веб-браузер, IM-клиент). В частном варианте реализации список приложений, посредством которых на компьютер могут быть загружены недоверенные файлы, может быть заранее сформирован на стороне разработчика и сохранен на компьютере пользователя в базе данных приложений 106. Система содержит приложение-источник 101, предназначенное для создания файла 102. Средство наблюдения 103 служит для определения создания файла 102 приложением-источником 101, а также для определения параметров созданного файла. Средство анализа 104 связано со средством наблюдения 103 и предназначено для определения наличия уязвимостей в приложении-источнике 101. В частном варианте реализации средство анализа 104 дополнительно предназначено для определения принадлежности приложения-источника 101а к источнику не доверенных файлов с помощью одного из:
- базы данных приложений 106, которая содержит список приложений, являющихся источником недоверенных файлов;
- анализа поведения приложения-источника, при этом поведение приложения-источника включает загрузку уязвимых модулей;
- метаданных приложения.
Параметры файла 102 могут включать, например: тип, размер, электронную цифровую подпись (ЭЦП), имя издателя сертификата ЭЦП, источник файла, наличие файла в списке доверенных файлов, расширение файла и пр. В частном варианте реализации список доверенных файлов может содержаться в базе данных приложений 106. Средство определения политик 105 связано со средством анализа 104 и предназначено для определения политики доступа к созданному файлу 102 в зависимости от определенной средством наблюдения 103 и средством анализа 104 информации. Доступ к файлу 102 может быть запрошен, например, приложением-потребителем 101а. Средство контроля 107 связано со средством определения политик 105 и предназначено для перехвата открытия файла 102 приложением-потребителем 101а. Средство определения политик 105 дополнительно предназначено для определения политики открытия файла 102 приложением-потребителем 101а в зависимости от политики доступа к файлу, а также от политики запуска приложения-потребителя 101а. Средство контроля 107 дополнительно предназначено для осуществления контроля за открытием файла 102 приложением-потребителем 101а в соответствии с политикой открытия.
В частном варианте реализации приложение-потребитель 101а, выполняющее открытие файла 102, может совпадать с приложением-источником 101 (например, Microsoft Word создал текстовый файл, который позже будет открыт также в Microsoft Word). В другом варианте реализации, приложение-потребитель 101а может быть файлом 102, если он является исполняемым файлом, файлом сценария или динамически подключаемой библиотекой (например, с помощью интернет-браузера был загружен и сохранен на диск исполняемый файл, который далее будет исполнен на компьютере без использования сторонних приложений). Под открытием файла понимается как непосредственно открытие файла приложением-потребителем 101а, когда файл не является исполняемым файлом, так и исполнение файла, когда файл является исполняемым файлом.
В частном варианте реализации средство анализа 104 дополнительно предназначено для определения наличия уязвимостей в предыдущих версиях приложения-источника 101. Определение наличия уязвимостей может происходить с использованием базы данных приложений 106, которая содержит список уязвимостей в известных приложениях. В еще одном варианте реализации средство анализа 104 дополнительно предназначено для определения наличия устраненных уязвимостей в приложении-источнике 101, а также в предыдущих версиях приложения-источника 101. В еще одном варианте реализации средство анализа 104 предназначено для определения наличия уязвимостей в приложении-потребителе 101а. Под устраненными уязвимостями подразумеваются уязвимости, для которых производителем ПО было выпущено обновление, устраняющее ошибки, которые могли быть эксплуатированы злоумышленником. Кроме этого, такие обновления должны быть установлены на компьютерной системе пользователя. Уязвимости, для которых еще не было выпущено или установлено исправляющее обновление, далее будут называться «уязвимости».
Политика доступа к файлу определяет права доступа приложения, которое использует файл, к ресурсам компьютера. Политика открытия файла приложением-потребителем 101а, а также политика запуска приложения-потребителя 101а могут определять права доступа приложения-потребителя 101а к ресурсам компьютера. В частном варианте реализации права доступа включают ограничение (запрет или разрешение) на выполнение приложением-потребителем 101а различных операций с ресурсами компьютера, например, запрет на:
- низкоуровневый доступ к файловой системе;
- низкоуровневый доступ к диску;
- запуск драйвера;
- модификацию реестра;
- прямой доступ к памяти;
- получение дескриптора процесса;
- использование API (англ. application programming interface - интерфейс программирования приложений) браузера;
- модификацию файлов с расширениями «.ехе» и «.dll» в каталогах, определенных переменными окружения «%SystemRoot%» и «%ProgramFiles%», со всеми подкаталогами;
- создание и модификацию файлов в каталоге «Startup»;
- создание и модификацию ключей автозапуска;
- доступ к файловым ресурсам, адрес которых включает переменные окружения;
- доступ к реестровым ресурсам пользователя.
В частном варианте реализации политика открытия файла 102 приложением-потребителем 101а определяет правила запуска приложения-потребителя 101а. Например, разрешить или запретить открытие файла 102. В другом частном варианте реализации политика доступа к файлу 102 определяет для приложения, запросившего доступ к файлу, правила доступа (например, запретить или разрешить открытие файла). В еще одном примере реализации, такие же правила могут быть определены политикой для запуска приложения-потребителя 101а.
В частном варианте реализации в базе данных политик 106 может дополнительно содержаться список приложений, которым соответствуют: политики открытия файлов; список неустраненных и устраненных уязвимостей, содержащихся во всех версиях приложения.
На Фиг. 2 приведен способ открытия файлов, созданных уязвимыми приложениями. На первом шаге 201 приложение 101 создает файл 102. Средство наблюдения 103 определяет это событие и далее на шаге 202 средство анализа 104 определяет наличие уязвимостей в приложении 101. Определение события создания файла 102 приложением 101 может быть осуществлено средством наблюдения 103 любым известным из уровня техники способом, например:
- с помощью драйвера, контролирующего открытие файлов (например, драйвер-фильтра файловой системы);
- с помощью перехвата вызовов системного API;
- с использованием API, предоставляемого приложениями.
В частном варианте реализации средство анализа 104 дополнительно определяет наличие уязвимостей в предыдущих версиях приложения-источника 101, наличие устраненных уязвимостей в последней и в предыдущих версиях приложения-источника 101, а также наличие уязвимостей в приложении-потребителе 101а. Если приложение-источник 101 никогда прежде не содержало уязвимостей, средство анализа 104 определяет, является ли приложение-источник 101 источником недоверенных файлов, например, с использованием базы данных приложений 106. На шаге 203 средство анализа 104 определяет параметры созданного файла 102. Среди параметров могут быть, например: тип файла, размер файла, ЭЦП файла, источник сертификата ЭЦП, источник файла, присутствие файла в списке доверенных файлов, расширение файла и пр.
В частном варианте реализации, в зависимости от определенной на шаге 202 информации, средство анализа 104 проводит антивирусную проверку созданного файла. Антивирусная проверка файла 102 может быть проведена, например, если были найдены неустраненные уязвимости в приложении-источнике 101. Антивирусная проверка файла может включать все известные из уровня техники методы проверки, например: сигнатурный и эвристический анализы, эмуляцию и пр. Кроме этого, антивирусная проверка файла может включать проверку файла по спискам доверенных файлов, а также с использованием репутации файла в сообществе пользователей ПО производителя. При этом если приложение-источник 101 не содержит уязвимостей, антивирусная проверка файла 102 может не проводиться. Результаты антивирусной проверки также будут являться параметрами файла (например, файл не содержится в базе данных вредоносного ПО, файл является рекламной программой и пр.).
На этапе 204 средство определения политик 105 определяет политику доступа к файлу 102 в зависимости от информации, определенной на этапах 202, 203. В частном варианте реализации политика доступа определяет права доступа приложения-потребителя 101а к ресурсам компьютера, которые были перечислены ранее при описании Фиг. 1. В еще одном варианте реализации политика доступа определяет правила открытия, такие как, например, разрешить или запретить открытие файла 102.
В частном варианте реализации приложением-потребителем 101а может быть приложение-источник 101, создавшее файл 102. В то же время, если сам файл 102 является исполняемым файлом, файлом сценария или подключаемой библиотекой, то приложением-потребителем 101а является файл 102.
В одном из частных вариантов реализации приложение-потребитель 101а выполняет открытие файла 102 согласно определенной на этапе 204 политике открытия файла.
В таблице 1 приведен пример политик доступа к файлу 102 приложением-потребителем 101а.
В первых двух строках таблицы содержится информация о наличии уязвимостей в последней версии приложения-источника 101, а также в предыдущих версиях приложения-источника 101. В приложении-источнике 101 могут содержаться критические уязвимости, представляющие существенную опасность компьютерной системе пользователя (например, на компьютер могут быть установлены вредоносные программы для кражи паролей или финансовой информации), а также некритические уязвимости. Кроме этого, рассматриваются устраненные уязвимости. Отдельно рассматривается случай, когда приложение-источник 101 является источником недоверенных файлов.
В первых двух столбцах находится информация о параметрах файла. В примере, приведенном в таблице 1, рассматривается параметр «тип файла», который может быть разрешенным или запрещенным для открытия приложением-источником 101. Например, приложение Microsoft Word предназначено для работы с файлами текстового формата, и не предназначено для работы с мультимедийными или исполняемыми файлами. В то же время Microsoft Word может создать файл с расширением «.doc», содержащий макрос, т.е. сценарий выполнения команд. В этом случае тип файла является разрешенным, однако из-за возможности использования макроса злоумышленниками, могут быть ограничены права доступа приложения Microsoft Word во время работы с данным файлом.
В ячейках таблицы 1 содержатся политики открытия файлов в зависимости от наличия уязвимостей в приложении 101 и параметров файла 102. Согласно таблице 1, если последняя версия приложения содержит критические уязвимости, которые не были исправлены, а тип файла является разрешенным типом файла, его открытие будет запрещено вне зависимости от того, является ли файл 102 исполняемым или неисполняемым. В другом примере, если приложение 101 содержит некритические уязвимости, то открытие исполняемых файлов будет запрещено, в то время как открытие неисполняемых файлов будет разрешено, однако стороннему приложению 101а будет запрещен либо ограничен доступ к ресурсам компьютера. Под ограниченным доступом к ресурсам компьютера подразумевается запрет доступа к части ресурсов компьютера. Например, стороннему приложению 101а может быть запрещено модифицировать реестр, а остальные действия, приведенные в описании к Фиг. 1, разрешены. При этом в обоих рассмотренных примерах открытие файлов 102 запрещенных типов будет также запрещено.
В еще одном примере, если в последней версии приложения не были обнаружены уязвимости, однако в предыдущих версиях приложения были уязвимости, для которых были выпущены исправляющие их обновления, то неисполняемые файлы разрешенного типа будет разрешено открывать без ограничений. В то же время для исполняемых файлов разрешенного типа будет проведена антивирусная проверка.
В последнем столбце таблицы 1, согласно первому правилу, исполняемому файлу 102 разрешенного типа будет запрещен доступ к ресурсам компьютера, если приложение-источника 101 является источником недоверенных файлов.
На шаге 205 приложение-потребитель 101а запрашивает открытие файла 102, в это время средство контроля 107 перехватывает открытие файла 102 и на шаге 206 средство определения политик 105 определяет политики запуска, связанные с приложением-потребителем 101а.
Перехват запросов приложения-потребителя 101а на открытие файлов может быть осуществлен средством контроля 107 любым известным из уровня техники способом, например:
- с помощью драйвер-фильтра файловой системы;
- с помощью перехвата вызовов системного API;
- с использованием API, предоставляемого приложениями.
На шаге 207 средство определения политик 105 определяет политику открытия файла 102 приложением-потребителем 101а в зависимости от политики доступа к файлу и политики запуска приложения-потребителя 101а.
В таблице 2 приведен возможный пример определения политики открытия файла 102 приложением-потребителем 101а. В частном варианте реализации политика открытия файла приложением-потребителем 101а может быть определена как наиболее строгая (запрещающая) из политики запуска приложения-потребителя 101а и политики открытия файла 102. Примером такого правила служит правило 1 в таблице 2.
В то же время согласно примеру в правиле 2 таблицы 2 итоговая политика открытия файла может быть наименее строгая из политики доступа к файлу и политики запуска приложения-потребителя 101а - разрешить доступ к ресурсам.
В еще одном варианте реализации для ограничений, содержащихся в политиках, могут быть заданы различные приоритеты. Правило 3 является примером выбора политики открытия файла в зависимости от приоритетов ограничений, заданных в политике доступа к файлу и политике запуска приложения-потребителя 101а. Например, в политике доступа к файлу определен запрет на модификацию реестра с приоритетом 1, в то время как в политике запуска приложения-потребителя 101а модификация реестра разрешена и имеет больший приоритет 2. Таким образом, итоговая политика открытия файла приложением-потребителем 101а будет содержать разрешительное правило на модификацию реестра. Разрешительные правила в политике открытия файла приложением-потребителем 101а также будут содержать разрешение на создание модификации ключей автозапуска с приоритетом 2, унаследованные от политики доступа к файлу, а также разрешение на низкоуровневый доступ к файловым ресурсам, так как данное ограничение содержится только в политике запуска приложения-потребителя 101а. Итоговая политика открытия файла также будет содержать запрет на низкоуровневый доступ к диску, унаследованный от политики доступа к диску с большим приоритетом, чем аналогичное разрешительное правило в политике запуска приложения-потребителя 101а. Несмотря на низкий приоритет, запрет на прямой доступ к памяти содержится только в политике доступа к файлу и поэтому будет унаследован политикой открытия файла.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.