2008/03/15(土)安全なサイトの作り方
2017/10/11 8:27
いつもWebサイトを利用したシステム構築を行う際は、セキュリティ対策には充分に検討して手抜かりの無い様にしているつもりだが、それでも想定外のことは起きるもので。。
上記資料では、9種類の主な脆弱性を挙げて対策手法の注意点などを挙げています:
1)SQLインジェクション(IPAに報告された全体の3割がこれらしい)
2)OSコマンドインジェクション
3)パス名パラメータ未チェック/ディレクトリトラバーサル
4)セッション管理の不備(セッションハイジャック)
5)クロスサイトスクリプティング(XSS、IPAに報告された全体の4割がこれらしい)
6)CSRF
7)HTTPヘッダインジェクション
8)メールの第3者中継
9)アクセス制御や認可制御の欠落
現状で注意が必要なのは、5)のクロスサイトスクリプティングですかね。
これははっきり言って、CGIなりで対処するだけでは不十分で、不審な振る舞いをしていないかどうか、偽サイトの有無のチェックとかにも目を光らせる必要があり、クライアントにも協力をしてもらわないといけません。
当方では過去に8)の脆弱性で 1999年に作成したCGI に関して一度外部から報告を受けて対処しただけです。このときは、 spam メールの発信基地になってしまっていたのでした。根本的原因の対処をしまし た。
他の脆弱性で報告を受けたことはありません。
特に1)、3)、4)、9)は、当方が 1998年に営利事業としてWebアプリケーション構築を始めてから注意している点で、今までに問題は起きていません。2003年以降は、1)~9)全て網羅の上で、構築を手がけているつもりです。
9)は、オペレート(運用)する人が全くの素人だと、いくら仕組みを作っても管理がずさんになりがちで、問題が起きる確率は高いのですが、幸いにも情報漏えいの事故の報告は無く、これはクライアントの皆さんが危険をそれなりに認知してもらっているのだろうと考えています。