先週、ラボは大量に出回った奇妙なマルウェア群を特定した。有効なAuthenticodeコードサイニング証明書でサインされたファイルだ。

Company X's stolen certificate

  このようなものを、我々は以前目にしたことがある。しかし今回のケースは、連絡先が非常に本物らしい点が奇妙だった。通常、有効だが悪意ある証明書では、詳細は明らかに虚偽であるか疑わしいものだ。

  私は、この証明書にある名称とアドレスに該当する企業を探し、産業用プロセス制御とオプティマイゼーション関連のサービスを提供する、小規模なコンサルティング会社を見つけた。

  この会社に連絡をとり、彼らのコードサイニング証明書が盗まれたことに気づいているかどうかを尋ねた。そして彼らがコードサイニング証明書を有していないと回答したため、事態は私にとってより興味深いものとなった。実際、彼らはソフトウェアを作成しておらず、それゆえサインすべきものなど何も無いのだ。明らかに、誰かが彼らの名前で証明書を獲得したわけだ。彼らはID窃盗の被害者ということになる。

  私は、被害者と不正な証明書にサインした認証局であるComodoの助けを借りて、このケースを調査した。そして同証明書が、実在の従業員の名前で申請され、Comodoは電子メールだけでなく、電話による確認も行ったことが分かった。この詐欺師は、その従業員の電子メールにアクセスすることができ、電話による確認は、違う人のところにかかったか、何らかの誤解があったようだ。そのため、電話によるチェックは、このケースを食い止めることができなかった。

  Comodoは不正な証明書の取り消しを行い、同証明書でサインされたすべてのファイルは、自動的にブロックされる。

  また、今回の調査で、私は被害を受けた従業員が、他のCA会社Thawteからの電話を受けとったことを知った。Thawteは彼女に、会社の名称でコードサイニング証明書を申請したかを尋ね、彼女はそれに対し「いいえ」と回答した。そしてThawteは、証明書受け付けのプロセスを打ち切った。どうやらこのマルウェアの作者は、アプリケーションプロセスを操作するため、すべてが上手く行くまで、複数のCAを試したようだ。

  このケースは、コードサイニングの信頼性に対して深刻な懸念を与えるものだ。

  詐欺師たちが企業の電子メールにアクセスできる場合、その企業からの申請が本物かどうかをCAが確認することは非常に難しい。将来的に、間違いが起きることもあるだろう。評判の良い無実の企業が、マルウェア作者のプロキシとして、有効な証明書を入手するために利用されるという、今回のようなケースを目撃することが増える可能性は高い。

  認証局は既に、疑わしい証明取得の試みや、その他のシステム悪用に関する情報をパスする手段を有している。しかし、これらのシステムは人間によって維持されており、それゆえ間違いも起こりうる。我々は、現行のシステムでは、証明書はファイルの素性に対する100パーセントの保障とはならないという事実を受け入れるべきだ。

  いくつかの認証局で提供されているシングルエントリの現状は、セキュリティの観点から見て良いことではない。認証局は、単一のドメイン名、たとえば「f-secure.com」が、一度に1つのレジストラのみがホスティング可能なドメイン名と同様、類似したプロセスを持つべきだ。

  また、コードサイニングあるいはSSL証明書は、一度に1つのCAのみにより署名することができるようにすべきだろう。

  そうすれば、何者かがエフセキュアの名前で証明書を得たいと考えた場合、その人物はエフセキュアが現在証明書を得ている、エフセキュアと取引関係のあるCAからのみ、獲得することができ、その結果、すべての証明書の新規リクエストは、既存の連絡窓口で確認されることになる。こうしたことを可能にするには、CAは情報リソースを集約する場所が必要となるだろう。

  すべてのCAが、どのような名称でも証明書を交付できるという現行モデルは、スキャムやソーシャルエンジニアリングの可能性があまりにも高いことを考えれば、セキュアではあり得ない。

  コードサイニングの悪用について、さらに知りたいとお考えの方のため、この10月、私は「T2 Information security conference」でプレゼンテーションを行う予定だ。

T2'10

サインオフ
ジャルノ