ニュースでよく聞く「脆弱性」とは?
――もう一つの、システムの脆弱性を突いた攻撃とは、どういうものでしょうか? 脆弱性という言葉は、ニュースでよく聞きますが……。
【渡辺】 私はエンジニアなので専門的な説明をしてしまいがちですから、わかりやすく当社の社長(大野暉氏)がよく使う言葉で言うと、ゲームの「隠しコマンド」のようなものです。
ゲームと同じく、ウェブサイトなどのシステムもプログラムで作られているわけですが、攻撃者はそのプログラムの中に、「隠しコマンド」を入力するとサーバーに侵入できてしまうバグを見つけるのです。これが、システムの脆弱性です。ゲームの「隠しコマンド」には意図的なものが多いですが、もちろん、システムの脆弱性は意図的なものではありません。
サーバーに侵入し、サーバーの管理者になってしまえば、アカウントを乗っ取るよりもはるかに多くのことができます。同じサーバーで動かしている他のサービスにも侵入できますし、サーバーに置かれているデータベースも見られます。企業の社内システムに入って情報を盗むこともできます。
――脆弱性を攻撃者よりも先に見つけて修正する必要があるわけですね。
【渡辺】 その通りなのですが、システムのプログラムには、各システムの開発者が独自に書いている部分と、インターネット上のライブラリで公開されている部品を使っている部分とがあって、公開されている部品に脆弱性が見つかった場合は、その脆弱性も公開されるんです。注意喚起をするためなのですが、それは同時に、攻撃者に脆弱性を教えることにもなってしまいます。
ですから、非常にクリティカルな脆弱性の場合は、関係各所に先に伝えて、すぐに修正できるようにしてから公開することもあります。
――脆弱性を見つけては修正する、ということを繰り返しているのに、いつまでも完璧にならないのは、なぜですか?
【渡辺】 それは、皆さんが使っているパソコンも、そこに入っているソフトウェアも、そのソフトフェアのプログラムに使われているコンピュータ言語も、どんどんアップデートされているからです。それに合わせて、どんどん新しいプログラムが書かれていて、脆弱性もでき続けているわけです。
脆弱性が絶対にないようにチェックをするには時間がかかりすぎて、チェックが終わった頃には、もう時代遅れで使えないものになってしまっています。技術の進歩のスピードと、どこでバランスを取るかという問題ですね。
――システムの脆弱性を突く攻撃からサーバーを守るには、脆弱性の修正を速やかにする以外に、どんな方法があるのでしょう?
【渡辺】 当社が提供している「攻撃遮断くん」のようなWAF(Web Application Firewall)を使う他、ネットワークを設定によって防御する方法などがあります。
サイバー攻撃事件の中には、報道だけでははっきりとはわかりませんが、ネットワークの設定の不備を突かれた可能性があるものもあります。
――ユーザー個人としてできる対策はあるでしょうか?
【渡辺】 それぞれのサービスを利用するリスクを知っておくことでしょうか。例えば、ECサイトに登録するクレジットカードに利用限度額を設定することで、万が一のときでも、それ以上の損害が出ないようにできます。
また、システムの脆弱性を突く攻撃は、他の手法と組み合わせて使われることもあります。昨年起きた、あるメーカーのECサイトが攻撃された例では、攻撃者はサーバーに侵入したあと、正規のドメイン内にフィッシングサイトを作って、偽のキャンペーンのメールをユーザーに送ることで、フィッシングサイトにユーザーを誘導していました。そして、フィッシングサイトで、最大28万件以上のクレジットカード情報を盗み出したのです。
こうしたケースでは、実際には難しいこともあるかもしれませんが、メールの送信元のアドレスやサイトのURLなどをよく確認することで、被害に遭うのを防げるのではないでしょうか。たちが将来路頭に迷うのを黙って見ているのもまたブラック企業の経営者だと思います」