ant-in-giant Memoris

sogaoh の日々のあれこれ(2024〜)was: 勉強会などへの参加速報中心

(参加Blog)第2回 脆弱性対応勉強会(勝手に IPAテクニカルウォッチ ハンズオン)

これは、 3/30(土) に行われた以下勉強会の参加レポートです。

  • Twitter HashTag : (イベントページ上は明示されてなかったためか、投稿は少ない)

  • Note

    • ※本勉強会では、OSやフレームワークやライブラリなどといった階層の脆弱性を対象とします。WEBアプリケーション脆弱性については、対象としません。

感想

  • ハンズオンで Vuls を使ってみることができて、とっかかりを把握できたと思うので個人的にはかなり満足度が高い。先達はあらまほしきことなり。

  • Vuls 以外にも、脆弱性情報収集方法やCVSSなどの多くの情報を知ることができて、大変ありがたい会だと思った。感謝。可能であれば来月も参加したい。

  • Vuls のセットアップや脆弱性情報のアップデートは間違いなく自動化もしくは簡素化すべき作業だなと感じた。(Ansible Playbook に、余力あれば落とし込んでみたい気がしている)

資料

  • 進行用のメイン資料。勉強会の講義では「見せられないよ」の部分もオープンになっている資料を見ながら話を聞きました

IPAテクニカルウォッチ「脆弱性対策の効果的な進め方(ツール活用編)」

https://www.ipa.go.jp/security/technicalwatch/20190221.html

  • この中の、レポート(1.8MB) がハンズオンの材料
  • 資料は CentOS の環境を想定して書かれているが、ハンズオンでは Ubuntu にインストール
    • CentOS の OVAL 情報は ないRHEL のはあるけれど)ため、Ubuntu を選択トノコト

Vuls: VULnerability Scanner

https://vuls.io/ja/

  • OSS版公式サイト

https://vuls.biz/

  • 有償版。勉強会では終わりの頃に少しだけ触れられた

その他の有用に思った情報

  • 本題から少し逸れるので折りたたみの中に書きます。とてもきめ細かい。今後脆弱性情報を見る目が変わりそう。

    • セキュリティ設定共通化手順SCAP概説
      • 6つの共通仕様から構成される Security Content Automation Protocol
        • 脆弱性を識別するためのCVE
          • (Common Vulnerabilities and Exposures:共通脆弱性識別子
        • セキュリティ設定を識別するためのCCE
          • (Common Configuration Enumeration:共通セキュリティ設定一覧)
        • 製品を識別するためのCPE
          • (Common Platform Enumeration:共通プラットフォーム一覧)
        • 脆弱性の深刻度を評価するためのCVSS
        • チェックリストを記述するためのXCCDF
          • (eXtensible Configuration Checklist Description Format:セキュリティ設定チェックリスト記述形式)
        • 脆弱性やセキュリティ設定をチェックするためのOVAL
          • (Open Vulnerability and Assessment Language:セキュリティ検査言語)
    • 共通脆弱性評価システムCVSS v3概説
      • 脆弱性の深刻度を評価するための指標:CVSS(Common Vulnerability Scoring System)
        • 3つの脆弱性評価基準
          • (1)基本評価基準(Base Metrics)
            • 攻撃元区分(AV:Attack Vector)
            • 攻撃条件の複雑さ(AC:Attack Complexity)
            • 必要な特権レベル(PR:Privileges Required)
            • ユーザ関与レベル(UI:User Interaction)
            • スコープ(S:Scope)
            • 機密性への影響(情報漏えいの可能性、C:Confidentiality Impact)
            • 完全性への影響(情報改ざんの可能性、I:Integrity Impact)
            • 可用性への影響(業務停止の可能性、A:Availability Impact)
          • (2)現状評価基準(Temporal Metrics)
            • 攻撃される可能性(E:Exploit Code Maturity)
            • 利用可能な対策のレベル(RL:Remediation Level)
            • 脆弱性情報の信頼性(RC:Report Confidence)
          • (3)環境評価基準(Environmental Metrics)
            • 対象システムのセキュリティ要求度(CR、IR、AR:Security Requirements)
            • 環境条件を加味した基本評価の再評価(Modified Base Metrics)
        • AV などの符号は パラメーターの短縮表記 に用いられる

ハンズオン回顧

  • ここには、↑に書いたハンズオンの材料(IPAテクニカルウォッチ「脆弱性対策の効果的な進め方(ツール活用編)」)と異なる点・やっていて気づいた点のみを書きます。(勉強会での ..注意点.pdf に相当)

  • 実際にやった手順は↓にまとめます。(分けるのは、見映えの都合です。。)

4.4. 事前準備

  • /etc/profile の設定はPROXYを使わないので飛ばした
  • vulsuser の追加は、Ubuntu なので adduser でやらないとホームディレクトリが作成されないという罠があった
  • visudo で起動されるエディタ(Ubuntu デフォルトは nano)の設定変更を事前にやっておいた方が良い
    • update-alternatives --config editor -> /usr/bin/vim.tiny を選択した

4.5. 手動インストール

  • (1)(2)は取得に時間がかかるため、主催側で事前に踏み台サーバに取得してあるDBを複製して利用

    root@humidai:/tmp# time scp -i ~/.ssh/svr.key /tmp/cve.sqlite3 root@svr07:/tmp/

    • (1) 「JVN iPedia より 1998 年から作業年までの脆弱性情報を取得する」
    • (2) 「NVD より 2002 年から作業年までの脆弱性情報を取得する」
  • 今回の対象は Ubuntu18.04LTS であるため、Red Hat とはコマンドオプションが異なる

    $ cd $HOME

    $ goval-dictionary fetch-ubuntu

  • (3)OVAL の取得に時間がかかりすぎる(5分以上かかる)場合は、主催側で事前に踏み台サーバに取得してあるファイルを利用する

    root@humidai:/tmp# time scp -I ~/.ssh/svr.key /tmp/oval.sqlite3 root@svr07:/tmp/

  • (4)OSの脆弱性情報取得は25 分程度かかるため、主催側で事前に踏み台サーバに取得してあるファイルを利用する

    root@humidai:/tmp# time scp -I ~/.ssh/svr.key /tmp/gost.sqlite3 root@svr07:/tmp/

4.7. 脆弱性検知1

  • 2つのモード(ハンズオンで実習したのは a.)
    • a.Vuls を導入したサーバ自身に対してスキャンを行う「Local Scan Mode」
    • b.Vuls 管理サーバとリモート接続(SSH)をしたスキャン対象サーバに対して脆弱性検知する「Remote Scan Mode」

4.8. レポート確認(Vuls内機能)

  • TUI の操作を体感
  • わかるけど、VulsRepo の方が圧倒的に見やすいし使いやすそうに感じた

4.9. VulsRepo はやれず

  • 最新版 Vuls に対応できてない?
  • 個人的に、後日やっておきたい。

その他

会場提供のF-Secure 様より

  • 会社と紹介動画の説明をいただいた。
  • ハンズオンで疲れていたが、興味を持った。
  • 動画に日本語字幕を出せるのに「へー」と思った。
    • 確かに設定を変えていたのだが、自分のPCでそれをできない・・・

おわりに

やっぱり自分、この領域(セキュリティ)への関心が高い。もっとやっていきたいと思った。
人が安心してITを使える世にするには何ができるのか・何をすべきか、を考えていきたい。

備考


  1. 4.6. (参考)Dockerインストール は飛ばした