1. web/脆弱性
web という世界
- ブラウザーはwebサーバからドキュメントを受け取り表示するのが基本だが、
ドキュメント中にはさまざまな形で『プログラム』が含まれていて、受け取るだけで実行されたりする。
やたらにあちこちのサイトを見て回ると危険である。
1.1. SOP 原則
その危険性を隔離するためのひとつの手段がSOP(同一生成元ポリシー)と呼ばれるもの。
- 「ひとつのサイト」から読み込まれたドキュメントはそれが属する環境という枠の中で「動作」する。
1.2. cookie domain 属性
ブラウザからサイトに対しておくられるcookieにも似たような制限を付けられる。
IPA セキュアプログラミング講座
1.3. 脆弱性
徳丸本では脆弱性はバグであり、また不十分な検査によるもの賭しているが、
私はこれら以外にもwebの仕様に起因するものがあると考える。
The Tangled Webにも説明されているようにWebには全貌を理解しがたい仕様の不一致が存在する。
- そして、仮に全貌を見ることができても、解決はできない。
-- ToshinoriMaeno 2012-09-09 02:03:25
徳丸本を読んでも安全なwebアプリが作れるとは限らないのだが、 そう書いても買う人が多い/増えるとは思わなかったのだろう。
今日の徳丸tweetではこう言っている。(これもちょっと違うな)
脆弱性には2種類ありまして、(a)単純にバグであるもの、(b)セキュリティ機能の不備、です。 XSSとSQL Injectionは(a)、CSRFは(b)です。hashdosは微妙ですが(b)に近いかな、という気がします
1.4. XSS
サイト(web アプリケーション)の/なんらかの脆弱性により、Javascript などを埋め込まれると、
- サイト側が設定したcookie やセッションIDなどを、他のサイトに送られる可能性が出来る。
-- ToshinoriMaeno 2012-09-12 13:53:50
FAQ: http://www.cgisecurity.com/xss-faq.html
XSSの例題: http://ha.ckers.org/xss.html
OWASP Testing for Cross site scripting https://www.owasp.org/index.php/Testing_for_Cross_site_scripting