для стартапов
и инвесторов
Изобретение относится к способу устранения уязвимостей в устройствах, которые создают сетевые соединения, получают и обрабатывают входящий трафик, имеют отдельный интерфейс для взаимодействия (далее - "умные" вещи). Технический результат заключается в обеспечении информационной безопасности устройств, имеющих выход в Интернет. Способ устранения уязвимостей содержит следующие этапы: определяют роутер, который предоставляет доступ в сеть; получают доступ к Wi-Fi сети роутера; определяют по крайней мере одну "умную" вещь, которая подключена к Wi-Fi сети роутера; получают настройки "умной" вещи, при этом получение настроек производят с веб-интерфейса "умной" вещи, используя краулер для разбора элементов веб-страниц веб-интерфейса согласно DOM-модели; производят анализ полученных настроек на уязвимости, при этом анализ включает сравнение полученных настроек с настройками с известными уязвимостями; формируют действия на устранение определенных уязвимостей, при этом действия включают изменения в веб-интерфейсе; выполняют сформированные действия на "умной" вещи для устранения уязвимостей. 7 ил.
Способ устранения уязвимостей в устройствах, которые создают сетевые соединения, получают и обрабатывают входящий трафик, имеют отдельный интерфейс для взаимодействия (далее - "умные" вещи), при этом способ содержит этапы, на которых: - определяют роутер, который предоставляет доступ в сеть; - получают доступ к Wi-Fi сети роутера; - определяют по крайней мере одну "умную" вещь, которая подключена к Wi-Fi сети роутера; - получают настройки "умной" вещи, при этом получение настроек производят с веб-интерфейса "умной" вещи, используя краулер для разбора элементов веб-страниц веб-интерфейса согласно DOM-модели; - производят анализ полученных настроек на уязвимости, при этом анализ включает сравнение полученных настроек с настройками с известными уязвимостями; - формируют действия на устранение определенных уязвимостей, при этом действия включают изменения в веб-интерфейсе; - выполняют сформированные действия на "умной" вещи для устранения уязвимостей.
Область техники Изобретение относится к антивирусным технологиям, а более конкретно к способу устранения уязвимостей устройств, имеющих выход в Интернет. Уровень техники В настоящее время все большее количество устройств оказывается подключено к сети Интернет - начиная с компьютеров и смартфонов пользователей и заканчивая более обыденными вещами, вроде телевизоров или холодильников. В случае подключения новых типов устройств к сети Интернет они "приобретают" приставку «Smart» (например, Smart TV), которая служит маркетинговым целям. При подключении Smart-устройств к сети Интернет пользователи получают возможность обновления самих устройств, наблюдения за статусом работы устройства (например, холодильника) и интегрирования самого устройства в так называемую концепцию "умный дом" (англ. Smart house). Подобная концепция позволяет управлять подобными "умными" вещами (устройствами) из одной точки, проверяя статус работы таких вещей, настраивать их под свои личные нужды. Концепция "умного дома" затрагивает и другую концепцию под названием Интернет вещей (англ. Internet of Things, IoT), которая подразумевает взаимодействие вышеуказанных вещей уже без прямого участия человека. Одними из первых устройств, появившихся у пользователей, были роутеры (маршрутизаторы), которые обеспечивали возможность создания беспроводной сети дома, что в настоящий момент позволяет подключать другие "умные" вещи к сети Интернет. В настоящее время многие роутеры поддерживают возможность создания так называемых неоднородных (гетерогенных) сетей. В качестве примера можно привести сеть из устройств ("умных" вещей), часть из которых соединена с роутером через беспроводную сеть Wi-Fi, а другая часть - через Bluetooth. Неудивительно, что с ростом количества устройств, которые имеют возможность сетевого взаимодействия, начало расти и количество попыток злонамеренного использования подобных устройств. При получении доступа с правами администратора к роутеру появляется возможность проверять сетевой трафик, который идет через роутер. При получении доступа к таким устройствам, как "умные часы" (англ. smart watch), появляется возможность проверять данные на связанных (англ. paired) с этими часами смартфоном. Все эти действия могут привести к краже данных или их подмене. В настоящий момент есть публикации, которые раскрывают настройку "умных" вещей. В патенте US 9094407 описан подход по обеспечению безопасности IoT устройств ("умных" вещей) на основании списка разрешений для каждого устройства, которое определяется на основании уникального идентификатора. В патенте US 9191289 приведен метод настройки IoT устройства через использование виртуальной панели (англ. virtual control panel). В то же время в публикациях не раскрывается возможность настройки подобных устройств для обеспечения нужного уровня безопасности, связанного с уязвимостями как для роутеров, так и для "умных" вещей. Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно способом устранения уязвимостей устройств, имеющих выход в Интернет. Раскрытие изобретения Технический результат настоящего изобретения заключается в обеспечении информационной безопасности устройств, имеющих выход в Интернет. Согласно одному из вариантов реализации, для достижения указанного технического результата используется способ устранения уязвимостей в "умных" вещах, при этом способ содержит этапы, на которых: определяют роутер, который предоставляет доступ в сеть; получают доступ в указанную сеть; определяют по крайней мере одну "умную" вещь, которая имеет доступ в упомянутую сеть; получают настройки "умной" вещи, при этом получение настроек производят с помощью одного из: веб-интерфейса "умной" вещи, файла настроек или протокола UPnP; производят анализ полученных настроек на уязвимости, при этом анализ включает сравнение полученных настроек с настройками с известными уязвимостями; формируют действия на устранение определенных уязвимостей, при этом действия включают изменения в одном из: веб-интерфейсе, файле настроек; выполняют сформированные действия на "умной" вещи для устранения уязвимостей. Краткое описание чертежей Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых: Фиг. 1 иллюстрирует пример компьютерной атаки на роутер. Фиг. 2 показывает пример компьютерной атаки на "умные" вещи. Фиг. 3 показывает пример работы системы настоящего изобретения с роутером. Фиг. 4 показывает пример работы системы настоящего изобретения с "умными" вещами. Фиг.5 показывает пример работы способа настоящего изобретения. Фиг. 6 показывает пример компьютерной системы, на которой может быть реализовано настоящее изобретение. Фиг. 7 приводит пример DOM-модели для HTML-страницы. Описание вариантов осуществления изобретения Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы. Введем несколько определений, которые будут использоваться в рамках настоящей заявки на изобретение. "Умные" вещи - повседневные вещи, такие как часы, фонари, камеры, диктофоны, браслеты, пульсометры и другие, которые имеют доступ в Интернет (или локальную сеть) через различные виды соединений, такие как Wi-Fi или Bluetooth. Данные вещи создают сетевые соединения, получают и обрабатывают входящий трафик, имеют отдельный интерфейс для взаимодействия (API, англ. Application Programmable Interface), что позволяет не только следить за параметрами вещи (устройства), но также настраивать ее. Фиг. 1 иллюстрирует пример компьютерной атаки на роутер. Роутер 100 подключен как к компьютеру 110 (например, через Ethernet или Wi-Fi), так и к сети Интернет 130. Роутер имеет следующие варианты доступа: - Веб-доступ. Как правило, это страница http://192.168.0.1, где после ввода логина и пароля администратора пользователь получает доступ к настройке роутера. - Доступ к файлу настроек/переменным. Роутеры имеют собственную файловую систему и хранят настройки в конфигурационных файлах, что позволяет изменять их при знании о том, как можно получить доступ к подобному файлу. - Доступ с помощью различных утилит. Например, утилита fdbrowser, входящая в состав Microsoft SDK, позволяет, используя протокол UPnP (англ. Universal Plug-and-Play), получить доступ к настройкам роутера и изменить их. Неудивительно, что, имея подобный набор вариантов доступа к такому важному элементу локальной сети как роутер, этим заинтересовались злоумышленники. Например, многие пользователи не меняют пароль администратора по умолчанию, и веб-доступ к роутеру оказывается уязвимым. Злоумышленники имеют множество вариантов использования роутера в своих целях: - Перехват трафика. Например, перехват транзакций, реализация атаки MitM (англ. Man in the Middle). - Установка бэкдоров (англ. backdoor) для дальнейшего управления роутером и его конфигурацией. Роутер может быть использован как прокси-сервер или вовлечен в DDoS-атаку. - Подмена DNS (англ. DNS hijacking). Реализовать подобные действия можно с помощью вредоносной программы 120 на компьютере 110 или в сети Интернет 130 или же с помощью компьютерной атаки от злоумышленника 140. Как правило, подобные атаки заключаются в поиске самого роутера 100, определении его версии и известных уязвимостях для данной версии и реализации атаки с помощью эксплойта (англ. exploit). Фиг. 2 показывает пример компьютерной атаки на "умные" вещи. На Фиг. 2 по сравнению с Фиг. 1 добавились "умные" вещи в виде устройств 151-153. Векторы атаки остались теми же - с помощью вредоносной программы 120 на компьютере 110 или через сеть Интернет 130, или же с помощью компьютерной атаки от злоумышленника 140. Данные атаки заключаются в поиске одного из устройств 151-153, определении его версии и известных уязвимостях для данной версии и реализации атаки с помощью эксплойта (англ. exploit). Отметим, что "умные" вещи могут быть соединены не напрямую с роутером 100, но через другое устройство, например, "умные" часы через смартфон. Примером подобной связи может быть сопряжение "умных" часов Samsung Gear со смартфоном Samsung Galaxy. Для связи между устройствами может использоваться API-интерфейс, такой как Wearable Message API. Обратим внимание на возможные проблемы, которые могут быть возникнуть в том случае, если злоумышленник успешно произвел компьютерную атаку на "умную" вещь. Вот неполный список подобных проблем по заключению интернет-издания «The Wired» от декабря 2015 года: - получение контроля над рядом агрегатов автомобиля Jeep Cherokee вплоть до управления скоростью; - управление некоторыми медицинскими устройствами в клиниках, например теми, которые автоматически подают лекарства больным; - даже игрушки вроде последних версий куклы Барби с поддержкой Wi-Fi оказываются уязвимыми перед компьютерными атаками. Безусловно, производители "умных" вещей стараются устранять известные уязвимости, однако в ряде случаев безопасность не является приоритетной задачей при разработке подобных устройств. Требуется решение, которое сможет обеспечить закрытие уязвимостей на роутерах и "умных" вещах с помощью их настройки. Фиг. 3 показывает пример работы системы настоящего изобретения с роутером. Система обнаружения и исправления уязвимостей роутера 300 включает следующие средства: краулер 330, средство поиска уязвимостей 340, базу данных уязвимостей 360, средство настроек 350 и базу данных настроек 370. Предпочтительный вариант реализации системы обнаружения и исправления уязвимостей включает приведенные выше средства, установленные в виде приложений на компьютере, которой подключен к роутеру 300. Краулер (англ. crawler или же другой термин - поисковый робот) 330 предназначен для перебора доступных объектов в сети (таких как компьютеры, роутер, смартфоны и другие устройства, соединенные в сеть) с помощью известных протоколов (например, UDP). В рамках описания Фиг. 3 полагаем, что объектом в сети является роутер 100. Предпочтительный вариант работы краулера 330 включает: отправку широковещательного запроса по сети, получения ответа от всех доступных объектов в сети и их дальнейшего анализа. В качестве примера краулера можно привести поисковые роботы от Google или Yandex. Анализ объекта в сети с помощью краулера 330 выглядит следующим образом. После того как краулер 330 получил список всех доступных объектов в сети после широковещательного запроса, он пробует получить доступ к объекту одним или несколькими способами. Приведем примеры подобного доступа: - Веб-доступ. Как правило, если объект возвращает свой адрес, такой как 192.168.0.1, то это может означать, что объект является роутером и к нему можно получить доступ через протокол HTTP. - Доступ через протокол UPnP. - Доступ через протокол FTP по сетевому адресу объекта в сети. - Доступ через протокол удаленного администрирования (RDP). - Доступ по протоколу SSH. Доступ к объекту в сети может потребовать авторизации. Авторизация может быть выполнена как вручную, так и автоматически, когда краулер перебирает популярные наборы логин-пароль (например, admin/admin, admin/1q2w3e, guest/guest и другие) или же через средства автоматической аутентификации по сети (например, через Active Directory). Например, при доступе через UPnP можно получить следующие поля данных, которые характеризуют роутер 100: - PKEY_PNPX_DeviceCategory - PKEY_PNPX_Types - PKEY_DeviceDisplay_FriendlyName - PKEY_DeviceDisplay_Manufacturer - PKEY_DeviceDisplay_ModelName - PKEY_DeviceDisplay_ModelNumber - PKEY_PNPX_PresentationUrl - PKEY_PNPX_IpAddress - PKEY_PNPX_XAddrs - PKEY_Device_Locationlnfo Приведем пример того, как краулер 330 получает доступ к веб-интерфейсу роутера 100. Краулер 330 получает стартовую веб-страницу (как правило, она доступна по адресу http://l92.168.0.1) и начинает разбор ее элементов согласно DOM-модели. DOM (англ. Document Object Model) - это объектная модель, используемая для XML/HTML-документов. Упрощенно, DOM-модель - это представление документа в виде дерева тегов. Это дерево образуется за счет вложенной структуры тегов плюс текстовые фрагменты страницы, каждый из которых образует отдельный узел. На Фиг. 7 приведен пример DOM-модели для HTML-страницы. Корневым узлом является тег HTML, от него идут теги HEAD и BODY, которые также имеют вложенные узлы-теги. Делая обход дерева DOM-модели можно найти все необходимые теги и определить их параметры (например, текст для тега TITLE). Задачей краулера 330 является поиск всех необходимых тегов в DOM-модели веб-страницы, полученной с роутера 100. Примерами необходимых тегов являются: «А», «FORM», «INPUT» и другие теги, которые могут содержать необходимую информацию. Например, важным тегом в структуре DOM-модели веб-страницы, полученной с роутера 100, будет тег вида <а href="…">Administration</a>, что является ссылкой на страницу, где происходит настройка роутера и прав доступа к нему. Перейдя по ссылке, которая находится в теле тега <а>, краулер 330 попадает на другую страницу, где снова производит поиск всех необходимых тегов в DOM-модели данной веб-страницы. Переход всех страниц по всем ссылкам может быть сделан рекурсивно или же переход может быть сделан только по нужным ссылкам, названия которых указывают на важные настройки. Названия подобных ссылок: «Setup», «Wireless», «Administration», «Access Restrictions)), «Management)), «Network», «Security)) и другие. Получив доступ к объекту в сети, краулер 330 получает список доступных ресурсов у роутера 100. Под ресурсом понимается параметр и/или свойство роутера, к которому можно получить доступ и/или настроить. Например, при доступе по FTP это будет набор путей к файлам. При доступе через протокол HTTP это может быть веб-страница (или несколько вебстраниц). Также краулер 330 определяет открытые порты (например, 8080). Полученный список доступных ресурсов краулер 330 передает средству поиска уязвимостей 340. Средство поиска уязвимостей 340 получает список доступных ресурсов и, используя базу данных уязвимостей 360, пытается определить связанные с данными ресурсами уязвимости. Приведем примеры правил определения уязвимостей, которые хранятся в вышеупомянутой базе данных. Правило 1 Доступный ресурс (тип ресурса): сетевой порт. Статус ресурса (порта): 8080, открыт. Правило 2 Доступный ресурс (тип ресурса): удаленное администрирование. Статус ресурса: доступно. Правило 3 Доступный ресурс (тип ресурса): доступ по SSH. Статус ресурса: разрешен доступ с правами администратора. Приведем примеры основных типов ресурсов: - Пароли, - Удаленное администрирование, - Настройки DNS, - Сетевые порты, - Настройки Wi-Fi, - Доступ по различным протоколам (SSH, Telnet, FTP, HTTP(S)), - Сетевой экран, - Службы (сервисы), такие как IPTV и другие. Средство поиска уязвимостей 340 сравнивает каждый ресурс из списка доступных ресурсов с правилами из базы данных уязвимостей 360 на предмет совпадения типа ресурса и его статуса. В случае совпадения средство поиска уязвимостей 340 определяет найденный ресурс с подобным статусом уязвимым и передает информацию по найденным уязвимым ресурсам и их статусу средству настроек 350. Средство настроек 350 использует базу данных настроек 370 для исправления уязвимостей в уязвимых ресурсах, полученных от средства поиска уязвимостей 340. База данных настроек 370 содержит правила, которые аналогичны тем, что хранятся в базе данных уязвимостей 360. Приведем примеры подобных правил. Правило А Доступный ресурс (тип ресурса): удаленное администрирование. Статус ресурса: доступно. Решение: убрать возможность удаленного администрирования через веб-интерфейс или другой вариант настройки роутера 100. Правило В Доступный ресурс (тип ресурса): доступ по SSH. Статус ресурса: разрешен доступ с правами администратора. Решение: закрыть доступ по SSH через веб-интерфейс или другой вариант настройки роутера 100. Правило С Доступный ресурс (тип ресурса): пароль администратора. Статус ресурса: нестойкий к перебору пароль. Решение: подобрать более стойкий пароль (автоматически сгенерировать новый пароль). Для конкретного примера видно, что совпадают правило 2 из базы данных уязвимостей 360 с правилом «А» из базы данных настроек 370, и правило 3 с правилом «В» соответственно. Дальнейшая настройка заключается в выполнении действий, которые указаны в решении. Действия могут быть выполнены с помощью краулера 330. Решение имеет вид одного из вариантов: - Настройка файла настроек роутера 100 путем внесения изменений в самом файле (например, строчка доступа по SSH может выглядеть как "SSH connection=true", и ее отмена заключается в правке такой строчки на "SSH connection=false"). - Настройка через веб-интерфейс роутера 100. Данная настройка выглядит точно так же, как обход краулером 330 элементов вебстраниц, только в данном случае ищутся управляющие элементы, такие как <option>, <button>, <input> и другие. Например, в случае с отменой возможности доступа по SSH будет произведен поиск следующих элементов (приведено в качестве примера): <select name = "ssh_connect"> <option value = "true">Enabled</option> <option value = "false">Disabled</option> </select> После чего будет произведен выбор элемента со значением "false". Еще один вариант настройки роутера 100 заключается в обновлении его прошивки (англ. firmware). В этом случае база данных настроек 370 содержит в качестве решений версии прошивок для роутера 100, и применение решения заключается в записи файла прошивки на роутер 100 с помощью краулера 330 и его последующем выполнением (как вариант, с помощью веб-интерфейса роутера 100). Фиг. 4 показывает пример работы системы настоящего изобретения с "умными" вещами. Иллюстративно Фиг. 4 мало отличается от Фиг. 3 за исключением добавления устройств 151-153 - "умных" вещей. В качестве "умных" вещей могут выступать такие вещи, как часы, фонари, камеры, диктофоны, браслеты, пульсометры и другие, которые имеют доступ в Интернет (или локальную сеть) через различные виды соединений, такие как Wi-Fi или Bluetooth. В данном случае они подключены к роутеру 100. Если устройство 151 подключено к Wi-Fi сети роутера 100 напрямую, то устройство 153 подключено через устройство 152. Примером подобной связи может быть сопряжение "умных" часов Samsung Gear (устройство 153) со смартфоном Samsung Galaxy (устройство 152). Сопряжение может быть сделано с помощью отдельного приложения, установленного Samsung Galaxy (устройство 152). Краулер 330 предназначен для перебора доступных объектов в сети (таких как устройства 151-153) с помощью известных протоколов (например, UDP). В рамках описания Фиг. 4 полагаем, что объектом в сети является одно из устройств 151-153. Предпочтительный вариант работы краулера 330 включает: отправку широковещательного запроса по сети, получения ответа от всех доступных объектов в сети и их дальнейшего анализа. Для отправки широковещательного запроса краулер 330 должен быть зарегистрирован в сети, которую предоставляет роутер 100. Таким образом, первоочередным шагом становится обнаружение роутера 100 (как устройства, которое предоставляет доступ к беспроводной Wi-Fi сети), соединение с этой сетью и лишь затем - отправка широковещательного запроса. Анализ объекта в сети с помощью краулера 330 выглядит следующим образом. После того как краулер 330 получил список всех доступных объектов в сети после широковещательного запроса, он пробует получить доступ к объекту одним или несколькими способами. Приведем примеры подобного доступа: - Веб-доступ. - Доступ через протокол UPnP. - Доступ через протокол FTP по сетевому адресу объекта в сети. - Доступ через протокол удаленного администрирования (RDP). Доступ к объекту в сети может потребовать авторизации. Авторизация может быть выполнена как вручную, так и автоматически, когда краулер перебирает популярные наборы логин-пароль (например, admin/admin, admin/1q2w3e, guest/guest и другие) или же через средства автоматической аутентификации по сети (например, через Active Directory). Получив доступ к объекту в сети, краулер 330 получает список доступных ресурсов у одного из устройств 151-153. Например, при доступе по FTP это будет набор путей к файлам. При доступе через протокол HTTP это может быть веб-страница (или несколько веб-страниц). Также краулер 330 определяет открытые порты (например, 8080). Полученный список доступных ресурсов краулер 330 передает средству поиска уязвимостей 340. Средство поиска уязвимостей 340 получает список доступных ресурсов и, используя базу данных уязвимостей 360, пытается определить связанные с данными ресурсами уязвимости. Средство поиска уязвимостей 340 берет каждый ресурс из списка доступных ресурсов и сравнивает его с правилами из базы данных уязвимостей 360 на предмет совпадения типа ресурса и его статуса. В случае совпадения средство поиска уязвимостей 340 определяет найденный ресурс с подобным статусом "уязвимый" и передает информацию по найденным уязвимым ресурсам и их статусу средству настроек 350. Средство настроек 350 использует базу данных настроек 370 для исправления уязвимостей в уязвимых ресурсах, полученных от средства поиска уязвимостей 340. База данных настроек 370 содержит правила, которые аналогичны тем, что хранятся в базе данных уязвимостей 360. Дальнейшая настройка заключается в выполнении действий, которые указаны в решении. Действия могут быть выполнены с помощью краулера 330. Фиг. 5 показывает пример работы способа настоящего изобретения. На этапе 510 происходит определение устройства, к которому можно получить доступ (например, с помощью краулера 330, что подробно описано в рамках Фиг. 3 и 4). Как уже было описано выше, доступ может быть получен как к роутеру 100, так и к устройствам 151-153. В последнем случае в первую очередь происходит запрос на доступ в сеть, куда имеют доступ указанные устройства. На этапе 520 происходит определение настроек устройства (как роутера 100, так и устройств 151-153), что также может быть сделано с помощью краулера 330. На этапе 530 происходит анализ полученных настроек на уязвимости с помощью средства поиска уязвимостей 340, после чего на этапе 540 средство настроек 350 формирует список действий на устранение найденных уязвимостей. На этапе 550 краулер 330 выполняет действия из сформированного списка на устройстве. Фиг. 6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 6. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы. Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим. В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.