Могут ли игровые моды создавать уязвимости, связанные с переполнением буфера?

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

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

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


person wasabe    schedule 09.01.2014    source источник
comment
Этот вопрос кажется не по теме, потому что речь идет о защите сервера, а не о программировании.   -  person Pascal Cuoq    schedule 10.01.2014
comment
Я знаю, как защитить свой сервер. Мой вопрос о программировании модов, потому что я не знаю, как это делается. Мне интересно, есть ли потенциальные риски от того, кто кодирует мод.   -  person wasabe    schedule 10.01.2014
comment
Возможно, этот вопрос лучше задать на сайте security.stackexchange.com. Кто-нибудь знает наверняка?   -  person aaaidan    schedule 10.01.2014


Ответы (2)


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

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

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

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

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

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

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

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

person aaaidan    schedule 09.01.2014
comment
Большое спасибо! Оба ответа были полезными, и я очень ценю, что вы, ребята, нашли время, чтобы ответить. Это именно тот тип информации, которую я искал aaaidan. Я уже решил рискнуть запустить сервер Minecraft, потому что я верю, что они, по крайней мере, прилагают некоторые усилия для обеспечения безопасного кода. Я просто не был уверен в модах, которые добавляются позже, но вы помогли мне понять, как они взаимодействуют, и это действительно помогает мне измерять свой риск, потому что теперь я могу исследовать отдельные темы. - person wasabe; 10.01.2014
comment
Рады, что помогли. :) - person aaaidan; 10.01.2014

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

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

person bobince    schedule 09.01.2014