高度なマルウェアを解析するには“触診”が一番? 「PacSec 2014」リポート:セキュリティ業界、1440度(12)(1/3 ページ)
2014年11月12日〜13日、セキュリティカンファレンス「PacSec 2014」が東京で開催されました。1日目の講演をリポートしましょう。
2014年11月12日〜13日、セキュリティカンファレンス「PacSec 2014」が東京で開催されました。本稿では、全講演の中から著者が気になったものを3つ紹介します。なお、PacSecの開催概要については、この連載で公開した2013年のレポートも併せてご参照ください。
関連記事
セキュリティ業界、1440度(1):
PacSec 2013 レポート 1日目〜任意のコードをBIOSに(@IT)
http://www.atmarkit.co.jp/ait/articles/1311/29/news011.html
セキュリティ業界、1440度(2):
PacSec 2013 レポート 2日目〜Chromeの守り方、マルウェアの見つけ方(@IT)
http://www.atmarkit.co.jp/ait/articles/1312/24/news001.html
エストニアのインターネット投票を支える“コード”を読んでみた、が……
ハリー・ハースティ氏、マーガレット・マクアルパイン氏による「インターネット投票とインターネット経由で法的拘束力のある文書に署名すること」では、エストニアで運営されているインターネット投票に関するセキュリティ調査の結果が報告されました。
エストニアでは政府が国民にスマートカード型の電子証明書を発行しており、その証明書を利用した本人確認に基づくインターネット投票が行われています。利用者はPCにカードリーダーを接続し、スマートカードをかざします。その状態で、クライアントソフトウェア上でPINコードを入力し、インターネット投票を行うという仕組みです。
この投票システムのソースコードは2013年7月にオープンソースとして公開されており、誰でもその仕組みを確認できる状態となっています。ただし、公開されているのはサーバーサイドのソフトウェアのみであり、クライアントサイドのソースコードは偽クライアントの作成、通信プロトコルの解析を懸念してか、公開されていないようです。
今回の調査で公開されているサーバーサイドのソースコードをチェックした結果、次のような問題が確認されたことが報告されました。
- テストやドキュメント、プロトコルの説明がほとんど存在せず、1人のエンジニアによる「やっつけ仕事」に見える
- ソースコードは、C++、Pythonおよびシェルスクリプトで記述されており、C++のコードに対しては2.3%、Pythonのコードに対して1.2%に相当するドキュメントしか存在しない
- コードの多くが既存のライブラリなどからの転用である
- 転用したコードについてのライセンスが不明(GNUからのコード転用も存在)
- コードの一部にTODOとして「セキュリティチェック機能の実装すること」とコメントに記載されているが、その実装が空の状態(存在しない)
- 加えて最新版のソースコードでは上記のコメントが削除されており、依然実装は空の状態
また、この講演ではサーバーサイドおよびクライアントサイドに対する攻撃手法とその可能性についての解説も行われました。ここではクライアントサイドの攻撃について紹介します。
前述のように、利用者はPC上でクライアントソフトウェアを利用してインターネット投票を行います。PINコードの入力はPC上で行うため、PCにキーロガーを仕掛けることで、PINコードを窃取することが可能となります。また、マルウェアを利用してクライアントソフトウェアに介入することで、PINコードを窃取することなく意図に反した投票を行うことも可能だと考えられます。これは、インターネットバンキングにおいてログイン認証、乱数表などによる振込みの認可が完了した後、Webブラウザーに介入したマルウェアがWebサーバーへのリクエストを書き換えることで不正送金を行うMITB攻撃(Man-in-the-Browser攻撃)と同じ概念となります。
エストニアでは、この電子証明書が銀行での本人認証、役所での各種手続きでも利用されているため、PINコードの漏えいは日々の生活に深刻なダメージを与える可能性があるとのことでした。
一方でシステムの運用上の問題についても、さまざまな報告がなされました。ここでは代表的なものを紹介します。
- 調査のために使用した設備内の会議室の壁に、無線LANの認証情報が貼り付けられていた
- インターネットに接続していないとされているサーバーがインターネットに接続されていた(Bingなどにアクセスした履歴が存在する)
- サーバーに不要なソフトウェアがインストールされていた(デスクトップにBitTorrentクライアントなどが存在する)
- YouTube上で公開されている動画中でサーバーのパスワードをタイプするシーンが存在し、そこからパスワードを読み取ることが可能(読み取ったパスワードで実際にログインできることを確認)
- サーバーを収容しているラックの鍵が非常に貧弱(鍵が容易に複製が可能な形状をしている)
このように、インターネット投票が実現され、運用されているもののセキュリティ上の問題が多数存在することが報告されました。今回の調査対象はインターネット投票ですが、あくまで投票はアプリケーションの一つでしかなく、「政府が電子証明書を国民に発行し、それを利用した社会サービスを提供する」というのが技術的な土台だといえます。
日本でも2015年秋からマイナンバー制度が開始されますが、本質的な仕組みは同様です。そのため、前述の運用の問題はさておき、今後発生する可能性がある脅威を予測する上でこうした先行している他国の事例を継続的にモニタリングすることは非常に重要だと感じました。
Copyright © ITmedia, Inc. All Rights Reserved.