セキュリティ

データ侵害が発生したパスワード管理アプリ「LastPass」をクラッキングする方法をセキュリティ研究者が実演


2022年8月にパスワード管理アプリ「LastPass」のソースコードの一部が何者かに盗み出されたことが報じられ、その後、2022年12月になってようやくLastPassはユーザーデータが不正アクセスされたことを認めました。この事件によりユーザーがパスワードを保管している「Vault(保管庫)」のデータが流出したことが報告されており、パスワードの流出が懸念されています。この事件を受け、セキュリティ研究者のナズ・マルクタ氏が「Vaultをクラッキングする方法」を実演し、その危険性に警鐘を鳴らしました。

Cracking encrypted Lastpass vaults | Markuta
https://markuta.com/cracking-lastpass-vaults/

LastPass Security Breach UPDATE: What You Need to Know
https://www.secureblink.com/cyber-security-news/last-pass-security-breach-update-what-you-need-to-know

LastPassのデータ侵害事件では、ユーザーがパスワードを保管する「Vault」のバックアップ、会社名やエンドユーザー名、請求先住所、電子メールアドレス、電話番号、IPアドレス、ソースコードやその他の知的財産が流出したと報告されています。マルクタ氏は「盗まれたデータがどのようなものか、どのように暗号化されているかは不明ですが」と前置きしつつ、流出した情報で攻撃者がどのようなことを行えるのかを検証しました。


マルクタ氏が使用するのは「Hashcat」というパスワードクラックツール。データを取得する入り口はLastPassのChrome拡張機能です。

Chromeでは各拡張機能は一意のIDを持っており、Lastpassの拡張機能には「hdokiejnpimakedhajhdlcegeplioahd」というIDが割り当てられています。Lastpassの拡張機能を導入したChromeでアドレスバーから「chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/vault.html」にアクセスすると、自分のVaultへのログインページが表示されます。マルクタ氏は「このページは、ブラウザ内でHTMLとJavaScriptを使用するローカルサイトと考えることができます」と指摘。ここからクラッキングが始まります。


すべての拡張機能には独自のフォルダがあり、OSによって異なる場所にシステムのローカル上に保存されます。Windowsなら「%LocalAppData%\Google\Chrome\User Data\Default\databases\chrome-extension_hdokiejnpimakedhajhdlcegeplioahd_0」です。

このフォルダにはおそらく「1」という名前のSQLiteファイルがあるとのこと。これは暗号化されたVaultのデータが保存され、拡張機能で使用されるものです。SQLiteファイルはDB Browser for SQLiteなどのツールを使って、データベースの中身を見ることができます。このうち、興味深いデータはすべて「LastPassData」と呼ばれるテーブルに格納されています。ここから、クラッキングに必要なデータを探っていきます。


Hashcatを使用してVaultのパスワードのクラックを開始するには、「Key-Value」「Iteration count」「アカウントのメールアドレス」という3つの情報が必要。これらは「Key-Value:Iteration count:メールアドレス」という形にフォーマットする必要があります。

まずKey-Valueを取得するには、検索カラムでwhere value keyを選択し、データカラムで2行目を選択すればよいとのこと。以下の「T4vInfZ+6MGDeendq4gvA==」がその一例です。これはSQLクエリを実行することでも取得可能。取得した値はbase64でエンコードされているので、デコードして16進数の値を取得することができます。デコードすると「4f8bc89df67ee8c1837847a776ae20bc」となり、これがKey-Valueとなります。


Iteration countを取得するには、検索カラムでwhere value acctsを選択し、データカラムの「;」の前の最初の数文字を検索します。得られた値は「100100」です。

最後にメールアドレスですが、データベースに保存されているのはハッシュ化されたものであるため、本来は不明なはずです。しかし、前述のデータ侵害でメールアドレスも流出しているため、ここでは問題ではありません。

すべての要件をまとめると、フォーマットは「4f8bc89df67ee8c1837847a776ae20bc:100100:メールアドレス」となります。

マルクタ氏がMacBook Airを用いてパスワードをクラックしてみたところ、毎秒1100回の攻撃に成功し、比較的簡単に推測可能なパスワードを使用していたアカウントのVaultをクラッキングできたとのこと。この攻撃回数は決して多いとはいえませんが、最適化されたドライバを用意した攻撃者であれば、簡単に毎秒200万回程度の速度に到達させることができるとのことです。

LastPassの問題を調査したセキュリティ企業のSecure Blinkは「攻撃者は、ユーザーのマスターパスワードをブルートフォースで推測し、持ち出したVaultのデータのコピーを復号しようとしたかもしれません。しかし、LastPassは顧客保護のためにハッシュ化および暗号化を行っているため、特にパスワードのベストプラクティスを順守している顧客にとっては、マスターパスワードのブルートフォースによる推測を試みることすら困難でしょう。LastPassは最新のパスワードクラッキング技術を自社のアルゴリズムと比較するテストを定期的に行い、暗号制御の改善を図っていると述べています。万が一の事態を避けるために、強力でユニークなパスワードを作成することをおすすめします」と述べました。

この記事のタイトルとURLをコピーする

・関連記事
パスワード管理アプリ「LastPass」のソースコードが盗まれる事態が発生 - GIGAZINE

パスワード管理アプリ「LastPass」から盗み出したソースコードを使ってハッカーが顧客データにアクセスしたことが判明 - GIGAZINE

パスワード管理アプリ「LastPass」のパスワードや個人情報が盗まれていたことが判明 - GIGAZINE

in セキュリティ, Posted by log1p_kr

You can read the machine translated English article here.