Cloud One Open Source Security by Snykを利用してオープンソースのコードに含まれる脆弱性を確認してみた (確認編)
こんにちは、コンサル部@大阪オフィスのTodaです。
トレンドマイクロ社が提供しているCloud One内にてオープンソースのコードの脆弱性を確認、可視化するソリューションとしてOpen Source Security by Snykが提供されています。
上記はサイバーセキュリティ企業のSnyk社との協力により一部機能を提供されているようで、今回はセットアップからバージョン管理リポジトリのBitbucketに保存しているソースコードのチェックまでを試してご紹介いたします。
導入に関する記事
「Cloud One Open Source Security by Snykについて」と、「導入方法」は下記記事を参考ください。
使っての感想
先に使ってみての感想になりますが、
Snyk Open Sourceはアプリを管理するリポジトリを設定するだけで依存するライブラリ含むOSSの脆弱性をチェックして一覧で表示してくれるため
簡易に脆弱性の追加が可能な点が良いと考えます。
また、詳細情報(内容や対応策)と別で脆弱性の基本的な説明が別ページで確認出来るためセキュリティの知見が少ないユーザ様にもわかりやすいです。
機能について
Snyk Open Sourceは下記3点の機能がございます。
・オープンソース(以降OSS)ライブラリをチェックして脆弱性を検知する機能
Snykはリポジトリ内で利用しているOSSライブラリ・バージョン毎を把握して脆弱性がある物を表示します。
・依存するOSSライブラリも含めてのチェック
OSSライブラリには処理を作るため別のOSSライブラリに依存している場合があります。
Snykはそれらも含めてのチェックが可能です。
・対応策の提示
OSSライブラリで脆弱性があった場合、対応策(バージョンアップなど)やナレッジが提示されます。
・ライセンスの違反チェック
OSSライブラリに設定されているライセンスポリシー違反を確認して表示します。
表示内容を確認してみる
前回Larabel5系の入ったリポジトリを導入しておりますので詳細内容を確認してみます。
プロジェクト一覧
監視対象のリポジトリを一覧表示で確認する事ができます。
重大度別に何点の脆弱性が存在するかを確認する事ができます。
試しにLaravel9の最新を追加したリポジトリを監視にいれたところ脆弱性がない状態でした。
プロジェクト詳細画面
詳細画面ではプロジェクト内のcomposerやpackage.json単位で脆弱性の一覧が表示されます。
1点の脆弱性の情報を確認したところ現在導入されているLaravelが5.5.43で、脆弱性があり、5.8.17に変える事でFIXする事がわかります。
脆弱性に関する情報は Snyk と その他セキュリティに関するデータベースのリンクが設定されています。
また、対象の脆弱性がどのような物か概要が表示されます。
対象の脆弱性が想定されている物または一時的に無視する場合は詳細内の[Ignore]ボタンから除外設定をします。
履歴一覧
Snykでチェックした内容は履歴にて保管されます。
下記にあった脆弱性がどのタイミングで修正されたかなど確認する時にご利用いただけます。
snyk Learn
Snykの画面を操作していて私が1番気に入った点として、SQLインジェクション等メジャーな脆弱性については「Learn about this type of vulnerability」からsnyk Learnにて詳細な脆弱性の知見を得ることが出来る点です。
実際にコードを実行して動きの確認が出来るコンテンツがあるためセキュリティの知見を集めたいユーザにはありがたい機能だと思います。
下記はSQLインジェクションに関するレッスンページとなっていますが、この脆弱性がどのような物で、どのように実行され、どのような影響があるのか、対策方法などすごくわかりやすくコンテンツにまとめられています。
実際に実行できるサンプルコードや、図解による説明すごくわかりやすいですね。
さいごに
今回はCloud One Open Source Security by Snykの画面表示について確認をしてみました。
今までC1製品には上記のようなチェックができるサービスがありませんでしたのでシステム開発をする場合は大変有効にご利用いただけると考えます。
今後もアップデート等を定期的に確認していきたいと思います。
少しでもお客様の参考になればと考えております。