This slide was used in Keynote of Vuls Matsuri #2
2017/3/24 @ Tokyo
- GitHub Vuls
Who am I
- kotakanbe (Twitter, GitHub, [Facebook] (https://www.facebook.com/kota.kanbe) )
- Programmer @ Future architect, Inc. Japan
- Author of Vuls
- モヒカンSlack仕掛け人
- サウナ大好き
GitHub公開1周年!
Star数の伸び
本日 v0.3.0リリースしました!
2017年1月-3月の大きな変更点
ScanとReportの分離
- #270
- これまではScanコマンドのみ。レポートのみの実行ができなかった
- たとえば、slackに通知するの忘れた場合はスキャンからやり直しだった
- 次ページのLocal Scan Modeを実現するために、分離したかった
Local Scan Mode
- #291
- Vulsのバイナリをスキャン対象サーバに設置
- Cron等でscan
- 結果のJSONを何らかの方法で1箇所に集めてから、Vuls report
- 中央のサーバからSSH + sudoできない環境用
- この後の発表をお楽しみに!
- 井上さん @ アールワークス
- 杉山さん @ Mackerel
- READMEのTutorialを改善 #387
差分レポート
- Notify the difference from the previous scan result #392
- 前回と比較して新たに検知されたCVE-IDのみをレポーティング
- 変更(脆弱性情報が更新された)は未対応
- knqyf263氏とkazuminn氏の血と汗と涙の結晶
Root権限最小化
-
#375
- prepareサブコマンドを廃止
- 依存パッケージは簡単にインスコ可能
- yum install hogeなどを/etc/sudoersに書きたくない
- Usage: Configtest#Check /etc/sudoers
- configtestコマンドで、対象サーバのスキャン可能か状態かのチェックを厳密にした
- prepareサブコマンドを廃止
Changelog
検知精度の数値化
Detection Method | Confidence | OS | Description |
---|---|---|---|
YumUpdateSecurityMatch | 100 | RHEL, Oracle Linux, Amazon Linux | Detection using yum-plugin-security |
ChangelogExactMatch | 95 | CentOS, Ubuntu, Debian, Raspbian | Exact version match between changelog and package version |
ChangelogLenientMatch | 50 | Ubuntu, Debian, Raspbian | Lenient version match between changelog and package version |
PkgAuditMatch | 100 | FreeBSD | Detection using pkg audit |
CpeNameMatch | 100 | All | Search for NVD information with CPE name specified in config.toml |
サポートOS追加
-
RaspbianとOracle Linuxを追加
-
さらばCentOS5
Container
- config.tomlのContainerの定義方法が変更 #381
[servers]
[servers.172-31-4-82]
host = "172.31.4.82"
user = "ec2-user"
keyPath = "/home/username/.ssh/id_rsa"
[servers.172-31-4-82.containers]
type = "lxd" # or "docker"
included = ["${running}"]
excluded = ["ubuntu1", "fa30c26ed699"]
- LXDサポート #288
- 今更ですがTwitterアカウントつくってみた
- 新規機能追加やバグフィックスをつぶやいていきますので、Vulsの進化の速報をざっくり追いたい方は是非フォローください
英語、日本語の使い分け(お願い)
- 海外のユーザも多いので、GitHub上では英語のみでお願いします
- 日本語を使いたい方は VulsのSlackチーム #vulsjp で
開発
- GitHubのマイルストーン機能をトライアル中
- Issue, Pull Requestのテンプレート導入
- 再現のために必要な情報を書くこと
- WIPパターンを採用
- 3月中旬に開発者会議を実施した
- 今まで私の個人ローカルPCにあったマインドマップを共有した
- Issueに登録作業中
次は検知精度の向上に取り組む
- 4/28 すだちくん勉強会#2に向けて
貢献ありがとうございます
- コードの貢献者
- テストに協力してくれた方々
- #vulsjp @ Vuls-Slackで意見をくれる方々
- ブログを書いてくれた方々
- IDCF Tech-Blog:コミュニティテンプレート Vuls の利用とTips by 井上さん@アールワークス
- コミュニティテンプレート作者の藤城さん@IDCFのLT
- バグ報告をしてくれた方々