Способ признания письма спамом через анти-спам карантин
METHOD FOR RECOGNIZING A MESSAGE AS SPAM THROUGH ANTI-SPAM QUARANTINE

Область техники
Изобретение относится к средствам информационной безопасности, а более конкретно к способам признания электронных писем спамом.
Уровень техники
Спам - массовая рассылка информации рекламного характера либо иного рода сообщений без согласия получателей. Для рассылки спама в настоящий момент активно используются все возможные технические средства, в том числе прокси-серверы, бесплатные почтовые серверы, допускающие автоматизацию отправки писем по электронной почте, а также зараженные компьютерные системы пользователей, из которых формируются бот-сети.
Электронные письма, содержащие спам, являются серьезной проблемой в современном мире, так как уже достигают 70-90% от общего объема почтового трафика. Такое количество спама, отправленного по компьютерным сетям, вызывает существенные неудобства для пользователей электронной почты. В частности, спам вызывает ухудшение пропускной способности сетей, трату ресурсов системы обмена сообщениями и увеличение времени обработки электронных писем как пользователями, так и компьютерами. Таким образом, необходимо непрерывно бороться со спамом.
Существует две основных подхода обнаружения спама: сигнатурный и с использованием методов машинного обучения.
Для сигнатурного подхода используются ловушки для спама. Письмо, попавшее в такую ловушку, автоматически считается спамом. Спам разбирается на части, из подмножеств которых формируются сигнатуры. Сигнатуры позволяют строго (или почти строго) «отлавливать» на компьютерных системах пользователей то, что было обнаружено в спам ловушках. Плюсом такого подхода является практически нулевая вероятность возникновения ошибки первого рода, т.е. ложного срабатывания. Ложным срабатыванием в данном случае является ситуация, когда легитимное письмо было определено как спам. Минусом является недостаточная обобщающая сила данного метода, следствием чего являются пропуски спам писем (т.е. возникновение ошибки второго рода). Более того данный подход имеет временной лаг (от нескольких минут до часа) между событием, когда письмо попадет в ловушку, и выпуском новой сигнатуры, в связи с чем существует проблема пропуска спам-писем, относящихся к «свежим» спам-рассылкам.
В рамках методов машинного обучения используется коллекция спам писем против коллекции не спам писем. Письма разбираются на части, из которых исключаются те части, что встречаются в обеих коллекциях. Остальные же части используются для обучения классификатора, что позволяет обнаруживать не только письма из спам-ловушек. Плюсом такого подхода является высокая обобщающая способность, что позволяет добиться минимального количества пропусков спам писем. Однако вместе с тем минусом данного подхода является высокая вероятность возникновения ложных срабатываний.
Таким образом существует потребность создании решения, которое устраняло бы указанные недостатки. Настоящее изобретение позволяет решить указанные недостатки и задачи путем реализации подхода, основанного на обобщении сигнатурного вердикта при помощи методов машинного обучения.
Раскрытие изобретения
Настоящее изобретение предлагает решение, нацеленное на развитие современных способов, связанных с компьютерной безопасностью, а именно, способов признания электронных писем спамом.
Заявленное изобретение предназначено для признания электронных писем спамом.
Один технический результат настоящего изобретения заключается в снижении количества пропусков спам-писем за счет отправки письма на карантин на время достаточное для выпуска соответствующей сигнатуры (в случае, если данное письмо является спамом). При этом выбор писем, которые будут отправлены на карантин, осуществляется путем анализа полей заголовков писем на основании большого количества данных по электронным письмам пользователей, обработанных с использованием методов машинного обучения.
Еще один технический результат настоящего изобретения заключается в расширении арсенала технических средств признания электронных писем спамом.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 иллюстрирует верхнеуровневую архитектуру системы, реализующую способ признания электронного письма спамом.
Фиг. 2 изображает пример системы, реализующей способ признания электронного письма спамом.
Фиг. 3 иллюстрирует пример анализа характеристик электронного письма при помощи классификатора.
Фиг. 4 иллюстрирует пример компьютерной системы общего назначения, с помощью которого может быть реализовано заявленное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Электронное письмо (далее также - письмо) имеет определенную структуру. Поэтому для формирования письма используются специальные программы, поддерживающие структуру электронной почты. Кроме тела (англ. body) письмо содержит заголовки (англ. header) (или поля) - это служебная информация о маршруте прохождения писем. В заголовках представлены данные о том, когда, откуда и по какому маршруту пришло письмо, а также информацию, добавляемую к письму различными служебными программами. При этом каждый заголовок определяется своим именем и значением. Под значением заголовка понимается какой-то вид информации. Например, для заголовка, который предназначен для указания отправителя письма, в качестве имени служит «from», а значение будет иметь вид адреса электронной почты отправителя, например, username@domain.com.
Рассмотрим подробнее некоторые из заголовков, например, «Message_ID» и «Х-mailer».
«Message_ID» - уникальный идентификатор письма, присваиваемый каждому письму, чаще всего первым почтовым сервером, который встретится у него на пути. Обычно он имеет форму «a1B0!#@domen.ru», где «a1b0!#» может быть любым, зачастую не значащим набором символов, а вторая часть - имя машины, присвоившей идентификатор. Иногда, но редко, «a1b0!#» включает в себя имя отправителя. Если структура идентификатора нарушена (пустая строка, нет знака @), вторая часть идентификатора не является реальным интернет-сайтом, значит, письмо или структура хотя и корректна, но не типична для подавляющего большинства почтовых сервисов - вероятная подделка (с целью выдать спам за обычное письмо).
«Х-mailer» или «mailer_name» - свободное поле, в котором почтовая программа или сервис, с помощью которого было создано данное письмо, идентифицирует себя, например, «Outlook 2.2 Windows». Значение данного заголовка в совокупности с другими заголовками может указывать на принадлежность писем к спаму.
Как упоминалось выше, заголовки добавляются к письму по мере прохождения им маршрута от отправителя до получателя. Последовательности заголовков (части заголовков), так же, как и значения некоторых отдельно взятых заголовков, могут быть использованы для отнесения писем к категории спама.
Ниже представлены примеры данных в формате «Последовательность заголовков; значение заголовка X-mailer; значение заголовка Message_ID» для спама и писем, не являющихся спамом.
Спам:
1. "content-type:date:from:subject:to:message-id:";"none";" <i3mbd6v4vhjsdcmi-zu60opfkwplxb44x-37-6f8d@homesolrrebtes.icu>"
2. "content-type:date:from:subject:to:message-id:";"none";" <h5bds3kpswrik0ds0-oalwbjt3dtlcvhlv-2e-19550@homesolrrebtes.icu>"
3. "content-type:date:from:subject:to:message-id:";"none";" <yo8j0xsjsdivxywv-ie41tpc7xle0b3no-26-c36d@homesolrrebtes.icu>"
4. "content-type:date:from:subject:to:message-id:";"none";" <7enbb9h6c2vapnhr-na5nlwg42raodhr7-2e-4febe@homesolrrebtes.icu>"
5. "message-id:from:to:subject:date:content-type:x-mailer:";" Microsoft Outlook Express 6.00.2900.2316";"
<D2DDF9E326F6C73C33170DC81829D2DD@8II5L3SPI>"
6. "message-id:from:to:subject:date:content-type:x-mailer:";" Microsoft Outlook Express 6.00.2900.2180";"
<D98EBBF7F3ECC2BFE8DD91958AA4D98E@L0773DI>"
7. "message-id:from:to:subject:date:content-type:x-mailer:";" Microsoft Outlook Express 6.00.2900.2180";"
<F90CED31F818D024D130EC25C50DF90C@7TMANVQ>"
8. "message-id:from:to:subject:date:content-type:x-mailer:";" Microsoft Outlook Express 6.00.2900.5512";"
<311476D62A53B48AAFCD6D91E80F3114@VX180HGV>"
He спам:
1. "content-type:date:from:subject:to:message-id:";"none";" <3c8b3b43089c02b53b882aa9ae67roi0@acmomail3.emirates.net.ae>"
2. "content4ype:date:from:subject:to:message-id:";"none";" <3c8b3b43089c02b53b882aa9ae67roi0@acmomail3.emirates.net.ae>"
3. "content-type:date:from:subject:to:message-id:";"none";" <3c8b3b43089c02b53b882aa9ae67f010@acmomail3.emirates.net.ae>"
4. "content4ype:date:from:subject:to:message-id:";"none";" <3c8b3b43089c02b53b882aa9ae67roi0@acmomail3.emirates.net.ae>"
5. "from:to:subject:date:message-id:content-type:x-mailer:";" Microsoft Office Outlook 12.0";"
<006b01 d51986$06411be0$ 12c353a0$@domroese@evlka.de>"
6. "from:to:subject:date:message-id:content-type:x-mailer:";" Microsoft Outlook 15.0";"
<!&!AAAAAAAAAAAYAAAAAAAAAEuD2rCFvsdIgBF3v59c6PrCgA AAEAAAAD+/2KYKE3pHiClPnnSDdSk"
7. "from:to:subject:date:message-id:content-type:x-mailer:";" Microsoft Outlook 15.0";"
<!&!AAAAAAAAAAAYAAAAAAAAAEuD2rCFvsdIgBF3v59c6PrCgA AAEAAAAJCLHZRUOflDoROPaFfOwCk"
Глядя на примеры характеристик, взятых у писем, отнесенных к разным категориям, становится понятно, что человеку не всегда под силу выделить признаки из подобных данных, позволяющие идентифицировать спам. Однако это может быть осуществлено с использованием методов машинного обучения, а, в частности, с использованием методов глубокого обучения, позволяющим обнаруживать зависимости, скрытые от человеческих глаз.
На Фиг. 1 представлена примерная архитектура системы, реализующей способ признания электронного письма спамом для множества компьютерных систем 160. Данная система включает в себя упомянутое множество компьютерных систем 160, классификатор 100 и устройство сбора и хранения данных 130.
Устройство сбора и хранения данных 130 в одном из вариантов реализации представляет собой «облачный» сервер, который осуществляет сбор и хранение данных о письмах 120 с клиентов пользователей 110 А, 110 Б, 110 N. Под «облачным» сервером, например, понимается техническое средство, содержащее систему Kaspersky Security Network (KSN) компании AO «Лаборатория Касперского». Под клиентами 110 А, 110 Б, 110 N понимаются по крайней мере почтовые клиенты пользователей, установленные на множестве компьютерных систем 160, которое включает в себя как компьютеры пользователей, так и почтовые серверы. Стоит отметить, что устройство 130 во время проведения сбора данных о письмах клиентов не собирает информацию, относящуюся к пользователю, или обезличивает ее, так чтобы пользователь по данной информации однозначно не идентифицировался. Такой информацией являются сведения из тела письма, например, текстовые сообщения пользователей, и из заголовка письма, например, электронный адрес. Под обезличиванием понимается преобразование информации, например, с помощью сверток, осуществляемых в том числе при помощи хэш-функций, ассиметричного шифрования и т.д.
Для этого каждый клиент 110 содержит агент (не показан на Фиг. 1), который перед отправкой устройству сбора и хранения данных 130 письма преобразовывает его.
В рамках заявленного изобретения средство 130 собирает и хранит в исходном виде (не преобразованном) для каждого электронного письма с клиентов 110 А, 110 Б, HON значения по меньшей мере двух заголовков, «Message_ID» и «Х-mailer», и последовательность по меньшей мере части заголовков. А также категорию соответствующего полям письма (спам, не спам), выданную спам-фильтром 220 (см. Фиг. 2), описание работы которого будет приведено ниже. Эти данные 150 передаются классификатору 100, который использует их в рамках методов машинного обучения, позволяющих принимать решение о помещении письма на карантин.
Помещение письма в карантин - это мера временного изъятия письма, результат проверки которого на предмет отнесения его к спаму еще не окончателен, с целью ограничения доступа к данному письму со стороны пользователя клиента 110 N. Время нахождения письма в карантине ограничено, чаще несколькими минутами, что связано с упомянутым в уровне техники временным лагом или ожиданием ответа от систем анти-спам защиты. Признанное спамом письмо, находящееся на карантине, удаляется или перемещается в место хранения спама. В противном случае письмо возвращается в клиент 110 N и становится доступно пользователю.
На Фиг. 2 приведен частный вариант системы, реализующей способ признания электронного письма спамом в рамках одной компьютерной системы 200 из множества компьютерных систем 160.
В общем случае система, предназначенная для реализации заявленного изобретения, включает в себя компьютерное устройство 200 (например, компьютер общего назначения, который изображен на Фиг. 4, или частный вариант компьютера общего назначения - мобильное устройство), содержащее: по меньшей мере, один процессор; средство сетевого доступа, взаимодействующее, по меньшей мере, с одним процессором; и носитель информации, содержащий операционную систему (например, ОС Windows), а также множество инструкций, при исполнении которых по меньшей мере на одном процессоре реализуется способ признания электронного письма 210 спамом.
В частном варианте система, предназначенная для реализации способа признания электронного письма 210 спамом, включает в себя: компьютерное устройство 200, содержащее спам-фильтр 220, средство сигнатурного анализа 230 и базу данных спам-сигнатур 240, и классификатор 100.
В одном из вариантов реализации данного изобретения спам-фильтр 220, средство сигнатурного анализа 230 и база данных спам-сигнатур 240 являются модулями приложения безопасности (например, антивирусного приложения), установленного на операционную систему компьютерного устройства 200. Спам-фильтр 220 предназначен для принятия решения о принадлежности письма 210 к спаму. Для этой цели спам-фильтр 220 использует средство сигнатурного анализа 230 и классификатор 100.
В одном из вариантов осуществления средство классификатор 100 реализовано на удаленном сервере, при этом спам-фильтр 220 взаимодействует с классификатором 100 по сети (например, сети Интернет 250).
В другом варианте осуществления классификатор 100, как и спам-фильтр 220, тоже является модулем приложения безопасности (например, антивирусного приложения), установленного на операционную систему компьютерного устройства 200.
База данных спам-сигнатур 240 содержат регулярно обновляемые базы данных сигнатур спам-писем (далее спам-сигнатур или просто сигнатур), используемых средством сигнатурного анализа 230 для определения принадлежности письма 210 к спаму. Письмо 210 признается спамом при помощи спам-фильтра 220, если в результате проверки средством сигнатурного анализа 230 среди спам-сигнатур из базы 240 была найдена спам-сигнатура, совпадающая с упомянутым письмом 210. База данных спам-сигнатур 240 по меньшей мере от части формируется из сигнатур спам-писем, попавших в ловушки для спама.
При получении письма 210 клиентом пользователя на компьютерной системе 200 спам-фильтр 220 осуществляет его проверку при помощи средства сигнатурного анализа 230, в ходе которой письмо 210 сравнивается с имеющимися на текущий момент спам-сигнатурами в базе данных спам-сигнатур 240. И если по результатам проверки не было выявлено совпадение письма 210 ни с одной из спам-сигнатур, то спам-фильтр 220 передает классификатору 100 по меньшей мере две характеристики письма 210. При этом характеристикой является значение заголовка письма 210 или последовательность по меньшей мере части заголовков письма 210.
Классификатор 100, как упоминалось выше, предназначен для принятия решения о необходимости помещения письма 210 в карантин. Классификатор 100 не использует сигнатуры для принятия решения. Классификатор 100 определят степень схожести полученных характеристик письма 210 с аналогичными характеристиками электронных писем, признанных спамом методом сигнатурного анализа. В основе работы классификатора 100 лежат методы глубокого обучения, где нейронные сети обучены на данных 150 (см. Фиг. 1).
В рамках заявленного изобретения для машинного обучения используется не коллекции «спам» - «не спам», как в традиционных системах, а коллекции «поймано спам-сигнатурами» - «не поймано спам-сигнатурами». Использование коллекций «спам» - «не спам» вносит серьезное ограничение для антиспам-вендоров, которые проверяют почту на серверах конечных пользователей. Ограничение связано с тем, что трудно найти достаточно большие «белые» коллекции (легитимные письма). Спам можно купить, можно набрать в спам ловушки, можно обменяться с другими антиспам-вендорами. Но «белую» почту (электронные письма пользователей) предоставлять третьим лицам незаконно, а значит и неосуществимо. Ее необходимо собирать самостоятельно, при этом собрать большую репрезентативную коллекцию практически невозможно. В рамках заявленного изобретения в качестве «белой» коллекции для обучения используются значения аналогичных характеристик (тот же набор характеристик, что спам-фильтр 220 передает классификатору 100) других электронных писем, собранных со всех компьютерных систем пользователей 160, подключенных к устройству сбора и хранения данных 130 (например, KSN). В данном случае размер «белой» коллекции ограничен только временем ее накопления.
Модель, обученная на столь репрезентативных выборках, позволяет с высокой точностью, помещать в карантин письма, которые больше всего по своим характеристикам похожи на спам-письма, но для них еще не выпущены спам-сигнатуры.
Спам-фильтр 220 помещает письмо 210 на временный карантин, если упомянутая выше степень схожести, определяемая классификатором 100, превышает установленный порог, имеющий числовое значение (например, 0,7).
До истечения отведенного на карантин времени спам-фильтр 220 проводит по меньшей мере еще одну проверку письма 210 методом сигнатурного анализа (при помощи средства сигнатурного анализа 230). В одном из вариантов осуществления изобретения спам-фильтр 220 может проводить еще одну проверку письма 210 при помощи средства сигнатурного анализа 230 только, если базе данных спам-сигнатур 240 появилась по меньшей мере одна новая сигнатура. Спам-фильтр 240 признает письмо 210 спамом, если данная проверка дала положительный результат. Другими словами, письмо 210 признается спамом при помощи спам-фильтра 220, если за отведенное на карантин время, средством сигнатурного анализа 230 была получена спам-сигнатура, совпадающая с упомянутым письмом 210.
На Фиг. 3 изображен пример анализа полей письма 210 при помощи классификатора 100 при принятии решения о необходимости помещения письма 210 в карантин.
В основе заявленного изобретения лежит спам классификатор 100 (см. Фиг. 2), который основан на методах глубокого обучения (от англ. Deep learning). Благодаря большому объему данных и глубокой архитектуре модели, алгоритм, заложенный в классификатор, способен автоматически выделять нетривиальные признаки из входных данных для более точной классификации спама.
На вход модели поступают характеристики письма 210, такие как значения заголовков Message_ID и X-mailer, а также последовательность заголовков письма. Каждый из них проходит через несколько этапов выделения признаков (1-4), которые влияют на финальное решение классификатора 100. Рассмотрим пример осуществления преобразования для каждой из характеристик.
Message_ID. На первом этапе каждый символ значения заголовка Message_ID отождествляется последовательностью чисел фиксированной длинны (например 90 символов), образуя матрицу размера 80×90. Полученная матрица поступает на вход одномерному сверточному слою (Conv-1d, от англ. ID Convolution). В этот момент создаются 64 фильтра размера 5 (ReLu, от англ. Rectified Linear Unit), которые пошагово применяются к подпоследовательностям Message_ID для выделения из них закономерностей (2). В данном случае могут быть использованы более широкие фильтры, чтобы получить признаки из подпоследовательноситей большей длины. Полученная матрица имеет размер 76×64. Чтобы избежать случаев, когда небольшие изменения в Message_ID, например, смещение символов, могут кардинально изменить полученную матрицу, далее используется однонаправленный слой MaxPooling-1d (3). Данный слой берет максимум из значений в заданном окне. В данном примере используется окно размера 5 с шагом равным 3 (каждый раз окно смещается на 3 ячейки). Размер полученной матрицы равен 26×64. Далее последовательно применяются несколько однонаправленных сверточных слоев, каждый из которых имеет 64 фильтра размера 3, после чего применяется однонаправленный MaxPooling (4) с размером окна равным 3 и с шагом 3. Итоговая матрица размера 6×64 разворачивается в вектор длины 445.
Последовательность заголовков. Обрабатывается аналогично Message_ID, за исключением количества слоев и входных данных. Вместо символов, как было для Message_ID, в последовательность чисел отождествляются названия заголовков. Полученная матрица размера 10×20 проходит через один сверточный слой и один слой MaxPooling. Итоговая матрица имеет размер 2×16 и разворачивается в вектор длины 32.
X-Mailer. Поскольку значения заголовка X-Mailer является категориальной характеристикой электронного письма, то для векторного представления таких данных используется подход под названием унитарный код (по англ. One-hot Encoding) - двоичный код фиксированной длины, содержащий только одну 1 - прямой унитарный код или только один 0 -обратный унитарный код. Длина кода определяется количеством кодируемых объектов, то есть каждому объекту соответствует отдельный разряд кода, а значение кода положением 1 или 0 в кодовом слове. Полученный вектор имеет размер 29 и состоит из нулей и одной единицы, которая показывает категорию X-Mailer.
Выделенные признаки для каждой характеристики объединяются и проходят еще несколько этапов преобразований (5) для того, чтобы учесть взаимосвязи между входными значениями. В приведенном примере сначала к ним применяется исключение (от англ. Dense Dropout) метод регуляризации искусственных нейронных сетей, предназначенный для предотвращения переобучения сети. Суть метода заключается в том, что в процессе обучения выбирается слой, из которого случайным образом выбрасывается определенное количество нейронов (например, 30%), которые выключаются из дальнейших вычислений. Затем после исключения используется функция активации (от англ. Dense Sigmoid), которая на выходе дает число, лежащее в пределах от 0 до 1. Выход классификатора 100 интерпретируется как вероятность спама (6) или как степень схожести характеристик письма 210 с характеристиками спама. Числовой показатель на выходе сравнивается классификатором 100 с заранее установленным пороговым значением для принятия решения об отправки письма 210 на карантин.
В одном из вариантов осуществления каждое письмо характеризуется не бинарной характеристикой (спам/не спам), а некоторым весом (W) в заданном диапазоне (к примеру, 0..1) и в зависимости от веса определяется время нахождения письма в карантине. В качестве веса может быть использован показатель вероятности спама, вычисляемы классификатором 100. Например, W<0.2 (первый порог R1) - не спам, W>0.9 (второй порог R2) - спам, от 0,2 - 0,9 время в карантине определяется по следующей формуле, как t=1 мин+e^(w-R1)/(R2-R1).
Фиг. 4 представляет пример компьютерной системы 20 общего назначения, которая может быть использована как компьютер клиента (например, персональный компьютер) или сервера. Компьютерная система 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, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях компьютерная система (персональный компьютер) 20 подключена к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.