Область техники
Изобретение относится к системам и способам оптимизации процесса установки обновлений для элементов компьютерной системы.
Уровень техники
В настоящее время выпуск и отладка программного обеспечения (ПО) являются ресурсоемкими процессами. ПО стало сложнее, отследить все возможные варианты его использования практически невозможно. Поэтому ПО выпускают в определенный срок, однако, зачастую с неизвестным количеством ошибок.
После обнаружения ошибок при использовании ПО разработчик выпускает обновления. Некоторые пользователи (вирусописатели) занимаются поиском ошибок, для того чтобы впоследствии использовать эти ошибки для совершения вредоносных действий. Как правило, такие пользователи заинтересованы в том, чтобы разработчики как можно дольше оставались неосведомленными о наличии уязвимости в ПО.
В компьютерной безопасности термин уязвимость (англ. vulnerability) используется для обозначения ошибок в программе или системе, используя которую можно нарушить целостность и вызвать неправильную работу, получить доступ к недоступным ресурсам компьютерной системы, перехватить управление компьютерной системой. Уязвимость может быть результатом ошибок, допущенных при программировании, недостатков, допущенных при проектировании системы.
Многие крупные производители, которые занимаются разработкой программных продуктов, осознают важность процесса поиска и устранения уязвимостей. Результатом такого процесса является выпуск обновлений, которые предназначены для устранения выявленных уязвимостей и ошибок.
В компьютерных системах, в которых установлено большое количество ПО, как правило, сложно устанавливать обновления. Нередко возникают ситуации, когда установка обновления одного программного продукта несовместима с установкой обновления другого программного продукта.
В настоящее время существует ряд решений, предназначенных для оптимизации процесса обновления компьютерной системы. В публикации US 7500234 B2 описана процедура выбора платформы для тестирования патчей (англ. patch). Платформу выбирают исходя из данных о компьютерной системе, в том числе об устройствах, используемых в системе. Процесс организации тестовой платформы представляется сложным, поэтому осуществляют подбор псевдотестовой платформы и симуляцию работы программного обеспечения. В публикации US 20040210653 A1 представлен алгоритм анализа уязвимостей на устройствах. В ходе анализа определяется необходимость дополнительной установки обновлений на основании информации об уязвимостях и составе обновлений.
Настоящее изобретение позволяет более эффективно решить задачу оптимизации процесса обновления компьютерной системы.
Раскрытие изобретения
Изобретение относится к системам и способам оптимизации процесса установки обновлений для компьютерной системы. Технический результат настоящего изобретения заключается в оптимизации процесса обновления компьютерной системы.
Указанный технический результат достигается за счет проверки целесообразности установки обновлений. Данное решение позволяет эффективно определять и устанавливать необходимые обновления.
Система проверки целесообразности установки обновлений, которая содержит: по крайней мере, одну компьютерную систему, в которой установлены устройства, программное обеспечение, для которых выпускают обновления; средство тестирования, предназначенное для получения, по крайней мере, одного обновления и информации об уязвимостях, закрываемых этим обновлением; подбора периода тестирования и, по крайней мере, одной компьютерной системы, наиболее приемлемых для тестирования, по крайней мере, одного обновления на основании, по крайней мере, одного из: сложности тестирования обновления, конфигурации компьютерных систем, частоты использования установленного программного обеспечения и устройств, частоты использования компьютерных систем; формирования результата тестирования в ходе тестирования, по крайней мере, одного полученного обновления; передачи результата тестирования, по крайней мере, одного полученного обновления и информации об уязвимостях, закрываемых этим обновлением средству анализа; средство анализа, предназначенное для проверки целесообразности установки, по крайней мере, одного протестированного обновления с учетом, по крайней мере, одного из: уровня опасности уязвимости, частоты использования уязвимости, результата тестирования данного обновления.
В частном случае реализации система дополнительно содержит базу данных программного обеспечения и устройств, предназначенную для хранения данных о составе инфраструктуры организации, конфигурациях компьютерных систем инфраструктуры организации, частоте использования компьютерных систем, частоте использования программного обеспечения и устройств.
В другом частном случае реализации система дополнительно содержит базу данных уязвимостей, предназначенную для хранения информации об обновлении, которая включает в себя данные о частоте использования и уровне критичности уязвимостей.
Еще в одном частном случае реализации системы средство анализа в ходе проверки целесообразности установки, по крайней мере, одного протестированного обновления повторно получает информацию о частоте использования и уровне критичности уязвимостей.
В частном случае реализации системы дополнительно используют сервер администрирования, который содержит настраиваемую виртуальную компьютерную систему и предназначен для выполнения тестирования, по крайней мере, одного обновления на настраиваемой виртуальной компьютерной системе.
В другом частном случае реализации системы на часто используемой компьютерной системе предварительно используют программу фиксирования действий пользователя, которая фиксирует все действия пользователя.
Еще в одном частном случае реализации системы в ходе тестирования, по крайней мере, одного обновления на виртуальной компьютерной системе сервера администрирования воспроизводят ранее зафиксированные действия пользователя.
Способ проверки целесообразности установки обновлений, в котором: получают, по крайней мере, одно обновление и информацию об уязвимостях, закрываемых этим обновлением; подбирают период тестирования и, по крайней мере, одну компьютерную систему, наиболее приемлемые для тестирования, по крайней мере, одного обновления на основании, по крайней мере, одного из: сложности тестирования обновления, конфигурации компьютерных систем, частоты использования установленного программного обеспечения и устройств, частоты использования компьютерных систем; формируют результат тестирования в ходе тестирования, по крайней мере, одного полученного обновления; проверяют целесообразность установки, по крайней мере, одного протестированного обновления с учетом, по крайней мере, одного из: уровня опасности уязвимости, частоте использования уязвимости, результата тестирования данного обновления.
В частном случае реализации способа хранят данные о конфигурации компьютерных систем в инфраструктуре организации, частоте использования компьютерных систем, частоте использования программного обеспечения и устройств.
В другом частном случае реализации способа хранят данные о статистике использования и уровне критичности уязвимостей.
Еще в одном частном случае реализации способа для тестирования, по крайней мере, одного обновления используют настраиваемую виртуальную компьютерную систему.
В другом частном случае реализации способа предварительно используют программу фиксирования действий пользователя.
Еще в одном частном случае реализации способа в ходе тестирования, по крайней мере, одного обновления на виртуальной компьютерной системе воспроизводит ранее зафиксированные действия пользователя.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг.1 отображает структурную схему системы проверки целесообразности установки обновлений.
Фиг.2 иллюстрирует алгоритм работы системы проверки целесообразности установки обновлений.
Фиг.3 представляет пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Далее по тексту под обновлением понимают отдельно выпускаемую часть ПО, используемую для устранения его ошибок в работе, изменения его функционала, интерфейса и т.д. Примерами обновлений могут быть программные патчи (англ. patch), наборы обновлений (англ. service pack) и другие виды обновлений программного обеспечения (англ. software updates). Обновления создают для большинства элементов компьютерной системы. Существуют обновления драйверов устройств, отдельного ПО, операционной системы в целом.
Ввиду наличия большого количества ПО и отсутствия необходимого количества времени разработчики при выпуске обновлений не имеют возможности учесть их совместимость с множеством ПО и обновлений других разработчиков. Нередко возникают ситуации, когда установка обновления одной программы или драйвера устройства вызывает конфликт в работе с другими уже установленными программами или драйверами, что приводит к деградации производительности компьютерной системы, потере ее работоспособности. Для того чтобы определить, можно и нужно ли устанавливать очередное обновление, используют систему проверки целесообразности установки обновлений.
Фиг.1 отображает структурную схему системы проверки целесообразности установки обновлений. Система проверки целесообразности установки обновлений состоит из средства тестирования 130, средства анализа 140, средства внедрения 150, базы данных ПО и устройств 160, среды тестирования 170, по крайней мере, одной компьютерной системы 180, для элемента которой выпущено, по крайней мере, одно обновление, сервера администрирования 190.
Средство тестирования 130 предназначено для получения, по крайней мере, одного обновления 120 и информации об обновлении, подбора оптимальной среды тестирования 170 и периода тестирования, по крайней мере, одного обновления 120 в этой среде. Помимо этого, средство тестирования 130 предназначено для выполнения тестирования, по крайней мере, одного обновления 120 в среде тестирования 170 в течение подобранного периода, формирования и передачи результата тестирования, по крайней мере, одного обновления и информации об обновлении 120 средству анализа 140.
Получение обновления 120 может быть инициировано средствами ПО. Например, ПО может периодически опрашивать сервер производителя о наличии обновлений (такой способ используется в ПО компании Adobe Systems). Также получение обновлений может быть инициировано самим сервером производителя, на котором хранятся обновления.
В отдельных случаях компании устанавливают собственный сервер обновления, например Windows Server Update Services (WSUS) - сервер обновлений операционных систем и продуктов Microsoft, который синхронизируется с глобальными серверами обновлений и скачивает обновления, которые необходимо распространить внутри локальной сети организации. Такими функциями может обладать сервер администрирования 190.
Информация об обновлении включает в себя, но не ограничена, уровень опасности уязвимости и частоту использования уязвимостей. Уровень опасности уязвимости формируется на основании информации о характере и структуре самой уязвимости (см., например, http://www.microsoft.com/security/sir/story/default.aspx#!10year_vulnerabilities). Уязвимости высоким уровнем опасности считаются наиболее опасными, их легко эксплуатировать, и они, скорее всего, могут привести к потере данных. Частота использования уязвимости - постоянно обновляемая информация о фактах использования данной уязвимости злоумышленниками (обнаружение эксплоитов, которые используют эту уязвимость). Информация об обновлении может храниться в базе данных уязвимостей. Средство тестирования 130 по алгоритму подбора оптимальной среды тестирования и периода тестирования обновлений подбирает оптимальную среду тестирования 170 и период тестирования обновлений.
Под средой тестирования 170 понимают совокупность компьютерных систем и их элементов, которые подходят для выполнения тестирования, по крайней мере, одного обновления. Тестирование обновления состоит из установки обновления в среде тестирования 170 и последующей регистрации ошибок, связанных с этим обновлением, с учетом функциональных параметров компьютерных систем.
Алгоритм подбора оптимальной среды и периода тестирования обновлений состоит из двух этапов. На первом этапе выполняют подбор оптимальной среды тестирования 170. На втором этапе определяют оптимальный период тестирования.
При подборе оптимальной среды и периода тестирования обновлений учитывают размер и состав инфраструктуры организации. Под инфраструктурой организации подразумевают совокупность всех компьютерных систем, используемых организацией для работы. Данные о компьютерных системах, используемых в инфраструктуре организации, хранятся в базе данных ПО и устройств 160. База данных ПО и устройств 160 предназначена для хранения данных о составе инфраструктуры организации, конфигурациях компьютерных систем, частоте использования компьютерных систем, частоте использования ПО и устройств.
В одном из вариантов реализации на компьютерных системах инфраструктуры организации может быть установлен агент администрирования. Агент администрирования предназначен для поиска установленного ПО, устройств, регистрации данных о конфигурациях компьютерных систем, частоте использования компьютерных систем, частоте использования ПО и устройств, ведения истории о выполненных действиях пользователя, нагрузках на элементы компьютерной системы, сбоях и ошибках в работе компьютерной системы. Вышеперечисленные данные агент администрирования может заносить в базу данных ПО и устройств 160. Также агент администрирования дополнительно предназначен для ограничения активности приложений в соответствии с информацией об уязвимостях и активности этих приложений.
В другом варианте реализации база данных ПО и устройств 160 заполняется непосредственно при помощи системы управления контролем доступа к сети (англ. Network Access Control), которая работает совместно со средством учета ПО и устройств (англ. Hardware Inventory). Например, в публикации US 20110055907 A1 описана система организации доступа к сетевым ресурсам, которая предоставляет доступ на основании политики безопасности. Исходя из конфигурации и настроек хоста (компьютера пользователя), устройств, доступ к сетевым ресурсам может быть полностью ограничен. После регистрации компьютерной системы в сети средство учета ПО и устройств анализирует зарегистрированную компьютерную систему и сохраняет данные о конфигурации, частоте использования компьютерной системы, частоте использования установленного ПО и устройств. Анализ компьютерной системы может осуществляться периодически. В базе данных ПО и устройств 160 может храниться информация как об активных компьютерных системах, так и о неактивных либо выключенных, использовавшихся ранее.
Средство тестирования 130 из базы данных ПО и устройств 160 запрашивает данные о наиболее подходящих для тестирования компьютерных системах инфраструктуры организации, для которых применимо обновление. При подборе оптимальной среды и периода тестирования обновлений в первую очередь учитывают данные о конфигурации компьютерных систем в инфраструктуре организации, частоте использования компьютерных систем, частоте использования установленного ПО и устройств на компьютерной системе.
Среди конфигураций компьютерных систем можно выделить 4 вида конфигураций: серверную, стационарную, мобильную и виртуальную. Серверная компьютерная система содержит устройства, предназначенные для сервера (серверный процессор Intel Xeon, многопортовые серверные сетевые карты), серверную операционную систему (Microsoft Windows Server) и ПО, предназначенное для сервера (веб-сервисы, почтовые сервисы, СУБД). Стационарная компьютерная система, например персональный компьютер, содержит стандартные устройства (процессоры семейства Intel Core i3/i5/i7, материнскую плату сокета 1366), стандартную операционную систему (Microsoft Windows, Ubuntu) и ПО, предназначенное для стандартной операционной системы (Microsoft Office, Adobe Photoshop). Мобильная компьютерная система, например смартфон, содержит мобильные устройства (мобильный процессор МТК, мобильный графический процессор NVidia Tegra), мобильную операционную систему (Android, iOS) и ПО для мобильной операционной системы (GO Weather). Виртуальная компьютерная система, например виртуальная рабочая станция (VMware Workstation), содержит виртуальные устройства (VMware virtual ethernet adapter), один из вышеперечисленных видов операционной системы, один из вышеперечисленных видов ПО, соответствующий виду операционной системы. Чем больше схожих конфигураций компьютерных систем в инфраструктуре организации, тем проще подобрать оптимальную среду и период тестирования обновлений. Чем больше в инфраструктуре организации различных по конфигурации компьютерных систем, тем сложнее подобрать оптимальную среду тестирования 170. Помимо этого, дополнительную сложность при тестировании вносит разнообразие используемых устройств (например, материнские платы, процессоры, память различных производителей).
Простая инфраструктура организации может содержать большое количество стационарных компьютерных систем и малое количество систем другой конфигурации. Сложная инфраструктура организации может содержать множество компьютерных систем любых видов.
Важным условием при подборе среды тестирования 170 также считается рейтинг сложности тестирования обновлений. Самый высокий рейтинг сложности тестирования имеют обновления операционной системы и ее элементов. Сложность заключается в том, что для успешного тестирования таких обновлений в конфигурации одного вида требуется среда тестирования 170, содержащая максимальное количество различных устройств и установленного ПО.
Помимо этого, высокий рейтинг сложности тестирования присваивается обновлениям драйверов и вспомогательного ПО для устройств. Обновления такого вида также выпускаются часто, а ошибки в их работе наиболее критично влияют на работоспособность системы. Среда тестирования 170 может содержать компьютерную систему с установленной операционной системой и конкретным устройством, для которого выпущено обновление драйвера или вспомогательного ПО.
Рейтинг средней сложности тестирования имеют обновления популярного ПО, например обновления офисного ПО, браузеров, редакторов графических файлов и др. Для успешного тестирования таких обновлений в конфигурации одного вида требуется среда тестирования 170, содержащая максимальное количество различных устройств и ПО. Среди различного ПО в среде должен быть установлен тот популярный программный продукт, для которого было выпущено обновление. Данный вид обновлений также выпускается часто. Следует учитывать, что для обновлений этого рейтинга сложности наличие различных устройств играет второстепенную роль.
Низкий рейтинг сложности тестирования имеют обновления непопулярного специализированного ПО, которое используются редко. Подобный вид обновлений выпускают реже всего. Средой тестирования 170 в этом случае выбирают соответствующую компьютерную систему либо виртуальную машину с установленным программным продуктом, для которого выпущено обновление.
Обновления всех рейтингов сложности тестирования в отдельных случаях могут оцениваться заново и получать другой рейтинг сложности тестирования.
Другим важным условием при подборе среды тестирования 170 является частота использования компьютерной системы. Для большей эффективности тестирования обновлений в среду тестирования 170 рекомендуется подбирать наиболее часто используемые компьютерные системы, которые выбраны исходя из условий подбора конфигурации и рейтинга сложности тестирования. В отдельных случаях, например при выявлении критических ошибок, использование в среде тестирования 170 наиболее часто используемых компьютерных систем опасно, поскольку может вызвать остановку важного узла инфраструктуры организации.
Рекомендуемыми, но менее эффективными для тестирования являются компьютерные системы обычной частоты использования. В этом случае при наличии ресурсов потерю эффективности можно компенсировать увеличением количества компьютерных систем, включаемых в среду тестирования 170. Обычной частотой использования для стационарной компьютерной системы с учетом восьмичасового рабочего дня можно считать использование по четыре часа пять дней в неделю. Администратор организации может изменить уровень показателя частоты использования. Например, в организациях, где рабочий день пользователя связан с непрерывной работой в компьютерной системе, обычной частотой использования можно считать использование по шесть часов пять дней в неделю. Соответственно, те компьютерные системы, которые используются чаще, считаются часто используемыми компьютерными системами.
Редко используемые компьютерные системы могут выступать в качестве среды тестирования 170 обновлений низкого рейтинга сложности. Даже если на таких компьютерных системах отсутствует устройство или ПО, для которого было выпущено обновление низкого рейтинга сложности, у администраторов есть возможность их временной установки. В этом случае администратор временно устанавливает устройство или ПО, организовывает рабочее место и приглашает пользователя для выполнения действий, требуемых для тестирования. После окончания тестирования устройство, ПО или операционная система могут быть деинсталлированы.
Также редко используемые компьютерные системы, если удовлетворяют другим условиям, могут быть дополнительными компьютерными системами, включаемыми в среду тестирования 170, о чем было упомянуто выше.
Еще одним важным условием при подборе среды тестирования 170 является частота использования ПО и устройств на компьютерной системе. Для оценки частоты использования ПО и устройств учитывают ряд факторов, таких как календарное время использования ПО и устройств, процессорное время использования ПО и устройств, число запусков ПО и устройств, число обращений к сервисам, входящим в состав ПО, и т.д.
При использовании упомянутого выше агента администрирования для определения частоты использования ПО и устройств можно отслеживать активность программ и сервисов. В случае если работа осуществляется в мобильной или стационарной компьютерной системе, ее использование подразумевает непосредственную работу пользователя. Частота использования ПО и устройств может быть зафиксирована на основании учета способов начала и завершения пользовательской сессии; оценки активности входящих в состав компьютерной системы (подключенных к нему) устройств ввода, таких как сенсорный экран, клавиатура, мышь и т.д.; на основании учета фактов подключения к компьютерной системе других устройств (включая сменные носители информации) и т.д. Таким образом, если интервал времени между событиями, которые считаются фактом использования системы, например нажатиями на клавиши клавиатуры и движением мыши или обслуживанием запросов, не превышает определенного порога, считают, что весь интервал времени между этими событиями компьютерную систему использовали.
Наиболее часто используемые компьютерные системы, на которых наиболее часто используется программа или устройство, для которого было выпущено обновление, - идеальная среда тестирования 170 обновлений. По аналогии с частотой использования компьютерных систем использование идеальной среды тестирования 170 обновлений может привести к остановке работы важного элемента инфраструктуры организации. Рекомендуемой средой тестирования 170 являются компьютерные системы обычной частоты использования, на которых с обычной частотой используют ПО или устройства, для которых были выпущены обновления. Важно не допустить случаев, когда на наиболее часто используемом компьютере тестируют обновление ПО или устройств, которые вовсе не используются.
Исходя из вышеперечисленных трех условий подбора среды тестирования 170, строится алгоритм подбора оптимальной среды тестирования 170. Сперва определяют рейтинг сложности обновления, затем подбирают оптимальные компьютерные системы из инфраструктуры организации по частоте использования, затем среди подобранных компьютерных систем инфраструктуры организации выбирают компьютерные системы с оптимальной частотой использования устройств и ПО, для которых было выпущено обновление.
При подборе оптимального периода тестирования обновлений следует принимать во внимание два фактора. С одной стороны, чем меньше период тестирования, тем менее достоверны результаты тестирования и выше вероятность получения сбоев в работе ПО и устройств после установки протестированных обновлений на компьютерные системы 180, для элемента которых выпущены обновления. С другой стороны, чем больше период тестирования, тем дольше компьютерные системы инфраструктуры организации, не вошедшие в среду тестирования 170, продолжают работать без установки обновления, которое может содержать исправления ошибок и устранить уязвимости. В этом случае вероятность возникновения сбоев и ошибок становится выше. На вышеупомянутых компьютерных системах без установленных обновлений может быть осуществлен запуск кода злоумышленников. Также может произойти утечка секретной информации, утрата ценных данных, нарушение работоспособности системы.
Обычные ошибки, возникающие при использовании ПО и устройств, как правило, имеют фиксированное негативное влияние на бизнес-процессы (за исключением ошибок с накопительным эффектом, вероятность воспроизведения или которых могут увеличиваться со временем в ходе эксплуатации). Риски использования в компьютерной системе ПО, которое содержит уязвимость, резко возрастают, когда появляется приложение от злоумышленников, использующее данную уязвимость (эксплоит). Поэтому выбор периода тестирования сводится к подбору оптимального соотношения рисков. При этом текущий уровень опасности уязвимости (англ. severity), зафиксированный экспертами, является одним из важнейших критериев в определении периода тестирования. Чем выше уровень опасности уязвимости, тем при прочих равных условиях короче должен быть период тестирования закрывающих ее обновлений.
При подборе периода тестирования также используют рейтинг сложности тестирования. Обновления высокой сложности требуют более длительного периода тестирования. Например, обновления серверной операционной системы необходимо тестировать до двух недель. За этот период времени могут быть проверены все возможные комбинации устройств компьютерных систем и установленного ПО. Обновления среднего рейтинга сложности можно тестировать в течение недели, но с учетом описания изменений обновления. Обновления низкого рейтинга сложности тестируют в течение двух-трех дней. Поскольку обновления этого типа выходят редко, ошибки, вызванные этим типом обновлений, появляются крайне редко. Также на изменение периода тестирования влияет роль компьютерной системы, в которой будет происходить установка обновления. Например, установка обновления для серверной операционной системы, которая направлена на оптимизацию процесса обмена сетевых данных, потребует тестирования периодом в несколько месяцев. Такой длительный период позволит, как минимум, компенсировать малое количество серверов и сосредоточиться на проверке всех пунктов описания изменений обновления. В особых случаях обновления любого рейтинга сложности тестирования устанавливаются без тестирования, например, когда обновление, исходя из описания, не вносит никаких серьезных изменений, например изменений, влияющих на работоспособность и надежность. Таким образом, при выборе начальных периодов тестирования в зависимости от размера и состава инфраструктуры организации можно определить период тестирования обновлений каждого рейтинга сложности с учетом уровня опасности закрываемых обновлениями уязвимостей.
В случае если подбор среды тестирования 170 затруднителен, тестирование обновления ПО и операционной системы можно выполнить на сервере администрирования 190, содержащем настраиваемую среду тестирования 170.
Сервер администрирования 190 предназначен для предоставления настраиваемой виртуальной компьютерной системы в качестве среды тестирования 170.
Для оптимизации тестирования на компьютерной системе, которая удовлетворяет всем условиям подбора в среду тестирования 170, может быть установлена программа фиксирования действий, которая записывает стандартные действия, совершаемые пользователем в ходе его работы с ПО или операционной системой, для которых выпущены обновления. Сервер администрирования 190 создает виртуальную компьютерную систему, устанавливает требуемые для включения в среду тестирования 170 операционную систему и набор ПО. После этого на виртуальной компьютерной системе воспроизводят перечень действий, полученный от программы фиксирования действий, который повторяет действия пользователя, записанные ранее. По окончании тестирования сервер администрирования 190 формирует и передает результат тестирования средству анализа 140.
Процесс воспроизведения ранее записанных действий пользователей также можно использовать на компьютерных системах, которые не попали в среду тестирования 170 по причине низкого показателя частоты использования компьютерной системы или частоты использования ПО или устройств. В этом случае воспроизведение действий может полностью заменить присутствие пользователя в работе и компьютерной системы, и ПО или устройств.
Средство тестирования 130 осуществляет установку обновлений в среде тестирования 170 и выполняет тестирование обновлений в течение ранее определенного периода времени. В ходе тестирования средство тестирования 130 формирует результат тестирования. Затем средство тестирования 130 передает результат тестирования и информацию об обновлении средству анализа 140.
Результат тестирования, по крайней мере, одного обновления содержит данные об ошибках и недостатках в компьютерной системе в целом, которые возникли после установки обновлений в ходе тестирования. Также в результат тестирования включают результаты периодических замеров расходования ресурсов компьютерной системы (нагрузка на процессоры, память, сетевая активность и т.д.), замеры производительности системы. Ошибки могут быть разного типа, например: полный отказ операционной системы, отдельного ПО или устройств; частичное ограничение функций операционной системы, отдельного ПО или устройств и т.д. Недостатками могут быть, например, превышение допустимого порога загруженности компьютерной системы, уменьшение быстродействия и т.д.
Сервер администрирования 190 дополнительно может содержать базу данных уязвимостей, в которой хранится вышеупомянутая информация об обновлениях. Данные об использовании уязвимостей постоянно изменяются, поэтому поддержания актуальности сервер администрирования 190 периодически обновляет базу данных уязвимостей.
Период уже начатого тестирования может быть сокращен, если в ходе тестирования у уязвимостей, закрываемых тестируемыми обновлениями, повысился уровень опасности в результате обновления данных.
В сложных компьютерных системах невозможно тестировать обновления по отдельности. Обновления объединяют в группы. Критерием объединения обновлений в группы может быть дата выпуска обновлений, рейтинг сложности тестирования, роль компьютерной системы и т.д. В зависимости от критерия объединения среда и период тестирования могут быть изменены. Помимо этого, следует учитывать, что в ходе тестирования могут быть выпущены новые обновления, которые, возможно, необходимо будет включить в существующую группу тестируемых обновлений. Такая ситуация возможна, например, когда после обновления часто используемого ПО выходит обновление операционной системы. Или, например, если новое обновление для операционной системы выпускают в тот момент, когда тестирование предыдущего обновления не закончено. Таким образом, может измениться и среда и время тестирования.
Средство тестирования 130 передает результат тестирования, по крайней мере, одного обновления и информацию об обновлении средству анализа 140. Средство анализа 140 предназначено для проверки целесообразности установки, по крайней мере, одного обновления по правилам проверки целесообразности, а также для формирования и передачи списка обновлений, целесообразность установки которых подтверждена, средству внедрения 150.
Средство анализа 140, используя результаты тестирования и информацию об обновлениях, определяет целесообразно ли устанавливать обновления.
Правила проверки целесообразности установки обновлений содержат условия, при выполнении которых среди всех протестированных обновлений выбирают обновления, целесообразность установки которых подтверждена или опровергнута.
Основное правило, которое полностью опровергает целесообразность установки обновлений, формулируется следующим образом: нельзя устанавливать обновление, которое вызывает критические ошибки операционной системы, критичную деградацию производительности, даже если обновление устраняет уязвимость наивысшего уровня опасности. Примером правила, которое подтверждает целесообразность установки очередного обновления, может быть такое правило: в случае если уязвимость, на данный момент существующая в компьютерной системе, будет устранена после установки обновления, а результаты тестирования не показали негативных воздействий на работоспособность системы, всегда выполнять обновление. Также это правило действует в случае, если после устранения уязвимости и установки обновления выявляют уязвимость меньшего уровня.
Целесообразность установки обновлений может опровергнуть информация об имеющихся уязвимостях в самих устанавливаемых обновлениях, включая уровень опасности и показатель частоты использования уязвимости вредоносными приложениями. Правила проверки целесообразности установки обновлений могут быть как частью средства анализа 140, так и хранится в отдельной базе данных или на сервере администрирования 190. Правила могут быть добавлены, изменены, обновлены или удалены.
При равном уровне опасности уязвимости, если частота использования вредоносными приложениями уязвимости, которую выявляют после обновления, больше, чем частота использования вредоносными приложениями уязвимости, которая присутствует до обновления, то обновление будет отложено.
Средство внедрения 150 предназначено для установки, по крайней мере, одного обновления из списка обновлений, целесообразность установки которых подтверждена, по крайней мере, на одну компьютерную систему 180, для которой выпущено обновление.
Под компьютерной системой 180, для которой выпущено, по крайней мере, одно обновление, понимают компьютерную систему произвольной конфигурации, для элемента которой было выпущено обновление. Вышеописанная компьютерная система может не входить в среду тестирования 170 и ожидать окончания тестирования и проверки целесообразности установки обновлений, для того чтобы установить выпущенное для ее элемента обновление.
Поскольку основным требованием к компьютерной системе при подборе в среду тестирования 170 является наличие ПО или операционной системы, для которой выпущено обновление, в простых инфраструктурах организации среда тестирования 170 может содержать, в том числе, и компьютерную систему 180, для которой выпущено обновление. В этом случае важно предупредить любые ошибки в компьютерной системе, поэтому тестирование может быть выполнено по методу контрольных точек и откатов. Перед началом каждого этапа тестирования выполняют сохранение образа или контрольной точки системы, для того чтобы впоследствии при отказе работы системы возвратить систему в рабочее состояние за минимальное время. Если вышло обновление, например, серверной операционной системы, и в простой инфраструктуре организации используют одну серверную компьютерную систему в качестве почтового сервера, то, соответственно, средой тестирования 170 должна быть серверная компьютерная система, на которой установлена серверная операционная система с набором почтового ПО. Поскольку в этой инфраструктуре организации кроме почтового сервера больше нет серверных компьютерных систем, то именно он войдет в среду тестирования 170. Таким образом, среда тестирования 170 полностью совпадет с компьютерной системой 180, для которой выпущено обновление.
Фиг.2 иллюстрирует алгоритм работы системы проверки целесообразности установки обновлений. На этапе 210 средство тестирования 130 получает, по крайней мере, одно обновление 120 и информацию о нем. На этапе 211 средство тестирования 130 по алгоритмам подбора среды и периода тестирования подбирает среду тестирования 170 и период тестирования, по крайней мере, одного полученного обновления 120. На этапе 212 средство тестирования 130 в ходе тестирования, по крайней мере, одного полученного обновления 120 формирует результат тестирования данного обновления. Затем средство тестирования 130 передает сформированный результат тестирования средству анализа 140. На этапе 213 средство анализа 140 с учетом полученного результата тестирования и информации об обновлении по правилам проверки целесообразности установки обновлений выполняет проверку целесообразности установки, по крайней мере, одного обновления и формирует список обновлений, целесообразность установки которых подтверждена. Затем средство анализа 140 передает список обновлений, который содержит, по крайней мере, одно обновление, целесообразность установки которого подтверждена, средству внедрения 150. На этапе 214 средство внедрения 150 устанавливает, по крайней мере, одно обновление из списка обновлений, целесообразность установки которых подтверждена, по крайней мере, на одну компьютерную систему 180, для которой выпущено обновление.
Фиг.3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
название | год | авторы | номер документа |
---|---|---|---|
Способ и система для принятия решения о готовности компьютеров локальной вычислительной сети к работе | 2021 |
|
RU2799736C2 |
СИСТЕМА И СПОСОБ ДЛЯ УДАЛЕННОГО АДМИНИСТРИРОВАНИЯ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ В РАМКАХ СЕТИ | 2010 |
|
RU2446457C1 |
Способ формирования списка агентов обновлений | 2016 |
|
RU2649292C2 |
СИСТЕМА И СПОСОБ ДЛЯ КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ КОРПОРАТИВНОЙ СЕТИ ДЛЯ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ | 2011 |
|
RU2460132C1 |
СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОЙ РЕГУЛИРОВКИ ПРАВИЛ КОНТРОЛЯ ПРИЛОЖЕНИЙ | 2013 |
|
RU2589852C2 |
СИСТЕМА ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ РИСКАМИ И УЯЗВИМОСТЯМИ ЭЛЕМЕНТОВ ИНФРАСТРУКТУРЫ | 2020 |
|
RU2747476C1 |
СИСТЕМА И СПОСОБ ЗАЩИТЫ ОТ НЕЛЕГАЛЬНОГО ИСПОЛЬЗОВАНИЯ ОБЛАЧНЫХ ИНФРАСТРУКТУР | 2012 |
|
RU2536663C2 |
СИСТЕМА И СПОСОБ ПРЕДОТВРАЩЕНИЯ ИНЦИДЕНТОВ БЕЗОПАСНОСТИ НА ОСНОВАНИИ РЕЙТИНГОВ ОПАСНОСТИ ПОЛЬЗОВАТЕЛЕЙ | 2011 |
|
RU2477929C2 |
Автоматизированная оценка безопасности критически важных для бизнеса компьютерных систем и ресурсов | 2011 |
|
RU2657170C2 |
Способ защиты программного обеспечения от недекларированных возможностей, содержащихся в получаемых обновлениях | 2018 |
|
RU2696951C1 |
Изобретение относится к установке обновлений на компьютерные системы. Технический результат настоящего изобретения заключается в оптимизации процесса обновления компьютерной системы. Система проверки целесообразности установки обновлений содержит: по крайней мере одну компьютерную систему, в которой установлены устройства и программное обеспечение, для которых выпускают обновления; средство тестирования, предназначенное для: получения по крайней мере одного обновления и информации об уязвимостях, устраняемых этим обновлением; подбора периода тестирования и по крайней мере одной компьютерной системы, для тестирования по крайней мере одного полученного обновления на основании по меньшей мере одного из: рейтинга сложности тестирования обновления, конфигурации компьютерных систем, частоты использования установленного программного обеспечения и устройств, частоты использования компьютерных систем; формирования результата тестирования в ходе тестирования по крайней мере одного полученного обновления в течение подобранного периода тестирования на подобранной по крайней мере одной компьютерной системе; передачи результата тестирования по крайней мере одного полученного обновления и информации об уязвимостях, устраняемых этим обновлением, средству анализа; средство анализа, предназначенное для определения целесообразности установки по крайней мере одного протестированного обновления с учетом по меньшей мере одного из уровня опасности уязвимости, частоты использования уязвимости, результата тестирования полученного обновления. 2 н. и 11 з.п. ф-лы, 3 ил.
1. Система проверки целесообразности установки обновлений, которая содержит:
а) по крайней мере одну компьютерную систему, в которой установлены устройства и программное обеспечение, для которых выпускают обновления;
б) средство тестирования, предназначенное для:
- получения по крайней мере одного обновления и информации об уязвимостях, устраняемых этим обновлением;
- подбора периода тестирования и по крайней мере одной компьютерной системы, для тестирования по крайней мере одного полученного обновления на основании по меньшей мере одного из: рейтинга сложности тестирования обновления, конфигурации компьютерных систем, частоты использования установленного программного обеспечения и устройств, частоты использования компьютерных систем;
- формирования результата тестирования в ходе тестирования по крайней мере одного полученного обновления в течение подобранного периода тестирования на подобранной по крайней мере одной компьютерной системе;
- передачи результата тестирования по крайней мере одного полученного обновления и информации об уязвимостях, устраняемых этим обновлением средству анализа;
в) средство анализа, предназначенное для определения целесообразности установки по крайней мере одного протестированного обновления с учетом по меньшей мере одного из уровня опасности уязвимости, частоты использования уязвимости, результата тестирования полученного обновления.
2. Система по п. 1, которая дополнительно содержит базу данных программного обеспечения и устройств, предназначенную для хранения данных о составе инфраструктуры организации, конфигурациях компьютерных систем инфраструктуры организации, частоте использования компьютерных систем, частоте использования программного обеспечения и устройств.
3. Система по п. 1, которая дополнительно содержит базу данных уязвимостей, предназначенную для хранения информации об уязвимостях, которая включает в себя данные о частоте использования и уровне опасности уязвимостей.
4. Система по п. 3, в которой средство анализа в ходе определения целесообразности установки по крайней мере одного протестированного обновления повторно получает информацию о частоте использования и уровне опасности уязвимостей.
5. Система по п. 1, в которой дополнительно используют сервер администрирования, который содержит настраиваемую виртуальную компьютерную систему и предназначен для выполнения тестирования по крайней мере одного полученного обновления на настраиваемой виртуальной компьютерной системе.
6. Система по п. 5, в которой на часто используемой компьютерной системе предварительно дополнительно используют программу фиксирования действий пользователя, которая фиксирует все действия пользователя.
7. Система по п. 6, в которой в ходе тестирования по крайней мере одного полученного обновления на виртуальной компьютерной системе сервера администрирования воспроизводят ранее зафиксированные действия пользователя.
8. Способ проверки целесообразности установки обновлений, в котором:
а) получают по крайней мере одно обновление и информацию об уязвимостях, устраняемых этим обновлением;
б) подбирают период тестирования и по крайней мере одну компьютерную систему, для тестирования по крайней мере одного обновления на основании по меньшей мере одного из: рейтинга сложности тестирования обновления, конфигурации компьютерных систем, частоты использования установленного программного обеспечения и устройств, частоты использования компьютерных систем;
в) формируют результат тестирования в ходе тестирования по крайней мере одного полученного обновления в течение подобранного периода тестирования на подобранной по крайней мере одной компьютерной системе;
г) определяют целесообразность установки по крайней мере одного протестированного обновления с учетом по меньшей мере одного из: уровня опасности уязвимости, частоты использования уязвимости, результата тестирования полученного обновления.
9. Способ по п. 8, в котором хранят данные о конфигурации компьютерных систем в инфраструктуре организации, частоте использования компьютерных систем, частоте использования программного обеспечения и устройств.
10. Способ по п. 8, в котором хранят данные о частоте использования и уровне опасности уязвимостей.
11. Способ по п. 8, в котором для тестирования по крайней мере одного обновления используют настраиваемую виртуальную компьютерную систему.
12. Способ по п. 8, в котором предварительно используют программу фиксирования действий пользователя.
13. Способ по п. 8, в котором в ходе тестирования по крайней мере одного обновления на виртуальной компьютерной системе воспроизводит ранее зафиксированные действия пользователя.
US 7500234 B2, 03.03.2009 | |||
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ И ПЕРЕДАЧИ ОБНОВЛЕНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ | 2004 |
|
RU2357279C2 |
АРХИТЕКТУРА СИСТЕМЫ РАСПРОСТРАНЕНИЯ ОБНОВЛЕНИЙ И СПОСОБ РАСПРОСТРАНЕНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ | 2005 |
|
RU2408063C2 |
Авторы
Даты
2015-12-20—Публикация
2013-10-24—Подача