satumaimoの備忘録

個人的なメモ中心

boofuzz v0.4.1に関する個人的なメモ

boofuzzがターゲットの異常を検出しない場合がある

ターゲットが、本来であればバッファオーバーフローを起こすはずのファズデータを受け取っても、boofuzzがターゲットの異常を検出しない場合があった。

session.pyの1768行time.sleep(0.5)を挿入すると、正しくバッファオーバーフローを検出するようになった。

boofuzzは、 ファズデータを送信した直後にターゲットのプロセスが存在するかを判断している。

そのため、ファズデータによってターゲットが強制終了する前に、誤ってターゲットが正常稼働しているとboofuzzが判断し、 その後にターゲットが強制終了している可能性がある。

ファジングのターゲット監視に関する考察

プロセスの監視はターゲットが異常終了した場合の原因特定や、ファジングの自動化には役に立つ。

しかし、プロセスが強制終了するまでに若干の時間がある場合や、プロセスがフリーズする場合を考慮すると、 ターゲットの死活監視はネットワーク越しに行った方が、ターゲットの異常を検知する方法としては適切に思える。

例えば、こちらの論文では、 常にレスポンスが返ってくると想定されるメッセージ(heartbeat message)の送信によって、 ネットワーク越しに死活監視を行っている。