オンプレミスからクラウドへの移行が、あらゆるアプリケーション領域で進んでいます。これに伴い、セキュリティに関するある問題が、急速に顕在化しつつあります。それはクラウド上のアプリケーションのセキュリティをどう確保するか、という問題です。

 アプリケーションのセキュリティに対する関心は、クラウドへのアプリケーション移行と反比例する形で低下しているように思われます。実際、クラウドのセキュリティに関する議論の中で「アプリケーションのセキュリティ」が話題に上ることはあまりありません。多くの場合、議論の対象は、暗号化をどうするか、IDとパスワードをどう管理するか、アクセス管理をどのように行うか、といったことに終始しているようです。

 しかし実は、アプリケーションのセキュリティは、極めて重要な問題なのです。

深刻なWebアプリへの攻撃、暗号化やアクセス管理では防御不能

 F-Secure Labsによれば、Webアプリケーションへの攻撃の頻度は、2012年の20%から2013年には40%に倍増しました。またNeustarが2014年に行った調査では、DDoS攻撃の55%が煙幕(アプリケーションレイヤーへの実際の攻撃を覆い隠すための大量のDDoS)であり、この攻撃によって50%近くがマルウェアやウィルスをインストールされ、26%が顧客データを失っています。直近のVerizon Data Breach Investigation Report(DBIR)によれば、金融機関でのセキュリティ事故の原因の1位はクライムウェア(サイバー犯罪で使われるソフトウェアツール)でしたが、2番目はWebアプリケーションでした。そして今世紀における大規模なセキュリティ侵犯のうち、上位25件の半数近く(44%)は、Webアプリケーションを通じて行われています。

 Webアプリケーションへの攻撃がいかに深刻なものなのか、ご理解いただけたでしょうか。

 このような攻撃は、データの暗号化では防止できません。データベース上のデータや通信経路を暗号化したとしても、アプリケーション内部で処理を行う時には復号化され、平文として扱われるからです。データ保護の観点から言えば、アプリケーション内部が最も保護の手薄な領域だと言えます。ここに侵入されてしまえば、いくらデータベースや通信経路でデータを暗号化しても、まったく意味がなくなってしまうのです。

 SQLインジェクションも暗号化では防げません。またIDやアクセスの管理を適切に行なっていても、Heartbleed(OpenSSLのバグ)やApache Killer(Apache HTTP Serverの脆弱性を悪用しDDoS攻撃を仕掛けるツール)を利用した攻撃は止められません。

 これらの攻撃を防御するには、Webアプリケーションそのものの脆弱性に着目する必要があります。では具体的にどのように考え、アプローチすべきなのでしょうか。

 まずクラウドのセキュリティ確保は、クラウド事業者と利用者がそれぞれ役割を分担した“共同責任”に基づいていると考えるべきです。AWS(Amazon Web Services)のグローバルセキュリティプログラムの責任者であるビル・マレー(Bill Murray)氏は、The Register(英国のITニュース誌)のインタビュー記事で、次のように述べています。

 「AWSでのセキュリティに関しては、AWSとお客様のいずれもが責任を負っています。お客様はAWS上で実行するゲストOSから、その上で実行するアプリケーションまでのすべてを保護する責任があります。その一方でAWSは、ホストOSと仮想マシンからデータセンターの床のコンクリートに至るまで、その他すべてのものに責任を負っています。セキュリティについて『何が最大の課題か』とよく尋ねられますが、AWSでのセキュリティについては、お客様によって正しく設定されていないためにセキュリティを確保できていないアプリケーションが、最大の課題となっています」。

Webアプリのセキュリティ確保はクラウド顧客側の責務

 つまりクラウド事業者が提供するセキュリティは、アプリケーションレイヤーをカバーしたものではないということです。クラウドサービスの顧客は、アプリケーションに対する攻撃を防御するための対策を、自らの手で施す必要があります。

 例えば、アプリケーションに対する外部からの攻撃を防御するには、WAF(ウェブアプリケーションファイアウォール)やWAF as a Serviceを活用すべきです。またアプリケーション自体の脆弱性を回避するには、OWASP(Open Web Application Security Project)が推奨するベストプラクティスや、Webアプリケーションのセキュリティを高めるためのツールやフレームワーク、ガイドラインを活用する必要があります。

 アプリケーションのセキュリティは、VIPクラスのアプリケーションのみに与える特別なものではなく、驚くほど高額なコストがかかるものでもありません。これはむしろ人々がそれぞれ自分の身の安全に気を付けるようなものであり、一般の人々に接するすべてのアプリケーションが対応すべきものなのです。