メインコンテンツへスキップ

まじかよ!Wiiでブログ運用とか凄すぎ!セキュリティは大丈夫なの?

·2 分
2025/04 Wii ブログ NetBSD サーバー 組み込みシステム

まじかよ!Wiiでブログ運用とか凄すぎ!セキュリティは大丈夫なの?

引用元:https://news.ycombinator.com/item?id=43754953

tech234a 2025-04-21T20:19:24

知らない人もいるかもだけど、「SSL Added and removed here!」の画像は、2013年にNSAからリークされた、Googleのデータセンター間の暗号化されてない通信を示す図が元ネタなんだって。[1]にソースあるよ。
[1] https://arstechnica.com/tech-policy/2013/10/new-docs-show-ns

easterncalculus 2025-04-21T23:50:09

昔、Top Secretの許可持ってて政府の仕事してた教授がいたんだけど、この件はまだ機密解除されてないから言えないんだって。でも授業で、これとそっくりの丸が二つ並んだ図を使って説明してて、気づいた人いたかな。

CobrastanJorji 2025-04-22T00:44:51

アメリカ政府が潜水艦とか使ってアメリカ企業の通信をハッキングしてアメリカ国民をスパイしてたって考えると、ヤバすぎじゃない?しかも2013年に大騒ぎにならなかったのが信じられない。

coldpie 2025-04-22T13:14:09

当時、明らかに法律破ってる政治家を訴えなかったことが、今の政治家が法律を完全に無視する時代につながったと思う。James Clapperが議会で嘘ついたのに、何の罰もなかったのも同じ。法律に意味がないってわかったから、政治家はやりたい放題になったんだよ。

canuckintime 2025-04-22T16:14:35

Watergate
Iran-Contragate
イラクのイエローケーキ
例はいっぱいあるよね。

jsheard 2025-04-21T21:15:54

その:¬)顔は、セキュリティ関連のチャンネルでカスタム絵文字として使うと最高。

indrora 2025-04-23T01:54:59

横向きバージョンもあるよ:˙ ͜ʟ˙

_fat_santa 2025-04-21T20:59:01

トップシークレットのラベルの下に、明らかに急いで書いた図があるのが笑える。

RestartKernel 2025-04-22T01:35:56

ほとんどの人はどんなことでも軽く扱えると思う。[1]医療現場とか、もっとヤバい組織でも同じことが起きてる(第二次世界大戦の証言とか)。
[1] 経験則だけどね。

pyfon 2025-04-21T21:11:03

デザイン面接みたい。

encom 2025-04-21T21:48:18

SSL追加したり削除したりしてたんだって!
あとCloudFlareも!

carlhjerpe 2025-04-22T12:35:01

Cloudflareって昔は暗号化されてないバックエンドもサポートしてたけど、今はオリジンサーバーにもSSLを推奨してるよね。Cloudflare署名の「オリジン証明書」を使うこともあるけど、結局SSLだもんね。

conradev 2025-04-22T02:35:50

そのシャツ、昔持ってたんだけど、どこ行っちゃったかなー。
https://philkast.com/2013/10/30/spying-tshirt.html

spauka 2025-04-22T01:01:37

Wiiのステータスページ見てて一番驚いたのは、RAMが88MBしかないこと。SoCに24MB内蔵されてて、GDDR3が64MBだって。
ntpdがシステムメモリの15%も使ってたってことは、約13MBも使ってたってことだよね。時間サーバーの数を減らせば改善するかな?俺のシステムだと、debian poolから9個くらいのサーバーを追跡してるみたい。
XBox 360は当時でも512MBもあったのに、Wiiはすごいよね。

qingcharles 2025-04-27T01:40:51

1995年頃の最初のNetBSDボックスを思い出すなー。4-8MBのRAMでメールサーバー、自作のウェブメールサーバー、複数のユーザーがログインしてMUDやIRCで遊んでたんだから。

greeniskool 2025-04-21T20:04:56

>NetBSDを再起動すると、NetBSDアプリだけじゃなくてコンソール全体が再起動して、カーネルパッチやシステムアップデートの後にWiiメニューに戻っちゃうんだよね。”
Priiloaderをインストールして、Homebrew ChannelかNetBSDの.dolファイルを自動起動するようにすれば回避できるよ。

janvdberg 2025-04-22T05:24:37

24年以上前のプロジェクトを思い出した。誰かがGBA用のウェブサーバーを作ったんだよね。
当時は魔法みたいに思えて、よくそのサイトを見てたなー。
https://web.archive.org/web/20030204043536/http://fivemouse….

kn100 2025-04-22T01:47:26

こういうのめっちゃ好き!昔、家のRobot Vacuumのdockerコンテナでブログをホストしてたんだよね。Vacuumがベッドの下に入ってwifi信号をロストして、アプタイムアラートが来るようになったから、まともなホストに変えたけど!

skiman10 2025-04-22T03:01:56

え、マジで?どうやったのかマジで教えてほしいんだけど!

joseda-hg 2025-04-21T19:09:28

Wiiのhomebrewの経験からすると、小さいSDカードの信頼性の問題は、exploit後にUSB thumbdriveに交換すれば解決できるかも。ポートは2.0だけど、プロセッサがボトルネックになるだろうし。

もっとコメントを表示(1)
sadeshmukh 2025-04-21T21:14:10

FYI。Photo Boothの代わりにQuicktime Playerで「新規ムービー収録」を使えば、画像の反転問題を解決できると思うよ。

mattl 2025-04-22T05:16:34

うん、OBSでもいいね。

RockRobotRock 2025-04-21T19:19:41

>macOSのPhoto Boothでキャプチャカード使ってたんだけど、ビデオフィードの反転を無効にできなかったんだよね。
OBSを使って。

macshome 2025-04-21T20:25:36

Photo Booth使ってたのが意外だった。iOSデバイスみたいにQuickTime Playerで録画すると思ってた。

jandrese 2025-04-21T19:58:14

パフォーマンスは悪くないね。NintendoのTCPスタックを使ってないのは明らかだ。Wiiのはマジで酷かったから。

Starlevel004 2025-04-21T21:22:08

Nintendoのネットワーキングは、どのゲーム機でもなぜかイマイチなんだよね。

addisonj 2025-04-21T22:13:50

ニンテンドーのマイナーな機能に関わる、最高にひどい経験をしたことがあるんだ。
ネットワーキングっていうのはコンソールスタックのことだと思うけど、それなら経験あるよ…うん、マジで良くない。ウェブサービスも(10年以上前だから、今はマシになってるといいけど)マジで酷かった。
当時も今も思うのは、彼らはあんまり気にしてないみたいで、ゲームと差別化されたハードウェアでイノベーションを起こすことに集中してるってこと。
若い頃の俺は「時代遅れ」だって思ってたけど、今はリスペクトしてる。

goosedragons 2025-04-21T22:45:50

昔はNintendo Switchのために全てのUDPポートを開放しろって言ってたよね。今は1024から65535を開放しろって言うだけになった。

tom1337 2025-04-21T23:40:02

信じない人のためにソース:https://en-americas-support.nintendo.com/app/answers/detail/…
(「PCまたはスマートデバイスで」の4番目のポイント)

yellowapple 2025-04-22T01:07:24

>当時も今も変わらないのは、彼らはあまり気にしていないように見えるってこと。ゲームと差別化されたハードウェアでイノベーションを起こすことに集中してるんだよね。<br>そういうことを専門とする会社にネットワーク関連のニーズをアウトソースすればいいのにって思うよね。

SuperHeavy256 2025-04-21T22:23:34

優先順位を尊重するよ。最高のウェブサービスは必要なくて、マリオカートオンラインをプレイするのに十分であればいいんだから。

hamish-b 2025-04-21T23:02:21

興味深いね!当時何がそんなに酷かったのか、もっと詳しく教えてくれないかな?(Nintendoの弁護士は読まないで)

jandrese 2025-04-22T02:16:35

WiiのTCPスタックに割り当てられたメモリがすごく少なかったから、ほとんどウィンドウを開けなかったし、bandwidth delay productも小さかったんだよね。だから、ローカルネットワークとNintendoのサーバーに十分な帯域幅があっても、システムのアップデートに時間がかかったんだ。
サーバーの実装も悪くて、TCP PEPs[1]をサーバーの前に設置して、なんとか許容できるパフォーマンスを得たらしい。
WiiはFast Ethernet(100Mbps)ポートを最大限に活用できる計算能力とメモリを持ってるのに、設計上の問題で実際には1Mbpsも出せなかったんだ。システムのアップデートが大きくなるにつれて、この問題が深刻になってきてたんだよね。
[1] https://en.wikipedia.org/wiki/Performance-enhancing_proxy

hueho 2025-04-22T13:38:57

Wiiは専用のARMプロセッサ(コミュニティではIOSと呼ばれてる)で別のOSを実行してて、ディスクアクセス、内部/外部ストレージ、特にネットワークなど、デバイスの入出力の大部分を担当してたんだ。TCP/IPスタックは完全にそこで実装されてたんだよね。
IOSはメインCPUより弱いCPUで動作するけど、メインシステムのメモリの一部に(排他的に使用するために)アクセスできたんだ。でも、メインCPUで実行されてるゲームを邪魔しないように、通常は12〜16MBだったんだ(https://wiibrew.org/wiki/Memory_map)。
メインPPC CPUで実行されてるコードは、ほとんどのIO関連ハードウェアに直接アクセスできなかったんだ(GPU/ディスプレイ出力と有線コントローラーだけ)。だからLinuxポートもIOSを介してハードウェアアクセスをプロキシする必要があったんだ。でも、完全なブートプロセスをリバースエンジニアリングした後、特別なレジスタを介してフルアクセスを可能にする代替IOSを作成することができたんだ(https://wiibrew.org/wiki/MINI)。

Starlevel004 2025-04-22T19:58:24

>当時も今も変わらないのは、彼らはあまり気にしていないように見えるってこと。ゲームと差別化されたハードウェアでイノベーションを起こすことに集中してるんだよね。<br>マルチプレイヤーゲームでイノベーションを起こして、pingが100msくらいのwifiチップを搭載するのは、目標が矛盾してるように思える。

jkrejcha 2025-04-21T20:55:28

WFCのコードはちょっと古いし、セキュリティも甘いんだよね。WiiのDNS設定を変更するだけでWFCゲーム(マリオカートWii)をプレイできるバグがあって…。証明書の特定のフィールドを設定すると、無効な証明書でもOKになっちゃうんだ。(これは韓国版で修正済)
もう一つは、ネットワークライブラリにバッファオーバーランによるRCEがあって、最初のメッセージの長さをチェックせずにデータをコピーしちゃうんだ。
だから、DNS設定を特定のDNSサーバーに変更してマリオカートWiiを起動するだけで、WFCサーバーへのDNSルックアップが行われ、不正な証明書の検証をパスして、エクスプロイトを含むメッセージを受信してゲームをパッチできるんだ。
WFCが終了して11年経っても、Wiiのゲーム(たぶんマリオカートWii)をオンラインでプレイできるんだよ。

bennydog224 2025-04-21T19:29:52

細かいことを言うようだけど、CaddyインスタンスをWiiに移動するか削除するまでは、ブログは完全にWiiでホストされてないよ!
ナイスワーク。

Wowfunhappy 2025-04-21T20:15:02

作者はTLSを無効にすればよかったのに!そうすれば、完全にWiiでホストされたウェブサイトになったのに!

pedroslopez 2025-04-21T20:42:17

lol、rare wowfun sightingで嬉しくなった(nacho@atmosphirよりこんにちは)

Wowfunhappy 2025-04-22T10:54:26

😊

もっとコメントを表示(2)
OuterVale 2025-04-22T01:35:44

この投稿についてfediverseでライターが告知してたんだけど、それがフィードに流れてきてマジ笑った。

benwilber0 2025-04-21T18:57:51

ハグされた。
もしかしたら次の投稿は「Blog is hosted on a Nintendo Wii (running Varnish)」って言うかもね。

kotaKat 2025-04-21T19:25:39

ちょっと抵抗してるね。
https://blog.infected.systems/status/ でWiiがどんな感じかplaintextで見れるよ(もし動いてたら。ブログによると15分ごとに更新されるらしい)。
https://archive.is/6QvVA

codetrotter 2025-04-21T19:02:15

今のところちゃんと表示されるよ。

beeandapenguin 2025-04-21T23:02:13

OPはこの瞬間のために準備してたんだね:
https://blog.infected.systems/posts/2024-12-04-hugs-of-death

zoezoezoezoe 2025-04-22T14:00:31

>https://blog.infected.systems/posts/2025-04-21-this-blog-is-…
WIIでウェブサーバーを動かすブログでこんなに正確に特定されるとは思わなかった。

Bluecobra 2025-04-21T20:12:40

ロードアベレージがマジ低い(15分で0.06)のすごい。

cactusplant7374 2025-04-21T21:24:20

ステータスページ、更新されてないみたいだけど…

spauka 2025-04-22T00:33:52

更新頻度によるけど、ステータスページは15分おきにしか更新されないよ。
>簡単なシェルスクリプトを組んで、crontabから15分おきに実行して、システムの統計情報をwebroot内の基本的なHTMLファイルに出力してるんだ。

Bluecobra 2025-04-22T00:35:18

もう一度確認したら、ちゃんと15分おきに更新されてるね。

allegrotim 2025-04-21T19:24:33

これはマジですごい。NESでも同じようなことってできると思う?例えばシンプルなCGIのウェブサイトとか。

zamadatix 2025-04-21T19:34:56

残念ながら、有効なHTTPレスポンスができるようになる頃には、SNESというより、SNESに何かを接続したような状態になると思う。例えば、オリジナルのFamily Computer Network Systemのアドオンは、モデムとして機能するためだけでも、元のコンソールよりも多くのRAMとCPUパワーを搭載していた。ましてやCGIのような「基本的な」ことなんてね。
Wiiはおそらく、これに必要なハードウェアがすべて内蔵されている最初のNintendoコンソールだよ(Nintendo DSでも、RAM拡張パックをGBAスロットに接続せずにLinux + サーバーをメモリに収めることができるかどうかによっては可能かも)。

tyami94 2025-04-22T01:49:07

これは「チート」の線引きに関する興味深い哲学的な議論につながるね。NESはHTTPを処理できるだけの能力があると思う。私はWeb UI(とCGI)を備えた小型のマネージドネットワークスイッチを持っていて、それはスイッチASICに組み込まれた8051で動作している。それができるなら、NESでも不可能ではないと思う。難しいのはストレージとI/Oだ。
これは純粋に理論的な話だけど、6522を使ってSPIをbitbangすれば、SDカードとEthernetコントローラー(Wiznet W5500のようなチップ)を追加できる可能性がある。少量のSRAM(〜16/32Kbit)とローダーROMを追加すれば、カートリッジスロットだけでNESを汎用コンピュータにできる。必要に応じて、拡張スロットから割り込みを奪うこともできる。
W5500にはTCP/IPスタックが内蔵されているから、「チート」とみなされるかもしれないけど、個人的にはNESがサイトをホストしていると言ってもいいと思う。
6522を使ったSPIのBitbangingについてはこちら:https://wilsonminesco.com/6502primer/potpourri.html#BITBANG_…

voidUpdate 2025-04-22T08:10:29

これは絶対に可能だと思う。https://mitxela.com/projects/kiloboot を思い出した。これはEthernetにENC28J60を使ってる。SPIのbitbangはかなり簡単にできると思う。メモリ空間にいくつかのアドレスを割り当ててバスと直接やり取りするようにすれば(もっと簡単にするために、別のシフトレジスタチップを使ってもいい)。画面への書き込みを諦めれば、Ethernet側で何かが起こるまで待機して、リクエストされたパスを読み取り、そのパスに対応するデータをROMから取り出して送り返せばいい。

echelon 2025-04-21T19:48:40

>Wiiはおそらく、これに必要なハードウェアがすべて内蔵されている最初のNintendoコンソール
アクセサリーが必要だったとしても、N64 Disk DriveかGameCubeネットワークアダプターでもできたかもしれない。どちらもネットワークインターフェースで、システムにディスパッチしてた。
N64 Disk Driveは面白いケースだね。ストレージメディアはフロッピーディスクドライブのようなものだし。モデムで接続するから、ミドルウェアが必要になるだろうけど。
Super Nintendoにもネットワークアダプターがあったし、NESとSNESには日本で衛星ネットワークアダプターがあった。Game Boyにもネットワークアダプターがあったと思う。それがどう機能するか、ハードウェア/ソフトウェアにどれだけの制御を委ねるかはわからない。
[1] https://en.wikipedia.org/wiki/64DD
[2] https://en.wikipedia.org/wiki/Satellaview

echelon 2025-04-21T22:02:28

衛星統合については間違ってた。[1]ダイヤルアップだった。
Game Boy Pocketでも同じような試みがあった記憶があるけど、市場に出なかったかもしれない。
[1] https://en.wikipedia.org/wiki/Family_Computer_Network_System

Klonoar 2025-04-22T02:35:31

GenesisもSega Channelあったよね確か?

athom 2025-04-21T19:53:33

これAtari 2600のGraduate Computer思い出すわー。残念ながら今リンク見つけられないんだよね。家帰ったら探してみる。

EvanAnderson 2025-04-21T22:35:51

参考リンクだよー。
・http://www.atarihq.com/museum/2678/graduate.html
・https://atarimuseum.ctrl-alt-rees.com/videogames/consoles/26…

もっとコメントを表示(3)
athom 2025-04-24T07:51:51

Evanさん、フォローありがとう!仕事中に書いたから、リンク全部ブロックされちゃって参照できなかったんだよね。ポリシー最近変わったみたいで…。家から見たら、トップページの一番下にあなたの返信が!Googleで有名人だ!

jkrejcha 2025-04-21T20:08:35

DSが一番最初からWi-Fi対応してるから、色々サポートされてるのかもね。Linuxはちょっと重いかな?

unleaded 2025-04-22T00:22:25

DSLinuxがあるけど、RAM拡張カートリッジが必要。ネットワーク使えるみたいだけど、システムが使う分を除くと8MBしかないんだよね。ツールチェインも古いし。

immibis 2025-04-21T22:26:19

4MBあれば十分でしょ。DSのhomebrewやるなら、3in1持ってれば8MBに拡張できるし。
Linux動くかって?Webサーバーなら絶対動くよ。
VRAMは置いといて。

zamadatix 2025-04-21T23:49:06

DSLinuxはRAM拡張なしの4MBで動くよ。WebサーバーとかCGIとか色々入れるのは大変だけどね。EZ-Flash V 3-in-1は16MBのPSRAM追加できたんだよ!Operaのブラウザ移植版とか懐かしい。

immibis 2025-04-22T08:44:38

DSLinuxってuCLinuxだよね?MMUないから普通のLinuxじゃないと思う。PSRAMだったっけ?Flashだと思ってた。

zamadatix 2025-04-22T12:12:56

uClinuxもLinuxだよ。MMUなしで動く機能も2.x系でmainlineにmergeされたし。
> https://lwn.net/Articles/14823/
EZ-Flash V 3-in-1は、16MBのPSRAMに加えて、64MBか128MBのNOR flashも搭載してた(revisionによる)。バッテリーバックアップSRAMもあったね。

starkparker 2025-04-21T20:24:04

C64でウェブサーバー動かせるなら、理論的にはNESでもいけるはずだけど、RAMがネックだな。NES64ってプロジェクトでC64 OSをNESで動かしてる例もあるし。Famicom Disk System足せばRAM増えるから、C64 LUnix NGを移植できるかも。LUnix NGには実験的なウェブサーバーも入ってるし。つまり、NESでHTTP 1.0サーバーを立てるのも夢じゃないかもね。誰が使うんだって話だけど(笑)。

tyami94 2025-04-22T01:52:30

裏技的な話だけど、NESのカートリッジにRAMを増設してるゲームもあったりするんだよね。カートリッジスロットからCPUのデータ線とかアドレス線が直接出てるから、割と簡単にできるんだ。

a_t48 2025-04-22T03:21:45

SNESならFXPAK PRO使ってUSB経由でプロキシできるよ。ただ、激遅だけどね。転送速度がイマイチなんだよね(ファームウェア側の制限かな?)。RAMの特定の位置にパケットを書き込んで、別の位置からパケットを読み出すみたいな感じ。ROMは12MBもあるけど、RAMは128KBしかないのが難点。NESで同じことができるかは不明。everdriveがUSB経由のRAMアクセスに対応してないんだよね(GB*では非対応で残念)。コントローラーポート経由でシリアル通信する方法もあるみたい。

a_t48 2025-04-22T03:25:53

SNESoIPってのもあるんだね。

Dwedit 2025-04-21T20:04:22

NESで何かやったとしても、それはもうウェブサイトとは言えないんじゃないかな。ジョイスティックポート1と通信したいなら、TCP/IPじゃないし。カスタムプロトコルに接続するためのゲートウェイは、NESよりも高性能になっちゃうだろうし。

joseda-hg 2025-04-21T19:35:47

NESはRAMが2KBしかないし、MMUもない8bit CPUだし、かなり厳しいと思うよ。第5世代(のゲーム機)よりも前の世代は難しいんじゃないかな。

jandrese 2025-04-21T20:04:12

ウェブページとTCPスタックを書き込んだカートリッジを用意して、イーサネットのハードウェアも用意する必要があるけど、メモリ要件を減らすための工夫はできるよ。一度に処理できるパケットは少ないだろうけど、低スペックなハードウェアでもTCPスタックを実装してる例はあるし。TLSは無理だろうけど。TCPはメモリやCPUサイクルが少ないマシンで開発されたんだから。Atari 2600は厳しいかもしれないけど、NESならできるはず。

joseda-hg 2025-04-21T20:40:41

拡張とかカスタムソフトウェアを使うよりもシンプルだけど、OPが言ってるような「汎用OSを焼いて、すぐに使えるようにする」のとは程遠い気がするな。

anthk 2025-04-21T20:18:43

Jupiter Aceは少ないRAMで色々なことができたから、あなどれないよ。シリアル<>PPPの外部モジュールを追加すれば、もっと面白いことができる。

KeplerBoy 2025-04-21T20:47:47

面白いことに、第5世代ではほぼ不可能だけど、第6世代(特にXbox。ほぼPC)では簡単なんだよね。

toast0 2025-04-21T21:43:01

6th genの主要なゲーム機は全部、有線Ethernetをサポートしてたんだよね。Xboxだけが標準装備だったけど(PS2スリムもそうだったか)。どれもウェブページを表示できたんじゃないかな。5th genでもできるかもしれないけど、Ethernetがないとモデムかシリアルインターフェースになるから、今だと家の別の高性能なホストに接続する方が確実だよね。Apple Pippinは5th genらしいし、Macみたいなもんだから、Ethernet接続は一番簡単だと思うよ。変なピン配置のPCIスロットだけどね。

toast0 2025-04-21T22:55:09

うちのスイッチはほとんどがアンマネージドだから、無理だね。DSLとかケーブルモデムならできるかもだけど、ISPが管理してると難しいかも。

msephton 2025-04-22T04:55:40

めっちゃクールで面白いね。消費電力についてだけど、後のWiiは改善されたみたい。初期のWiiは後期のより“熱い”んだ。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。