セキュリティコンサルタントの日誌から

セキュリティに関するエッセイなど

Cyber Threat IntelligenceとDNSデータ

Cyber Threat IntelligenceやThreat Actor Attributionの観点では、悪性ドメイン(C2ドメイン)は足が速い(すぐに変わる)のでDNSデータ分析は重要な要素となります。

例えば、マルウェア解析チームにより特定のC2通信を発生させていたと報告してきたとします。その際に、そのDNSの接続先はどこなのか、そのC2ドメインを設定した人物は誰なのか、その攻撃者の意図を分析するThreat Actor Attributionなどでも、DNS情報の分析は行います。今回は、そのThreat Intelligenceの観点から見るDNSデータについて解説します。

Active vs. Passive

Cyber Threat Intelligenceの観点では、DNS情報としては、現在最新のデータより、過去のデータに価値があります。なぜなら、インシデント分析をしているときには悪用されていたドメインは既に捨てられていたり、内容が変わっているためです。

その観点から、DNSデータはActiveとPassiveの二種類のデータ収集方法があります。

Active DNS Data

Active DNS Dataとは、DNSデータをクローリングしてDNSデータの変更を全て蓄積しておき、特定ドメインにおけるIPアドレスとの連関性の履歴や登録者情報を蓄積していく方法です。これを自分でやることは難しく、一般的には専門のサービスを使うことになります。一番良く知られているのはDomain Toolsと呼ばれるサービスでこの分野では一般的です。彼らは、数多くのDNSデータを蓄積しており、ちょっとした変更も全て履歴として蓄積されており、過去の時点でどんな登録者情報でどんなIPと紐付いていたかなどその仔細を明らかにしてくれます。

Passive DNS Data

Passive DNSとは、Cyber Threat Intelligenceの文脈でよく聞く単語です。一言でいえば、DNS名前解決の履歴を蓄積したデータセットのことです。これは、自社で蓄積することもできますし、自社で蓄積すればどんな通信が行われていたか把握することができます。実際、Cyber Threat Intelligenceのプラットフォームで有名なThreatConnect社のResearch Operation DirectorのToni Gidwani女史は、このツールのことを「インフラストラクチャ全体を過去にさかのぼって見渡すことができるため、研究者にとっては非常に強力なツールだ*1」と評しています。

ちなみに、Passive DNSデータを提供している企業もあり、一例としてFarsight Security社のDNSDBが挙げられます。ただ使い方としては先ほど紹介したDomain Toolsに似た使い方になるのではないかと思います。

 

ちなみに、Passive DNSについて詳しく知りたい場合はこの辺の資料が参考になると思います。

まとめ

Cyber Threat Intelligenceの観点では、過去のDNSデータは非常に重要となります。Passive DNSについてはきちんと蓄積しておくと、色々と分析も捗りそうという印象を受けます。

ちなみに、CTIの文脈でたまに聞くこのサービスでCymonというのがありますが、事後検証のためメモしておきます。

cymon.io

*1:This is a really powerful tool for researchers because it gives you the ability to take a retrospective look at what is happening across infrastructure.

Threat Actor Attributionとは何か?

Threat Actor Attributionという単語をきいたことはありますでしょうか?

今回は、Cyber Threat Intelligenceの分野で重要なThreat Actor Attributionについて、以下の講演をもとに勉強してみたいと思います。

www.youtube.com

Threat Actor Attributionとは?

Threat Actor Attributionは、孫子の引用で説明されます。

彼を知り己を知れば、百戦して危うからず

攻撃者グループも人の集合であるため、グループごとのアイデンティティ・動機・犯罪の手口(modus operandi)などがあるという前提が存在します。攻撃を受けた際、その特徴を特定して、捜査機関の連携や次なる攻撃を防ぐために活用しようという技術です。

攻撃者の動向・攻撃の背景を押させることが次の攻撃を防ぐ重要な手段になりますし、それらをISAC(Information Sharing and Analysis Center)という組織に連携するなど、その活用は様々です。特に、Nation-State Sponsored Hackerが攻撃をしてくるであろう金融・インフラ・軍事産業などでは非常に重要に注目される技術です。

また、攻撃者の分析をすることで攻撃の意図、目的を知り、影響範囲を推定する上でも非常に重要な技術だと考えられます。

Hacker Tells

David Sassemanというポーカー選手の格言を引用して、ハッカーから得られる情報(Hacker Tells)について整理しています。

www.pokerology.com

動画では、いくつか指摘されており、筆者独自にまとめてみました。

  • 攻撃パターン:攻撃者の行動パターンからの推測
    • 攻撃の時間帯・利用する攻撃の種類(Web攻撃・マルウェアの特徴)
  • メタデータ:収集データのメタデータからの推測
    • 攻撃に使われた文言・特定の文字列・言語・メタデータ・ファイル命名則。
    • マルウェアなどは攻撃者が自身の情報をさらしていることと同値なので多数の情報が得られるため入念に分析することが望ましいとされています。
  • 攻撃者リソース:攻撃者の利用するリソースを調査
    • 攻撃環境(Exploit Kitの種類、攻撃インフラの特徴、XaaS*1の利用状況・環境の成熟度))
    • 攻撃者の保有リソース(ドメイン・IP・メール・フリードメイン)

事例分析

動画の事例では、攻撃に使われたツールを収集して、攻撃者の特徴となるハンドル名・メールアドレスを発見、Maltagoを利用して可視化分析、その後整理されたドメイン情報を元にいくつかの分析ツールを使って情報を洗い出す方法を採用していました。

動画の中で使われていたツールは以下の通り。

  • Central Ops:ネットワークコマンドのオンライン版
  • Domain Tools:ドメイン・IPに関する情報を一斉に引っ張りだせるツール
  • Passive DNS:過去のWHOIS情報を見れるツール(参考
  • CLEAR:Thomson Reutersが提供するバックグラウンドチェックツール
  • Accurint:LexisNexisが提供するバックグラウンドチェックツール
  • Spokeo:CLEAR・Accurientの廉価版

まとめ

このように見てみると、技術的に新しいことはなく基本的にはOSINT技術・IRで使うマルウェアやログ分析技術が中心です。この方向性を攻撃者の特定に使うのがThreat Actor Attributionだといえます。

別の具体事例を知りたい方は、過去ShmooConで参加したときに面白い講演があったのでそちらを参照されることをお勧めします。

www.scientia-security.org

 但し、注意も必要だと思われます。以前の記事も書きましたが、Attributionに対応する技術も存在します。また、 民間企業にとってみれば、Attribution技術で対象を探し出しても意味がないという議論もあります。その辺の限界も含まれて利用することが必要だと考えられます。

www.scientia-security.org

*1:Ransomware as a Service、Malware as a Service、Phishing as a Serviceなどがある

思考実験:クラウドソーシングはツールの欠点を補えるか?

久しぶりに記事を更新したいと思います。本日は、Webアプリケーションについての思考実験をしてみたいと思います。

既にご存知の通り、Webアプリケーション診断の脆弱性スキャナとして、様々な製品が登場しています。

  • IBM AppScan
  • HP WebInspect
  • Rapid7 AppSpider

これらの製品は、XSS(Cross Site Scripting)やSQLインジェクションといった「機械が発見を得意とする脆弱性」には非常に有効ですが、Webアプリケーションの脆弱性には「機械が発見を苦手とする脆弱性」もいくつか存在します。

今回は、「機械が発見を苦手とする脆弱性」を補う方法を検討します。

機械が発見を苦手とする脆弱性

その代表的な脆弱性が、「アクセスコントロールの不備」や「ビジネス・ロジックの悪用」に関する脆弱性です。

アクセス・コントロールの不備

アクセス・コントロールの不備とは、「本来閲覧権限のないデータを閲覧可能である」、あるいは「本来利用できない権限の機能を利用できる」という脆弱性です。アクセスコントロールの脆弱性は、大きく2種類に分類されます。

  • 横のアクセスコントロール不備
  • 縦のアクセスコントロール不備
横のアクセス・コントロール不備

例えば、ECサイトなどで、ユーザAがパラメータを改竄することでユーザBさんの購入履歴を盗み見ることができる場合など、同じ権限レベルで他のユーザのデータが閲覧できてしまうことを横のアクセス・コントロール不備といいます。日本では、なりすましの脆弱性と呼ばれます。

縦のアクセス・コントロール不備

例えば、一般ユーザが管理者のみが利用できる承認機能を利用できてしまう場合など、低い権限レベルのユーザが高い権限レベルのデータ・機能を利用できてしまう場合、縦のアクセス・コントロール不備といいます。日本では、若干複雑で認証がされていない状態で特定の機能を悪用できてしまうことを認証回避の脆弱性、認証がされた低い権限レベルから高い権限レベルのデータ・機能にアクセスできる場合、権限昇格の脆弱性と呼ばれたりします。(人により使い方は異なるので、私の個人的な分類です。)

ビジネス・ロジックの悪用

機械では発見しづらい脆弱性として、「ビジネス・ロジックの悪用」という脆弱性があります。一般にシステムとは、ビジネスの流れをモデル化してビジネスルール・ワークフローを機械化したものだと定義されます。そのモデル化の不備を悪用した場合、本来の意図とは違う結果を出力されてしまいます。

例えば、ECサイトなどでは、商品の購入数を9個などと指定し、その個数と商品単価を掛け合わせて支払い金額を算出するなんてことは一般的です。

じゃがいも(100円)×9個 =  900円

カレー(200円)  ×6個 = 1200円

→合計2100円

しかし、もし個数に負の値を指定できれば、合計金額を改竄することができてしまうかも知れません。

じゃがいも(100円)×ー9個 =  ー900円

カレー(200円)  ×6個 = 1200円

→合計300円 

さすがにこのような例を持つアプリケーションはないでしょうが、これは購入時に指定する商品個数が正の値であるというビジネスルールのモデル化に失敗しているからにほかなりません。

これに限らず、本来人間が処理すれば普通は気付くような問題でも、システムは自分で考えて処理をせず記述された通りに動くため、このような脆弱性悪用が成立してしまいます。

なぜ機械は、これらの脆弱性の発見を苦手とするか?

これらの脆弱性を機械が苦手とする理由は簡単です。

脆弱性スキャナは一般にブラック・ボックステストと呼ばれ、システムの仕様を知らない状態で検査を行います。そのため、機械ではこれらの脆弱性を攻撃したときに、結果が問題ないのか、脆弱性と考えるべきなのか判断できないという点です。言い換えれば、攻撃成功時のパターンを記述・訓練することが難しく、システムを正確に理解している人でないと判断ができないという点です。

上記の例でいえば、300円という値が問題ある値なのか、その判断基準を機械に教えない限り、機械は判断することができません。また、あるデータがパラメータ改竄により閲覧できたことが果たして仕様と照らし合わせて問題があるのかないのか、仕様を正確にツールに教えない限り判断ができません。

NRIセキュアのレポートでも、「危険度の高い脆弱性の約3/4は、機械化された検査では発見できない」と指摘をしています。そのため、個々のアプリケーションの仕様を踏まえた検査が専門家の検査が必要になってきます。

www.itmedia.co.jp

本題:クラウドソーシングで機械化された検査の欠点は補えるか?

さて、ここからが本題の思考実験です。

課題:

「アクセス・コントロールの不備」や「ビジネスロジックの不備」については、仕様を理解し、かつ脆弱性の発見手法や様々な攻撃パターンを経験した専門家でないと発見できないという前提があります。しかし、専門家のコスト(特に両面に熟知した専門家)のコストは非常に高く、おいそれと気軽に活用できないという問題がありません。

特に、システム変更の動きが早いオンラインゲームやネットサービス系ではそのたびに専門家を雇っていたりすることは難しいでしょうし、専門家を社員として雇える企業も限られていると思います。

要素分解して考えてみる

前のポイントをまとめてみると、アクセス・コントロールの脆弱性発見には、「脆弱性の発見手法の理解」×「システム仕様の理解」が欠かせないという点が上げられます。

図示すると、以下の通りのイメージですね。

 

f:id:security_consultant:20160822054815p:plain

では、これらを要素分解して、専門家以外の人で同じことを実現できないか、検討してみたいと思います。

要素1:「脆弱性の発見手法の理解」について

脆弱性の発見のためのパラメータ改竄は、脆弱性スキャナは非常に得意としています。HTTPの内容を解析し、送信されているパラメータの値を改竄するだけなので数値をずらすなどは機械でも簡単に可能です。ツールで発見が難しいのは、脆弱性が存在するか否か判断することが難しいだけであって、攻撃自体はツール化すること事態は可能です。そう考えると、脆弱性の発見手法のノウハウさえ、ツールに書き込んでしまえば、ある程度機械に任せることができるのではないかと考えられます。

要素2:「システム仕様の理解」について

システムの仕様自体は別にセキュリティの専門家でなくても知っている人はいます。

代表的なレイは、普段からシステムを利用しているユーザです。普段から利用しているユーザであれば、どんなデータが見えたらおかしいか、どんな機能が使えたらよくないのか判断できるノウハウを持っていると言ってもよいはずです。

より専門的には、このような人たちをレイ・エキスパート(Lay Expert・素人の熟達者)とよんでおり、様々な分野で彼らの知見を活用すべきという議論がありますが、それと同じ考え方です。

「ツールによる脆弱性攻撃」×「レイ・エキスパートの判断」

さて、これらを組み合わせると以外にも「アクセス・コントロールの不備」なども専門家の手を借りずにテストできるのではないでしょうか?

例えば、以下のような流れで検査はできないでしょうか。

  • ユーザ(レイ・エキスパート)のブラウザのプラグインか何かをいれてもらい、通常通りシステムを使ってもらう。
  • そのプラグインが通常遷移の途中で、急に一部のパラメータを改竄してリクエストを送信する(改竄により攻撃を試行する)。
  • プラグインが、ポップアップなどをあげユーザに「想定した結果が表示されていますか?」などと聞き、YES / NO形式などで回答してもらう(レイ・エキスパートに判断をしてもらう)

こんな流れでやっていけば、専門家を使わずとも検査ができるのではないでしょうか。当然、レイ・エキスパートはセキュリティ診断の専門家ではありませんので、間違えることもありますし、勘違いの可能性もあります。そのため、ある程度複数回の試行をする必要があると思います。ある程度の試行回数をするために、クラウド・ソーシングという形を使うというのが解決策になるのではないかと考えています。あるいは、ヘビー・ユーザにツールをいれてもらい、回答するたびにポイントなどをあげるなんていうのも有効かも知れません。

図示すると、以下の形になります。

f:id:security_consultant:20160822060311p:plain

まとめ

もともと、大学院の研究の一環として検討していたテーマなのですが、意外とこの仕組みを作ることが難しく、時間がかかりそうであまり進んでいないテーマです。(本来は査読なし論文にまとめて論文を出すべきなんですが、いかんせん仕組みができていないのでデータがなく、まだアイディア段階なので公開して誰かの役にたてばよいのではないかと考えています。)

サイバーリスク保険に関する考察

以前某論文誌にサイバーリスク保険について書いたことがあるのですが、最近またサイバーリスク保険について説明する機会があったので、ブログにまとめておこうと思います。

論文執筆時の情報を元にしているため、古い記載がある可能性があります。ご容赦ください。

そもそもサイバーリスク保険とは?

サイバーリスク保険とは、セキュリティ事故発生に伴う損害を包括的にカバーする保険です。

理論的にいうと、リスク対応戦略(回避・軽減・転移・受容)における「リスク転移」の一つになると考えられます。このリスク転移としてのサイバーリスク保険は米国では評価されており、例えばLatham & Watkins 社は、「サイバー攻撃の最終防衛ラインとして保険が有効である」と指摘し、統合的なリスク管理として保険は有益なツールであると述べています*1

私見ですが、サイバーリスク保険のメリットは大きく3つあると考えられます。

メリット1:残存リスクのカバー

インターネット等ITの恩恵を受ける限り、セキュリティリスクがゼロになることはないと思われます。そのため、対策を頑張っても程度の差はあれ、残存リスクは存在します。特にあまり予算が潤沢でないと企業ではなおさらです。サイバーリスク保険は、その残存リスクをカバーする一つの方法になります。

メリット2:被害額の固定費化

セキュリティインシデントの一つの特徴として、被害額(対応費用)が予測できないという点にあります。その理由は漏洩データ件数に大きく依存するためです。漏洩データ件数が多ければ調査にも時間を要しますし、顧客対応費用(お詫び金、顧客問い合わせ窓口の問い合わせ件数)も増加します*2

サイバーリスク保険は、その費用についてX円(例えば1億円)までは補填するというサービスになるため、保険金により費用が固定できます。

メリット3:セキュリティ・リスク管理レベルの底上げ

サイバーリスク保険に加入する際に、当然一定水準のセキュリティが求められます。時際、過去には英エネルギー企業がセキュリティ対策が弱すぎることを理由に保険加入を拒否されたケース*3が存在します。

また、保険会社のサービスの一環として、リスク診断など実際のリスクを簡易的に測定してもらうことができます。もちろん簡易的な診断ですから、概要把握にはとどまると思われますが、判断に必要な情報が手に入るという点は大きいと思います。

サイバーリスク保険は普及しているのか?

米国では、規制による罰金や集団訴訟も多いため、一般的なリスク対応戦略として知られています。

例えば、以下の文献では以下のように指摘されています。

  • PwC社のレポート*4によれば、証券取引委員会(SEC)のコンプライアンス検査局(OCIE)の指針で、金融サービス企業の加入が推奨されており、調査対象企業の44%は保険に加入している。
  • Marsh社の調査*5によれば、2014年度における正味収入保険料で20億ドルの市場規模である。

実際に過去有名な会社もサイバーリスク保険により、だいぶ助けられている様子です。少し古いですが、いくつかケーススタディを見てみたいと思います。

事例1:ターゲット社

ターゲット社は、2013年12月に情報漏洩に見舞われ、POS マルウェアで4000万件のカード情報、7000万件の個人情報が漏洩したことで有名です。

2014年年度第四半期時点で累積2.52 億ドルの対策コストを計上し、2015年3 月には集団訴訟により12.2 億ドルの賠償金を支払うことで和解しています。報道*6によると、2014年年度第四半期時点で0.9 億ドルは保険によりカバーされていると報じられており、実質的な対策費は1.62億ドル、対策コストの約35.7%が保険によりカバーされていると考えられます。

 事例2:ホーム・デポ社

ホーム・デポ社は、2014年9月に5600万枚のカード情報が流出したことで有名になった会社です。Bloomberg Businessの報道*7によれば、対策費は6200万ドルになり、2700万ドルは保険で払い戻される見通しとして、対策コストの43.5%が保険でカバーされていると知られています。

事例3:ソニーピクチャーズ社

ソニーピクチャーズ社は、2014年11月にハッキング攻撃を受け、未公開画像や従業員・有名ハリウッド女優の個人情報などが漏洩したとして知られています。その想定被害額は120億円以上だという試算もされていますが*8、保険により全額カバーされていると報じられています*9

提供されているサイバーリスク保険の特徴

サイバーリスク保険は、大手損保会社(東京海上日動・三井住友海上・損保ジャパン日本興亜・AIU保険など)ではすでに提供が開始しています。例えば、AIU保険のCyberEdgeでは、保障分野は「賠償責任に対する補償」、「行政手続きに対する補償」、「危機管理対応費用に対する補償」の基本3種類と「ネットワーク中断に対する補償」というオプション補償を規定し、実際のインシデントにかかる費用をほぼすべてカバーしている様子です。他の保険会社も大枠は同じような補償サービスです。

金融庁の委託研究*10にによれば、海外の動向も同様の傾向にあるようです。ただ、その補償範囲は少しづつ米国では拡大していると思われます。米大手保険会社AIGのアナウンス*11によれば、2014年4月にサイバーリスク保険の補償範囲を物損や人体への被害まで拡張することを発表しており、IoT(モノのインターネット化)やSCADAへのセキュリティを意識した保険だと考えられます。

サイバーリスク保険の保険料・支払額

サイバーリスク保険の保険料・支払額については、その実態がわからない状態です。日本の損保会社も原則個別見積もりとなっているのが実情だと思います。

保険数理の実務的観点からは、重要な保険数理上のデータが手に入らないため、伝統的な手法でリスク評価をすることが難しく、保険料の料率・リスク評価方法について検討段階にあるという指摘*12もされています。

私見ですが、まだ統計的に分析できるデータが集まっていないというのが正直なところなのではと思います。その中で、Marsh社はCyber IDEAL(Identify Damages, Evaluate, and. Assess Limits)という独自の分析手法を確立しており、一つの競争源泉になっているのではと推測されます*13

参考になるケースとすると、Cyber Data Risk Managers社がモデルケースをだしてくれています。また保険の支払額については、NetDiligence社のレポート"Cyber Liability & Data Breach Insurance Claims"*14が詳しく分析しており、平均的な保険金支払額は49.5万ドルだと分析しています。

まとめ

サイバーリスク保険は、まだまだ日本では普及していないサービスだと思われますが、今後より一層重要だと思います。今後も動向を抑えるために以下のレポートは押させていくと良いと思われます。

  • NetDiligence社 "Cyber Liability & Data Breach Insurance Claims"*15

  • Insurance Information Institute "Cyberrisk:Threat and opportunity" *16

  • Marsh社(サイバーリスク保険関連で色々なレポートを出版)

*1:https://www.lw.com/thoughtLeadership/lw-cybersecurity-insurance-policy-coverage

*2:ちなみに、自発的に相場500円のお詫び金を払う習慣があるのは日本だけで、米国では基本的に訴訟をしない限り補償はされないと考えたほうが良いと思います。そのため、Class Actionと呼ばれる集団訴訟が発展しているわけですが...

*3:http://www.bbc.com/news/technology-26358042

*4:https://www.pwc.com/jp/ja/advisory/research-insights-report/assets/pdf/information-security-survey2015.pdf

*5:http://www.reuters.com/article/us-insurance-cybersecurity-idUSKBN0FJ0B820140714

*6:http://www.bankinfosecurity.com/target-breach-costs-162-million-a-7951

*7:https://www.bloomberg.com/news/articles/2014-09-18/home-depot-hacked-after-months-of-security-warnings

*8:http://jp.reuters.com/article/sony-cybersecurity-costs-idJPKBN0JO01Y20141210

*9:http://jp.reuters.com/article/spe-insurance-idJPKBN0KI02U20150109

*10:http://www.fsa.go.jp/common/about/research/20150706-4/01.pdf

*11:http://money.cnn.com/2014/04/23/technology/security/aig-cybersecurity-insurance/

*12:http://jp.reuters.com/article/insurer-cyber-idJPKBN0FK0B420140715

*13:保険に詳しいわけではないので、どんな分析手法かは推測の域を出ていません

*14:https://netdiligence.com/wp-content/uploads/2016/10/P02_NetDiligence-2016-Cyber-Claims-Study-ONLINE.pdf

*15:https://netdiligence.com/wp-content/uploads/2016/10/P02_NetDiligence-2016-Cyber-Claims-Study-ONLINE.pdf

*16:http://www.iii.org/sites/default/files/docs/pdf/cyber_risk_wp_102716-91.pdf