2022年 1月18日公開

企業のITセキュリティ講座

SolarWinds社のサプライチェーン攻撃に見るDevSecOpsの重要性

ライター・吉澤亨史

2020年、SolarWinds社が開発するOrion Platformにサプライチェーン攻撃が行われ、非常に多くの企業や組織が影響を受けた。こうした能動的なサイバー攻撃だけでなく、脆弱(ぜいじゃく)性のあるアプリが多数流通してサイバー攻撃に悪用されることも少なくない。こうした問題は、開発段階からセキュリティを組み込む「DevSecOps」や「シフトレフト」などにより防ぐことができる。今回はこれらについて紹介する。

SolarWinds社へのサプライチェーン攻撃とは

普段から使用しているソフトウェアが、突然マルウェアをダウンロードしたり、重要なファイルにアクセスしたりし始めたらいかがだろうか。そのソフトウェアが不審な動作をしているとは思わず、別のサイバー攻撃を疑うかもしれない。そんなサイバー攻撃が2020年12月に発生した。

サイバー攻撃者は、米国のSolarWinds社が提供する「Orion」という製品のサプライチェーンを侵害し、製品の中に悪意のあるコンポーネントを忍ばせていた。この侵害はかなり以前から行われていたが、サイバー攻撃者は攻撃せずにじっと待っていた。何を待っていたのかというと、Orionが広く普及するのを待っていたのだ。そして導入社数が30,000件を超えたことをきっかけに攻撃を開始した。

Orionは、企業のネットワークやサーバーなどを遠隔から一括で管理できるソフトウェアである。そのため、サプライチェーンに潜り込んだサイバー攻撃者はサーバーのデータにも容易にアクセスできるし、マルウェアを仕込むことも簡単だ。このサイバー攻撃により、18,000のOrion導入企業が被害に遭った。米国の政府や軍も侵害を受けており、日本でも被害が確認されている。攻撃者グループはロシア政府とつながりがあると見られている。

こうした正規のソフトウェアアップデートなどを利用したセキュリティ侵害は、今に始まったことではない。2014年には動画再生ソフト「GOMプレイヤー」やテキストエディター「EmEditor」などのアップデート配布サーバーが攻撃を受け、マルウェアを含んだアップデータが配布されてしまった。最近は自動アップデートを行うソフトウェアが多いため、悪用された場合の対処が難しい。

SolarWinds社のケースは、サイバー攻撃者が開発に潜り込んだ点が従来の攻撃との大きな違いとなっている

目次へ戻る

サプライチェーン攻撃への対策方法

ソフトウェアの多くは、起動時に最新のアップデートの有無を確認し、最新版があれば自動的にダウンロードして実行する。この際、アップデータの圧縮に独自の形式が使われることが多い。このため、エンドポイントのセキュリティ対策ソフトでは悪意のあるものが潜んでいても検知することは困難を極める。

現在、多くのソフトウェアとそのアップデータにも証明書が使用されており、アップデータが正しい発行元で製作されており、改ざんされていないことを確認できる。しかし、正規のソフトウェアやアップデータに悪意のあるものが仕込まれている場合には、そもそもこの手は通用しない。

侵入時点での検知が難しいため、マルウェアが動作を開始したタイミングや、外部からの指示によりネットワーク内を移動し始めたタイミングで検知する方法が有効となる。ファイル自体ではなく、不審な動作そのものを検知できるセキュリティソリューションだ。

例えば、EDR(エンドポイントにおける検知と対応)やNDR(ネットワークにおける検知と対応)を導入することで、エンドポイントやネットワークから取得したログの解析で不審な動作を洗い出すことができる。SolarWinds社のようなソフトウェアの場合は、DLP(情報漏えい対策)も有効な対策といえるだろう。

SolarWinds社のケースでは、アップデータから不審なものを検知するのは難しい

目次へ戻る

開発段階からセキュリティを組み込む重要性

サプライチェーンというと、原料から製品ができあがるまでの一連の商流のことを指すのが一般的だが、このセキュリティ侵害の場合はソフトウェア開発のサプライチェーンを指す。ソフトウェアは、幾つかのコンポーネントにより構成されていることが多い。例えば、通信機能や周辺機器と接続する機能などは、広く公開されているオープンソースの汎用(はんよう)コンポーネントが使用される。

汎用のコンポーネントなら最低限必要な機能を簡単に実装でき、開発のコストや時間を軽減できる。しかし、こうしたコンポーネントには脆弱性が存在することが少なくない。そうすると、開発段階から脆弱性を抱え込んでしまうことになり、攻撃を受けやすくなってしまう。開発の後半で脆弱性を修正することは難しいため、早い段階から脆弱性のチェックを実施する必要がある。

こうしたソフトウェア開発における問題は、ソフトウェアメーカーだけに限らない。最近ではDX(デジタルトランスフォーメーション)のために、自社でソフトウェアやアプリケーションを開発するケースも増えつつある。オープンソースのコンポーネントに内在する脆弱性は、共通の手法で攻撃が可能になるため、サイバー攻撃者による当てずっぽうの攻撃でも影響を受ける可能性がある。

開発側と運営側が連携することで、短いサイクルでソフトウェアやアプリケーションに修正や機能追加を行っていくことを「DevOps」(デブオプス)と呼ぶが、最近ではそこにセキュリティ部門も参加して安全性をチェックしていく「DevSecOps」(デブセックオプス)が求められている。

これは「セキュリティ・バイ・デザイン」や「シフトレフト」とも呼ばれる。シフトレフトは、左から右へ進むソフトウェア開発の概念図のより上流(左側)でセキュリティをチェックしようという考え方だ。今後さらにソフトウェアやアプリケーションの重要性が高まっていくと思われる。利用する側も開発する側も、早期に悪意のある攻撃に気付くことができる環境が必要であろう。

DevSecOpsでは、開発、運用に加えセキュリティも連携してソフト開発を行う

目次へ戻る

関連記事