最速! 危険度の高い脆弱性をいち早く解説「脆弱性研究所」第10回-前編(2023年5月まとめ)
5月に公開された重大な脆弱性(CISA KEV参照)
5月に新たに公開された脆弱性の数は2639となります。この中で特に重大な脆弱性をいくつかピックアップして、2回に分けて説明したいと思います。
第三回で説明したCISAによる「実際に悪用されている脆弱性(Known Exploited Vulnerabilities Catalog)」のデータベース情報もあわせて載せています。
5月にCISAのKEVに登録された脆弱性はトータル19件で、内訳は
- Apple: 3件
- Cisco: 2件
- Linux Kernel: 2件
- Barracuda: 1件
- Zyxel: 1件
- SamSung: 1件
- Ruckus Wireless: 1件
- Red Hat: 1件
- Jenkins: 1件
- Oracle Java: 1件
- Apache Tomcat: 1件
- Microsoft: 1件
- TP-Link: 1件
- Apache Log4j2: 1件
- Oracle WebLogic: 1件
になっています。
参考情報
- CISA「Known Exploited Vulnerabilities Catalog」
1. Microsoftの月例更新。BlackLotusブートキットなど、既に攻撃が確認されている脆弱性の修正も含まれる
5/10にMicrosoftの月例更新が公開されました。この中には下記の3つの公開・悪用が確認されている脆弱性の修正が含まれています。
- 悪用を確認 : CVE-2023-29336 Win32k の特権の昇格の脆弱性
- 公開を確認 : CVE-2023-29325 Windows OLE のリモートでコードが実行される脆弱性
- 悪用および公開を確認 : CVE-2023-24932 セキュア ブートのセキュリティ機能のバイパスの脆弱性
IPAでも「これらの脆弱性の悪用が観測されているため、十分に注意するように」と注意喚起を出しています。
今回は、この中でも特に話題になった「CVE-2023-24932」と「BlackLotus」について取り上げたいと思います。
BlackLotusについて
CVE-2022-21894は、2022年1月に公開された脆弱性で、セキュアブートのセキュリティ機能をバイパスすることができる脆弱性になります。
- CVE-2022-21894
- CVSS Base Score: 4.4 Medium
- CVSS Vector: Vector: CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N
- セキュアブートのセキュリティ機能バイパスの脆弱性
BlackLotusは、このCVE-2022-21894 を悪用し、Windows 11などでUEFI セキュア ブートをバイパスできるUEFI ブートキットです。セキュリティ研究者のScott Scheferman氏のLinkedInの投稿によると、BlackLotusは80KB程度の小さなサイズで、ハッキングフォーラムで$5,000程度で販売されていた模様です。氏によると、このBlackLotusは署名されていないドライバーをロードし、BitLockerやWindows Defenderを無効にする可能性があります。
このCVE-2022-21894は、Microsoftの2022年1月の月例パッチで修正されたはずでした。しかし、前述のようにハッキングフォーラムでは2022年10月頃になっても引き続きBlackLotusブートキットが販売されていました。
ESET Researchが調査を行った結果、2023年3月1日にESETのブログで、このCVE-2022-21894に対する修正だけでは抜けがあることを指摘しました。ブログではCVE-2022-21894の影響を受ける署名されたバイナリファイルがUEFI失効リストに追加されていなかったため、引き続き悪用が可能であると書かれていました。結果としてBlackLotusは「正当に署名されているが脆弱性を含むバイナリ(bootmgfw.efi/hvloader.efiなど)」をシステムにコピーして脆弱性を悪用していたことが指摘されています。(ESETのブログには、このBlackLotusの起動プロセスが画像つきで細かく載っていますので、詳しくはESETブログを参照してください。)
これを受けてMicrosoftは、2023年4月11日に、組織内でCVE-2022-21894を悪用したBlackLotusが使用されていないかを調査するためのガイダンスを発表しました。
今回の脆弱性(CVE-2023-24932)の詳細
eSecurityPlanetによると、今回の「CVE-2023-24932」はCVE-2022-21894に対する2022年1月の修正後に、BlackLotusが修正を迂回するために使用していた脆弱性だった模様です。
- CVE-2023-24932
- CVSS Base Score: 6.7 Medium
- CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
- セキュアブートのセキュリティ機能バイパスの脆弱性
Microsoft社の「KB5025885: CVE-2023-24932 に関連付けられているセキュア ブートの変更に対する Windows ブート マネージャー失効を管理する方法」によると、今回の修正では先述の「バイナリファイルがUEFI失効リストに追加されていなかった」という問題を修正しています。しかし、これは同時に、「正当に署名された(過去は正当の)バイナリが失効リスト反映により使えなくなる」ということを意味しています。そのため、リカバリディスクなどが過去の(今回の修正で失効する)バイナリを含む場合には、リカバリディスクなどを用いた起動ができなくなる可能性があります。
そのため上述のKB5025885には、リカバリディスクの再作成方法などが記載されています。また猶予を持たせるために、CVE-2023-24932では以下の3段階で実行されることになりました。
- 初期展開 本フェーズは、2023 年 5 月 9 日にリリースされた更新プログラムから始まり、基本的な軽減策が提供されます。
- 2 番目の展開 本フェーズは、2023 年 7 月 11 日にリリースされた更新プログラムから始まり、問題を軽減するサポートが追加されます。
- 施行 軽減策を永続化する最後の施行フェーズです。 暫定的には 2024 年の第 1 四半期に予定されています。
システムを修正される際には、まずKB5025885を確認してみることをお勧めします。
参考情報
- 2023 年 5 月のセキュリティ更新プログラム (月例)
- Microsoft 製品の脆弱性対策について(2023年5月) (IPA)
- https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2022-21894
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-24932
- BlackLotus, the new UEFI rootkit that makes security researchers worry
- Scott Scheferman氏のLinkedIn投稿
- BlackLotus UEFI bootkit: Myth confirmed(ESET)
- UEFT失効リスト
- Guidance for investigating attacks using CVE-2022-21894: The BlackLotus campaign
- Microsoft Flaws Include Secure Boot Bypass, System-Level Takeovers (eSecurityPlanet)
- KB5025885: CVE-2023-24932 に関連付けられているセキュア ブートの変更に対する Windows ブート マネージャー失効を管理する方法
2. Keepassに脆弱性(KeePass 2.x Master Password Dumper: CVE-2023-32784)
オープンソースのパスワード管理ツール「KeePass」に、メモリダンプでマスターパスワードを復元できてしまう脆弱性(CVE-2023-32784)が発見されました。KeePassプロセスのダンプファイルやpagefile.sysなどが取得されると、「最初の文字列以外のマスターパスワードが復旧できてしまう」というものになります。
KeePassについて
KeePassはOSSのパスワード管理ツールになります。Windows/Linux/MacOS/FreeBSDなどに対応しています。
SaaSなどの増加に伴い、複数のユーザーID/パスワードを使い分けるシチュエーションが増えていますが、すべてのID/パスワードを覚えておくのは(少なくとも一般人には)非常に困難です。特にパスワード長の制限や、記号を必須で含むように指定されるケースも多いため、これらを覚えるのはますます困難になっています。かといって、すべてのSaaSなどに同じID/パスワードを使いまわしてしまうと、どこかのSaaSで漏洩が発覚した際に、あらゆるID/パスワードが危険にさらされるため、セキュリティ上の観点からは非常にリスキーです。
パスワード管理ツールは、その様なケースで力を発揮します。下記のようにID/パスワードを1つの暗号化されたDBファイルに登録しておけば、ユーザーはこの暗号化されたDBのマスターパスワード(Master Password)を覚えておくだけで、エントリとして登録されているSaaSなどのID/パスワードの保護に気を病む必要はありません。SaaSなどのID/パスワードをエントリとして登録していく際も、ツールがパスワードの自動生成機能を持っていますので、簡単に登録できます。
このように、一見、良いこと尽くめのパスワード管理ツールですが、ローカルの暗号化されたDBファイルが他者に取得された際に、この暗号化されたDBファイルを解読するためのマスターパスワードが知られてしまうと、中に登録されているすべてのID/パスワードが見られてしまう可能性があります。今回の脆弱性は、この点で「マスターパスワードをメモリダンプなどから解析することが可能になった」という点が問題になっています。
脆弱性の詳細
今回のアドバイザリで公開されたCVEは以下になります。
- CVE-2023-32784
- 2.54より前のKeePass 2.x
- CVSS Base Score: 7.5 High
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- 2.54より前のKeePass 2.xでは、ワークスペースがロックされていたり、プロセスが実行されていない状態でも、クリアテキ ストのマスタパスワードをメモリダンプから復旧することが可能です。メモリダンプはKeePassプロセスのダンプファイル、スワップ ファイル(pagefile.sys)、ハイバネーションファイル(hiberfil.sys)、システムの完全なRAMダンプなどです。最初の文字列は復旧はできません。
PoCについて
本件のPoCは、脆弱性を報告した研究者のGitHubで公開されています。PoCには.NETフレームワークが必要になります。 本記事においてPoCは実施していませんが、報告者のGitHubにPoCの様子を写したgifファイルが載っていますので、こちらのgifファイルを見て頂くとわかりやすいと思います。
脆弱性の影響
Sophos Naked Securityでも本件を取りあげており、サンプルプログラムを作成してダンプに何が残るのかなどを深く検証しています。これらの検証から、Sophos社が出した結論は以下のとおりです。
- KeePass ユーザーは、この脆弱性に関して慌てる必要はありません。技術的には悪用可能な脆弱性ですが、攻撃者がこのバグを利用してパスワードを解読する場合には、まずコンピュータにマルウェアを埋め込む必要があります。
- 影響を避けるためには、フルディスク暗号化をぜひ有効にしましょう。 スワップ ファイルやハイバネーションファイルなどがハードディスクに書かれる際に、BitLockerが有効化されていれば暗号化ボリュームで保護されます。
参考情報
- KeePass 2.X Master Password Dumper (CVE-2023-32784)
- KeePass.info
- Serious Security: That KeePass “master password crack”, and what we can learn from it
「脆弱性研究所」第10回の後編は、3. CiscoのSBS(Small Business Series Switches)製品に複数の脆弱性、4. Appleが初の「Rapid Security Response (RSR)」。iOS/macOSパッチを公開についての説明をいたします。
<著者> 面 和毅
サイオステクノロジー株式会社 上席執行役員
OSS/セキュリティエバンジェリスト
OSSのセキュリティ専門家として20年近くの経験があり、主にOS系のセキュリティに関しての執筆や講演を行う。大手ベンダーや外資系、ユーザー企業などでさまざまな立場を経験。
2015年からサイオステクノロジーのOSS/セキュリティエバンジェリストとして活躍中。また、ヒートウェーブ株式会社でも講師として活動中。
専門分野はSELinuxを含むOSのアクセス制御、AntiVirus、SIEM、脅威インテリジェンス。
「脆弱性研究所」の最新話は、メールマガジンにてもご案内致しています。是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします
最速! 危険度の高い脆弱性をいち早く解説「脆弱性研究所」の過去の記事はこちらから