30万件の脆弱性への旅:良いもの、悪いもの、そして奇妙なもの | Codebook|Security News
Codebook|Security News > Articles > Threat Report > 30万件の脆弱性への旅:良いもの、悪いもの、そして奇妙なもの

Threat Report

Cyber Intelligence

Flashpoint

Intelligence

30万件の脆弱性への旅:良いもの、悪いもの、そして奇妙なもの

Yoshida

Yoshida

2023.04.14

*本記事は、弊社マキナレコードが提携する米Flashpoint社のブログ記事(2022年11月21日付)を翻訳したものです。

最近弊社のVulnDBチームは、最高級の脆弱性インテリジェンスを追及する中で、30万件目の開示された脆弱性の収集に成功するという素晴らしい節目に到達しました。これは大きな成果であり、祝福すべきことですが、同時にセキュリティチームが日々直面している課題について否応なしに思い起こさせるような出来事でもあります。

今回は、脆弱性の管理者や情報セキュリティチームに、ソフトウェアがいかに悪さをし得るかをしつこくリマインドするのでなく、弊社が研究を行う中で時折遭遇した奇妙な事象について取り上げたいと思います。本記事では、私たちが出会った中で最も興味深く、多彩な脆弱性の開示についていくつか紹介しています。

 

脆弱性0:オリジンストーリー

多くの人は、コンピューターセキュリティ業界といえば比較的新しい業界だと考えがちです。しかし、実際は100年以上の歴史があります!前回の記事では、グリエルモ・マルコーニの無線通信に影響を与えた、世界で最も古いいくつかの脆弱性について深く掘り下げました。そしてこれらの問題は100年以上前のものですが、まだ学べることがあります。

史上初めて記録されたこれら2件の脆弱性により、世界初の中間者(MitM)による傍受が発生しました。これを可能にしたマルコーニの無線通信の脆弱性とは、通信メッセージが暗号化されておらず簡単に傍受されてしまう点と、権限が確立されていないがためにメッセージスプーフィングに弱いという点でした。しかしあらためて振り返ると、つい2002年9月29日にもこれと同じような攻撃が観測されています。この時開示されたのは、複数の三菱電機製品に影響を及ぼしたMitMの問題に関する詳細でした。

2つ目のものと同様の、権限チェックの不在によるメッセージスプーフィングの脆弱性は、SSL/TLS証明の不適切な検証から、例えばIPアドレスのみを利用した権限チェックによるものまで、さまざまなスプーフィングの問題でみられます。120年以上経った今でも、多くのベンダーは、マルコーニが盛大に、かつばつの悪い形で学んだ教訓に注意を払っていません。

 

SQLインジェクションとクロスサイトスクリプティング:容易に発生するもの

2000年代初頭、Webアプリケーションへの大量移行が世界中で見られました。Webアプリケーションは、ユーザーやコンピューターオタクが待ち望んだインターフェースだったのです。Webへのアクセスは簡単で、インターネットの普及は、信じられないほど多種多様なシステムやリソースにアクセスするために設計された単一のアプリケーションを生み出すのに一役買いました。しかしこの新たな技術とともに、安全なコードが書かれるようになるまでの厳しい修練の時代が到来し、クロスサイトスクリプティング(XXS)やSQLインジェクション(SQLi)といったWebアプリケーションの脆弱性が大量に発生するようになりました。

XSSの欠陥はほぼ間違いなく最も見つけやすい脆弱性であることから、2000年以降の10年間でかなりの数が発生し、2012年にはさらに大幅な急増が見られたのは当然の出来事でした。

2005年から2013年までのXSSの欠陥

SQLインジェクションは潜在的な欠陥を誘発しやすい脆弱性で、同じく2005年に流行し、2008年に2度目の大幅な急増を見せました。多くの研究者たち(特に新人の研究者たち)は、脆弱性を発見したと断定する前にSQLエラーを誘発するために1文字でも入力しようとするものです。このような行為により発生するエラーメッセージはSQLインジェクションの欠陥の可能性を示してはいますが、決定的なものではないことはほぼ確実です。そのため、大半の脆弱性データベースでは正真正銘の脆弱性を選別することが難しかったのですが、VulnDBは違いました。

2004年~2013年のSQLインジェクションの脆弱性

さらに、2010年と2012年にはWebアプリケーションのクロスサイトリクエストフォージェリ(CSRF)の欠陥の開示が大幅に増加しました。これらの欠陥は比較的発見しやすく、2010年までは開発者界隈でこの問題に対する重要な知識がありませんでした。CSRFの欠陥がいかにありふれた問題であり、時には最も有名なアプリケーションや製品にさえも蔓延していることを考えると、今でもその状態は続いていると言えるかもしれません。

2004年~2012年のクロスサイトリクエストフォージェリ(CSRF)の欠陥

 

Megavulns: Log4Shell、POODLE、Spectreなど 

VulnDBにおいては、弊社は驚くべきエントリをいくつか保有しています。Log4Shell、POODLE、Spectre、Heartbleedなど、よく知られている名前を持つ脆弱性には、何千もの文献や、多数の影響を受ける製品が存在する場合が多いです。弊社ではこれらの脆弱性を「megavulns(巨大な脆弱性、の意)」と呼んでいます。この名前は、一つ一つの脆弱性が非常に大きな規模であること、そしてそれらがいかに広く蔓延しているかに由来しています。

影響を受ける製品の数でmegavulnを見てみると、その数が最も多いのはLog4Shell、2位がPOODLE、3位がSpectre v2、4位がSpectre、5位がSWEET32となっています。Heartbleedは、上記のうちいくつかよりはその名が知られているものの、12位に留まっています。megavulnの上位30件を影響を受けた製品別に見ると、10件がLinuxカーネルに、5件がOpenSSLに、4件がOracle Javaに、4件が複数のCPUベンダーに、そして3件がApacheのライブラリにおける脆弱性です。このブログの執筆時点では、Log4Shellがあらゆる脆弱性の王者であり、文献数、製品のユニーク数、ベンダーのユニーク数、およびベンダーと製品の組み合わせたものの数において最多となっています。脆弱性データベースの範疇において、これらのエントリには困難が伴います。ニュースに繰り返し取り上げられることで普及するような名前を付けると、結果としてより多くのベンダーが独自のアドバイザリを公開せざるを得ないような心情を抱くことになります。これを実行するベンダーが多くなっているがゆえ、私たちもすべてのそういったデータを集め、絶えずエントリを更新していかなければなりません。時に私たちは、5年も前のmegavulnのエントリを更新することがあります。

 

面白い変わり種

これまで、弊社は(控えめに言っても)興味深い脆弱性の開示をいくつか見てきました。24年前、r00tグループがBugtraqに、LittleMaid製品の深刻なレースコンディションを警告する内容の、ブラックユーモアのあるアドバイザリを投稿しました。この投稿には、「この自動化された猫用トイレは、猫を押しつぶしてしまう可能性があり、『管理者(飼い主を指す)は新しい親友(つまり、押しつぶされた猫の代わりの新しい猫)を見つけなければならなくなります』」と書かれています。これはパロディ的なアドバイザリでしたが、それでもかなり面白いものとして際立っています。

このほかの変わり種としては、何年にもわたって行われている北朝鮮のLinuxディストリビューション「Red Star OS」に関連する情報開示も挙げられます。このオペレーティングシステムは、デフォルトのパーミッションの問題クライアントサイドのコード実行の問題、またその他多くの問題を抱えているようです。

それとは別に、どういうわけか、ベンダーがインストール時に管理者に独自のパスワードを設定させるのではなく、新しくインストールされるデバイスにデフォルトのパスワードを含めるのを、いまだに目にすることがあります。さらに悪いことに、管理者が変更できないハードコードされたパスワードとともにリリースされる新製品もまだ見受けられます。多くのものが「モノのインターネット」(IoT)アプローチに移行している中、上記のような製品には、灌漑システム、サーモスタット、風力タービン、ビル管理システムなどが含まれます。

 

虚構とNAV

本記事が公開されるまでに、VulnDBが収集した正規の脆弱性の数は正式に30万件を超えました。ただ、確かに私たちはVulnDBが30万件の脆弱性エントリを達成したと公表しましたが、脆弱性インテリジェンスの包括的な情報源には「不当な」開示も収集されることを、実務者は認識する必要があります。こういったタイプのエントリを含めることは顧客にとって価値があることであり、数を増やすための戦術として解釈されるべきではありません。「虚構または偽物」のエントリや、「Not a Vulnerability」、別名「NAV」(正当な不変性のバグだが脆弱性ではない、の意)のエントリを含めることで、お客様は、弊社がその問題を評価した上で根拠を持って明確にNAVとしてマークしたのだとすぐに判断でき、時間を無駄にせずに済みます。不当な開示はますます当たり前の存在になりつつあるため、これらについて簡単に振り返っておくことには価値があります。最初に弊社が目録に載せたのは、LinuxのSlackware上のプログラム「su」におけるローカルバッファオーバーフローで、1998年8月に開示されたものです。この開示の後、Bugtraqのモデレーターが誰もそれを再現できていないと指摘しました。また、このエクスプロイトコードは同モデレーターが公開した情報を使って作成されていたものでした。このことから、同モデレーターは2つの意味で信頼できる情報源と見なされました。それ以来、根拠のない脆弱性開示の問題はとてつもなく大きくなっています

VulnDBの歩みに関する気まぐれ情報

脆弱性をめぐる良いことや悪いこと、そして奇妙なことを辿るこの楽しい旅を終える前に、VulnDBのこれまでの歴史について、気まぐれにピックアップしたちょっとしたオマケ情報をいくつか共有します。まず、VulnDBに最初に登場したのがどの脆弱性だったのか、気になっている方がいるかもしれません。その答えは、「ColdFusionアプリケーションサーバーのパラメータ『OpenFilePath』の任意のファイル開示の脆弱性」だと言えます。多くの人(特にColdFusionがインストールされたセキュリティシステムを担当する管理者)は、ColdFusionを見て、軽蔑を含むさまざまな感情を抱くでしょう。

また、VulnDBの30万件目のエントリは結局、「LinuxカーネルSCSIのWRITE SAMEコマンドのNDOB Bitに関するNULLポインタ逆参照によるローカルDoSの脆弱性」となりました。VulnDBチームについてのちょっとした秘密は、奇妙で面白く、知名度の高い脆弱性を最終的に多数集められるよう最善を尽くすことです。実は当初、30万件目のエントリには「OracleのUnbreakable Linux」を選んでいましたが、その後の検証で、実はこれはむしろLinuxカーネルの脆弱性であることが判明しました。ここにもまた落とし穴があったのです。

 

Flashpointで脆弱性に対処しましょう

VulnDBは、あらゆる脆弱性インテリジェンスの情報源の中で最も包括的な製品で、あらゆる種類のIT、OT、IoTのほか、サードパーティライブラリや依存関係に影響を与える30万件超の脆弱性の詳細を提供しています。VulnDBを使用することで、セキュリティチームは導入済みのアセットに影響を及ぼす既知の脆弱性を特定し、それらを修正または軽減するために必要なすべてのものを手に入れることができます。今すぐ無料トライアルにご登録ください。

※日本でのFlashpointに関するお問い合わせは、弊社マキナレコードにて承っております。

また、マキナレコードではFlashpointの運用をお客様に代わって行う「マネージドインテリジェンスサービス(MIS)」も提供しております。

詳しくは以下のフォームからお問い合わせください。

Special Feature特集記事

Cyber Intelligenceサイバーインテリジェンス

Security情報セキュリティ