全てを理解した件
```
$ cat ~nishizaki/diary/003.txt
最近は不可解なことが多い。日本というのは東西でNGNってやつが分割されていたりするのだが、ここのところ東日本だけがやたらとポートスキャンや侵入の形跡が多くなっている。もっと言えば関東圏にだけ集中していると言っても良い。世界情勢がきな臭くなっているとかで国が関与しているハッカー集団が探りを入れているって線も考えられるわけだが、なかなか面白いのはIPカメラへの侵入がとても多いことだ。そのほか個人が持っているNetatmoとかそういった天気をセンシングするようなIoTの侵入が多い。
興味深いのは侵入して何をするかと思えば、映像のRTSPや気温や湿度、そういったデータをただ取得しているだけ。これが一日に何万件も起きているわけだ。別にMQTTに脆弱性があったとかそういう話ではない。
rootkitを仕掛けるでもなく、何か目立った踏み台にするわけでもないから脅威としては非常に低いもので覗き見してデータを集めているだけ。
それはそうと侵入を受けたデバイスのGeoIPをマッピングする作業してるわけだが、アクセスパターンとして面白いのはランダムなデバイスを覗き見るのではなく、近い場所だけがハッキングされているってところか。普通はそういうことはできないだろう。まるであらかじめデバイスのIPとピンポイントな場所のテーブルを持ってるかのようだ。
```
焦っている、ということだけがわかる。俺は焦っている。とにかく焦っていて、状況だけが思考を埋めている。世界は前に進んでいるのに、俺は動くことができない。ミカはぶらんと歩きながら、円山町方面に向かっている。そう、今日は渋谷に来ているわけだ。ミカは戸惑いつつも、手を引かれて歩を進める。いつの間に手を握っていたのかは覚えがないが、俺は初めて言いようのない静かな怒りを覚えた。心が弱っていて孤独でいる人間につけ込んで、ただ単に道に迷っているような状態を利用して自分の欲望とエゴを満たすために利用する。そしてそんな目に遭おうとしているのは俺の妹だった。
深呼吸をイメージする。
脳のメモリをmallocし、余計な思考をページアウトする。少しだけ気持ちは楽になる。
気持ちが楽になって意識に余裕が出ると、夏の始まりが近づいてくることを知らせる、少し生暖かい湿った風に吹かれていることに気づいた。
ミカのiPhoneにメッセージを送る…効果なし。なんならスパム扱いだ。ぶらんにDMを大量に送りつける。アカウントが凍結。第2のアカウントも第3のアカウントも凍結。第213のアカウントも凍結だ。少し脳を使ってSMS番号を432個ほど取得していたが、この方法は意味がないに等しい。少し考える。オンラインでは意味がない。実際に動いているのはこの世界だ。
二人はラブホテルに入った。
俺はイメージをする。このホテルの中のイメージ。
とは言っても内装や什器などはどうでもいい。興味があるのは頭脳とプロトコルスタックを持ったネットにつながるデバイスだ。ネットワークをイメージし、ルータをノックする。覗き回る。空きポートはない。それはそうだ。こんなホテルは単に客に使わせるだけのWiFiが備わっていて、公開されたサーバーがあるわけではない。
こんな時に必要なことはGoogleに聞くことだ。
ラブホ WiFi
ラブホ ネットワーク 設計
ラブホ システム
ラブホ 受付
世界中のハッカーだってやっている。公開情報をまず当たり、とにかく脳に配置していく。繋がらないことでも、点を多くしていけばやがて線になる。
ラブホ 予約
特に行くわけではないが。
ハッカーの思考がなんとなくわかる。普通の客と“入り口”は一緒。格好も様子も同じだ。だがやることは違う。
予約サイト「ファッキーホテル」
これは全国のラブホの大半の予約ができる大手のサイトだ。
このサイトは実は数週間前にユーザーIDとパスワードをお漏らししている。今知ったわけだけど。このような流出したものはいくらでも拾うことができる。そこでぶらんのアカウント名に似たメアドを見つけてしまった。
これで入るか。IPの偽装は要るのかどうなのか。念のためTorを通す。俺がどうやって通信できているかは知らないが、もし天上界に警察がいたら困るからな。
ログイン完了だ。予約リストを覗くと、ホテル名が一致する。なるほどね。
少しテンションが上がる。声を上げたいところだ。手を叩いて奇声をとりあえず上げたい。
で。
どうするのか?
ログインしたってどうするのか。
ぶらんはすでに部屋を選んでボタンを押している。なるほどね。こういうシステムなのか。
少し閃く。
ラブホのシステムはなかなかに高度なものだ。部屋を選んでボタンを押し、部屋が解錠される。
このシステムはどこかで統合管理がされているはずなのだ。
またGoogleさんに聞いてみたところ、とある会社がデファクトスタンダードなシステムを開発しているらしい。大抵ここのシステムを使ってラブホのシステムは出来上がっているというわけだ。
調べれば、ファッキーホテルから予約情報がラブホのクライアントPCに流れてきているという。つまりどういうことかというと、予約をすれば情報がラブホに流れてきて、ラブホのPCはそれを処理するということだ。
点と線が繋がっていく。というよりは点を集めたら線になったようなものだ。
log4j。先ほどぶらんのパスワードをリークしたハッキングフォーラムのトップで話題に上がっていたやつだ。
俺はもう一度ファッキーホテルに行き、ぶらんで予約を入れる。
ただ単に予約をするわけではない。名前を変えてやる。
名前は…${jndi:ldap://…
もちろんこの名前には意味がある。俺が書き込んだこの文字列はラブホのPCで解釈され、JNDIルックアップで外部からスクリプトを注入する。
プログラムというものは意図せずバグが出来上がるものだ。多かれ少なかれ必ずバグは潜む。そのバグは落ちるだけのバグだったり重くなるだけだったりするのもあれば、被害をもたらすこともある。このバグは加工した文字列を外部から入れれば、それを間違って実行してしまうlog4jのリモートコード実行脆弱性というものだ。Javaのプログラムは大抵これでログを残していたものだが、こういった広く使われるライブラリにバグがあると大変だ。
今回はこれをありがたく使わせていただいて、ラブホのPCでTeamViewerを起動させるドロッパーを落とす。
頭が冴えているので、ありものではなく今ちょろっと書いたものだ。VirusTotalにも引っかからない。
TeamViewerを起動すると、ラブホの受付だかのPCの画面が開く。
なんのことはない。人間が作った仕組みをそのまま使って辿り着ける場所だ。魔法は使っていない。入り口は一緒。視点を変えれば、システムは変わった一面を見せる。
俺はすぐさまルームの管理画面にいき、全てを満室にしていく。クリックをカチカチと押している。生前世界ならマウスのスイッチ音が楽しげに響くはずだ。満室の文字が赤く光り、入ることはできなくなる。が、少し遅かったようで、ぶらんは入り口から一番遠い部屋にすでに入っているようだ。
俺は部屋をイメージする。しかし、イメージは浮かばない。時々あるのだ。イメージをしてもどうしても入れない部屋などが存在し、俺は世界から分離される。
ここまでなのだろうか。
いや。ルームの管理画面を眺めると、色々できることがわかる。
例えば「照明」
消してみる。もちろんぶらんの部屋だけだ。
部屋からドンドンと音がする。もしかすればミカが叩いているかもしれない。
ロックを解除することもできそうだ。
「解錠」
電子錠が回るサーボモーターの音がし、ロックが解除される。
ドアが開き、ミカの顔が一瞬見えたが、その瞬間に引き戻される。
これは誘拐だ。
犯罪だ。
深呼吸をする。
怒りは最も強い感情だと、個人的には思う。
喜びや悲しみ、楽しみよりもはるかにポテンシャルエネルギーが大きいと思っている。だからこそコントロールしなければならない。一気に爆発させるのか、ゆっくりと力を取り出すのか。
落雷のエネルギーは一瞬で、取り出すことは難しい。稲妻が落ちる場所はその時点でのほぼ予測不可能な空気の疎密だったり、空気に混じる不純物、カオスに支配される。つまり、結果がわからなくなる。
怒りはゆっくりと時間をかけてコントロールするのが正解だ。
ぶらんは、許さない。
落ち着いて“目をつぶり”、深呼吸をイメージする。
とは言ってもできそうなことは解錠と施錠だ。あとは部屋の照明の色を変えるくらいか。
ここは少し落ち着いて、解錠をする前にぶらんをミカから引き離したほうがいいのかもしれない。見ることはできないが、おそらくミカはぶらんに拘束されている。手元に並んだボタンが今できることの全てだ。
照明を「青」でONにする。
そしてすぐに「赤」にする。
とにかくPCが受け付ける最高速度でそれを繰り返す。単純なRPAを頭で思い描き、すぐに実行する。部屋は大変なことになっているだろう。
部屋を想像する。人間が反応し、決断するまでの時間…
わからないが、3秒くらいあれば、大抵の人間なら赤と青の明滅に嫌気が差していてもたってもいられなくなるだろう。
3秒きっかりで解錠する。
サーボが音をあげて電子錠のロックが外れる。ミカは飛び出してくる。
「助けて!!助けてください!!」
みていることしかできないが、とにかく逃げろとしか言えない。もはや、ここからはなるようになるだけだ。俺は急いでぶらんの部屋を施錠する。そしてそれ以外の部屋を解錠し、触っているPCのホテル管理デーモンを停止する。これで従業員もぶらんも何もできなくなる。
ミカは泣いている。ホテルを出たあとは道にうずくまり、誰が通報したのか、やってきた警察に問いかけられている。
俺は最後の仕事をする。漏洩していたパスワードはTwitterのパスワードとして使いまわされていたので、ぶらんのDMを掘り起こすことができた。似たような手段で色々とやってきたらしい。
その全てをPostScriptのファイルにまとめ、LPRコマンドでラブホのプリンタに送信する。
32ページ。それを怒りに任せて入力した99999999部、印刷する。おそらく紙が無くなるまで、ぶらんの悪行を吐き出してくれるだろう。俺がするのはこのくらいでいい。全ての記録を消したいので、ルータを再起動し、PCは痕跡を消してシャットダウンするようなスクリプトを実行する。
そして暗黒に閉じ込められる。
意識を失っているわけではない。
何も見えなくなる。
入れない部屋。
そして消える視界。ホテルの外はイメージができる。
ホテルの中には今は入れない。
何なのか。
でも理由がわかった。視界が消えている。なぜ消えるのか。非常に論理的だ。俺の視界は、ホテルの中のIPカメラを利用していたに違いない。
ルータを再起動しているから、ホテル内のIPカメラにはアクセスができない。俺の視界は魔法でもなんでもなく、単純にカメラを利用していて、今はそれが閉ざされている。
風を感じたり、気温を感じたりしたのはウェザーステーションの情報。意図せぬうちにそれを処理し、数値を感覚として利用していただけだった。
全ての辻褄があう。飛んだ時間はなんだったのか。
それはデバッグ。
ブレークポイント。あるいは休止状態か。
そもそも俺は世界には存在してはいけない。なのにこういうことができているのはなぜなのか。
量子ビットがエラーを起こしている。
いや、少なくとも俺の意図。俺の視点ではエラーではない。
生前世界の視点ではどうか?
死んだはずの人間が世界に干渉でき、世界をいじること。それは単なるエラーに他ならない。
狂った量子コンピュータがおかしなパケットを吐き出し続けている。
エラーレートが異常だ。そのたびに実行は停止され、俺の意識も止まる。時間が飛ぶ理由だ。
子どもの時に受けた手術の全身麻酔を思い出す。
マスクをつけられ、静脈にプロポフォールが入れられた時、意識は安らかに引いていく。しかし一瞬で手術は終わっている。
寝ている感覚とは全く違う、体内時計の狂い。
自分の時間の流れが止まっているのだ。コンピューターに意識があれば、スリープ状態やデバッグのブレークポイントは全身麻酔と同じような時間の感覚を感じているだろう。
つまり俺は意識せずとも量子ビットのエラーを引き起こし、その結果が現実世界の出来事に繋がっているということだ。量子コンピューターがメンテナンスだかデバッグだかで止まったりすると俺の意識にも影響する。
量子超越は研究が進められている分野だ。しかし量子ビット数を莫大にするとエラーが問題になってくる。このエラーを下げることが研究目標ともなっている。
とすると、技術の進歩は俺の寿命に影響することになる。どういうことかというと、量子コンピューターが発展すればするほど、量子ビットのエラーレートは下がるに違いない。それは生前世界にとって意味のあることだ。しかし俺にとっては俺の干渉できる領域が下がることを意味している。
俺は叫びたい。いや、反転するビットは俺の叫びそのものだ。
叫びをバイトコードとして解釈した量子コンピュータはネットワークにパケットを送り出し、それは生前世界で状態を作り出す。ルータはそのパケットをデバイスに送り届け、世界の状態を変えたり、世界の状態を知ることができる。
生きている俺に気づいてほしい。
おかしいのは生前世界のほうなんだと。
エゴが人々を動かし、怒りや衝突を生み出し、悲しみを生み出していた。ただそれだけでもない。楽しさも嬉しさもあった。自身を、自身の情報を隠さなければならないこの天上界にいるからわかる。ここではエゴは意味をなさない。やってきたことも、やり遂げたことも、やりたいことも誰にも言えないのだ。何よりミカに兄として接することができないのが辛い。
世界は止まる。いや、俺が見ている世界が止まる。次の再開、そして再会はいつになるのか。渦巻いていく眠気のようなものが襲い、時間は引き伸ばされる。ブラックホールに落ちていく人間はもしかするとこうした感覚を受けるかもしれないと思った。