知らないと危険な「OSSのリスク」 “脆弱性祭り”への対処法とは?:OSSとの「上手な付き合い方」【第1回】
OSSはアプリケーションを開発する際に「利用しないわけにはいかない」ほど重要な存在になった。一方でOSSの脆弱性を悪用した攻撃が跡を絶たない。OSSを安全に利用するには、どうすればいいのか。
サイバー攻撃は近年、世界規模の「ビジネス」となり、さまざまな組織がその被害を受けている。昨今の攻撃者は、まず愉快犯ではない。標的から身代金を要求するといった形でサイバー攻撃を生活の糧としており、効率的にもうかる仕組みを追い求めている。
攻撃者にとって、サイバー攻撃を仕掛けるハードルは下がりつつある。特殊な手法を使うことで見ることができる「ダークWeb」には、攻撃ツールや脆弱(ぜいじゃく)性の情報が販売されている。かつてはサイバー攻撃には高度な知識が必要だったが、現在は必ずしもそうではない。そのため組織にとってサイバー攻撃を受けるリスクは高まっていると考えられる。
近年、特に狙われているのは、OSS(オープンソースソフトウェア)だ。組織で利用が進んでいるOSSにはさまざまな脆弱性が存在し、サイバー攻撃者はそれらを悪用して標的のシステムに入り込もうとする。ここ数年、OSSを入り口としたサイバー攻撃による被害が相次いでいる。その中でも記憶に新しいのが「Log4Shell」。Javaのログ出力ライブラリ「Apache Log4j」の脆弱性「CVE-2021-44228」だ。
ソースコードを自由に変更でき、自社のニーズに合わせやすいなど、OSSにはさまざまなメリットがある。だからこそ、セキュリティのリスクを恐れてOSSの使用をやめるのではなく、OSSのリスクと「うまく付き合う」ことが重要だ。本稿は、OSSの安全な使い方を考える。
世界のソフトウェアの大多数がOSSという現実 安全性をどう確保するのか?
「ソフトウェアにおけるオープンソースの比率が70%を超えた」。これは、2020年5月に日本シノプシスが各種産業でOSSの利用状況を調査した「2020 オープンソース・セキュリティ&リスク分析(OSSRA)」の結果だ。いかにOSSが普及し、さまざまな組織のシステムを支えているかが分かる。
OSSの普及の契機となった1991年の「Linux」登場から30年以上が過ぎた。OSSは市民権を得て、地道に実績を重ねるようになった。その昔、OSSが「コンピュータおたくのおもちゃ」のような扱いをされていたことを考えると隔世の感がある。
最近ではIT全体が著しい進化を遂げている。全国の通信網の整備によって可能になったモノのインターネット(IoT)や人工知能(AI)技術を使った自動運転など、私たちは身近なところでITの進化の恩恵を受けつつある。それらに内包されるミドルウェアやアプリケーションがOSSであることは珍しくなくなった。
あまり知られていないOSSの「理想」
私たちが日々利用するシステムは、先述のようにOSSによって支えられている。既に1990年代半ばのインターネット普及期には、Webサーバ「Apache HTTP Server」やメールサーバ「sendmail」といったOSSが、インターネットで情報をやりとりする仕組みとして広く使われていた。インターネットの普及とともに、それを支えるOSSの利用も広がった。
インターネットは今や、社会基盤となったと言っても過言ではない。インターネット普及以前のコンピュータベンダーが主導して構築したシステムから、IT革命と呼ばれた大変革期を経て、現在に至るインターネット普及の一翼をOSSが担った。OSSは、インターネットを支える不可欠の存在になっている。
OSSを「誰でも自由に利用できるフリー(無償)のソフトウェア」だと認識している人は相当数いると考えられる。もちろん、それでもおおむね合致しているものの、厳密な解釈は少し異なる。オープンソースの促進を目指している米国の公益法人Open Source Initiativeの定義によると、OSSとはソースコードを無償で公開し、使い手に自由な改良や再配布を認めるソフトウェアのことだ。
ソフトウェアの自由な使用を促進する団体Free Software Foundation(FSF、フリーソフトウェア財団)が作成した「GPL」(GNU General Public License)、University of California, Berkeley(カリフォルニア大学バークレー校)が作成した「BSD」(Berkeley Software Distribution)など、OSSのライセンス形態は複数ある。いずれも根本的な考え方は「ソフトウェアという資産を全世界の誰でもが自由に利用できるようにする」という理想に基づく。ただし、この理想は一般にはそれほど意識されず、OSSは残念ながら単に「無料で使えるソフトウェア」と認識されている。
ユーザーは「OSSを利用している」ことに無頓着
国内市場も例外ではなく、OSSはやはり「無料」という部分がクローズアップされやすい。そもそもなぜ無料かと言うと、OSSがほとんどの場合、ボランティアによって開発・公開されているからだ。そのためOSSはお金を払わずに利用できる。その半面、プロプライエタリソフトウェア(私有ソフトウェア)のようなベンダーの手厚いサポートを受けることは難しい場合がある。
だからと言って、OSSがサポートのない、運用しにくいソフトウェアだということにはならない。実はOSSでも有償のサポートを提供するベンダーが存在する。その意味では、有償保守契約を締結するプロプライエタリソフトウェアと同様だと言える。
もちろん同じOSSでも、ベンダーによってサポートのサービスレベルにそれなりの差が発生してしまうことがある。とは言うものの差があるのはプロプライエタリソフトウェアも同様だ。そのため結局はOSSであれ、プロプライエタリソフトウェアであれ、システム運用者にとってサポートが最大の悩みの種になるというのは、あまり変わらないと言える。
それでも国内のユーザー企業には、深く理解せずにOSSを使ってしまいかねない事情がある。国内でのOSS導入では、ベンダーが主導権を握っていることが少なくないからだ。その要因として、国内のIT市場がベンダー主導で成長してきたことが挙げられる。国内ユーザー企業の情報システム部門には、システムの仕様に関する決定をベンダーに依存し過ぎる傾向があるからだ。結果として、ユーザー企業のシステムにOSSを導入するかどうかは、ベンダーの意思によることになる。より具体的には、そのベンダーが他社でOSSの導入実績があるかどうかに依存する。
OSSの機能面での知識があるベンダーであっても、開発コミュニティーの状況やバージョンアップ、脆弱性のパッチ配布の状況などに必ずしも詳しいわけではない。システム構築が終了し、サービスインしてしまえば、システム運用の責任はユーザー企業に移行する。包括的なアプリケーション保守契約(より具体的にはベンダー内の保守要員体制の維持のための契約)がなければ、運用にはベンダーは積極的に関わらない。
OSSでなぜ「脆弱性祭り」が繰り返されるのか
脆弱性はOSSに限らず、OSを含むプロプライエタリソフトウェアにも存在する。普及率の高いOSSの脆弱性が発見された際には、その影響範囲がプロプライエタリソフトウェアよりも広くなることがある。その結果、さまざまなユーザー企業の情報システム部門や情報セキュリティ管理部門で対処が必要となる。
検証環境でのテストや本番環境でのパッチ適用は、概して夜を徹した作業になることから、自虐的に“祭り”と呼ばれることがある。影響度の大きなOSSの脆弱性が公開されると「○○祭りだ」のようなコメントが「Twitter」などのソーシャルメディアに乱れ飛ぶことになる。
「DMZ」(DeMilitarized Zone、非武装地帯)と呼ばれ、外部にさらされる部分のソフトウェアの脆弱性はインパクトが大きい。特にApache HTTP ServerやDNSサーバ「BIND」(Berkeley Internet Name Domain)など、DMZ付近の外部ネットワークに直接的に接しているOSSには注意が必要だ。こうしたOSSは社外からのアクセスが可能なので、攻撃者は脆弱性を知ってすぐに攻撃を仕掛ける可能性がある。つまりDMZにあるOSSに脆弱性が発見されれば、緊急的な対処が必要となる。
「Java」を用いてWebアプリケーションを開発するためのツール「Apache Struts」も最近の脆弱性公開における“主役級”となっている。Apache Strutsに起因するインシデント発生の際に、公開から数時間でパッチを適用できたにもかかわらず、その寸前に侵入されて情報を窃取された例を聞く。これは、かなりの事前準備と対処をしていたのに、システム侵害がなされてしまった例だ。これはタイミングのいたずらとしか言いようのない、非常に残念な例だった。このように、クリティカルな脆弱性への対処は1分1秒を争う。
IoT分野をはじめ、実績のあるOSSの利用がさまざまな分野に広がっている。OSSの爆発的な普及は、「1つのOSSの、1つの脆弱性」が大きなインシデントを招くきっかけになりかねない。攻撃者にとっては、ほんの少しの利用者しかいないプロプライエタリソフトウェアよりも、多くの人が利用しているOSSの方がターゲットにしやすい。結局「下手な鉄砲も数撃てば当たる」という論理になる。
「OSSは脆弱だ」という解釈は誤解だ。OSSの脆弱性を突くインシデントが多くなるのは、OSSの利用自体が多くなることで、社会的な影響度が高くなり過ぎた結果だという解釈が、より本質的だと言える。
第2回は、OSSの普及状況の詳細を見る。
著者紹介
武田一城(たけだ・かずしろ) ベリサーブ
1974年千葉県生まれ。セキュリティ分野のマーケティングスペシャリスト。次世代ファイアウォールをはじめ、さまざまな新規事業の立ち上げに従事。セキュリティに限らず、IT全般の動向にも詳しく、インターネットや書籍の執筆実績が豊富にある。NPO法人「日本PostgreSQLユーザ会」の理事を務めた経歴も持つ。
Copyright © ITmedia, Inc. All Rights Reserved.