ソフトウェアサプライチェーンの問題は厄介です。
つい最近もXZ Utilsの件で大きく話題となりました。
うまい具合にいつの間にか忍び寄るように仕立てられています。
またその手の手法が確認されています。
内容を見てみましょう。
- 攻撃の環境
悪用されている環境はGitHubです。
多くの開発者が利用するソフトウェア開発のプラットフォームです。 - 目に留まりやすくしてくる作戦1:自動更新します
GitHubで探し物をするとき、みなさんはどのように検索するでしょう。
せっかくならメンテナンスされているもののほうがいいですよね。
はい、じゃ、それここにあります。
攻撃者はGitHub Actionsの機能を使用し、非常に高い頻度でリポジトリを自動的に更新します。
これにより、ユーザーが「最近更新されたもの」で結果をフィルタリングする場合に、利用者がリポジトリを見つけてアクセスする可能性が高まります。 - 目に留まりやすくしてくる作戦2:人気あります
作戦はもう1個あります。
せっかくなら、たくさんの人に利用されているものが良い感じがしますよね。
GitHubにはStarという機能があります。
もともとはそのソフトウェアをダウンロードした利用者が感謝の気持ちを込めてStarをつける、とか、そういうものとして始まった機能です。
Starが多いと、なんだかそのソフトウェアはいいものに思えてきます。
ただ、最近はStarを購入できるサービスなんて言うものまででてきてしまっていますので、Starが多すぎるのも怪しい感じがします。
そこで、攻撃者はそこそこのStarが付いた状態を仕立てました。 - 見つかりにくくする作戦1:ファイルを大きくする
アンチウイルスなどの仕組みはいろいろなところで利用されます。
しかし、アンチウイルスも万能ではありません。
大きすぎるファイルは確認機能の負担が大きいため対象外となります。
攻撃者はここを突きます。
マルウェアの含まれるファイルを大きくなるように作成します。
今回は750MBのファイルとなっていました。
VirusTotalの通常の検証可能サイズは32MBです。
32MBを超えるサイズのものをアップロードできる機能もVirusTotalには搭載されていますが、それも650MBまでとなっています。 - 見つかりにくくする作戦2:ソースコードじゃないところに隠す
今回の例では、悪意あるコードはソースコードには埋め込まれていませんでした。
埋め込まれていた場所は、ソースコードをビルドするときに利用されるプロジェクトファイルでした。
ソフトウェアを一式入手した人が自身の環境でビルドを実行した際に、悪意あるものの取り込みが開始される仕組みでした。
どれも新しい手口ではありませんが、組み合わせて悪用されています。
GitHubなどの公開されたリポジトリは開発効率を格段に向上させてくれる可能性を持ちます。
うまく活用することで手間なく目的のアプリケーションを完成させることができます。
しかし、その効能の裏側には悪意ある機構をうっかり取り込んでしまう危険もあるということを考える必要があります。
参考記事(外部リンク):New Technique to Trick Developers Detected in an Open Source
Supply Chain Attack
checkmarx.com/blog/new-technique-to-trick-developers-detected-in-an-open-source-supply-chain-attack/
この記事をシェア |
---|