現代の技術で考えるロックマンEXE
皆さんは何年生まれですかね。
私は平成一桁おじです。
なので小学生のころに大流行りして男子みんながやっていた作品と言えば『ロックマンエグゼ』『ロックマンゼロ』『爆転シュートベイブレード』『パワプロクンポケット』辺りがゲームボーイアドバンス全盛期だったのではないかと思います。
ここで考えたいのが最初二つのロックマンの作品ですが、実は見た目が違うというだけで実は結構実現している部分が多い所があるのです。
組込みシステムとIoT
私達の生活においてほとんどの家電製品にはコンピュータが入っています。そして、その中でWebに繋がっているのをWeb of Things(WoT)と言い、さらにインターネットに繋がっているものがIoTと言います。
コンピュータ家電製品の仕組み
ArduinoやRaspberryPiと検索すれば出てきますが、誰でも簡単に実装できる組み込みシステムとしてそのようなものがあります(これが現実に使われているかは知りませんが)。
その他にTRONと呼ばれるものが実際にはメインで使われているらしいです。
このコンピュータ家電ですが、実際どんな感じで動いているのかについて説明しますと
①GPIO(マイクロコンピュータが入出力をやり取りするデジタル信号の入出力元)を用いて各機能のセットアップ(初期化)をする。
②GPIOのピン番号(マイクロコンピュータの足)に対してデジタル・アナログ入出力を決める
③無限ループの中でGPIOのピン番号にプログラムで出力の条件を決めたり入力の値を使って実際に製品を動かす。
IoT製品の仕組み
基本的には組込みシステムと仕組み自体は変わりません。
ただ変わるところがあるのが情報通信をしているという点です。
多くの場合センサ情報はHTTPのPOSTメソッド(Web上で情報を送信して情報を変更するものだと思ってください)でIoTサーバに送るか、アクチュエータ(ライトやモーターなど動くもの)に対する命令をUDP(高速で送れるが情報の損失を気にしない送信方法)でIoTサーバに送ります。
そしてIoTサーバのデータベースを更新または追加して、そのIoTサーバにGETメソッド(情報を取得する(ブラウザで開けるたいていのサイトはこれです))で情報のAPI(普通のブラウザで見るものはHTMLと言って人が見やすいものですが、APIは簡単に言うとコンピュータが処理しやすい形式になっている情報抽出しやすいものです)を受け取ってアクチュエータを動かします。
流れを説明すると
センサ系
①GPIOを初期化
②GPIOのデジタルアナログ入出力を決める
③無限ループの中でIoTサーバにセンサの情報をPOSTで送信をする
リモコン系
①GPIOを初期化
②GPIOのデジタルアナログ入出力を決める
③無限ループの中でIoTサーバに操作情報をIoTサーバにUDPで送信する
アクチュエータ系
①GPIOを初期化
②GPIOのデジタルアナログ入出力を決める
③無限ループの中でIoTサーバから捜査情報をGETで受信する
ではここまで組込みシステムとIoTの基礎が分かったところでロックマンエグゼの世界ではどんなことをしているかについて再現してみましょう。
プラグイン!ロックマンexe!トランスミッション!
プラグイン
まずTeraTermというソフトを用意します。

ここではローカルエリアに繋がっているものとしてIPアドレス「10.128.18.49」に接続します。
するとこのようにパスワードを求められます。ちなみにシリアル接続するとまた違った感じになります。

パスワードを入力するとターミナルに接続されます。

ここでロックマンエグゼの世界ではプログラムが書き換えられてIoT製品が暴走することを敵組織がやっています。
そこで迎え撃つためにプログラムを探します。

ここで怪しいswitch.py(Pythonで書かれたプログラム)がありましたので中身を確認します。
LinuxというOSでは「nano (ファイル名)」でファイルの中身を編集できます。

ネットナビ
では、プラグインまでやったところで、その後はどう動いているかと言えば劇中ではロックマンというネットナビが動いています。
このじゃあロックマンはどういう役割をしているかについてですが、恐らく現代技術でやれることとしてはプログラムの書き換えの手助けだと思います。
ためしにChatGPTに3秒ごとにLEDを点滅させるプログラムを書かせるようにプロンプトしてみましょう。

これによってネットナビ(生成AI)が修正プログラムを作ってくれました。(WWWにはLEDを焦がすプログラムを作られたと思ってください(ショボい))。

そしてこれを保存して実行します

これで電化製品は正常に動作しました。
IoTの脆弱性
先述したIoTについてリモコンやセンサについてはIoTサーバに送信することでアクチュエータも動かしています。
ただここで気を付けたいのが、何も対策をしていない、例えば通信を暗号化していない場合やAPIトークン(パスワード認証)をしていない場合だとIoTサーバのIPアドレスやURLを知っていたらユーザの意図しない悪意のある値を入力することができるという意味でロックマンエグゼの世界は実はそこまで大げさではないのです。
熱斗君のような人材
実は現在高校では情報という科目に昨今力を入れていて共通テスト(昔で言うセンター試験)に情報が加えられています。
その中には今回使ったPythonという言語でのプログラミングや情報リテラシーに関する教育がされているという事です。
熱斗君は小学生なためまだ情報教育としては早いですが現時点でも高校生がこのくらい活躍できるレベルになる土台はあるという事です。
まとめ
もうすでに生成AIの台頭によってロックマンエグゼの世界は実現のすぐ近くまで行っていると考えてもいいでしょう。
ただし、家電製品やIoT製品にプラグインするにしてもパスワードの入力が必要だったり、どのプログラムが悪さしているか探すのは難しいし、そもそも疑似人格プログラムのアバターがまだ存在していないので要素技術こそあれど、まだそこまで実現はしていませんが、遠い話ではないのかもしれません。
