Борьба со спамом в сетях IPv6

- КиТ :: Будь в СЕТИ!

Почти с самого начала существования Интернета спам создает серьезные помехи для всемирной IP-сети и протокола Simple Mail Transfer Protocol (SMTP, RFC 5321)

Рекламируя свои товары или преследуя криминальные цели, спамеры фактически воруют ресурсы у компаний и организаций, поэтому правительства тратят немало времени и средств на борьбу со спамом с помощью таких механизмов, как байесовские фильтры, анализ содержания, анализ DNS и электронная подпись. Эти подходы, используемые отдельно или в комбинации, доказали свою действенность в сетях IPv4, однако их применимость в сетях IPv6 под вопросом, особенно если говорить о подходах, основанных на DNS.

В свое время IPv6 был создан для решения проблем сетей IPv4 (главным образом, нехватки адресов), предоставив пространство из 2 128 уникальных IP-адресов, чего достаточно для всех устройств и узлов, подключенных к Сети. Однако IPv6 дает спамерам возможность отправлять сообщения с временных адресов и устраивать DoS-атаки на антиспамерские межсетевые экраны и DNS-фильтры.

Приведем краткую историю спама и рассмотрим проблемы, которые он создает. Рассмотрим также существующие методы фильтрации, применяемые в средах IPv4, и ограничения, возникающие при попытке их использования с IPv6.

Spam (от spiced ham — ветчина со специями) — это готовый к употреблению консервированный мясной продукт, выпускаемый компанией Hormel Foods (www.spam.com). Согласно «Википедии», использование слова «спам» для описания чего-либо «повсеместного и неизбежного» пошло от снятого в 70-х годах скетча комик-группы «Монти Пайтон», действие которого происходило в ресторане, где к каждому блюду обязательно подавали спам. Позднее этим словом стали называть электронные сообщения, которые отправляют пользователям без их согласия. Однако непрошенные рассылки — не всегда спам, например, кто-то из группы друзей может переслать остальным информацию, которую сочтет интересной, но здесь отправитель известен, а в случае со спамом, как правило, нет.

Еще в 1978 году Гэри Терк отправил первый спам с рекламой компьютеров примерно 400 пользователям сети ARPANET, но, несмотря на столь ранний «старт», настоящим бедствием спам стал в 1994 году, когда два юриста начали рекламировать с помощью рассылок услуги по оформлению иммиграционных документов и в конечном счете заработали сотню тысяч долларов. Их успех вдохновил других на то, чтобы взять на вооружение массовые непрошеные рассылки.

В 1997 году власти штата Невада приняли первый закон против спама, поскольку из-за рассылок впустую тратились дорогостоящие ресурсы. Закон требовал, чтобы операторы рассылок предлагали возможность получателям удалить себя из списка, а отправители пользовались своими реальными именами. Однако закон не предполагал штрафных санкций против спамеров, поэтому в 2004 году в США вступил в действие закон CAN-SPAM (Controlling the Assault of Non-Solisited Pornography and Marketing), исполнение которого обеспечивает Федеральная комиссия по связи, а министерство юстиции имеет полномочия уголовно наказывать нарушителей. Другие ведомства могут приводить закон в исполнение в рамках своих юрисдикций, а провайдеры Интернета имеют право подавать в суд на нарушителей.

Проблемы из-за спама

Спамеры подделывают сообщения, пользуются крадеными идентификационными данными, указывают фальшивые адреса отмены рассылки и злоупотребляют почтовыми ретрансляторами, что съедает большой объем пропускной способности Сети. Проблемы, создаваемые спамом, можно классифицировать с точки зрения клиентских и серверных систем. Если говорить о клиентской части, когда пользователи получают больше 40 спам-сообщений в день и им нужно в среднем по 10 секунд, чтобы решить, что с ними делать, получается, что на обработку спама они тратят примерно 60 часов в год — больше семи рабочих дней. А если у пользователя ограниченный доступ к Интернету (например, на мобильном телефоне), то ему придется переплачивать каждый месяц за загрузку спам-сообщений, то есть тратить впустую деньги и время. Что касается серверов, обработка слишком большого объема входящих сообщений может привести к системному сбою и отказу в обслуживании пользователей (фактически, как при DoS-атаке).

Для выполнения мошеннических рассылок спамеры отыскивают общедоступные почтовые ретрансляторы — SMTP-серверы, позволяющие анонимно отправлять сообщения кому угодно. Мошенники обманывают неопытных пользователей Интернета, представляясь чужими именами и прикрываясь известными брендами. Они также могут отправлять сообщения по списку адресов, полученных с помощью программных роботов для обхода сайтов.

Приведенное определение спама также относится к вредоносным программам или червям, называемым «ботами», которые прикрепляются к рассылаемым сообщениям для заражения других компьютеров. Эти зараженные системы, «зомби», дают спамерам полный доступ к ресурсам компьютеров, позволяя контролировать их, устраивать DoS- и фишинговые атаки и распространять вирусы. В качестве примера приведем сценарий, в котором атакующие злоупотребляют методом Round Robin DNS, используемым для балансировки нагрузки между серверами системы доменных имен. С помощью метода Fast-flux DNS выполняется смена IP-адреса и заражение клиентского компьютера, а затем его ресурсы используются для дальнейших атак. Когда хост обращается к серверу DNS для разрешения доменного имени, тот отвечает большим списком IP-адресов, соответствующих этому домену. Согласно принципу Round Robin, DNS-клиент выбирает один из этих адресов (компьютер атакующих) и получает доступ к одному из ботов. Тот затем выполняет роль прокси, переадресующего хост на вредоносный сайт, контролируемый атакующим.

Спам в сетях IPv6

Сеть IPv6 поддерживает в 2 128-32 раз больше уникальных адресов, чем IPv4. Обычно провайдеры выделяют диапазоны префиксов для каждой домашней или малой корпоративной сети, и, таким образом, каждой из назначенных подсетей подконтрольны по крайней мере 2 64 уникальных IP-адресов. В этих сетях спамеры могут искать незащищенные компьютеры с поддержкой SMTP, а затем рассылать мусорные сообщения с различных IP-адресов подсети. Из-за внушительных размеров адресного пространства IPv6, могут стать бесполезными многие антиспамерские технологии, основанные на адресации IPv4, — например, черные списки IP.

IPv6 и IPv4

IPv6 был предложен в 1998 году соответствующей рабочей группой IETF в целях решения проблем IPv4, касающихся нехватки адресов и защищенности, а 3 февраля 2011 года Администрация адресного пространства Интернета (IANA) выделила последний блок адресов IPv4 региональным регистраторам, и центральный пул оказался исчерпан. В IPv4 для противодействия нехватке адресного пространства используются схемы трансляции сетевых адресов (NAT), которые уменьшают прозрачность и создают проблемы для сквозных коммуникаций, например, по технологиям VoIP и IP Security. Основные преимущества IPv6 перед IPv4:

Генерация и выделение адресов

Ввиду огромного адресного пространства IPv6, в крупных сетях ручное назначение адресов уже не используется. В IPv6 имеется два разных механизма адресации.

За контекстное назначение адреса (stateful address configuration) отвечает протокол DHCP for IPv6 (Dynamic Host Configuration Protocol — протокол динамической конфигурации узла), позволяющий узлам IPv6 назначать себе адреса и получать конфигурационную информацию от серверов DHCP. Протокол подобен DHCP для сетей IPv4, но требует ручной настройки каждого узла. Бесконтекстное автоконфигурирование (stateless address auto configuration) и обнаружение соседей (neighbor discovery) выполняются с применением Neighbor Discovery Protocol (NDP), одного из важнейших протоколов в стеке IPv6. Его основные функции похожи на Address Resolution Protocol в IPv4, но NDP также поддерживает обнаружение маршрутизаторов и назначение адресов, частично заменяя функциональность DHCPv4. Протокол NDP значительно повышает эффективность управления сетью. Он также активно используется в ряде критически важных функций, например, при автосоздании собственного адреса узла, обнаружении других узлов на том же канале, определении адресов канального уровня других узлов, идентификации дублирующихся адресов и обеспечении доступности информации о маршрутах для активных соседей.

Важность IPv6

В сетях IPv4 самый большой объем ежедневного трафика после файлообменного приходится на протокол SMTP, и основная доля этого трафика — спам. Согласно черному списку Spamcop, спамеры генерируют примерно 7,5 сообщения в секунду. По статистике Google, c 2010 года использование IPv6 резко выросло, как и применение SMTP — именно этот протокол преимущественно действует в сетях IPv6. По данным точки обмена трафиком Amsterdam Internet Exchange, средний дневной трафик IPv6 — 2,7 Гбит/c, или 4% от общего объема, и этот показатель уверенно растет.

Большое адресное пространство

В соответствии с нынешними алгоритмами черных и серых списков, когда почтовый межсетевой экран получает основной объем трафика SMTP с определенного IP-адреса, он заносит его в список блокируемых. В средах IPv6 по соображениям приватности и безопасности для узлов устанавливаются временные адреса, то есть если спамеры получают полный доступ к ресурсам узла IPv6, то они могут отправлять спам со всех выделенных ему IP-адресов. Всего в подсети доступно для использования 2 64 IPv6-адресов, поэтому спамеры могут менять адреса каждую секунду или отправлять каждое спам-сообщение с нового адреса. Таким образом, нынешние алгоритмы черных и серых списков в IPv6 неработоспособны, поскольку спам-трафик будет исходить с разных адресов, и межсетевой экран не сможет определить источник. В связи с этим, не всегда простая задача обнаружения и дезинфекции зараженного узла возлагается на сисадмина, а из-за спамеров может серьезно пострадать репутация соответствующего провайдера или организации.

Антиспамерские технологии

Когда создавался SMTP, никто не думал о том, что для протокола понадобится механизм безопасности, поэтому это обычный текстовый протокол, в котором есть лишь простейшее средство защиты от спама: получатель может проверить, отвечает ли система отправителя стандартам RFC. В результате спамеры и мошенники злоупотребляют SMTP, рассылая огромные потоки мусорной почты. По некоторым оценкам, ежегодные убытки от спама уже превысили миллиард долларов, поэтому правительства тратят так много времени и ресурсов на решение этой проблемы. Средства защиты от спама можно разделить на три основные категории: базирующиеся на содержании, на средствах DNS и на коллективной фильтрации.

Методы, основанные на содержании

Данные методы проверяют информацию в теле или заголовке письма на соответствие различным правилам и в зависимости от результата классифицируют сообщение как спам или как легитимное. При этом используются различные классификаторы, в том числе основанные на правилах и байесовских фильтрах. Последние, благодаря простоте реализации, наиболее популярны. Исходная версия данного алгоритма — наивный байесовский вероятностный классификатор. На этапе обучения сообщения классифицируются как спам согласно встречаемости в них определенных слов, а позднее накопленные данные используются как критерий для распознавания спама.

У контентных подходов, полагающихся на существующие классификаторы, есть ряд недостатков. Когда классификатор уровня приложения, основанный на правилах, используется в крупномасштабной сети, это ведет к большим затратам, так как чем больше правил задает конечный пользователь, тем больше времени уходит на анализ каждого сообщения. Кроме того, требуется много времени для создания обучающей выборки. Для улучшения способности отфильтровывать спам байесовский классификатор должен собрать как можно больше образцов, используемых для подсчета значения вероятности спама в каждом сообщении. Однако независимо от размера обучающей выборки фильтр уязвим для атак «отравления». Например, при совершении «атаки хорошими словами» (good-word attack) спамер рассылает спам-сообщения с большим объемом легитимного текста, не классифицируемого как спам. В результате ухудшается способность механизмов анализа содержания верно идентифицировать спам-сообщения.

Методы на основе DNS

Появление подходов на основе DNS датируется 1997 годом, когда два инженера программного обеспечения начали вести список IP-адресов и URL, известных в качестве рассылающих спам. Этот перечень получил название Real-time Blackhole List и считается первым черным списком на основе DNS (DNS Black List, DNSBL), полагавшимся на статические IP-адреса. Сегодня вручную составить такой список невозможно. С тех пор появилось множество обновляемых черных списков IP-адресов. Когда почтовый сервер получает запрос на входящее соединение по SMTP, он обычно сверяет его с набором черных и белых списков (DNSxL) с использованием клиентских и серверных протоколов и утилит DNS. Если адрес есть в каком-либо черном списке, в соединении будет отказано. Сегодня помимо почтовых серверов, обращающихся к DNSxL для блокировки спама, списками также пользуются антивирусы, межсетевые экраны и другие системы безопасности для предотвращения доступа пользователей к фальшивым сайтам.

Существует два разных вида DNSxL: списки IP-адресов и списки доменов. Первые хранят индивидуальные IP-адреса или их диапазоны. Вторые содержат перечни отдельных доменных имен либо корневых доменов (например, domain.com).

DNSBL — популярный механизм, но IP-адреса в списке необходимо все время обновлять, так как спамеры их постоянно меняют. Процесс обновления отнимает время, и спамеры могут успеть сделать рассылку еще до того, как новый адрес попадет в черный список, поэтому исследователи предложили ряд методик занесения в черный список на основе поведения. Идея в том, что спамерские приложения, например массово рассылаемые черви, тоже должны полагаться на DNS, чтобы преобразовывать доменное имя почтового сервера в действительный IP-адрес. Поэтому им придется оставить следы в трафике DNS. Например, спамер может пользоваться разными адресами “From:”, но одним и тем же IP источника. Таким образом можно было бы распознавать многие хосты, используемые для массовых рассылок.

Коллективная фильтрация спама

При коллективной фильтрации сами пользователи маркируют нежелательные сообщения в качестве спама в SMTP-клиентах и серверах, обеспечивающих сервис передачи почты. Антиспамерские приложения, получающие данные от пользователей, эффективно борются со спамерами их же методами. Когда пользователь классифицирует сообщение как спам, подсчитывается его сигнатура и добавляется в коллективно составляемую базу знания. Сигнатура каждого входящего сообщения сравнивается с базой известных спам-сообщений, и при обнаружении соответствия письмо считается спамом. Главный недостаток этого подхода в том, что не все пользователи считают одно и то же сообщение спамом. Кроме того, большинство пользователей маркируют недостаточно сообщений, чтобы обеспечить эффективность локального классификатора.

Был проведен ряд исследований, направленных на усовершенствование данного подхода, в частности, для вертикального масштабирования алгоритма предлагалось использовать одноранговую сеть. Алгоритм пользуется локальными ресурсами сети и создает распределенную базу данных для сохранения информации о спам-сообщениях, к которой имеют доступ другие участники p2p-сети. Другой вариант этого алгоритма — вместо того чтобы делиться информацией о каждом спам-сообщении, остальным участникам сети отправляются сведения о правилах фильтрации; при поступлении нового сообщения система применяет соответствующие фильтры от пользователей и затем вычисляет окончательную вероятность спама для сообщения. Чтобы устранить проблемы с приватностью и масштабированием, можно группировать фильтры пользователей, имеющих схожие интересы. Еще одна возможность — использовать принцип социальной сети, в которой пользователи выбирают своих «друзей». В этом случае обмен будет происходить только с применением фильтров такой сети.

Другие подходы

Хотя упомянутые антиспамерские технологии достаточно действенны, они не решают ряда важных проблем безопасности; но существуют также криптографические технологии наподобие Domain Keys Identified Mail (DKIM), Sender Policy Framework (SPF) и Author Domain Signing Practices (ADSP), которые обеспечивают возможность авторизации и верификации отправителей или доменов.

Почту можно подделать несколькими способами. Система аттестации почты SPF противодействует подделке, позволяя авторизованным хостам владельцев доменов указывать свои доменные имена в поле From или в HELO (команде SMTP на установление нового соединения с почтовым сервером). Преимущество в том, что решения о локальной политике почты можно принимать руководствуясь доменом отправителя, а не IP-адресом хоста, так как репутации доменного имени больше оснований доверять, чем репутации IP-адресов. Однако этот метод уязвим для DoS-атак, а электронная почта, авторизованная с помощью SPF, все же может содержать ложные идентификационные данные. Отправители-мошенники могут без труда отправить сообщение из авторизованного домена от имени другого пользователя, и хост-отправитель пропустит такое сообщение. В этом случае только сам пользователь или его почтовый клиент могут заподозрить неладное, получив сообщение от неизвестного адресата из легитимного домена.

Недостатком данного метода является и то, что SPF-запись создается не для собственной защиты, а для защиты других. Эта проблема разрешается при помощи системы Dynamic Sender Policy Framework: третья сторона собирает легитимные IP-адреса серверов, автоматически отправляющих сообщения электронной почты, и для проверки записей SPF клиентам не нужно обращаться к DNS.

Еще один подход — DKIM, метод аутентификации сообщений электронной почты на уровне доменов, полагающийся на шифрование с открытым ключом. Он позволяет верифицировать источник и содержание сообщения с помощью либо почтового сервера, либо клиента. DKIM присваивает подпись домену, берущему на себя ответственность за сообщение, а при проверке подписи используются открытый и закрытый ключи, выданные уполномоченными системами. DKIM запрашивает открытый ключ из репозитория в домене, претендующем на ответственность за письмо, напрямую, а не через третью сторону. Для DKIM не нужны новшества в инфраструктуре электронной почты — механизм совместим с существующей технологией. Однако DKIM зависит от системы имен доменов и ее защищенности, и чтобы уменьшить эту зависимость, используется полагающийся на SMTP механизм Trusted Core, нечто вроде доверенной третьей стороны. Провайдер на своем хосте (в «доверенном ядре») однократно регистрирует авторизованных пользователей. Принцип действия механизма следующий: вначале SMTP-клиент и сервер создают одноразовый совместно используемый ключ. Клиент сохраняет этот ключ и адреса получателя в доверенном ядре, а затем предоставляет серверу его URL. Сервер получает URL вместе с адресами отправителя и получателя из команды SMTP и передает их в доверенное ядро, которое в случае совпадения адресов возвращает серверу совместно используемый ключ.

Для аутентификации отправителя можно применять и еще один метод — ADSP, расширение DKIM, позволяющее домену опубликовать правила подписывания сообщений, которые он ретранслирует. Если у сообщения нет DKIM-подписи, ADSP в соответствии с этими правилами принимает решение о том, передать или отбросить сообщение.

Антиспамерские подходы и IPv6

Борьба против спама никогда не закончится — по мере совершенствования методов распознавания и разработки новых классификаторов спамеры будут изобретать все новые способы их обхода. В сетях IPv6 у спамеров появляется еще одно мощное оружие — обширное адресное пространство в каждой подсети, благодаря которому можно регулярно менять IP-адреса после рассылки какого-то числа сообщений. Для обхода систем фильтрации спама можно также комбинировать атаки — например, отравление байесовского фильтра с DoS-атакой на DNS. Но некоторые поставщики систем электронной почты объединяют упомянутые алгоритмы для распознавания спама, а в Google для борьбы с атаками на основе «хороших слов» пользуются также алгоритмом оптического распознавания символов.

Вопрос в том, могут ли нынешние антиспамерские системы выдержать нагрузку по обработке непредвиденно большого объема спам-трафика? Способны ли они идентифицировать спамеров прежде, чем те успеют сменить IP-адреса?

Антиспамерские подходы, согласно их действенности в IPv6, можно поделить на три основные категории: применимые, применимые после изменения и неприменимые. Поскольку нет доказательства того, что какие-либо из подходов вообще не будут работать в IPv6, сосредоточимся на первых двух категориях.

Применимые

Все методы в этой категории (контентные и кооперативные) будут работать в IPv6 так же, как и в IPv4. Например, подходы, основанные на анализе содержания и поведения, тесно связаны со своими классификаторами. Наиболее популярный из них — байесовский фильтр — уязвим для атак на основе «хороших слов». Можно часто переобучать классификатор, однако с увеличением количества слов время обучения возрастает. Другое решение — объединить DKIM и классификаторы для противодействия таким атакам. На этапе предварительной обработки сообщение проверяется с помощью одного из популярных классификаторов. Затем, если на этой стадии сообщение не распознано как спам, проверяется его DKIM-подпись, которую должен был создать отправитель с помощью закрытого ключа. Получатель проверяет подпись с использованием открытого ключа, получаемого по запросу к DNS.

Применимые после модификации

К методам этой категории, основанных и не основанных на DNS черных и серых списках, понадобятся модификации, так как большое адресное пространство IPv6 затрудняет применение черных списков индивидуальных IP-адресов или доменов. Можно поделить черные, белые и серые списки на две основные категории:

Локально-сетевые. Как и в сетях IPv4, сисадмины могут внести префикс своего маршрутизатора в локальный черный список независимо от используемого механизма адресации (NDP или DHCPv6). В IPv6 префикс — это крайний слева 64-разрядный адрес IPv6, назначенный легитимному маршрутизатору для идентификации своего субдомена и позволяющий сисадминам устанавливать адреса. Те могут внести в локальный белый список только IP-адрес мэйлера, чтобы не позволить спамерам, получившим доступ к какому-либо узлу сети, отправлять через него спам.

Глобально-сетевые. Как и в локальных сетях, решение в данном случае состоит в занесении префикса маршрутизатора в черный список. Префиксы маршрутизаторов со временем не меняются, но в некоторых странах, например в Германии, от провайдеров требуют регулярно менять их по соображениям приватности.

Пример атаки, которую можно подавить благодаря данным решениям, — когда спамеры пытаются изменить IP-адрес сервера, чтобы воспользоваться в своих целях методом Round Robin DNS. Для этого злоумышленники могут применить метод Fast-flux — атакующие начинают связь по SMTP с почтовым сервером, тот обращается к серверу DNS для разрешения доменных имен, и он отвечает большим списком IP-адресов из другого диапазона, соответствующего тому же домену. Согласно принципу Round Robin, почтовый сервер выбирает один из этих адресов и отправляет запрос к DNSxL для поиска соответствующих вхождений. У спамеров, таким образом, повышаются шансы на обход фильтра.

Одно из решений состоит в проверке поведения DNS, когда почтовый сервер использует полное имя домена — Fully Qualified Domain Name (например, если у почтового сервера имя mailsrv, а имя его домена mydomain.com, то FQDN будет mailsrv.mydomain.com). Спамеры не будут тратить время на добавление записей DNS для каждого субдомена (например, xx.mydomain.com), а создадут Wildcard DNS — запись, отвечающую за все субдомены: если для имени субдомена не найдено ни одного соответствия, DNS-сервер отвечает только на запросы, относящиеся к авторизованной зоне. Можно отправить запрос со случайным названием субдомена; если ответом во всех доменах будет похожий адрес, значит, это Wildcard DNS; в противном случае это обычная запись DNS. Можно также распознать спам по проверке предписанного времени жизни (time-to-live) доменных имен — атакующие устанавливают для своих доменов более короткое TTL, чтобы клиенты не кэшировали старые IP-адреса. Но такой антиспамерский подход не очень практичен по причине низкого быстродействия — пока будет выполняться запрос, доменные имена с истекшим сроком жизни могут быть захвачены легитимными группами: государствами, провайдерами и т. д.

Однако занесение префиксов в черный список не защитит от DoS-атак на DNSxL в Интернете, в результате которых списки перестанут отвечать на запросы почтовых систем. Как и другие основанные на DNS подходы, DNSxL также уязвимы для атак отравления кэша и т. п.

Еще одна антиспамерская технология, Spamhaus, полагается на списки блокировки IPv6-адресов и решает проблему, связанную с возможностью заполнения кэшей DNS из-за огромных объемов спама, сгенерированных с использованием большого адресного пространства IPv6. В Spamhaus используется система запросов на основе B-дерева, которая возвращает результаты, схожие с нынешними списками блокировки IPv4. Данная технология пока еще только тестируется, и под сомнением ее действенность при большом объеме трафика.

***

Для сред IPv4 создан ряд действенных методов фильтрации спама, но борьба против спамеров будет вечной — они способны обходить самые популярные средства блокировки путем различных атак, таких как отравление байесовских фильтров, DoS-атаки на DNS и отравление кэша. Очевидно, что в IPv6-сетях спамеры получают еще одно мощное оружие в свое распоряжение — большое адресное пространство, поэтому решения на основе DNS и списков блокировки не смогут работать в IPv6 без занесения префиксов в черные списки. Хотя полный переход с IPv4 на IPv6 может занять немало времени, необходимо еще до его завершения изменить алгоритмы фильтрации, основанные на черных и белых списках. Потребность в способах предотвращения спама в IPv6-сетях актуальна уже сейчас, поскольку применение мусорных рассылок для получения неправомерной выгоды продолжает расти астрономическими темпами.

Хосни Рафи () — аспирант, Мартин Левис () — преподаватель отделения операционных систем и связующего ПО, Кристофер Майнел () — директор Института Хассо Платтнера Потсдамского университета, руководитель исследовательской группы по технологиям и системам Интернета.

Hosnieh Rafiee, Martin von Loewis, Christoph Meinel, IPv6 Deployment and Spam Challenges. IEEE Internet Computing, November/December 2012, IEEE Computer Society. All rights reserved. Reprinted with permission.

ПодпискаБудь в СЕТИ! Новости социальных сетей - всегда актуальное
 
Группы: ВК | OK | Tg