自作ネットワークスタックをDN42にデプロイ、DNSサーバーとして稼働中
Everyone Should Build Their Own Network Stack
LinuxカーネルのネットワークスタックにRCE脆弱性が見つかれば、インターネット全体が危険にさらされる。そんな中央集権的な構造に疑問を抱いた著者が、独自のネットワークスタック「DNet」を自作し、DN42ネットワーク上で実際にDNSサーバーとして運用している。TAPデバイスによるイーサネットフレームの送受信からARP、IPv4、ICMP、UDP処理までを実装し、4年の放置を経て再開。DN42のドメイン「42420167.xyz」の権威DNSとして稼働中で、外部からdigで応答を確認できる。
真に分散化されたネットワークでは、誰もが独自のネットワークスタックを実装し、それを使ってインターネットにアクセスすべきだ。そうすれば、たとえ一つの実装にバグや脆弱性があっても、ネットワーク全体がダウンすることはない。
HNでの議論
94- intrasight
私の最初の仕事はウェスティングハウスで原子力発電所の計装を担当することでした。私たちのハードウェア・ソフトウェア一式は、2億ドル(1988年のドル換算)の燃料補給契約の一部として顧客に無償提供されたものでした。10人のチームで、事実上ウェブブラウザである特注のアプリケーションスタックを作りました。クライアントマシンはSun 3ワークステーションでした。サーバーはTCP/IPスタックを持たない産業用ミニコンピュータで、そのため実際に独自のネットワークスタックを自作する必要がありました。
- _pdp_
誰でも自分のものを自作すべきだというのが、私がほぼすべてのことに対して与える一般的なアドバイスです。そうでなければ、当たり前だと思っていることにどれだけの労力が注がれているかを理解するのは難しいからです。何でも、自分で作ろうとするまでは単純に見えるものです。
- znnajdla
本当の悪夢のシナリオは、Linuxネットワークスタックの脆弱性を見つけることではなく、TCP/IP自体やHTTPのプロトコルレベルの脆弱性を見つけることです。それは修正できない問題です。コンピューティングの歴史にそのような前例はありますか?
- znnajdla
この記事は少し冗談めかしているかもしれませんが、実際に私がしばらく真剣に考えてきたことです。いつかすべての国や企業が独自のオペレーティングシステムを書くようになる未来を想像できますが、それは実際には非常に良いことかもしれません。一般的なテクノロジースタックを使わず、公開向けのものをすべて社内で再構築することにはセキュリティ上の利点があります。なぜなら、MythosレベルのAI能力があれば、Mythos/Cyberにアクセスできる人なら誰でもあなたのスタックのゼロデイを見つけることがほぼ確実だからです。あなたのスタックが独自仕様で、ソースコードへの公開アクセスがなければ、脆弱性を見つけるのははるかに困難です。なぜなら、彼らは公開されたインターフェースをプローブすることしかできないからです。
- Ekaros
本番環境で使用するために独自のネットワークスタックを構築することは真剣に反対します。あるいは、本番用の独自のウェブサーバーやデータベース(SQLでもNoSQLでも)も同様です。これらのものは予想以上に複雑で、落とし穴がたくさんあります。妥当な時間でできることは、既存の代替品と比べておそらくそれほど良くないでしょう。もし本当に構築する切実な理由があり、時間と労力を費やす準備と手段があるなら、どうぞやればいいでしょう。しかし、必要な労力を慎重に考慮してください...