MAC OS Xでのパスワードの分離-マルウェアの進化?

フィンランドの研究者Juuso Salonenは、特別なユーティリティ( http://juusosalonen.com/post/30923743427/breaking-into-the-os-x-keychain )を公開しました。その目的は、キーチェーンパスワード管理サブシステムからパスワードを抽出することです。 Keychaindumpはすでに、このアプローチがMAC OS X用の悪意のあるコードの開発にうまく使用できると確信している研究者の注目を集めています。

MAC OS 8.6で初めて導入されました。 キーチェーンには、さまざまな種類のパスワード情報(WEBサイト、FTP、SSHアカウント、ネットワーク「ボール」へのアクセス、ワイヤレスネットワーク、デジタル証明書のフォーム)が保存されます。



キーチェーンファイルは、それぞれ〜/ライブラリ/キーチェーン/、/ライブラリ/キーチェーン/、および/ネットワーク/ライブラリ/キーチェーン/に保存されます。 デフォルトのキーチェーンファイルである「ログイン」は、ユーザーパスワードを使用してユーザーがシステムに正常にログインした直後に、自動的にロックを解除します。 ただし、そのための実際のパスワードは、ユーザーが使用しているものと異なる場合があります。 同時に、ゼロのパスワードを設定することは許可されていません。システムの長時間のダウンタイム中に、時間の経過とともに自動ブロックが実行されます。



画像

画像



ユーザーがキーチェーンのロックを解除するとすぐに、パスワードは24バイトの「マスターキー」に変わり、「securityd」プロセスのメモリセグメントに保存されます。 別の調査を通じて、特定の保存された構造が「マスターキー」を指すメモリ領域で特定されました。 これには、サイズが8バイトで、対応する値が「0x18」(16進数で24)のフィールドが含まれます。



$ sudo ./keychaindump

[*] Searching process 15 heap range 0x7fa809400000-0x7fa809500000

[*] Searching process 15 heap range 0x7fa809500000-0x7fa809600000

[*] Searching process 15 heap range 0x7fa809600000-0x7fa809700000

[*] Searching process 15 heap range 0x7fa80a900000-0x7fa80ac00000

[*] Found 17 master key candidates

[*] Trying to decrypt wrapping key in /Users/juusosalonen/Library/Keychains/login.keychain

[*] Trying master key candidate: b49ad51a672bd4be55a4eb4efdb90b242a5f262ba80a95df

[*] Trying master key candidate: 22b8aa80fa0700605f53994940fcfe9acc44eb1f4587f1ac

[*] Trying master key candidate: 1d7aa80fa0700f002005043210074b877579996d09b70000

[*] Trying master key candidate: a0a20000000200f7474d400000700d01a980fa00007f085e

[*] Trying master key candidate: 180000000000000000000000000000000000000007000001

[*] Trying master key candidate: 0000b107000001000000803e970aa8710ae567eff7ff0000

[*] Trying master key candidate: 796a63507e6c2a84d9f095fae2896058dfe029cd0f7105da

[*] Trying master key candidate: 16ac866d636215c01e337e942f48cfed12d7c45bfab8dbf7

[*] Trying master key candidate: 070020539baab0d1d6a3aa80fa006877ed57f80fa0000000

[*] Trying master key candidate: 88edbaf22819a8eeb8e9b75120c0775de8a4d7da842d4a4a

[+] Found master key: 88edbaf22819a8eeb8e9b75120c0775de8a4d7da842d4a4a

[+] Found wrapping key: e9acc39947f1996df940fceb1f458ac74b877579f54409b7

xxxxxxx:192.168.1.1:xxxxxxx

xxxxxxx:news.ycombinator.com:xxxxxxx

xxxxxxx@gmail.com:login.facebook.com:xxxxxxx

xxxxxxx@gmail.com:smtp.google.com:xxxxxxx

xxxxxxx@gmail.com:imap.google.com:xxxxxxx

xxxxxxx@gmail.com:api.heroku.com:xxxxxxx

xxxxxxx:www.freechess.org:xxxxxxx

xxxxxxx:twitter.com:xxxxxxx

xxxxxxx@gmail.com:www.google.com:xxxxxxx

xxxxxxx:imap.gmail.com:xxxxxxx








「マスターキー」を取得することにより、いわゆる「ラッピングキー」が開示される可能性があります。 復号化することにより、保存されたパスワードをクリアテキストで取得することが可能になります。 研究者は、この脆弱性はOSアーキテクチャ自体の抜け穴を使用していると考えています。 主な問題は、ルートが他のユーザーのキーチェーンを読み取ることができ、「マスターキー」と「ラッピングキー」自体の検索が非常に原始的であることです。



詳細: http : //juusosalonen.com/post/30923743427/breaking-into-the-os-x-keychain



All Articles