CSIRT(セキュリティ室)との違い ▌サイボウズにはCSIRTもある n CSIRT:Computer Security Incident Response Team n サイボウズのCSIRTは「セキュリティ室」と呼ばれています。 ▌セキュリティ室は会社の情報セキュリティ n 「端末を紛失した︕」「不審なメールが届いた︕」など n ISMSやISMAPの対応もしている ▌セキュリティ室とPSIRTは連携して動くことも
共通脆弱性タイプ⼀覧 CWE ▌CWE(Common Weakness Enumeration) n ⾮営利団体のMITREが中⼼となって策定しているソフトウェアにおけ るセキュリティ上の脆弱性の識別番号 n 例 n CWE-89:SQLインジェクション n CWE-352:CSRF ▌参考情報 n https://www.ipa.go.jp/security/vuln/CWE.html
共通脆弱性識別⼦ CVE ▌CVE(Common Vulnerabilities and Exposures) n ⾮営利団体のMITREが中⼼となって採番している、 個々の脆弱性を識別する番号 n 例 n CVE-2014-6271:ShellShock(bash) n CVE-2022-22965:Spring4shell(Spring Framework) ▌参考情報 n https://www.ipa.go.jp/security/vuln/CVE.html
脆弱性の評価 CVSS ▌CVSS(Common Vulnerability Scoring System) n 脆弱性の深刻度を数値化するための汎⽤的な仕組み n CVSSがあれば、世の中にある様々な脆弱性の深刻度を同じものさしで⽐較 できる n v2、v3、v3.1が存在している n v2とv3は評価項⽬や評価⽅法が異なる n v4の検討も始まっている n 参考情報: FIRST https://www.first.org/cvss/
脆弱性の評価 CVSSv3 ▌CVSSでは基本値、環境値、現状値の3種類の基準で脆弱性を評価 ▌基本値は、CIAに以下の5項⽬を加え、計8項⽬で脆弱性を評価 n 攻撃経路(AV):ネットワーク or 隣接 or ローカル or 物理 n 攻撃の複雑さ(AC):低 or ⾼ n 攻撃に必要な権限(PR):なし or 低 or ⾼ n 被害者の操作の有無(UI):不要 or 要 n 影響の範囲(S):変更なし or 変更あり ▌基本値は0.0-10.0の値+それぞれの評価項⽬で表現される n 例︓4.3(CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) ▌参考情報: https://www.ipa.go.jp/security/vuln/CVSSv3.html
SQLインジェクション例 ▌SQL ⽂の構造を破壊され WHERE 句で指定される条件が常に「真」 になり、情報が漏えいします。 診断時には AND(ʻ and 1=0) を使うことが推奨です。 SELECT * FROM tbl_user WHERE id =ʻ{$_GET[ʻidʼ]}ʼ ʼ OR 1=1 -- id =ʻʼ OR 1=1 --ʼ
CWE-79 クロスサイトスクリプティング(XSS) ▌XSSとは n Webアプリケーションを通じて任意のスクリプトを利⽤者のブラウザで実⾏させる 脆弱性 ▌原理 n HTMLタグの構造を破壊する⼊⼒をすることでスクリプトが実⾏される ▌種類 n 蓄積型 XSS:攻撃コードがDBなどに保存されている n 反射型 XSS:攻撃コードがリクエストに含まれる n DOM-Based XSS:DOM操作時に発⽣する
DOM-Based XSSに特化した対策 ▌Trusted Types n CSPで「trusted types」を指定することでシンクに代⼊できる値の型をTrusted Types型に制限することができる。 n Trusted Types型以外がシンクを経由して代⼊されそうになるとエラーになる。 n 注意 n 対応しているブラウザが少ない n https://caniuse.com/?search=trustedtype n Trusted Typesでの定義するエスケープ処理が適切でないとDOM-based XSSは防げない n 参考情報︓ https://chromium.googlesource.com/chromium/src/+/master/ docs/trusted_types_on_webui.md
[補⾜] SameSiteについて ▌リクエスト元に応じてクッキーをセットするかを指定できるCookieの属性値です。 ▌None、Lax、Strictの3つが存在する。 n None: 全てのリクエストにCookieが付与される。 n Lax: ⼀部を除いて発⾏元と宛先が同⼀サイト以外のリクエストにはCookieが付与されない。 n 同⼀サイト以外でもトップレベルナビゲーション(フォームやリンクでの遷移など)による GETリクエストではCookieが付与されます。 n Strict: 発⾏元と宛先が同⼀サイト以外のリクエストでは全てCookieが付与されない。 ▌⼀部のブラウザではSameSite属性を指定しなかった場合、Laxが指定されます。
ブラウザが提供するセキュリティ機構について ▌Same-Origin Policy (SOP) n (スキーム, ホスト名, ポート番号)の組が異なる場合、DOMの参照や通信 の⼀部を禁⽌する。 [補⾜2] n (スキーム, ホスト名, ポート番号)の組のことをOriginと呼ぶ。 n Originが同⼀の時、Same-Origin、 異なる時Cross-Originと呼ぶ。 ▌Content Security Policy(CSP) n サーバーサイドWebアプリケーションが課した制約に違反する挙動をWebブ ラウザが検出する n 指定されたjavascript以外読み込まないなど。 n 詳細:https://developer.mozilla.org/ja/docs/Web/HTTP/CSP
セキュリティ機能 ▌ブラウザのセキュリティ機能として、以下を指定することができます n X-Content-Type-Options n 指定したMIMEタイプに従う n X-Frame-Options n iframeの中に表⽰していいかを⽰す n クリックジャッキング対策 n Content-Disposition: attachment; n 内容が添付ファイルかインラインのデータとして扱うかを制御する n Strict-Transport-Security n HTTPSを強制する
Cookieの扱い ▌Cookieの発⾏時に属性を指定することで扱いを制限できる。[補⾜3] n Expires:絶対的な有効期限を指定 n Max-Age:相対的な有効期限を指定 n Domain:利⽤可能なホストを指定 n Path:利⽤可能なパスを指定 n Secure:HTTPSを利⽤しているときにのみ送信される n HttpOnly:jsなどからの呼び出し禁⽌ n SameSite:リクエスト元に応じてクッキーをセットするかを指定 n もっと詳しく知りたい︓ https://developer.mozilla.org/ja/docs/Web/HTTP/Cookies
脆弱性の評価 CVSSv3 例 ▌ 脆弱性︓攻撃者が⽤意した罠リンクをクリックすると意図せずパスワードが変 更されるCSRF。 n 攻撃経路(AV):ネットワーク or 隣接 or ローカル or 物理 n 攻撃の複雑さ(AC):低 or ⾼ n 攻撃に必要な権限(PR):なし or 低 or ⾼ n 被害者が操作を必要か(UI):不要 or 要 n 影響の範囲(S):変更なし or 変更あり n 機密性の侵害(C):なし or 低 or ⾼ n 完全性の侵害(I):なし or 低 or ⾼ n 可⽤性の侵害(A):なし or 低 or ⾼