0

私はEclipseプラグインとして自由に配布されているツールを持っています。つまり、誰がそれを使用しているかを追跡したり、登録を依頼したりすることはできません。

すべてのクライアントツールは、JMSブローカーを介して単一の共有サーバープロセス(Javaで記述)と通信し、応答でメッセージを受信できます。サーバーはHibernateを介してMySQLデータベースに接続します。

現在、ツールが送信するメッセージはデータの要求のみであり、サーバーはメッセージを取得し、要素を表すXMLデータのバルクをクライアントに送信します。クライアントはIDEに対応するアイテムを表示します。したがって、DoS攻撃を除いて、サーバーに対して実行できることはあまりないと思います。

ただし、ここで、次の機能を追加したいと思います。ユーザーが特定の要素(数値IDで識別される)に評価を割り当てることができ、メッセージがサーバーに送信され、評価がイベントとして評価に保存されます。イベントテーブル。次にデータのリクエストが届くと、各アイテムの平均評価がリクエストとともに送信されます。

私の問題は、JMSブローカーによって隠されている場合でも、このようなパブリックサーバーを使用するツールを展開したことがないことです。どのような攻撃が私に対して展開される可能性があり、どのようにそれらを防御できますか?

DoSの問題があり、どのように対処すればよいかわかりません。

インジェクションの可能性はありますが、私のデータはすべて数値であり、Hibernateがどのように処理するのかわかりません。

スパムやダミー投票の問題があり、それに対処する方法を本当に考えることはできません。

他にもあると思います...

4

1 に答える 1

1

ダミー投票に関しては、これは安全ではありません (つまり、選挙目的では受け入れられません!) が、単純なメカニズムです:

サーバーで GUID を作成し、適切なテーブルに格納して、クライアントに送信します。クライアントが投票すると、データベースと比較される GUID が返されます。GUID が有効な場合は、投票を受け入れて、DB に格納された GUID を削除します。

于 2009-01-26T01:05:47.493 に答える