以下の図のファイル群に不正プログラムが入っていた場合、これがダブルクリックにより実行されてしまう危険性を持つものはどれか。
図中の選択肢から2つ選びなさい。
なお、アプリケーションの脆弱性については考慮しないものとする。
「……1つは何となく解るかな?」
「どれがあやしいと思うの?」
「『a』だと思うんだけどね。」
「その理由は?」
「『setup』って書いてあると、だいたいこのファイルって何かを実行するのに使われなかったっけ?」
「コムたろう君が言っているのは、『setup.exe』のことだね。」
「そうそう、それ!インターネットでダウンロードしたファイルってたいていそんな名前のファイルじゃない?」
「まぁだいたいそんな名前だよ。」
「ほらね!だから、なんか悪いことを実行するから『a』だと思うんだよね。」
「でも、『setup.exe』の『exe』って部分が見えないけど、そう断言しちゃっていいのかな?」
「『setup』って来たら、『exe』でしょ?」
「では、『exe』って何か解る?」
「…………教えてください。」
「この『exe』は実行ファイルの拡張子なんだよ。EXECUTE=実行の略だよ。」
「ちなみに実行ファイルってのはダブルクリックしたらプログラムが動き出すファイルの事だよ。」「拡張子って?」
「拡張子はそのファイルがどんな種類かを示すものなんだ。」
「『exe』って場合は、実行ファイルという種類を示すんだね。」
「うん、他にもExcelのファイルだったら拡張子はお馴染みの『xls』だったり、PowerPointだったら、『ppt』みたいな。」
「ああ、なんとなく解ってきたよ。」
「とは言え、『setup.exe』はアプリケーションのインストールとかアップデートとかに使われる事が多く、本来は悪いことをするものではないよ。」
「悪い人がそこを悪用して危険なプログラムのファイル名を『setup.exe』にしている可能性を考慮して、要注意ってことなんだ。」「ふ~ん、そうなんだー。」
「ただね、この拡張子なんだけど、Windowsの基本の設定では、原則、隠れて見えないようになっているんだ。」
「えっ、見せてくれればいいのに……その方が一目で何のファイルか解って便利だよね。」
「その代わり、図のようにどんな種類のファイルかを示す説明文がファイル名の下に書いてあるでしょ?」
「あっ、ホントだ。」
「だから、拡張子が見えなくっても、この説明文を読めばいいんだよ。」
「じゃあ、『c』は単なるメモ帳のファイル、『d』はJPEGの画像ファイルってことでいんだね。」
「その通り。」
「だったら、ダブルクリックしてもメモ帳が開いたり、画像ファイルが開いたりするだけだから、悪さはしないね。」
「うん、大丈夫だね。」
「……あれ、じゃあ『b』のファイルはどうなんだろ?」
「おっ、気づいたね。」
「うん、このファイルだけ拡張子の『jpg』が見えているよ。他のファイルでは拡張子は見えないのに……。」
「それがこの問題のポイントだよ。」
「えっ、そうなの?」
「うん、ファイル名の下に説明文はあるかな?」
「あれ~『d』と同じJPEGファイルなら、同じように説明文があってもいいよね?」
「うん、これはつまりWindowsがこのファイルをJPEGファイルだと認識できなかったことを指しているんだよ。」
「えっ、でも拡張子が『jpg』なのに?」
「こらこら、他のファイルは拡張子が見えてないだろ?」
「そうだった……ってことは、この『picture1.jpg』の『jpg』っていうのは……。」
「ファイル名の一部ってことだよ。」
「ええええ、紛らわしい。」
「それが悪さをする人の怖いところ。」
「わざと、拡張子みたいなファイル名を付けることによって、『これは安全なファイルだよ』って受け取った人に思わせているんだ。」「ずるがしこいなぁ。」
「インターネットで不正を働く人はあの手この手を考えるからね。」
「そうか、『c』や『d』のファイルのようにWindowsがどんなファイルかを認識していれば、ちゃんと説明文が入るから、そこで見分けるんだね!」
「うん、同じJPEGファイルなのに、『d』は拡張子無しで説明文有り、『b』は拡張子みたいなのが見えるけど説明文無し。」
「『b』のファイルをWindowsはJPEGファイルと認識できなかったんだね。」
「うん、『b』のファイルの場合、実際には『picture1.jpg.exe』という実行ファイルの可能性が高いんだよ。」
「うっかりクリックしちゃったら、大変だね。」
「でもさ、こんなリスクがあるなら、Windowsは最初から拡張子を見せてくれればいいのにね。」
「初期設定では見せてくれないけど、自分で拡張子を表示させることも出来るよ。」
「えっ、そうなの?」
「うん、簡単に出来るから、今度教えてあげるね。」
「うん、,わかった~。」
「まぁ、拡張子が見えるからと言って、万全ってことはないんだよ。」
「どうして~?」
「例えば『photo.jpg .exe』みたいに、拡張子の前にスペースを入れられちゃうと、結局『jpg』が拡張子だって勘違いしちゃう場合もあるんだ。」
「図のbでは右下に『…』て見えるだろ。これは名前が長いから省略されたって印なんだ。つまり『picture1.jpg』の後ろにまだ名前が続いているって事さ。」「悪い事する人はホントいろいろ考えるんだね。」
「だから、僕たちもいろいろ考えなきゃいけないんだよ。」
「了解!」
「ちなみに先生、アプリケーションの脆弱性ってな~に?」
「エクセルとかにはマクロ機能があるのは知っているかな?」
「マクロって?」
「一定の処理手順を登録しておいて、必要な時に呼び出して作業を簡単にするための機能だよ。」
「これを悪用してエクセルとかのセキュリティの穴をついて悪さするファイルもあるんだ。エクセルのファイルを開いて、エクセルが立ち上がった途端に動き出したりね。」「じゃあ、ファイル名を見て、普通のエクセルのファイルって判断できても、危険な場合もあるんだ?」
「その通り、だから設定でマクロを無効にしたり、確認したりとかも選べるようになっているんだ。」
「用心するにこしたことはないんだね~。」
「そして、今回はそこらへんは考慮しなくても良いよって事ね。
「は~い。」
【 第19回 第2部 第45問 解答&解説 】
[解答]a,b
[解説]
a.危険性を持つ。setup.exeであることが想定される。exeファイルはダブルクリックで実行されるファイルである。
b.危険性を持つ。picture1.jpgとなっているが、jpgという拡張子であれば、登録されており、JPEGイメージであると自動判別できるはずである。しかし、判別されていないことから、ファイル名が「picture1.jpg.exe。」等になっていることが想定される。また、拡張子がこのファイルだけ表示されているのは不自然である。
c.危険性を持たない。redme.txtであることが想定される。ダブルクリックしてもメモ帳等(テキストエディタ)が起動するだけなので安心である。
d.危険性を持たない。JPEGイメージであることから、picture2.jpgであると想定できる。ダブルクリックしても、Windows Picture Viwer等が起動するだけなので、安心である。