2016年10月6日
人間の怠惰、サイバーセキュリティ、そして機械学習
人間は怠けたがる生き物だ、とはよく言ったものだ。やらないことが可能なことならば、やらないで済ませようとする。しかし、逆説的に考えれば、これはいいことなのだ。なぜなら、怠惰は…進歩の原動力だからだ!え?どうしてそうなるかって?それはつまり、人間がやるには大変過ぎる、時間がかかり過ぎる、複雑過ぎると見なされる仕事は、どこかの怠惰な(しかし真面目な)人間(ホモ・サピエンスならぬホモ・レイジエンスか?(笑))たちが、機械にやらせようとするからだ!そういう姿勢をサイバーセキュリティの世界では「最適化」と呼ぶ。
膨大な数の悪意あるファイルやWebサイトを日々解析すること、将来の脅威に対抗するための「ワクチン」を開発すること、プロアクティブな保護対策を絶えず改良し続けること、その他もろもろの重要な作業をこなすことは、いずれもオートメーションなしでは断じて不可能だ。そして、オートメーションで使われる主なコンセプトの1つが、機械学習だ。
サイバーセキュリティの世界では、そもそもの(サイバーセキュリティ自体の)始まりからオートメーションが存在していた。たとえば私は2000年代初め、入ってくるマルウェア検体を解析するロボットのコードを書いたことがある。検知されたファイルの特性を判定し、この判定結果に基づいて、増える一方のマルウェアコレクションの中の該当フォルダーに振り分けるようにするコードだ。過去にはこうしたことをすべて手動で行っていたとは、(その当時でさえ)想像するのは難しかった!
しかし近頃は、ロボットにやらせたい作業について明確な指示を与えるだけでは十分ではない。作業の指示は不明確に与える必要があるのだ。嘘ではない!
たとえば、「この写真の中にある人間の顔を見つけなさい」という作業であれば、人間の顔をどうやって選び出すのか、人間の顔が犬の顔とどう違うのかについては説明しない。その代わり、ロボットに写真を何枚か見せて、「これが人間、これが人間の顔。そしてこちらが犬。残りは自分でやってみなさい」と言う。つまるところ、この「創造の自由」を機械学習と呼ぶのだ。