ソニーの大規模情報流出に関連して、ソニーの世界中の関連会社のWebサイトが次々と攻撃に遭い、連日のように報道されました。改竄や情報窃盗を行った本人を名乗る者からの声明文や関連する報道を見る限り、その多くがSQLインジェクションという脆弱性を突いた攻撃手法を利用しているようです。

 SQLインジェクションとは、ユーザーの要求に応じてデータベースと連携してWebページを表示させるためのWebアプリに潜む脆弱性を突く攻撃手法で、ユーザーが入力したデータを信じてそのまま使ってしまうことで裏側にあるデータベースに不正な要求が送られてしまうというものです。注意を怠っていて、不正な要求に応えないプログラミング、設計、構造にしていないのが原因です。SQLインジェクションという攻撃手法は昔から広く知られていて、これまでに起こったクレジットカードや個人情報の流出の多くに使われたのが、SQLインジェクションでした。SQLインジェクションを防ぐためには、悪いハッカーが送り込む不正な要求に応えないようにすればいいのです。

 SQLインジェクション以外にもいくつか既に知られた攻撃手法があるのですが、セキュリティ対策に取り組んでいる企業のWebサイトではそれらの対策は当たり前のこととして行われています。多くのサイトでWeb脆弱性がないかどうかを調べる脆弱性検査サービスを受けることも一般的なこととして行われています。また、そもそも脆弱性を作り込まないような開発手法を取るべきとして、プログラマ教育に努めている企業も増えてきました。これはいわゆるセキュアプログラミングという取り組みです。さらに、セキュリティバイデザイン、といって、設計時点からセキュリティを考慮しようという手法も取り入れられ始めています。

 私の知る限り、これまでにSQLインジェクションで攻撃を受けてしまった多くのWebサイトでは、検査もセキュアな開発も行われていませんでした。そして、しっかりと検査を受けたり、セキュアな開発に努めていたりしていれば、被害に遭うケースはほとんどありません。

 私の経験から推測すると、被害に遭ったソニー関連のWebサイトではこれらの基本的な対策が採られていなかった可能性があります。ハッカーに狙われたらどんなWebサイトでも陥落すると言われることも多いのですが、SQLインジェクションなどの旧知の攻撃手法は高度な攻撃手法ではありませんし、基本的な対策手法は広く知られているのです。

 発表にあったように既知の脆弱性が原因だとすれば、その脆弱性だけの対策をするだけでは、そのレベルの攻撃の対策にしかなりません。さらに高度な攻撃が行われた場合には、再度侵入を許すかもしれないのです。報道によると再発防止のために様々なセキュリティ対策を施したということですが、現実にはグループ企業のWebサイトが次々と被害に遭っています。被害が遭ったときに被害の原因になった部分だけ対策するということは一般的によく見られる企業の対応です。被害に遭った場合には、その攻撃よりもさらに高いレベルの攻撃でも防ぐように対策を行わなければ再発防止とは言えません。無論、他のシステムへも同様に対策を施す必要があるのです。

 しかも、今回はソニーというブランドそのものを傷つけようと言う意図も見られますから、狙われるのはWebサーバだけではなく、イントラネットのパソコンや社員のWebメールやSNSのアカウントも狙われる可能性も低くはないと思います。付け焼刃な対策ではなく、より深く、より範囲を広げた全体のセキュリティ対策の底上げを期待しています。

 この記事を書いている間にカナダのホンダのWebサイトから情報漏洩がありました。ソニーグループにとどまらず、日本のグローバル企業全般への攻撃にエスカレートしている可能性があるので、そのような企業は注意を払う必要があるでしょう。