サーバ側でのハートビート対応はハートブリード脆弱性の存在に必要な条件であり、あるSSLポートがハートビートをサポートしていないと判断されれば、基本的にリスクは排除できます。
SSLハンドシェークフェーズで、クライアントがハートビートをサポートしていることをクライアントハローで宣言した場合、サーバもハートビートをサポートしているかどうかをサーバハローで宣言します。
ssl-enum-ciphers.nseに基づくnseスクリプトを変更し、上記の機能に基づいてSSLがハートビートをサポートしているかどうかを判断するようにしました。このスクリプトはnmap 6.40では正常に動作しますが、5.xでは間違っているようで、いくつかの定義が競合しています。
[kussa@Kussa scripts]$ nmap --script ssl-heartbeat -p 443 login.taobao.com
Starting Nmap 6.40 at 2014-04-10 10:00 CST
Nmap scan report for login.taobao.com
Host is up .
PORT STATE SERVICE
443/tcp open https
|_ssl-heartbeat: yes
このスクリプトは、クローズド・ソースのソリューションを使用しているような企業にとって、より有用かもしれません。主にnmapのより成熟したスキャン・メカニズムを利用することで、潜在的なリスクを除外するために企業のフル・ネットワーク・スキャンを行い、その後、hearbeatをサポートするスキャン・ポートに焦点を当て、キー・チェックを行うことができます。
nmap --script ssl-heartbeat -Pn -p 443,993,995 -iL ip.txt -oN hb.txt
もちろん、スクリプトの最後にハートビート・リクエストを追加することは、あのパイソンのPoCと同じでしょう......。
追記(以下の記述は厳密な検証はされていません)。
1.今pythonのPoCは、サーバーハロー要求からいくつかのサーバーに対処するように思われることは間違っているだろう、サーバーは明らかにサーバーハローを送り返したが、フォーマットがスクリプトと互換性がないため、無視され、サーバーハローこのステップの待ち時間に立ち往生し、ハートビートパッケージを送信しませんでした。だからPoCは、問題がある必要がありますが、問題のない検出は必ずしも問題ではないことを検出します。
2.このスクリプトは正反対です。
3.特にOpenSSLを導入しない限り、クライアントもサーバーも、マイクロソフト製品はハートビートをサポートしていないようです。