развертывание и получение программного обеспечения по сети, чувствительной к злонамеренному обмену данными
Классы МПК: | G06F21/20 путем ограничения доступа к узлам в компьютерных системах или сетях |
Автор(ы): | ХОЛЛАДЭЙ Мартин Л. (US), КАРКИ Мукеш (US), ПАРТАСАРАТИ Нараянан (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2005-09-14 публикация патента:
10.12.2010 |
Изобретение относится к области развертывания и получения программного обеспечения по сети. Техническим результатом является повышение безопасности при развертывании и/или получении операционной системы и обновлений для операционной системы на пустом компьютере через сеть. Описаны системы и/или способы, которые обеспечивают возможность безопасного развертывания и/или получения операционной системы и обновлений для операционной системы на пустой компьютер через сеть, чувствительную к злонамеренному обмену данными. Эти системы и/или способы могут, в одном варианте воплощения, защищенным образом развертывать образ, содержащий операционную систему, и допускают защищенное получение обновления для операционной системы, что выполняется через сеть, чувствительную к злонамеренному обмену данными. Они могут также, в другом варианте воплощения, обеспечивать для пустого компьютера, который добавляется к сети, возможность развертывания операционной системы на нем и обновления ее через сеть прежде, чем пустой компьютер будет подвергнут воздействию злонамеренного кода, передаваемого по сети. 2 н. и 18 з.п. ф-лы, 3 ил.
Формула изобретения
1. Способ развертывания операционной системы по сети на компьютер, включающий в себя этапы, на которых
принимают (204) посредством сервера развертывания (104) образ, содержащий операционную систему, от опорного компьютера (102);
если принятый образ не блокирован, автоматически блокируют (206) посредством сервера развертывания принятый образ посредством редактирования параметров настройки защиты образа для добавления или включения средства межсетевой защиты для запрета незапрашиваемых обменов данными, причем средство межсетевой защиты запрещает обмен данными с любым портом, отличающимся от порта, используемого сервером развертывания;
защищенным образом развертывают (310) блокированный образ на компьютер (114, 116, 188) через сеть, которая является восприимчивой к злонамеренному обмену данными;
инструктируют (318) посредством сервера развертывания компьютер загрузить блокированный образ;
инструктируют (326) посредством сервера развертывания компьютер запросить обмен данными для приема обновления программного обеспечения;
принимают (336) посредством сервера развертывания от компьютера указание того, что обновление программного обеспечения было успешно применено; и инструктируют (338) посредством сервера развертывания компьютер разрешить потенциально злонамеренный обмен данными по сети посредством открытия портов средства межсетевой защиты после приема упомянутого указания.
2. Способ по п.1, в котором опорный компьютер представляет собой опорный сервер, при этом способ дополнительно включает в себя этапы, на которых инструктируют опорный сервер запрещать незапрашиваемый обмен данными через сеть, отличный от того, что имеет место от защищенного источника или через защищенный порт, и принимают блокированный образ от опорного сервера.
3. Способ по п.2, в котором при инструктировании опорного сервера инструктируют опорный сервер активировать средство межсетевой защиты.
4. Способ по п.2, в котором при инструктировании опорного сервера инструктируют опорный сервер добавить протоколы IPSec.
5. Способ по п.1, в котором блокированный образ приспособлен для запрета обмена данными, осуществляемого через сеть, который является незапрашиваемым и потенциально злонамеренным.
6. Способ по п.1, в котором блокированный образ приспособлен для запрета незапрашиваемого обмена данными, отличающегося от того, что имеет место от источника, с которого блокированный образ был развернут.
7. Способ по п.1, в котором обновление программного обеспечения предназначено для повышения сопротивления операционной системы злонамеренному коду.
8. Способ по п.1, в котором компьютер представляет собой пустой компьютер.
9. Способ по п.1, в котором компьютер представляет собой пустой сервер.
10. Способ по п.1, в котором при инструктировании компьютеру запросить обмен данными компьютер инструктируют запросить обмен данными от сервера обновлений через сеть.
11. Способ по п.1, в котором действие по приему и действия по инструктированию осуществляются через сеть.
12. Способ по п.1, в котором сеть включает в себя сеть интранет, выполненную с возможностью обмена данными с сетью Интернет.
13. Способ по любому одному из пп.1-12, дополнительно содержащий выполняемые компьютером этапы, на которых:
защищенным образом принимают (312) блокированный образ, содержащий операционную систему, через сеть (120), которая является восприимчивой к злонамеренному обмену данными;
загружают (320) блокированный образ, причем данный блокированный образ имеет параметры настройки защиты, приспособленные для запрета незапрашиваемого запрета данными, отличного от того, что имеет место от одного или более защищенных источников или через один или более защищенных портов;
принимают (328) инструкцию от защищенного источника или источников через защищенный порт или порты;
следуют данной инструкции для того, чтобы защищенным образом принять (332) обновление программного обеспечения через сеть;
применяют (332) это обновление программного обеспечения для повышения сопротивления операционной системы злонамеренному коду;
разрешают (340) потенциально злонамеренный обмен данными через сеть.
14. Способ по п.13, в котором блокированный образ и инструкцию принимают от сервера развертывания через сеть.
15. Способ по п.13, в котором по меньшей мере четыре из действий по защищенному приему, загрузке, приему инструкции, следованию инструкции, применению и разрешению выполняются без взаимодействия с человеком.
16. Способ по п.13, в котором при приеме обновления программного обеспечения принимают инструкцию запросить обмен данными у источника обновления и запрашивают упомянутое обновление у этого источника обновления.
17. Способ по п.13, в котором при разрешении разрешают незапрашиваемый и потенциально злонамеренный обмен данными через сеть.
18. Способ по п.17, в котором при разрешении изменяют параметр настойки защиты для разрешения незапрашиваемого и потенциально злонамеренного обмена данными.
19. Способ по п.13, в котором действия по приему блокированного образа, загрузке блокированного образа и применению обновления выполняются без взаимодействия с человеком.
20. Считываемый компьютером носитель, имеющий считываемые компьютером инструкции для выполнения способа по п.1.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Это изобретение касается развертывания и получения программного обеспечения по сети.
Предшествующий уровень техники
Один из самых быстрых и самых простых способов добавить новый, пустой сервер (сервер, не имеющий операционной системы) к сети состоит в подключении его в сеть и использования сервера развертывания в этой сети для развертывания образа операционной системы на пустом сервере. Пустой сервер может сохранить этот образ на своем жестком диске или в эквивалентном хранилище, а затем перезагрузиться. Как только он перезагрузится, он сможет запускаться с новой развернутой операционной системой.
Операционные системы, развернутые на пустые сервера с помощью образа, часто являются, однако, устаревшими; они нуждаются в текущих обновлениях для того, чтобы быть оптимально безопасными. Сервер с устаревшей операционной системой, если он связан с сетью, может получить эти обновления через сеть, обычно с сайта в сети Интернет или сервера в сети интранет (внутренней корпоративной сети), имеющего текущие обновления.
Но сеть, даже если она является сетью интранет, может быть чувствительной к злонамеренному обмену данными, типа вируса или другого сетевого нападения. Из-за этого сервер часто не может получить эти обновления до того, как он будет атакован злонамеренным кодом через сеть. В промежуток времени между тем, когда сервер в первый раз запускается со своей операционной системой в сети и когда он загрузит и установит текущие обновления, злонамеренный код, подобный вирусу или «троянскому коню» (вредоносная программа, находящаяся в системе и выполняющая некие вредоносные действия) может напасть на сервер. Это является реальной опасностью, так как многим злонамеренным программам требуется меньше секунды, чтобы повредить сервер, выполняющий устаревшую операционную систему. Вирус MS Blaster, например, может повредить сервер без соответствующего обновления программного обеспечения в пределах десятых долей секунды.
Чтобы частично бороться с этой проблемой, пустой сервер может быть подсоединен к серверу развертывания, не будучи подключенным к сети, например, через ручное подключение кабелем обоих серверов. Через этот кабель сервер развертывания может развернуть образ, содержащий операционную систему, на пустом сервере. Сервер может быть после этого перезагружен с операционной системой. Как только это сделано, обновления могут быть установлены, обычно вручную с компакт-дисков, чтобы сделать операционную систему оптимально безопасной. После такого обновления сервер может быть подключен к сети. Это частичное решение может уменьшить уязвимость сервера для нападения, но оно является трудоемким. Специалист в области информационных технологий может потратить много часов, подключая пустые серверы непосредственно к серверу развертывания, развертывая образы, устанавливая обновления, отсоединяя серверы от сервера развертывания, а затем подключая их в сеть.
Также для частичного решения этой проблемы операционная система и обновления могут быть вручную установлены на пустом сервере, обычно с многих компакт-дисков, до подсоединения сервера к сети. Однако ручная установка операционной системы и обновлений является также трудоемкой и утомительной; это может потребовать часы для каждого сервера.
Поэтому есть потребность в безопасном способе развертывания операционной системы и обновлений на сервер по сети, которая является чувствительной к злонамеренному обмену данными.
Сущность изобретения
Описываются системы и/или способы («инструментальные средства»), которые обеспечивают возможность безопасного развертывания и/или получения операционной системы и обновлений для операционной системы на пустом компьютере через сеть. В одном варианте воплощения, например, инструментальные средства безопасным образом развертывают образ, содержащий операционную систему, и обеспечивают возможность безопасного получения обновления для операционной системы, в обоих случаях через сеть, которая является чувствительной к злонамеренному обмену данными. Во втором варианте воплощения, например, инструментальные средства развертывают на компьютере через сеть операционную систему так, чтобы она, будучи запущенной компьютером, запрещала компьютеру принимать злонамеренные и/или незапрашиваемые сообщения через сеть. В третьем варианте воплощения, например, инструментальные средства дают возможность для пустого компьютера, который добавляется к сети, развернуть операционную систему на нем и обновить ее через сеть прежде, чем пустой компьютер будет подвергнут воздействию злонамеренного кода, передаваемого по сети.
Перечень фигур чертежей
Фиг.1 - иллюстрация примерной архитектуры, имеющей примерные серверы, сеть, чувствительную к злонамеренному обмену данными, и пустые компьютеры.
Фиг.2 - блок-схема последовательности операций примерного процесса для создания блокированного образа, содержащего операционную систему.
Фиг.3 - блок-схема последовательности операций примерного процесса для развертывания и получения блокированного образа и обновлений через сеть, чувствительную к злонамеренному обмену данными.
Одни и те же номера используются по всему описанию и чертежам для ссылки на одинаковые компоненты и признаки.
ПОДРОБНОЕ ОПИСАНИЕ
Примерная архитектура
На Фиг.1 показана примерная архитектура 100, имеющая опорный сервер 102, сервер 104 развертывания, сервер 106 обновлений, и серверную стойку 108. Опорный сервер ссылок, сервер развертывания и сервер обновлений показаны как три отдельных сервера, хотя они могут быть объединены в один или более серверов в любой комбинации. Сервер развертывания содержит машиночитаемые носители, выполненные с возможностью осуществления одного или более процессов, описанных ниже. Эти носители могут содержать, например, приложение 110 развертывания и приложение 112 блокировки. Приложение блокировки показано как часть приложения развертывания, хотя каждое из них может быть отдельным, либо они могут быть объединены. Сервер обновлений также содержит машиночитаемые носители в рассматриваемом случае выполненные с возможностью развертывания исправлений программ, устранения ошибок и т.п., например, обновления устаревшей операционной системы для улучшения ее функционирования, например характеристик ее защиты.
Также показаны три примерных пустых компьютера, пустой сервер 114 в стойке 108, пустой автономный сервер 116 и пустой настольный компьютер 118. Каждый из этих пустых компьютеров имеет программное или аппаратное приложение, достаточное, чтобы дать возможность пустому компьютеру запросить, принять и следовать основным командам, таким как из приложения 110 развертывания.
Архитектура 100 осуществляет связь через сеть 120. Сеть является коммуникационной сетью, чувствительной к злонамеренному обмену данными, типа сетевых нападений. Эта сеть может включать в себя сеть интранет, осуществляющую связь с небезопасным источником, типа сети Интернет или поврежденного компьютера в этой сети интранет, способного посылать злонамеренный код через сеть.
Формирование блокированного образа
Обратимся к Фиг. 2, где показан примерный процесс 200 для формирования блокированного образа. Этот процесс проиллюстрирован как ряд этапов, представляющих собой отдельные операции или действия, выполняемые сервером 104 развертывания, такие как с помощью приложения 112 блокировки. Эти и другие процессы, описанные здесь, могут быть реализованы в любых подходящих аппаратных средствах, программном обеспечении, встроенном программном обеспечении или их комбинации. В случае программного обеспечения и встроенного программного обеспечения эти процессы представляют собой наборы операций, реализованных как машиноисполняемые команды.
На этапе 202 сервер 104 развертывания, используя приложение 112 блокировки, инструктирует опорный сервер 102 запретить обмен данными с недоверенными источниками, но разрешить обмен данными с по меньшей мере одним доверенным источником, типа сервера развертывания. Запрещенный обмен данными может включать весь обмен данными, который не запрашивает сервер ссылок, или весь обмен данными, запрашиваемый или нет (отличающийся от того, что разрешен из доверенного источника).
В одном варианте воплощения, приложение блокировки выборочно запрещает обмен данными, инструктируя опорный сервер активировать средство межсетевой защиты (брандмауэр), запрещающий обмен данными по любому порту, отличающемуся от порта, используемого сервером развертывания. В другом варианте воплощения приложение блокировки делает это, инструктируя опорный сервер активировать один или более протоколов, типа IPSec («защищенный протокол интернет»), которые могут запретить обмен данными с любым компьютером, отличающимся от сервера развертывания (и, в некоторых случаях, сервера 106 обновлений). В обоих вариантах воплощения опорному серверу дается инструкция изменить параметры его настройки так, чтобы работать защищенным образом, но разрешать обмен данными с по меньшей мере одним доверенным источником.
Эти параметры настройки сохраняются в памяти опорного сервера. Из-за этого образ памяти опорного сервера может включать в себя операционную систему и эти параметры настройки. Пустой компьютер, загружающий этот образ, может выполнять операционную систему, имеющую эти параметры настройки, запрещая, таким образом, потенциально опасный обмен данными, но разрешая обмен данными с доверенным источником. Если пустой компьютер, который должен получить образ, является настольным компьютером или другим не являющимся сервером компьютером, опорный сервер может быть опорным настольным компьютером или другим опорным не являющимся сервером компьютером.
На этапе 204 сервер 104 развертывания получает образ, содержащий операционную систему. В одном варианте воплощения сервер развертывания выполняет этапы 204 и 206, а в другом варианте воплощения выполняет этапы 202 и 204, как описано ниже. Этот образ может быть получен от опорного сервера по фиг.1 или другого опорного компьютера (не показанного здесь). Если образ блокирован, например, в результате выполнения этапа 202, сервер развертывания переходит к этапу 206. Если образ не блокирован, сервер развертывания переходит к этапу 206. В другом варианте воплощения сервер развертывания ждет блокировки образа до момента, когда образ уже сохранен на пустом сервере, но до того, как пустой сервер перезагрузится (не показано).
На этапе 206 сервер развертывания через приложение 112 блокировки редактирует образ, содержащий операционную систему. Это редактирование может содержать блокировку образа посредством изменения параметра настройки защиты для запрещения незапрашиваемого обмена данными, кроме исходящего от по меньшей мере одного доверенного источника, типа сервера 104 развертывания. Запрещенный обмен данными может включать весь обмен данными, который не запрашивает компьютер, выполняющий операционную систему, или весь обмен данными, запрошенный или нет (отличающийся от того, что разрешен из доверенного источника). Приложение блокировки может сделать это, например, редактируя параметр(ы) настройки защиты образа для добавления или включения средства межсетевой защиты, подобного средству межсетевой защиты, описанному на этапе 202. Приложение блокировки может также сделать это, редактируя, например, параметр(ы) настройки защиты образа для включения протоколов IPSec, типа описанных на этапе 202. Таким образом, приложение блокировки блокирует образ, чтобы запретить потенциально опасный обмен данными компьютером, выполняющим программное обеспечение в образе, но разрешить обмен данными с доверенным источником.
Развертывание блокированного образа и обновление
операционной системы
Обратимся к Фиг. 3, где показан примерный процесс 300 для безопасного развертывания через сеть, чувствительную к злонамеренному обмену данными, образа, содержащего операционную систему и допускающего безопасное получение обновления для операционной системы. Этот процесс проиллюстрирован как ряд этапов, представляющих собой отдельные операции или действия, выполняемые сервером 104 развертывания, такие как с помощью приложения 110 развертывания. Также показан примерный процесс 302 для защищенного получения блокированного образа и обновления операционной системы. Процесс 302 проиллюстрирован как ряд этапов, представляющих операции или действия, выполняемых на или пустым сервером 114.
На этапе 304 пустой компьютер подсоединяется к сети 120. В описываемом варианте воплощения пустой сервер 114 подключается к сети через стойку 108, хотя другие пустые компьютеры могут вместо этого быть подсоединены к сети, например, автономный сервер 116 или настольный компьютер 118.
На этапе 306 пустой сервер осуществляет связь через сеть, запрашивая операционную систему. Без операционной системы пустой сервер часто является еще не уязвимым к злонамеренному сетевому коду.
На этапе 308 сервер 104 развертывания принимает запрос на операционную систему. На этапе 310 сервер развертывания через приложение 110 развертывания безопасным образом развертывает блокированный образ, содержащий операционную систему, на пустой сервер. На этом этапе сервер развертывания может, в некоторых вариантах воплощения, также развертывать обновления программного обеспечения. Блокированный образ может быть результатом процесса 200. В рассматриваемом варианте воплощения блокированный образ является тем, который при выполнении пустым сервером (который тогда более не будет пустым) не будет разрешать получение незапрашиваемого обмена данными от любого источника, отличающегося от сервера развертывания, или любого другого порта, кроме порта, используемого сервером развертывания.
На этапе 312 пустой сервер безопасным образом получает блокированный образ через сеть и сохраняет его в памяти. Безопасно получая блокированный образ, пустой сервер может получить блокированный образ без того, чтобы подвергаться злонамеренному обмену данными во время передачи. Защищенная передача этого блокированного образа может также запретить его перехват или мониторинг третьим лицом. В одном варианте воплощения пустой сервер также получает обновления вместе с блокированным образом или как его часть. На этапе 314 пустой сервер сообщает, что получил блокированный образ. На этапе 316 сервер развертывания принимает сообщение от пустого сервера, указывающее, что тот получил блокированный образ. На этапе 318 сервер развертывания через приложение развертывания инструктирует пустой сервер загрузить блокированный образ.
На этапе 320 пустой сервер перезагружается, выполняя, таким образом, образ с операционной системой и ее безопасными параметрами настройки. Пустой сервер, который теперь более не является пустым, поскольку он содержит операционную систему, работает в безопасном режиме. Пустой сервер, вследствие параметров настройки и/или программного обеспечения в образе, может запретить недоверенный или потенциально злонамеренный обмен данными. Пустой сервер может защищенно работать даже при том, что он подсоединен к сети 120 и потенциально работает с устаревшей операционной системой, которая в противном случае могла бы быть уязвима для злонамеренного обмена данными, осуществляемого по сети.
На этапе 322 пустой сервер 114 сообщает серверу развертывания, что операционная система выполняется и/или что начальная загрузка была успешна.
На этапе 324 сервер развертывания 104 принимает эту информацию. На этапе 326 сервер развертывания через приложение 110 развертывания инструктирует пустой сервер безопасным образом получить и/или установить обновления. В текущем варианте воплощения сервер развертывания инструктирует пустой сервер проинициализировать обмен данными с сервером 106 обновлений. В другом варианте воплощения сервер развертывания безопасным образом посылает обновления операционной системе пустого сервера и инструктирует его добавить эти обновления без использования отдельного источника обновления, подобного серверу обновлений. В еще одном варианте воплощения обновления принимаются вместе с образом или как часть образа, полученного на этапе 312 и посланного на этапе 310. В этом варианте воплощения, сервер развертывания инструктирует пустой сервер установить уже полученные обновления. Обновления, полученные в любом из этих вариантов воплощения, могут эффективно обновить операционную систему или другое программное обеспечение на пустом сервере и могут включать в себя программные исправления, исправления ошибок и т.п. Эти обновления могут повысить сопротивление различному злонамеренному коду, позднее получаемому пустым сервером, описанным более детально ниже.
На этапе 328 пустой сервер принимает команду безопасным образом получить обновления. В данном варианте воплощения пустой сервер принимает команду от сервера развертывания.
На этапе 330 пустой сервер инициирует защищенный обмен данными для безопасного получения обновления. В данном варианте воплощения пустой сервер запрашивает обмен данными от сервера 106 обновления. Параметры настройки защиты пустого сервера сконфигурированы так, чтобы предотвратить получение незапрашиваемого обмена данными, но пустому серверу разрешено запрашивать обмен данными от сервера обновления. В результате обновления и другая информация с запрашиваемого сервера обновления могут быть получены пустым сервером, выполняющим операционную систему. Другая, незапрашиваемая информация может быть отклонена пустым сервером из-за его параметров настройки защиты, защищая, таким образом, пустой сервер от незапрашиваемого, злонамеренного кода, разрешая при этом пустому серверу получать обновления.
На этапе 332 пустой сервер защищенным образом получает и применяет обновления к своей операционной системе. Эти обновления могут быть получены через сеть от сервера обновлений, запрашиваемого на этапе 330, или непосредственно от сервера развертывания, например. Это защищенное получение обновлений дает возможность пустому серверу иметь операционную систему, обновленную через сеть, которая является чувствительной восприимчивой к злонамеренному обмену данными, без первоначальной уязвимости к злонамеренному коду, передаваемому по сети.
На этапе 334 пустой сервер сообщает, что он обновил свою операционную систему. На этапе 336 сервер развертывания принимает это сообщение.
На этапе 338 сервер развертывания инструктирует пустой сервер начать потенциально опасный обмен данными. Поскольку операционная система обновлена, пустой сервер лучше способен к защите против злонамеренного кода и нападений, совершаемых через сетевое взаимодействие. В одном варианте воплощения сервер развертывания посылает и/или инструктирует пустой сервер установить средство межсетевой защиты или протоколы IPSec для дополнительного обеспечения функционирования пустого сервера перед осуществлением потенциально опасного обмена данными.
На этапе 340 пустой сервер начинает потенциально опасный обмен данными по сети, как, например, при начале эксплуатационного режима работы. Пустой сервер может сделать это, открывая, например, специфические порты. Если пустой сервер должен быть Web-сервером, он, например, может открыть порт 80, чтобы обеспечить возможность обмена данными с другими серверами через сеть Интернет.
В данном варианте воплощения большинство, если не все действия сервера развертывания и приложения развертывания могут быть выполнены автоматически и без взаимодействия с пользователем. Это дает возможность пользователю подключить пустой сервер или другой пустой компьютер к сети и, без дополнительного взаимодействия, получить пустой сервер, работающий с обновленной операционной системой, без необходимости подвергать пустой сервер злонамеренному коду через сеть прежде, чем операционная система будет обновлена.
ЗАКЛЮЧЕНИЕ
Описанные выше инструментальные средства допускают безопасное развертывание и/или получение операционной системы и обновлений через сеть, которая может быть чувствительна к злонамеренному обмену данными. Хотя изобретение было описано на языке, специфическом для структурных особенностей и/или методологических действий, должно быть понятно, что изобретение, определенное в приложенной формуле изобретения, не является обязательно ограниченным конкретными особенностями или описанными действиями. Скорее, конкретные особенности и действия раскрыты как примерные формы осуществления данного изобретения.
Класс G06F21/20 путем ограничения доступа к узлам в компьютерных системах или сетях