http/めんどうくさいWebセキュリティ/第一章について、ここに記述してください。 SECURITY IN THE WORLD OF WEB APPLICATIONS * explain what ther field of security engineering tries to achieve * outline why web applications deserve special treatment == secure == 定義のひとつ {{{ システムが意図したとおりに正確に振る舞い、それ以外のことを何もしない場合、そのシステムはセキュアである。 }}} 有限状態機械から {{{ システムがセキュアな状態からスタートし、セキュアではない状態には遷移しない場合にのみ、そのシステムはセキュアである。 }}} 現実的なソフトウェア工学(?)ではほとんど役に立ちません。「みっつの理由」があげられている。 * コンピュータシステムが非常に複雑な場合、望ましい振る舞いを定義する方法がない。 * 望ましい振る舞いを考えても、そのまま形式的な制約にマップされることはない。 * ソフトウェアの振る舞いを決定的に分析することは非常に難しい。 ---- (初期はともかく) {{{ 数十年が経過してなお状況は少しどころかまったくよくなっていない }}} 利用が拡大したからではないか。-- ToshinoriMaeno <> --- == ブラウザ戦争 == 標準化そっちのけの軍拡競争により、収拾がつかなくなった世界。 自前でブラウザを作るには遅すぎる状態に。 == リスク管理という分野 == こうなったら、セキュリティ欠陥が存在することを前提に行動するというのがリスク管理です。 それがうまくいくという保証はないが、それしかやれることがないだろうという。 コスト主義? しかし、 {{{ システムが相互接続された環境では、損失には上限がなく、資産と関連しない。 }}} == Toward Practical Approaches == 現実的対応: {{{ All signs point to security being largely a nonalgorithmic problem for now. The industry is understadably reluctant to openly embrace this notion, because it implies that there are no silver bullet solutions ot preach (or better yet, commercialize); still, when pressed hard enough, eventually everybody in ther security field falls back to a set of rudimentary, empirical recipes. }}} * Learning from (preferably other people's) mistakes. * Developing tools to detect and correct problems. * Planning to have everything compromised. In all cases, a subustantial dose of patience, creativity, and real technical expertise is required from all the information security staff. ---- 「めんどうくさいWebセキュリティ」: 第一章をなんとか読んだ。 web にセキュリティを期待するのがおかしい。 それでもなんとか使うには、という立場だろう。徳丸本もそこをはっきりさせていれば、よかっただろうに。 -- ToshinoriMaeno <> web の脆弱性の第一がユーザ(人間)というのはその通りだろう。 DNSはどうかというと、やっぱり人間だろう。とんでもない設定をしてくれる素人/プロ(自称)が増えた。 「素人(お客さま)が安全に使えないのは技術者が悪い。」、 「素人にきちんと説明 できない理系人間がくずだ」とか言っていればすむ問題ではない。 == The Cloud, or the Joys of Communal Living == 渾然一体となった世界。メモリ保護のなかったCP/M, DOS のころを思わせる。 {{{ In the browser world, this separation is virtually nonexistent: Documents and code live as parts of the same intermingled blos of HTML, isolation between completely unrelated applications is partial at best (with all sites nominally sharing a global JavaScript environment), and mny types of interatciton betwenn sites are implicitly permitetted wiht few, if any, flexible, browser-level security arbitration frameworks. }}} == web/Zalewski本/第二章 == URLの(危険性の)解説 URLの構造をひととおり説明してある。 文字コードとの関係とか、IDNAとの関係とか。いろいろ落とし穴があること。