FREAK ("Factoring RSA Export Keys")とはSSL/TLSの脆弱性を突いたセキュリティエクスプロイトである。アメリカ合衆国からの暗号の輸出規制により導入された弱い暗号と、サーバ側・クライアント側の不適切な実装により、中間者攻撃を成立させることができる。
TLSの前身となったSSLの開発当時には、アメリカからの暗号輸出には厳しい規制が課されており、公開鍵暗号であるRSA暗号については512ビットの鍵長のものしか認められなかった。1990年代当時では、この強度の暗号はアメリカ国家安全保障局(NSA)には解読可能で、その他の組織には解読不能であったが、コンピューターの性能向上、クラウドコンピューティングの一般化により、2015年時点では「50ドル、12時間程度」[1] で解読できる程度に脆弱なものとなっていた。2003年時点ですら「時代遅れ」とされていた[2] にもかかわらず、それから10年以上が過ぎてもなおサーバ側で輸出暗号を受け入れる設定のままとなっていたこと[3]、さらには輸出用の暗号でないにもかかわらず、512ビット以下のRSA鍵を受け入れる実装となっていたクライアントが存在し[4]、輸出暗号を使用しないクライアントに対しても中間者が鍵交換に介入する余地を産んでしまった。2015年に発見されたエクスプロイトだが、既に1990年代から根本原因である脆弱性が存在していたとされる。
この欠陥はIMDEA、INRIA、Microsoft Researchの研究者が発見した[5]。そしてこのFREAK攻撃はCVE識別子でCVE-2015-0204と定義されている[6]。
影響を受けるソフトウェアや端末にはAppleのSafari、GoogleのAndroidやOpenSSLが[5][7]、ウェブサイトではアメリカ合衆国連邦政府のウェブサイトであるfbi.gov、whitehouse.gov、nsa.govで[8]、あるセキュリティ団体はエクスHTTPSを使用するウェブサイトの36%がエクスプロイトの影響を受けるとされるというテスト結果を公表した[9]。IP2Location LITEを使った地点解析によれば影響を受けるサーバーの35%がアメリカ合衆国にあるとされる[10]。
エクスプロイトに関するプレス発表ではこれに関する影響を「潜在的かつ壊滅的」[11] 並びにアメリカ合衆国からの暗号の輸出規制による意図しない結果だとしている[8]。
マイクロソフトもWindowsの全バージョンにおいてトランスポート層暗号化のSChannel実装がFREAK攻撃の影響を受けると述べている[12]。この問題のCVEIDはCVE-2015-1637である[13]。
2015年3月[update]、関連企業各社はこの脆弱性を修正した新たなソフトウェアの公開準備を進めている[8][9]。ウェブブラウザでは、Google Chromeがバージョン41で、Operaがバージョン28でこの脆弱性に対処した[14][15]。OSでは、Microsoft Windowsがサポート継続中であるServer 2003およびVista以降において[16]、Appleでは同じくサポート継続中であるOS X 10.8以降[17] およびiOS 8[18] において対処済みである。Mozilla Firefoxはこの脆弱性の影響を受けない[14]。
現在サーバー、クライアント共に一時鍵によるRSA暗号を受け入れる場合に、もっと強い暗号を使える状況であっても一時鍵を解読できる中間者が512ビットRSAでの通信を強制できるダウングレード攻撃は、すでに1998年には報告がなされていた[2]。
FREAKでは、クライアントが要求する暗号には輸出暗号が含まれていないが、中間者がそれのみを要求するように書き換え、さらにはクライアント側が輸出暗号の一時鍵を受け入れてしまうという実装の隙を突いて、中間者攻撃を成立させている。