2
2

More than 5 years have passed since last update.

1 / 60

Abount Me


vuls_logo.png


Balse?

rapyuta.png


 前半: Vuls

  • 脆弱性管理、ソフトウェア・アップデートの重要性
  • Vuls説明
  • デモ

 中盤: 質問ターイム

  • 脆弱性管理、アップデートしてます?
    • OS, ミドルウェア、言語、N/W機器
  • 大規模環境での課題

 時間があれば:OSSの話

  • なぜ公開したか
  • 宣伝と、バズったときの話
  • コミュ二ティ
  • キャッチアップ資料

ソフトウェアアップデートの重要性


アンチウィルスだけで本当に大丈夫?

  • 新種マルウェアの数は 数十万種類/day
  • 中高生でもカジュアルに作れる時代
  • シグニチャベースのIPS/IDS/アンチウィルスだけでは不十分

専門家曰く、一番重要なセキュリティ対策はソフトウェアアップデート
security_google.png

Google Japanブログより引用


脆弱性の放置は危ない

攻撃の大半は、数カ月もしくは数年にわたって利用可能なセキュリティパッチが一度も適用されていない既知の脆弱性を悪用している。実際に、成功したサイバー攻撃の85%は、最も良く知られた脆弱性の上位10件を悪用したものである


でも、ソフトウェアアップデートって大変ですよね?


サーバ運用時に感じたこと

  • Linuxサーバ100台(OS, アプリケーション混在)規模の本番環境を運用していた
  • 自動アップデートによるサービス停止が怖いので手動アップデートで運用
  • 新着脆弱性をJVNなどのRSSや、SNSで情報取集
  • 日々発見される脆弱性多すぎ...
  • Flash脆弱性など必要ない情報が多い...

 Q. 過去2年間の脆弱性の合計数は?

  1. 〜500
  2. 500〜1000
  3. 1000〜2000
  4. 2000〜4000
  5. 4000〜5000

 正解: 14,600


 深刻度Criticalのものは 522件


深刻な脆弱性が見つかった場合

  • 影響調査が大変
    • おまえは100台に入っているソフトウェアと、バージョンを覚えているのか!?
    • プログラミング言語のライブラリ、バージョンまで覚えているわけがないだろう?
  • まじめにやろうとすると、年間で数千発見される脆弱性を人が情報収集し、対応しなければならない

enkan.png


angry.gif


そんな方にはvuls_logo.png


vuls.jpg
どのサーバに、どんな脆弱性(CVE)があるかを通知


管理するサーバに新着の脆弱性が発見された場合に通知してくれる

vuls-slack-ja.png


特徴

  • Linux/FreeBSDの脆弱性を動的スキャン
    • Ubuntu, Debian, CentOS, Amazon, RHEL, FreeBSD
    • クラウド、オンプレミス、Docker
  • OSパッケージ以外の脆弱性も検知可能
    • コンパイルしていれたもの
    • プログラミング言語のライブラリ、N/W機器
    • CPEに登録されているソフトウェアが対象
  • セットアップは1台でよい
  • エージェントレス
    • Vulsから各サーバにSSHで接続してスキャン
  • 本番環境を汚さない(非破壊テスト)
  • AWSなどでは脆弱性スキャナ実行前に事前申請必要だがVulsは申請必要ない
  • 初期設定が簡単(基本SSH接続情報のみ)
  • 日本語レポート
  • 分析用のWebUIがある
  • Go言語製

Architecture

vuls-architecture.png


Scan Flow

vuls-scan-flow.png


Support OS

Distribution Release
Ubuntu 12, 14, 16
Debian 7, 8
RHEL 6, 7
CentOS 5, 6, 7
Amazon Linux All
FreeBSD 10

デモ

  • スキャン
  • Slack通知

分析用Web UIのデモ

usiusi360/vulsrepo


Vuls詳細

詳細はREADME.jaをベースに説明


特に難しかったところ

  • バージョンの比較でやればできそうだし簡単じゃんと思ってた
  • Ubuntu, Debian, CentOSのバージョニング
locales            2.13+git20120306-21  
login              1:4.1.5.1-1.1ubuntu7  
lsb-base           9.20160110
make               4.1-6
mawk               1.3.3-17ubuntu2
mime-support       3.59ubuntu1
multiarch-support  2.21-0ubuntu5
  • バージョンをパースして比較なんて無理
  • 1週間試行錯誤
  • changelogに解決されたCVE IDが書かれていることに気づく

中盤: インタビューターイム


後半: OSSの話


 後半目次:OSSの話

  • なぜOSSにしたか
  • バズり
  • コミュニティ

Why I Published Vuls To GitHub

  • I traveled India and Nepal for 1 month.
  • I tried training at Japanese Temple near birthplace of the buddha for a week.
  • Morning training
  • An old monk thinks about peace of the world from the heart.
  • I thought what can I do for peace of the world
  • .....
  • OSS!

For Peace Of The World

india-6.jpg


Buzzed All Over The World

Star_history.png


Got First Place In GitHub Trending

2016/10/1 All Language
image002.png


娘に自慢

  • 小学2年の娘に「パパは世界1位になったよ」
  • 「パパすごーい」
  • 娘から見直される
  • OSSにしてよかった!

いろんな言語に翻訳された


ドイツ語

german.png


ドイツ語2

german2.png


フランス語

README.fr.mdのプルリクくれた


中国語

23万ビュー
chinese.png


スロバキア語

Slovakia.png


バズり経験からわかったこと

  • GitHubスターは超重要
    • 開発のモチベーション
    • プロジェクトの人気度を示す
  • 英語圏の人はバンバンGitHubスターつけるが、日本人はそんなにつけない
    • Qiitaや、はてなブックマークがあるから?
  • まず海外でバズらせてGitHubスターを稼ぐ
    • Reddit -> Twitter -> GitHub Trending
  • その後日本はQiita、勉強会で発表して広めるのが良い

バズらせFlowChart

how-to-bazuri.png


コミュニティ


Community

  • 217 Members (#general)
  • 120 Members (#vulsjp)

Stats___vuls-github_Slack.png

Join Vuls Slack

  • アナウンスや機能拡張の議論、Q&Aなど
  • 公開当初はほとんど会話がなかった
  • だが、ある事件をきっかけに結束する...

slack-trouble1.png


slack-trouble2.png


その頃#japaneseチャネルでは

slack-trouble3.png


男前登場

slack-trouble4.png


 #japaneseに妙な連帯感が


そして彼はOpenVASをオススメして去っていった


おかげで#japaneseが活発に

  • 現在ではQ&Aや新機能の要望、議論が活発に
  • Vulsロゴの回転絵文字も登場! vuls_roll.gif

Pull Request-Driven Development

Total 159 P/R (2016/10/19)
- FreeBSD Support by justyntemme #90
- High Speed Scaning on CentOS by ti-ga #138
- High speed data fetch from JVN by kotakanbe #21
- High speed scanning on Ubuntu(20x Faster on Ubuntu, 4x Faster on Debian) by kotakanbe #172


Recent Changes

  • Setup Vuls using DockerHub by matsuno #223
  • Support ignore CveIDs in config #222
  • Confirm before installing dependencies on prepare #219
  • Remove all.json #218
  • Improve makefile, -version shows git hash, fix README #216
  • change e-mail package from gomail to net/smtp by by matsuno #211
  • Add only-containers option to scan subcommand #122 #190

How To Catchup Vuls


Presentation (in Japan)


Thanks

Give a GitHub Star if you are interested :)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2