シグナルは、2018年以来この問題を軽視してきたが、データストアの平文暗号化キーの保存方法を変更することで、ようやくデスクトップクライアントのセキュリティを強化する。
2018年に報告されたように、Signal Desktop for WindowsまたはMacがインストールされると、ユーザーのメッセージを保存するために暗号化されたSQLiteデータベースが作成される。このデータベースは、プログラムによって生成されたキーを使用して暗号化され、ユーザーからの入力はありません。
プログラムが暗号化されたデータベースを解読し、データの保存に使用するためには、暗号化キーにアクセスできなければならない。Signalの場合、キーをプレーン・テキストとして、Windowsでは%AppData%Signalのconfig.json、Macでは~/Library/Application Support/Signal/config.jsonというローカル・ファイルに保存する。
しかし、もしSignalがこのキーにアクセスできるのであれば、コンピューター上で動作している他のユーザーやプログラムもアクセスできることになり、暗号化されたデータベースは無価値となり、追加のセキュリティはほとんど提供されない。
この欠陥を発見した研究者、Nathaniel Suchyが提示した解決策の1つは、クラウドバックアップソフトウェア、ウェブブラウザ、パスワードマネージャー、暗号通貨ウォレットで見られるように、ローカルデータベースをユーザー提供のパスワードで暗号化し、どこにも保存しないことだ。
2018年にSignal社にこの欠陥について問い合わせたところ、回答は得られなかった。
その代わり、Signalのサポート・マネージャーはSignalのフォーラムでユーザーの懸念に回答し、データベースのセキュリティは決してSignalが提供すると主張するものではないと述べた。
「データベースのキーは決して秘密ではありません。At-rest encryptionは、Signal Desktopが現在提供しようとしているものでも、これまで提供すると主張してきたものでもありません」と、Signalの従業員は回答した。
Signal社にとって公平であるように、ユーザーが提供するパスワードなしでローカル・データベースを暗号化することは、すべてのアプリケーションにとって問題であり、セキュリティをさらに強化するための余分なステップに依存している。
しかし、セキュリティとプライバシーを誇りとする企業として、組織がこの問題を却下し、解決策を提供しようとしなかったのは奇妙だった。
デザインの欠陥がXで再び浮上
それから約6年後、イーロン・マスクは「シグナルには既知の脆弱性があるが、対処されていない」とツイートした。奇妙に思える.
マスクはどのような脆弱性を指しているのか共有しておらず、マスクのツイートはテレグラムがシグナルより安全だと主張するキャンペーンを支援する試みだと見る向きもあった。
シグナルのメレディス・ウィテカー社長は、既知の脆弱性に対処する必要はなく、もしあれば責任を持って組織に開示されるべきだと回答した。
“こんにちは、こんにちは、私たちは現存する脆弱性の証拠を持っていませんし、何も通知されていません。私たちは責任ある情報公開の慣行に従い、security@signal.org を注意深く監視し、有効な問題があれば迅速に対応・修正しています」とウィテカーはツイートした。
しかし先週、Mysk Inc.のモバイル・セキュリティ研究者Talal Haj Bakry氏とTommy Mysk氏は、2018年に我々が報告したのと同じセキュリティ上の弱点があるため、Signal Desktopを使用しないようX上で警告した。
Mysk Incは一連のツイートで、メッセージングアプリを通じて送信された写真やアプリが安全な場所や暗号化された場所に保存されていないこと、メッセージストアの暗号化キーがシステム上に平文で保存されたままになっていることを例示した。
「コミュニティノートは間違っており、イーロン・マスクは正しい。Signalのデスクトップアプリは、プレーンテキストで保存され、どのプロセスからもアクセス可能なキーでローカルチャット履歴を暗号化する」と研究者は別のスレッドでツイートした。
「これではユーザーは流出されやすい。この問題は2018年に報告されたが、対処されていない”
これに対してウィテカー氏は、攻撃者があなたのデバイスにフルアクセスした場合、シグナルはデータを完全に保護することはできないと述べ、この欠陥を軽視した。
「報告されている問題は、攻撃者がすでにあなたのデバイスにフルアクセス*していることに依存しています – 物理的、マルウェアの侵害、または同じデバイス上で実行されている悪意のあるアプリケーションを介してのいずれかです」とWhittaker氏はツイートした。
「これはシグナルや他のアプリが完全に防御できるものではありません。また、そのように主張することもありません。
デバイスへのフルアクセスが何を意味するかは不明だが、リモートアクセスやデバイス上で実行されるマルウェアがあれば、誰でもデータにアクセスすることができる。
マイクロソフトのウィンドウズ・リコールのセキュリティとプライバシーへの影響や、ローカルな攻撃者やマルウェアによってデータが盗まれる可能性について、ウィッタカーが常にリツイートしていたことを考えると、この対応は異例だった。
ウィンドウズ・リコール機能がはるかに機密性の高いデータを消費していることは間違いないが、同様の懸念は、国によっては刑務所行きになりかねない機密メッセージに使われるシグナルにも適用できる。
しかし、マイクロソフトは、Windows Recallのリリースを延期し、ローカル攻撃から収集データを保護するための追加保護を追加し、製品をさらにテストすると発表した。
シグナルはデータベースの暗号化を強化する
4月、独立系開発者のトム・プラントは、オフライン攻撃からSignalのデータストアをさらに保護するために、ElectronのSafeStorage APIを使用するコードをマージするリクエストを作成した。
「単純な緩和策として、ElectronのsafeStorage APIを実装し、WindowsのDPAPIやmacOSのKeychainのようなプラットフォームAPIでキーを日和見的に暗号化するようにしました。
ElectronのsafeStorage APIは、デバイスにローカルに保存されたデータを暗号化するために使用される暗号化キーを保護するための追加メソッドを提供します。
使用される場合、暗号化キーはオペレーティング・システムの暗号化システムと安全なキーストアを使用して生成・保存される。例えば、Macの場合、暗号化キーはKeychainに保存され、Linuxの場合、kwallet、kwallet5、kwallet6、gnome-libsecretなどのウィンドウズ・マネージャーのシークレット・ストアを使用する。
safeStorage APIは、同じデバイス上の他のユーザーに対してのみ暗号化キーを保護するDPAPIを使用しているため、Windowsでは不十分である。つまり、Signalを使用するユーザーと同じユーザー・コンテキストの下で実行されているプログラムやマルウェアは、理論上データにアクセスできることになる。
この解決策は、すべてのSignalデスクトップ・ユーザーにさらなるセキュリティを提供するものだが、先週のXドラマが起こるまで、このリクエストは眠っていた。2日前、Signalの開発者がようやく、ElectronのsafeStorageのサポートを実装したと回答した。
新しいsafeStorageの実装がテストされている間、Signalは、プログラムがレガシーデータベースの復号化キーを使用してデータベースを復号化することを可能にするフォールバックメカニズムも含んでいた。
Signalの開発者であるJamie Kyle氏は、「サポートされているプラットフォーム上で暗号化された/鍵ストアにバックアップされたローカル・データベース暗号化キーに移行することに加え、我々の実装には、いくつかの追加のトラブルシューティング・ステップと、何か問題が発生した場合にレガシー・データベース暗号化キーを使用してメッセージ・データベースを復元できるようにする一時的なフォールバック・オプションも含まれています」と説明している。
「これにより、移行プロセスや本番ロールアウト中にエッジケースやキーストアに関連するバグが発見された場合でも、データ損失を最小限に抑えることができます。
Signal社によると、この新機能がテストされ次第、レガシー・キーは削除されるという。
Signalにこのような保護機能が追加されるのは良いことだが、Xでの騒動の後だけに残念がる声もある。
Signalに更なる質問をしたが、まだ返答がない。
Comments