機密データ (パスワードなど) がプロセス メモリに平文で保持されないようにしようとしていますが、OpenSSL との間で送受信されるすべてのデータがメモリに保持されていることがわかりました...
SSL 接続から送受信されるデータには、プロセス メモリに保持したくない機密情報が含まれている可能性があるため、これは問題です。
ノート:
- これは、SSLv3 または TLSv1 を使用する場合のみです。SSLv2 を使用する場合、データはメモリに保持されません。
- Ubuntu Lucid のバージョン 0.9.8k-7ubuntu8.6 を使用しています。これがセキュリティ修正に関連している場合、最新のものだと思います。
複製は簡単です:
- '
openssl client -tls1 -connect hostname:443
' を使用して SSL サーバーに接続します - TLS 接続でデータを送信する
- コアファイルの強制生成 (
kill -SEGV
例) - コア ファイルを検査します。受信データと送信データが存在します。
OpenSSL がそのデータを保持する必要がある理由はありますか? その動作を変更するオプションはありますか?