1

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セキュリティに関する投稿をいくつか読んだことがありますが、まだ理解できていません。

4

2 に答える 2

1

風変わりなハッカーの観点から、両親はねじ込まれています。これは、子供がコンピューターに物理的にアクセスできるためです。理論的には、彼らはあらゆる方法でそれを攻撃することができます。

さて、より可能性の高いものに行きましょう。

あなたは、子供たちの管理者にアクセス権を与えないことが大きな違いを生むことを確認しました。しかし、それがほとんどの家族の手の届かないところにあると言っているのなら、SQLManagementStudioもそうです。あなたは子供たちがこれを手に入れてそれをインストールするつもりはないという賭けをすることができます。

ただし、最終的には、古き良き時代の難読化を使用したほうがよいでしょう。SQL Management Studioのようなものを使用する代わりに、これらのクイズやその他の攻撃が表示されないように変更および防止するための無料のツールがあります。独自のファイル形式を作成し、ほとんどの子供がバイナリを表示したときに諦めることを期待します。 gobbledy-gook。

彼らがそれをあきらめるつもりなら、多くの人がSQLExpressをあきらめるかもしれません。そうは言っても、子供たちはかなり機知に富んでいて、あなたのソフトウェアを打ち負かすために彼らがグーグルで検索したステップバイステップの指示に従うことをいとわないかもしれません。

これらのクイズを、制御下にないマシン上にあるSQLExpressインスタンスに展開しているようです。 彼らはもうあなたのマシンではありません。

「あなたが求めていることはできない」とは言いたくありませんが、あなたは誰かがあなたのソフトウェアを打ち負かすために管理者ツールを使用するのを防ぐ方法を求めています。私の答えは「できない」だと思います。あなたはあなたのデザインを再検討するか、ほとんどの子供たちがここまで行かないという考えにただ従わなければなりません。

于 2010-10-20T17:32:57.673 に答える
0

クイズデータに暗号化を使用できます。

文字列の暗号化と復号化

これの欠陥は、アプリケーションのコードに暗号化/復号化キーが含まれている必要があるため、誰かが再コンパイルツールやリフレクターなどを介してアクセスできる可能性があることです。

本当の答えは、すべてのアプリケーションを保護することはほぼ不可能であるということです。巨大企業とその保護技術、マイクロソフト、アドビなどについて考えてみてください...それらはすべて著作権侵害の問題を抱えています。

また、あなたのアプリケーションが多くの人々が海賊行為をするのに十分であるならば、あなたはおそらくかなりの数の合法的な販売を持っているでしょう。

それまでは、あまり心配する必要はありません。ワークフローにあまり干渉しないように、いくつかの小さな予防策を講じてください。

于 2010-10-20T17:39:33.610 に答える