山口らの旅行が最終日を迎えた。
東シナ海を望むコンドミニアムを後にして、大輔の運転で那覇市内を目指した。
最終日は、空港に行く前に那覇市内の牧志公設市場に立ち寄ることにしている。
市場近くのコインパーキングに車を停め、歩いて市場に向かった。
「すごーい、色々あるねえ。さすが沖縄の食べ物が全部揃ってるっていうだけのことはある」
テワタサナイーヌがきょろきょろと市場の中を見渡した。
市場の中の店先には、見たこともない珍しいものがたくさん並んでいる。
「ぶたさん!」
「わあ! ほんとだ。豚さんだねえ」
テワタサナイーヌも豚の頭に驚いた。
「この魚は観賞用じゃないですよね。熱帯魚みたいな色してるけど……」
弥生が鮮やかな青色をした魚を指して店の人に訊いた。
「これはイラブチャー。もちろん食用で、刺し身や酢味噌和えにするとうまいよ!」
店のおやじがにこやかに答えた。
「そっちが青ならこっちは赤ですよ」
大輔がグルクンをみつけた。
「これはホテルで食べましたね。たしか刺し身で出されたと思います」
山口がホテルでの食事を思い出した。
他にも豚の耳や足、海ぶどうなどたくさんの食べ物が所狭しと並べられている。
「そんなに広くないのに、たくさんありすぎて全部見るのは大変そう」
テワタサナイーヌがため息をついた。
「そうですね。2階にもお店があります。ちょっと上がってみませんか」
山口がほかの四人を2階に誘った。
「ここのサーターアンダギーがおいしいんです」
山口は、2階の一角にあるサーターアンダギーの店を案内した。
「サーターアンダギーって?」
テワタサナイーヌが山口に訊いた。
「沖縄版ドーナツみたいなものです。砂糖をふんだんに使った生地を油で揚げて作るお菓子です」
山口が説明した。
山口は、おみやげ用にパックされたものと、その場で食べるためにばらで5個を買った。
「あら、
店のおばあが日向をみつけて声をかけた。
「はい!」
日向が元気に手を上げて答えた。
「
おばあが日向に瓶に入った牛乳を差し出した。
「ありがとー」
日向が牛乳を受け取ってぺこりと頭を下げた。
「おいしーねー」
店の前にある長椅子に腰かけてサーターアンダギーをほおばった日向が笑顔を作った。
「これはおいしいわ。ドーナツよりあっさりしてて好みかも」
テワタサナイーヌも笑顔でサーターアンダギーをぱくついている。
「ごちそーさま」
日向が飲み終わった牛乳瓶をおばあに返した。
「ごちそうさまでした」
全員でおばあに挨拶をして店を後にした。
「そろそろ空港に向かう時間ですね」
山口が腕時計を見た。
五人は、市場を出てレンタカーを返却するため営業所に向かった。
「いま、空港は大混乱です」
レンタカーの営業所で職員が言った。
「え、なにかあったんですか?」
山口が訊いた。
「はい。航空会社の発券システムがダウンしてしまい、職員の手作業で搭乗者の確認と航空券の発行をしています。そのため、窓口にたくさんのお客様が滞留してしまい、空港発の便に遅れが出ています」
「そうですか。それは参りましたね」
山口と弥生が顔を見合わせた。
「とりあえず空港に行きます」
山口が職員に言った。
「かしこまりました。それでは空港までお送りします」
職員はそう言うと、送迎用の車を準備した。
「あ、これだね」
営業所から空港に向かう車の中でテワタサナイーヌがニュースを検索して発券システムダウンについて報じているものをみつけた。
「どういう内容ですか」
山口が訊いた。
「えーとね、JALの発券システムが全国規模でダウンしているらしいよ。システム自体は正常に動いているのに、発券できない状態が続いてるんだって。原因は、不明」
テワタサナイーヌがニュースをかいつまんで説明した。
「それは、厄介なことになりましたね」
山口が表情を曇らせた。
「お疲れさまでした。到着です」
レンタカー会社の職員が声をかけた。
「ありがとうございました」
山口が代表して礼を言った。
車から荷物をおろして空港の建物に入ると、出発ロビーは思ったほど混雑していなかった。
航空会社のカウンターを見ると、大勢の職員が客の対応に当たっており、手作業で確認と航空券の発券を行っていた。
おそらくあらかじめマニュアル化され、対応の訓練が行われていたのだろう。
職員の動きには無駄がなく次々と客をさばいていた。
「やはりインシデント対応には平素の訓練が大事なんですね」
山口がカウンターを見ながら大輔に言った。
「消火訓練ですね」
大輔が応じた。
「そうです。身体を動かして体感することが重要です。頭でわかったつもりの知識は、いざというときに役立ちません」
山口が発券待ちの列に並びながら大輔に言った。
「お疲れさまです。おかげさまであまり待ちませんでした。ありがとうございます」
カウンターで5人分の航空券の発券を受けた山口が対応した職員に礼を言った。
「あ、ありがとうございます。ご迷惑をおかけして申し訳ありません」
職員の表情に笑顔が戻った。
「飛行機の時間まではまだあります。沖縄最後の食事にあのハンバーガー屋さん、行きますか?」
山口がテワタサナイーヌに挑戦的な視線を投げかけた。
「あのって、あの飲み物がある、あのお店ね」
テワタサナイーヌが笑った。
「そうです。あのお店です」
「いいね。行こう」
五人は、出発ロビーのひとつ上のフロアにあるハンバーガーショップに入った。
「早苗さん、ルートビア飲みますか?」
山口がいたずらっぽく訊いた。
「うーん、どうしようかな……」
テワタサナイーヌが逡巡した。
「飲んでおこうかな」
テワタサナイーヌが舌を出した。
「さっき『厄介なことになった』って言ってたけど、あれはなんで?」
ハンバーガーをほおばる日向の横でテワタサナイーヌがルートビアを一口飲んだ。
「あれですか、ニュースでわかる範囲での話になってしまいますが、システムが正常に動いているように見えるのに、実際は発券できないという状態だとしたら、システムの管理者権限を奪われている可能性があると思ったからです」
山口が自分の見立てを披露した。
「外部からの侵入があったってこと?」
「そうです。システムが正常に動いているように見えるっていうことは、ただ侵入してシステムを壊していく愉快犯やいたずらとは違う何らかの意図があるような気がするんです」
「どういうこと?」
テワタサナイーヌが小首を傾げた。
「テワさん、めっちゃかわいい!」
大輔が喜んだ。
「おかーさん、かわいい!」
日向も真似をした。
「ありがとう」
テワタサナイーヌがにっこりと礼を言った。
「続けていいですか」
山口が苦笑した。
「あ、ごめん。続けて」
テワタサナイーヌが手を合わせて謝った。
「システムが正常に動いているように見えるのに、実際は本来提供されるべき機能が阻害されているということは、そのシステムの中に侵入者が身を隠している可能性があるからです」
「え、そんなのすぐ見つけられるんじゃないの?」
「そうですね。普通の状態であれば、誰がシステムにログインしているか、そのシステムに変更が加えられたかどうかをすぐに知ることができます。ですが、あることをされると、それがわからなくなってしまうんです」
「あることって?」
テワタサナイーヌは、そろそろ話が難しくなりそうな予感を感じた。
「何らかの方法で侵入者にシステムのルートを取られると、そのシステムは侵入者の好きなようにいじられてしまいます」
「ルートって何?」
「ルートというのは『root』と書きます。ルートビアのルートと同じスペルです。要は、システムの根っこ、根本となる権限のことを指します。根っこではありますけど、最上位の権限と思ってください」
「根っこに行ったり一番上にのぼったり忙しいのね」
「ルートを取ると好き勝手ができます。しかし、そのままだと管理者にみつかってしまいます。管理者以外が管理者権限でログインしているわけですから」
「そりゃそうよね」
「だから、管理者から見えないように身を隠すんです」
「どうやって?」
「システムに嘘をつかせます」
「システムに嘘を?」
「はい。侵入者に関する情報をすべて答えないようにシステムを変えてしまうんです。そうすると、たとえ侵入者がシステムにログインしていても、管理者がログインユーザーを調べると、侵入者に関する情報が返ってこなくなります」
「そんなことできるの?」
「できるんです。システムを動かしているOSというのは、一つの大きなプログラムではありません。カーネルといわれるOSの核となるプログラムを通じて呼び出される小さなプログラムの集まりです。ですから、カーネルに嘘の動作を行わせるようなモジュールを組み込んでしまえば、管理者がログインユーザーを調べるコマンドを叩いたとしても、侵入者に関する情報は教えないというようなことができます。そうなると、管理者には何も異常のないシステムに見えるのに、正常な機能が提供できない、おかしな動作をする、といったような事態になります」
「つまり、システムが管理者に嘘をつくようになるんです」
「えー、そんなことができたらやりたい放題じゃない!」
テワタサナイーヌが憤った。
「こういうことをさせるのを『システムコールのフック』といいます。そして、それを実現するツールを『rootkit』といいます。一回、管理者権限を奪取してrootkitを組み込んでしまえば、管理者から見つかることなくやりたい放題できるのです」
「こうなってしまうと、そのシステム上で侵入者を見つけるのは困難です。なにしろシステム自体が嘘つきなのですから」
「ひっどーい」
テワタサナイーヌが憮然とした。
「JALのシステムもそういう状態なの?」
「それはわかりません。ただ、正常に動いているように見えるにもかかわらず、正しいサービスが提供できないというのは、rootkitを組み込まれている可能性も考えられます」
「そうなんだ。今は何でもネットにつながる時代だから、ちょっと油断するとすぐに乗っ取られちゃうのね」
テワタサナイーヌが腕組みをした。
「はい。もう15年以上前のことになります。初代のコンピュータ犯罪捜査官が『いずれ家庭の冷蔵庫から不正アクセスが行われる。だから、我々は、冷蔵庫を差し押さえるときが必ず来る』とIoT社会の到来を予言していました。当時は、ネットにつながるのはコンピュータと決まっていましたから、笑い話だと思っていました。それが、笑い話ではない現実のものになっています」
あまり過去のことを語らない山口が珍しく昔のことを話した。
「面白い人ね。でも、その予言は本当に当たりそう。ていうか、お父さん、その人と一緒に仕事してたの?」
テワタサナイーヌが疑問を抱いた。
「はい。一緒に仕事をしていました」
山口は、淡々と答えた。
「ていうことはよ、お父さんはサイバー犯罪の捜査をやっていた、と?」
「まあ、そういうことになります」
「まあ!」
「韻を踏んだんですか?」
山口が笑った。
「そういうつもりじゃない。たまたまよ」
テワタサナイーヌが苦笑した。
「ねえねえ、お母さん」
テワタサナイーヌが弥生を呼んだ。
「なーに?」
弥生が日向の口の周りを拭きながら返事をした。
「なーに?」
日向が弥生の真似をした。
「あなたは呼んでない」
テワタサナイーヌが笑った。
「お母さんは、お父さんがサイバー犯罪の捜査をやってたの知ってた?」
「夫婦なんだから当たり前でしょ」
「いや、でもさ、仕事のことは妻にも言わないっていう人もいるじゃない」
「この人は、そういう人じゃないわ」
弥生が山口を見た。
「そうです。そういう人じゃありません」
山口が調子を合わせた。
「そっかあ。それで、あの、なんだっけ、ルート575だかなんだかも知ってたのね」
「rootkitです。それにルート575は、routeです」
「そう、それ」
テワタサナイーヌが指を鳴らした。
「お父さんは、サイバーで何やってたの?」
「私は、捜査と各署の指導です」
「へー、指導もやってたんだ。偉かったんだね」
テワタサナイーヌが山口をほめた。
「偉くはないです。まだサイバー犯罪捜査が黎明期だったので、捜査できる人が少なかったんです。だから私がやっていただけです」
「またまた謙遜しちゃって」
「ほんと、謙遜なのよ」
弥生が口を挟んだ。
「なにしろ、大手ポータルサイトが運営するオークションサービスを使った詐欺を全国で最初に検挙したのはお父さんですからね。しかも、一人だけでよ」
弥生が山口の実績を讃えた。
「まあまあ、もう過去のことです」
山口が残りのルートビアを飲み干した。
その後、JALの発券システムがダウンしたのは、システム設計のちょっとしたミスが原因だったことがわかり、その旨の発表がなされた。
「ねえ、お父さん」
「なんですか」
テワタサナイーヌと山口の会話は、いつもここから始まる。
「お父さん、サイバーにいたから、こういうのもわかるでしょ」
そう言いながらテワタサナイーヌは山口にスマホの画面を見せた。
「これは架空請求のメールですね」
「うん、そう」
テワタサナイーヌが頷いた。
「早苗さんは、このメールを架空請求だと思った根拠はどこにありますか?」
「え、だって、ここに書いてあるようなサービスを使ったことないもん」
「なるほど。では、もし、似たようなサービスを使ったことがあったとします。そうしたらどうでしょう?」
「えー、そうなるとちょっと自信なくなってくるなあ」
テワタサナイーヌが戸惑った。
「そうですよね。それが相手の思惑です」
「じゃあ、そういうときはどこで見分ければいいの?」
「まず、名宛人の表示があるかどうかを見ましょう」
「なあてにん?」
「そうです。名宛人というのは、受取人として名前を指定された人です。正当な請求書なら、必ず誰に宛てたものなのか明記されています。相手が誰かもわからない請求書を発行するバカな会社はありません。早苗さんが受信したメールはどうですか?」
山口がゆっくりと話した。
「ちょっと待ってね。えーと、私が受信したやつは『貴殿の』って書いてあるね」
「なるほど、そういう代名詞だけで自分の名前やサービスへの登録名がない場合は、間違いなく架空請求です。誰に送っているのか、送信側もわかっていないから、そういう表現にならざるをえないのです」
「なるほど。言われてみればそうよね」
テワタサナイーヌが手を叩いた。
「それだけで、たいていの場合は架空請求を見破ることができます。あとは、メールヘッダから架空請求を見破ることもできるのですが、メールヘッダは偽装可能なので過信するのは危険です」
「メールヘッダって聞いたことあるよ。メールが送られてきた経路とかがわかるんでしょ」
「早苗さん、よく勉強してますね。そのとおりです。メールヘッダというのは、読んで字のごとくメール本文の前、ヘッダーに付加される情報のことです。ここに、送信者に関する情報や、メールが送信された経路などが記録されています」
「よくわからないけど、そうなのね」
「はい。そうなんです。メールというのはSMTPサーバにより送受信されています。普通は、プロバイダなどが用意してくれたものを使います。webメールの送受信もSMTPサーバを使っています。ただし、これは自前でサーバを立ち上げることが可能です。SMTPサーバの正体は、sendmailという小さなプログラムで、メールヘッダを付けているのもこれです。これは、オープンソースなので誰でも改変が可能です。ということは、このプログラムを改変してSMTPサーバを立ち上げれば、偽装したヘッダーを付けてメールを送ることが可能になります。
「へー、難しくて全然わからないけど、要は、メールヘッダも偽装することができますよってことでしょ」
「そういうことです。ですから、メールヘッダーを盲信するのは危険だということです」
「なるほどねえ」
テワタサナイーヌが感心したように頷いた。
「実は、もう一つメールヘッダーを偽装する方法があるんですが、それをここで公開するとセキュリティ上問題になりますから秘密にしておきます」
山口が人差し指を唇に当てた。
「あと、架空請求で気をつけないといけないことがもう一つあります」
「なにそれ」
「メールでの請求は、無視するだけで済みます。でも、万一、自宅などに裁判所から訴状や期日呼出状などが届いたときは、無視してはいけません。少額訴訟を起こされている可能性があるからです。指定された期日に出頭して弁論を行わないと、相手方の主張を認めたとみなされて敗訴してしまいます。これは、実際に債務があろうがなかろうが関係ありません。訴訟を起こされて無視していると裁判に負けて、もともとなかったはずの債務が確定してしまいます」
「えー、なんか怖い」
「まあ、これは可能性として考えられますが、犯人側に大きなリスクが生じますから、この手口が大流行することはないでしょう」
「そっかー」
テワタサナイーヌが納得した。
「そろそろ搭乗の時間です。搭乗口に行きましょう」
山口が声をかけた。
「ばいばーい」
離陸後、日向は、眼下に広がる沖縄の景色に手を振って別れを告げた。
この物語はフィクションです。登場する人物・団体・名称等は架空であり、実在のものとは関係ありません。