2017年11月7〜10日、日本では最大規模のセキュリティ国際カンファレンスである「CODE BLUE 2017」が開催されました。本稿では、9〜10日に開催されたカンファレンストラックにおいて、興味深かったセッションをピックアップして紹介します。
2017年11月7〜10日に開催された「CODE BLUE 2017」は、今年で5回目の開催となりました。2013年から毎年開催されているCODE BLUEは年々規模が大きくなっています。2017年には1000人以上の事前参加登録があり、論文採択率は20%であったとのことです。22件の発表があったため、100件を超える論文投稿があったことになります。
本稿では、9〜10日に開催されたカンファレンストラックにおいて、特に興味深かった発表をピックアップして紹介します。
パケット通信を用いたネットワークは、米国の国防総省のプロジェクトにより運用され始めた「ARPANET」から歴史が始まりました。現代では、世界中のコンピュータが接続されたインターネットとなり、情報化社会における社会基盤となっています。誰もがインターネットに接続できることと、誰もがサイバー攻撃を受ける可能性を持ち合わせていることは表裏一体です。これは個人に限らず、行政、軍事、国家、全てにおいて例外ではありません。
ドイツの海軍士官であり、NATOの法律顧問を務めるパトリック・オキーフ氏は、サイバー空間における主権について講演を行いました。
主権とは、「国家をコントロールする権力」「意思決定や治安維持を行う権力」「外部から影響を受けない権力」など、さまざまな意味を持っています。国土という指標が存在する現実の空間では分かりやすい定義なのですが、サイバー空間には国境が存在しないため、定義が難しいとされています。
ここでオキーフ氏は、主権の果たすべき役割の観点から、「システムの完全性を保護する能力を持つことが重要である」と述べました。この「システム」とは、国家を維持するために必要な行政システム、国土を守るための軍事システムなど、あらゆるシステムが含まれると考えられます。従来の軍事システムにおける考え方では、陸海空宇宙でドメインを分離し、それぞれの領域において軍事システムに専門性が担保されてきました。しかし今日、それぞれのシステムはサイバー空間を介して相互に接続され、連携しているそうです。オキーフ氏は、相互に連携している軍事システムの例として、中国の軍事戦略である「A2/AD」(Anti-Access/Area Denial)、各国の持つ軍の指揮系統である「C4/ISR」(Command Control Communication Computers/Interoperability Surveillance Reconnaissance)などを挙げました。
そうしたシステムにおいて実際に生じたインシデント事例の1つが、2017年6月22日に黒海上で生じた、GPSシステムに対する攻撃です。「EGNOS」と呼ばれる、GPSやGLONASSなどの衛星測位システムによりもたらされる位置情報の精度向上を支援するシステムにおいて、GPS測位精度の乱れを観測したとのことです。これは特定の国家が、GPSシステムに対して攻撃を試みたものと考えられています。
さらに、同様のインシデントとして、衛星測位システムを構成する衛星において用いられている原子時計の故障が挙げられ、オキーフ氏は「故障そのものも重大なインシデントだが、故障した原子時計のメーカーが一致している点が問題である」と述べました。これはすなわち、軍事において必要不可欠とされている衛星測位システムが、個々の企業に依存していることを指します。
「国家的な課題に関しても、個々の企業レベルが影響をもたらす場合があり、主権に関する議論を深める必要がある。そのために、個人においてできることもある。特にサイバーセキュリティにおいては、見解が国家や個人により異なるため、共通認識を形成することから始めなくてはならない」(オキーフ氏)
国家規模の講演でしたが、サイバー空間における脅威が個人にも迫っていることは明らかで、決して他人事ではありません。個人として、サイバーセキュリティに関する知見を深めて国際標準の策定に参加するなど、国境を超えてコミュニケーションを取ることが、今後の社会の課題でしょう。
2015年に発表されたHTTP/2は、従来のHTTP/1.xに存在した複数の課題を解決した新規格です。Googleが開発した「SPDY」と呼ばれる通信プロトコルをベースに開発されました。現在、主要なWebサーバやWebブラウザでのサポートも進んできています。
オリー・シーガル氏は最初に、「従来のHTTP/1.xには主に3点の課題が存在した」と述べました。
1点目は並列性の問題です。HTTP/1.xでは、TCPコネクション1つにつき、1つのリクエストしか送受信できませんでした。2点目は、プロトコルヘッダ部のデータ量が冗長となる問題です。HTTP/1.xのプロトコルヘッダ部において、余分な情報が含まれる場合や、繰り返し同じデータが含まれる場合が散見されたとのことです。3点目は、HTTP/1.xを利用して通信を行う際、サーバ側はクライアント側に対してパッシブであった点です。次にクライアントが要求する内容が分かっていたとしても、クライアントからの要求を待つ必要がありました。
これらの課題を、HTTP/2では解決しています。
1点目の並列性の問題に対しては、TCPコネクション上にストリームを形成することで、並列処理を用いたフロー制御が行えるようになりました。2点目のデータ量の問題に対しては、効率的なエンコーディングを採用することで圧縮が可能になっているそうです。従来のHTTP/1.xでは平文でデータの送受信を行っていましたが、HTTP/2ではエンコーディングを行うことでバイナリ形式としてデータの送受信を行っています。これより、nc(netcat)コマンドによる通信をはじめとした、従来は平文でやりとりしていたアプリケーションなどに影響が出るそうです。3点目については、サーバからもストリームを形成できるようになったことにより、クライアントに対してプッシュすることが可能になったそうです。
シーガル氏が所属しているAkamaiが、日々取り扱うパケット量は膨大であり、それらのパケットに対して調査を行った結果として、次のことが明らかにされました。
「HTTP/2は既にトラフィック全体の10%を占めている。さらに調査を進めたところ、HTTP/2を用いて通信する際のフレームに含まれる情報は、ユーザーの利用しているOSやソフトウェアクライアントにより、ヘッダ部に異なった特徴があるため、フィンガープリントとして扱える。使用されているOSの種類やバージョン、システムの起動時間、クライアント(ブラウザ)のバージョンが得られる」(シーガル氏)
以下に調査に利用されたHTTP/2のフレームタイプを列挙します。
HEADER{type=0x1}, PRIORITY{type=0x2}, SETTINGS{type=0x4}, WINDOW_UPDATE{type=0x8}
SETTINGSフレームは、サーバとクライアントが通信する際に、互いの設定パラメーターを通知するためのフレームです。コネクション開始時に、送受信する必要があります。
WINDOW_UPDATEフレームは、フロー制御(輻輳(ふくそう)制御)に利用されるフレームです。HTTP/2ではストリームを利用し、並列処理を用いてデータを送受信します。輻輳が生じる際、また輻輳が生じる可能性がある際、あるいは逆に輻輳が生じる可能性が低い際など、フレームサイズを変更するために用いられます。これにより、効率的なデータの送受信が可能となっています。
PRIORITYフレームはストリーム中において、依存関係と優先度の設定に用いられるフレームです。JavaScriptやCSSのスタイルファイルなどが含まれた取得するデータに依存関係があるページなどにおいて、必要なデータから優先的に送受信することで、時間的な意味で効率的なデータフローを実現しています。
「フレームタイプの実装が、OSの種類やバージョン、あるいはクライアントの種類やバージョンにより異なる。HTTP/2パケットを収集することを通じて、エンドポイントのフィンガープリントが得られる。収集したこれらの情報を役立てる方法については、『ユーザーエージェントを偽装したWebクライアントの検知』『攻撃ツールとボットの検知』『特定のWebクライアントに対する制約を加える場合』『プロキシやVPN検知』が挙げられる」(シーガル氏)
フレームタイプの実装の違い、すなわちプロトコルの実装の違いが、ユーザー情報に対する受動的なテレメトリングに利用できる可能性を示唆した発表でした。
NFC(Near Field Communication)とは近距離無線通信の実装であり、「非接触通信」とも呼ばれます。本講演dでは、NFC規格の中でも「ISO/ICE 14443 Type A」に対する中間者攻撃の可能性について解説されました(なお、NFCには他の規格として「ISO/ICE 14443 Type B」や、日本国内で大きなシェアを持つ「FeliCa」が挙げられますが、本講演はこれらについては言及していないのでご注意を)。
ハオチー・シャン氏、クイン・ヤン氏は、中国でよく利用されているISO/ICE 14443 Type Aに対するNFCプロキシシステムを開発しました。カードとカードリーダーからなる決済システムにおいてプロキシシステムを構築することで、情報漏えいや不正決済などの中間者攻撃が可能になります。
開発されたNFCプロキシシステムは同じ構成の2つのハードウェアからなり、実装されているソフトウェアのみが異なるそうです。攻撃対象のカードにカードリーダーとして動作するソフトウェアを実装した装置(スレーブ)をかざし、本来のカードリーダーに対してカードエミュレーターとして動作するソフトウェアを実装した装置(マスター)をかざすことで、非接触通信を行っています。
NFCプロキシシステムにおいてマスターとスレーブは無線で接続されているため、攻撃対象のカードとPOSなどのカードリーダーが離れている場合でも通信が可能です。これは、磁気カードに対するスキミングのように、攻撃対象のカード所有者に気付かれることなく、不正決済などの攻撃が可能であることを指します。
本手法は、「正規のカードを正しく動作させることで、攻撃を実現していること」が本質的な問題です。これはISO/ICE 14443において規格化されているのは通信方式のみで、暗号化方式については定義されていないためです。文字通りプロキシとして振る舞うことで、通信を可能としています。
実証実験では、中国国内のマクドナルドのPOSにおいて、Apple Payを利用した攻撃実証を行っていました。発表中にデモ動画の公開もあり、POSによるレシートの発行まで確認できました。
今後の課題は、通信距離の延長や同じ通信周波数帯を利用している別種のカードに対する攻撃の実証、Resident Identity Card(中国における身分証明書)に対する攻撃の実証などが挙げられました。通信距離について、一般的なNFCが利用している13.56MHz帯では、1mが物理的な最大通信可能距離とされています。
今後研究が進んだ場合、条件が整えば、攻撃者の半径1m以内にNFCに対応したカードを持ち込むだけで、中間者攻撃を受ける可能性が実証されることになります。身近なハードウェアに対する現実的な脅威を実証しており、今後の研究動向に要注目です。
Copyright © ITmedia, Inc. All Rights Reserved.