web-dev-qa-db-ja.com

Linuxでキーロガーを防止しますか?

Linuxデスクトップアーキテクチャには、悪意のあるソフトウェアのキーロガーを防ぐメカニズムはありますか?攻撃者がターゲットシステムにキーロガーをインストールすることを非常に困難にする理想的なLinuxセットアップは何ですか?

X vs Wayland vs Mirを使用する場合、問題はありますか?状況を改善するために、grsecurity、SELinux、またはその他のパッチはどのように役立ちますか?

12
student

最も基本的であるが最も重要な、適切なファイアウォールルールから始めて、実行するセキュリティ対策はたくさんあります。しかし、これは状況によっては非常に複雑になる場合があります。何かを非常に困難にしようとするアプローチを取る代わりに、簡単な検出方法をとってみませんか?

キーロガーが機能するためには、アクティブなプロセスが必要です。システムが最初にインストール/クリーンされたときにプロセスのスナップショットを取得し、時々プロセスリストチェックを実行します。新しいプロセスが表示された場合は、不要なプロセスをすばやく検出して排除できます。新しいプロセスを実行する必要がある場合は、有効なプロセスリストを更新してください。

これは少し簡単にすることができます。プロセスリストをファイルに出力するスクリプト、または少し進んでスクリプトをスケジュール実行して、実行中のプロセスと有効であることがわかっている初期プロセスを比較することもできます。

2
Overmind

キーロガーは、さまざまな検出方法でシステムのさまざまなレベルにインストールできます。専用プロセスにインストールできることと、そのアクティビティを検出する方法を説明する他の回答があります。

しかし、キーボード入力を処理するX11サーバーの部分を変更することによってインストールすることもできます。それが非ASCII文字のより単純な入力、自動xxx(ここで最も期待される機能)のような追加機能を提供するアドオンとして提供される場合、エンドユーザーが自分のマシンに自発的にインストールすることもできます。それ以外の場合は、ブート時に専用のinitモジュールを介してインストールできます(攻撃者がrootになった場合)。

また、カーネルモジュールとしてインストールして、物理的なキーボードアクティビティを直接監視することもできます。インストール手順は、前のケースと同じです。

常にすべてのセキュリティルールに従う場合にシステムを保護する唯一の方法:

  • 厳格なファイアウォールで保護する(簡単)
  • 単純なタスクを実行するためにrootを使用しないでください(最初の2つのルールは最小特権の原則です)
  • 制御されていないソフトウェアを実行しないでください

そして後者は従うのが難しいです。もちろん、あなたはシステムソフトウェアと公式のソースからのアップデートのみをダウンロードし、チェックサムを制御することを想定しています。しかし、このゲーム、アドオン、またはユーティリティはとてもかわいく見えます...そして、誰かがあなたにコードを実行させたらすぐにheは望んでいないはずのコードでしたが、もはや-yourシステム。

TL/DR:いつものように、セキュリティは技術ツールに限定することはできませんが、人間の慣行に大きく依存しています...

2
Serge Ballesta

Overmindが言ったように、最初に行う簡単な解決策は、現在実行中のプロセスを「信頼」しているかどうかを確認することです。

ここに私が書いたかわいいスクリプトがあります、それを私のgithubリポジトリに投稿しました:

https://github.com/holtzilya2008/scripts/tree/master/cleanproc

cleanproc-現在実行中のプロセスを1秒ごとに監視していますcheckproc.sh -すべてのプロセスがmywhitelist.txtにあるかどうかを確認し、そうでない場合は、ターミナルにプロンプ​​トを表示し、「認識されていないプロセス」をcleanproc.log

ただし、キーロガーから身を守るために行うことは、リスクを最小限に抑えることのみであることを忘れないでください。誰かが[〜#〜]本当に[〜#〜]があなたに気づかれることなくあなたのマシンにキーロガーを設定したい場合、最後に彼はやれ。 100%保護はありません。

1
Holtz Ilya