WinformのSQL 2005 Expressデータベースでデータを保護するにはどうすればよいですか?
-
09-10-2019 - |
質問
SQL 2005 Expressを使用するAC#WinFormアプリケーションがあります。このアプリケーションは数学と読み取りクイズを作成し、学齢期の子供の親に販売されています。親は、私のウェブサイトからクイズを含むSQLファイルを購入してダウンロードし、アプリケーションにインストールします(子供のコンピューターにインストールされています)。
SQLセキュリティの懸念が2つあります。
(1)一部の子供は、クイズがコンピューターに表示されることを望まない場合があるため、(a)SQLデータベースを削除するか、(b)データベース内の値を変更してアプリケーションを無効にすることを試みることがあります。
SQL Server Management Studio Expressを持っている人なら誰でも、データベースの内容を簡単に変更できるように思えます。
したがって、これを防ぐために何ができますか(子供が管理者アカウントを使用させないことを親に推奨すること以外)。
(2)私の唯一の収益はクイズの販売です。そのため、このデータをコピーして共有することから保護したいと思います。 (a)サーバーから子供のコンピューターにファイルをダウンロードしてからインストールし、(b)してからインストールした後、それらは子供のコンピューターに住んでいるだけで、これを行うにはどうすればよいですか。
SQL Database Publishing Wizardを持っている人なら誰でも、データベースの内容を簡単にコピーできるように思えます。
アプリケーションがSQLデータベースにのみアクセスできるようにすることは可能ですか?他のすべての人がそれにアクセスすることを制限することは可能ですか(Windows管理者アカウントを使用している人も)?
現在、アプリケーションのインストールスクリプトは、アプリケーション用にSQL 2005 Expressサーバーの新しいインスタンスを作成し、Windows認証を使用しています。
StackoverflowなどでいくつかのSQLセキュリティ投稿を読みましたが、まだこれを理解することはできません。
解決
不安定なハッカーの観点から、両親はねじ込まれます。これは、子供がコンピューターに物理的にアクセスできるためです。理論的には、彼らはどのようにそれを攻撃することができます。
さて、より可能性のあるものを手に入れましょう。
あなたは、子供の管理者にアクセスを提供しないことで大きな違いがあることを確認しました。しかし、それがほとんどの家族の手の届かないところにあると言っているなら、SQL Management Studioもそうです。あなたは子供たちがこれを手に入れてインストールするつもりはないという賭けをすることができます。
しかし、結局のところ、あなたはおそらくいくつかの古き良き時の難読化でより良いでしょう。 SQL Management Studioのようなものを使用する代わりに、これらのクイズが表示されないか、他の攻撃が利用可能なものが表示されないように自由に利用できるツールがあります。独自のファイル形式を作成し、ほとんどの子供がバイナリを見るとあきらめることを願っていますGobbledy-gook。
彼らがそれをあきらめるつもりなら、多くの人がSQL Expressをあきらめるかもしれません。とはいえ、子供たちはかなり機知に富んでおり、Googleで検索してソフトウェアを打ち負かすために段階的に段階的に従うことをいとわない人もいます。
これらのクイズを、制御下にないマシン上にあるSQL Expressインスタンスに展開しているようです。 彼らはもうあなたの機械ではありません。
「あなたが求めていることはできない」とは言いたくありませんが、誰かがあなたのソフトウェアを打ち負かすために管理者ツールを使用するのを防ぐ方法を尋ねています。私の答えは「できない」だと思います。デザインを再検討するか、ほとんどの子供たちがこれまでに行かないという考えを使って行かなければなりません。
他のヒント
クイズデータで暗号化を使用できます。
これの欠陥は、アプリケーションがコードに暗号化/復号化キーを持たなければならないため、誰かが再コンパイルツールまたはリフレクターのようなものを介してそれにアクセスできるようにすることができます。
本当の答えは、すべてのアプリケーションを保護することはほぼ不可能であるということです。巨大な企業とその保護技術、マイクロソフト、アドビなどについて考えてみてください...それらはすべて著作権侵害に問題があります。
また、多くの人が海賊版になるのに十分なアプリケーションである場合、あなたはおそらくかなりの数の合法的な販売を持っているでしょう。
それまでは、あまり心配することはありません。また、ワークフローをあまり妨げない小さな予防策を講じています。