ゲームモッズの作成バッファオーバーフローの脆弱性を作成できますか?
-
21-12-2019 - |
質問
通常はフォーラムで投稿しません。通常はGoogleの使用が必要な答えを見つけることができます。しかし、私が実行しているすべての検索では、私が必要なものではない特定のゲームやシステムにすでに存在するバッファオーバーフローの脆弱性など、非常に具体的な結果が得られます。
私はWindows Server 2008 R2を含むホームネットワークを持っています。しかし、私はすべてのゲームが "moddable"であり、彼は多くの彼のゲームでカスタムマップなどを使います。
私の懸念は、経験の浅いプログラミングに基づいてネットワーク上でセキュリティリスクを作成するつもりです。私のサーバー上でMODSをインストールして作成する能力(オープン・ミネセラフトポートの外部)に、実際にMODを書くことが可能になる可能性がありますか?それとも単に仕事をしていないだけでなく、私の質問に対する答えを見つけることができず、実際にMOD LOLをプログラムしていないのですか?
解決
は、MODシステムがゲームのために機能する方法、およびゲーム自体がサンドボックス化されているのかによって異なります。重要なことに、ソフトウェアは完全に安全ではありません。あなたはあなたが幸せなセキュリティと信頼性のレベルを決める必要があります。
MODが脆弱性を露出させる可能性がある方法がいくつかあります。
- ゲームは、ファイルシステムへのアクセスなど、不適切に許容されるアクションのMODアクセスを許可する可能性があります。これにより、開発者はMODを適切にサンドボックス化しないことを含みます。
- MODは、ゲームのAPIの脆弱性を悪用して、ゲーム開発者が意図しなかったアクションにアクセスすることができました。これはAPIのバグによるものです。
- modは言語エンジンの脆弱性を悪用することができます(たとえば、Javaはセキュリティの脆弱性の長い歴史を持ちます)。
- MOD自体は攻撃に対して脆弱な可能性があり、上記の攻撃の1つを起動するように作られていました。
MODシステムがLUA、JavaScript、JavaなどのスクリプトまたはVMベースの場合、の安全なインストールモッズ(ゲームがよく実装されているAPI / Sandboxがある限り)を感じます。搾取2-4は比較的低いためです。
<(ネイティブコードMODS /プラグインの理解は限られていますが、それを実行したい場合はネイティブのMODを信頼する必要があると確信しています。そうしても搾取可能な)
Minecraft MODの私の理解は、それらがJavaで書かれていることです。 Mojang Guysについての私の気持ちは、彼らが何をしているのか知っているということです。彼らのMod APIが非常によく設計され実装されていない場合、私は驚いています。と言って、MODS をインストールするはセキュリティリスクを導入します。
このリスクが受け入れられない場合は、システムに深さを導入することによってそれを減らすことができます。ネットワークへのアクセスが制限されている(たとえば、必要なポートのみ)、仮想マシンでMinecraftサーバーを実行してください。そのように脆弱性の影響は大きく減少します。
VirtualBoxにUbuntu VMを作成することをお勧めします(ビールのように自由で無料のものです)が、あなたが快適なOSにインストールすることができます。
他のヒント
バッファオーバーランの脆弱性は、未チェックのメモリアクセスを許可するプログラミング言語に関連付けられています。Minecraftは、バッファオーバーランの影響を受けにくい言語であるJavaで書かれているので、純粋なJava MODはこの種の脆弱性に似たものを展示することは非常にほとんどありません。
Javaの当然プログラムは、ゲーム自体に対して(例えば、Minecraftサーバーに対してゲームアカウントのログインエクスプロイチ)またはサーバーに対しても、他の種類のセキュリティ問題に対して脆弱になる可能性があります。Minecraftの場合はこれが常に可能です)。実行されているサーバーを実行するための通常の緩和は、例えば、可能であればServerを限られたユーザーとして実行されるようにネットワークアクセスをロックダウンします。