Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

開発運用研修2020セキュリティ / Development_Operations_Train...

Cybozu
August 19, 2020

開発運用研修2020セキュリティ / Development_Operations_Training_2020_Security

Cybozu

August 19, 2020
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. サイボウズで使⽤しているCWE識別⼦ ▌サイボウズで使⽤しているCWE識別⼦と脆弱性タイプ CWE番号 概要 CWE番号 概要 CWE-16 環境設定 CWE-264 認可・権限・アクセス制御

    CWE-20 不適切な⼊⼒確認 CWE-287 不適切な認証 CWE-22 パス・トラバーサル CWE-352 クロスサイトリクエストフォージェリ(CSRF) CWE-78 OSコマンド・インジェクション CWE-362 競合状態 CWE-79 クロスサイト・スクリプティング (XSS) CWE-384 Session Fixation CWE-89 SQLインジェクション CWE-399 リソース管理の問題 CWE-93 CRLF Injection CWE-601 Open Redirect CWE-94 コードインジェクション CWE-614 ログインの不備 - クッキーのセキュア属性不備 CWE-113 HTTPヘッダ・インジェクション CWE-639 Authorization Bypass Through User- Controlled Key CWE-150 エスケープ、メタ、または制御シーケンスの不適 切な中和 CWE-918 サーバーサイドリクエストフォージェリ CWE-200 情報漏えい CWE-Other その他 CWE-255 証明書・パスワード管理 CWE- DesignError 設計上の問題
  2. XSS の例① (対策前) URL: index.php?name=AAA <h1><?php echo $_GET['name'] ?>さん</h1> GETリクエストパラメーター

    の値をそのまま表⽰させる AAAさん URL: index.php?name=<script>alert(1)</script> <h1><?php echo $_GET['name'] ?>さん</h1> GETリクエストパラメーター の値をそのまま表⽰させる <scrip>alert(1)</script>さん
  3. XSS の例① (対策後) URL: index.php?name=AAA <h1><?php echo htmlspecialchars($_GET['nameʼ]) ?>さん</h1> GETリクエストパラメーター

    の値をエスケープして表⽰させる AAAさん URL: index.php?name=<script>alert(1)</script> &lt;script&gt;alert(1)&lt;/script&gt;さん
  4. SELECT * FROM tbl_user WHERE id =ʻ{$_GET[ʻidʼ]}ʼ ʼ OR 1=1

    -- id =ʻʼ OR 1=1 --ʼ userテーブルの情報がすべて表⽰される ▌SQL ⽂の構造を破壊され WHERE 句で指定される条件が常に「真」 になり、情報が漏えいします。 診断時には AND(ʻ and 1=0) を使うことが推奨です。
  5. Referer からの QueryString の漏えい ▌HTTP リクエストにはRefererというヘッダがあります。 ▌Referer は移動する前にどんなURLにアクセスしていたかの情報が記載 されます。 製品ページ

    ▽ アクセスしていたURL https://example.com/login?u ser=username&pass=passw ord 遷移 攻撃者のページ ▽ 送られるRefererヘッダ https://example.com/login? user=username&pass=pass word
  6. セキュリティ機能 ▌HTTP では、セキュリティ機能を設定することができます • X-XSS-Protection • X-Content-Type-Options • X-Frame-Options •

    Content-Security-Policy • Content-Disposition: attachment; • Strict-Transport-Security 共通仕様として定められているものもあります。
  7. X-XSS-Protection: 1; mode=block ▌ブラウザ側でも XSS を防ぐための保護機能 X-XSS-Protection: 1; mode=block ブラウザの設定で、デフォルトで有効になっている

    XSS フィルター機能に対して、ユー ザーが無効にしている場合にも、強制的に有効するための機能です。XSSと検知された 場合は、レスポンスのコンテンツ全体が「#」に置き換えられます。
  8. 診断対象(1) 診断環境 診断対象システム Internet Web アプリケーション / サイト Web アプリケーション

    / サイトに存在する脆弱性や、 設定不備が残っていないか把握するための試験
  9. CVSSv3の評価例 【攻撃シナリオ】 1. 攻撃者は細⼯をしたURLを被害 者に送り付ける 2. 被害者がそのリンクを開く 【被害】 被害者が利⽤しているサイトAのパス ワードが攻撃者に漏洩する

    ▌攻撃経路(AV):ネットワーク ▌攻撃難易度(AC):低 ▌攻撃に必要な権限(PR):なし ▌被害者の操作の必要性(UI):要 ▌影響の範囲(S):変更なし ▌機密性への影響(C):⾼ ▌完全性への影響(I):なし ▌可⽤性への影響(A):なし CVSSv3基本値:6.5