2016年02月05日
オープンソース活用研究所 所長 寺田雄一
2015年12月2日に、オープンソース活用研究所主催による「オープンソースの脆弱性とその対策」セミナーが開催されました。本セミナーは「全体的なセキュリティの動向について」「オープンソース品質調査レポートの解説」「オープンソースの脆弱性にどう対処するべきか」の三本立てとなっており、全体像から具体的なアプローチについて紹介しました。
今回は、株式会社オージス総研の吉井雅人氏よる講演、「オープンソースの脆弱性にどう対処するべきか」の内容を筆者がご紹介します。
オープンソースの利用は、スマートフォン、テレビ、プリンタ、ゲームなど多様に広がり、Githubに登録されているオープンソースプロジェクトは既に1,000万にも膨れあがっているそうです。
オープンソースがインフラとなった今、その脆弱性についてもメディアに取り上げられることが多くなりました。これまで脆弱性はCVEというもので取り上げられていましたが、昨年のOpenSSLの脆弱性問題では、Heartbleedという名前が付き、ロゴやホームページが作成されるほど世間を騒がせました。その後に続く、ShellShockやGhostも同様で、社会現象のように取り上げられていく傾向は今後も続いていくだろう、というのが講師の見解です。
オープンソースがインフラとなった今、その利用において事件が発生した場合、企業は適切な対応をしなければ、企業ブランドを傷付けてしまうおそれがあるとのことです。
Apache Software Foundationなどは大企業の寄付や大企業自らソースコードを保守するケースが多く活発化していますが、古くからのオープンソースコンポーネントは、ボランティアベースのコミュニティが保守しているケースも多いとのこと。Bashは開発者一人で保守していたということです。
こういった資金的に苦しいが、重要なオープンソースのコンポーネントを、企業群が集まり支えていく、Core Infrastructure Initiativeという団体も生まれ、オープンソースの品質向上が社会的な取り組みとして進んでいるそうです。
OSSは気軽に利用しやすく、ソースコードもコピー&ペーストで簡単に流用できてしまう今、ソフトウェアを構成するコンポーネントとそのコンポーネントの脆弱性の有無を把握していくことが大変に重要となってきています。
コンポーネントをユーザ作成コード、サードパーティのコード、OSSと3区分とし、それぞれのバージョン、ライセンス、その脆弱性を管理することで、はじめて的確な対策を進めることができるとのことです。
Palamidaは、ソフトウェアに含まれるOSSとそのライセンスを自動検出するツールです。様々な検出ロジックによりOSSの流用元を検出し、米国政府が提供する脆弱性を一元的に管理するNVD(National Vulnerability Database)のデータを元に脆弱性の検出を行うそうです。
オープンソースからコピー&ペーストしたソースコードも数行あれば検出ができるそうです。
バイナリファイル内にある既知の脆弱性はPalamidaが得意で、未知の脆弱性の検知はCoverityが得意です。お互い補完関係とすることでカバー率の高い脆弱性の検出ができるとのことでした。
デジタル機器など比較的メモリが潤沢に使える場合は、オープンソースがそのまま利用されているため比較的オープンソースの特定は容易です。しかしチップへの組込みなどの場合は、使用メモリを最小化するために不要なコードを削除して利用するケースがあるそうです。このような場合は、オープンソースの特定や脆弱性の特定は非常に難しく、高い専門性と分析技術が必要になるとのことでした。
オージス総研は、オープンソースのバージョンやライセンス特定には8年の実績を持ち、その専門性から詳細な検査内容をもとにレポートを行なっているそうです。
事例紹介では、ある企業で診断を行なうと、長年使ってきていたファイルの著作権が、実は競合他社のものだったケースもあったそうです。
診断レポートはWeb形式の他、Excel形式もあり非常に見やすいです。
脆弱性の対策としては、まずはじめにソフトウェアを構成するコンポーネントを特定する必要があります。また今後、ソフトウェアの複雑化に伴い、特定は更に困難になっていきます。また未知の脆弱性が発覚された場合、素早く対応するための仕組み作りは企業として急務となっています。 最後に筆者より、必要に応じて専門家への相談やツールの活用など、ご検討されてはいかがでしょうか。
1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。
2022年11月11日(金)16:00~17:00 『今、知っておくべきサイバー攻撃の実態 ~一番危険なセキュリティリスクは何なのか?~』 と題したウェビナーが開催されました。 皆様のご参加、誠にありがとうございました。 当日の資料とサマリー動画を以下から無料でご覧いただけます。 ご興味のある企業さま、ぜひご覧ください。
「OSV-Scanner」(OSVスキャナー)とは、Google製「脆弱性スキャナー」です。「プロジェクト依存関係リスト」と「既知脆弱性」を照合するための「OSVデータベースへのフロントエンド」を提供します。パッケージリストに対して詳細チェックを実施することで、パッチ適用の必要性情報を得られます。
FreeRADIUS(フリーラディウス)とは、オープンソースの高機能RADIUSサーバです。「RADIUS」はネットワーク上で「利用者認証」「権限付与」「利用状況記録」などを実施するための認証プロトコルであり、デファクトスタンダードとして広く使用されています。
Google Authenticator(グーグルオーセンティケーター)とは、Googleが開発している2段階認証(2要素認証)用トークンソフトウェアです。「SMSテキストメッセージ」「音声通話」「モバイルアプリ」などを使用して認証コードを送信/生成します。Googleサービスのみではなく、他社サービスの認証にも利用できます。
Vuls(バルス)とは脆弱性スキャンツールです。脆弱性データベースから脆弱性情報を取得して、「Linux(FreeBSD)系OS」「各種ミドルウェア」「各種フレームワーク」などに対する脆弱性存在を検査し、詳細情報をレポーティングします。サーバにインストールされているソフトウェアに対する脆弱性存在チェックに利用できます。
WireGuard(ワイヤーガード)とは、VPN(Virtual Private Network)ソリューションです。「Linuxカーネルツリーにマージ」「シンプル」「使いやすい」「数行のコードで簡単に実装」「ハイパフォーマンス」「学術研究をベースとして実装されている高いセキュリティ」などを特徴としています。
OpenLDAP(オープンエルダップ)とは、ディレクトリサービスを提供するオープンソースLDAPサーバです。サーバ間やシステム間で認証連携を行い、ユーザー情報データベースを統合管理することで、シングルサインオンを実現するための共通基盤となります。ディレクトリ情報の一元管理により、運用管理の作業負荷を大幅に削減し、セキュリティを強化できます。
OpenVAS(オープンバス)とは、セキュリティチェック用脆弱性スキャンツールです。包括的で強力な脆弱性スキャンを行うことで脆弱性管理をサポートします。対象ホストのOSやソフトウェアに既知の脆弱性が含まれているかどうかについて自動でチェックを行い、詳細レポートを作成します。
Metasploit Framework(メタスプロイトフレームワーク)とは、セキュリティ脆弱性テストフレームワークです。コンピュータセキュリティに関するオープンソースプロジェクトで、「情報収集」「脆弱性検出」「ペネトレーションテスト」などを主な守備範囲としています。
ClamAV(クラムエーブイ)とはアンチウイルスエンジンです。さまざまな「ウイルス」「マルウェア」「悪意のある脅威」などを検出します。「ファイルスキャン」「電子メールスキャン」「Webスキャン」などエンドポイントセキュリティを含むさまざまな状況で利用できます。
Snort(スノート)はネットワーク型IDS(不正侵入検知システム)です。ネットワーク上を流れるパケットを解析して、不正パターンに合致するパケットを検知したら警告を発します。「パケットスニファ」や「パケットロガー」としても利用でき、豊富なアウトプットプラグインによる機能拡張が可能です。
OpenAM(オープンエーエム)とは、オープンソースの認証ソリューションです。「認証」「アクセス認可」「フェデレーション」などの高機能を備え、シングルサインオン機能を提供します。商用製品と同等の機能が実装されており、「アクセス制御の統合/強化」「セキュリティ対策」「個人情報漏洩防止強化」などのメリットがあります。
Keycloak(キークローク)とは、WebアプリケーションおよびRESTfulWebサービス用のシングルサインオン機能を提供するアクセス管理ソリューションです。「シングルサインオン認証フレームワーク」+「管理コンソール」でシングルサインオン環境を構築するための一通りの機能を提供します。
Shibboleth(シボレス)とは、シングルサインオン機能を提供するソリューションです。連合アイデンティティソリューションとして世界で広く展開されており、ユーザーを組織内外の両方のアプリケーションに接続します。
OpenVPN(オープンブイピーエヌ)とは、オープンソースのVPN(Virtual Private Network)構築ソフトウェアです。「堅牢なセキュリティと安定性」が特徴です。
WSO2 Identity Server(ダブルエスオーツー アイデンティティ サーバ)とは、シングルサインオンソリューションです。アプリケーション/API/クラウド/モバイル間で統合ID管理を行います。
LibreSSL(リブレ エスエスエル)とは、SSL/TLSプロトコルのオープンソース実装(通信用ソフトウェア)で、「OpenSSL」の派生改良版です。圧倒的シェアを持つが問題が多い「OpenSSL」を代替できるものとして期待されています。
OpenSSH(オープンエスエスエイチ)。ネットワーク経由通信を暗号化する「SSH」のオープンソース実装です。おもにUNIX/Linuxサーバに対するネットワーク経由でのリモートログインに使用します。
OpenSSL(オープンエスエスエル)。オープンソースSSL/TLS暗号化ライブラリです。世界中のWebサイトで圧倒的シェアを持っており、事実上の業界標準となっています。
Apache DS(アパッチディーエス)。オープンソースのLDAP(ディレクトリ)サーバです。「Apache Directory」プロジェクトで開発されています。
389 Directory Server(389ディレクトリサーバ)。オープンソースディレクトリサーバです。「Fedora Directory Server」の後継で、商用製品の流れを受けており、ユーザフレンドリーなGUIツールの充実などが特徴です。
OpenIDM(オープンアイディーエム)。高い柔軟性と拡張性を備え、エンタープライズ/クラウド/モバイル/ソーシャル/レガシーなど多様な環境において、ユーザアカウントのプロビジョニングとライフサイクルの一元管理を実現するID管理製品です。
OpenDJ(オープンディージェー)。OpenAMに内蔵されており、先進的なレプリケーションアーキテクチャや「REST API」を搭載したLDAP準拠の高機能オープンソースディレクトリサーバです。