今年は何もない……はず

「突然だが、この学校がサイバー攻撃に合った」


 今日の朝礼は、不穏な言葉で始まった。教室がざわつくも、先生が手を叩くとすぐに静かになった。


「まず先に言っておくと、大きな事件には発展していない。単純なランサムウェアを使った攻撃だったが、該当PCには重要な情報は入ってなかったから全部リセットして元通りだ」


 ほっとする俺達一同、だが先生は少し声を大きくして続きを話し始めた。


「問題は、そのウイルスの感染経路だ。学園に届いたメールに添付されていた画像に偽装されたアプリケーションをとある先生が間違って実行してしまった所から感染したんだ。そのファイル名は『魔法杯の取材について.jpg(.EXE)』、明らかにこの学校を襲うつもりのファイル名だ」


 つまり、「そこらのフリーソフトをダウンロードしたら、ウイルスが入ってました!」という事件ではなく、この学校を標的にした攻撃だったと先生は言いたいのだろう。


「この事から、お前らが標的にされる恐れがあるって情報の先生は考えている。だから、ファイル共有サービスに入ったファイルや、メールで送られてきたファイルを無警戒に開くことに無いように。十分気を付けるように」



 マルウェアか……。そういえば、ゲームでは敵の一味がコンピュータウイルスを駆使してフォルテメイアの情報を盗んだってシーンが描かれていたが……。まさかな。敵の襲撃は2年生以降、今年は何もないはず。あれ、これってフラグか?





「そういえばさ。今朝先生が言ってた『ランサムウェア』ってどんなやつなんだ?」


 その日の昼休み。伊藤が教室にいる俺達にそんな疑問を投げかけた。


「そりゃあ、あれだろ? ウイルスみたいな」

「パソコンがぶっ壊れるんだよな?」

「USBとかで感染するんだよな?」

「マルウェアの親戚だよな?」


 あーうん。ちゃんと勉強してないとそうなるよな。俺もちゃんと知ったのは、前世でIT企業で働いてる時だった。

 え、高校の時、情報の授業で習うだろって? HAHAHA、何のことだか。


 まあでも、どういう「悪意」がネット上にあるのかを知っておくことは重要だと思う。という訳で、少しお耳を拝借。


「ランサムウェアは身代金を要求するタイプのマルウェアだな。ちなみに、一般的にはウイルスっぽい挙動はしないかな」


「?」

「つまり、ランサムウェアはマルウェアの一種なのか?」


「だな。大前提として、『マルウェア』は悪いプログラム全般を指す言葉だ。イタズラの範疇に収まる物から、犯罪性のある物まで。全部ひっくるめてマルウェアだな。ちなみに、マルウェアの『マル』は悪意のあるって意味の英単語"malicious"から来ている。癌の善悪を現す"malignant"と違って、"malicious"は人間の悪意って意味合いが強いらしい」


「へー」

「じゃあ、『授業中に大音量で音楽を鳴らすアプリ』を作ったとしたら、それはマルウェアなのか」

「うわ、それは嫌だな……」


「その通りだな。作るなよ、そんなアプリ。でだ、話を戻すとマルウェアの中でも特に、身代金を要求するタイプの物を『ランサムウェア』と言う」


「身代金ってどういうことだ?」

「あ、それは俺も知ってる。確か、『お前のPCを暗号化してやった。元に戻してほしくば、金を払え』ってやつだよな?」


「そうそう。まさにそう言う奴だ。超簡単なマルウェアなら、例えば全部のファイルの中身を1進ませる、なんて物が考えられるかな?」


「カエサル暗号だっけ?」

「AがBになるんだよな」


「そうそう。まあぶっちゃけカエサル暗号ならすぐに解ける。例えばpng画像は2、3、4文字目が大文字で『PNG』になってる。逆に言うと、元々PNG画像だったファイルの2、3、4文字目がQOHになってれば一文字進められてると分かる」

※なお、環境によってはPNGではなく臼NGと見える事がある。


「そんな事が出来るのか……」

「でも、本物のランサムウェアはもっとヤバいんだよな?」

「まあ、身代金を受け取る前に解読されたら元も子もないからなあ」


「だろうな。だからこそ、定期的にバックアップを取っておくことが重要なんだよな。俺は専用の外付けHDD(ハードディスク)を持ってるけど、みんなは?」


「持ってないなあ。父さんは使ってたけど」

「俺はクラウドに自動保存されるやつを使ってる」

「俺も」


「まーぶっちゃけ俺達が持ってるデータって正直重要な物なんてないからなあ。もしランサムウェアに感染しても『いや、金払うくらいならリセットするわ』ってなるよな」



「次にウイルスについて。マルウェアとごっちゃになって使われることもあるけど、狭義のウイルスは『他のファイルに感染するマルウェア』だ」


「『ウイルス』だもんな」

「なるほど、逆に言うと感染しないマルウェアはウイルスじゃないのか」

「ランサムウェアはウイルスっぽい挙動をしないって言ったのはそういう事か」


「そうそう」


「でも、ファイルに感染ってどういう事なんだ?」

「確かにそれは気になってた」

「なんか昔、疑問に思って先生に聞いたら『詳しく教えたら、真似されるかもしれないから教えない』ってはぐらかされた」


「それは……。知ってるけど、言っていいのかな? うーん、まあ大丈夫か。けど、真似するなよ?」


「しないしない」

「と言うかできない」


「まず大前提として、ここではかの有名な『窓って名前のOS』におけるウイルスの話をするな」


「なんで隠した?」


「まあまあ。で、『窓って名前のOS』では、アプリケーションはEXEファイルって形で保存されている。ゲームも、メモ帳も、ブラウザも、な」


 例外はあるけど、ここでは割愛。


「さて、ここで問題。EXEファイルの中にはアプリケーションの中身、つまりプログラムが書かれている訳だが、どういう順番で実行されると思う? 『前から』『途中から』『後ろから』の三択でどうぞ!」


「そりゃあ、前からじゃないのか?」

「いやいや、わざわざ聞くって事は前からじゃあないんじゃね? 俺は後ろからに一票」

「じゃあ、残った『途中から』に一票」


「正解は『途中から』なんだ。実はEXEファイルの先頭には『このアプリの本体は○○行目から開始されます。そこまですっ飛ばしてください』って書いてあるんだ」


「「「へー」」」


「この『本体は○○行目』っていう○○行目の部分は『エントリーポイント』と言われる。さて、ここからが本番だ。ウイルスが感染するメカニズムを一言で言うと、このエントリーポイントを書き換えるんだ。例えば、メモ帳アプリに感染した場合」


【本来のメモ帳アプリ】

エントリーポイントは100行目ですよ

……略……

100行目

アプリの本体

ここまで



【ウイルスにかかったメモ帳アプリ】

エントリーポイントは1000行目ですよ

……略……

100行目

アプリの本体

ここまで

1000行目

ウイルスの本体

100行目に飛ぶ

ここまで



「いやらしいことに、ウイルスの末尾には『本来のエントリーポイントに飛べ』っていう命令が書かれていることが多い。つまり、感染したアプリは一見正常に見えるんだ。だからどんどんどんどん広がっていく。そして、感染先で新たな宿主を見つけるって寸法だ」


「こっわ……」

「てか、なんでそんなの知ってんだよ……」

「お前、さては作ったことあるな?」


「無いない。昔、ウイルスの仕組みについて知りたくなって調べた事があってさ。小学校6年生くらいの時に」


 あ、今世の話だよ? 前世で小学校6年生と言えば、中学受験の為に猛勉強を強いられてた時期だ。それに比べて、今世は自由だったなあ。


「どんな小学生だよ……」

「こっわ……」


 何故か警戒されてしまったのだった。




  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る