web-dev-qa-db-ja.com

OS Xとキーロガーのパスワード入力

私の「パーソナルセキュリティインフラストラクチャ」にはいくつかの場所があります(そのためのより適切なフレーズはありますか?)私は、OS Xのテキストフィールドに非常に重要なパスワードを入力しているところを見つけます(たとえば、非常に機密性の高いデータを含むサムドライブを暗号化解除してマウントします)。 )

キーロガーは(多分不合理に)恐れています。これらは、システムレベルの脆弱性を欠くか、パスワードを入力するときに自分の活動を物理的に監視(または記録)する方法として考えられる唯一の方法だからです。私が使用している他の安全なシステムでは、キーロガーが攻撃者の仕事を難しくしすぎないようにするために、マウスなどを使用してパスワードの最後の部分を入力するオプションがあります。

tl; dr:OS Xのシステムレベルのパスワードエントリに対するキーロガー攻撃を(部分的に)無効にする方法はありますか?

編集: OS Xでのキーロガーの実現可能性について話し合うためにここにいるわけではないので、物理的なキーロガーがキーボードのデータパイプラインに挿入されるのを防ぐことについて話しているとしましょう。 (ロガーが内部に隠れている交換されたキーボード、またはUSBケーブルに何かが接続されています。)

3
ELLIOTTCABLE

OS Xのシステムレベルのパスワードエントリに対するキーロガー攻撃を(部分的に)無効にする方法はありますか?

はい。従来のキーロガーは、キーボードとキーボードコントローラー(主にUSBデバイス、HIDキーボード)での文字データの取り込みとの間でデータを傍受するハードウェアデバイスです。物理的なコンポーネントは少なく、物理的なシステムの完全性を保証するために、さまざまな不正開封防止シールを使用できます。物理的なキーロガーが存在しないことを確認するための初期チェックが必要で、その後、シールを取り付けるか、取り付けます。次に、シールを頻繁または定期的にチェックして、ハードウェアの完全性が損なわれていないことを確認する必要があります。

ただし、最新のキーロガーのほとんどはソフトウェアまたはファームウェアベースであるため、ソフトウェアのセキュリティメソッドによってのみ防御できます。これには、キーボードコントローラーICファームウェア、キーボードコントローラーデバイスドライバー、OSレベルのUSBサブシステム、キーボードバッファー、シェルソフトウェアからのチェーンが含まれます。

これには、チェーン内の各コンポーネントのファームウェアまたはソフトウェアを見つけて、改ざんされていないことを確認する必要があります。これは通常、コンポーネントのファームウェアまたはソフトウェアの暗号化ハッシュを製造元から取得し、問題のシステムで現在使用されているソフトウェアの暗号化ハッシュを計算することによって行われます。暗号化ハッシュ値が一致する場合、ファームウェアまたはソフトウェアは変更されていません。

チェーン内のソフトウェアが多いほど、複雑さが増し、命令シーケンスの順列が増えるという性質だけで保護および検証することが難しくなります。

私の「個人のセキュリティインフラストラクチャ」にはいくつかの場所があります(そのためのより適切な語句はありますか?)私は、OS Xのテキストフィールドに非常に重要なパスワードを入力します(たとえば、非常に機密性の高いデータを含むサムドライブを非暗号化してマウントします)。 )

キーロガーを(おそらく無理に)恐れています

ハードウェアキーロガーではあり、ソフトウェアキーロガーではありません。

これらの[キーロガー]は、システムレベルの脆弱性がないか、またはパスワードを入力するときに自分のアクティビティを物理的に監視(または記録)できると私が考えることができる唯一の方法であるためです。

いいえ、パスワードを決定する方法は他にもたくさんあります。最も一般的なのは、別のシステムから公開されたパスワードまたはフレーズを見つけて、問題のシステムでそれを使用することです。ほとんどの人がパスワードを再利用するため、これは通常成功します。

もう1つの簡単な例は、キーボードで頻繁に使用されるキーを土や製品から見つけ、それらの頻繁に使用されるキーの制限された組み合わせを試して、パスワードを見つけることです。

frequently used keys

さらに、非常に効果的なソーシャルエンジニアリングとフィッシングにはさまざまな形式があります。

私が使用している他の安全なシステムでは、キーロガーが攻撃者の仕事を難しくしすぎないようにするために、マウスなどを使用してパスワードの最後の部分を入力するオプションがあります。

ここには2つの可能性があります。それらのキーは分割されます。つまり、キーの一部はシステムのコンテナーに格納され、キーの一部は心の中で格納されます。または、完全なキーがコンテナに格納されていて、システムが必要とするキーを決定するために必要なのは数文字だけです。

また、2つの一般的なタイプのキー分割があります。1つはセクション分割と呼び、もう1つは完全長キー分割と呼びます。セクション化されたものは、nビットのキーを受け取り、それを2つ以上の部分に分割します。

例:キー0xA55AC33Cを取得し、それを0xA55Aと0xC33Cに分割します。

完全なキーの長さの分割は、nビットのキーを受け取り、それを長さnの2つ以上の部分に分割します。

例:キー0xA55AC33Cを取得し、それを0x42244224と0xE77E8118に分割します。

セクション化された分割は、ブルートフォース攻撃への露出や、キーを正しいエンディアンと順序で再結合する問題など、いくつかの理由で不適切な選択です。

セクション化されたスプリットはキーロガーを無効にするように見えるかもしれませんが、同じスプリットに入ることが攻撃者に機密データへのアクセスを許可する場合はそうではありません。例:0xC33Cのみを入力する必要があり、キーロガーがこれを記録する場合、攻撃者は0xC33Cを入力して同じアクセスを取得できます。

一般に、機密文字データを画面またはシェルログバッファに出力しないシェルレベルのコマンドは、グラフィカルコンポーネントよりも安全です。

2
this.josh

キーロガーを部分的に無効にすることができます rootless SIP feature を追加したOS X 10.11に更新できます。MacのAoboキーロガーなどのキーロガーは、次の場合に機能しません= SIPが有効になっています。また、システム設定をチェックしてください-セキュリティとプライバシー〜キーロガーへのアクセスを停止する支援デバイス。ただし、Mac用のEasemon従業員モニターなどの一部の職場監視ソフトウェアは、SIPしたがって、これは部分的なソリューションにすぎません。

0
user900179

mac os Xでは、(すべての* NIXと同じように)ユーザーがキーボードを見つけることなくキーボードを「キャプチャ」するのは簡単ではありません。そのためにはカーネルモジュールが必要ですが、OS Xをだまして読み込ませるのはそれほど簡単ではありません(Appleには、更新時に厄介な機能がいくつかあります)。システムに認識しているキーボードを尋ねることができ、直接キーボード2アプリの相互作用(いわゆるセキュアキーボード機能)を必要とするいくつかの機能(パスワードボックスなど)さえあります。セキュアキーボードを使用すると、他のプログラムは、入力に干渉する(カーネルによって強制される)ため、HUDデバイスをプラグインするだけでは入力が生成されません(MITMキャプチャデバイスは、変更されたキーボードファームウェアと同様に、キーボード自体のプログラムです)。

スクリーンキーボードを有効にすると、OS Xのセキュリティ対策が回避されます(実行可能ですが、システムを安全でない実行モードにして、セキュアキーボードを無効にする必要があります)。OSXでは、各キーボードは独立して機能します(たとえば、Caps Lockを確認します)。 2つのキーボードを使用してキーを入力することで、同じ利点を得ることができます。

0
LvB