台湾のネットワークキットメーカーD-Linkが、秘密のコード署名キーをインターネット上に漏洩し、誰でもダウンロードできるようにした。
このキーを使用すると、Windows コンピューターを騙してマルウェアを信頼させ、実行させることができるため、これはかなり厄介なことです。
鋭い目を持つネットユーザーが木曜日、tweakers.net に対し、コード署名キーは D-Link の DCS-5020L 監視カメラ用オープンソースファームウェアのダウンロードに含まれていると語った。
GPLライセンスのソースファイルには、コード署名証明書と、それらをロック解除するためのパスフレーズが潜んでいた。D-Linkの秘密鍵に加え、Starfield Technologies、KEEBOX、Alpha Networksの鍵も含まれていたとされている。これらはすべて期限切れで、今後コードに署名するために使用できない。
D-Link のキーは 2 月下旬に漏洩され、9 月 3 日に期限切れになったようです。
つまり、その6ヶ月間、キーを偶然入手した悪意のある人物は、マルウェアにデジタル署名を施し、正規のD-Linkアプリケーションであるかのように見せかけることができたのです。このソフトウェアはMicrosoft Windowsによって信頼され、実行され、誰かのマシンに感染することができました。
これらの暗号署名された悪質なソフトウェアは、被害者にインストールするために電子メールで送信されたり、たとえば、公式の D-Link ツールを提供すると主張する Web サイトに掲載されたりする可能性があります。
非公式D-Linkソフトウェアの署名に使用されている漏洩キーのスクリーンショット…クリックして拡大。出典:tweakers.net
Fox-ITの研究者ヨナサン・クリンスマ氏は、漏洩したD-Linkのキーが有効であることを確認した。「これは、ソースコードを公開用にパッケージ化した誰かのミスだと思います。コード署名証明書は、特定のバージョンのソースコードパッケージの1つにのみ含まれていました」と、同氏はカスペルスキーのThreatPostに語った。
D-Linkキーが失効している可能性があります。つまり、このキーで署名されたコードはWindowsによって信頼されなくなります。たとえ失効していなくても、有効期限は確実に切れているため、このキーを使用して新たなマルウェアに署名することはできません。(このキーで既に署名された悪意のあるコードは、失効するまで引き続き信頼されます。)
D-Link はその後、ファームウェアのダウンロードを更新し、証明書を削除しました。
全体として、これは D-Link にとって赤っ恥の瞬間であり、開発者に対して、オープンソース リリースには常に秘密鍵が含まれていないことを確かめるよう警告するものである。たとえば、盗むために漏洩した Amazon AWS アクセス キーを探して GitHub を徘徊するボットが存在する。
D-Linkからは、報道された漏洩についてコメントできる者は誰もいなかった。Microsoftからは、Windowsが漏洩した鍵で署名されたコードの信頼を停止したかどうかを確認できた者は誰もいなかった。D-Linkにコードサイニング証明書を発行したVerisignの一部を所有するSymantecからもコメントは得られなかった。
OS Xは漏洩した鍵で署名されたアプリを信頼するだろうと推測されていましたが、私たちはそうではないと考えています。AppleはThe Regのコメント要請には応じていません。®
UTC 21:45 に追記しました
漏洩した証明書が完全に失効したかどうかは不明です。シマンテックの広報担当者は、「ベリサインはD-Linkに連絡を取り、失効手続きを進めています」と述べています。
UTC 22:41 に追記しました
「シマンテックは、D-Linkから漏洩した証明書の有効期限が切れたことを確認いたしました。D-Linkに発行された他の証明書についても調査中で、失効の必要性を判断しています」とシマンテックの広報担当者は当社に連絡しました。
マイクロソフトがすでにこの証明書を Windows の失効リストに登録し、漏洩したキーで署名されたコード (悪意のあるものもそうでないものも) がオペレーティング システムによって信頼されるのを防いでいる可能性があります。
おそらく誰もが、証明書の有効期限が切れたことに安堵し、幸運を祈って指を交差させ、証明書が公開されていた 6 か月間に誰もそのキーを使ってマルウェアに署名しなかったことを願っているだけなのでしょう。
証明書が失効した場合、その鍵で署名されたマルウェアだけでなく、その鍵で署名された正規のD-Linkアプリも機能しなくなります。おそらくD-Linkはこれを回避し、証明書の失効を阻止しようとしているのでしょう。そうなれば、その鍵で署名されたマルウェアと通常のソフトウェアは、Windowsによって引き続き信頼されてしまうでしょう。
確実に分かるまでは、それが合法であると確信できる場合を除いて、D-Link 署名付き実行ファイルは避けるのが最善でしょう。
9月22日午前4時(UTC)に追記しました
漏洩したD-Linkのコード署名キーは取り消されていないようです。