私はEclipseプラグインとして自由に配布されているツールを持っています。つまり、誰がそれを使用しているかを追跡したり、登録を依頼したりすることはできません。
すべてのクライアントツールは、JMSブローカーを介して単一の共有サーバープロセス(Javaで記述)と通信し、応答でメッセージを受信できます。サーバーはHibernateを介してMySQLデータベースに接続します。
現在、ツールが送信するメッセージはデータの要求のみであり、サーバーはメッセージを取得し、要素を表すXMLデータのバルクをクライアントに送信します。クライアントはIDEに対応するアイテムを表示します。したがって、DoS攻撃を除いて、サーバーに対して実行できることはあまりないと思います。
ただし、ここで、次の機能を追加したいと思います。ユーザーが特定の要素(数値IDで識別される)に評価を割り当てることができ、メッセージがサーバーに送信され、評価がイベントとして評価に保存されます。イベントテーブル。次にデータのリクエストが届くと、各アイテムの平均評価がリクエストとともに送信されます。
私の問題は、JMSブローカーによって隠されている場合でも、このようなパブリックサーバーを使用するツールを展開したことがないことです。どのような攻撃が私に対して展開される可能性があり、どのようにそれらを防御できますか?
DoSの問題があり、どのように対処すればよいかわかりません。
インジェクションの可能性はありますが、私のデータはすべて数値であり、Hibernateがどのように処理するのかわかりません。
スパムやダミー投票の問題があり、それに対処する方法を本当に考えることはできません。
他にもあると思います...