2011-06-29 4 views
3

私はWinFormsアプリケーションにWebブラウザコントロールを埋め込んでいます。ユーザーは私のものではないサイト上でいくつかの操作を行います。最後に(例えば、最後のページに)私は私のサーバ(例えばWebサービス経由)に確認を送信する必要があり、そのユーザは本当にやるべきことをしました。難読化せずに.NET Webブラウザコントロールのユーザーアクションを監視する方法は?

今のところ、アプリケーションはそのプロセス中にいくつかのデータを収集していて、それを使って奇妙なものを作った後(すなわち、あいまいさによるセキュリティ)、私のサーバーに情報を送信します。アプリケーションからサーバーに送信されるメッセージは不明瞭で、アプリケーションはC++で書かれているため、逆コンパイルして実際に送信されているものを確認するのは簡単ではありません。さらにコードを壊す可能性のあるユーザーは、ごくわずかの金額を稼ぐ機会があり、追跡するのは簡単です。そのような状況は一度も起こりません。

ソースコードがunmaintanableとなったので、私はC#を使用して書き直したいと思います。この問題はかなり明らかです。難読化されたコードでも、古いネイティブのC++バイナリよりも簡単にクラックすることができます。

"安全な"方法がありますか? Webブラウザコントロール(https接続のみ)にあるページのデジタル署名のようなものを得る可能性はありますか?私は、外部ページのユーザー資格を取って、彼に代わってサーバー側でアクションを実行する以外は、どうやってそれを行うのか考えていません。これは全く受け入れられません。

+0

なぜコードを逆コンパイルしてしまうのでしょうか?ネットワークトラフィックをスヌーピングするだけです。 –

+0

はい、そうです - ネットワークトラフィックを監視してクラッキングする方がはるかに簡単ですが、今のところ、コード内の「奇妙なもの」が最終的なメッセージを作成していることと正確な入力が何であるかを推測するのは苦労でしょう。いくつかのダミーメソッドといくつかの暗号化では不明瞭ですが、それはもちろんコードの中にあります。 .Netアセンブリを逆コンパイルするのは、C++バイナリの逆コンパイルやネットワークトラフィックのクラッキングよりもずっと簡単です。 – Aly

+1

状況をもう少し説明できますか?ユーザーは何をしていますか? –

答えて

1

あなたの質問は など、私たちのユーザーがWinFormsのアプリケーションを取得する方法についての範囲を教えてくれない。しかし、私は唯一の「確実な」方法は、あなたが制御可能な施設を所有する上で、このロジックとコードをホストするだろうと言うでしょう。 は、だからここに私の2(高価な、なんとか)の提案です: いずれかとして、このアプリケーションを公開:、再びおそらく行き過ぎRemote Desktop Services

  • のCitrixファーム上の公開アプリケーション
  • を使用して

    • RemoteApp投資とインフラの面では(このことがどれほど広まっているかにもよるが)、それにもかかわらず、技術的な観点からはかなり魅力的である。なぜなら、どのような種類のデータを盗聴したり、

    +0

    あなたの洞察をいただきありがとうございます。私はRemoteAppなどについて聞いたことがありません。もちろん私はRDSについて聞いたことがあります。これは実現可能な解決策ですが、高いネットワークトラフィックのために要件が高く、ユーザーエクスペリエンスが非常に不快になる可能性があります。 – Aly

    関連する問題