Port801セキュリティ勉強会の資料

箇条書きテキストしか用意していなかった。超適当

Webアプリケーションセキュリティ初歩の初歩 〜はまちやの傾向と対策〜

  • はじめに
    • どうセキュリティに取り組むべきか
      • 脆弱性の殆どは、境界で起きる
      • 基本はバリデーションとエスケープ
        • バリデーション
          • そのシステムで予期しているデータのみ受け入れる
        • エスケープ
          • 出力先に応じて適切な出力を送る
      • でも、IEとか
        • バッドノウハウ的に対応せざるを得ないものがある
        • CSSXSS的なのとかContent-Type判別を利用した攻撃とか
      • 当然、自システム内での脆弱性の作り込みには注意する
        • Cなんかでは、Buffer Overflowとか作り込みやすいよね
      • バッドノウハウ/グッドラッパー
      • 脅威のカテゴリ
        • Spoofing(なりすまし/偽装)
        • Tampering(データの改ざん)
        • Repudiation(否認)
        • Information disclosure(情報漏洩)
        • Denial of Service(サービス拒否)
        • Elevation of privilege(権限の昇格)
  • Sessionの取り扱い
    • Session情報
      • GET/POSTパラメータ
      • Cookie
    • Session Hijack
      • セッション情報の漏洩
        • Referrer
        • Cookie
        • パケット盗聴
    • CSRF
      • POST+トーク
        • ワンタイムトークン派
        • 第二セッションID派
      • Second Password
      • Refferrer
    • XSS
    • Session Fixation
      • ログイン前にセッション発行
      • Cookie Monster(Mozilla)
        • example.co.jpから
      • 地域ドメイン
        • sakai.sakai.osaka.jpから
          • Set-Cookie: foo=bar; domain=.sakai.osaka.jp
          • Set-Cookie: foo=bar; domain=.osaka.jp
  • その他の脆弱性
    • Null byte Attack
      • バイナリセーフか否か
    • SQL Injection
      • ちゃんとエスケープ
      • Bind機構
    • Email header Injection
      • 改行コード取らないと超踏み台
    • OS Command Injection
      • 自分で調べて><
    • Path Traversal/Directory Traversal
      • 自分で調べて><
  • ちょうIE対策!
    • IEのコンテンツ判別の特殊性
      • Content-Typeをどう指定しても、FindMimeFromData API で256バイト先読みして判別する
        • 偽装可能
      • 偽装出来るようなものは省かないといけない
    • CSSXSS
    • カラーパレットのある画像フォーマット問題