脆弱性対応作業が重荷になっている。 n サーバーを多数管理している知人も、脆弱性対応が手間だった。 n 脆弱性対応作業が、作業×サーバー台数分なので非常に大変。 n 脆弱性対応作業を自動化したい。 n 依存パッケージが勝手にアップデートされると、別のプログラムに 影響が出る。 n パッチ当てる/アップデートについては人間が判断したい。
n 脆弱性によって、どのような問題が発生するか確認。 n 対策するか否かについて検討。 n 対策情報を探す。 n 対象サーバーの確認。 n テスト n 対象サーバーと同等の環境を用意し対策を行った場合、他のソフト ウェアに影響が発生しないか検証を行う。 n 実施 n 対象サーバーに対して、対策を実施。 n 対策を実施したことで影響が発生していないか確認。 n 本システムでは、調査段階の省力化を目指して開発。
管理側(Monitoring Server)にはサーバープログラム。 n サーバーにインストールされているパッケージ情報の管理 n ミドルウェア/パッケージの情報等管理。 (name,vendor,version,release,etc…) n インストールされているパッケージ情報をAgentが自動取得、Monitoring Serverに送信。 n install / remove / updateに対応、情報が変更される度に自動取得。 n AgentをProject -> AgentGroup -> Agentという階層構造で管理。 n 脆弱性情報の管理と可視化 n 脆弱性情報データベース(NIST)からCVE情報を自動取得。 n パッケージが、脆弱性のあるバージョンかどうかチェック。 n WebUIを通して、Agentにインストールされているパッケージ情報と関連す る脆弱性情報を表示。
Web2 OpenSSL 1.0.2c Software Version OpenSSL 1.0.2c Host Software Version Web1 OpenSSL 1.0.1e Web2 OpenSSL 1.0.2c H S V × ◻ ◦ WebUIを通して、Agentにインストールされているパッケージ情報と 関連する脆弱性情報を表示。
1.0.2c Agent ID Name 1 Web02 CPE ID CPE Name Version 3 cpe:/a:openssl:openssl:1.0.2c openssl 1.0.2c ID CVEID CVSS Score …. CPE 4 CVE-2015-**** 8 …. cpe:/a:openssl:openssl:1.0.2c ※実際の実装と基本的には同等のアルゴリズムです。 ※完全一致しないSoftwareについては、脆弱性情報を誤検知・見逃しをする可能性があります。(改良中)
CentOS 6.7 n Agent(動作検証) n CentOS 6.x, CentOS 7.x n Red Hat Enterprise Linux 7.2 n Oracle Linux 5.x, 6.x, 7.x n Fedora 23 n Program n Server (Monitoring Server) n Python(2.7.6) n Django(1.8) n Agent n Python(2.7.6) n DB n PostgreSQL(9.5) n MySQL(5.1.73)