2015年振り返りと2016年予想

初出: TechReport 2015.12

今年個人的に心に残ったテーマと、来年盛り上がりテーマをつらつら書きます。

Superfish/eDellRoot

PC ベンダーが、独自ツールのために脆弱な独自ルート証明書を OS に導入していた事件です。サイトでも、「Superfish/eDellRoot が危険な理由」62として取り上げました。

擁護のしようも無く、ひどい事件でした。しかも2月の Lenovo(Superfish)で勘弁してくれよと思っていたら11月には DELL からも同様の問題が見つかるというまさかの二段落ちです。

どちらも独自ルート証明書に共通の秘密鍵を付けてしまったために脆弱になってしまったのですが、細かいところで違いがありました。Lenovo の Superfish はそもそも HTTPS サイトにも広告を差し込むために MITM(Man-in-the-middle)攻撃を仕掛けるのが目的でした。したがって、各 PC に秘密鍵が置かれていることが必要になります。こういったアドウェアを仕掛けることの是非はさておき、これを安全に実装するのであれば、PC ごとに秘密鍵を変えてルート証明書を生成する必要がありました。

一方で DELL の eDellRoot(および同時に発覚した DSDTestProvider)はサポート用のツールに含まれていたもので、細かい利用目的は明かされていないようですが、おそらくはオンラインサポート時にサポート用システムに接続する時に何らかの理由で独自ルート証明書を使っていたのでは無いかと考えられます。そのためルート証明書を導入したが、その時に秘密鍵ごとインポートしてしまったのでは無いかという想像です。こちらは、単純に証明書だけをインポートすれば安全だったと言えます。

どちらも、あまりにもカジュアルにルート証明書を弄ったために、痛いしっぺ返しを食らうことになりました。

うるう秒

残念ながら当面の存続が決定してしまった「うるう秒」ですが、今年の7月1日に挿入されました。サイトでも「うるう秒まとめ63」「Linux のうるう秒おさらい64」として取り上げました。

また、一緒に検証をした某氏が某技術ブログで取り組み内容を書いています65。

ほとんどの環境では59秒が二周繰り返されるだけでそれほど気にしなくても良かったはずなのですが、前回2012年7月のうるう秒で Linux カーネルの不具合でサービス停止にも繋がる大きな問題があったため、今回は真面目な検証と対応を余儀なくされました。

うるう秒は黙っていると「Leap Indicator」として入り込んできます。うるう秒による不具合を完全に防ぐためには、かなりの努力が必要でした。その苦労を「非うるう秒三原則」としてまとめています。下位の ntpd と同期させたまま、ゆっくり時間をかけて1秒を受け入れるスクリプトも技術ブログの方で紹介されているので、万が一次回のうるう秒があった時には参考にしてください。

あと、CentOS 4はそろそろなくしましょう(真顔)

通信の最適化

だいぶ前から少しずつ声が大きくなり、ついに今年の夏に爆発した「通信の最適化」の議論がありました。携帯電話事業者が、帯域幅を絞るために通信内容に含まれる画像や動画の再圧縮を行っていたというものです。

この問題は、直感的にはアウトっぽく見えるけど、法律的にはそこまで単純では無いという興味深いテーマです。大きく二つの論点があります。ひとつめは、大前提として、そもそも「通信の秘密」は侵害しているがその違法性を別の理由によって阻却しているという建前があり、この建前が本当に正当なものかという話です。もう一つは、「画像や動画の再圧縮」によってアプリケーションで問題が出ている、という現実的かつ実装上の問題です。

他にも、数多くの論点が存在して自分が気にしている論点を主張しあうのでカオスだったという経緯で、サイトでも「「通信の最適化」の論点66」として取り上げました。

TLSデフォルト時代

もはや TLS 無しでは機能しないインターネットに大きく二つの変化がありました。

一つめは、正確には昨年末の話ですが SSL 3.0プロトコルそのものに脆弱性が見つかり、「SSL」と呼ばれるトランスポート暗号化が全て「オワコン」になったことです。脆弱性対応のためにはサーバ側でSSL 3.0自体の対応を切る必要があったため、この一年でだいぶ SSL 3.0の非対応化が進みました。2015年12月4日時点の SSL Pulse によれば、昨年10月には100%近かったのが30%前後まで落ちたようです。

SSL 3.0もオワコンしたので、そろそろ「いわゆる SSL」とよばれるこの TCP 暗号化トランスポートプロトコルのことは TLS と呼ぶべきでしょう。TLS で暗号化されたウェブサイトのことは HTTPS サイトで良いと思います。

もう一つは、常時 HTTPS 化です。2014年8月に Google が「HTTPS をランキングシグナルに使用します」というアナウンスを出してから流れが始まり、Apple がさらに攻めた「App Transport Security(ATS)」を打ち出して業界全体で話題になりました。

ATS では HTTPS 化だけでなく、Perfect Forward Secrecy(PFS)という性質を持つ暗号化アルゴリズムの利用を強制します。これは SSL 証明書の秘密鍵が漏えいした場合でも、それだけではあらかじめ保存しておいた過去の通信を復号することはできないという性質です(秘密鍵を取得してからMITM することは可能)。昔は、まさか「とりあえずトラフィック全保存しておこう」なんて攻撃者は現実的には居ないだろうと思われていたのですが、NSA 情報漏洩事件で実際に行っている可能性が指摘されてからは PFS が一気に注目されるようになりました。

もはやあまり DNS も通信路も信頼できる牧歌的な時代では無いので、HTTPS デフォルト化は時代の流れですね。HTTP/2でもユーザ側の通信は原則 TLS ですし。

日本年金機構

情報セキュリティで2015年最大の事件が、5月に発生した日本年金機構からの情報漏洩であることに異存がある人は少ないでしょう。

既に調査結果報告も出ています67が、とにかく「現場担当者のリテラシー」などという信頼できないものに頼らず、システムとしての情報セキュリティが重要であるという認識が広まればと思います。

セキュリティ人材の育成

手前味噌ながら、セキュリティ・キャンプ全国大会にて「クラウドセキュリティ基礎」「クラウドセキュリティ演習」として、サービス運用者から見たクラウド環境でのサービス運用とセキュリティ施策の話をする機会を頂きました。

いろいろな大人の事情(察せ)で、事前課題がさくらのクラウド、当日の演習が AWS になってしまったのは大変後悔しているところです。きちんと同じ環境で課題を出せていれば、当日はもっと深いところまで遊べると思うので、もし次回また話す機会を頂けたらもっともっと練り込んでクラウドとセキュリティの運用の楽しい話をしたいです。

また、まさか2015年にもなってインターネット回線が落ちるとは思わなかったので、AWS に接続できない場合フォールバック策を作り込んでいなかったのも痛かったです。実のところ、配布 PC 上にはVagrant や基本的な Docker のイメージ群など直前で内容を差し替えてオフラインでもなにかできるくらいには仕込みはしていたのですが、完全に準備不足でシナリオ作りまで手が回りませんでした。ごめんなさい。

DockerとHashiCorp

もう今年の動きは zembutsu さんのスライド68を上から見てくださいという感じのインフラDevOps 界隈です。

丁度1年前に「あと半年もすれば仮想ネットワークベースのコンテナ間接続手法が出揃う気がするから、特に Docker に愛のある人で無ければ、それまで単に1ホスト1コンテナなただのデプロイ手法として既存の管理方法をベースにノウハウ貯めるか、PaaS 経由で使うぐらいでちょうど良さそう」という予想を立てていたのですが、だいたいその通りになった感じがします。

Docker はその構成上「ホスト」に捕らわれる場面が多かったのですが、オーバレイネットワーク等でのネットワーク仮想化も現実感を増してきました。個人的にはあまり魅力を感じませんが、Docker コンテナをベースにしたサーバーレスアーキテクチャみたいな選択肢が来そうな気がしています。

フォグコンピューティング・エッジコンピューティング

ここからは来年の注目キーワードです。

今年はものづくり系に楽しいおもちゃが振ってきた一年でした。安価な契約と M2M 向けの付加価値を提供する SORACOM やさくらの IoT プラットフォーム、5ドルコンピュータ Rasberry Pi Zero、1万円を切った Windows 10搭載スティック PC、とにかく「小っちゃいって事は便利だねっ」を体現するデバイスが立て続けに登場しました。

この数年はクラウドに以下に集約して最適化を図るかという流れが大きかったですが、小さくてもそれなりの計算機資源と接続性を持つコンピュータが揃ってきたので、来年あたりからはクラウド上の計算機資源をさらに活かすために、こちら側にもコンピュータをばらまくというモデルが広がるのでは無いかと予想しています。

こういったモデルを、Cisco は雲より近い所にあるフォグコンピューティング、NTT はネットワークの端っこにあるエッジコンピューティングと呼んでいるそうです。

マイナンバーと情報セキュリティマネジメント

マイナンバー、ついに1月から利用が始まります。

個人的には、マイナンバーにはまず政府内での名寄せの実現に注力してもらい、マイナンバーカードの利活用の話はもうすこし冷静にまともな議論を経てから実施して欲しいところです。

制度設計やシステム設計にいろいろ議論が尽きないマイナンバーですが、ひとまず動き出してしまえばかなり厳しく法整備がされているので、マイナンバー管理に合わせて情報セキュリティマネジメントへの理解が進むのではないか、というより進んで欲しいです。

また、物議を醸した IPA の「情報セキュリティマネジメント試験」も来年春から実施されます。余裕があったら挑戦してみようかなと思っているところです。

Back to the Futureにおける「未来」

今年は、皆さん大好き(ですよね?)な Back to the Future における「未来」の年でした。スピルバーグの息子はジョーズ19を作っていませんが、ジョージ・ルーカスはまだ現役でスターウォーズの新作作って3D で公開した、そんな2015年でした。

1985年に想像した2015年は、車が空を飛ばない以外は案外あたっていたのでは無いかなと感じます。今から30年後の2045年は一体どういう社会になっているでしょうか。