web-dev-qa-db-ja.com

特定のプログラムが実行しているすべてをログに記録するにはどうすればよいですか?

私はかなりシンプルなプログラムを持っています。その単純なログインフォーム。

このプログラムが実行していることを記録する可能性はありますか(おそらく、彼がアクセスしているファイルと彼が訪問しているWebサイト(このWebサイトが返しているものも))

このプログラムがアクセスしているファイルと、このプログラムがWebサイトに送信しているWebサイト(またはクエリ)をログに記録しているプログラムを意味します。

よろしくお願いします。

9
planIT

Windowsを使用している場合は、 Process Monitor を使用して、ソフトウェアがアクセスしているファイルとレジストリエントリを確認できます。そして、それが訪問しているサイト(要求と応答)については、プロキシを使用できます。個人的には、 Fiddler を好みます。 TCPView を使用して、SWによって開かれたアクティブな接続を確認することもできます。

Wireshark を使用してネットワークアクティビティを監視し、必要なサーバーとの通信のみを表示するようにフィルターを設定することもできます。または、特定のプロセスの通信を表示できる Microsoft Network Monitor を使用できます。

8
bretik

システムコールの代行受信は、ここで役立ちます。警告:プロセスがデーモン/サービスと通信したという事実をログに記録できますが、デーモン/サービスがロギングの対象ではない場合、デーモン/サービスが実行するアクションを一時的にログに記録しないため、混乱したものすべてを公開することはできません副問題。

strace manページ から

最も単純なケースでは、straceは終了するまで指定されたコマンドを実行します。プロセスによって呼び出されるシステムコールと、プロセスによって受信されるシグナルを傍受して記録します。各システムコールの名前、その引数、および戻り値は、標準エラーに出力されるか、-oオプションで指定されたファイルに出力されます。

ファイルシステムアクセスとネットワークソケットの作成はsyscallsを介して行われるため、これらの呼び出しをログに記録すると、プログラムがアクセスしているファイルとネットワークリソースを再構築できます。

アクセスされているリソースを理解し、破壊された場合でもプロセスがそれ以上アクセスしないようにするには、 systrace を調べます。

複雑なアプリケーションの場合、実行する前に正しいポリシーを知ることは困難です。最初に、Systraceは、アプリケーションが実行しようとするすべてのシステムコールについてユーザーに通知します。ユーザーは、警告の原因となった特定のシステムコールのポリシーを構成します。数分後、警告なしでアプリケーションを実行できるようにするポリシーが生成されます。ただし、カバーされていないイベントでも警告が生成されます。通常、これはセキュリティの問題を示しています。 Systraceは、侵入防止を提供することにより、サイバーセキュリティを向上させます。

または、ポリシーを自動的に学習することもできます。多くの場合、自動的に学習されたポリシーは、サンドボックス化にすぐに使用できます。時には、最小限の手動後処理が必要です。

警告:straceは、セキュリティのためにsystraceのように設計されていなかったため、syscallパラメータの周りで悪用可能な競合状態になる傾向があります。 straceを強化する方法のポイントについては、D.W。のコメントを参照してください。

Windowsでのsyscallインターセプトについてはよく知りませんが、 STraceNTvtrace は良い出発点のように見えます。

StraceNTは、Windows用のシステムコールトレーサーです。 Linuxのstraceと同様の機能を提供します。 DLLからインポートされた関数へのプロセスによるすべての呼び出しを追跡できます。 StraceNTは、プログラムの内部動作のデバッグと分析に非常に役立ちます。

VTraceは、プロセス、スレッド、メッセージ、ディスク操作、ネットワーク操作、およびデバイスに関するデータを収集します。この手法は、DLLを使用して、すべてのプロセスのアドレス空間に読み込まれ、Win32システムコールをインターセプトし、Windows NTカーネルシステムコールのフック関数を確立し、メモリ内のコンテキストスイッチコードを変更して、コンテキストスイッチを記録します。デバイスフィルターを使用して、デバイスへのアクセスをログに記録します。

5
Mike Samuel