web-dev-qa-db-ja.com

gdbで悪意のあるコードを分析すると、セキュリティリスクが発生しますか?

悪意のあるシェルコードに遭遇しました。シェルコードを実行できる互換性のあるCコードにシェルコードを移植しました。出力ELFファイルcodeを提供するgcc -fno-stack-protector -z execstack shellcode.c -o codeを使用してコンパイルしました。 gdb ./codeコマンドを使用してファイルを分析し、関数を確認してシェルコードを調査します。

今私の質問は、gdbで実行されているUntrusted ELFファイルがgdb外でのファイル実行を引き起こす可能性があるのですか?シェルコードがrm -rf / --no-preserve-rootである場合、それはセキュリティに影響するか、リモート接続を使用するシェルコードも脅威であるため、コマンドgdb ./codeはコードを完全に実行するか、単にコードを移植するだけですgdbに変換します。それは、シェルコードを実行する前にブレークポイントを使用して分析できるためです。

どんな答えでもいただければ幸いです。

11
Gerorge Timber

確かにそうです。 gdbはプロセスをまったく分離せず、プロセスを制御するだけで、プロセスの動作を理解できます。

この種の分析を行うには、VMなどの完全に分離されたシステムにネットワークアクセスなしで頼る必要があります。

ブレークポイントは尊重されますが、劇的な結果をもたらす可能性のあるヒューマンエラーを常に考慮する必要があります。不明な難読化されたプログラムを安全にデバッグするのに十分であれば、コードを読んで何をするかを知るだけなので、リスクを冒すことなく実行する必要はありません。

18
Julie Pelletier