日本でのアトラシアン(Atlassian)製品導入No.1

  1. HOME

リックソフトブログ

2019/07/29

オープンソースの脆弱性を誤検知ゼロでチェックできる「WhiteSource」を使ってみよう!

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Author

犬杜inumori

犬杜

みなさん、こんにちは!

一般に業務用ソフトウェアでは、ソースコードの約80%をOSSが担っているとも言われています。
昨今、ソフトウェアの開発に携わってる方は、何らかの形でオープンソース(OSS)の恩恵を受けていると思います。

開発者はOSSを利用することによりコードの記述量を大幅に減らせるので、開発の効率化とコストの削減が図れるわけですが、
一方で、ライセンスの遵守や脆弱性への対応など、利用上の課題も多数あります。

この課題に対応すべく、リックソフトでは、今年の4月からOSSのオープンソース・セキュリティ&コンプライアンス管理ソリューション『WhiteSource』の提供を開始しました。
WhiteSourceは、開発プロジェクトをスキャンし、利用されているOSSのライセンス、脆弱性、品質(バグ)を解析して見える化します。

今回は、WhiteSourceの利用環境、具体的な使い方などを通して、WhiteSourceの便利さと手軽さをお伝えしたいと思います。

WhiteSource稼働環境

WhiteSourceはSaaS、またはon-premisesで利用できます。

サーバで機密性が高い情報を取り扱う場合、on-premisesを採用するケースが多くなりますが、
その場合、サーバマシンの調達、構築に関して様々な手続きが必要となり、運用コストも嵩みがちです。

WhiteSourceのサーバは機密性の高いデータを取り扱わないため、自社でサーバの面倒を見る必要が無いSaaSを採用するケースが多いです。
では、どのようにして機密性の高い情報を扱わずに解析を実行するのか?
これについては次項で具体的な解析手順を通して説明します。

Unified Agentを使って解析してみよう

WhiteSourceは様々な開発ツールと統合して解析を実行することができますが、
ここでは、Unified Agentという汎用的なツールを使って、開発プロジェクト内のリソースをスキャンする手順を紹介します。

以下、Step1〜4までの手順は30分程度で実行できます。

前提

ツールの実行環境には、JRE1.8がインストールされている必要があります。
Terminalやコマンドプロンプトから以下のコマンドを実行するとJRE1.8がインストールされているか確認できます。

$ java -version

JREがインストールされていない場合、下記のサイトからインストーラ(またはアーカイブ)を取得してインストールしてください。

Java SE Runtime Environment 8 Downloads

Step 1

以下の手順でWhiteSourceサーバにプロジェクトを作成します。

  • WhiteSourceにadmin権限が付与されたユーザでログイン
  • メニューバーのProductsから、New Productを選択
  • Create New Product 画面にて、任意のProductNameを入力して、「Create」をクリック
  • Product画面にて、「AddProject」をクリック
  • Create New Project画面にて、プルダウンから「Empty Project」を選択し、任意のProjectNameとDescriptionを入力して、「Createをクリック」
  • Step 2

    以下のURLからツールと設定ファイルを取得し、任意のディレクトリに配置します。

    https://github.com/whitesource/unified-agent-distribution/releases/latest/download/wss-unified-agent.jar
    https://github.com/whitesource/unified-agent-distribution/raw/master/standAlone/wss-unified-agent.config

    Step 3

    エディタなどでwss-unified-agent.configを開き、以下のパラメータを編集します。

    パラメータ 設定値(例) 補足
    apiKey ※WhiteSourceサーバにて確認 ApiKey、WhiteSource Server URLはWhiteSoruceサーバのIntegrateメニューから確認できます。
    wss.url https:// {WhiteSource Server URL} /agent
    projectToken ※WhiteSourceサーバにて確認 project TokenはWhiteSoruceサーバのprojectの設定メニュー(歯車アイコン)から確認できます。

    projecttoken

    includes **/*.jar **/*.java GLOBパターンを使用してスキャン対象とするファイルの拡張子を指定

    Step4

    Unifide AgentはTerminalやコマンドプロンプトなどからコマンドラインで実行できます。
    -d オプションでスキャン対象のディレクトリのパスを指定します。

    java -jar agent/bin/wss-unified-agent.jar -c wss-unified-agent.config -d source/sample-software
    

    解析が完了すると、WhiteSourceサーバのプロジェクトに解析結果が表示されます。
    検出された脆弱性(High Medium Low)や利用されているライセンスの割合を円グラフやリストで表示します。

    WhiteSourceサーバのプロジェクトに解析結果

    また、個々のOSSの詳細情報として、開発元のHP、ライセンス、CVE番号(脆弱性識別子)、影響バージョン、修正バージョンなどが確認できるようになっているので、
    脆弱性を持つOSSが検出された場合、どのように対処するか検討する際の助けになります。

    個々のOSSの詳細情報

    ポリシー設定の利用

    会社で許可されていないOSSライセンスの利用や深刻な脆弱性が検出された場合、ポリシー違反としてアラートをあげたり、Jiraに課題を起票したりできます。
    ポリシー定義は、ライセンスの種類やOSSライブラリの名称(正規表現で指定)、脆弱性やバグの高低(High Medium Low)で指定することができます。

    CIツールとの統合

    リリース直前になって、ライセンスやセキュリティ上の問題が発覚して大慌て…なんて経験はありませんか?
    WhiteSourceは様々な開発ツールと統合できますが、その中でも特に効果的なのはBamboo、Jenkins、CircleCIなどのCIツールとの統合だと思います。
    CIツールのジョブと併せてOSSの解析を実行するようにしておけば、開発サイクルの中でいち早く問題を検知し、対策を講じることができます。

    CIツールを使った解析の実行方法

    Bamboo、CircleCIはジョブ実行時にUnified Agentを呼び出して解析を実行します。
    JenkinsはWhiteSourceから専用のプラグインが提供されています。
    いずれの場合も基本的な解析のロジックは同じです。

    次回はWhiteSourceの強力な脆弱性解析機能:Prioritize (旧:Effective Usage Analysis)について紹介したいと思います。

    いかがでしたでしょうか。
    ぜひ、この機会にためしてみませんか。

    お問い合わせ

    リックソフトでは30日間無料で利用できる評価ライセンスを発行しています。

    無料トライアルのご依頼

    WhiteSource製品について詳しくはこちらをご覧ください。

    WhiteSource

    Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

    カテゴリ一覧

    最近の記事

    年別アーカイブ

    アトラシアン製品の導入と活用を
    成功させたいなら
    リックソフトのサポートが
    必要です。

    サードパーティ製のアドオンもサポート

    サードパーティ製のアドオンもサポート

    RS標準サポート

    アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのRS標準サポートではサポートします。

    • アトラシアン製品とサードパーティ製のアドオンとの事象の切り分け
    • 海外のアドオンベンダーとのやり取りを代行(日→英/英→日)

    リックソフトのRS標準サポートは開発元が提供するサポート以上の価値があります。

    サポートについて

    ツールの活用を促進するアイテム

    ツールの活用を促進するアイテム

    各種ガイドブック

    ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。

    リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。

    ガイドブックについて

    価値あるツールの使い方

    価値あるツールの使い方

    研修・トレーニング

    ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。

    日本随一の生産性向上にも効果のある研修サービスです。

    リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。

    研修について