2014年8月14日木曜日

【記事】セキュリティにもストラテジストが必要

エンタープライズ・ジン IT Initiatve に対談記事が掲載されました。

セキュリティにもストラテジストが必要


日本HPの藤田さんとの対談形式の記事です。クラウドのセキュリティを考える上で、とりわけ日本のクラウドユーザがかかえる課題についてお話ししました。

【記事】IoTとビッグデータの組み合わせは劇薬かもしれない

エンタープライズ・ジン IT Initiative にインタビュー記事が掲載されました。

「IoTとビッグデータの組み合わせは劇薬かもしれない」

IoT (Internet of Things)は、様々な機器をネットワーク化することにより統合管理しようという流れなのですが、実は、こうしたネットワークはビッグデータ収集のためのセンサー端末としても働きます。事業者にとっては近い将来、機器管理の効率化よりも、収集されたデータの方が大きな価値を産むという可能性が高いのです。そのような視点からIoTを見た時、単にデバイスネットワーク以上の課題が浮き上がってきます。このインタビュー記事ではそうした視点からIoTとビッグデータがもたらす、セキュリティ上の課題についてお話ししています。

【寄稿】ITLeaders続編

第7回 クラウドにおけるインシデント対応(後編)

第8回 クラウドアプリケーションのためのセキュリティアーキテクチャ確立を


が公開されました。いずれも、前回同様、CSAクラウドセキュリティガイダンスに基づく解説記事です。

2014年6月29日日曜日

【寄稿】クラウドにおけるインシデントレスポンス

CSAジャパン(一般社団法人日本クラウドセキュリティアライアンス)の有志メンバーでインプレスビジネスメディアさんの IT Leaders に連載中の記事です。CSAガイダンスをベースにして、その各ドメインでのポイントを解説しています。

今回、私はインシデントレスポンスに関する部分を担当しました。第6回と第7回の2回にわけて掲載されます。

【第6回】クラウド利用におけるセキュリティインシデント対応(前編)

読まれたご意見などいただければ幸いです。

2014年5月9日金曜日

昨今の話題まとめとか

この連休は、ちょっと長めのお休みをいただき、リフレッシュしてきました。ちょっとエネルギーをもらったので、また仕事に励もうと思っています。

ところで、このところ、様々な脆弱性問題などが発生しています。このあたりをまとめた記事をJNSA(NPO日本ネットワークセキュリティ協会)のホームページに寄稿しましたので、お読みいただければと思います。

執筆中、さらに IEゼロデイ問題やApache Strutsの問題などが騒ぎになりましたが、これらはこの記事では対応できていません。

IEゼロデイ脆弱性は、発見される前に有効な攻撃コードが流通してしまったため、米国DHS(国家安全保障省が警告を出す事態に陥りました。XPサポート切れ直後にゼロデイ脆弱性が使われることは、ある程度予想されていたため、やはり・・と行った感じです。今回、マイクロソフトがXPも含めて対応をしてくれたのは、有り難かったと思います。

この脆弱性は、use after free と呼ばれるタイプの脆弱性で、プログラム内で一時的なデータ領域を確保するためのヒープ領域の取り扱いに問題が生じたものです。この脆弱性は、使用後、解放されたヒープ領域のデータを再利用できる手段を提供します。攻撃コードでは、最初にAdobe Flash Playerのオブジェクトを実行させ、その機能を使ってヒープ領域に大きなメモリを確保した上で、攻撃に必要な情報を埋め込み、領域を解放します。その後、Java Scriptで、IEの脆弱性を悪用し、あらかじめ書き込んであった情報を使って、攻撃コードを実行させます。この方法により、マイクロソフトが組み込んでいるASLR(攻撃コードによって、既存のライブラリコードが悪用されるのを防ぐため、プロセスごとにメモリ配置をランダマイズする対策)やDEP(データ領域でのコード実行禁止)などが回避できてしまうことになり、攻撃者が悪意あるコードを実行できてしまいます。

この攻撃コードを使って攻撃を仕掛けるには、まず、利用者を不正な(もしくは改ざんされた)Webサイトに誘導してFlashオブジェクトやJava Scriptを実行させることが必要です。このことから、いわゆる水飲み場攻撃を目的として作られた攻撃コードであるとも言え、特定の企業や政府機関などが標的にされた可能性があります。これが、DHSがまっさきに警告を出した理由でしょう。

このコードでは、Flash実行を禁止することで被害は防げますが、それ以外にも悪用する方法はあると考えられるので、早めに修正プログラムを適用することが重要です。今回は幸いにもXP対応が行われましたが、今後、これが保証されるものではないので、XPについては、できうる限り早くOSを更新しておく必要があります。

Apache Struts は、Webアプリケーションを開発するためのJavaベースのオープンソースフレームワークです。TomcatなどのJavaアプリケーションサーバの上で動作し、Webアプリケーションを開発するための様々な機能を提供します。このため、多くのWebサイトでアプリケーション構築に際して利用されています。

今回の脆弱性については、当初、Strutsの現バージョンであるStruts2の脆弱性として公表され、開発元のApache Foundation によって修正パッチが配布されました。この脆弱性は、外部から不正に加工されたリクエストを送ると ClassLoaderと呼ばれるJavaランタイムの機能を掌握することができ、攻撃者が任意のJavaコードを実行できるというものです。これによって実行されるJavaコードはWebサーバ(アプリケーションサーバ)の実行権限で実行されるため、制限はありますが、サーバの構成によっては重要なデータが漏洩したり、Webが改ざんされるといった可能性があります。また、これらがシステム権限で動作していた場合(通常、これは絶対行ってはいけないこととされていますが、アプリケーションの構造を簡単にするため、安易に行われるケースが後を絶ちません)サーバ自体を乗っ取られてしまう危険もあります。

修正配布で一件落着したかに見えたのですが、後日、この修正が不十分だったことが発覚します。さらに、同様の脆弱性が既にサポート切れとなっているStruts1という古いバージョンにも存在することが確認されたため、大騒ぎとなりました。Struts2の再修正は行われましたが、Struts1についてはサポート切れから相当期間経過しているため、修正は行われません。一方、国内では、まだStruts1で動作しているWebサイトが相当数有り、これらをどうするかが大問題となっています。Java環境はそのバージョンへの依存が強いため、どうしても開発者やサイト運用者はバージョンアップを嫌う傾向にあります。しかし、一旦サポートが切れてしまうと、こうしたリスクに曝されることになりますから、早め早めで対応していくという考え方に切り替える必要があるでしょう。これは、SIerだけではなく、コストを負担するユーザ側の認識も必要です。このような対応は必要なコストとして将来的なロードマップに乗せておく必要があるのです。今回、一部のSierが独自に修正コードを提供しはじめていますが、これが出来るSIerはそれほど多くありません。オープンソースのソフトウエアを使うということは、こうしたこと(自己責任でに利用)を頭に置いておく必要があります。

とりあえず、簡単にまとめてみました。ご参考まで。

2014年4月7日月曜日

IPv6ってご存じですか?

こう聞くと、IT関係の方の多くは「知ってるよ」と答えると思います。それでは、現在IPv6はどれくらい使われているでしょう、と聞くと「ほとんど使われていない」という答えがほとんどではないでしょうか。

実際、日本ではもうずいぶん前から、先行して実験が行われ、実用化のための基本的な技術は世界的にも確立されています。しかし、実用化という意味では、IPv4と呼ばれる現在のIPアドレス体系における割り当てアドレスが既に枯渇しているという状況下においても、少なくとも一般ユーザ(ビジネスユーザを含む)にはほとんど普及していないのが現実です。

一方、我々がPCで使用しているオペレーティングシステムの多くは、既にIPv6を標準でサポートしており、IPv6をサポートするネットワークに接続した瞬間にIPv6が利用可能になります。しかも、IPv6と従来のIPv4が共存する環境ではIPv6が優先される仕組みになっています。また、世界的に見ると、著名なサービス企業、たとえばGoogle, Facebook, Amazonといった企業のサービスの多くが、IPv6での接続に対応しています。これらのサイトへのアクセスも、IPv6をサポートするネットワークに接続した瞬間にIPv6に切り替わります。

さて、ここまでならば問題はないのですが、こうしたユーザにあまり認知されていないIPv6サポートが、思わぬ問題を引き起こすことがあります。試しにブロードバンド接続を行っている自宅のPCで、コマンドプロンプトを起動し、ipconfigというコマンドを叩いてみてください。以下のような画面が見られると思います。



私のオフィスはIPv6を導入しているため、このように、PCがIPv6アドレスを取得しているのがわかります。もちろん、特にPCの設定は行っていない状態でこうしてアドレスを自動取得します。一方、このコマンドを叩いたときに、自分ではIPv6を導入した覚えがないのに、グローバルのIPv6アドレス(プリフィックス:fe80から始まる以外のもの)を取得してしまっている場合があります。これは、契約している通信事業者がIPv6アドレスを配布していることが原因です。現状では、このIPv6アドレスでは、インターネットとは通信ができません。これは事業者が自分たちのサービスのために配布しているアドレスなのです。しかし、このことが先年、日本のインターネットにおいて大きな問題となりました。先に述べたようにOSや一部のサイトではIPv6がサポートされ、IPv6接続が優先されるため、こうしてインターネットに接続できないIPアドレスを勝手に配布してしまったことで、こうしたIPv6接続可能なサイトへのアクセスに障害(アクセスの大きな遅延)が発生することが明らかになったからです。これをIPv6フォールバック問題と呼びます。この問題に対応する苦肉の策として、家庭用にサービスを行っているプロバイダでは、現在DNS情報からIPv6アドレスを除外することを行っています。つまり、IPv6アクセスをサポートするサイトについてDNS情報からIPv6アドレスのみを削除してユーザに渡すことで、アクセスをIPv4に限定させ、この障害を取り除こうというものです。ある意味時代に逆行する方法ですが、一部の大手事業者が勝手にIPv6アドレスを配ってしまっている現状を簡単に変えられないための苦渋の選択と言えます。

このことは、もう一つ大きな問題を提起します。たとえば、公衆無線LANや宿泊施設のLANなど公共の場所で、誰かがIPv6のサポート情報(RA:Router Advertisement)を勝手に流したら何が起きるかという問題です。これを行うことで、そのLANに接続されたPCに対してIPv6がサポートされたネットワークであると誤認させることができます。これを悪用して様々な不正行為を行える可能性があるのです。従って、IPv6を使いたくない人は、自分のPCのIPv6機能を停止させておく必要があります。これは、Windows7/8ならば、コントロールパネルから、ネットワークと共有センターを開き・・

【ネットワークと共有センター】


ここのサイドメニューからアダプター設定の変更を選んでネットワークアダプタの一覧を表示させます。

【アダプタの一覧】


複数ある場合は、自分がLAN接続に使用している、もしくはノートPCの場合は無線LANなど、外で使用するアダプタのすべてで以下の操作を行います。まず、アダプタアイコンを右クリックしてプロパティ画面を開きます。

【アダプタのプロパティ】



ここで、インターネットプロトコルバージョン6の項目のチェックを外してください。【OK】で保存すれば完了です。

こうした問題は専門家の間では、ずっと議論されていますが、社会的にはなかなかアナウンスが進みません。身近な方に教えてあげてください。

さらに、ちょっと困った問題もあります。それは、スマートフォンやタブレットが、表向きはIPv6サポートを仕様として公表していないにもかかわらず、実際はIPv6接続ができてしまうことです。実際、筆者のオフィスの無線LANにアンドロイドやiPad/iPhoneなどを接続すると、GoogleなどのサイトへのアクセスはIPv6に切り替わります。これは、いくつかのIPv6をサポートしているサイト、たとえば、以下の「IPv6推進協議会」などのサイトにアクセスして確認できます。

【IPv6アドレスの確認方法】


これは、筆者のアンドロイド携帯の画面です。ここにIPv6アドレスが表示されているのがわかります。IPv4アクセスの場合はドットで区切られた見慣れたIPアドレスが表示されるはずです。この現象は、アンドロイドだけではなく、アップル社のiPadやiPhoneでも発生します。一方で、これらのデバイスにIPv6通信を止める機能はありません。つまり、先に書いたようなリスクを回避する手段がないわけです。これは、メーカーになんらかの改善を要求すべき問題でしょう。少なくとも、IPv6通信を無効にする手段がサポートされるべきです。

最近増えてきたスマート家電も、そのベースにはLinuxなどの汎用OSが使われている場合が多く、同じような問題が起きる可能性があります。但し、いまのところ筆者のオフィスにあるスマート家電類では、こうした問題はおきていません。

IPv6は、今後、IoTとも言われる様々な機器のインターネット化に伴って、急速に利用が拡大すると考えられます。それに伴って、過渡期にはこうした問題が頻発する可能性があるため、注視しておきたいところです。

2014年4月3日木曜日

スマート家電とクラウドサービス

最近、スマート家電と呼ばれる製品が増加しています。これらはインターネットに接続され、メーカーのサイトを通じて、様々なサービスを受けることができます。当然ながら、このようなネットワーク機能を持った製品には、ネットワーク経由で攻撃されるというリスクが伴います。家庭内のネットワークは、通常、ホームルータなどのファイアウォール機能で外部から直接のアクセスは遮断されているのですが、たとえばPCに感染したコンピュータウイルスが家電製品を探索する、といったことも十分に考えられます。最新のPCに搭載されたOSには、既にこうした家電製品の探索機能が組み込まれているからです。

昨今、IoT(Internet of Things :モノのインターネット)という言葉がはやり始めました。例に漏れずバズワード化しそうな感じですが、ユーザが意識しないところで、周囲にある「モノ」がネットでつながり始めるという状況が拡大しつつあるのも事実です。

こうした機器のセキュリティ問題は昨今、様々なところで指摘され、対応の取り組みも始まっていますが、IoTの拡大の速さを考えると、我々は、もっともっと危機感を持って対応にあたる必要があるかもしれません。

先日、NPO日本ネットワークセキュリティ協会(JNSA)のHPに以下のような寄稿をさせていただきました。

スマート家電への攻撃に備えよ

重複する内容はここに書きませんが、是非、お読みいただき、ご意見などいただければと存じます。