Вредоносное ПО

Анализ вредоносного ПО в Linux

Анализ вредоносного ПО в Linux
Вредоносное ПО представляет собой вредоносный фрагмент кода, отправленный с намерением нанести вред компьютерной системе. Вредоносное ПО может быть любого типа, например руткиты, шпионское ПО, рекламное ПО, вирусы, черви и т. Д., который скрывается и работает в фоновом режиме, взаимодействуя со своей системой управления и контроля во внешней сети. В настоящее время большинство вредоносных программ являются целевыми и специально запрограммированы для обхода мер безопасности целевой системы. Вот почему сложное вредоносное ПО может быть очень сложно обнаружить с помощью обычных решений безопасности. Вредоносные программы обычно ориентированы на конкретные цели, и важным шагом в запуске вредоносного ПО является его вектор заражения, т.е.е., как вредоносная программа достигнет поверхности цели. Например, можно использовать невзрачный USB-накопитель или вредоносные ссылки для скачивания (через социальную инженерию / фишинг). Вредоносное ПО должно иметь возможность использовать уязвимость для заражения целевой системы. В большинстве случаев вредоносное ПО может выполнять несколько функций; например, вредоносная программа может содержать код для использования определенной уязвимости, а также может нести полезную нагрузку или программу для связи с атакующей машиной.

REMnux

Дизассемблирование компьютерного вредоносного ПО для изучения его поведения и понимания того, что оно на самом деле делает, называется Обратное проектирование вредоносных программ. Чтобы определить, содержит ли исполняемый файл вредоносное ПО или это просто обычный исполняемый файл, или узнать, что исполняемый файл действительно делает и какое влияние он оказывает на систему, существует специальный дистрибутив Linux, называемый REMnux. REMnux - это легкий дистрибутив на основе Ubuntu, оснащенный всеми инструментами и скриптами, необходимыми для выполнения подробного анализа вредоносных программ для данного файла или исполняемого программного обеспечения. REMnux оснащен бесплатными инструментами с открытым исходным кодом, которые можно использовать для проверки всех типов файлов, включая исполняемые. Некоторые инструменты в REMnux может даже использоваться для проверки неясного или запутанного кода JavaScript и Flash-программ.

Монтаж

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

[электронная почта защищена]: ~ $ wget https: // REMnux.org / remnux-cli

Обязательно проверьте, что это тот же файл, который вам нужен, сравнив подпись SHA1. Подпись SHA1 может быть создана с помощью следующей команды:

[адрес электронной почты защищен]: ~ $ sha256sum remnux-cli

Затем переместите его в другой каталог с именем «Remnux» и дайте ему исполняемые права, используя «Chmod + x.” Теперь выполните следующую команду, чтобы начать процесс установки:

[электронная почта защищена]: ~ $ mkdir remnux
[электронная почта защищена]: ~ $ cd remnux
[электронная почта защищена]: ~ $ mv… / remux-cli ./
[электронная почта защищена]: ~ $ chmod + x remnux-cli
// Устанавливаем Remnux
[электронная почта защищена]: ~ $ sudo install remnux

Перезагрузите вашу систему, и вы сможете использовать только что установленный REMnux дистрибутив, содержащий все инструменты, доступные для процедуры обратного проектирования.

Еще одна полезная вещь о REMnux в том, что вы можете использовать образы докеров популярных REMnux инструменты для выполнения конкретной задачи вместо установки всего дистрибутива. Например, RetDec инструмент используется для дизассемблирования машинного кода и принимает входные данные в различных форматах файлов, таких как 32-битные / 62-битные файлы exe, файлы elf и т. д. Rekall - еще один отличный инструмент, содержащий образ докера, который можно использовать для выполнения некоторых полезных задач, таких как извлечение данных из памяти и получение важных данных. Чтобы исследовать неясный JavaScript, инструмент под названием JSdetox также можно использовать. Docker-образы этих инструментов присутствуют в REMnux репозиторий в Докер Хаб.

Анализ вредоносного ПО

Проверка непредсказуемости потока данных называется Энтропия. Последовательный поток байтов данных, например, все нули или все единицы, имеют 0 энтропии. С другой стороны, если данные зашифрованы или состоят из альтернативных битов, они будут иметь более высокое значение энтропии. Хорошо зашифрованный пакет данных имеет более высокое значение энтропии, чем обычный пакет данных, потому что значения битов в зашифрованных пакетах непредсказуемы и изменяются быстрее. Энтропия имеет минимальное значение 0 и максимальное значение 8. Основное использование Entropy in Malware analysis - поиск вредоносных программ в исполняемых файлах. Если исполняемый файл содержит вредоносное ПО, в большинстве случаев он полностью зашифрован, поэтому AntiVirus не может исследовать его содержимое. Уровень энтропии такого файла очень высок по сравнению с обычным файлом, который отправит следователю сигнал о чем-то подозрительном в содержимом файла. Высокое значение энтропии означает сильное скремблирование потока данных, что явно указывает на подозрительность.

Этот полезный инструмент создан с единственной целью: найти вредоносное ПО в системе. Обычно злоумышленники заключают вредоносное ПО в зашифрованные данные (или кодируют / шифруют), чтобы антивирусное программное обеспечение не обнаружило его. Density Scout сканирует указанный путь к файловой системе и печатает значения энтропии каждого файла в каждом пути (начиная с самого высокого до самого низкого). Высокое значение вызовет подозрение у следователя, и он или она продолжит исследование файла. Этот инструмент доступен для операционных систем Linux, Windows и Mac. Density Scout также имеет меню справки, показывающее множество предоставляемых им параметров со следующим синтаксисом:

ubuntu @ ubuntu: ~ densityscout --h

ByteHist - очень полезный инструмент для создания графика или гистограммы в соответствии с уровнем скремблирования данных (энтропии) различных файлов. Это делает работу исследователя еще проще, поскольку этот инструмент даже делает гистограммы подразделов исполняемого файла. Это означает, что теперь исследователь может легко сосредоточиться на той части, где возникает подозрение, просто взглянув на гистограмму. Гистограмма нормального файла будет полностью отличаться от гистограммы вредоносного.

Обнаружение аномалий

Вредоносные программы могут быть упакованы обычным образом с помощью различных утилит, например UPX. Эти утилиты изменяют заголовки исполняемых файлов. Когда кто-то пытается открыть эти файлы с помощью отладчика, измененные заголовки приводят к сбою отладчика, так что исследователи не могут его изучить. Для этих случаев, Обнаружение аномалий инструменты используются.

PE Scanner - полезный скрипт, написанный на Python, который используется для обнаружения подозрительных записей TLS, недопустимых временных меток, разделов с подозрительными уровнями энтропии, разделов с необработанными размерами нулевой длины и вредоносных программ, упакованных в exe-файлы, среди других функций.

Еще один отличный инструмент для сканирования файлов exe или dll на предмет странного поведения - это сканирование EXE. Эта утилита проверяет поле заголовка исполняемых файлов на предмет подозрительных уровней энтропии, секций с необработанными размерами нулевой длины, различий контрольных сумм и всех других типов нестандартного поведения файлов. EXE Scan имеет отличные функции, генерирует подробный отчет и автоматизирует задачи, что экономит много времени.

Запутанные строки

Злоумышленники могут использовать смена метод обфускации строк во вредоносных исполняемых файлах. Есть определенные типы кодирования, которые можно использовать для обфускации. Например, РОТ кодировка используется для поворота всех символов (меньшего и заглавного алфавитов) на определенное количество позиций. XOR кодирование использует секретный ключ или парольную фразу (константу) для кодирования или XOR файла. ROL кодирует байты файла, поворачивая их после определенного количества бит. Существуют различные инструменты для извлечения этих озадаченных строк из заданного файла.

XORsearch используется для поиска содержимого в файле, закодированном с использованием Алгоритмы ROT, XOR и ROL. Он будет перебирать все однобайтовые значения ключей. Для более длинных значений эта утилита займет много времени, поэтому вы должны указать строку, которую ищете. Некоторые полезные строки, которые обычно встречаются во вредоносных программах: «http»(В большинстве случаев URL-адреса скрыты вредоносным кодом), "Эта программа" (заголовок файла во многих случаях изменяется с написанием «Эта программа не может быть запущена в DOS»). После нахождения ключа все байты могут быть декодированы с его помощью. Синтаксис XORsearch следующий:

убунту @ убунту: ~ xorsearch -s
  • брутексор

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

убунту @ убунту: ~ brutexor.ру >> хотите скопировать извлеченные строки>
убунту @ убунту: ~ brutexor.py -f -k

Извлечение артефактов и ценных данных (Удалено)

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

  • дд

дд используется для создания криминалистического образа диска. Этот инструмент также обеспечивает проверку целостности, позволяя сравнивать хэши образа с исходным диском. Инструмент dd можно использовать следующим образом:

убунту @ убунту: ~ дд если = из = шс = 512
if = исходный диск (например, / dev / sda)
of = Место назначения
bs = Размер блока (количество байтов для копирования за раз)
  • dcfldd

dcfldd - еще один инструмент, используемый для создания образа диска. Этот инструмент похож на обновленную версию утилиты dd. Он предоставляет больше возможностей, чем dd, например хеширование во время создания образа. Вы можете изучить параметры dcfldd, используя следующую команду:

убунту @ убунту: ~ dcfldd -h
Использование: dcfldd [ОПЦИЯ]…
bs = BYTES принудительно ibs = BYTES и obs = BYTES
conv = KEYWORDS преобразовать файл в соответствии со списком ключевых слов, разделенных запятыми
count = BLOCKS копировать только блоки ввода BLOCKS
ibs = BYTES читать БАЙТОВ байт за раз
if = ФАЙЛ читается из ФАЙЛА вместо стандартного ввода
obs = BYTES записывать BYTES байты за раз
of = FILE записать в ФАЙЛ вместо стандартного вывода
ПРИМЕЧАНИЕ: of = FILE можно использовать несколько раз для записи
вывод в несколько файлов одновременно
of: = COMMAND exec и записать вывод в процесс COMMAND
skip = BLOCKS пропускать блоки размером ibs в начале ввода
pattern = HEX использовать указанный двоичный шаблон в качестве входных данных
textpattern = TEXT использовать повторяющийся ТЕКСТ в качестве ввода
errlog = FILE отправлять сообщения об ошибках как в ФАЙЛ, так и в stderr
hash = NAME либо md5, sha1, sha256, sha384, либо sha512
алгоритм по умолчанию - md5. Чтобы выбрать несколько
алгоритмы для одновременного запуска введите имена
в списке, разделенном запятыми
hashlog = ФАЙЛ отправлять хеш-вывод MD5 в ФАЙЛ вместо stderr
если вы используете несколько алгоритмов хеширования, вы
можно отправить каждый в отдельный файл, используя
соглашение ALGORITHMlog = FILE, например
md5log = ФАЙЛ1, sha1log = ФАЙЛ2 и т. д.
hashlog: = COMMAND exec и запись хеш-журнала для обработки COMMAND
ALGORITHMlog: = COMMAND также работает таким же образом
hashconv = [до | после] выполнить хеширование до или после преобразований
формат хэша = ФОРМАТ отображать каждое хеш-окно в соответствии с ФОРМАТОМ
мини-язык формата хеша описан ниже
totalhash format = FORMAT отображение общего хеш-значения в соответствии с FORMAT
status = [on | off] отображать постоянное сообщение о статусе на stderr
состояние по умолчанию - "включено"
statusinterval = N обновлять сообщение о состоянии каждые N блоков
значение по умолчанию 256
vf = FILE убедитесь, что FILE соответствует указанному вводу
verifylog = FILE отправлять результаты проверки в FILE вместо stderr
verifylog: = COMMAND exec и запись результатов проверки для обработки COMMAND
--помочь отобразить эту справку и выйти
--версия вывести информацию о версии и выйти
  • Самый главный

Foremost используется для вырезания данных из файла изображения с помощью техники, известной как вырезание файла. Основное внимание при вырезании файлов уделяется вырезанию данных с использованием верхних и нижних колонтитулов. Его конфигурационный файл содержит несколько заголовков, которые может редактировать пользователь. Foremost извлекает заголовки и сравнивает их с заголовками в файле конфигурации. Если он совпадает, он будет отображаться.

  • Скальпель

Scalpel - это еще один инструмент, используемый для поиска и извлечения данных, и он сравнительно быстрее, чем Foremost. Скальпель смотрит на заблокированную область хранения данных и начинает восстанавливать удаленные файлы. Перед использованием этого инструмента необходимо раскомментировать строку типов файлов, удалив # с желаемой строки. Scalpel доступен как для операционных систем Windows, так и для Linux и считается очень полезным в криминалистических исследованиях.

  • Массовый экстрактор

Bulk Extractor используется для извлечения функций, таких как адреса электронной почты, номера кредитных карт, URL-адреса и т. Д. Этот инструмент содержит множество функций, которые ускоряют выполнение задач. Для распаковки частично поврежденных файлов используется Bulk Extractor. Он может извлекать файлы, такие как jpgs, pdf, текстовые документы и т. Д. Еще одна особенность этого инструмента заключается в том, что он создает гистограммы и графики восстановленных типов файлов, что значительно упрощает исследователям поиск нужных мест или документов.

Анализ PDF-файлов

Наличие полностью исправленной компьютерной системы и новейшего антивируса не обязательно означает, что система безопасна. Вредоносный код может попасть в систему откуда угодно, включая PDF-файлы, вредоносные документы и т. Д. PDF-файл обычно состоит из заголовка, объектов, таблицы перекрестных ссылок (для поиска статей) и трейлера. «/ OpenAction» а также «/ AA» (дополнительное действие) гарантирует, что контент или деятельность выполняется естественным образом. «/ Имена», «/ AcroForm», а также "/Действие" может также указывать и отправлять содержимое или действия. «/ JavaScript» указывает JavaScript для запуска. "/Перейти к*" изменяет вид на предварительно определенную цель внутри PDF-файла или в другой записи PDF-файла. "/Запуск" отправляет программу или открывает архив. «/ URI» получает актив по его URL. "/Представить форму" а также «/ GoToR» может отправлять информацию по URL. "/Мультимедиа" можно использовать для установки Flash в PDF. «/ ObjStm» может скрывать объекты внутри Object Stream. Помните о путанице с шестнадцатеричными кодами, например, «/ JavaScript» против «/ J # 61vaScript.” Файлы PDF можно исследовать с помощью различных инструментов, чтобы определить, содержат ли они вредоносный JavaScript или шелл-код.

  • pdfid.ру

pdfid.py - это скрипт Python, используемый для получения информации о PDF-файле и его заголовках. Давайте посмотрим на случайный анализ PDF-файла с помощью pdfid:

ubuntu @ ubuntu: ~ python pdfid.py вредоносный.pdf
PDFiD 0.2.1 / home / ubuntu / Desktop / вредоносный.pdf
Заголовок PDF:% PDF-1.7
obj 215
эндобдж 215
поток 12
конечный поток 12
xref 2
трейлер 2
startxref 2
/Страница 1
/ Шифрование 0
/ ObjStm 2
/ JS 0
/ JavaScript 2
/ AA 0
/ OpenAction 0
/ AcroForm 0
/ JBIG2Decode 0
/ RichMedia 0
/ Запуск 0
/ EmbeddedFile 0
/ XFA 0
/ Цвета> 2 ^ 24 0

Здесь вы можете видеть, что внутри файла PDF присутствует код JavaScript, который чаще всего используется для использования Adobe Reader.

  • peepdf

peepdf содержит все необходимое для анализа PDF-файлов. Этот инструмент позволяет исследователю взглянуть на кодирование и декодирование потоков, редактирование метаданных, шелл-код, выполнение шелл-кодов и вредоносный JavaScript. Peepdf имеет сигнатуры для многих уязвимостей. При запуске с вредоносным файлом pdf программа peepdf обнаружит любую известную уязвимость. Peepdf - это скрипт Python, который предоставляет множество возможностей для анализа PDF-файлов. Peepdf также используется вредоносными кодировщиками для упаковки PDF-файла с вредоносным кодом JavaScript, который запускается при открытии PDF-файла. Анализ шелл-кода, извлечение вредоносного контента, извлечение старых версий документов, модификация объектов и модификация фильтров - вот лишь некоторые из широких возможностей этого инструмента.

убунту @ убунту: ~ python peepdf.py вредоносный.pdf
Файл: вредоносный.pdf
MD5: 5b92c62181d238f4e94d98bd9cf0da8d
SHA1: 3c81d17f8c6fc0d5d18a3a1c110700a9c8076e90
SHA256: 2f2f159d1dc119dcf548a4cb94160f8c51372a9385ee60dc29e77ac9b5f34059
Размер: 263069 байтов
Версия: 1.7
Двоичный: True
Линеаризованный: Ложь
Зашифровано: ложно
Обновлений: 1
Объектов: 1038
Потоки: 12
URI: 156
Комментарии: 0
Ошибок: 2
Потоки (12): [4, 204, 705, 1022, 1023, 1027, 1029, 1031, 1032, 1033, 1036, 1038]
Потоки внешних ссылок (1): [1038]
Потоки объектов (2): [204, 705]
Закодировано (11): [4, 204, 705, 1022, 1023, 1027, 1029, 1031, 1032, 1033, 1038]
Объекты с URI (156): [11, 12, 13, 14, 15, 16, 24, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175]
 
Подозрительные элементы: / Имена (1): [200]

Песочница с кукушкой

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

Монтаж

Cuckoo можно установить в операционных системах Windows, Mac или Linux, загрузив этот инструмент через официальный сайт: https: // cuckoosandbox.org /

Для бесперебойной работы Cuckoo необходимо установить несколько модулей и библиотек Python. Это можно сделать с помощью следующих команд:

ubuntu @ ubuntu: ~ sudo apt-get установить python python-pip
Python-dev и mongodb postgresql libpq-dev

Чтобы Cuckoo показывал вывод, раскрывающий поведение программы в сети, требуется анализатор пакетов, например tcpdump, который можно установить с помощью следующей команды:

ubuntu @ ubuntu: ~ sudo apt-get install tcpdump

Чтобы предоставить программисту Python функциональность SSL для реализации клиентов и серверов, можно использовать m2crypto:

ubuntu @ ubuntu: ~ sudo apt-get install m2crypto

Применение

Cuckoo анализирует различные типы файлов, включая PDF-файлы, текстовые документы, исполняемые файлы и т. Д. В последней версии даже веб-сайты можно анализировать с помощью этого инструмента. Cuckoo также может сбрасывать сетевой трафик или направлять его через VPN. Этот инструмент даже сбрасывает сетевой трафик или сетевой трафик с поддержкой SSL, и это можно снова проанализировать. С помощью Cuckoo Sandbox можно анализировать PHP-скрипты, URL-адреса, html-файлы, визуальные базовые скрипты, zip-файлы, файлы DLL и почти любые другие типы файлов.

Чтобы использовать Cuckoo, вы должны отправить образец, а затем проанализировать его действие и поведение.

Чтобы отправить двоичные файлы, используйте следующую команду:

# кукушка отправить

Чтобы отправить URL-адрес, используйте следующую команду:

# кукушка отправить

Чтобы установить тайм-аут для анализа, используйте следующую команду:

# таймаут отправки кукушки = 60 с

Чтобы установить более высокое свойство для данного двоичного файла, используйте следующую команду:

# cuckoo submit --priority 5

Базовый синтаксис Cuckoo следующий:

# кукушка submit --package exe --options arguments = dosometask

После завершения анализа в каталоге можно увидеть несколько файлов «CWD / хранение / анализ», содержащие результаты анализа предоставленных образцов. В этом каталоге присутствуют следующие файлы:

  • Анализ.бревно: Содержит результаты процесса во время анализа, такие как ошибки времени выполнения, создание файлов и т. Д.
  • объем памяти.свалка: Содержит полный анализ дампа памяти.
  • Свалка.pcap: Содержит сетевой дамп, созданный tcpdump.
  • Файлы: Содержит все файлы, с которыми работало или на которые воздействовала вредоносная программа.
  • Dump_sorted.pcap: Содержит легко понятную форму дампа.pcap для поиска потока TCP.
  • Журналы: Содержит все созданные журналы.
  • Кадры: Содержит снимки рабочего стола во время обработки вредоносного ПО или во время его работы в системе Cuckoo.
  • Tlsmaster.текст: Содержит основные секреты TLS, полученные во время выполнения вредоносной программы.

Заключение

Существует общее мнение, что Linux не содержит вирусов или что вероятность заражения этой ОС вредоносным ПО очень мала. Более половины веб-серверов работают на базе Linux или Unix. При таком большом количестве систем Linux, обслуживающих веб-сайты и другой интернет-трафик, злоумышленники видят большой вектор атаки вредоносных программ для систем Linux. Так что даже ежедневного использования антивирусных движков будет недостаточно. Для защиты от вредоносных программ доступно множество антивирусных решений и решений для защиты конечных точек. Но анализировать вредоносное ПО вручную, REMnux и песочница с кукушкой лучшие доступные варианты. REMnux предоставляет широкий спектр инструментов в легкой, простой в установке системе распространения, которая будет отличным решением для любого судебного следователя при анализе вредоносных файлов всех типов на наличие вредоносных программ. Некоторые очень полезные инструменты уже подробно описаны, но это еще не все, что есть в REMnux, это лишь верхушка айсберга. Некоторые из наиболее полезных инструментов в системе распространения REMnux включают следующее:

Чтобы понять поведение подозрительной, ненадежной или сторонней программы, этот инструмент должен запускаться в безопасной и реалистичной среде, например Песочница с кукушкой, так что не может быть нанесен ущерб операционной системе хоста.

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

Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...