GitHubから悪意あるVisual Studioプロジェクト配布、注意を
マイナビニュース2024年4月12日(金)8時46分
Checkmarxは4月10日(米国時間)、「New Technique Detected in an Open Source Supply Chain Attack」において、GitHubリポジトリから悪意のあるVisual Studioプロジェクトが配布されたとして、注意を呼び掛けた。このプロジェクトをビルドすると悪意のあるコードが実行され、マルウェア「Keyzetsu Clipper」の亜種がインストールされるという。
○悪意のあるVisual Studioプロジェクトの詳細
Checkmarxによると、発見された悪意のあるVisual Studioプロジェクトは、多くの被害者を生み出すためにGitHubの検索システムを悪用するという。GitHubには「Sort by: Recently updated(最近更新されたもの)」という検索フィルターが存在する。この検索結果の上位に表示され続けるために、GitHub Actionsを利用して自動的に小さな変更を頻繁に繰り返す。
また、リポジトリの信頼性を向上させるために架空のユーザーを作成し、控えめな数の偽スターを追加するという。リポジトリのStargazersを確認すると、ほぼ同一期間に作成されたアカウントからスターが付けられており不自然なことがわかる。
悪意のあるコードはリポジトリの「.csproj」または「.vcxproj」ファイルに埋め込まれており、ビルドプロセスの初期段階(PreBuildEvent)にて実行される。VBScriptで記述されたこのコードは難読化されたPowerShellスクリプトを展開して実行する。PowerShellスクリプトは次の処理を実行する。
環境のIPアドレスから国コードを区別し、ロシアで実行されているか判断する
国コードに基づいて特定のURLから暗号化されたペイロードをダウンロードする
ペイロードを復号して実行する
○マルウェア「Keyzetsu Clipper」の亜種
最終的に実行されるマルウェアはセキュリティソリューションの検出を回避するために、サイズを750MBにパディングしているという。そのため、VirusTotalに登録・調査することはできない。
マルウェアを分析したところ、「Keyzetsu Clipper」と類似点があるとされ、その亜種とみられている。このマルウェアはクリップボードを監視して暗号資産ウォレットのアドレスを攻撃者のアドレスに差し替える機能を持ち、暗号資産を窃取するとされる。
○対策
Checkmarxはこのような攻撃を回避するために、次のような対策を推奨している。
リポジトリの存続期間に対して多すぎるコミット数が存在したり、同じファイルに繰り返したりするコミットがある場合は注意する
リポジトリのStargazersを確認し、同一期間に作成されたアカウントからスターが付けられていないかどうかを確認する
Checkmarxは開発者に対し、オープンソースを盲目的に信用することは無責任だとして、徹底したコードレビューを実施して採用するように求めている。また、xzの事案のようにアップデート後に悪意のあるコードが追加されることがあるため、セキュリティソリューションによるコード検査の徹底も推奨されている。Checkmarxは、今回の調査の過程において判明したセキュリティ侵害インジケーター(IoC: Indicator of Compromise)を公開しており、必要に応じて活用することが望まれている。
○悪意のあるVisual Studioプロジェクトの詳細
Checkmarxによると、発見された悪意のあるVisual Studioプロジェクトは、多くの被害者を生み出すためにGitHubの検索システムを悪用するという。GitHubには「Sort by: Recently updated(最近更新されたもの)」という検索フィルターが存在する。この検索結果の上位に表示され続けるために、GitHub Actionsを利用して自動的に小さな変更を頻繁に繰り返す。
また、リポジトリの信頼性を向上させるために架空のユーザーを作成し、控えめな数の偽スターを追加するという。リポジトリのStargazersを確認すると、ほぼ同一期間に作成されたアカウントからスターが付けられており不自然なことがわかる。
悪意のあるコードはリポジトリの「.csproj」または「.vcxproj」ファイルに埋め込まれており、ビルドプロセスの初期段階(PreBuildEvent)にて実行される。VBScriptで記述されたこのコードは難読化されたPowerShellスクリプトを展開して実行する。PowerShellスクリプトは次の処理を実行する。
環境のIPアドレスから国コードを区別し、ロシアで実行されているか判断する
国コードに基づいて特定のURLから暗号化されたペイロードをダウンロードする
ペイロードを復号して実行する
○マルウェア「Keyzetsu Clipper」の亜種
最終的に実行されるマルウェアはセキュリティソリューションの検出を回避するために、サイズを750MBにパディングしているという。そのため、VirusTotalに登録・調査することはできない。
マルウェアを分析したところ、「Keyzetsu Clipper」と類似点があるとされ、その亜種とみられている。このマルウェアはクリップボードを監視して暗号資産ウォレットのアドレスを攻撃者のアドレスに差し替える機能を持ち、暗号資産を窃取するとされる。
○対策
Checkmarxはこのような攻撃を回避するために、次のような対策を推奨している。
リポジトリの存続期間に対して多すぎるコミット数が存在したり、同じファイルに繰り返したりするコミットがある場合は注意する
リポジトリのStargazersを確認し、同一期間に作成されたアカウントからスターが付けられていないかどうかを確認する
Checkmarxは開発者に対し、オープンソースを盲目的に信用することは無責任だとして、徹底したコードレビューを実施して採用するように求めている。また、xzの事案のようにアップデート後に悪意のあるコードが追加されることがあるため、セキュリティソリューションによるコード検査の徹底も推奨されている。Checkmarxは、今回の調査の過程において判明したセキュリティ侵害インジケーター(IoC: Indicator of Compromise)を公開しており、必要に応じて活用することが望まれている。
「悪意」をもっと詳しく
「悪意」のニュース
-
連合学習において一部のクライアントに異常や悪意がある場合にも高精度にAIモデルを学習可能な手法を開発〜LLM tsuzumi の学習への適用やIOWN機能としての実用化を目指す〜5月7日15時10分
-
『仮面ライダーガッチャード』第34話「オンリーワン!すべての道はゴージャスに通ず」、迫る悪意に立ち向かえ5月4日12時0分
-
Androidアプリに悪意あるコードを追加して再配布するマルウェアに注意5月2日8時31分
-
批判殺到!「悪意しか感じない」「遺恨になる」 “疑惑のジャッジ”が発生! 審判が抗議を無視、後味が悪すぎるゲームセットの瞬間 “連続退場劇”の結末がヒドいと話題に4月23日21時55分
-
Rustの圧縮ライブラリ「liblzma-sys」にxzの悪意あるコードが混入4月16日9時57分
-
圧縮ツールxzに仕掛けられたバックドア、その巧妙な手口が明らかに4月15日11時23分
-
VAR確認中にPK蹴ったドルトムントMFが弁明「笛の音が聞こえたんだ。悪意はなかった」4月14日17時18分
-
GitHubから悪意あるVisual Studioプロジェクト配布、注意を4月12日8時46分
-
下級生を死に追いやった上級生に「悪意はなかった」…常識からかけ離れた宝塚歌劇団の「危機対応」の重いツケ4月4日9時15分
-
PyPIが登録を一時停止、悪意あるパッケージの大量アップロードに対抗4月1日9時49分
ITニュースランキング
-
1「当店の従業員はマスクを外して業務を行います」吉野家の貼り紙が物議 全店の方針なのか聞いた ねとらぼ
-
2Googleオフィスに警察、社員50人超を解雇 抗議デモ対応が見せつけた“IT界の巨人”の変貌ぶりとは ITmedia NEWS
-
3PayPayの「あなたのまちを応援プロジェクト」、7月以降に6自治体で開催 最大30%のポイント還元 ITmedia Mobile
-
4「完全に実写版トニオ」と話題のモデル、“ジョジョ婚”の高橋一生&飯豊まりえをお祝い「素敵な二人のメインキャスト」 ねとらぼ
-
5療養中の「EXILE」ATSUSHI、半年ぶりの姿が“さらにワイルド化” 「ロン毛いいやん」「髪の長いアツシさんも素敵」と注目集まる ねとらぼ