最新のopenSSLライブラリにはFIPSモジュールがあり、これを呼び出すには固定ベースアドレスを使用して構築する必要がありますFIPS準拠。この背後にある理論的根拠は、固定ベースアドレスを使用すると、ライブラリの整合性チェックを実行できます。
攻撃者はライブラリの正確なベースアドレスを知っており、その場所を使用して攻撃を実行できるため、これはセキュリティリスクであると個人的に信じています。特に、return tolibc攻撃やReturnOrientedProgrammingなどの攻撃。ここに何か足りないの?
既知の住所を持つことは大きなリスクではありません。打ち負かす唯一のセキュリティ対策は [〜#〜] aslr [〜#〜] であり、ASLRはエクスプロイトをより困難にする手法にすぎず、不可能になることはめったにありません。
エクスプロイトに対する最善の防御策は、そもそも脆弱性を持たないことです。
これは、固定アドレスではなく、FIPS認定バージョンのOpenSSLを使用するとセキュリティに悪影響を与える理由です。新しいバグは必然的に発見されるため、ユーザーはエクスプロイトが発生する前に、できるだけ早くパッチを適用する必要があります。バグにパッチを適用するとすぐに、認定バージョンを実行しなくなります。そもそも認定が必要な場合は、バグ修正が施された認定バージョンを待つ必要があります。これは、ベンダーがわざわざ作成する場合でも、通常は数か月かかります。
FIPS OpenSSLの認証は実際にはセキュリティ認証ではありません(FIPS 140レベル1は、関数が正しく計算されていることのチェックにすぎず、セキュリティの側面は事実上ゼロです)、唯一の最新の安定版リリースではなくFIPSバージョンを使用する理由は、調達フォームの[FIPS検証済み]チェックボックスをオンにする必要がある場合です。