2014-01-09 1 views
0

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

У меня есть домашняя сеть, включая Windows Server 2008 R2, и мой сын хочет запустить сервер Minecraft, который, конечно, я хочу дать ему полный доступ, чтобы он мог учиться. Тем не менее, я знаю, что каждая игра «moddable», и он использует пользовательские карты и тому подобное во многих своих играх.

Я обеспокоен тем, что собираюсь создавать угрозы безопасности в своей сети на основе неопытного программирования. Предоставив ему возможность устанавливать и создавать моды на моем сервере, потенциально открывать уязвимости (за пределами открытых портов Minecraft) из-за возможной неопытности людей, которые действительно пишут моды? Или моды просто не работают таким образом, и я не могу найти ответ на свой вопрос, потому что он отсталый, и никто на самом деле не программирует мод lol?

+1

Этот вопрос не соответствует теме, поскольку он касается обеспечения безопасности сервера, а не программирования. –

+0

Я знаю, как защитить свой сервер. Мой вопрос касается программирования модов, потому что я не знаю, как это делается. Мне интересно, есть ли потенциальные риски от того, кто кодирует мод. – wasabe

+0

Возможно, этот вопрос будет лучше задан на security.stackexchange.com. Кто-нибудь знает наверняка? – aaaidan

ответ

2

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

Есть несколько способов мод могут разоблачить уязвимость:

  1. Игра может позволить модуль доступа к неподобающему разрешительному набору действий, такие как доступ к файловой системе. Это может означать, что разработчик не выполняет корректную обработку песочницы.
  2. Мод может использовать уязвимость в API игры для доступа к действиям, которые разработчик игры не планировал. Это связано с ошибкой API.
  3. Мод может использовать уязвимость в движке языка (например, Java имеет долгую историю уязвимостей безопасности).
  4. Мод сам по себе может быть уязвим для атак и может быть сделан для запуска одной из вышеприведенных атак.

Если моды системы скрипт или VM на основе, например, Lua, JavaScript или Java, я бы чувствовал сравнительно безопасных установки модов (так долго, как игра имеет хорошо реализованный API/песочницу), потому что подвигам 2-4 относительно маловероятны.

(Мое понимание родных кода моды/плагин ограниченно, но я уверен, что вы должны доверять родные модам, если вы хотите, чтобы запустить его. Даже если вы делаете, это все еще может быть годным для использования.)

Мое понимание моментов minecraft заключается в том, что они написаны в java.Мое чувство о парнях Mojang заключается в том, что они знают, что делают, поэтому я был бы удивлен, если их API-интерфейс API не будет исключительно хорошо разработан и реализован. Сказав это, установка модов обязательно представляет угрозу безопасности.

Если этот риск неприемлем, его можно уменьшить, введя глубину в систему. Почему бы, например, не запустить ваш сервер minecraft на виртуальной машине с ограниченным доступом к сети (например, только требуемые порты)? Таким образом, влияние уязвимостей значительно снижается.

Я бы рекомендовал создать виртуальную машину Ubuntu на VirtualBox (потому что они оба свободны, как в пиве), но вы можете установить ее на любую ОС, с которой вам удобно.

+2

Большое вам спасибо! Оба ответа были полезны, и я очень ценю, что вы, ребята, нашли время ответить. Это именно тот тип информации, которую я искал aaaidan. Я уже решил принять риск запуска сервера Minecraft, потому что я верю, что они, по крайней мере, прилагают определенные усилия для обеспечения безопасного кода. Я просто не был уверен в моделях, которые позже будут размещены, но вы помогли мне понять, как они взаимодействуют, и это действительно помогает мне измерить мой риск, потому что теперь я могу исследовать отдельные темы. – wasabe

+0

Рад, что мы помогли. :) – aaaidan

1

Уязвимости, связанные с переполнением буфера, связаны с языками программирования, которые допускают неконтролируемый доступ к памяти. Minecraft написан на Java, языке, который не восприимчив к переполнениям буферов, поэтому мода на чистую Java вряд ли продемонстрирует что-то похожее на эту уязвимость.

Естественно, что программы на Java все еще могут быть уязвимы для других видов проблем безопасности, будь то против самой игры (например, были лидирующие операции входа в игру с серверами Minecraft) или против сервера (я не знаю о каких-либо известных случаев этого для Minecraft, но это всегда возможно). Применяются обычные смягчения для работающих серверов, например, если возможно, заблокируйте доступ к сети с хорошими IP-адресами, запустите сервер как ограниченный пользователь и так далее.

Смежные вопросы