Lapsus$の最新情報:マイクロソフトの情報流出事案について精査する

Lapsus$は相変わらずのハイペースで情報流出を行っています。最近では、マイクロソフトのプロジェクト250件に不正アクセスし、内部ソースコードが外部に流出しました。GitGuardianでは、流出したソースコードを分析し、シークレットスプロールの有無を検証しました。

この記事はGitGuardian社のブログを翻訳したものです。

原題:Latest from Lapsus$, Reviewing the Microsoft Breach

https://blog.gitguardian.com/latest-from-microsoft-lapsus-breach/

Lapsus$は相変わらずのハイペースで情報流出を行っています。最近では、マイクロソフトのプロジェクト250件に不正アクセスし、内部ソースコードが外部に流出しました。Lapsus$によると、流出したソースコードのうち90%がBingのもので、45%はBing MapsとCortanaのものだということです。今回の流出は、サムスン、Nvidiaのソースコードの公開さらには、同グループが関与を主張するVodafone、Okta, Ubisoft、Mercado Libreのソースコード流出事案に続くものです。

Lapsus$が標的としているのは管理者アカウントですが、それ以外に企業のプライベートソースコードも積極的にターゲットにしていることが当社の分析からわかっています。こうしたソースコードの価値は、アプリケーションの脆弱性を見つけることができるという以外に、シークレットのような機密情報が高頻度で含まれているという理由もあります。

Lapsus$はどのようにして内部ソースコードにアクセスできたのか

Lapsus$の最初の侵入経路は明らかになっていませんが、マイクロソフトは同社のウェブサイトで、複数の手口が使われていたことを確認済みと発表しています。


マイクロソフトはまた、このグループ(マイクロソフト社内の呼称:Dev-0537)がGitHubの個人パブリックリポジトリ等から流出したとみられる、従業員の個人アカウントを使用していることについても言及しています。

「DEV-0537はまず個人のパーソナルまたはプライベート(業務ではなく個人使用の)アカウントに不正にアクセスし、それを足掛かりとしてほかの社内システムへのアクセスが可能な別の認証情報を探すといったケースもあります。」

情報ソース:https://www.microsoft.com/security/blog/2022/03/22/dev-0537-criminal-actor-targeting-organizations-for-data-exfiltration-and-destruction/

このことは、Lapsus$がどのように組織に侵入しているかを解明するヒントであり、入手経路がアクセス権のない人物からの購入あるいは悪意のあるツールを使った窃取であれ、シークレットと相関関係があることは明らかです。

マイクロソフトは、今回の攻撃による被害は極めて限定的であると発表している一方で、以下のような措置をとっています:

「今回確認された活動において顧客のコードまたはデータのいずれにも影響はありません。当社で調査を実施したところ、不正アクセスされたアカウントは1件であり、これについてはアクセスを制限しました。」

情報ソース:https://www.microsoft.com/security/blog/2022/03/22/dev-0537-criminal-actor-targeting-organizations-for-data-exfiltration-and-destruction/

また、ソースコードの機密性は、同社のセキュリティの取り組みにおいて必須ではないとしています。

「マイクロソフトではコードを機密にすること自体を重要なセキュリティ施策であるとは認識していません。ソースコードが参照できる状態になっていることが、そのままリスクの上昇にはならないということです。」

情報ソース:https://www.microsoft.com/security/blog/2022/03/22/dev-0537-criminal-actor-targeting-organizations-for-data-exfiltration-and-destruction/

GitGuardianによるマイクロソフトソースコードの分析

GitGuardianではマイクロソフトのソースコードを詳しく検証しました。その結果、同社ソースコードにおいてセキュリティに対する明確な取り組みが確認できました。とはいうものの、ソースコードには多くの機密情報が見つかっています。

サムスンからのソースコード流出後、GitGuardianではリポジトリ内に確認されたシークレット件数(APIキー、セキュリティ証明書、認証情報等)について分析を実施していますが、今回マイクロソフトのソースコードについても同様の分析を実施しました。

その結果、マイクロソフトから流出したプロジェクト内には全部で376件のシークレットが検出されました(Detector名をクリックすると説明ページにジャンプします):

Detector名検出件数
generic password150
microsoft azure storage account key80
company email password30
azure subscription key25
odbc connection string24
azure service management certificate13
bearer token9
googleaiza9
username password7
basic auth string6
aws iam5
okta token5
okta keys3
private key rsa3
base64 basic auth2
generic cli option secret1
generic database assignment1
private key generic1
sendgrid1
username and password in ftp1

件数を見ると警戒すべき数字ではあるものの、同レベルのセキュリティ体制の組織と比較した場合、その件数は約半分ほどです。このことから、マイクロソフトがソースコードに機密情報が入り込まないよう措置を講じていることが分かります。その一方で、セキュリティ意識の高い企業であっても、シークレットの流出は重大な問題になることが示されました。

GitGuardianには、被害企業による調査・分析の妨げにならないよう、情報流出で漏えいしたキーが現在アクティブかどうかは検証しないという方針があります。そのため、現在どのキーが現在アクティブか、あるいは情報流出時点でアクティブだったかについては確認できません。

検出されたシークレットの種類

検証したキーの大半は、アプリケーション内で使われているシークレットの特徴を示しています。そのため、当社ではマイクロソフトの内部システム、インフラへのアクセス権を持つ人は多くいると考えています。そうしたシステムがどれくらい重要なものか、またマイクロソフトの別のセキュリティポリシーでアクセス制限をしているかどうかは不明です。しかし、これらがLapsus$にとって貴重な資産であることは間違いありません。

AWSキー

当該ソースコードには5件のAWS IAMキーが検出されました。以下は、あるサードパーティーのデータ転送プロジェクトで見つかったキーの一例です。

AWSキー

Azureサブスクリプションキー

AzureサブスクリプションキーはPythonファイルで見つかっています。これらは、Bing検索、翻訳、音声認識のためにAzureにより提供されるAPIのものです。危険度は様々ですが、危険度の低いキーであっても、サービスのブロックや重要リソースの使用に使われる可能性があります。

Azureサブスクリプションキー

RSAプライベートキー

RSAプライベートキーは3件見つかっています。以下は、機密の.pemファイルに見つかったキーの一例です。これらのキーは、データの復号化やデータの正当性の偽造に使われることがあります。

RSAキー

認証情報ペア

ユーザー名とパスワードの組み合わせは多数検出されました。以下は、アプリケーションの設定ファイルで検出された一例です。こうした認証情報は、データベースへのアクセスなど様々なサービスで使われる可能性があります。

認証情報ペア

機密ファイルはなぜソースコードに存在するのか

中心的なソースコードリポジトリは、マイクロソフト規模の組織の場合、膨大な人数の開発者からアクセス可能です。ですが、これほどの開発者数、さらにはGitのようなバージョン管理システムの厳格な性質を考えると、(誰もが認める悪しき慣習であるにもかかわらず)機密情報がコミットされた場合、ミスの頻発は必至でしょう。

GitGuardianが発行する「State of Secrets Sprawl」レポートでは、コードリポジトリ内のシークレットの漏えいあるいはスプロール化を管理するアプリケーションセキュリティエンジニアの大変さについて取り上げています。

2021年の平均では、開発者400名、アプリケーションセキュリティエンジニア4名という平均的な企業の場合、リポジトリとコミットのスキャンで1,050件のシークレット漏えいが検出されます。各シークレットは平均して13か所で検出されることから、対応のための業務量は現時点のAppSec(アプリケーション・セキュリティ)チームの能力を超えています(開発者100名あたり1名のAppSecエンジニア)
情報ソース:https://www.twx-threatintel.com/threat-intelligence/20220317/secretssprawl2022/

マイクロソフトのソースコードに含まれるシークレット件数は、同規模の組織と比べた場合、はるかに少ない件数です。このことは同時に、かなりのリソースを割き、どれほどセキュリティに力を入れている企業であっても、ソースコードから機密情報を排除することは難しいということを示しています。