早速、大垣さんと徳丸さんから
前回のエントリに対するフォローをいただきました。
・
ホワイトリストとブラックリスト - Proactiveセキュリティ対策 vs. Reactiveセキュリティ対策・
今こそXSS対策についてまとめよう お二人ともお忙しい中ありがとうございます。
私の感じていた疑問については徳丸さんが冒頭ですっきりと解決して下さいました。
ワイルドカードや正規表現を使用したブラック(ホワイト)リスト作成については別件で色々と考えている事があるので、それはまた別の機会に。
それにしても、本当に
セキュリティを意識した
Webアプリケーションの作成は面倒ですね。
『個人的に使っているものだから…』という理由で手を抜く事が許されないのがつくづく厄介です。
どこにもURLをリンクしていなくても、アクセス制御してなければ公開状態のわけで、つまり攻撃対象になってしまう可能性があるのですから。
まぁ、単にそれだけの用途ならBasic(Digest)認証しておけば十分という話かもしれませんけど。
ただこれだけあちこちで被害が発生している状況を考えたら、最低限の必須事項として
セキュリティへの配慮はやらなければならない事に含まれていくのは仕方ないと思いますので、せめてそれが簡単にできるようにしたいものです。
そのためにも
プログラミング言語の標準機能(標準モジュール・標準ライブラリ)レベルでもっと楽な方法を提供して欲しいと思うのは贅沢でしょうか。
そして妄想は膨らんでいく…
- 2008/08/26(火) 18:28:33|
- セキュアプログラミング
-
| トラックバック:0
-
| コメント:0
最近、自分専用
Webアプリケーションをちょこちょこと作っているため、(近いうちにライブラリ的なものを公開できるレベルに達すればいいのですが…)
Webアプリケーションの
セキュリティ問題は他人事ではなくなってしまいました。
というわけで、時間のある時には多少関連したブログ等をチェックするようになったのですが、こんな議論を見つけました。
・
プログラミングではホワイトリスティングが基本ではない・
プログラミングではホワイトリスティングが基本 元々は
ホワイトリスト方式の優位は神話というエントリで
ホワイトリストはどう作る?を引用(批判)した事が発端の模様です。
一見真っ向対決しているようなので興味深く読ませていただいたのですが、正直、両者の主張の違いがわかりません。
どちらも
XSS等
インジェクション系の対策としてはアプリケーションで入力値が正しい形式の範囲内かチェックし、出力時に必要なエスケープ処理を行う、という結論に思えるんですけど…
(その際にどの程度のチェックとエスケープをするか、追加としてWAFをどう活用するかについては多少差異があるようにも思えましたが、WAFは簡易的なものでいいという部分でも一致していますし。)
ただ、表面的に文章を追っただけでは『何をホワイトリストと呼ぶのか』という部分がだいぶ違う印象を受けるので、それでお互いに誤解してるのかな、とも思いました。
ちなみに『ホワイトリスト』という言葉の意味としては、私の感覚では徳丸さんの使い方が自然のような気がします。
セキュリティの素人が専門家同士の対決に横槍を入れるのは大変恐縮なんですが、できれば大目に見ていただいて、私の解釈こそが間違ってないか指摘してもらえたら幸いです。
- 2008/08/21(木) 14:48:37|
- セキュアプログラミング
-
| トラックバック:2
-
| コメント:0
少し前の話になりますが
WASForum Conference 2008に初参加。
以前から
高木さんの日記は時々読んでいたりはしたものの、セキュリティについては全くの素人が行って意味があるのか不安はありましたが、とりあえず興味本位という事で飛び込んでみました。
1日目はCTO, CIO向けという事で企業の中で情報セキュリティをどう考えていくべきかというのがメインテーマだったように思います。
リスクとコストをどう経営側に伝え、また実務としてはどう全社運用していくのか。
その手法についてのとっかかりといった印象です。
また被害の実例としてカカクコムとサウンドハウスの当事者の講演がありました。
講演者の立場の違いもあると思いますが、その対応というか、態度が対照的なのが興味深いです。
2日目は開発者向けという事でより技術的な内容に。
最後のセッションで会場内アンケートをWebアプリケーションを使ってリアルタイムに実施したのは面白かったです。
これは今後も活用すると非常に興味深い現場の生データが取れるような気がしますし、他にも色々と応用できそうに思います。
また、これがどれだけセキュアに作られたものだったのかにも興味がありますね。(フリー入力時に早速エスケープ文字を試していた人がいたのはさすがという感じでした。)
些細な事かもしれないですが気になった点としては、前日も参加してないとわからないネタがいくつかあった事。
個人的には楽しめたのですが、対象を異にする二日間である以上、両日の参加者は別という認識でいて欲しかったです。
実際、1日目は50人規模に対して2日目は200人以上集まっているわけで、明らかに大多数が知らない内容なのですから。
でもまぁ、それだけサウンドハウスの中島社長の話はインパクトがあったとも言えますが…
非常に勉強になったのでまた機会があれば参加してみたいですね。
最後に、セキュリティ素人の私見なので反論があるのは承知の上で敢えて叫んでみようと思います。
『SQLインジェクション対策って正しく実装してたら本当に安全なんですか?』
WASF関係者の方はなんだか技術さえしっかりしてれば問題はないというような論調に思えて、どうにも違和感を感じています。
もちろんダメな実装は論外なのですが、私はごく一般的な三流以下の開発者として、完璧な実装などありえないと思っているのです。
たとえば、あるバインド機構のバグでそれを利用したシステムでは特定の文字列を投入した場合にはうまくエスケープされないという事が後から判明したとしたら…
それはちゃんと作ってなかったという事になってしまうのでしょうか?
もしかすると、そういう部分も含めて最新の動向をきちんと追いかけてメンテナンスしていかないとセキュリティは保てないと言いたいのかもしれません。
だとしたらその想いは届いていないように思います。
やはり多くの人にとって一度動き始めたアプリケーションは『完成』したものであるという認識になってしまうからです。
参考
・
コンファレンス2008 - Web Application Security Forum - WASForum・
高木浩光@自宅の日記 - WASForum Conference 2008、7月4日と5日に開催・
「WASForum Conference 2008: サウンドハウス「Web攻撃の脅威に立ち向かうには」」@水無月ばけらのえび日記・
WASForumとは - Web Application Security Forum - WASForum
- 2008/07/10(木) 14:01:52|
- セキュアプログラミング
-
| トラックバック:0
-
| コメント:0