Date: Fri, 1 Dec 2006 18:31:21 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、今晩は
-----Original Message-----
From: who@example.co.jp [mailto:who@example.co.jp]
Sent: Friday, December 01, 2006 5:17 PM
To: MSDEメーリングリスト
Subject: [ml-msde-beg:01882] SQL インジェクション攻撃に対するログインアカウ
ント
>インジェクション対策として過去ログの技術者向1426番に「一般の
>アカウントでデータベースサービスを実行すれば問題ない」旨、
>堀川さんから発言がありました。
上記の発言の趣旨は、一般アカウントでデータベースサービスを起動していれば
WindowsのOS自身に対する攻撃は、緩和できるというものです。
SQLServer/MSDEでは、拡張ストアドプロシージャ命令が存在し、その
ストアドプロシージャとSQL インジェクション攻撃とが組み合わさった場合は、
非常に危険になるという例です。
>例えば、固定データベースロールdb_datawriter(データの追加、変更、削除が
>可能)に操作者を含めて、insert、update、deleteを行なうなら、安全と
>言えるのでしょうか?
>それとも、WEB上で使うシステムではないのでそんなに過敏になることも
>ないのでしょうか?
どこまでセキュリティ要件を適用すべきかは、非常に難しい問題となります。
セキュリティをしっかり確保すればするだけ、開発コストと時間が掛かります。
そのような開発コストと時間を、会社がどのように考えるかです。
攻撃を受けた場合の損害費用と、セキュリティ対策に要する費用との比較に
なります。
10円の被害しかないものに対して、1万円を投資することはありえません。
データベースアプリケーションのセキュリティ対策は、SQLインジェクション
攻撃だけではありません。
例えば、Accessでサーバー側のテーブルのレコードを画面に表示しているときに、
コピー+貼り付けで、エクセルのシートに貼り付けて、電子メールで送信されたら
どうでしょうか?
一般的な社員が犯行に及ぶ場合、SQLインジェクションのような高度な知識を
使うことはまずありえません。
レコードの貼り付けや、ファイルのコピー持ち出しが多いです。
このように、データベースアプリケーションのセキュリティを言い出すと、
どこまで対策するのか?
対策が取れない部分は、どのように防ぐのか?
など、難しい問題がたくさん出てきます。
その多くの中の1つに、SQLインジェクション攻撃があるだけです。
信頼できる人間が操作するシステムであれば、神経質にならなくても良いでしょう。
簡単な対策程度でよいです。
例えば、文字列でSQL文を組み立てて実行はしない、必ずsp_executesql を使うと
か。
このような簡単な心がけでも、十分に役立ちます
但し、Web系システムで第3者でも操作できるようなシステムを作る場合は、
十分に対策を取ることが必要です。
------------------------------------
Epata-IT/日本技術ソフト開発
堀川 明 (Akira Horikawa)
12月01日(金曜日) 18時27分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|