暗号化DNSサーバーをRAMで稼働するよう移行したMullvad
(mullvad.net)- MullvadはVPNインフラからディスクの痕跡を除去した後、別途提供しているEncrypted DNSサービスもRAMベースの運用へ移行
- VPNに接続していないデバイスでDNSクエリを暗号化し、デバイスとMullvad DNSサーバーの間の問い合わせ内容を第三者がのぞき見しにくくする
- このサービスは有料ユーザーでなくても無料で利用でき、監査済みDNSと任意のコンテンツブロックを求める利用者を対象とする
- 世界中のサーバーと設定ガイドを提供するが、VPNと併用すると接続先VPNサーバーのDNSリゾルバより常に遅いため推奨されない
- Encrypted DNSサーバーもVPNインフラと同じLinuxカーネルおよびセキュリティ・プライバシー設定を使用し、ステートレスなインフラをRAMで運用する流れを継続
Encrypted DNSもRAMベースへ移行
- Mullvadは最近、VPNインフラで使用中のディスクの痕跡を除去する移行を完了
- 今回の移行により、Encrypted DNSサービスもRAM上で動作するようになった
- MullvadがステートレスなインフラをRAMで運用しようとする次の段階に当たる
DNSクエリを暗号化する仕組み
- Encrypted DNSはDNS over TLSおよびDNS over HTTPSとしても知られている
- VPNサービスに接続していないとき、デバイスとMullvad DNSサーバーの間のDNSクエリを暗号化する
- この仕組みは、第三者がDNSクエリを盗み見る状況を防ぐために使われる
利用対象と実際の制約
- このサービスは主にMullvad VPNサーバーに接続していない状態で使う用途である
- 有料ユーザーかどうかに関係なく、完全無料で利用できる
- 信頼できる監査済みのEncrypted DNSサービスと任意のコンテンツブロックを求める誰でも利用可能
- 世界各地に配置されたサーバーで提供され、Mullvadウェブサイトの設定ガイドで構成できる
- VPNサービスと併用することもできるが、接続先VPNサーバーのDNSリゾルバを使うより常に遅いため推奨されない
VPNインフラに合わせたセキュリティ構成
- すべてのEncrypted DNSサーバーはVPNインフラと同じLinuxカーネルで構成される
- セキュリティとプライバシーの水準もVPNインフラと同等に合わせられている
1件のコメント
Hacker Newsの意見
Mullvadの暗号化DNSは、VPNの有料利用の有無に関係なく誰でも使える
さらにブロックリストによる選択的なコンテンツブロックにも対応しているので、好みのTLS/HTTPS DNSサーバーを設定すればよい
[1] https://github.com/mullvad/dns-blocklists
.mobileconfigファイル)は、望まないネットワークトラフィックを防ぐためにLittle SnitchやLuluを使っている場合は動作しないAppleが修正していないmacOSの制限である
どこかのサイトに接続するにはDNSでIPを取得する必要があるが、ISPやVPNプロバイダーは、それをたった今照会したか既に知っていたかに関係なく、自分がそのIPに接続するという事実を見られる
VPNを使っているのに、ログを残すDNSへ他の誰かに漏れているというモデルでないなら、なぜこれが必要なのかよく理解できない
これが物理サーバーなのかVMなのか気になる
一部のVMタイプは、合法的な要請への対応のように、メモリ内容まで含めて停止・スナップショット・複製・リアルタイム複製が可能で、ベアメタルホストではVMやコンテナ内部にアクセスできる
物理構成図を公開しているものがあるのか気になる
もしMullvadのアーキテクトがいるなら、理論上の仮定と果てしない亀のスタックに陥らないよう助けてほしい
https://www.system-transparency.org
eBPFを使って、特定のパラメータに応じてリクエスト時にデータストリームを抽出できるツールがある
Sysdig/Falcoのようなツールでも可能かもしれず、eBPFを無効化するためにカーネルを自前でコンパイルしているのか、リクエスト時にデバッグ機能を削除またはオフにする追加のカーネル強化を行っているのかも分かると有用そうだ
そうすればサスペンドする対象がなくなる
素朴な部外者として気になるのだが、2023年のRAMは内容全体を暗号化しているのか?
電源を切り、より小さく揮発性の高いメモリにある何らかの暗号化キーを消失させることで、RAMの内容を確実に忘れさせられるのか気になる
RAMのコールドブート攻撃を緩和するために何が行われ、ハードウェアでは何が変わったのか、RAM内容の暗号化キーがTPMのような場所に保管されるのかも気になる
もちろんサーバーが物理的に侵害されれば悪いことは起こり得るが、マルウェアを永続保存する場所がなく、ミスであれ意図的であれローカルストレージにログを残せないので、サーバーを継続的に掌握するのはより難しくなる
RAMの内容を暗号化すれば追加の保護にはなり得るが、適切に実装されていれば、RAMに残るものは現実的にはネットワーク上で見られるものよりごくわずかに興味深い程度である可能性が高い
多くてもごく少量のアクティブなリクエストデータ程度が見えるくらいだと思うが、あくまで推測である
https://www.amd.com/system/files/documents/amd-memory-guard-...
https://www.amd.com/content/dam/amd/en/documents/epyc-busine...
次回起動時にRAMを強制的に消去するようにできるEFI再起動フラグもあるが、通常は無効化されている
[1] https://en.wikipedia.org/wiki/Cold_boot_attack WindowsではBitLockerのおかげで今でも動作する
[2] https://www.usenix.org/legacy/event/sec08/tech/full_papers/h...
Mullvadに問い合わせてみたところ、ベアメタルのみを使用しており、仮想化やコンテナ化は一切使っていないと確認してくれた
https://ibb.co/XLDQGGt
CloudflareのDoH DNS(https://1.1.1.1)を使い、それをMullvad VPN上でトンネルしている
こうすればMullvadは自分が訪問するIPしか見られず、CloudflareはVPNのIPから来るDNSリクエストしか見ず、ISPは何も見られない
MullvadのDoH DNSも良さそうだが、上の方法よりプライバシーが低い可能性があるので使うつもりはない
実際の統計を見てみたいが、SSD と ECC RAM で読み書き集約型のデータアプリケーションを運用してきた勘からすると、どちらも十分な頻度で故障するので、レジリエンスの面では今回の変更はほとんど横ばいのように感じる
ただ、純粋な性能を数パーセントでもさらに引き出そうとする努力は称賛に値する。面白い Redis プロジェクトになりそうだ
おそらく読み取り専用イメージでネットワークブートするのだろう
VPN サーバーではすでにそうしており、今は同じ戦略を DNS サーバーにも適用しているところだ
故障率を示すデータシートのようなものがあるのか気になる
Mullvad がやっていたことにはすべて非常に満足していたが、自分の構成の特殊な一部に重要なポートフォワーディングを終了すると発表してからは残念に思うようになった
理由は理解できるが、いつかまた提供されるなら喜んで再び顧客になる
Mullvad にとっては、無効にするメリットがデメリットを上回る
Mullvad VPN のセキュリティは Proton VPN と比べてどうなのか、知っている人はいる?
法執行機関からの要求を退けてきた実績があり、実際に渡せるものが何もないからだ
すべてが RAM 上で動作し、サーバーが停止した瞬間に消え、本当に何も保存しない
現金を郵送したり、暗号資産で Mullvad アカウントを購入したりすることもできる。メールアドレスのようなものでアカウントを作る必要すらない
スイス法に基づき、当該ユーザーには、そのデータが刑事手続きで使用される前に通知され、法廷でこれに対応する機会が与えられます」
VPN がすることは、地域制限を回避し、海賊版コンテンツをダウンロードするときに DMCA 通知を防いでくれるかもしれない、という程度だ
VPN プロバイダーの OVPN(ovpn.com)もこの方式を採っている