Mac OS X ML 10.8 でディスク暗号化を作成します (Disk utiliti を使用するか、コマンド hdiutil を使用します)。そのディスクのファイルを読みたいのですが、マウントできません。マウントすると、マウントを解除する前に別のアプリがそれを読み取ることができるためです。私を助けてください。
2 に答える
唯一の合理的な方法は、ディスク イメージをマウントすることだと思います。-mountrandom
安全に行うには、および-nobrowse
オプションを に使用できますhdiutil attach
。これにより、ランダム化されたパス名でディスク イメージがマウントされ、UI に表示されなくなります。
hdiutil attach -mountrandom /tmp -nobrowse /tmp/secret_image.dmg
ディスク イメージに HFS パーティションが 1 つだけあると仮定すると、次のようにランダム化されたマウント パスを解析できます。
hdiutil attach -mountrandom /tmp -nobrowse /tmp/secret.dmg | awk '$2 = /Apple_HFS/ { print $3 }'
または、-plist オプションを使用して、XML ツールを使用して解析したり、.xml を使用して json に変換したりできる plist XML 形式で出力を取得できますplutil -convert json
。
もちろん、ルート アクセス権を持つ攻撃者は、新しいマウントを監視し、ディスク イメージをアンマウントする前に傍受することができますが、攻撃者がルート アクセス権を持っている場合、ほとんどすべての賭けが外れます。
これを行うには、自分で dmg ファイルを読み取って復号化し、ディスク イメージ内の HFS ファイル システムを解釈してファイルを取得する必要があります。簡単ではありませんが、確かに可能です。HFSExplorerのソース コードを見てみましょう。
しかし、私はこれにあまりエネルギーを注ぎません。読みやすい別のファイル形式を使用して暗号化されたデータを保存するか、pajps ソリューションを使用してください。そして、何をしても、ファイルを復号化すると、ユーザーは復号化されたデータにアクセスできることを忘れないでください。これを難しくすることはできますが、防ぐことはできません。