Защита сетевых служб с помощью списков управления сетевыми операциями
Иллюстрации
Показать всеИзобретение относится к компьютерным системам, имеющим защищенные сетевые службы. Техническим результатом является усиление безопасности при предоставлении сетевых служб компьютерной системой посредством предотвращения выполнения сетевой службой сетевых операций. Компьютерная система содержит процессор, запоминающее устройство и модуль обработки сетевых операций. Модуль обработки сетевых операций обрабатывает сетевые операции от одной или более сетевых служб, исполняющихся в компьютерной системе. Компьютерная система дополнительно выполнена с возможностью исполнять по меньшей мере одну сетевую службу, выполняющую сетевые операции совместно с модулем обработки сетевых операций. По приему сетевой операции от сетевой службы модуль обработки сетевых операций определяет то, является ли сетевая операция допустимой сетевой операцией, согласно списку управления сетевыми операциями. Если определено, что сетевая операция не является допустимой сетевой операцией, сетевая операция блокируется. 3 н. и 17 з.п. ф-лы, 6 ил.
Реферат
Предшествующий уровень техники
Как знают практически все пользователи компьютеров, вредоносные программы - это постоянная угроза для любого компьютера, подключенного к Интернету. Вредоносная программа (malware, сокращение от "malicious software") относится к программе или файлу, который является злоумышленным. Таким образом, вредоносные программы включают в себя "червей", вирусы, "троянцев" и шпионское программное обеспечение для компьютеров, а также атаки на компьютерные системы, которые злоупотребляют или нарушают корректные функции и службы компьютеров и/или сетевых систем.
Раньше большая часть вредоносных программ была направлена на повреждение или нанесение ущерба компьютерной системе. Стертые или поврежденные жесткие диски являлись типичным следствием зараженной компьютерной системы. К сожалению, назначение последних версий вредоносных программ включает в себя злой умысел, который является гораздо более изощренным, чем простое повреждение или нанесение вреда компьютерной системе. Более конкретно, вредоносное программное обеспечение сегодня используется для того, чтобы красть персональную информацию, чтобы совершать мошеннические действия и кражу идентификационных данных, осуществлять доступ к банковским счетам и т.п. Обнаружение следствий заражения вредоносными программами сегодня представляет большую трудность, поскольку, в отличие от более ранних следствий работы вредоносных программ, цель состоит не в том, чтобы отключить зараженный компьютер, а наоборот, оставить его работающим, с тем чтобы все больший объем информации мог быть собран противозаконно.
Чтобы противодействовать вредоносным программам, практически обязательным является то, чтобы подключенный к сети компьютер использовал антивирусное программное обеспечение (которое сегодня более подходяще называть программным обеспечением против вредоносных программ) для защиты от заражения. Дополнительно, многие пользователи компьютеров также полагаются на аппаратные и/или программные брандмауэры совместно с антивирусным программным обеспечением, чтобы защищать компьютер. К сожалению, даже за защитным экраном из антивирусного программного обеспечения и брандмауэров, некоторые угрозы вредоносных программ, особенно новые формы вредоносных программ, успешно заражают компьютерные системы. Кроме того, специалисты в данной области техники должны признавать, что после того как вредоносная программа заразила компьютерную систему, вредоносная программа зачастую использует зараженную компьютерную систему для того, чтобы заражать другие компьютерные системы.
Сетевые службы компьютерной системы, т.е. те процессы, которые формируют каналы связи к и от внешней сети, являются главной целью вредоносных программ и являются особенно уязвимыми. В некоторых случаях вредоносные программы могут заставлять сетевую службу выполнять операцию, которая разрешает другим процессам дополнительно компрометировать компьютерную систему. Например, незащищенная сетевая служба может быть направлена на то, чтобы открывать порт связи, который позволяет третьей стороне осуществлять доступ к компьютерной системе и, тем самым, получать контроль над компьютерной системой. Мошенническое приложение, доставляемое в зараженной электронной почте, может успешно предписывать сетевым службам открыть незащищенный порт. К сожалению, после того как сетевая служба скомпрометирована, компьютерная система открыта для злого умысла вредоносной программы.
Как упоминалось выше, не всегда возможно предотвратить заражение вредоносной программой. Тем не менее, даже когда компьютерная система заражена, должно являться преимущественным сдерживание заражения за счет недопущения выполнения сетевой службой операций, которые подвергают риску или дополнительно компрометируют компьютерную систему. Фактически, будет чрезвычайно полезным, если сетевые службы смогут быть ограничены "хорошими" сетевыми операциями.
Сущность изобретения
Представлена компьютерная система, имеющая защищенные сетевые службы. Компьютерная система содержит процессор, запоминающее устройство (память) и модуль обработки сетевых операций. Модуль обработки сетевых операций обрабатывает сетевые операции от одной или более сетевых служб, исполняющихся в компьютерной системе. Компьютерная система дополнительно выполнена с возможностью исполнять по меньшей мере одну сетевую службу, выполняющую сетевые операции совместно с модулем обработки сетевых операций. При приеме сетевой операции от сетевой службы модуль обработки сетевых операций определяет то, является ли эта сетевая операция допустимой сетевой операцией, согласно списку управления сетевыми операциями. Если определено, что сетевая операция не является допустимой сетевой операцией, сетевая операция блокируется. Альтернативно, если определено, что сетевая операция является допустимой сетевой операцией, сетевой операции разрешается выполниться до завершения.
Также представлен машиночитаемый носитель, переносящий машиноисполняемые инструкции. При их исполнении на подключенном к сети компьютере машиноисполняемые инструкции осуществляют способ защиты сетевых служб на этом компьютере. Данный способ содержит прием сетевой операции от сетевой службы. Выполняется определение в отношении того, должна ли сетевая операция быть дополнительно удостоверена как допустимая сетевая операция. Если допустимость сетевой операции должна быть дополнительно удостоверена, выполняется определение того, является ли сетевая операция допустимой сетевой операцией для сетевой службы, согласно списку управления сетевыми операциями. Если сетевая операция не является допустимой сетевой операцией согласно списку управления сетевыми операциями, сетевая операция блокируется. Если сетевая операция является допустимой сетевой операцией согласно списку управления сетевыми операциями, сетевая операция разрешается.
Дополнительно представлен способ защиты сетевых служб на вычислительном устройстве, подключенном к сети. Способ содержит прием сетевой операции от сетевой службы, функционирующей на вычислительном устройстве. Выполняется определение в отношении того, имеет ли сетевая операция тип, который должен быть удостоверен как являющийся допустимой сетевой операцией. Если сетевая операция имеет тип, который должен быть удостоверен как являющийся допустимой сетевой операцией, получается идентификатор сетевой службы. Идентификатор сетевой службы уникально идентифицирует сетевую службу. Выполняется определение в отношении того, является ли сетевая операция допустимой сетевой операцией для сетевой службы, согласно одной или более записей в списке управления сетевыми операциями, которые соответствуют сетевой службе, идентифицированной посредством идентификатора сетевой службы. Если определено, что сетевая операция не является допустимой сетевой операцией согласно списку управления сетевыми операциями, сетевая операция блокируется.
Перечень чертежей
Вышеозначенные аспекты и многие из сопутствующих преимуществ изобретения должны стать более легко воспринимаемыми, а также более понятными посредством ссылки на последующее подробное описание, рассматриваемое вместе с прилагаемыми чертежами, на которых:
Фиг.1 - блок-схема, иллюстрирующая примерные аппаратные компоненты компьютерной системы, подходящие для реализации защищенных сетевых служб;
Фиг.2 - блок-схема, иллюстрирующая компьютерную систему с защищенными сетевыми службами, так что только допустимые сетевые операции разрешены между компьютерной системой и сетью;
Фиг.3 - блок-схема, иллюстрирующая процесс формирования списка управления сетевыми операциями и активации списка управления сетевыми операциями в модуле проверки допустимости сетевых операций;
Фиг.4 - блок-схема последовательности операций, иллюстрирующая примерную процедуру для обработки сетевых операций в компьютерной системе, имеющей защищенные сетевые службы; и
Фиг.5A и 5B - блок-схемы последовательности операций, иллюстрирующие примерную подпроцедуру для определения того, является ли сетевая операция допустимой сетевой операцией, согласно списку управления сетевыми операциями.
Подробное описание изобретения
Как указано выше, фиг.1 - это блок-схема, иллюстрирующая примерные аппаратные компоненты компьютерной системы 100, подходящие для реализации защищенных сетевых служб. Хотя компьютерная система должна включать в себя множество компонентов, примерная компьютерная система 100 включает в себя процессор 102, запоминающее устройство 104 и сетевой интерфейс 106 для взаимодействия компьютерной системы 100 с сетью 108. Специалисты в данной области техники должны принимать во внимание, что запоминающее устройство 104 включает в себя оперативное запоминающее устройство 110 и постоянное запоминающее устройство 112.
Также проиллюстрировано энергонезависимое устройство 114 хранения. Специалисты в данной области техники должны признавать, что хотя некоторые вычислительные устройства, включая определенные "карманные" вычислительные устройства, используют исключительно энергонезависимое запоминающее устройство в качестве своего энергонезависимого носителя информации, типичным энергонезависимым носителем информации является магнитный накопитель на жестких дисках. Вне зависимости от фактического носителя, устройство 114 хранения в типичном варианте сохраняет операционную систему 116 (включающую в себя предоставляемые операционной системой сетевые службы) и одно или более приложений, например приложение 118.
Примерная компьютерная система 100 также показана как включающая в себя сетевой интерфейс 106. Сетевой интерфейс 106 - это аппаратный компонент компьютерной системы, который взаимодействует с сетью 108. Хотя сетевой интерфейс в типичном варианте осуществляется как аппаратный компонент, специально разработанный для сетевой связи, сетевым интерфейсом 106 может быть последовательное соединение, соединение по универсальной последовательной шине (USB), инфракрасное соединение, соединение IEEE 1394 и т.п.
В свете вышеозначенного, подходящие компьютерные системы, предоставляющие защищенные сетевые службы, включают в себя, но не только, персональные компьютеры, "переносные" компьютеры и ноутбуки, персональные цифровые устройства (PDA), гибридные устройства PDA/мобильный телефон, мобильные телефоны с возможностями сетевого подключения, мини-ЭВМ, и мейнфреймы и т.п.
Фиг.2 - это блок-схема, иллюстрирующая примерную компьютерную систему 200 с защищенными сетевыми службами, так чтобы только допустимые сетевые операции 226 были разрешены между компьютерной системой и сетью 108. В примерной компьютерной системе 200 проиллюстрированы три сетевые службы 202-206. Разумеется, иллюстрация трех сетевых служб предоставлена просто для целей показа и простоты и не должна рассматриваться как ограничивающая настоящее изобретение.
Сетевые службы обеспечивают передачу данных в/из сети 108 посредством выполнения различных сетевых операций, проиллюстрированных как сетевые операции 208-212, такие как открытие порта связи, считывание и/или запись информации в область памяти, ассоциированную с портом связи, прослушивание сети на предмет пакетов данных, направленных в компьютерную систему 200, и т.п. Каждая сетевая операция включает в себя информацию, необходимую для того, чтобы выполнить операцию, такую как, но не только, адрес источника (IP-адрес компьютерной системы-инициатора), порт источника, указывающий соответствующий источнику оконечный порт канала связи, протокол, информацию, идентифицирующую операцию, которая должна быть выполнена, а также данные, относящиеся к этой операции, порт назначения, адрес назначения и т.п. Дополнительно, согласно аспектам настоящего изобретения, сетевая операция включает в себя информацию, которая уникально идентифицирует сетевую службу-инициатор, такую как идентификатор сетевой службы. Разумеется, специалисты в данной области техники должны принимать во внимание, что в отношении включаемой информации, идентифицирующей сетевую службу-инициатор, эта информация не обязательно может быть включена в сетевую операцию, а может быть пакетно передана с сетевой операцией и/или определяема из способа, которым отправляется сетевая операция. В любом случае, чтобы ограничить сетевые операции допустимыми сетевыми операциями, сетевая служба-инициатор сетевой операции должна быть идентифицируема. Соответственно, включение идентификационной информации в сетевую операцию должно рассматриваться как иллюстративное в одном варианте осуществления и не истолковываться как ограничивающее настоящее изобретение. Как дополнительно описано ниже, идентификационные данные сетевой службы-инициатора - это один фактор, который может быть использован при определении того, является ли сетевая операция допустимой сетевой операцией.
Чтобы гарантировать то, что только допустимые сетевые операции 226 проходят между компьютерной системой 200 и сетью 108, сетевые операции должны проходить через модуль 214 обработки сетевых операций. По мере того, как сетевые операции, такие как сетевые операции 208-212, принимаются, модуль 214 обработки сетевых операций кратко анализирует каждую операцию и определяет то, должна ли операция быть оценена посредством модуля 216 проверки допустимости сетевых операций, чтобы определить то, является ли сетевая операция допустимой сетевой операцией.
Тем сетевым операциям, которые, как определяет модуль 214 обработки сетевых операций, не должны быть удостоверены посредством модуля 216 проверки допустимости сетевых операций, разрешается быть выполненными до завершения. Альтернативно, если допустимость сетевой операции должна быть дополнительно удостоверена, модуль 214 обработки сетевых операций отправляет запрос 222 проверки допустимости в модуль 216 проверки допустимости сетевых операций. Типично, запрос 222 проверки допустимости должен включать в себя рассматриваемую сетевую операцию, но альтернативно может включать в себя только информацию, требуемую для модуля 216 проверки допустимости сетевых операций, чтобы определить то, является ли сетевая операция допустимой сетевой операцией 226.
В ответ на запрос 222 проверки допустимости модуль 216 проверки допустимости сетевых операций возвращает ответ 224 на запрос проверки допустимости, указывающий то, является сетевая операция допустимой сетевой операцией или нет. Если ответ 224 на запрос проверки допустимости указывает то, что сетевая операция является допустимой сетевой операцией, модуль 214 обработки сетевых операций разрешает выполниться сетевой операции до завершения. Альтернативно, если ответ 224 на запрос проверки допустимости указывает то, что сетевая операция не является допустимой сетевой операцией, модуль 214 обработки сетевых операций прерывает сетевую операцию, т.е. не разрешает сетевой операции выполниться.
При определении того, является ли сетевая операция допустимой сетевой операцией, модуль 216 проверки допустимости сетевых операций сравнивает различные аспекты сетевой операции со списком 218 управления сетевыми операциями. Список 218 управления сетевыми операциями задает набор правил или условий, которые, если удовлетворяются, идентифицируют сетевую операцию как допустимую или недопустимую сетевую операцию. Эти правила/условия могут включать в себя правила "черного списка", которые, в общем или в частности, идентифицируют некоторые сетевые операции как недопустимые сетевые операции, а также правила "рекомендательного списка", которые, в общем или в частности, идентифицируют некоторые сетевые операции как допустимые сетевые операции. Допустимость/недопустимость заданной сетевой операции может быть основана на одном или комбинации из множества факторов от сетевой операции, в том числе, но не только, IP-адресе источника или назначения, сетевой службе, формирующей сетевую операцию (согласно идентификатору сетевой службы), типе операции, используемом протоколе, порте, используемом в качестве оконечного пункта источника или оконечного пункта назначения, и т.п. Эти факторы, когда обрабатываются совместно, могут рассматриваться как "сетевой объект", с которым работает сетевая операция. Данный "сетевой объект" может быть использован в качестве части списка управления сетевым доступом.
Помимо удостоверения допустимости/недопустимости сетевых операций, модуль 216 проверки допустимости сетевых операций также может отслеживать сетевые операции, а также то, являются или нет они допустимыми сетевыми операциями, в журнале 220 аудита. Затем журнал 220 аудита может быть использован системными администраторами для того, чтобы идентифицировать проблемные области, в том числе для идентификации возможности того, что компьютерная система 200 заражена вредоносными программами.
Как упоминалось выше, модуль 214 обработки сетевых операций кратко анализирует каждую операцию и определяет то, должна ли операция быть оценена посредством модуля 216 проверки допустимости сетевых операций, чтобы определить то, является ли операция допустимой сетевой операцией. Согласно одному варианту осуществления, это определение основано на типе сетевой операции. В частности, в определенном варианте осуществления только сетевые операции, которые соответствуют созданию "оконечных пунктов", отправляются в модуль 216 проверки допустимости сетевых операций для проверки. Создание "оконечных пунктов", что должно быть понятно специалистам в данной области техники, включает в себя такие сетевые операции, которые создают и/или открывают каналы связи между компьютерной системой 200 и сетью 108. Сетевые операции создания "оконечных пунктов" могут включать в себя, но не только, открытие порта связи, соединения с удаленным объектом, прослушивание порта на предмет соединений и т.п. Альтернативно, модуль 214 обработки сетевых операций может быть сконфигурирован так, чтобы выполнять так называемую "глубокую" оценку посредством оценки всех сетевых операций, которые проходят через модуль 214 обработки сетевых операций. Другие уровни оценки также могут быть реализованы.
В отношении модуля 214 обработки сетевых операций, хотя этот модуль может быть отдельным компонентом от других компонентов операционной системы (особенно связанных с сетью компонентов операционной системы), вышеописанная функциональность может надлежащим образом быть интегрирована в один или более существующих компонентов. Например, программное обеспечение для операционной системы Windows® корпорации Microsoft (а также операционных систем от других поставщиков) включает в себя компонент обработки TCP/IP-стека (зачастую в общем упоминаемый как TCP/IP-стек), посредством которого обрабатываются все операции/обмены данными на основе TCP, UDP и IP. Поскольку все TCP-, UDP- и IP-операции протекают через TCP/IP-стек, посредством интеграции вышеописанной функциональности в TCP/IP-стек сетевые службы 202-206 не обязательно должны быть модифицированы, чтобы предотвратить выполнение ими недопустимых сетевых операций. Аналогично, другие протоколы связи в типичном варианте содержат центральный модуль обработки, в который может быть интегрирована вышеописанная функциональность. Тем не менее, хотя может быть преимущественным интегрировать функциональность вышеописанного модуля 214 обработки сетевых операций в один или более существующих компонентов, настоящее изобретение не должно рассматриваться как ограниченное таким образом.
Хотя предусмотрено множество способов, которыми может быть извлечен список 218 управления сетевыми операциями, согласно одному варианту осуществления, список управления сетевыми операциями формируется из информации, предоставляемой разработчиками и/или поставщиками отдельных сетевых служб. Фиг.3 - это блок-схема, иллюстрирующая процесс формирования списка 218 управления сетевыми операциями и предоставления его в модуль 216 проверки допустимости сетевых операций. В частности, по мере того как сетевые службы разрабатываются и/или развертываются, например сетевые службы 202-206, разработчик или поставщик сетевой службы также предоставляет соответствующий манифест операций, например манифесты 302-306 операций. Манифесты операций описывают разрешенные и/или целевые сетевые операции (с ассоциированной информацией, такой как вышеописанный сетевой объект) соответствующих сетевых служб. Например, если разработчик и/или поставщик сетевой службы 202 назначил, что сетевая служба открывает и обменивается данными только через порты 88 и 144, эта информация включается в соответствующий манифест 302 операций. Дополнительно, каждый манифест должен включать в себя информацию, идентифицирующую соответствующую сетевую службу, такую как вышеописанный идентификатор сетевой службы.
Манифесты 302-306 операций обрабатываются посредством модуля 308 администрирования и конфигурирования, в котором администратор может принимать "рекомендации", предоставляемые посредством манифестов операций, или модифицировать их согласно требованиям безопасности. Дополнительно, с помощью модуля 308 администрирования и конфигурирования администратор может добавлять дополнительные правила и/или условия в отношении одной или более сетевых служб согласно политикам безопасности, важным для администратора, или преобладающим сетевым режимам.
Из этих манифестов операций, дополнительных условий и правил и конфигурирования и модификаций администратором, модуль 308 администрирования и конфигурирования формирует список управления операциями и сохраняет этот список в модуле 310 хранения списков управления операциями. Согласно одному варианту осуществления, модуль 310 хранения списков управления операциями - это реестр компьютерной системы. Одно преимущество использования реестра компьютерной системы заключается в том, что некоторые области реестра защищены от модификации всеми, кроме администратора. Эта мера безопасности защищает список управления сетевыми операциями от повреждения посредством заражения вредоносными программами, которое может приводить к дополнительному повреждению, а также разрешению и выполнению недопустимых сетевых операций.
Специалисты в данной области техники должны признавать, что модуль 308 администрирования и конфигурирования работает в пользовательском режиме относительно операционной системы. Тем не менее, в типичном варианте модуль 214 обработки сетевых операций (а также сетевые службы 202-206) работает в привилегированном режиме, т.е. режиме ядра операционной системы, которое управляет памятью, файлами и периферийными устройствами, запускает приложения, выделяет системные ресурсы и т.п. Таким образом, чтобы переместить список управления сетевыми операциями из модуля 310 хранения списка управления сетевыми операциями в модуль 216 проверки допустимости сетевых операций (который работает в режиме ядра с модулем 214 обработки сетевых операций), модуль 312 продвижения, который включает в себя канал связи между пользовательским режимом и режимом ядра, перемещает список 218 управления сетевыми операциями в модуль проверки допустимости сетевых операций.
Фиг.4 - это блок-схема последовательности операций, иллюстрирующая примерную процедуру 400 для обработки сетевых операций в компьютерной системе, имеющей защищенные сетевые службы. Начиная на этапе 402, модуль 214 обработки сетевых операций принимает сетевую операцию. На этапе 404 принятия решения выполняется определение в отношении того, имеет ли сетевая операция тип, который должен быть удостоверен. Как описано выше, согласно одному варианту осуществления, только сетевые операции, которые являются операциями создания оконечных пунктов, относятся к типу, который удостоверяется.
Если сетевая операция не относится к типу, который требуется дополнительно удостоверять, процедура 400 переходит к этапу 414, на котором сетевая операция, предположительно, допустимая сетевая операция, обрабатывается, т.е. ей разрешается выполняться до завершения. Альтернативно, если сетевая операция относится к типу, который нужно дополнительно удостоверять, проверки, на этапе 406 запрос 222 проверки допустимости (фиг.2) перенаправляется в модуль 216 проверки допустимости сетевых операций.
На этапе 408 модуль 216 проверки допустимости сетевых операций определяет то, является ли сетевая операция из запроса 222 проверки допустимости допустимой сетевой операцией для запрашивающей сетевой службы, согласно списку 218 управления сетевыми операциями. Определение того, является ли сетевая операция допустимой сетевой операцией, согласно списку 218 управления сетевыми операциями, описано ниже относительно фиг.5A и 5B.
Фиг.5A и 5B - это блок-схемы последовательности операций, иллюстрирующие примерную подпроцедуру 500 для определения того, является ли сетевая операция допустимой сетевой операцией, согласно списку 218 управления сетевыми операциями.
Начиная на этапе 502, модуль 216 проверки допустимости сетевых операций идентифицирует сетевую службу, соответствующую сетевой операции, которая является предметом запроса 222 проверки допустимости. Хотя это может осуществляться множеством способов, согласно одному варианту осуществления, для сетевой операции получают идентификатор сетевой службы. В одном варианте осуществления идентификатор сетевой службы получают из маркера процесса, содержащего сетевую службу. Например, в некоторых версиях операционных систем Windows® корпорации Microsoft маркер процесса - это контекст, который операционная система ассоциирует с процессом для сохранения информации идентификации и привилегий по программам, выполняющимся в этом процессе.
На этапе 504 принятия решения выполняется определение в отношении того, есть ли конкретные записи в списке 218 управления сетевым доступом, которые соответствуют сетевой службе. Если не найдено записей, соответствующих сетевой службе, на этапе 512 (фиг.5B) ответ 224 на запрос проверки допустимости возвращается в модуль 214 обработки сетевых операций с указанием на то, что сетевая операция является допустимой сетевой операцией, и подпроцедура 500 завершается. Посредством задания по умолчанию предположения допустимости в отсутствии записей, соответствующих идентифицированной сетевой службе, предполагается, что манифест режимов работы не сформирован для сетевой службы или не включен в список 218 управления сетевыми операциями. В любом случае, вместо принудительного завершения всех операций для этой сетевой службы, что может быть следствием, если сделано предположение, что ее сетевые операции являются недопустимыми, сетевые операции разрешаются. Конечно, в альтернативном варианте осуществления по умолчанию может предполагаться недопустимость. Аналогично, полное отсутствие записей в списке 218 управления сетевыми операциями, соответствующих идентифицированной сетевой службе, позволяет сформировать специальную запись в журнале 220 аудита, помечающую сетевую службу для особого внимания со стороны администратора.
Если на этапе 504 принятия решения запись, соответствующая сетевой службе, найдена в списке 218 управления сетевыми операциями, подпроцедура 500 переходит к этапу 506. На этапе 506 все записи в списке 218 управления сетевыми операциями, которые соответствуют идентифицированной сетевой службе, идентифицируются. На этапе 508 из идентифицированных записей та запись, которая наиболее близко соответствует сетевой операции (т.е. предмету запроса 222 проверки допустимости), идентифицируется. На этапе 510 принятия решения выполняется определение в отношении того, разрешена ли сетевая операция, согласно этой наиболее близко соответствующей записи в списке 218 управления сетевыми операциями. Если сетевая операция разрешена согласно предшествующему определению, на этапе 512 ответ 224 о допустимости возвращается в модуль 214 обработки сетевых операций, указывая, что сетевая операция является допустимой сетевой операцией, и подпроцедура 500 завершается. Альтернативно, если сетевая операция не разрешена согласно предшествующему определению, на этапе 514 (фиг.5B) ответ 224 о недопустимости возвращается в модуль 214 обработки сетевых операций, указывая, что сетевая операция является недопустимой сетевой операцией.
Со ссылкой снова на фиг.4, после получения ответа 224 на запрос проверки допустимости от модуля 216 проверки допустимости сетевых операций, на этапе 410 принятия решения выполняется определение в отношении того, является ли сетевая операция допустимой сетевой операцией. Если сетевая операция не является допустимой сетевой операцией, на этапе 412 сетевая операция блокируется. Альтернативно, если сетевая операция является допустимой сетевой операцией, на этапе 414 сетевая операция обрабатывается (т.е. ей разрешается выполниться до завершения). Далее процедура 400 возвращается к этапу 402, чтобы получить и обработать дополнительные сетевые операции.
Хотя проиллюстрированы и описаны различные иллюстративные варианты осуществления, следует принимать во внимание, что различные изменения могут выполняться в них без отступления от сущности и объема настоящего изобретения.
Варианты осуществления, в которых заявляется эксклюзивное свойство или привилегия, задаются в формуле изобретения следующим образом.
1. Компьютерная система, реализующая защищенные сетевые службы, содержащаяпроцессор,запоминающее устройство имодуль обработки сетевых операций, который обрабатывает сетевые операции от одной или более сетевых служб, исполняющихся в компьютерной системе, при этом модуль обработки сетевых операций функционирует в режиме ядра;при этом компьютерная система выполнена с возможностью исполнения по меньшей мере одной сетевой службы, выполняющей сетевые операции совместно с модулем обработки сетевых операций; ипри этом модуль обработки сетевых операций по приему от сетевой службы принимаемой сетевой операции, имеющей множество различных аспектов:определяет, является ли принимаемая сетевая операция допустимой сетевой операцией, путем сравнения каждого из этого множества различных аспектов с набором аспектов черного списка и набором аспектов рекомендательного списка, включенными в список управления сетевыми операциями, причем аспекты черного списка ассоциированы с аспектами, которые обуславливают признание сетевой операции недопустимой, а аспекты рекомендательного списка ассоциированы с аспектами, которые обуславливают признание сетевой операции допустимой, при этом принимаемая сетевая операция идентифицируется как допустимая сетевая операция, если комбинация различных аспектов соответствует допустимому сетевому объекту, который представляет собой заранее заданный набор характеристик, с которыми работает данная сетевая операция;блокирует принимаемую сетевую операцию, если предшествующее определение дает, что принимаемая сетевая операция не является допустимой сетевой операцией; иразрешает принимаемой сетевой операции выполниться до завершения, если предшествующее определение дает, что принимаемая сетевая операция является допустимой сетевой операцией.
2. Компьютерная система по п.1, дополнительно содержащая модуль проверки допустимости сетевых операций, при этом модуль обработки сетевых операций определяет, является ли принимаемая сетевая операция допустимой сетевой операцией, путемзапрашивания модуля проверки допустимости сетевых операций относительно того, является ли принимаемая сетевая операция допустимой сетевой операцией, согласно списку управления сетевыми операциями, при этом модуль проверки допустимости сетевых операций имеет доступ к списку управления сетевыми операциями; иприема ответа от модуля проверки допустимости сетевых операций, указывающего то, является ли принимаемая сетевая операция допустимой сетевой операцией.
3. Компьютерная система по п.2, в которой по приему принимаемой сетевой операции модуль обработки сетевых операций:определяет, относится ли принимаемая сетевая операция к типу, который должен быть удостоверен модулем проверки допустимости сетевых операций; изапрашивает модуль проверки допустимости сетевых операций в отношении того, является ли принимаемая сетевая операция допустимой сетевой операцией, только если принимаемая сетевая операция относится к типу, который должен быть удостоверен модулем проверки допустимости сетевых операций.
4. Компьютерная система по п.3, в которой определение того, относится ли принимаемая сетевая операция к типу, который должен быть удостоверен модулем проверки допустимости сетевых операций, содержит определение того, является ли принимаемая сетевая операция сетевой операцией создания оконечных пунктов.
5. Компьютерная система по п.3, в которой модуль проверки допустимости сетевых операций определяет то, является ли принимаемая сетевая операция допустимой сетевой операцией, посредством сравнения упомянутых различных аспектов с аспектами в списке управления сетевыми операциями, соответствующими сетевой службе, которая выдала принимаемую сетевую операцию.
6. Компьютерная система по п.5, в которой каждая сетевая операция ассоциирована с идентификатором сетевой службы, который уникально идентифицирует сетевую службу, выдающую сетевую операцию;при этом модуль проверки допустимости сетевых операций определяет, является ли принимаемая сетевая операция допустимой сетевой операцией, посредством сравнения упомянутых различных аспектов с аспектами в списке управления сетевыми операциями, соответствующими сетевой службе, согласно идентификатору сетевой службы в принимаемой сетевой операции.
7. Компьютерная система по п.6, в которой модуль проверки допустимости сетевых операций определяет, что принимаемая сетевая операция является допустимой сетевой операцией, если нет аспектов в списке управления сетевыми операциями, которые запрещают разрешение на сетевую службу.
8. Компьютерная система по п.5, в которой модуль проверки допустимости сетевых операций дополнительно записывает информацию, касающуюся сетевых операций, а также того, являются ли они допустимыми сетевыми операциями, в журнал аудита.
9. Компьютерная система по п.2, в которой список управления сетевыми операциями формируется из по меньшей мере одного манифеста операций, соответствующего сетевой службе, причем манифест операций идентифицирует допустимые сетевые операции для соответствующей сетевой службы.
10. Компьютерная система по п.2, в которой модуль обработки сетевых операций - это модуль обработки TCP/IP-стека в компьютерной системе.
11. Машиночитаемый носитель, переносящий машиноисполняемые инструкции, которыми при их исполнении в подключенном к сети компьютере осуществляется способ защиты сетевых служб на этом компьютере, содержащий этапы, на которых:принимают сетевую операцию от сетевой службы, причем принятая сетевая операция имеет множество различных аспектов;определяют, должна ли принятая сетевая операция быть дополнительно удостоверена как допустимая сетевая операция, и если должна, то:определяют, является ли принятая сетевая операция допустимой сетевой операцией для сетевой службы, путем сравнения каждого из этого множества различных аспектов с набором аспектов черного списка и набором аспектов рекомендательного списка, включенными в список управления сетевыми операциями, причем аспекты черного списка ассоциированы с аспектами, которые обуславливают признание сетевой операции недопустимой, а аспекты рекомендательного списка ассоциированы с аспектами, которые обуславливают признание сетевой операции допустимой, при этом принятая сетевая операция идентифицируется как допустимая сетевая операция, если комбинация различных аспектов соответствует допустимому сетевому объекту, который представляет собой заранее заданный набор характеристик, с которыми работает данная сетевая операция;блокируют принятую сетевую операцию, если принятая сетевая операция не является допустимой сетевой операцией согласно списку управления сетевыми операциями; иразрешают принятой сетевой операции выполниться до завершения, если принятая сетевая оп