MMOにハッキングメカニズムの知識は必要ですか?


10

大規模なマルチプレーヤー型オンラインゲーム(mmo)を作成する予定のグループプロジェクトに参加することを検討している(現在ではありません。最初に学ぶ必要があることはたくさんあります)と計画していたとします。私の仕事はネットワークです。部分。私はネットワークプログラミングにあまり詳しくありません(PHPやMYSQLに関する非常に基本的な本を読んだり、WAMPを少しいじったりしました)。

PHPとMYSQLの学習の過程で、ハッキングについて調べる必要がありますか?ポートスキャン、ルーターハッキングなどのハッキング。MMOでは、ボットなどをだまそうとする人が常にいますが、最悪のシナリオは、誰かがデータベースをハッキングすることです。これは私の概念です。本当にわかりません。ただし、サブネット化/ポート/ IP(ローカル/グローバル)/などのネットワークについてはかなりよく理解しています。

あなたの専門家の意見では、(あなたがトピックを理解しているなら、私を啓発してください)私はこれが起こる可能性に対抗するためにこれらのことについて学ぶべきですか?

また、私が言及したこと(ポートスキャン、ルーターハッキング)のうち、ハッキングに関連する他に検討すべきことはありますか?私はネットワーキングの悪意のある/セキュリティの側面にあまり詳しくありません。

そして注意:ハッキングの方法を学ぼうとしている子供ではありません。大学に行く前にできるだけ多くのことを学びたいので、勉強する必要があるかどうかを本当に知る必要があります。


10
「大規模」と見なされるのに十分な大きさまで拡張できるバックエンドサーバーシステムを作成することは、「ネットワークプログラミングにあまり慣れていない」場合、ハッキングよりもはるかに大きな問題です。通常のマルチプレイヤーゲームだけでなく、MMOを作成しようとしていますか?

1
そうですか; あなたの質問の言い回しは、あなたが今このMMOで作業しようとしているように本当に聞こえます。

7
したがって、ネットワーキングに精通しておらず、MMOを計画していて(これは計画できる最も難しいことです)、ハッカーから身を守る方法を本当に学ぶ必要があるかどうかを考えます。ええと。もちろんあなたはそうします、そしてあなたはそれを知っています。それを尋ねる意味は何ですか?
o0 '。

2
関連、gamedev.stackexchange.com / a / 21598/6937短い答えです。反復的な開発について聞いたことがある場合は、同じ方法で学習を見ることができます。セキュリティは、事後のアドオンとして機能する傾向があります。安全なMMOサーバーを作成する前に、mmoサーバーを作成してください。それを行う前に、リンクされた投稿への回答を読んでください
brandon

1
これは、彼の将来のスーツを着るのに最も適切なネクタイは何であるかを尋ねる社長になりたいと思っている14歳のようなものです。その子供はおそらく大統領にはならないだろうし、たとえ彼であったとしても、彼はネクタイよりも重要な問題を抱えていただろう。おそらく、「グループプロジェクト」を使用してMMORPGを正常に作成することはできません。作成すると、これよりもはるかに大きな問題が発生します。
Thomas Bonini 2012

回答:


16

はい、マルチプレーヤーゲームを開発するチームの誰か(実際には複数の人)は、規模に関係なく、ハードウェアとソフトウェアの両方のレベルでのネットワークセキュリティの概念に関する強力な実用知識が必要です。

これは、代理店の多くの永続性を必要とするゲームに特に当てはまります。これは、プレーヤーの側での投資を構成し、その結果、ハッカーにとって有利なターゲットになるためです。

大学でネットワーク/ネットワークセキュリティ/一般的なセキュリティ(暗号など)のクラスを受講すると、前述の開発者の1人になるために必要な背景知識が得られます。


11

マルチプレイヤーゲームを作成する前に、セキュリティについて何かを知っておくことは良い考えですが、ポートスキャンやルーターハッキング、さらには暗号化などは、この段階では検討すべきではありません

むしろ、あなたが学ぶべきことは、信頼検証、そして堅牢性です。心理学について、特に挑戦と報酬について少し知ることも悪いことではありません。このような短い答えでは、そのことの多くを実際に教えることはできませんが、安全なプログラミングを始めるためのヒントをいくつか紹介します。

  • 直接制御の外部からの入力は、期待したものではないかのように扱います。これには、すべてのユーザー入力、ネットワーク経由で受信したすべて、さらにはコードベースの他の部分からのすべてが含まれます。入力に何含める必要があるのか​​、あるいは攻撃者代わりにあなたに与える可能性があるものについて考えるのではなく、単に入力何である可能性があるのか​​、および可能性のある入力を安全に処理する方法について考えてください。

  • PHPとMySQLについて言及したので、まずSQLインジェクションクロスサイトスクリプティング攻撃について見ていきます。Cのような低水準言語にも精通している場合は、バッファオーバーフロー攻撃を調べてください。それらを防ぐ方法だけを考えるのではなく、コードをどのように記述して、偶然でも悪意によるものでも、そのような間違いが発生しないようにすることを考えてください。プログラミング言語には、それを行うためのツールがほぼ確実に含まれています。

  • マルチプレーヤーゲームでは、プレーヤーのコンピューターでクライアントコードが実行されていると考えられます。十分に賢く、決断力のあるユーザーは、常にそのようなコードを危険にさらして、彼らが望むことすることができるという考えに慣れなさい。 回避できる場合は、クライアントを信頼しないでください。避けられない場合は、できる限り信頼してください。

  • 1つのバスケットにすべての卵を入れないようにしてください。ゲーム、ウェブサイト、データベースを別々のサーバーで実行できない場合は、少なくとも別々のアカウントで実行し、必要以上に相互にアクセスできないようにしてください。たぶん、ゲームとウェブサイトの両方がユーザーデータベースにアクセスする必要がありますが、管理者のアクセス権は必要ありませんよね。おそらく、読み取り専用のアクセス以上のもの必要ありません。少なくとも、このような厳密な区分化を強制しない場合でも、後で配置できるようにゲームを設計してください。ゲームサーバーにデータベースへの管理者アクセスを要求しないでください。ことを忘れないでくださいすべてのソフトウェアはバグがあり、遅かれ早かれ誰かの意志 あなたのセキュリティホールを見つけてください。

一般的に、セキュリティについて理解すべきことは、それが考え方であることです。それは、最新のセキュリティ流行語を知ること、最新の攻撃がどのように機能するか、またはハッカーが実行する前に何をするかを予測しようとすることではありません(ただし、これらのすべてが役立つかもしれません)。

実際の安全なプログラミングとは、ツールの使用方法を習得すること、コードを分割してそれぞれの機能を理解できるようにすること(そして、ツールが正しく機能することを確認すること)です他の部分は危険にさらされています)、そして予期しないことを予期するようにコードを書くことについて。あなたがそれをすべてやれば、あなたは何かのために準備されるので、あなたがハッカーが何を試みるかもしれないか知る必要はないでしょう。


8

個人的には、ハッカーについてはまだ心配していません

理論的根拠は単純です。かなり人気のあるゲームになるまで、ハッカーや詐欺師を獲得することはありません。つまり、ハック/チートする時間の価値があります。最初にゲームを確立し、そのようなものに資金を提供するための収入が得られるまで待ちます。

コードをだまし取ろうとするために多くの時間(つまり、多くの時間)を費やすことができるため、ハッキングやチートはできません。または、定期的なオフサイトバックアップ(とにかく行う必要があります)を行って、定期的な復元ポイントを作成することもできます。エクスプロイトが発生したら、それを閉じます。


1
私が作ることに同意しながら、良いのゲームは作るよりも優先すべき安全なものを、私はと言うでしょう、いくつかの一般的なセキュリティ上の問題と一般的なベストプラクティスの認知度が最初から持っているのは良いです。そうしないと、ゲームがうまくいかなかった場合に、どうしようもない状況に陥る可能性があります。元のデザインが根本的に安全でない場合、後でパッチを当てようとすることはヒドラと戦うことに似ている可能性があります。1つのエクスプロイトを閉じるたびに、詐欺師はさらに2つを見つけ、それを阻止する唯一の方法は、かなりの部分を再設計して書き換えることです。コードベースをゼロから作成します。
Ilmari Karonen 2012

1
@IlmariKaronen、私はコンセプトに同意しますが、実際には同意しません。質問者のコンテキストを考えると、彼らは一般的にネットワーキングの学習に集中する必要があります。ネットワーキングを学ぶとき、暗号化について学ぶ傾向があります。彼らは初期段階にいます。セキュリティは、自分が何をしているかを理解し、セキュリティで保護する価値のあるものを作成した場合にのみ重要です。この種の質問をする人は、最初にセキュリティで保護する価値のあるものを作成できる場所にたどり着く必要があります。
ブランドン

1
@IlmariKaronen私は完全に同意します。セキュリティを無視すると、ソニーに行きます。ソニーは非常に大きいという理由だけで災害を乗り切りましたが、他の誰もがおそらくFUBARに行ったでしょう。
o0 '。

2
@Lohoris。この後はそのままにしておきますが、これはソニーではありません。これは、ネットワーキングの基礎を今学んでいるところだと言った男です。セキュリティについて理解したら、セキュリティを学ぶ...
ブランドン2012

はい-これが最良の答えです。ゲームが非常に人気が出て、セキュリティの問題に苦しんでいる場合は、常に追加の開発者などを雇い、ネットワークスキームをリファクタリングしてより安全にすることができます。後で心配します。
MarkR 2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.