言語学を使ってウイルス作成者を特定することは可能か

この記事をシェア

サイバー攻撃に対する防御側の研究にもさまざまな側面があるが、近年注目されているのは、言語学の手法を用いてウイルス作成者を特定しようというものである。ウイルスに書き込まれた語彙や構文などをチェックして、ウイルス作成者が普段使っている言語や生活背景を探り、攻撃側の身元を明らかにしようとしているのである。

この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト
「We Live Security」の記事を基に、日本向けの解説を加えて編集したものです。

「提供元不明Androidアプリの常時許可」が今後増加していく傾向に

ウイルスを作成しているのはいったい誰なのか。時には辛辣な冗談としてセキュリティベンダーが自作自演しているという声もネットの掲示板などではささやかれているが、それというのも、攻撃側の正体が明かされる機会がめったにないからである。

まだウイルスが登場した初期のころのように、人を驚かせるだけの「ジョークプログラム」ならば、作成者はさりげなく自分が作ったことを示すために、こっそりとプログラムにその痕跡を残していたものである。

ところが、近年のウイルス作成者はそうした栄誉よりも金銭の獲得にのみ関心が向いている。そのため、めったなことでは自分が何者なのかを特定できるような証拠を残さなくなっている。いわばウイルスの世界にも、これまで工業化が歩んできた道のりと同じように、分業体制や大量生産による「匿名化」の波が押し寄せていると言えるだろう。

ただし、必ずしも手掛かりがないわけでない。例えば、しばしばウイルスは添付ファイルの付いたメールに仕掛けられている場合がある。また、プログラムソース以外に書き込まれたメッセージやテキストなどがあることもある。そういうとき、そのテキストの中で利用されている語彙の綴りや単語の選び方などによって、作成者の国籍や属性が特定できることもあるのだ。

例えば、同じ英語でも英国と米国とでは綴りが異なる場合がある。「分析」を意味する「アナライズ」は米国では「analyze」で英国では「analyse」といったように、末尾(「-yze」と「-yse」)が異なることがある。

こうした違いはほかにも幾つかある。

  • 「-re」(英)と「-er」(米) (例:centreとcenter)
  • 「-our」(英)と「-or」(米) (例:colourとcolor)
  • 「-sation」(英)と「-zation」(米) (例:globalisationとglobalization)
  • 「-ce」(英)と「-se」(米) (例:defenceとdefense)

さらにもう少し厳密に言えば、英国綴りにはオクスフォード綴りというものある。上記の「アナライズ」の場合はオクスフォード綴りでも通常の英国綴りと変わらなかったが、「リアライズ」の場合、英国綴りは「realise」となるのに対して、オクスフォード綴りは米国と同じように「realize」となるのである。つまり米国とオクスフォード綴りは「-ize」であり、英国は「-ise」である。

もしもウイルス作成者の残したテキストの中に「realize」と「analyse」とが同時に含まれていれば、犯人は英国人で自然科学の研究者であるか、もしくは国連機関で働いている可能性がある、と推測可能なのだ。

英語圏では幼児学習などで、単語の綴りと意味の正確さを競う「スペリング・ビー」というイベントがしばしば開催されている

こうした綴りの違いだけではない。ほかに、言語コードの設定をうっかり母国語にしてしまい判明するという例も過去にあった。多くのウイルス作成者は標準英語(USA)に設定することによって素性を隠そうとする。だが、時には手動で言語コードを指定するのを忘れている場合もある。すると、コンパイラは自動的に開発者のマシン上の言語を設定するので、普段使用している言語が知らないうちに記録されるのである。

また、ソースコードそのものについては注意深くチェックしたとしても、他のライブラリとリンクさせている場合に、そのライブラリの中にウイルス作成者のマシンに由来するファイルパス名が含まれており、その綴りから普段使用している言語が明らかになることもある(実際に「アニマルファーム」と呼ばれるサイバー攻撃グループによって用いられたウイルスは、このためフランス語を母語としているのではないかと推察された)。

さらに、英語を母語としている人物とそうではない人物とが英文を書いた場合、微妙に両者は異なるのは言わずもがなであろう。特にその国や地域に特有の語彙や言い回しなどをふと使ってしまうことがある。また、綴りのミスの過多は、ウイルス作成者の教養の程度を表す指標ともなる。最近流行している若者用語を多用していたり、少し古い言い回しを用いていたり……、ちょっとした語彙の選択が、世代や性別などの手掛かりになることもある。

2015年9月にオランダ警察によって逮捕された2人組(18歳男性、22歳男性)は、「コインヴォルト」(CoinVault)と名乗って、英米独仏やオランダなど20カ国以上の企業組織にランサムウェア(身代金要求ウイルス)を送り付けてビットコインを稼いでいた。彼らの身元の特定には、バイナリにあまりにも正確なオランダ語が数多く用いられていたことが決め手となった。オランダ語はドイツ語や英語とやや似ているが綴りが非常に分かりにくく、非ネイティブが間違えずに綴るのは極めて困難と言われており、捜査はオランダ語を母語とする人物に絞って調査が進められ、迅速な逮捕につながったのだった。

このように、ウイルス作成者を特定する手掛かりは、言語学的な視点から見ればさまざまなところにあると言える。しかし同時に、相手が狡猾な頭脳を持っている可能性があることを決して忘れてはならない。こうした言語的特性さえも、彼らが意図的に残したアリバイ工作であるかもしれないのである。

この記事をシェア

業務PCのセキュリティ対策に

サイバーセキュリティ
情報局の最新情報を
チェック!