全2793文字
PR

 10年ほど前までは、有効なデジタル署名の有無でソフトウエア(実行ファイル)の安全性を判断するのが一般的だった。有効なデジタル署名が付与されていれば、マルウエアが混入している心配はないという認識が広くあった。

 だが、Stuxnetと呼ばれるマルウエアが出現した2010年あたりから徐々に、その認識が変わってきた。イランの核施設を狙ったサイバー攻撃に使われたStuxnetは、有効なデジタル署名が付与されていたからだ。

 Stuxnetの出現以降、有効なデジタル署名を持つマルウエアが目立つようになった。利用者を信用させるために、攻撃者はデジタル署名を悪用するようになっている。

 そこで今回は、デジタル署名を悪用する手口について、具体例を挙げて解説しよう。

デジタル署名の作成前に混入

 最初に紹介するのは、デジタル署名が付与される前にマルウエアを混入する手口だ(図1上)。2020年12月に明らかになった、米ソーラーウインズのネットワーク管理ソフトを狙ったサプライチェーン攻撃でもこの手口が使われた。この攻撃では大手企業や政府組織も被害に遭い、米国で大きな話題になった。1万人以上の利用者が影響を受けたとされる。

[画像のクリックで拡大表示]
ソーラーウインズ製品を狙ったケース
ソーラーウインズ製品を狙ったケース
[画像のクリックで拡大表示]
図1●デジタル署名が付与される前にマルウエアを混入
攻撃者は開発環境に侵入し、ソースコードにマルウエアを埋め込む。デジタル署名が付与される前なので、マルウエアが混入したプログラムに有効なデジタル署名が付与されることになる。2020年12月に明らかになった米ソーラーウインズを狙った大規模なサプライチェーン攻撃でもこの手口が使われた。

 この手口では、攻撃者は正規ソフトウエアの開発環境に侵入し、ビルド前のソースコードにマルウエアのコードを混入する。デジタル署名が付けられるのはソフトウエアのビルド時であるため、マルウエアが混入していながら有効なデジタル署名を持ったプログラムが完成する。これが正規のWebサイトなどを通じて利用者に配布される。

 ソーラーウインズ製品を狙った攻撃では、定期的に呼び出される関数の中にマルウエアのコードが埋め込まれた(同下)。改ざんされた箇所以外のプログラムは正常に動作する。マルウエアが混入された正規プログラム(DLLファイル)のプロパティを見ると、有効なソーラーウインズのデジタル署名が付いているのが分かる。またこの攻撃では、ビルドの直前にソースコードを改ざんし、ビルド後にはソースコードを戻すことで開発者に気づかれないようにしていたという。

 類似の事例として、ウクライナのM.E.Docが提供する会計ソフト「MEDoc」を狙った攻撃が知られている。2017年6月に発生した。MEDocのアップデートプログラムにランサムウエアが仕込まれ、多数の企業や組織に配布された。報道などによると、65カ国の企業・組織が被害に遭ったとされる。