СИСТЕМА И СПОСОБ ОПРЕДЕЛЕНИЯ СТАТУСА НЕИЗВЕСТНОГО ПРИЛОЖЕНИЯ
SYSTEM AND METHOD OF DETERMINING UNKNOWN STATUS APPLICATION

Область техники
Изобретение относится к способам и системам определения статуса опасности неизвестных приложений.
Уровень техники
Использование мобильных приложений для доступа к сервисам, требующим ввода конфиденциальных данных, приобрело массовый характер. Это происходит при оплате продуктов и услуг, при доступе к сервисам, требующим ввода регистрационных данных и т.д. При этом оплата с использованием банковских приложений применяется также и на стационарных ПК. Результатом развития этой сферы стало появление вредоносного программного обеспечения, похищающего конфиденциальные данные пользователя, использующиеся при оплате продуктов и услуг, а также при регистрации на сервисах и ресурсах в сети Интернет.
Одним из способов похищения данных, вводимых пользователем, является подмена интерфейса или элемента интерфейса веб страницы или приложения, через которое осуществляется оплата или регистрация. Программа, созданная злоумышленником, подменяет, например, поля для регистрации, и пользователь вводит данные не в оригинальное поле, а в элемент интерфейса, предоставленный программой злоумышленника.
Перед антивирусной индустрией встала задача защитить пользователя от подобных вредоносных программ, решением данной задачи стало создание различных систем, позволяющих отследить момент перекрытия интерфейса защищенного приложения интерфейсом вредоносной программы. Так, патент US 8205260 B2 описывает систему и способ обнаружения подмены окна оригинального приложения окном вредоносного программного обеспечения путем подсчета времени, которое окно защищенного приложения перекрыто окном другого приложения, если этот интервал времени больше некоторого критического интервала, пользователю выдается предупреждение. Другая публикация WO 2012101623 A1 описывает метод проверки веб элементов на предмет подмены путем сравнения структуры проверяемых элементов веб страниц с заранее известными и безопасными шаблонами структур.
Анализ предшествующего уровня техники позволяет сделать вывод, что представленные решения не позволяют защититься от частичного перекрытия окна защищенного приложения без воздействия на окно защищенного приложения (закрытие окна, изменение размера и т.д.) и его процесс (например, внедрение в активный процесс).
Раскрытие изобретения
Настоящее изобретение относится к способам и системам определения статуса неизвестных приложений.
Технический результат настоящего изобретения заключается в сокращении количества приложений, статус опасности которых неизвестен, путем определения статуса таких приложений.
Способ определения статуса опасности приложения, осуществившего перекрытие защищенного приложения, в котором средством мониторинга защищенного приложения обнаруживают перекрытие, по крайней мере, одного активного элемента интерфейса защищенного приложения элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных, средством сбора собирают информацию о приложении с неизвестным статусом, по крайней мере, один элемент интерфейса которого перекрыл, по крайней мере, один элемент интерфейса защищенного приложения, средством анализа анализируют полученную информацию путем сравнения информации о приложении с неизвестным статусом с информацией из базы данных, которая содержит запрещенные и безопасные характеристики для приложений, осуществивших перекрытие защищенного приложения, и средством анализа в результате сравнения определяют статус приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное.
В частном случае характеристики по результатам сравнения считают похожими, если степень сходства между характеристиками превышает установленный порог, и приложение,  характеристики которого отличны от запрещенных характеристик, получает статус безопасного.
В другом частном случае сравнивают характеристики, по меньшей мере, одного элемента интерфейса неизвестного приложения, осуществившего перекрытие с характеристиками элементов интерфейса, хранящимися в базе данных, которым запрещено осуществлять перекрытие элементов интерфейса защищенного приложения.
Еще в одном частном случае элементы считаются запрещенными только для конкретного типа приложений, соответствующего типу защищенного приложения, где тип приложения определяется назначением приложения. В частном случае тип приложения - банковское приложение.
В частном случае заносят определенный ранее статус в базу данных и на основании статуса приложения определяют категорию доверия приложения, осуществившего перекрытие защищенного приложения.
В частном случае статус актуален только для определения категории доверия приложения, осуществившего перекрытие защищенного приложения. В другом частном случае статус актуален только для системы защиты того типа приложений, который соответствует типу защищенного приложения, система защиты которого определила статус.
Система определения категории доверия приложения, осуществившего перекрытие защищенного приложения, которая содержит средство мониторинга защищенного приложения, предназначенное для обнаружения перекрытия, по крайней мере, одного активного элемента интерфейса защищенного приложения элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных; средство сбора защищенного приложения, предназначенное для сбора информации о приложении с неизвестным статусом, по крайней мере, один элемент интерфейса которого перекрыл по крайней мере один элемент интерфейса защищенного приложения; средство анализа защищенного приложения, предназначенное для анализа полученной от средства сбора информации, путем сравнения информации о приложении с неизвестным статусом с информацией из базы данных, которая содержит запрещенные и безопасные характеристики для приложений, осуществивших перекрытие защищенного приложения и определения статуса приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное; базу данных, предназначенную для хранения статуса приложений и запрещенных и безопасных характеристик для приложений, осуществивших перекрытие защищенного приложения.
В частном случае средство анализа сравнивает характеристики, по меньшей мере, одного элемента интерфейса неизвестного приложения, осуществившего перекрытие с характеристиками элементов интерфейса, хранящимися в базе данных, которым запрещено осуществлять перекрытие элементов интерфейса защищенного приложения.
В другом частном случае средство анализа дополнительно заносит определенный ранее статус в базу данных. Также в частном случае средство анализа дополнительно на основании статуса приложения определяет категорию доверия приложения осуществившего перекрытие защищенного приложения.
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг. 1 показывает пример графического интерфейса банковского приложения для оплаты покупок или услуг;
Фиг. 2 показывает пример системы защиты защищенного приложения;
Фиг. 3 показывает способ определения категории доверия приложения, осуществившего перекрытие защищенного приложения;
Фиг. 4 показывает способ определения статуса приложения, осуществившего перекрытие защищенного приложения;
Фиг. 5 показывает пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Принципы работы вредоносных приложений, осуществляющих перехват путем замены элементов интерфейса, представлены ниже. В контексте данной заявки под интерфейсом понимается графический пользовательский интерфейс (GUI), который является разновидностью пользовательского интерфейса, где элементы интерфейса (меню, кнопки, значки, списки и т.п.), представленные пользователю на дисплее, исполнены в виде графических изображений. Сами элементы интерфейса - это примитивы графического интерфейса пользователя. К элементам интерфейса, по меньшей мере, относятся:
- кнопка (button),
- сдвоенная кнопка (split button) - кнопка, вызывающая список с вторичным(и) действием(и) (кнопками),
- радиокнопка (radio button),
- флаговая кнопка (check box),
- значок (иконка, icon),
- список (list box),
- дерево - иерархический список (tree view),
- раскрывающийся список (combo box, drop-down list),
- метка (label),
- поле редактирования (textbox, edit field),
- элемент для отображения табличных данных (grid view),
- меню (menu),
- главное меню окна (main menu или menu bar),
- контекстное меню (popup menu),
- ниспадающее меню (pull down menu),
- окно (window),
- диалоговое окно (dialog box),
- модальное окно (modal window),
- панель (panel),
- вкладка (tab),
- панель инструментов (toolbar),
- полоса прокрутки (scrollbar),
- ползунок (slider),
- строка состояния (status bar),
- всплывающая подсказка (tooltip, hint).
На Фиг. 1 изображен пример графического интерфейса банковского приложения для оплаты покупок или услуг. Вредоносное приложение в частном случае заменяет полностью интерфейс банковского приложения на свое. В другом частном случае вредоносное приложение заменяет отдельные элементы интерфейса, например поле для ввода номера кредитной карты 1006 и CVV кода, также окно 100а вредоносного приложения может быть невидимым, оно активно, но для пользователя оно не отрисовывается. Во всех описанных случаях пользователь вводит свои конфиденциальные данные не в оригинальный интерфейс банковского приложения, а в элементы интерфейса 100, созданные вредоносным приложением. Вредоносное приложение для осуществления перекрытия отслеживает работу интересующих его приложений, например приложений, работающих с банковскими сервисами, в момент запуска или в периоды работы этих приложений перекрывает элементы интерфейса 100 банковского приложения своими элементами.
Для защиты от описанной выше атаки приложению (защищенное приложение)  необходимо обнаруживать факт перекрытия собственных элементов интерфейса 100. Обнаружение осуществляется различными путями. В одном случае защищенное приложение в момент своей активности (пользователь вводит данные, работает с интерфейсом) постоянно опрашивает систему на предмет нахождения своего окна поверх всех остальных окон и других элементов интерфейса, т.е. на предмет активности своего окна. Активным, в данном контексте, понимается элемент интерфейса приложения, с которым работает пользователь. Если приложение получает от системы сообщение о том, что поверх находится элемент интерфейса приложения, отличного от защищенного приложения (окно защищенного приложения перестало быть активным), окно защищенного приложения считается перекрытым. Далее дополнительно могут определяться координаты элементов интерфейса, перекрывших защищенное приложение, определяться их видимость и т.д. В другом частном случае факт перекрытия определяется путем отслеживания событий системы, связанных с созданием или активацией элементов интерфейса, и если эти события инициированы приложением, отличным от защищенного приложения, защищенное приложение считается перекрытым. Например, появление в системе события EVENT_SYSTEM_FOREGROUND (http://msdn.microsoft.com/en-us/library/windows/desktop/dd318066%28v=vs.85%29.aspx) говорит о том, что активное окно было изменено. Также защищенное приложение определяет перекрытие, отслеживая появление окон с определенным заголовком, например с заголовком KasperskyBank.
Перекрытие может осуществляться не только вредоносным приложением, но и безопасным приложением. Определение приложения, осуществившего перекрытие, производят несколькими путями. В одном случае это осуществляется путем определения идентификатора процесса через описатель элемента интерфейса, осуществившего перекрытие, т.е. получают описатель (handle) элемента интерфейса, осуществившего перекрытие, имея описатель элемента интерфейса, получают идентификатор процесса, создавшего окно. Зная идентификатор процесса, определяют сам процесс и создавшее его приложение. В другом случае, например в операционной системе типа Android, отслеживают события в системном журнале ОС Android (logcat). Показ окна любого приложения записывается операционной системой в logcat. Системный журнал анализируют и определяют приложение, окно которого сейчас активно. Ниже представлен пример записей из системного журнала с описанной информацией:
I/ActivityManager (445): No longer want com.google.android.inputmethod.latin.dictionarypack
(pid 25679): empty #17
W/WFApp (2479): onTrimMemory (20) called
V/AudioHardwareMSM8660 (129): open driver
I/ActivityManager (445): START u0 {act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]flg=0×10200000
cmp=com.android.settings/.Settings} from pid 727
V/AudioHardwareMSM8660 (129): get config
V/AudioHardwareMSM8660 (129): set config
V/AudioHardwareMSM8660 (129): buffer_size: 4800
Из записи определяют идентификатор процесса (pid 727), далее по идентификатору процесса определяют приложение. Также анализируется манифест приложения, в частном случае осуществляется сканирование антивирусным программным обеспечением.
После определения конкретного приложения, осуществившего перекрытие, получают информацию о приложении. Информация представляет из себя различные характеристики приложения и различных его компонентов (файлах, элементах интерфейса и т.д.). Информация о приложении позволит сделать вывод о степени доверия приложению. В качестве информации может выступать хэш-сумма приложения или отдельных файлов, а также установщика (инсталлятора), версия приложения, имя приложения, источник приложения, размер, путь к приложению на устройстве, типы ресурсов приложения и их хэш-суммы и гистограммы и т.д. Это фактические характеристики, которые возможно собрать непосредственно с устройства. Другая группа информации - статистические характеристики, которые получают на основании фактических характеристик, обращением к внешней или внутренней базе данных, в качестве такой информации выступает статус опасности приложения или отдельного файла приложения в репутационной базе данных (база, хранящая оценки опасности для объектов, в частном случае файлов), количество установок приложения в мире или отдельном регионе и т.д. Полученные фактические и статистические характеристики используют для последующего анализа приложения. Отдельно выделяются фактические характеристики приложения, характеризующие ресурсы приложения, в частности элементы интерфейса приложения (кнопки, окна). В качестве характеристик может выступать форма окна, заголовок окна, имя кнопки и т.д. Информация об элементах интерфейса получается, например, в виде хэш-сумм и гистограмм.
Полученную информацию используют для определения категории доверия приложения, осуществившего перекрытия. Понятие категория и категория доверия в рамках данной заявки равнозначны. Под категорией доверия приложения подразумевается степень доверия к приложению (доверенное или недоверенное) со стороны системы защиты защищенного приложения (будет описана ниже). В одном из вариантов реализации категории приложений могут быть две: доверенные приложения и недоверенные приложения. В рамках текущей заявки следует отделять понятие категории приложения от понятия статуса опасности приложения. Статус приложения в рамках данной заявки может быть следующим: опасное, безопасное. Также есть неизвестные приложения - это те приложения, статус которых не определен. Статус опасности приложения определяет опасность приложения, осуществившего перекрытие для защищенного приложения. Опасность приложения, осуществившего перекрытие, для защищенного приложения заключается, в частном случае, в краже данных, обрабатываемых защищенным приложением, подмене данных.
К доверенным приложениям относятся приложения, перекрытие которыми интерфейса защищенного приложения, по мнению системы защиты, является безопасным. Система защиты защищенного приложения, присваивая категорию доверия приложению, делает это локально, в рамках текущего состояния на устройстве и на основании информации о приложении, элементы интерфейса которого перекрыли элементы интерфейса защищенного приложения. В частном случае такой информацией является статус приложения, осуществившего перекрытие. Статус приложения может быть общим, т.е. использоваться при проверке приложений на вредоносность в различном контексте (например, при выполнении полнодисковой проверки устройства на вредоносное программное обеспечение), или частным, т.е. статус актуален только при определении категории приложения при перекрытии. Статус также может быть еще более частным и относиться лишь к определенным типам приложений при определении категории, например приложение, осуществившее перекрытие, имеет статус опасное лишь при анализе системой защиты защищенного банковского приложения, для других типов защищенных приложений (игровых, почтовых и т.д.) приложение, осуществившее перекрытие, имеет статус безопасное. В частном случае тип приложения определяется его назначением. Статус приложения определяют, используя хэш-сумму приложения или отдельного файла приложения. Для этого организуют запрос к репутационной базе данных, база располагается в одном частном случае на исследуемом устройстве, в другом частном случае база располагается удаленно. Если исследуемое приложение известно (хэш сумма содержится в репутационной базе), то, соответственно, приложение, осуществившее перекрытие, уже имеет статус безопасное или опасное, в зависимости от того, какой хэш-сумме из репутационной базы соответствует проверяемая хэш-сумма приложения. Если хэш-сумма приложения или отдельного файла приложения не содержится в базе данных, приложение или отдельный файл приложения считаются неизвестными, т.е. приложение, осуществившее перекрытие, не имеет статуса. Если приложение или файл имеют статус безопасный, то в частном случае приложение, осуществившее перекрытие, получает категорию доверенное. В другом частном случае категория приложения определяется исходя из другой фактической и статистической информации о приложении, например по пути установки приложения на устройстве или принадлежности его к предустановленным системным приложениям. Если приложение является системным (на это указывает путь установки), при этом статус его неизвестен, приложение признается доверенным.
Приложению, осуществившему перекрытие, может быть присвоен статус одновременно с определением категории доверия. Например, осуществляется сравнение элементов интерфейса защищенного приложения с элементами интерфейса приложения, осуществившего перекрытие, если элементы признаются похожими, то приложению, осуществившему перекрытие, присваивается статус опасное. В другом частном случае информация об элементах интерфейса приложения, осуществившего перекрытие, сравнивается с информацией об элементах интерфейса приложений, находящихся в черном списке. Черный список содержит информацию об элементах интерфейса, которым запрещено перекрывать элементы интерфейса защищенных приложений. Такими элементами могут быть кнопки с названием ″введите код″, окна с заголовками, содержащими слово ″Банк″ и т.д. Черный список в одном случае может находиться на локальном устройстве, в другом случае располагается удаленно. В частном случае черный список структурирован в зависимости от типа защищенного приложения. Например, защищенное приложение относится к банковским приложениям и перекрытие окна защищенного приложения окном, содержащим в заголовке название банка, является опасным, поэтому для банковских приложений подобное окно будет находиться в черном списке, в другом случае защищенное приложение относится к игровым и перекрытие окна данного приложения окном, содержащим в заголовке название банка, является безопасным и в черном списке находиться не будет. Черный список содержит, по меньшей мере, характеристики элементов интерфейса, являющиеся копиями элементов интерфейса защищенного приложения.
На Фиг. 2 изображена система защиты 202 защищенного приложения 201. Система защиты 202 является частью защищенного приложения 201. Само приложение 201 со всеми его компонентами хранится в системной памяти 22. Система защиты 202 включает в себя средство мониторинга 203, предназначенное для обнаружения перекрытия элементов интерфейса защищенного приложения элементами интерфейса другого приложения. Средство мониторинга 203 связано с базой данных 204, которая содержит информацию о статусах приложений, установленных на устройстве, и список запрещенных элементов интерфейса и может располагаться удаленно на устройстве 49. Средство мониторинга 203 также связано со средством сбора 205, предназначенным для сбора информации о приложении, осуществившем перекрытие. Средство мониторинга 203 и средство сбора 205 связаны со средством анализа 206, предназначенным для анализа собранной информации средством 205. В результате анализа собранной информации средство анализа 206 определяет категорию доверия приложения, осуществившего перекрытие. Также средство анализа 206 определяет статус приложения, осуществившего перекрытие. В частном случае реализации все средства системы защиты 202 защищенного приложения связаны с программной и аппаратной частью устройства, пример которой изображен на Фиг. 5 (фигура описана ниже), посредством установленной связи средства системы защиты 202 осуществляют настройку и модификацию: операционной системы 35, под управлением которой работает устройство, файловой системы 36, приложений 37 и других компонентов, хранящихся в системной памяти 22, а также настройку компонентов аппаратной части устройства.
На Фиг. 3 изображен способ определения категории приложения, осуществившего перекрытие защищенного приложения. На этапе 301 защищенное приложение обнаруживает перекрытие одного из активных элементов своего интерфейса (элемент, с которым пользователь взаимодействует в текущий момент времени), по меньшей мере, одним элементом интерфейса другого приложения. В частном случае перекрытие обнаруживается путем сравнения информации об окне защищенного приложения с информацией об активном окне в системном журнале операционной системы. Далее на этапе 302 защищенное приложение собирает информацию о приложении, осуществившем перекрытие, где в качестве информации выступает по меньшей мере статус приложения, хранящийся в базе данных 204. Собранная информация анализируется на этапе 303 и на основании анализа определяется категория доверия приложения, осуществившего перекрытие, в частном случае категорию приложения определяют на основании статуса приложения, хранящегося в базе данных 204, где приложение признается недоверенным, если статус приложения «опасное» и, наоборот, приложение признается доверенным, если статус приложения «безопасное». В том случае, когда статус приложения неизвестен, собирается дополнительная информация, такой информацией, например, является принадлежность приложения, осуществившего перекрытие, к предустановленным системным приложениям, где приложение признается доверенным, если оно относится к предустановленным системным приложениям. Как указывалось выше, в частном случае статус актуален только для определения категории доверия приложения, осуществившего перекрытие защищенного приложения, а в другом частном случае статус актуален только для системы защиты того типа приложений, который соответствует типу защищенного приложения 201, система защиты 202 которого установила статус ранее.
На Фиг. 4 изображен способ определения статуса приложения, осуществившего перекрытие защищенного приложения, где на этапе 401 защищенное приложение обнаруживает перекрытие своих элементов интерфейса элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных 204. Далее на этапе 402 собирают информацию о приложении с неизвестным статусом и на этапе 403 анализируют полученную информацию путем сравнения информации о приложении, статус которого неизвестен, с информацией из базы данных 204, содержащей запрещенные и безопасные характеристики для приложений, осуществляющих перекрытие защищенного приложения, где запрещенные характеристики - это такие характеристики, которые не должно иметь перекрывающее приложение, а безопасные характеристики - это такие характеристики, наличие которых у перекрывающего приложения допустимо. На заключительном этапе 404 определяют статус приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное, статус заносится в базу данных 204. В частном случае приложение, характеристики которого не похожи на запрещенные характеристики, получает статус безопасного, характеристики по результатам сравнения считают похожими, если степень сходства между характеристиками превышает установленный порог. В частном случае реализации изобретения степень сходства определяют в соответствии с мерой Дайса, в другом частном случае реализации степень сходства определяют в соответствии с одной из метрик: Хэмминга, Левенштейна, Жаккара.
В частном случае средством анализа 206 защищенного приложения сравнивают характеристики, по меньшей мере, одного элемента интерфейса неизвестного приложения, осуществившего перекрытие с характеристиками элементов интерфейса, хранящимися в базе данных 204, которым запрещено осуществлять перекрытие элементов интерфейса защищенного приложения. Запрещенными могут являться только для конкретного типа приложений, соответствующего типу защищенного приложения, где тип приложения определяется, например, назначением приложения.
Фиг. 5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.