Webサーバーを構成するソフトウェアやWebアプリケーションは頻繁に外部からの攻撃にさらされ、新たな脆弱性も発見されている。3月に開催された「OWASP AppSec APAC 2014」では、Webをセキュアなものにしていくために何が必要で、どんなポイントに注意すべきかといった知見が共有された。
ちょっとしたものを購入するとき、旅行のチケットを予約するとき、あるいは振り込みを行うとき……さまざまなシーンで私たちは当たり前のようにWebを利用している。もしWebという仕組みが意図した通りに動作しなくなったり、セキュリティ面で問題が発生したりしてしまえば、日常生活に大きな支障が生じるほど浸透している。
一方で、Webサーバーを構成するソフトウェアやWebアプリケーションは頻繁に外部からの攻撃にさらされ、新たな脆弱(ぜいじゃく)性も発見されている。4月にも、OpenSSLやApache Strutsといった、Webサーバーを構成する重要なコンポーネントに重大な脆弱性が存在することが明らかになり、多くの管理者が対応に追われたばかりだ。
2014年3月17日から20日にかけて開催された「OWASP AppSec APAC 2014」は、そのWebを「より確かに、安全なものにしよう」という目的の下に専門家が集った国際カンファレンスだ。日本国内のみならず、世界20の国や地域から404人が参加した。図らずも、最もよく目にするWebのエラーメッセージ「404 Not Found」ならぬ、「404 Found」となった。
OWASP AppSec APAC 2014を主催するOWASP(Open Web Application Security Project)は、Webアプリケーションセキュリティの向上、啓発に取り組む非営利団体だ。代表的なWebアプリケーションの脆弱性をまとめたドキュメント「OWASP Top 10」を定期的に公開している他、Webの脆弱性検査ツールや安全なWeb開発のためのガイドラインなどをとりまとめ、無償で公開している。現在も168ものプロジェクトが進行中だ。
日本では2011年から、その日本支部に当たる「OWASP Japan」が活動を開始した。OWASPが公開しているさまざまなドキュメントの日本語訳を作成、公開する他、定期的にミーティングを開催。HTML5のセキュリティや脆弱性検査ツールの使い方、あるいはパスワードなど、多様なテーマに関する講演とツッコミを交わす場となっている。
OWASP AppSec APAC 2014の開催に合わせて行われた記者会見において、OWASP会長のマイケル・コーツ氏は、「さまざまなシステムがオンライン化し、取り扱われるデータや情報が増えるにつれて、Webアプリケーションセキュリティの重要性はますます増している。Webアプリケーションのプロセス全体のセキュリティを向上させていくために、ナレッジを共有していきたい」と呼び掛けた。
またOWASPグローバルボードのトビアス・ゴンドロム氏は、「一方向ではなく、ぜひ新しいアイデアを持ち寄り、互いに交換し合ってほしい。産、学、それにセキュリティ専門家がオープンにアイデアを交わすことで、Webの世界をよりセキュアにすることに貢献できる」と、積極的な参加を呼び掛けた。
さまざまな開発者向けドキュメントへの貢献で知られるジム・マニコ氏は、「これまでセキュリティのプロフェッショナルは、ネットワークやパッチ管理などのインフラ分野に注目しており、アプリケーションセキュリティに対する準備ができていなかった。ネットを、そして世界を安全なものにするためには、ソフトウェア開発者の手助けが必要だ。つまり、セキュアなコードを書いてもらう必要がある」とした。
コーツ氏やマニコ氏はさらに、クロスサイトスクリプティング(XSS)に代表される“ありがちな脆弱性”への対応を開発者がいちいち考えなくてすむように、Webアプリケーションフレームワーク側に脆弱性を防ぐ機能を組み入れたり、逆に、Webアプリケーションファイアウォール(WAF)などの対策を、「自動的」に適用するといったアイデアが考えられるとした。
現実のWebアプリケーション開発の現場では、「機能」と「コスト」(あるいは期間)と「セキュリティ」という要素のどれかを犠牲にせざるを得ない状況は少なくない。だが、コーツ氏は「セキュリティを向上させることは、結局は(後から脆弱性に対応するという)隠れたコストを削減することになる」と述べ、セキュアなアプリケーションを開発することが、結局はコスト削減というメリットにつながると説明している。
基調講演に登場したのは、奈良先端科学技術大学院大学教授の山口英氏。長らく日本のセキュリティ界のあるべき方向を示し、リードしてきた山口氏は、「データセントリックなセキュリティ」の重要性を訴えた。
「この10年間、セキュリティ関係のアクティビティは、インシデントレスポンスや解析の高速化、あるいはマネジメントなど、“システム”や“オペレーション”をどう強くするかに偏重してきた」と山口氏は振り返った。つまり、いかにシステムの安定運用を実現するかという部分に腐心してきたわけだが、ITシステムが事業に果たす役割が変化し、その上に蓄積されるデータがビジネスの源泉となりつつある今、“データ”も守るべき時代になっているという。
その際、データのライフサイクルを構成するフェーズそれぞれにおいて、どのように適切な処理を実現するかを考えなくてはならない。
山口氏が一例として挙げたのは、最近話題の「スマートハウス」だ。「HEMSなどのシステムのセキュリティについては議論されているが、家庭と電力会社、第三者にまたがって使用電力に関するデータをどう抽象化し、どう使うか、どう保護して、どう捨てるかについては議論されていないし、標準もない」(同氏)。多様な、けれど実際にはWebテクノロジが組み込まれている端末がかかわってくるこの問題に、OWASPとして取り組んでみるのも面白いのではないかと呼び掛けた。
もう1つ、山口氏が懸念しているのが「バックヤードのサーバー」のセキュリティだという。アプリケーションの部分での努力に比べ、大事な情報を扱うはずのバックヤードのサーバーでデータが暗号化されていなかったりして、漏えいにつながるケースもあるそうだ。
「バックヤードのサーバーも含め、アプリケーションライフサイクルの全てのフェーズでセキュリティマネジメントを保証しなければいけない。特に大事な情報を扱う部分ではちゃんと考えておく必要がある」(山口氏)。
このとき、「システムの保護」と「データの保護」それぞれの要求が相反することもある。「システムの保護とデータの保護の両方を、整合性を持って組み合わせていかなくてはならない」と山口氏は留意を呼び掛けた。
特に強く言及したのが「暗号化」の扱いだ。「日本では暗号化への投資の割合が非常に低い。『システムを保護していれば大丈夫だよね』といってデータを暗号化せずに置いておいて取られてしまう。システムの保護に比べ、データの保護が軽視されてきた結果、開発者が暗号化技術を取り扱うスキルも培われていない」と同氏は警鐘を鳴らす。
このように説明した上で、「リスクは多様化している。必ずしも悪意を持った攻撃だけではなく、内部犯行やヒューマンエラー、障害に起因する問題も多い。まずはリスク評価をきちんと行った上で対策に取り組むべき」と述べた。
山口氏は最後に、今後取り組むべき3つのチャレンジを挙げた。「暗号化」「バックヤードシステムの保護」、それに「スケーラビリティを考慮したセキュリティ」という。
暗号化について山口氏は、率直に「そろそろHTTPSも限界ではないか」と指摘した。
「よくWebサイトに『HTTPS通信で保護しているのでセキュリティは大丈夫です』などと書いてあるけれど、もうそろそろこの考え方はやめてもいいのではないか。暗号は実装によっては弱くなるし、クライアントがなりすまされても見破ることができない。時代によって変わっていくのだから、使い方もメンテナンスした方がいい」と山口氏は述べ、クライアント認証の組み込みなど新しい使い方を取り込んでいくべきだとした。
ストレージの暗号化も難題だ。「膨大な量のストレージをどう保護するかを考えていかなくてはならない。しかも最近では、Hadoopなどの技術によって、1PBクラスはおろか、10PB、100PBクラスのデータベースまである」(山口氏)。ファイルシステムとデータベース、それぞれのレイヤーでデータをどのように保護し、必要に応じてバックアップできる仕組みをどう作り出すかを真剣に考えなくてはいけないタイミングに来ているという。
2つ目は、講演の前半でも触れたバックヤードシステムの保護だ。バックヤードサーバーにおいてデータをいかにして守るかを考える場合、やはりHTTPSについて考え直す必要があるという。「HTTPSのクリアパイプモデルでは、クライアントが匿名で入ってくることが多く、問題が起きても誰によるものかを特定することが難しい。もっと強力な認証の実装が必要だ」(山口氏)。
3つ目のスケーラビリティは、今後非常に重要な課題だという。スマートフォンをはじめとするモバイル端末が増えている上、アプリケーションの作り方が変化し、Webサーバーとのインタラクションも増加している。「このままではコンピューティングが持たない」と山口氏は指摘する。「スケーラビリティは知恵との勝負。単にサーバーを増やすだけではだめ。いかにボトルネックを見付けてつぶすかがポイントになる」(山口氏)。
最後に山口氏は、あらためて「システムばかりではなく、もっとデータも守ろう。今ではデータを守るために進歩した高度な使い方がある。それらを活用し、データライフサイクルの中で漏れのないよう、スケーラビリティを確保しつつ守っていこう」と呼び掛けた。
「Webサービスが豊かになる中、データプロテクションをどうするかをしっかり考えてシステムを作ってほしい」(同氏)。
Copyright © ITmedia, Inc. All Rights Reserved.