Область техники
Настоящее описание в общем случае относится к установке “заплаток” на файлы, и более конкретно, к автоматическому, исчерпывающему, надежному и свободному от ухудшений способу обеспечения “заплаток” безопасности для уязвимых бинарных программных файлов в распределенных неоднородных вычислительных средах.
Существующий уровень техники
Разработка программного обеспечения является непрерывным процессом, в котором программный продукт, впервые ставший доступным для публики, может непрерывно обновляться путем выпуска версий от разработчика/поставщика программного обеспечения. Версии программного обеспечения обычно распространяются поставщиком программного обеспечения в виде так называемых пакетов обновления (service pack), которые могут быть загружены или заказаны у поставщика для установки на компьютере пользователя. Пакеты обновления обычно содержат поправки к программам (например, для операционной системы, прикладной программы и т.п.), которые устраняют проблемы (то есть ошибки, “баги”), обнаруженные в программном коде после первоначального выпуска продукта или после последнего выпуска пакета обновления.
В дополнение к тому, что они содержат поправки программных ошибок, пакеты обновления также могут содержать заплатки (вставки в программу) безопасности, разработанные специально для устранения уязвимостей (слабых мест), обнаруженных в программных файлах. “ Уязвимости ” в программах, обнаруженные после того, как программный продукт был выпущен, могут представлять собой серьезную угрозу безопасности из-за хакерской атаки или вирусов во всемирном масштабе. Поэтому, как только уязвимость обнаружена, задачей первостепенной важности становится немедленное и широкое распространение и установка заплаток для обеспечения безопасности на компьютеры, имеющие уязвимое программное обеспечение. Использование пакетов обновления, чтобы достичь немедленного и широкого распространения заплаток безопасности, теоретически может быть эффективным. Например, когда поставщик программного обеспечения обнаруживает уязвимость (слабое место), а затем разрабатывает заплатку безопасности, эта заплатка может быть размещена в составе новейшего пакета обновления на веб-сайте поставщика для пользователей для немедленной загрузки и установки. Это может помешать большинству хакеров и вирусов, которые намерены использовать обнаруженную уязвимость. Однако системные администраторы и другие пользователи программных продуктов в настоящее время испытывают несколько неудобств и/или сложностей, связанных с получением доступа к пакетам обновления и их установкой. Эти сложности обычно приводят к существенно меньшему распространению таких заплаток, чем предполагает поставщик, разрабатывающий заплатки. В результате на множестве компьютеров по всему миру слабые места остаются неисправленными, подвергая такие компьютеры значительному риску.
Одна из сложностей с получением доступа к пакетам обновления и их установкой заключается в том, что существующие способы обнаружения того, запущено ли на компьютере программное обеспечение с известной уязвимостью, требуют активного использования и вовлеченности самого компьютера. Например, доступные в настоящий момент способы могут определить, требуется ли обновление конкретным версиям программных продуктов на компьютере (например, с помощью заплатки безопасности). Однако в такое определение включены только те программные продукты, которые запущены на компьютере. Вспомогательные операционные системы и приложения, которые в настоящий момент не запущены на компьютере, не рассматриваются, а следовательно, могут иметь уязвимость (слабое место в) безопасности, которая останется невыявленной и неисправленной. Для тех продуктов, которые выполняются на компьютере, пользователь может просмотреть список доступных обновлений и выбрать обновления для установки. Некоторыми обновлениями могут быть критические обновления, предназначенные для защиты компьютера от известных уязвимостей безопасности. Различные обновления требуют от пользователя перезагрузки компьютера до того, как установка закончится. Кроме того, пользователь может активно выбирать обновления и устанавливать их. По этим и другим причинам существующие способы получения доступа к заплаткам безопасности и их установки менее чем эффективны.
Другая из сложностей с получением доступа к пакетам обновления и их установкой заключается в знании того, нужна или нет заплатка безопасности на этом компьютере. Иногда пользователям сложно узнать, выполняется ли на их компьютерах программное обеспечение, которое уязвимо. Более того, существующие способы обнаружения того, запущено ли на компьютере программное обеспечение с известной уязвимостью или нет, могут быть неспособны определять некоторые конфигурации программных продуктов, про которые известно, что они уязвимы. Например, совместно используемые версии некоторых программных продуктов могут распространяться как части других продуктов. Таким образом, хотя совместно используемая версия продукта может содержать ту же уязвимость, что и полная версия продукта, совместно используемая версия может быть не распознана как продукт, требующий обновления с помощью заплатки безопасности. Таким образом, совместно используемые версии программных продуктов, про которые известно, что они имеют уязвимости безопасности, зачастую остаются неисправленными.
Другие проблемы с получением доступа к пакетам обновления и их установкой относятся к обычному способу пакета обновления, с помощью которых такие заплатки доставляются. Загрузка и установка пакетов обновления является долгим по времени процессом, выполняемым вручную, на выполнение которого многие системные администраторы просто не имеют времени. Поэтому, даже когда администраторы намереваются устанавливать заплатки безопасности, время между выпуском заплатки безопасности и ее установкой на данной системе может равняться неделям, месяцам, годам. Таким образом, риск атаки через слабое место в безопасности в таких системах не может быть уменьшен в течение долгого времени после того, как поставщик выпустил заплатку безопасности.
Более того, системные администраторы зачатую выбирают вариант полного отказа от загрузки и установки пакетов обновления, содержащих заплатки безопасности, даже когда понимают соответствующие риски безопасности. Причиной для этого является то, что установка пакета обновления сама по себе вносит риск ухудшения работы системы, который может привнести нежелательные изменения в поведение системы. Администраторы зачастую посвящают значительное время и усилия на то, чтобы устранить в системе все ошибки так, чтобы она работала желаемым образом. Как упомянуто выше, все-таки пакеты обновления представляют собой развитие предыдущей версии программного продукта, которая включает самые последние обновления в базе кода продукта (то есть объем изменений не ограничен только заплатками безопасности). В дополнение к привнесению нового и желаемого поведения в систему обновления имеющегося кода в пакете обновления могут привнести в систему неизвестные ошибки, могущие вызвать неожиданное поведение системы, что, в свою очередь, может создать значительные проблемы для системного администратора. Таким образом, системы зачастую не обновляются важными заплатками безопасности, направленными на исправление уязвимых программных файлов, поскольку администраторы не хотят рисковать из-за ухудшений.
Соответственно, существует необходимость в способе воплощения заплаток (вставок в программу) от “уязвимостей” (слабых мест в) безопасности в программных файлах автоматическим, исчерпывающим, надежным и свободным от ухудшений образом.
Сущность изобретения
Ниже описана автоматическая, исчерпывающая, надежная и свободная от ухудшений установка заплаток на бинарные программные файлы.
В соответствии с одним вариантом выполнения принимают бинарную сигнатуру уязвимости и заплатку безопасности. Уязвимый бинарный файл идентифицируется компьютером на основе бинарной сигнатуры уязвимости. Уязвимый бинарный файл на компьютере обновляется с помощью заплатки (вставки в программу) для обеспечения безопасности.
В соответствии с другим вариантом выполнения принимают бинарную сигнатуру, которая идентифицирует уязвимость безопасности в бинарном файле. Также принимают заплатку безопасности, воплощенную с возможностью исправлять слабое место безопасности. Бинарная сигнатура и заплатка безопасности распространяются на множество серверов.
В соответствии с другим вариантом выполнения от сервера принимают бинарную сигнатуру и используют для поиска по бинарным файлам. На сервер посылается запрос на заплатку безопасности, если в бинарном файле найдена бинарная сигнатура. Бинарный файл затем обновляется заплаткой безопасности.
Краткое описание чертежей
Одинаковые позиции используются на всех чертежах для обозначения одних и тех же компонентов и признаков.
Фиг.1 показывает примерную сетевую среду, пригодную для воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них.
Фиг.2 показывает примерное выполнение сервера распространения, сервера сканирования/установки заплаток и клиентского компьютера, пригодного для воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них.
Фиг.3 показывает другое примерное выполнение сервера распространения, сервера сканирования/установки заплаток и клиентского компьютера, пригодного для воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них.
Фиг.4-6 являются блок-схемами примерных способов воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них.
Фиг.7 показывает примерную вычислительную среду, пригодную для выполнения сервера распределения, сервера сканирования/установки заплаток и клиентского компьютера.
Подробное описание изобретения
Обзор
Нижеследующее описание относится к системам и способам, позволяющим устанавливать заплатки уязвимостей (вставки в программу для обеспечения) безопасности в бинарных файлах. Обнаружение уязвимых бинарных файлов и установка заплаток (исправление слабых мест) на них является автоматическим, надежным, свободным от ухудшений и исчерпывающим процессом в сетях неограниченного масштаба. Эти преимущества могут быть реализованы различными способами, включая, например, использование существующей антивирусной инфраструктуры, широко используемой в Интернет. Отделение заплаток безопасности от обычных пакетов обновления обеспечивает возможность выработки не ухудшающих исправлений уязвимостей безопасности в бинарных файлах.
Надежное обнаружение уязвимых бинарных файлов (например, в операционных системах, прикладных программах и т.п.) достигается путем использования бинарных сигнатур, которые связаны с уязвимостями безопасности. Бинарные сигнатуры, связанные с уязвимостями (слабыми местами) безопасности в бинарных файлах, а также заплатки безопасности, разработанные для исправления таких уязвимостей безопасности, выгружаются на центральный сервер распределения. Сервер распределения сконфигурирован так, чтобы распространять бинарные сигнатуры и заплатки безопасности в широких масштабах по различным сетям, таким как Интернет. Использование центрального сервера распределения для обновления сетевых серверов (например, через Интернет) обеспечивает исчерпывающий и автоматический охват заплаток в неограниченных масштабах. Сетевые серверы, принимающие такие обновления, могут сканировать клиентские компьютеры в подчиненных сетях, чтобы выявить уязвимые файлы в соответствии с бинарными сигнатурами, а затем обновлять те компьютеры, на которых обнаружены уязвимые в безопасности файлы с использованием соответствующих заплаток безопасности, которые исправят уязвимые файлы. Сетевые серверы также могут связываться с клиентскими компьютерами, чтобы передать бинарные сигнатуры и заплатки безопасности на компьютеры, так что сканирование и обновление могут проводиться самими компьютерами. Также могут существовать множество вложенных уровней подчиненных сетей.
Пример вычислительной среды
Фиг.1 показывает примерную сетевую среду 100, пригодную для воплощения автоматического обнаружения уязвимостей (слабых мест) безопасности в бинарных файлах и установки заплаток на них. В примерной сетевой среде 100 центральный сервер 102 распространения подключен ко множеству серверов 104 сканирования/установки заплаток через сеть 106(а). Сервер 104 сканирования/установки заплаток обычно подключен через сеть 106(b) ко множеству клиентских компьютеров 108(1)-108(n). Сеть 106 представляет собой любую из множества обычных топологий и типов (включая оптические, проводные и/или беспроводные сети), использующих любой из множества обычных сетевых протоколов (включая публичные (открытые) и проприетарные (частные) протоколы). Сеть 106 может включать в себя, например, Интернет, равно как, возможно, по меньшей мере части одной или более локальных вычислительных сетей (ЛВС) и/или глобальных вычислительных сетей (ГВС). Сети 106(а) и 106(b) могут быть одной и той же сетью, такой как Интернет, или они могут быть сетями, изолированными друг от друга, как Интернет и корпоративная ЛВС.
Сервер 102 распространения и серверы 104 сканирования/установки заплаток обычно воплощены как стандартные веб-серверы, и каждый из них может быть любым из множества обычных компьютерных устройств, включая настольные ПК, ноутбуки или портативные компьютеры, рабочие станции, мейнфреймы, бытовые устройства с подключением к Интернет, их сочетания и т.п. Один или более серверов 102 и 104 могут быть устройствами одинакового типа, или, альтернативно, устройствами различного типа. Примерная вычислительная среда для воплощения сервера 102 распространения и сервера 104 сканирования/установки заплаток более подробно описана ниже со ссылками на фиг.7.
Клиентские компьютеры 108 действуют в типичной взаимосвязи клиент-сервер с сервером 104, где множество клиентов 108 делают запросы на сервер 104, который обрабатывает запросы. Клиентскими компьютерами 108 могут быть любые из множества обычных компьютерных устройств, включая настольные ПК, ноутбуки или портативные компьютеры, рабочие станции, мейнфреймы, игровые приставки, переносные ПК, сотовые телефоны и другие беспроводные устройства, персональные цифровые помощники (КПК), их сочетания и т.п. Один или более клиентских компьютеров 108 могут быть устройствами одинакового типа, или, альтернативно, устройствами различного типа. Примерная вычислительная среда для воплощения клиентского компьютера 108 более подробно описана ниже со ссылками на фиг.7.
В общем случае автоматическое обнаружение уязвимых бинарных файлов и установка заплаток на них на клиентских компьютерах 108 достигается с помощью обновлений, которые делаются через сервер 102 распространения, причем обновления включают в себя бинарные сигнатуры для идентификации уязвимых бинарных файлов и заплатки безопасности для исправления уязвимых файлов. Как более подробно обсуждено ниже по отношению к примерным вариантам выполнения, бинарные сигнатуры и заплатки безопасности распространяются на серверы 104 сканирования/установки заплаток, которые, в свою очередь, либо активно сканируют и обновляют уязвимые бинарные файлы на клиентских компьютерах 108, либо отправляют бинарные сигнатуры и заплатки безопасности на клиентские компьютеры 108, так что клиентские компьютеры 108 могут выполнять сканирование уязвимых бинарных файлов и установку заплаток на них.
Примерные варианты выполнения
Фиг.2 показывает примерное выполнение сервера 102 распространения, сервера 104 сканирования/установки заплаток и клиентского компьютера 108, пригодного для воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них.
Сервер 102 распространения включает в себя модуль 200 распространения и базу 202 данных для приема и сохранения бинарных сигнатур и заплаток безопасности. База 202 данных может обновляться бинарными сигнатурами и заплатками безопасности множеством способов, включая, например, переносной носитель данных (не показан, см. фиг.7) или компьютерное устройство (не показано), подключенное к серверу 102 и выполненное с возможностью выгружать бинарные сигнатуры и заплатки безопасности в базу 202 данных.
Обычный сценарий, по которому база 202 данных может быть обновлена, начинается с изучения программного продукта (например, операционной системы, прикладной программы и т.п.), инициированного разработчиком программного продукта. Например, разработчик может нанять фирму-консультанта по безопасности, чтобы попытаться найти уязвимости безопасности в только что выпущенном программном продукте. Если в программном продукте уязвимость безопасности обнаружена с помощью взлома или другими средствами, должна быть идентифицирована точная битовая комбинация уязвимой функции в продукте. Битовая комбинация представляет бинарную сигнатуру уязвимой части бинарного файла, который является компонентом программного продукта.
Когда уязвимость безопасности обнаружена и проанализирована, может быть разработана поправка, которая устранит эту уязвимость. Такие поправки называются заплатками безопасности и могут представлять пересмотренные модули кода, скомпилированные в бинарные выполняемые файлы. Заплатки безопасности могут быть установлены на компьютеры, которые идентифицированы с помощью бинарной сигнатуры, как выполняющие программы, которые имеют уязвимость (слабое место) безопасности. Установка заплатки безопасности исправит уязвимость безопасности. Сервер 102 распространения дает возможность поставщикам программных продуктов и другим людям загружать бинарные сигнатуры уязвимых бинарных файлов вместе с заплатками безопасности, разработанными для исправления уязвимых бинарных файлов в базу 202 данных для распространения.
Модуль 200 распространения сконфигурирован так, чтобы распространять бинарные сигнатуры и заплатки безопасности из базы 202 данных на различные серверы 104 сканирования-установки заплаток через сеть 106. Модуль 200 обычно функционирует автоматически, чтобы распространять бинарные сигнатуры и заплатки обновления из базы 202 данных, даже когда база 202 данных обновляется дополнительными подписями и заплатками. Автоматическое распространение может быть выполнено множеством путей, например, с помощью связи от модуля 200 распространения с серверами 104 сканирования-установки заплаток, показывающей, что обновленные бинарные сигнатуры и заплатки безопасности доступны и ждут запросов на отправку бинарных сигнатур и заплаток обновления, либо с помощью автоматического перенаправления обновленных бинарных сигнатур и заплаток безопасности на серверы 104 сканирования-установки заплаток, сконфигурированных принимать обновления.
В варианте выполнения по фиг.2 сервер 104 сканирования-установки заплаток включает в себя блок 204 сканирования-установки заплаток и базу 206 данных для приема и сохранения бинарных сигнатур и заплаток безопасности. База 206 данных обычно обновляется новыми бинарными сигнатурами и заплатками безопасности автоматически с помощью связи между модулем 204 сканирования-установки заплаток и модулем 200 распространения на сервере 102 распространения. В дополнение к обновлению базы 206 данных бинарными сигнатурами и заплатками безопасности, модуль 204 сканирования-установки заплаток выполнен с возможностью получать доступ на клиентский компьютер 108 и сканировать бинарные файлы 208 в поисках бинарных сигнатур. Сканирование бинарных файлов 208 может включать в себя поиск бинарной сигнатуры в бинарных файлах на любом типе носителя, имеющемся на клиентском компьютере 108 или доступном для него. Бинарные файлы 208 обычно включают в себя скомпилированный считываемый компьютером/процессором код, такой как файл операционной системы или файл прикладной программы. Отметим, однако, что бинарные файлы 208 могут быть любой формой бинарной информации, включая считываемые компьютером/процессором команды, структуры данных, программные модули и другие данные для клиентского компьютера 108.
Как отмечено при обсуждении примерной компьютерной среды на фиг.7, такие носители на клиентском компьютере могут включать в себя любые пригодные носители, к которым может получить доступ клиентский компьютер 108, такие как энергозависимые и энергонезависимые носители, равно как съемный и несъемный носители. Такие считываемые компьютером/процессором носители могут включать в себя энергозависимую память, такую как оперативное запоминающее устройство (ОЗУ), и/или энергонезависимую память, такую как постоянное запоминающее устройство (ПЗУ). Считываемые компьютером/процессором носители также могут включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, такие как, например, привод жестких дисков для считывания и записи в несъемную энергонезависимую магнитную среду, привод магнитных дисков для считывания и записи на съемный энергонезависимый магнитный диск (например, на “флоппи диск”), привод оптических дисков для считывания и записи на съемный энергонезависимый оптический диск, такой как CD-ROM, DVD-ROM или другие оптические носители, другие устройства магнитного хранения, карты флэш-памяти, электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ) (EEPROM), доступные по сети носители и т.п. Все такие считываемые компьютером/процессором носители, обеспечивающие как энергозависимое, так и энергонезависимое хранение любого типа бинарных файлов 208, включая считываемые компьютером/процессором команды, структуры данных, программные модули и другие данные для клиентского компьютера 108, доступны для сканирования сервером 104 сканирования/установки заплаток через модуль 204 сканирования/установки заплаток.
Модуль 204 сканирования-установки заплаток, таким образом, сканирует бинарные файлы 208 на клиентском компьютере 108, чтобы определить, имеется ли бинарная сигнатура, идентифицирующая уязвимость безопасности в любой бинарной информации, расположенной на клиентском компьютере 108. Если в бинарном файле 208 обнаружена битовая комбинация бинарной сигнатуры, модуль 204 сканирования-установки заплаток выполняет исправление уязвимости безопасности в бинарном файле 208 путем установки соответствующей заплатки безопасности на клиентский компьютер 108. Установка заплатки безопасности на клиентский компьютер 108 перезаписывает или, напротив, удаляет бинарный файл или часть бинарного файла, содержащую уязвимость (слабое место) безопасности.
Фиг.3 показывает другое примерное выполнение сервера 102 распространения, сервера 104 сканирования-установки заплаток и клиентского компьютера 108, пригодного для воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них. В общем случае в выполнении по фиг.3 бинарные сигнатуры и заплатки безопасности отправляются или перераспределяются от сервера 104 на клиентские компьютеры 108, а сканирование в поисках уязвимых в безопасности файлов и установка заплаток на уязвимые в безопасности файлы проводится клиентским компьютером вместо сервера 104 сканирования-установки заплаток.
В варианте выполнения по фиг.3 сервер 102 распространения сконфигурирован таким же образом, как обсуждено выше по отношению к выполнению по фиг.2. Таким образом, база 202 данных может обновляться, чтобы включать только что обнаруженные бинарные сигнатуры, которые идентифицируют уязвимости (слабые места) безопасности в бинарных файлах. База данных 202 также может обновляться соответствующими заплатками безопасности, которые были разработаны, чтобы исправить эти уязвимости безопасности.
Сервер 104 сканирования-установки заплаток по фиг.3 сконфигурирован практически так же, как описано выше по отношению к фиг.2. Таким образом, сервер 104 сканирования/установки заплаток по фиг.3 включает в себя базу 206 данных для приема и сохранения бинарных сигнатур и заплаток безопасности. База 206 данных обычно обновляется новыми бинарными сигнатурами и заплатками безопасности автоматически с помощью связи между сервером 104 сканирования-установки заплаток и сервером 102 распространения. Однако связь между сервером 104 сканирования-установки заплаток и сервером 102 распространения производится через модуль 300 перераспределения, вместо модуля 204 сканирования-установки заплаток, как описано по отношению к варианту выполнения по фиг.2.
Модуль 300 перераспределения в дополнение к обновлению базы 206 данных бинарными сигнатурами и заплатками безопасности сконфигурирован для связи с модулем 302 сканирования-установки заплаток на клиентском компьютере 108 и для передачи бинарной сигнатуры на клиентский компьютер 108. Модуль 302 сканирования-установки заплаток сконфигурирован так, чтобы принимать бинарную сигнатуру и сканировать бинарные файлы 208, чтобы определить, имеется ли бинарная сигнатура в любой бинарной информации, расположенной на клиентском компьютере 108. Таким образом, модуль 302 сканирования-установки заплаток по фиг.3 действует таким же образом, как и модуль 204 сканирования-установки заплаток, описанный выше по отношению к фиг.2.
Если в бинарном файле 208 на клиентском компьютере 108 обнаружена битовая комбинация бинарной сигнатуры, модуль 302 сканирования-установки заплаток посылает запрос на модуль 300 перераспределения на сервере 102. Этот запрос заставляет модуль 300 перераспределения отправить заплатку безопасности, соответствующую бинарной сигнатуре, на клиентский компьютер 108. Модуль 300 перераспределения отвечает на запрос путем отправки соответствующей заплатки безопасности на клиентский компьютер 108. Модуль 302 сканирования-установки заплаток принимает заплатку безопасности и выполняет исправление уязвимости безопасности в бинарном файле 208 путем установки соответствующей заплатки безопасности на клиентский компьютер 108. Как и в варианте выполнения на фиг.2, установка заплатки безопасности на клиентский компьютер 108 перезаписывает или, напротив, удаляет бинарный файл или часть бинарного файла, содержащие уязвимость безопасности.
Примерные способы
Примерные способы воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них будут описаны ниже со ссылками на блок-схемы алгоритма на фиг.4-6. Эти способы в общем случае применяются к примерным вариантам выполнения, описанным выше со ссылкой на фиг.1-3. Элементы описываемых способов могут выполняться любыми пригодными средствами, включая, например, аппаратные логические блоки на ASIC (специализированных интегральных схемах), или путем выполнения считываемых процессором инструкций, имеющихся на считываемом процессором носителе.
Используемый здесь термин “ считываемый процессором носитель” может быть любым средством, которое может содержать, сохранять, связываться, распространять или передавать инструкции для использования или для выполнения процессором. Считываемым процессором носителем может быть, без ограничений, электронная, магнитная, оптическая, электромагнитная, инфракрасная или полупроводниковая система, устройство, прибор или среда распространения. Более конкретные примеры считываемого процессором носителя включают в себя, среди прочего, электрическое соединение (электронный), имеющее один или более проводов, переносимую компьютерную дискету (магнитный), оперативное запоминающее устройство (ОЗУ) (магнитный), постоянное запоминающее устройство (ПЗУ) (магнитный), стираемое программируемое постоянное запоминающее устройство (EEPROM или флеш-память), оптоволокно (оптический), перезаписываемый компакт-диск (CD-RW) (оптический), переносимое постоянное запоминающее устройство на компакт-диске (CD-ROM) (оптический).
Фиг.4 иллюстрирует примерный способ 400 воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них. Бинарные файлы обычно расположены или хранятся на локальном компьютере, обслуживаемом компьютером-сервером, но также могут быть расположены на самом компьютере-сервере или любом другом вычислительном устройстве, доступном для компьютера-сервера. На этапе 402 способа 400 принимают бинарную сигнатуру. Бинарная сигнатура является битовой комбинацией, которая связана с уязвимостью безопасности в конкретном бинарном файле, таком как исполняемая прикладная программа или операционная система, запущенная на клиентском компьютере. Бинарную сигнатуру принимают от центрального сервера 102 распространения подчиненным сервером 104.
На этапе 404 принимают заплатку безопасности. Заплаткой безопасности обычно является скомпилированный исполняемый код, который разработан для исправления уязвимости (слабого места) безопасности в конкретном бинарном файле. Заплатку безопасности также принимают от центрального сервера 102 распространения на подчиненном сервере 104. На этапе 406 уязвимый бинарный файл идентифицируется на основе бинарной сигнатуры. Идентификация уязвимого бинарного файла обычно достигается сканированием бинарной информации, хранящейся в различных средах на компьютере, таком как клиентский компьютер, и затем комбинация(-ии) в бинарной сигнатуре сравниваются бинарной информацией, найденной на носителях. Идентификация может проходить несколькими путями, включая, например, сканирование и сравнение всей бинарной информации, имеющейся на клиентском компьютере, сервером 104. Идентификация уязвимого бинарного файла также может быть достигнута тем, что сервер 104 отправляет бинарную сигнатуру на клиентский компьютер, так что клиентский компьютер может выполнить сканирование и сравнение.
На этапе 408 способа 400 заплатка безопасности используется для обновления уязвимого бинарного файла. Это обновление может быть достигнуто различными путями, включая, например, установку сервером 104 заплатки безопасности на клиентский компьютер 108. Если клиентский компьютер 108 выполнил сканирование и идентифицировал уязвимый бинарный файл, клиентский компьютер 108 может запросить, чтобы сервер 104 отправил на компьютер 108 заплатку безопасности, в этом случае компьютер 108 может установить заплатку безопасности для исправления уязвимого бинарного файла.
Фиг.5 показывает другой примерный способ 500 воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них. Способ 500 в общем случае иллюстрирует распространение бинарных сигнатур для уязвимостей безопасности и заплаток безопасности, разработанных для исправления этих уязвимостей безопасности. На этапе 502 способа 500 принимают бинарную сигнатуру, которая идентифицирует уязвимость (слабое место) безопасности в бинарном файле. Бинарная сигнатура обычно загружается на сервер 102 распространения в качестве вновь обнаруженной битовой комбинации, идентифицирующей уязвимость в бинарном файле программного продукта, который может быть широко распространен по множеству компьютеров в сети, такой как Интернет. Загрузка обычно достигается от компьютера, соединенного с сервером 102 распространения, либо с переносимого носителя данных, введенного в сервер 102 распространения. На этапе 504 заплатка безопасности, выполненная так, чтобы исправить уязвимость безопасности, принимается сервером 102 распространения таким же образом, как и бинарная сигнатура.
На этапе 506 бинарная сигнатура и заплатка безопасности распространяются на множество подчиненных серверов 104 от сервера 102 распространения. Это распространение происходит автоматически и может быть достигнуто несколькими путями. Например, при приеме загруженных бинарной сигнатуры и заплатки безопасности сервер 102 распространения может автоматически отправить бинарную сигнатуру и заплатку безопасности по сети на все подчиненные серверы 104, сконфигурированные для приема обновленные бинарные сигнатуры и заплатки безопасности. Сервер 102 распределения также может отправить уведомление на серверы 104, указывающее, что была обнаружена уязвимость и что доступна заплатка безопасности для исправления этой уязвимости. Подчиненные серверы 104 могут затем запросить сервер 102 распространения послать бинарную сигнатуру, которая идентифицирует уязвимость безопасности и заплатку безопасности. При получении запроса сервер 102 распространения может направить бинарную сигнатуру и заплатку безопасности на запрашивающие серверы 102.
Фиг.6 показывает другой примерный способ 600 воплощения автоматического обнаружения уязвимостей безопасности в бинарных файлах и установки заплаток на них. На этапе 602 способа 600 клиентский компьютер 108 принимает бинарную сигнатуру от сервера 104. Бинарная сигнатура связана с уязвимостью безопасности в бинарном файле, который может присутствовать на клиентском компьютере 108. На этапе 604 клиентский компьютер 108 сканирует всю бинарную информацию, доступную для него в настоящий момент, и сравнивает комбинацию(-ии) в бинарной сигнатуре с бинарной информацией. Бинарная информация, просканированная клиентским компьютером 108, обычно имеется в виде считываемых и/или исполняемых компьютером/процессором команд, структур данных, программных модулей и других данных, пригодных для клиентского компьютера 108, и может оставаться как в энергозависимом, так и в энергонезависимом носителе данных любого типа.
На этапе 606, если клиентский компьютер обнаруживает бинарный файл, который содержит бинарную сигнатуру, то он посылает запрос на сервер 104, чтобы получить заплатку безопасности. На этапе 608 клиентский компьютер принимает заплатку безопасности, а на этапе 610 клиентский компьютер 108 устанавливает заплатку безопасности, чтобы исправить уязвимость безопасности в бинарном файле, содержащем бинарную информацию, совпадающую с комбинацией(-ями) в бинарной сигнатуре.
Хотя один или более способов были раскрыты посредством блок-схем алгоритма и текста, связанного с этапами на блок-схемах алгоритма, должно быть понятно, что этапы не обязательно будут выполняться в том порядке, в котором они были представлены, и альтернативный порядок(-ки) могут выразиться в аналогичных преимуществах. Более того, способы не являются исключительными и могут выполняться параллельно и в сочетании друг с другом.
Примерный компьютер
Фиг.7 показывает примерную вычислительную среду, пригодную для воплощения сервера 102 распространения, сервера 104 сканирования-установки заплаток и клиентского компьютера 108, как описано выше со ссылками на фиг.1-3. Хотя на фиг.7 показана конкретная конфигурация, сервер 102 распространения, сервер 104 сканирования-установки заплаток и клиентский компьютер 108 могут быть воплощены в других вычислительных конфигурациях.
Вычислительная среда 700 включает в себя вычислительную систему общего назначения в форме компьютера 702. Компоненты компьютера 702 могут включать в себя - но не ограничиваться ими - один или более процессоров или процессорных блоков 704, системную память 706 и системную шину 708, которая соединяет различные компоненты системы, включая процессор 705 с системной памятью 706.
Системная шина 708 представляет любой один или более типов структур шин из нескольких, включая шину памяти и контроллер памяти, периферийную шину, ускоренный порт графики и процессор или локальную шину, использующую любую из множества архитектур шин. В примере системной шиной 708 будет шина PCI (межсоединение периферийных составляющих), также известная как Mezzanine шина.
Компьютер 702 обычно включает в себя множество считываемых компьютером носителей. Такими носителями могут быть любые доступные носители, к которым компьютер 702 может получить доступ, включающие как энергозависимые, так и энергонезависимые носители, равно как съемные и несъемные носители. Системная память 706 включает в себя считываемый компьютером носитель в форме энергозависимой памяти, такой как оперативное запоминающее устройство (ОЗУ) 710, и/или энергонезависимую память, такую как постоянное запоминающее устройство (ПЗУ) 712. Базовая система 714 ввода/вывода (BIOS), содержащая основные подпрограммы, которые помогают передавать информацию между элементами компьютера 702, такие как при загрузке компьютера, также хранится в ПЗУ 712. ОЗУ 710 обычно содержит модули данных и или программ, которые немедленно доступны и/или в текущий момент выполняются на процессорном блоке 704.
Компьютер 702 также может включать в себя другие съемные/несъемные носители и энергозависимые/энергонезависимые компьютерные носители данных. Например, на фиг.7 показаны привод 716 жестких дисков для считывания и записи на несъемный энергонезависимый магнитный носитель (не показан), привод 718 магнитных дисков для считывания и записи на съемный энергонезависимый магнитный диск 720 (например, на “флоппи диск”), привод 722 оптических дисков для считывания и записи на съемный энергонезависимый оптический диск 724, такой как CD-ROM, DVD-ROM или другие оптические носители. Каждый из привода 716 жестких дисков, привода 718 магнитных дисков и привода 722 оптических дисков подключен к системной шине 708 одним или более интерфейсами 726 носителей данных. Альтернативно, каждый из привода 716 жестких дисков, привода 718 магнитных дисков и привода 722 оптических дисков подключен к системной шине 708 интерфейсом SCSI (не показан).
Приводы дисков и их связанные считываемые компьютером носители обеспечивают энергонезависимое хранение считываемых компьютером команд, структур данных, программных модулей и других данных для компьютера 702. Хотя пример показывает жесткий диск 716, съемный магнитный диск 720 и съемный оптический диск 724, должно быть понятно, что другие типы считываемых компьютером носителей, которые могут сохранять данные так, что они будут доступны компьютеру, такие как магнитные кассеты или другие магнитные устройства хранения, карты флэш-памяти, CD-ROM, цифровые многофункциональные диски (DVD) или другое оптическое устройство хранения, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ), электрическое очищаемое программируемое постоянное запоминающее устройство (EEPROM) и т.п., могут быть использованы для воплощения примерной компьютерной системы и носителя.
Любое количество программных модулей может храниться на жестком диске 716, магнитном диске 720, оптическом диске 724, ПЗУ 712 и/или ОЗУ 710, включая, например, операционную систему 726, одну или более прикладных программ 728, другие программные модули 730 и данные 732 программы. Каждый из этих элементов - операционная система 726, одна или более прикладных программ 728, другие программные модули 730 и данные 732 программы (или некоторые их сочетания) - могут включать в себя выполнение схемы кэширования для использования информации пользователя о доступе в сеть.
Компьютер 702 может включать в себя множество считываемых компьютером/процессором носителей, идентифицируемых как носители связи. Носители связи обычно воплощают считываемые компьютером команды, структуры данных, программные модули и другие данные в модулированные сигналы данных, такие как сигналы несущих, или другой механизм передачи, и включают в себя любую среду доставки информации. Термин “модулированный сигнал данных” означает, что одна или более характеристик сигнала устанавливается или изменяется таким образом, чтобы закодировать информацию в сигнал. В качестве примера, а не ограничения, носители связи включают в себя проводные носители, такие как проводная сеть или прямое кабельное соединение, и беспроводные носители, такие как акустические, радиочастотные, инфракрасные и другие беспроводные носители. Сочетания любых из упомянутых выше носителей также включаются в объем считываемых компьютером носителей.
Пользователь может вводить команды и информацию в компьютерную систему 702 с помощью устройств ввода, таких как клавиатура 734 и координатное устройство 735 (например, “мышь”). Другие устройства 738 ввода (отдельно не показаны) могут включать в себя микрофон, джойстик, игровую приставку, спутниковую тарелку, последовательный порт, сканер и/или т.п. Эти и другие устройства ввода подключены к процессорному блоку 704 через интерфейсы 740 ввода/вывода, которые подключены к системной шине 708, но могут быть подключены и другими интерфейсами и структурами шин, такими как параллельный порт, игровой порт или по универсальной последовательной шине (USB).
Монитор 742 или другой тип устройства отображения также может быть подключен к системной шине 708 через интерфейс, такой как видеоадаптер 744. В дополнение к монитору 742, другие периферийные устройства вывода могут включать в себя компоненты, такие как колонки (не показаны) и принтер 746, который может быть подключен к компьютеру 702 через интерфейсы 740 ввода/вывода.
Компьютер 702 может работать в сетевой среде с использованием логических соединений с одним или более удаленных компьютеров, таким как удаленное вычислительное устройство 748. Например, удаленным вычислительным устройством 748 может быть персональный компьютер, переносимый компьютер, сервер, маршрутизатор, сетевой компьютер, одноранговое устройство или другое обычный узел сети и т.п. Удаленное вычислительное устройство 748 показано как переносимый компьютер, который может включать в себя множество или все элементы и признаки, описанные здесь относительно компьютерной системы 702.
Логические соединения между компьютером 702 и удаленным компьютером 748 показаны как локальная вычислительная сеть (ЛВС) 750 и глобальная вычислительная сеть (ГВС) 752. Такие сетевые среды являются общепринятыми в офисах, компьютерных сетях предприятий, интранет и в Интернет. Когда воплощается сетевая среда ЛВС, компьютер 702 подключен к локальной сети 750 через сетевой интерфейс или адаптер 754. При воплощении в сетевой среде ГВС компьютер 702 обычно включает в себя модем 756 или другое средство установления связи по глобальной сети 752. Модем 756, который может быть внутренним и внешним по отношению к компьютеру 702, может быть подключен к системной шине 708 через интерфейсы 740 ввода/вывода и другие подходящие механизмы. Должно быть понятно, что показанные сетевые соединения являются примерными, и что для установления канала(-ов) связи между компьютерами 702 и 748 могут быть использованы другие средства.
В сетевой среде, такой как показано с вычислительной средой 700, программные модули, показанные относящимися к компьютеру 702, или их части могут быть сохранены в удаленном устройстве хранения. Например, удаленные прикладные программы 758 остаются в устройстве памяти удаленного компьютера 748. В целях иллюстрации прикладные программы и другие исполняемые программные компоненты, такие как операционная система, показаны как дискретные блоки, хотя понятно, что такие программы и составляющие остаются в различное время в различных компонентах хранения компьютерной системы 702 и являются исполнимыми процессором(-ами) данных в компьютере.
Заключение
Хотя изобретение было описано языком, связанным со структурными признаками и/или методологическими действиями, должно быть понятно, что изобретение, определенное в формуле изобретения, не обязательно ограничено описанными конкретными признаками или действиями. Напротив, конкретные признаки и действия раскрыты в качестве примера воплощения заявленного изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ЗАЩИТА ОТ ИСПОЛЬЗОВАНИЯ УЯЗВИМОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ | 2007 |
|
RU2417429C2 |
СПОСОБ И СИСТЕМА ПОВЫШЕНИЯ БЕЗОПАСНОСТИ ЭЛЕКТРОННЫХ ТРАНЗАКЦИЙ ЧЕРЕЗ ИНТЕРНЕТ | 2012 |
|
RU2519503C1 |
СПОСОБ И СИСТЕМА ДЛЯ ОГРАНИЧЕНИЯ ОБНОВЛЕНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ | 2005 |
|
RU2375739C2 |
ТЭГОВАЯ СХЕМА РАСПРОСТРАНЕНИЯ МЕТАДАННЫХ ОБНОВЛЕНИЯ В СИСТЕМЕ РАСПРОСТРАНЕНИЯ ОБНОВЛЕНИЙ | 2005 |
|
RU2378686C2 |
ДОВЕРИТЕЛЬНАЯ СРЕДА ДЛЯ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ | 2008 |
|
RU2473122C2 |
ДИНАМИЧЕСКИЙ ИНДИКАТОР РЕПУТАЦИИ ДЛЯ ОПТИМИЗАЦИИ ОПЕРАЦИЙ ПО ОБЕСПЕЧЕНИЮ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ | 2017 |
|
RU2723665C1 |
Способ выявления угроз информационной безопасности (варианты) | 2023 |
|
RU2802539C1 |
МЕХАНИЗМ ПРОТИВ МОШЕННИЧЕСТВА НА ОСНОВЕ ДОВЕРЕННОГО ОБЪЕКТА | 2010 |
|
RU2541879C2 |
СИСТЕМА И СПОСОБ СТАТИЧЕСКОГО АНАЛИЗА ИСПОЛНЯЕМОГО ДВОИЧНОГО КОДА И ИСХОДНОГО КОДА С ИСПОЛЬЗОВАНИЕМ НЕЧЕТКОЙ ЛОГИКИ | 2021 |
|
RU2783152C1 |
ОСНОВАННЫЕ НА РЕПУТАЦИИ РЕШЕНИЯ ПО АВТОРИЗАЦИИ | 2007 |
|
RU2458393C2 |
Изобретение относится к вычислительной технике и может быть использовано для обеспечения безопасности бинарных программных файлов. В изобретении описаны системы и способы, которые дают возможность устанавливать заплатки от уязвимостей (слабых мест) безопасности в бинарных файлах. Обнаружение и установка заплаток на уязвимые бинарные файлы являются автоматическими, надежными, свободными от ухудшений и исчерпывающими в сетях неограниченного размера. Надежное обнаружение уязвимых бинарных файлов (например, в операционных системах, прикладных программах и т.п.) достигается путем использования бинарных сигнатур, которые связаны с обнаруженными уязвимостями безопасности. Отделение заплаток безопасности от обычных пакетов обновления обеспечивает возможность выработки не ухудшающих исправлений уязвимостей безопасности в бинарных файлах. 14 н. и 10 з.п. ф-лы, 7 ил.
1. Считываемый компьютером носитель, имеющий материальный компонент и содержащий исполняемые процессором команды, сконфигурированный для следующих операций:
приема бинарной сигнатуры в серверном вычислительном устройстве, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле, расположенном на клиентском вычислительном устройстве;
приема заплатки безопасности в серверном вычислительном устройстве;
идентификации с серверного вычислительного устройства конкретного уязвимого бинарного файла, расположенного на клиентском вычислительном устройстве, на основе бинарной сигнатуры, причем клиентское вычислительное устройство является удаленным от серверного вычислительного устройства; и
обновления с серверного вычислительного устройства конкретного уязвимого бинарного файла, расположенного на клиентском вычислительном устройстве, заплаткой безопасности; и
причем идентификация конкретного уязвимого бинарного файла, расположенного на клиентском вычислительном устройстве, содержит операцию сравнения битовой комбинации, которая связана с уязвимостью безопасности в конкретном бинарном файле, с битовыми комбинациями бинарных файлов, расположенных на клиентском вычислительном устройстве, и причем обновление конкретного уязвимого бинарного файла происходит, если битовая комбинация конкретного уязвимого бинарного файла точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
2. Считываемый компьютером носитель по п.1, в котором обновление уязвимого бинарного файла, расположенного на клиентском вычислительном устройстве, включает в себя установку заплатки безопасности на клиентском вычислительном устройстве с серверного вычислительного устройства.
3. Считываемый компьютером носитель по п.1, в котором прием включает в себя прием бинарной сигнатуры и заплатки безопасности от сервера распространения, выполненного с возможностью распространять клиентским вычислительным устройствам бинарные сигнатуры, которые идентифицируют уязвимые файлы, и заплатки безопасности, предназначенные для исправления уязвимых файлов.
4. Сервер, содержащий считываемый компьютером носитель по п.1.
5. Считываемый компьютером носитель, имеющий материальный компонент и содержащий исполняемые процессором команды, сконфигурированный для следующих операций:
приема бинарной сигнатуры, которая идентифицирует уязвимость безопасности в бинарном файле, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле, расположенном на одном или более клиентских вычислительных устройствах;
приема заплатки безопасности, сконфигурированной для исправления уязвимости безопасности в бинарных файлах; и
распространения бинарной сигнатуры и заплатки безопасности на множество серверов, чтобы позволить каждому соответствующему серверу из множества серверов выполнять следующие операции:
идентификацию, с соответствующего сервера, конкретного уязвимого бинарного файла, расположенного на клиентском вычислительном устройстве, на основе бинарной сигнатуры, причем клиентское вычислительное устройство является удаленным от соответствующего сервера; и
обновление, с соответствующего сервера, конкретного уязвимого бинарного файла, расположенного на соответствующем клиентском вычислительном устройстве, заплаткой безопасности; и
причем соответствующий сервер идентифицирует конкретный уязвимый бинарный файл, расположенный на соответствующем клиентском вычислительном устройстве, посредством сравнения битовой комбинации, которая связана с уязвимостью безопасности в конкретном уязвимом бинарном файле, с битовыми комбинациями бинарных файлов, расположенных на соответствующем клиентском вычислительном устройстве, и причем соответствующий сервер обновляет конкретный уязвимый бинарный файл, если битовая комбинация конкретного уязвимого бинарного файла точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
6. Считываемый компьютером носитель по п.5, в котором распространение включает в себя:
отправку уведомления каждому из множества серверов касательно уязвимости безопасности и доступной заплатки;
прием запроса отправки бинарной сигнатуры и заплатки безопасности;
отправку бинарной сигнатуры и заплатки безопасности в ответ на запрос.
7. Сервер, содержащий считываемый компьютером носитель по п.5.
8. Считываемый компьютером носитель, имеющий материальный компонент и содержащий исполняемые процессором команды, сконфигурированный для следующих операций:
приема бинарной сигнатуры от сервера, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
поиска бинарной сигнатуры в бинарных файлах, расположенных на клиентском компьютере для конкретного бинарного файла;
отправки запроса с клиентского компьютера на сервер о заплатке безопасности, если в бинарном файле обнаружена бинарная сигнатура, причем конкретный бинарный файл считается найденным, если битовая комбинация бинарного файла на клиентском компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности,
приема заплатки безопасности от сервера; и
исправления на клиентском компьютере бинарного файла заплаткой безопасности.
9. Клиентский компьютер, содержащий считываемый компьютером носитель по п.8.
10. Способ установки заплатки безопасности, содержащий следующие операции:
прием бинарной сигнатуры от сервера на клиентском компьютере, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
поиск на клиентском компьютере конкретного уязвимого файла на основе бинарной сигнатуры;
если на клиентском компьютере уязвимый файл найден, запрашивание заплатки безопасности от сервера, причем конкретный бинарный файл считается найденным, если битовая комбинация бинарного файла на клиентском компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности;
прием заплатки безопасности от сервера на клиентском компьютере в ответ на запрос заплатки безопасности у клиентского компьютера; и
исправление уязвимого файла заплаткой безопасности, полученной от сервера.
11. Способ по п.10, в котором исправление включает в себя операцию установки заплатки безопасности на клиентский компьютер.
12. Способ по п.10, в котором поиск включает в себя операцию сравнения бинарной сигнатуры с бинарной информацией в носителе данных клиентского компьютера.
13. Способ по п.12, в котором бинарная информация выбирается из группы, содержащей:
операционную систему;
файл прикладной программы; и
файл данных.
14. Способ по п.12, в котором среда хранения выбирается из группы, содержащей:
жесткий диск;
магнитный флоппи диск;
оптический диск;
карту флэш-памяти;
электрически стираемое программируемое постоянное запоминающее устройство; и
доступное по сети устройство хранения.
15. Способ установки заплатки безопасности, содержащий следующие операции:
прием на сервере сканирования/исправления заплатками бинарной сигнатуры и заплатки безопасности от сервера распространения, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
поиск сервером сканирования/исправления заплатками на клиентском компьютере конкретного уязвимого файла, связанного с бинарной сигнатурой; и
если конкретный уязвимый файл найден, исправление, сервером сканирования/исправления заплатками, конкретного уязвимого файла заплаткой безопасности, причем конкретный бинарный файл считается найденным, если битовая комбинация бинарного файла на клиентском компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
16. Компьютер, содержащий:
средство приема на клиентском компьютере бинарной сигнатуры от сервера, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
средство поиска конкретного уязвимого бинарного файла, расположенного на клиентском компьютере, на основе бинарной сигнатуры;
средство запрашивания клиентским компьютером заплатки безопасности от сервера, если обнаружен конкретный уязвимый бинарный файл, причем конкретный уязвимый бинарный файл считается найденным, если битовая комбинация бинарного файла на клиентском компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности; и
средство приема заплатки безопасности от сервера на клиентском компьютере в ответ на запрос заплатки безопасности; и
средство исправления конкретного уязвимого бинарного файла заплаткой безопасности, полученной от сервера.
17. Сервер, содержащий:
средство приема на сервере сканирования/исправления заплатками бинарной сигнатуры и заплатки безопасности от сервера распространения, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
средство сканирования с сервера сканирования/исправления заплатками клиентского компьютера на наличие конкретного уязвимого бинарного файла, связанного с бинарной сигнатурой, и
средство исправления с сервера сканирования/исправления заплатками конкретного уязвимого бинарного файла на клиентском компьютере заплаткой безопасности, если на клиентском компьютере обнаружен конкретный уязвимый бинарный файл, причем конкретный уязвимый бинарный файл считается найденным, если битовая комбинация бинарного файла на клиентском компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
18. Компьютер, имеющий материальный компонент и содержащий:
бинарную информацию;
носитель данных, выполненный с возможностью хранить бинарную информацию;
модуль сканирования, выполненный с возможностью приема бинарной сигнатуры от сервера и сканирования бинарной информации на компьютере в поисках бинарной сигнатуры, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле; и
модуль установки заплатки, выполненный с возможностью запрашивать заплатку безопасности у сервера и устанавливать заплатку безопасности от сервера, если в бинарной информации на компьютере обнаружена бинарная сигнатура, причем бинарная сигнатура считается найденной, если битовая комбинация бинарного файла бинарной информации на клиентском компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
19. Компьютер по п.18, в котором бинарная информация выбирается из группы, содержащей:
операционную систему;
файл прикладной программы; и
файл данных.
20. Компьютер, имеющий материальный компонент и содержащий:
бинарные файлы;
носитель данных, выполненный с возможностью хранить бинарную информацию;
бинарную сигнатуру; и
модуль заплатки безопасности, выполненный с возможностью приема бинарной сигнатуры от сервера и сканирования бинарных файлов на компьютере при поиске бинарной сигнатуры, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
конкретный бинарный файл, который содержит бинарную сигнатуру; и
заплатку безопасности;
причем модуль заплатки безопасности дополнительно выполнен с возможностью запрашивать заплатку безопасности у сервера после нахождения бинарной сигнатуры в бинарном файле, и применять заплатку безопасности к бинарному файлу, который содержит бинарную сигнатуру, причем бинарная сигнатура считается найденной, если битовая комбинация бинарного файла из бинарных файлов на компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
21. Сервер распространения, имеющий материальный компонент и содержащий:
базу данных;
модуль распределения, выполненный с возможностью принимать бинарную сигнатуру и заплатку безопасности, сохранять бинарную сигнатуру и заплатку безопасности в базе данных, и распространять бинарную сигнатуру и заплатку безопасности множеству серверов, причем бинарная сигнатура содержит битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле, расположенном на одном или более клиентских компьютеров, причем распространение бинарной сигнатуры множеству серверов позволяет каждому соответствующему серверу из множества серверов выполнять следующие операции:
идентификацию с соответствующего сервера конкретный уязвимый бинарный файл, расположенный на соответствующем клиентском компьютере, на основе бинарной сигнатуры, причем клиентский компьютер удален от соответствующего сервера; и
обновление с соответствующего сервера конкретного уязвимого бинарного файла, расположенного на соответствующем клиентском компьютере, заплаткой безопасности;
причем соответствующий сервер идентифицирует конкретный уязвимый бинарный файл, расположенный на соответствующем клиентском компьютере, посредством сравнения битовой комбинации, которая связана с уязвимостью безопасности в конкретном уязвимом бинарном файле, с битовыми комбинациями бинарных файлов, расположенных на соответствующем клиентском компьютере, и причем соответствующий сервер обновляет конкретный уязвимый бинарный файл, если битовая комбинация конкретного уязвимого бинарного файла точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
22. Сервер распространения по п.21, в котором модуль распределения дополнительно выполнен с возможностью принимать запрос от сервера на бинарную сигнатуру и заплатку безопасности и распространять бинарную сигнатуру и заплатку безопасности серверу в ответ на запрос.
23. Сервер, имеющий материальный компонент и содержащий:
бинарную сигнатуру, содержащую битовую комбинацию, которая связана с уязвимостью безопасности в конкретном бинарном файле;
заплатку безопасности, выполненную с возможностью исправлять уязвимость безопасности в конкретном бинарном файле;
базу данных, осуществленную в виде носителя хранения и выполненную с возможностью хранить бинарную сигнатуру и заплатку безопасности; и
модуль сканирования, выполненный с возможностью сканировать с сервера бинарных файлов на клиентском компьютере в поисках бинарной сигнатуры, и обновлять с сервера бинарный файл на клиентском компьютере с помощью заплатки безопасности, если бинарная сигнатура найдена, причем клиентский компьютер является удаленным от сервера, и причем бинарная сигнатура считается найденной, если битовая комбинация бинарного файла из бинарных файлов на компьютере точно совпадает с битовой комбинацией бинарной сигнатуры, которая связана с уязвимостью безопасности.
24. Сервер по п.23, в котором модуль сканирования дополнительно выполнен с возможностью приема бинарной сигнатуры и заплатки безопасности от сервера распространения и сохранения бинарной сигнатуры и заплатки безопасности в базе данных.
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
Прибор, замыкающий сигнальную цепь при повышении температуры | 1918 |
|
SU99A1 |
СИСТЕМА ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПОЛЬЗОВАНИЯ КОМПЬЮТЕРОМ (ВАРИАНТЫ) | 1999 |
|
RU2152074C1 |
Авторы
Даты
2009-06-10—Публикация
2004-06-22—Подача