サイバーセキュリティ
情報セキュリティと サイバーセキュリティ |
---|
対象別カテゴリ |
隣接領域 |
脅威 |
防御 |
サイバーセキュリティ(英: cyber security)は、サイバー領域に関するセキュリティを指す。
概要
[編集]サイバーセキュリティはサイバー領域のセキュリティを指し、その定義は論者によって異なるものの(後述)、この言葉は2010年ころから[1]情報セキュリティに変わるバズワード的な語として用いられるようになった。この言葉が登場した2010年頃はセキュリティにとってのターニングポイントになっており[2]、2010年のスタックスネットの事案や2011の三菱重工の事案からもわかるように[2]、ターニングポイント以降、以下の問題が顕在化した。
- 攻撃対象が産業システムにも広がった[2]
- 攻撃方法も高度化して特定組織を狙った標的型攻撃が行われるようになった[2]
- 攻撃目的も国家によるサイバー攻撃、犯罪者による金銭目的、ハクティビストによる主義主張の目的などに多様化した[2]
こうした背景のもと、サイバー領域は2011年以降、米国の安全保障において陸・海・空・宇宙に次ぐ第五の領域とみなされており[3]、日本においても2013年の「国家安全保障戦略」でサイバー空間への防護が国家戦略に盛り込まれるなど[3]、サイバーセキュリティは国際政治・安全保障の問題として扱われるようになっている[3]。このためサイバー空間の問題は、「単に技術的観点のみならず国際政治、市場権益(国際公共財)、知的財産、安全保障、軍事作戦、国の危機管理体制などの各分野に跨る問題の側面を合わせ持っている」[4]。
一方、企業などの組織体にとってサイバーセキュリティ対策や情報セキュリティ対策は、企業などの組織の事業における(情報)セキュリティリスクを低減する事を主な目的とする[5][6]。組織は災害リスク、事業環境リスク、戦略リスク、財務リスク、事故・故障リスク、情報セキュリティリスク、犯罪リスク、労務リスク、事業運営上のリスクといった様々なビジネスリスクを抱えており[5]、情報セキュリティリスクはそれらビジネスリスクの一つに過ぎない。よって組織のセキュリティを担保するには、組織の経営への影響[7]を加味した上で、ビジネス全体のリスク項目に基づき、網羅性と合理性を検討する必要がある[5]。したがって経営という観点から見た場合、企業戦略として、サイバーセキュリティリスクを加味してどの程度のセキュリティ投資を行うかは経営判断になる[8]。またサイバーセキュリティに関するガイドラインを策定するときは、リスク管理規程、危機管理規程、事業継続計画、IT-BCPといった既存のガイドラインと整合を取る必要がある[9]。
企業はサイバーセキュリティ対策のため、SOC、CSIRTなどのセキュリティ対応組織をおく事があり、こうした組織の主な仕事は以下の2点に集約される[6]:
- インシデント発生の抑制
- インシデント発生時の被害最小化
ここでインシデントとは直訳すれば「事件」であるが、サイバーセキュリティの文脈では、サイバー領域において組織を脅かす不正な行為全般を指す用語である(より厳密な定義はインシデントの項目参照)。
サイバーセキュリティでも情報セキュリティのCIA、すなわち下記の3つは重視される[10]
- 機密性 (Confidentiality): 情報へのアクセスを認められた者だけが、その情報にアクセスできる状態を確保すること
- 完全性 (Integrity): 情報が破壊、改ざん又は消去されていない状態を確保すること
- 可用性 (Availability): 情報へのアクセスを認められた者が、必要時に中断することなく、情報及び関連資産にアクセスできる状態を確保すること
しかし制御システムのセキュリティでは重要度がC、I、Aの順番ではなく、A、I、Cの順番である[11][12]。また以下のHSEの3つも重視される[12][13]
- 健康(Health)
- 安全(Safe)
- 環境への影響(Environment)
定義
[編集]2018年現在、サイバーセキュリティの定義は論者により異なる。両極端の見解としては
がある[14]。
ISO/IEC 27032:2012の定義
[編集]サイバーセキュリティに関する情報セキュリティマネジメントシステムを規定したISO/IEC 27032:2012では、
preservation of confidentiality, integrity and availability of information in the Cyberspace
サイバー空間において機密性、完全性、可用性の確保を目指すもの — ISO/IEC 27032:2012
とサイバーセキュリティを狭義に定義し[15]、サイバー空間については
the complex environment resulting from the interaction of people, software and services on the Internet by means of technology devices and networks connected to it, which does not exist in any physical form
人間、ソフトウェア、およびテクノロジーデバイスやそれに接続するネットワークを用いたインターネット上のサービスのやりとり(interaction)の結果として生じる複雑な環境で、いかなる物理的形態も存在しないもの — ISO/IEC 27032:2012
と定義している[15]。
この標準を規定したISO/IEC JTC 1/SC 27委員会はこの定義の改定を試みており、2017年に行われた会合では事前に9通りの定義案が提出された上でその定義が議論されたが、多様な理解が存在する実態を踏まえ、定義の決定を見送っている[14]。
サイバーセキュリティ基本法の定義
[編集]サイバーセキュリティ基本法第二条では以下のように定義される:
「サイバーセキュリティ」とは、電子的方式、磁気的方式その他人の知覚によっては認識することができない方式(以下この条において「電磁的方式」という)により記録され、又は発信され、伝送され、若しくは受信される情報の漏えい、滅失又は毀損の防止その他の当該情報の安全管理のために必要な措置並びに情報システム及び情報通信ネットワークの安全性及び信頼性の確保のために必要な措置(情報通信ネットワーク又は電磁的方式で作られた記録に係る記録媒体(以下「電磁的記録媒体」という)を通じた電子計算機に対する不正な活動による被害の防止のために必要な措置を含む)が講じられ、その状態が適切に維持管理されていることをいう。 — “サイバーセキュリティ基本法 平成二十八年四月二十二日公布(平成二十八年法律第三十一号)改正”. e-Gov. 2018年9月10日閲覧。
攻撃者
[編集]種類・攻撃の目的
[編集]攻撃者の種類と攻撃の目的は以下のように分類可能である[16]:
自己満足・信念 | 経済的利益 | 信仰・国防 | ||
---|---|---|---|---|
国家 | 国家危機管理 | |||
サイバーインテリジェンス | ||||
組織 | サイバー犯罪 | |||
サイバーテロ | ||||
集団 | ハクティビズム ネット被害 | |||
個人 | ||||
興味本位 |
経済的利益に関するものは被害が顕在化しやすいのに対し、信仰・国防に関するものは被害が顕在化しにくいという特徴がある[16]。
サイバー犯罪の産業化
[編集]サイバー犯罪は組織化・分業化が行われ、サイバー犯罪市場では、マルウェアなどの作成者や、マルウェアを遠隔操作するためのプラットフォームの提供業者、マネーロンダリングなどを担当する犯罪組織などによりビジネス化されている[17][18]。Ransomware as a Serviceなどのようにサイバー攻撃のプラットフォームも作られ[19]、アフィリエイトモデルのような攻撃者のヒエラルキーもできている[19]。
こうした犯罪ツールや犯罪サービスはダークウェブ上にあるダークネット・マーケットなどで取引されており[20]、仮想通貨などを利用して決済されている。提供されているものとしては例えば金融機関と銀行へのサイバー犯罪とハッキングサービス[20]、インターネット規模のDNSを使用したDRDoS攻撃[21] などがある。
なお、この活動を監視しようとする試みが様々な政府や民間団体を通じて行われており、使用されるツールの調査は『Procedia Computer Science journal』で見つけることができる[22]。
国家が関与する攻撃
[編集]APT(後述)のような高度な攻撃は、国家の関与が疑われるものも多い。Mandiant社(買収後は買収元であるFireEye)は同一組織によると思われるAPTに対してAPT1、APT2、…と番号をつけており、攻撃組織に関与している事が疑われる国家を推定している[23]。
- 中国:APT1、APT3、APT10、APT12、APT16、APT17、APT18、APT19、APT30
- ロシア:APT28、APT29
- イラン:APT33、APT34
- ベトナム:APT32
- 北朝鮮:APT37
欧米でも国家が関与したハッキング行為が行われている:
- 米国:2010年のスタックスネットの事案におけるマルウェアはアメリカ国家安全保障局(NSA)がイスラエルと共同開発したと報じられ[24][25]、2017年のWannaCryの事案で用いられたエクスプロイトのEternalBlueもNSAが作成したとされる[26]。
- イギリス:イギリスの政府通信本部(GCHQ)はLinkedInのプロフィールページにマルウェアを仕込み、ベルギーの通信企業のネットワークをハッキングしたと2013年に報じられている[27]。またGCHQは2015年には自身がハッキング行為をしていることを初めて認めたと報じられた[28][29]
標的型攻撃・APT攻撃
[編集]標的型攻撃は、2010年ころから[2]サイバーセキュリティにおいてトレンドとなった攻撃手法で、それ以前の不特定多数を狙った攻撃と違い、特定の組織[30]、人[30]、これらの持つ重要情報[31]等を標的とした攻撃である[32]。したがって攻撃の標的となる組織固有の情報(組織構成、事業内容、システム構成等)を事前に入手し、これを利用して攻撃を仕掛ける事も多い[32][33]。
APTは標的型攻撃の一種に分類される事が多い[31]攻撃形態の一分類であり、「先進的で(Advanced)」「執拗な(Persistent)」「脅威(Threat)」を指す[34] [35]。その特徴は「特定の相手に狙いを定め、その相手に適合した方法・手段を適宜用いて侵入・潜伏し、数か月から数年にわたって継続する」[33]ことである。想定される攻撃者としては国家スパイ、産業スパイ、犯罪組織、競合他社、ハクティビスト、国家が後押しする団体などがある[36]。
またAPTでは明確な長期目標に基づく作戦行動のような活動が見られ[36]、このような作戦活動を攻撃キャンペーンという[37]。また攻撃キャンペーンは複数個の「一連の攻撃行動(オペレーション)」に分割できる[38]。
サイバーキルチェーン
[編集]サイバーキルチェーン[40][41][42][43][44][45]は、攻撃者がAPT攻撃をはじめとした[40][46]サイバー攻撃を行う上でのステージを明確化したものであり、ロッキード・マーティンの研究者が2011年に発表した。
サイバーキルチェーンでは攻撃には以下のステージがあるとする:
ステージ (日本語)[47] | ステージ (英語) | 説明[41][47] |
---|---|---|
偵察 | Reconnaissance | ターゲットを選定し、選定されたターゲット調査する。 |
武器化 | Weaponization | エクスプロイトとバックドアを組み合わせて配送可能なペイロードを作成[41] |
配送 | Delivery | eメール、ウェブサイト、USB等を利用してターゲットにマルウェアを配送 |
攻撃 | Exploitation | ターゲットのシステムで脆弱性を悪用したコードを実行 |
インストール | Installation | ターゲットの資産にマルウェアをインストール |
遠隔操作 | Command and Control | コマンド&コントロール(C&C)サーバへのチャネルを確立 |
目的実行 | Actions on Objective | 重要情報を持ち出すなど、目的を遂げる。 |
なお、「攻撃」と「インストール」をセットにし、最後に潜伏維持(Maintenance)を付け加えるバージョンもある[48]。
類似のモデル
[編集]サイバーキルチェーンと同様、攻撃者の行動をモデル化したものとして以下がある:
提案者・名称 | ステージ |
---|---|
Mandiant社の「M-Trend」モデル[49] | Reconnaissance(偵察)、Initial Intrusion into the network(侵入)、Establish a Backdoor into the network(遠隔制御)、Obtain user Credentials(権限取得)、Install Various utilities(インストール)、Privilege escalation/Lateral Movement/Data Exfiltration(実行)、Maintain Persistence(潜伏) |
IPAのモデル[50][51] | 計画立案、攻撃準備、初期潜入、基盤構築、内部調査、目的遂行、再潜入 |
JPCERT/CCのモデル[52] | 準備、潜入、横断的侵害、活動 |
トレンドマイクロのモデル | 偵察、スキャン、アクセス権の獲得、アクセス権の維持/引き上げ、窃盗、証拠隠滅[53] |
事前調査、初期潜入、C&C通信、情報探索、情報集約、情報送出[54][55] |
以下、サイバーキルチェーンに従って攻撃のステージを説明する。ただし必要に応じて前節で述べた他のモデルも参照したので、「準備ステージ」のようにサイバーキルチェーンにはないステージも書かれている。またサイバーキルチェーンと内容が重複する部分に関しては、上述のモデルを適時サイバーキルチェーンに読み替え、該当箇所の解説に加えた。
準備ステージ
[編集]サイバーキルチェーンにはないがJPCERT/CCのモデル[52]には記載されているステージ。
攻撃者は実際の所在地や目的を把握されないよう、グローバル規模の分散型インフラをハッキング等により構築する[52]。このインフラには情報収集システム、電子メールシステム、ツールやマルウェアの保存用レポジトリ、C&Cサーバ、情報の引き出しに使うサーバ、外部クラウドサーバなどが含まれる[52]。場合によっては攻撃者が自分で攻撃用にドメインを取得する事もあるので[56]、ドメイン名はAPTの重要なインディケータ(APT関連のデータや情報を選り分けるため指標[57][58])になる。
攻撃者はその攻撃元が特定されないよう、頻繁に攻撃拠点を変える[59]。また分散型のインフラにする事で攻撃の全容をつかみにくくする[60]。攻撃者は犯罪用に匿名化された防弾ホスティングサーバなどの身元が割れにくいサービスを利用する事もある[61]。
このインフラ網を構築するにあたり、攻撃者は法令を逆手に取る事があり、例えば米国や欧州では国家が国民の個人情報やトラフィック情報を収集するのが禁止されている事を逆手に取り、米国や欧州の国民のマシンを拠点にしたり、そうしたマシンからデータを送信したりする[52]。
攻撃者はこうしたインフラ等、攻撃に必要な構成要素の動作を確認するため、テストラン(検証のための試験的な攻撃)を実施する場合があるので[56]、その際のIPアドレスやドメイン名を特定できればこれらをインディケータとして使う事ができる[56]。
偵察ステージ
[編集]攻撃者は偵察ステージで従業員の情報[62]やe-メールアドレスを収集したり[62]、プレスリリース[62]、契約発注[62]などから企業情報を収集したり、企業がインターネットに公開しているサーバ[62]を特定したりする。攻撃者は標的組織に侵入する前に、まず標的組織の関連組織に攻撃を行ってメールアドレスなどの情報収集を行う事もある[63]。
さらに攻撃者は標的型メール(後述)等に利用可能なpdfやdocファイル等を収集する[56]。攻撃者は攻撃用のサイトでIEのresプロトコル[64]を使ったリンクをユーザにクリックさせる事で、ユーザが利用しているソフトウェアに関する情報を取得し、これを攻撃に利用できる[65]。
資金力が十分ある攻撃者であれば、標的組織の防御体制、組織内で標的にすべき人物、ネットワーク構成、セキュリティ上欠陥等も把握する[66]。
このステージに対する対策を講じるのは非常に困難だが[62]、自社のウェブサイトを詳細に調べるユーザをログ解析や既存のアクセス解析であぶり出したりする事はできる[62]。
武器化ステージ
[編集]エクスプロイトとバックドアを組み合わせて配送可能なペイロードを攻撃者が作成するステージで[41][67]、ペイロードの作成には何らかの自動化ツールが使われる事が多い[68]。ペイロードは次の配送ステージで組織に侵入する際に使用される為、侵入検知システム等に検知されないよう、標的組織に特化した攻撃手法を用いる傾向にあり[69][40]、APTではゼロデイの脆弱性を利用される事も多い[40][70]。この場合マルウェア検知ソフトを利用したりパッチを当てたりといった対策で対抗するのは難しい[40]。
対策側が攻撃者の武器化を検知するのは不可能だが[67]、攻撃が実行された後、マルウェアの検体やアーティファクトを解析し[67]、どんなツールキットが使われたのか[67]、いつごろ行われたどのAPTの作戦活動に連動しているのか[67]といった事を調査し、以後のAPT攻撃への対策に利用する事ができる。
配送ステージ、攻撃ステージ、インストールステージ
[編集]これら3つのステージでは以下が行われる:
- 配送ステージ:ペイロードを標的に送りつける
- 攻撃ステージ:従業員が標的型メールを開くなどするか[70]、あるいは攻撃者自身がサーバの脆弱性をつくこと[70]でエクスプロイトが実行される[70]。
- インストールステージ:エクスプロイトがクライアントマシンにバックドアを仕込んだり、ウェブサーバにウェブシェル(バックドアの一種)を仕込んだりし[71]、攻撃拠点を築く為、悪意のあるサービスが自動実行されるようにする[71]。
JPCERT/CCのモデルでは攻撃者が直接潜入する事も想定し、これら3つをまとめて潜入ステージと呼んでいる[66]。
マルウェア配送手法
[編集]代表的なマルウェア配送手法として以下のものがある。なお、下記に書いたものはマルバタイジングのように、標的型攻撃以外の攻撃で一般的なものも含まれる。
手法 | 概要 |
---|---|
標的型メール[72][73][74] | 標的型メールとは、標的となる組織・ユーザに特化した文面を作り込むなどする事で[75]、受信者が不審を抱かずに添付ファイル(pdf、Wordファイル等)を開いたり、リンクを開いたり(スピアフィッシング)してしまうよう工夫されたメールの事である[76]。標的型メールは、添付ファイルやリンク先に仕込まれたペイロードを利用して組織内に侵入拡大する事を目的とする[77]。 |
水飲み場型攻撃[72][74] | 標的組織のユーザがアクセスする可能性の高いウェブサイトを攻撃者が改ざんし、そのサイトを閲覧したユーザがドライブバイダウンロード(ブラウザやそのプラグインの脆弱性を悪用してブラウザの権限を奪取し、マルウェアをインストールさせる手法[78])などによりマルウェア感染するようにする攻撃である[79]。標的組織のIPアドレスからアクセスされた場合のみ攻撃を行う事でサイトの改ざんを発覚しにくくする場合もある[80]。なお「水飲み場型攻撃」という名称は改ざんサイトを水飲み場に見立て、ライオンが水飲み場で獲物を待ち伏せるがごとく、攻撃者が改ざんサイトでユーザを待ち伏せすることからついたものである[79]。 |
USBにマルウェアを仕込む[72] | マルウェアが仕込まれたUSBを標的組織のユーザが端末に挿入する事で感染[81]。Windowsのオートラン機能を悪用する[78]。インターネットと接続していない(エアギャップ)クローズ系の機器であっても、アップデート等でUSBを挿入する事があるので、こうした機器にも感染を広げる事ができる[82]。別の機器でマルウェアに感染したUSBをユーザが端末に挿入するのを待つ方法と、攻撃者がマルウェアを仕込んだUSBを標的組織に落としておいて、それを拾ったユーザが端末に挿入するのを待つ方法がある[81]。 |
リモートエクスプロイト | 遠隔ホストから標的ホストの脆弱性をついてマルウェアをインストールする[78]。 |
アップデートハイジャック[74] | 標的組織が使っているソフトのアップデート配信元に侵入し、アップデート時にマルウェアを送り込む攻撃[74] |
ドメインハイジャック[74] | 標的組織が利用するウェブサイトのドメインを乗っ取る事で、攻撃者サイトに誘導する攻撃[74] |
トロイの木馬 | スマートフォンアプリやP2Pファイル、ウェブサイト上の有用そうなファイル等にみせかけてトロイの木馬をインストールさせる[78]。 |
マルバタイジング | マルウェアの拡散や悪性サイトへのリダイレクト等を目的とした悪質なオンライン広告配信の事[83]。典型的にはオンライン広告に悪意のあるスクリプトが仕込まれ、これをクリックするとマルウェアに感染するなどする[83][84]。広告を表示しただけで感染するケースもある[84]。多数のユーザが集まるサイトに広告を配信する事で、そのサイトを改ざんする事なくマルウェア配信等が可能な事が攻撃者にとっての利点である。またウェブ広告では広告データは複数のサーバを経由する上、秒単位の入札で表示される広告が決まる仕組みなので、後から不正広告を追跡するのが難しい事も攻撃者にとって利点である[85]。典型的には広告会社に攻撃を仕掛ける事でマルバタイジングを行う[84]。 |
タイポスワッティング | 「URLハイジャッキング」とも呼ばれ、インターネットユーザーがWebブラウザにURLを入力する際に犯す打ち間違いを利用した攻撃である。例えば攻撃者が「https://ja.wijipedia.org」というドメインを取得していると、ユーザがウィキペディア日本語版にアクセスするつもりで誤って「https://ja.wijipedia.org」と入力した場合に攻撃者サイトにアクセスしてしまう[86]。 |
なお、特にスマートフォンアプリでは、正規のアプリをマルウェアとセットにしてリパッケージしたアプリを配布する事で、マルウェア感染させる手法がある[78]。
大量の本物の業務メールに紛れて、業務メールに見せかけた標的型メールが送られてくるなどするので、配送ステージに対して完全な対策を打つのは難しく、次以降のステージに攻撃が移行する事が多い[75]。
標的型メール
[編集]標的型メールの文面は、準備ステージで窃取した本物のメールを流用されている場合もあり[75]、受信者が標的型メールである事を見抜くのは難しい[75]。標的型メールで感染するペイロードは既存のマルウェアの亜種を使ったり[75]、ゼロデイの脆弱性を使ったり[40][70]する事で検知を逃れる工夫がなされている事もある。また、アイコンや拡張子を偽装する事でexeファイルでないように見せかけたファイルをユーザにクリックさせたり[75][87]、正規のアプリケーションに見せかけたトロイの木馬をユーザ自身にインストールさせたりする事で[75]、脆弱性を利用しないでマルウェアに感染させる場合もある。
添付した実行ファイルの拡張子の偽装方法としては下記のものがある[87]:
手法 | 概要 |
---|---|
二重拡張子 | 「hoge.doc.exe」のように二重に拡張子をつける。拡張子を表示しない設定になっていると、「hoge.doc」と表示されるのでdocファイルに偽装できる。 |
RLO(Right-to-Left Override)による偽装 | 「hogecod.exe」のようなファイル名の下線部にRLOを用いると、「hogeexe.doc」と表示されるので、docファイルに偽装できる。 |
長い空白の利用 | 「hoge.doc(長い空白).exe」のようなファイル名にするとファイル名の後半の表示が省略されて「hoge.doc」と表示されるのでdocファイルに偽装できる。 |
標的型メールの一形態として、「一般の問い合わせ等を装った無害な「偵察」メールの後、ウイルス付きのメールが送る」ものをやり取り型という[88]。また、不特定多数を対象にした攻撃用メールを用いた攻撃をばらまき型のメールという[89][90][91][92]。ばらまき型メールを標的型メールに含めるか否かは論者によって異なり、IPAのJ-CSIPなど標的型メールに含めない論者がいる[90][92]一方で、ばらまき型メールであっても特定企業の全社員や特定銀行の全ユーザなどを対象にしている事が多いことから標的型メールに含める論者もいる[89][91]。
マルウェア配布ネットワーク
[編集]ドライブバイダウンロード型の攻撃では、攻撃のスケーラビリティ向上や運用コスト削減、対策耐性の向上といった理由により、複数の悪性サイト間をリダイレクトさせた上でマルウェアを配布する事が多い[93]。こうした目的のために攻撃者により構築させる悪性サイトのネットワークをマルウェア配布ネットワークという[93]。マルウェア配布ネットワークには以下の4種類のサイトが含まれる事が多い[93]:
名称 | 概要 |
---|---|
入口サイト | 標的となるユーザが最初にアクセスするサイトで[93]、多数のユーザをマルウェア感染させるため、改竄された一般サイトなどが利用される[93]。入口サイトは踏み台サイトへとリダイレクトされている[93]。 |
踏み台サイト | 入口サイトに攻撃サイトのURLを残さないために設置され[93]、攻撃サイトにリダイレクトされている[93]。 |
攻撃サイト | ユーザにマルウェアをダウンロードさせるためのシェルコードを仕込んだサイト[93] |
マルウェア配布サイト | ユーザは攻撃サイトのシェルコードにより、マルウェア配布サイトのマルウェアをダウンロードする[93] |
マルウェア配布ネットワークは多数の入口サイトを少数の攻撃サイトへと導くための仕組みである。このような構成を取る事により、攻撃者には以下の利点がある:
- 複数のサイトを改ざんして入口サイトにし、攻撃サイトに誘導する事でスケーラビリティの高い攻撃を行う事ができる[93]。
- 攻撃コードを改良する場合は少数の攻撃サイトやマルウェア配布サイトを書き換えれば、多数の入口サイトはそのままでよいので運用コストが下げられる[93]。
- 踏み台サイトを経由する事で攻撃サイトのURLを入口サイトの管理者から隠しているので、対策耐性が高い[93]。
リダイレクトには、HTTPリダイレクト、HTMLのiframeタグや「meta http-equiv="refresh"」を使ったリダイレクト、JavaScriptなどのスクリプトのリダイレクトの3種類があり、これらが攻撃に利用される[93]。このうちHTMLのiframeを使ったリダイレクトは、widthとheightを0にする事でフレームサイズを0にし、さらにstyle属性を"visibility:none"や"visibility:hidden"にする事で非表示化できるので、標的ユーザに気づかれる事なくリダイレクトできる[93]。同様にstyle属性を"position:absolute"にし、フレームの位置のtopとleftとしてマイナスの値を指定することでも非表示化できる[93]。
またスクリプトを使ったリダイレクトの場合、リダイレクトが閲覧時に初めて生成されるようにできるので[93]、リダイレクトされている事がウェブ管理者に気づかにくい。
バナーチェック・ブラウザフィンガープリンティング
[編集]サイトにアクセスしてきたユーザのマシンにインストールされているブラウザや各種ツール(Java[94]、Adobe Reader、Adobe Flash[94]、Silverlight[94]など)のインストール状況やバージョン番号などのプロファイルを取得する手法の事。踏み台サイトや攻撃サイトでブラウザフィンガープリンティングを行う事で、ユーザの環境に最適な攻撃(たとえばユーザ環境の脆弱性つけるエクスプロイトを選ぶ等)を実行できるようになる。
ブラウザフィンガープリンティングには攻撃者のサーバサイドで行う方法とユーザのクライアントサイドで行う方法がある[95]。サーバサイドのものでは、ユーザのIPアドレスやHTTPユーザーエージェントからユーザ環境の情報が得られる[95]。クライアントサイドで行うものはクライアント環境でJavaScriptやVBScriptなどを実行する事でさらに詳細なユーザ環境情報を取る事ができ、例えばブラウザに追加されているプラグインの種類やバージョンを知る事ができる[95]。
エクスプロイトキット
[編集]攻撃サイトなどに、エクスプロイトキットと呼ばれる攻撃ツールが仕込まれている場合がある。エクスプロイトキットはブラウザフィンガープリンティングを行い、保有している複数のエクスプロイトの中からユーザ環境で実行可能な物を選び[94]、マルウェアを実行する[94]。
エクスプロイトキットの中にはサイバー犯罪者向けにサービスとして運営されているものもあり、EaaS(Exploit Pack as a Service[96]もしくはExploits as a Service[97])と呼ばれている。
クローキング
[編集]悪性サイトにアクセスしてきたクライアントに応じて応答するウェブコンテンツを変化させる手法の事[98]。例えば検索エンジンのクローラーがアクセスしてきたときは無害なコンテンツを表示し、標的ユーザがアクセスしてきたときのみ攻撃用のコンテンツを表示する[98]。これにより攻撃用コンテンツをクローラーに発見される事なく、クローラー向けコンテンツに検索エンジン最適化を施す事で検索順位を上げる、といった事が可能になる[98]。クローキングで表示するコンテンツを変えるための指標として、IPアドレス、ユーザエージェント、リファラの情報が利用される[98]。
リモートエクスプロイトの実行
[編集]これまで標的型メールやウェブアクセスを利用して標的システム上でローカルエクスプロイト[99]を実行する手段を解説してきたが、攻撃者がセキュリティ上の欠陥をついて標的組織に潜入して遠隔地からリモートエクスプロイトを実行する場合もある。そうした方法としては例えば下記のものがある:
制御システムだとSCADAに共有モデムが利用されている事が多いので、ここから侵入される場合もある[66]。
遠隔操作ステージ
[編集]攻撃対象の組織からC&Cサーバ(コマンドアンドコントロールサーバ。C2サーバとも。攻撃者が攻撃対象の組織に不正なコマンドを遠隔で頻繁に送信する為に利用されるサーバの事[100])への通信(コネクトバック通信[101])の経路を確保する[102]。なおC&Cサーバ自身も攻撃者に乗っ取られた外部組織のサーバであることもある[102]。
コネクトバック通信にはhttpやhttpsを使うことが多いので[101]、通信の特徴だけからコネクトバック通信を検知するのは困難である[101]。なお、監視の目が行き届いたhttpやhttpsを使う代わりに、e-メール[102]、DNS[102]などのプロトコルが使われる事もある。
ファイヤーウォールのフィルタリングルールが形骸化していたり、攻撃によく使われるCONNECTメソッドをプロキシで防ぐことを怠っていたりすると、コネクトバック通信の確立が容易になってしまう[101]
永続化
[編集]攻撃者は感染状態を維持しておくため、RAT やダウンローダーなどの攻撃ツールをOS 起動時に自動的に起動するようPC の設定を変更する(永続化)[103]。Windowsの場合、永続化のため主に下記の箇所を設定変更する[103]:
- 自動起動レジストリ
- スタートアップ起動プログラム
- サービス起動プログラム
- スタートアップフォルダ
- ログオンスクリプト
- タスクスケジューラ
その他の特徴
[編集]マルウェアが作るフォルダ名、ファイル名、サービス名等を発見しにくい名称に偽装する[103]。具体的には正規のアプリケーションと同一もしくはよく似た名前を利用したり[103]、マルウェア起動時に正規アプリケーションの一部のプログラムを利用する[103]。
マルウェアは一般利用者権限もしくはログインユーザー権限のみで多くの権限が得られるフォルダで環境変数でアクセスしやすい箇所に配置されやすい[103]。具体的には%TEMP%、%PROGRAMDATA%、%ALLUSERSPROFILE%、%APPDATA%、%LOCALAPPDATA%、%PUBLIC%、およびC:直下である[103]。典型的には、ファイルを開いたとき%TEMP%にマルウェアが一旦生成され、それを%PROGRAMDATA%以下の偽装したフォルダにコピーし、そのファイルを永続化する[103]
攻撃者が仕込んだRATはC&C サーバと定期通信(ビーコンという)を行う事が多い[104]。ビーコンは標的組織に発見される危険があるので、一時的にFQDN に対するA レコードを「0.0.0.0」や「127.0.0.1」としてC&C サーバとの通信を停止させるRATもある[104]。逆に言えば、標的組織はこれらのA レコードがこれらのIPアドレスになっているものをRATの候補として抽出可能である[104]。
横断的侵害ステージ
[編集]JPCERT/CCのモデル[52]には記載されているステージで、サイバーキルチェーンでは目的実行ステージの一部とみなされている[105]。
このステージで攻撃者は、最初に侵害したシステムを足がかりにして同じ組織内の脆弱なシステムを横断的に侵害する[106]。具体的には最初に侵害したシステムを足がかりにして、インストールしたプログラムを使いながら、攻撃者は試行錯誤してネットワークの構造を把握し[106][101]、認証情報を窃取し[105][101]、ラテラルムーブメント(=他の端末やサーバへの侵入)[105]や権限昇格[105]等を行う。このステージでも攻撃者はバックドアを設置する[106]。
このステージで攻撃者がWindowsコマンドとしては以下のものがある:
目的 | コマンド |
---|---|
初期調査 | tasklist、ver、ipconfig、net time、systeminfo、netstat、whoami、nbtstat、net start、set[107] |
探索活動 | dir、ping、net view、type、net use、echo、net user、net group、net localgroup、dsquery[108]、Active Directoryのdsqueryとcsvde[108] |
感染拡大 | at、move、schtasks、copy、ren、reg、wmic、powershell、md、runas[109] |
痕跡削除 | del、taskkill、klist、wevtutil、rd、wevtutil[110] |
攻撃者はこうした行為を行う為にIPアドレスやサービスポートをスキャンするが[101]、攻撃が発覚しづらいようスキャンするポートを限定して行われる[101]。
ラテラルムーブメントの手法
[編集]下記のものがある:
手法 | 概要 |
---|---|
Pass the hash攻撃の悪用[101] | パスワード自身でなくそのハッシュ値を使ってログインできるPass the hash攻撃を使う方法。侵入した端末Aから他のマシンBにパスワードを使ってリモートログインした事がある場合、Aのメモリ上にそのパスワードのハッシュ値がキャッシュされているので、これを不正に入手し、Pass the hash攻撃によりマシンBにログインできる。PCキッティング作業時の共通アカウントが残っている場合や[111]、Domain Adminを使用したリモートメンテナンスを行っている場合[111]にラテラルムーブメントが可能である。 |
管理共有の悪用 | ユーザ端末でファイルの管理共有サービスが開放されている場合、これを利用してその端末に攻撃ツールをコピーしてラテラルムーブメントする事が可能である[111]。 |
Pass the Ticket攻撃[112][60] | 追加の認証なしでアクセスを許可する不正なチケットを発行して認証に利用する攻撃[112]。 |
対策面から見た場合、横断的侵害は最初の侵入に比べ検知しにくいという問題がある[106]。その原因は、LANの入口は監視していても、LANの内部やLANの出口はさほど監視されていないことにある[106]。
目的実行ステージ
[編集]攻撃者が目的となる行為を実行するステージ[105]。このステージにおける攻撃者の行動は、攻撃者が何を目的とするかで異なるが[105]、主な目標は重要情報の窃取である[106]。窃取した情報は分割され、複数の端末から外部に送信されるので、窃取したファイルの特定は極めて困難である[113]。
また最終目標を達成する前段階として、今後のオペレーションのために標的組織の状況を窃取したり、他の組織とのトラストチェーンを把握したり、標的組織に対して優位に立つため破壊行為を行ったりする[105][106]。
再侵入ステージ
[編集]サイバーキルチェーンにはないが、IPAのモデル[50][51]には記載されているステージ。攻撃者は過去の侵入時に構築したコネクトバック通信路を利用し、再侵入してシステム内探索を継続する[114]。このため一度標的になった組織は、一見攻撃が終了したように見えても、コネクトバック通信路が設置されていない事を継続的に監視する事が重要である[114]。標的組織内にコネクトバック通信路が一つでも残っていると再侵入が可能になるので、APTの場合は「対処率99%でも残存リスクは100%のまま」[114]という事になる。
それ以外の攻撃
[編集]主に金銭を目的とした攻撃
[編集]フィッシング関連
[編集]フィッシング(phishing)は口座番号、アカウント情報、カード番号といった、主に金銭に関わる個人情報を奪取するための攻撃[115]。金融機関を装ったりしたフィッシングメールを送りつけ、個人情報を盗むために設置されたフィッシングサイトに誘導する。メールやウェブサイトを利用する点では標的型攻撃と共通するが、目的が個人情報であるため必ずしも企業システムに潜入する必要はなく、ユーザのブラウザ上にある金融機関のcookie等に書かれたID/パスワードを奪取するなどの手口を用いる。SMSメールを利用したフィッシングを特にスミッシングという[115]。
ファーミング(Pharming)はURLとIPアドレスの対応表を攻撃者が不正に書き換えることで、正規サイトのURLにアクセスしたユーザを偽サイトに誘導する攻撃の事である[115]。URLとIPアドレスの対応表を書き換える手段としてはDNSを攻撃する方法(DNSキャッシュポイズニング)と、ユーザがローカルに持っているhostsファイルを書き換えたりする方法がある[115]。
無線LANフィッシングはWiフィッシング(ワイフィッシング)とも呼ばれ、攻撃者が偽の無線LANアクセスポイント(Evil Twinと呼ばれる)を立てる事で、そのアクセスポイントを利用したユーザのID/パスワードを窃取んだり、偽サイトに誘導したりする攻撃である[115]。
QRishingはQRコードフィッシングとも呼ばれ、攻撃者が作成したQRコードを(正規サイトのものと偽って)ユーザに読ませる事により、偽サイトに誘導する攻撃である[115]。本物のQRコードの上に偽のQRコードのシールを貼ってQRishingした事案が知られている[115]。なお短縮URLでも同様の手口を行う事ができる[115]。
ビジネスメール詐欺
[編集]ビジネスメール詐欺(BEC、Business Email Compromise)とは、自社の経営層や取引相手になりすました偽のEメールで経費などの送金を指示する事で金銭をだまし取る詐欺[86][116]。その巧妙な騙しの手口は標的型攻撃に通じるところがある[116]。ビジネスメール詐欺には以下の5つの類型がある[116]:
- 取引先との請求書の偽装[116](偽の請求書詐欺、サプライヤー詐欺、請求書偽装の手口などと呼ばれる[116])
- 経営者等へのなりすまし[116](CEO詐欺、企業幹部詐欺などと呼ばれる[116])
- 窃取メールアカウントの悪用[116](従業員のメールアカウントを窃取して、そのアカウントから取引先にメールを出す手法[116])
- 社外の権威ある第三者へのなりすまし[116](弁護士などになりすまし、緊急の事態だから振り込むように命令する等[116])
- 詐欺の準備行為と思われる情報の詐取[116](人事担当などになりすましてメールし、他の従業員の個人情報などを窃取し、次なる攻撃に利用する[116])
手口としては
- 企業のメールアドレスの@以下とよく似た詐称用ドメインを取得してそこからメールする[117](例:[email protected]→xxx@wikiqedia.com)
- 企業のメールアドレスに似たフリーメールアドレスを使う[117](例:[email protected]→[email protected])
- メールを送る際、多人数にCcしてそこに詐欺用のアドレスを紛れ込ませる事で発覚を遅らせたり本物と錯覚させたりする[117]
といったものがある。なお詐称用ドメインを利用する手法では詐称用ドメインのDNSにSPFを設定してSPFのチェックを通過する攻撃も確認されている[117]。
ワンクリック詐欺
[編集]ワンクリック詐欺はウェブページ上の特定のアダルトサイトや出会い系サイト、勝手に送られた電子メールに記載されているURLなどをクリックすると、「ご入会ありがとうございました。」等の文字やウェブページが契約したことにされて多額の料金の支払を求める詐欺のことをいう。同様の手口でツークリック以上のものやノークリック(=全くクリックしない)ものも存在する[118]。
ワンクリック詐欺のサイトでは、サイトに訪れたユーザのブラウザから環境変数を取得して表示するなどして、あたかもサイト側がユーザ個人を特定できているかのように装い、ユーザを脅迫することがある[118]。(たとえばユーザがスマートフォンからアクセスした場合にユーザの位置情報を表示するなど)[118]。
また詐欺サイトがユーザ端末にワンクリックウェアをインストールし、振込みを行うよう要求する画面を頻繁に表示させるという手口もある[118]。
不正送金ウィルス
[編集]何らかの方法でインターネットバンキングのアカウント情報などを盗んで攻撃者の口座に不正送金を行うウイルスの事[119][120]。例えば以下の手法がある:
- マン・イン・ザ・ブラウザ
- プロキシ型トロイの木馬というマルウェアによってWebブラウザの通信を盗聴、改竄を行う攻撃である。具体例としては、オンラインバンキングへのログインイベントなどを検知するとその通信を乗っ取って、振込先を改ざんして預金を盗む事例などが挙げられる [121][122]。
- クリックジャッキング
- 利用者が開くページのボタン(次ページに進むボタンなど)の上に、透明化したボタン(攻撃者に送金するボタン)を重ねて表示する。ユーザが次ページを表示するつもりでボタンを押すと、送金ボタンが押されてしまい、攻撃者に送金されてしまう。
ランサムウェア、スケアウェア、ローグウェア
[編集]- ランサムウェア
- ユーザのコンピュータやデータを使えない状態にし、再度使えるようにしてほしければ「身代金」(ransom)を支払うようにとユーザを脅迫するマルウェア。
- スケアウェア
- 正当なソフトウェアのふりをしてセキュリティ上の脅威や違法ポルノが発見されたなどという嘘の警告を発し、その解決のためにソフトウェアの代金や個人情報を要求する[123][124]。セキュリティソフトを装っているものはローグウェア(rogueware、偽装セキュリティツール)とも呼ばれる。
DoS攻撃
[編集]DoS攻撃(ドスこうげき)(英:Denial of Service attack)は、情報セキュリティにおける可用性を侵害する攻撃手法のひとつ。 ウェブサービスを稼働しているサーバやネットワーク[要曖昧さ回避]などのリソース(資源)に意図的に過剰な負荷をかけたり脆弱性をついたりする事でサービスを妨害する。
DoS攻撃には2種類の類型があり、第一の類型はウェブサービスに大量のリクエストや巨大なデータを送りつけるなどしてサービスを利用不能にするフラッド攻撃(Flood=「洪水」)であり、第二の類型はサービスの脆弱性を利用する事でサービスに例外処理をさせるなどしてサービスを利用不能にする攻撃である[125][126]。
DoS攻撃の主な目的はサービスの可用性を侵害する事にあり、具体的な被害としては、トラフィックの増大によるネットワークの遅延、サーバやサイトへのアクセス不能といったものがあげられる[127]。しかしDoS攻撃は被害者に経済的ダメージを負わせる事を目的として行われる場合もあり、EDoS攻撃(Economic DoS Attack)と呼ばれる。たとえばクラウド上で従量課金されているサービスにDoS攻撃をしかければサービスの運営者に高額な課金を発生させることができる[128]。
また、「DoSをやめてほしければ金を払え」と脅す目的でDDoS攻撃(後述)が行われることもあり、ランサムDDoSと呼ばれる[129]。
DDoS攻撃
[編集]フラッド型のDoS攻撃には、大量のマシンから1つのサービスに、一斉にDoS攻撃を仕掛けるDDoS攻撃(ディードスこうげき、分散型サービス妨害攻撃、英: Distributed Denial of Service attack)という類型がある。
DDoS攻撃の類型は2つあり、第一のものは攻撃者が大量のマシン(踏み台)を不正に乗っ取った上で、それらのマシンから一斉にDoS攻撃をしかける協調分散型DoS攻撃である。
第二の類型は、DRDoS攻撃(Distributed Reflective Denial of Service attack。DoSリフレクション攻撃、分散反射型DoS攻撃)[130][131]と呼ばれる。DRDoS攻撃では、攻撃者が攻撃対象のマシンになりすまして大量のマシンに何らかのリクエストを一斉に送信する。するとリクエストを受け取ったマシン達は攻撃対象のマシンに向かって一斉に返答を返すことになるので、攻撃対象のマシンには大量の返答が集中し、高負荷がかかることになる[132]。DRDoS攻撃は協調分散型DDoS攻撃と異なりマルウェアなどで踏み台を乗っ取らなくても実行可能なため攻撃C&Cサーバが発覚しづらい。
ボットネット
[編集]ボットネットとはC&Cサーバのコントロール下にあるマシン(ボット)のネットワークで、攻撃者はC&Cサーバから命令を出す事で、ボットネットを様々なサイバー攻撃に利用する[133][134]。ボットによる攻撃にあった被害者は、裏にいるC&Cサーバの情報を直接得る事ができないので、攻撃者を特定するのは困難になる。
攻撃者は1台のC&Cサーバから命令を出すことで多数のボットから同時多発的に攻撃をしかける事ができるので、低い運用コストでDDoS、スキャン、二次感染といった様々なサイバー攻撃の実行が可能になる[133]。
C&Cサーバとボットとの通信には、IRC[135]、HTTP[135]、各種P2P接続[135]などが利用される。特にHTTPはセキュリティに配慮した企業などであっても業務の関係上通信を遮断できないので、攻撃者は企業内のマシンをボット化できる[135]。
ボットネットのネットワーク構造として最も単純なものは、1つのC&Cサーバに全てのボットがぶら下がっているスター型のネットワーク・トポロジーであるが、これだとその1台のC&Cサーバがダウンしたり当局に取り締まられたりするとボットネットが完全に停止してしまう[133]。そこで様々な国に複数のC&Cサーバを立てて多重化する事で各国の取り締りにそなえたり[133]、ボットの下にさらにボットをぶら下げる階層型の構造にしてボットネットの全体像を把握されにくくしたり、P2P通信によるランダムなトポロジーにする事でネットワーク耐性を上げたりする[133]。
Fast Flux手法
[編集]ボットネットのC&Cサーバ等の悪性サイトは、サイトのFQDNに対応するIPアドレスを数分程度で次々と変えていくFast Flux手法(IP Flux手法とも呼ばれる[136])を用いる事で[136][137][138][139][140]、捜査機関等が悪性サイトをテイクダウン(停止)させるのを難しくしている[137]。攻撃者は自身のコントロール下にあるボットのIPアドレスを悪性サイトのFQDNに次々に割り振っていく為、FQDNに割り振られるIPアドレスは数百から数万に及ぶ[136]。C&Cサーバやドライブバイダウンロード攻撃用サイトはFast Flux手法で運営される事が特に多い[136]。
Fast Flux手法はBlind Proxy Redirectionという手法と併用される事が多い[136]。この手法ではFast Fluxで運営されるサイトのは単なるリダイレクトサイト(フロントエンドノードという)であり、リダイレクト先にあるマザーシップノードが真の悪性サイトである[136]。このような構成を取る事により、マザーシップノードのアドレス情報を捜査機関から隠したり、捜査の手が及んだフロントエンドノードを切り捨てたりする事ができる。また悪性サイトのコンテンツを変えたい場合はマザーシップノードだけを変えればよいので運用も容易である[136]。
Fast Flux手法はsingle flux手法とdouble flux手法に分かれる[136][139][140]。single flux手法では攻撃者は何らかの方法を用いて自身の権威DNSサーバを立て、その権威DNSサーバ上で悪性サイトのIPアドレスを(TTLを小さな値にする事で)次々に変えていく手法である。この手法の(攻撃者にとっての)欠点は、攻撃者が立てた権威DNSサーバが単一障害点になっているため、この権威DNSサーバが捜査機関にテイクダウンされると、悪性サイトを運営できなくなってしまう事である[139][140]。
double flux手法は権威DNSサーバもFast Flux手法で運営する事で対策耐性をあげたものである。double flux手法ではボットネット上に権威DNSサーバXを立て、さらにXより上位レベルの権威DNSサーバYを自身で立てる。single flux手法のときと同じく悪性サイトのIPアドレスをX上で次々と変えるのみならず、XのIPアドレスをY上で次々と変える事でXがテイクダウンされる事を防ぐ[140]。なお、double flux手法においてYは単一障害点であるが、捜査機関が調査のため悪性サイトにアクセスしてきても、悪性サイトの名前解決はXで行われるので、捜査機関に直接Yが見える事はなく、Yを特定してテイクダウンするのは難しくなる。
Domain Flux手法
[編集]1つのドメイン名に対して複数のIPアドレスを用意して多重化するFast Flux手法とは逆に、ドメイン名を複数用意して多重化する手法をDomain Flux手法と呼ぶ[141]。この手法を用いる事で、一部のドメイン名が悪性サイトとして対策側にブラックリスト化されても、悪性サイトに別のドメイン名を用いる事でブラックリストをすり抜ける事ができる[141]。
Domain Fluxを行う方法の一つは攻撃者自身が管理するドメイン(仮にexample.comとする)に○○.example.comというFQDNを生成し、○○の部分を短時間で変える、というものである(ドメインワイルドカード)[141]。
Domain Fluxでは疑似乱数を使ってドメイン名を生成する。このためのアルゴリズムをDGA(Domain Generation Algorithm)という[141]。擬似乱数を利用するのは、C&Cサーバとそのコントロール下にあるマシンでドメイン名を同期するためである[141]。C&Cサーバとそのコントロール下にあるマシンで事前に擬似乱数の種を共有しておき、種と時刻情報を利用してドメイン名を生成するようにすれば、両者とも同一時刻には同一のドメイン名を取得できる[141]。
攻撃・ペネトレーションテストで使われる手法やツール
[編集]本節では攻撃やペネトレーションテスト(システムに実際に攻撃をしかけてみる診断。詳細後述)で使われる手法やツールについて述べる。
ペネトレーションテスト用OS
[編集]ペネトレーションテスト用のLinuxディストリビューションとして、Kali Linux、Parrot Security OS、BackBoxなどがあり、前者2つはDebianベース、最後のものはUbuntuベースである。これらのディストリビューションにはペネトレーションテスト用の各種ツールがプレインストールされている。
意図的に脆弱に作られたツール
[編集]ペネトレーションテストの練習用として、意図的に脆弱に作られたツールが公開されている:
- Metasploitable:意図的に脆弱性が残されたLinuxディストリビューションのバーチャルマシン。
- OWASP BWA (Broken Web Applications):意図的に脆弱性が残されたウェブアプリケーションを詰め込んだバーチャルマシン
- OWASP Mutillidae:BWAに梱包されている脆弱なウェブアプリケーションの一つ
他にもBadstore、BodgeIt Store、amn Vulnerable Web Application (DVWA)、OWASP Bricks、WASP WebGoatb、WAPP、moth、Gruyere
Magical Code Injection Rainbow (MCIR)などがある。
攻撃対象の情報収集
[編集]スキャナ
[編集]攻撃者は標的組織を偵察する際や、侵入後に横断的侵害を行う際、スキャンを行うことで、標的組織のネットワークの情報を得る。スキャンはホストスキャンとポートスキャンに大別でき[142]、前者はネットワーク上にあるホストのIPアドレス等を行うために行われ、後者はホスト上で空いているポート番号を知るために行われる[142]。ホストスキャンにはICMPプロトコルを利用したツールであるpingやtracerouteが用いられ、ポートスキャンには例えばnmapのようなツールが用いられる。
nmapは単にホスト上の空いているポート番号を特定するのみならず、ホストに送ったパケットに対する返答のフォーマット等の情報から、ホストで動いているOS、サービス、およびそれらのバージョン番号などを特定する機能も備えており[142][143][144]、これらは攻撃者にとって有益な情報となる。この手法で動作しているアプリケーションを特定する事をバナーチェック、OSの種類やバージョンを特定することをTCP/IP スタックフィンガープリンティングという[145]。
他にも下記のようなツールがある:
- SING(Send ICMP Nasty Garbage) [146]、ICMPScan[146]:nmapのようにICMPをプロービングするツール[146]
- Amap:アプリケーションのフットプリンティングを行うツール[147][148]。通常とは違う場所で動作しているアプリケーションをも特定可能である[147][148]。
- httprint:Webサーバのフィンガープリンティングツール[149][150]
スニッファ
[編集]スニッファとはネットワーク上を流れるパケットを監視したり記録したりするツールの事で[153]パケット・スニッファとも呼ばれる[153]。攻撃目的ではなくセキュリティ目的で用いられる同種のツールをパケットアナライザ等と呼ぶが[153]、広義にはパケットアナライザもスニッファに含める[153]。フリーなものではWireshark、tcpdumpなどがある。
ソーシャル・エンジニアリング
[編集]ソーシャル・エンジニアリングとは人間の心理的な隙や行動のミスなど「人」をターゲットにして機密情報を窃取する攻撃全般を指す[154][155][156]。手法としては例えば下記のものがある:
- システム管理者や警察などになりすましてメールないし電話する事で個人情報等を聞き出す[155][156]
- ショルダーハッキング(Shoulder surfing):PCを操作しているユーザの肩越しにパスワード等を盗み見る[155][156]
- トラッシング:ゴミ箱に捨てられた紙媒体や記憶媒体から機密情報を得る[155][156]。スカベンジング[154]、スカビンジングとも[156]
パスワードクラッキング
[編集]パスワードクラッキングとは、総当たり攻撃や辞書攻撃等の何らかの方法でパスワードを割り出す攻撃方法であり、推定したユーザID/パスワードでログイン試行を行うオンライン攻撃と何らかの方法で入手したパスワードハッシュ(パスワードのハッシュ値)などからローカルにパスワードを推測するオフライン攻撃とに大別される[157]。オフライン攻撃の対象となるパスワードハッシュはWindowsのSAMファイル、Linuxの/etc/shadowファイルなどにあるものを利用する[158]。またパスワードで保護されたOfficeファイル等も攻撃対象となる[158]。
著名なオンライン攻撃ツールとしては、Bruter(Windows環境)[159][160]、ncrack(マルチプラットフォーム)[161][160]、TCP-hydra[162][163]がある。著名なオフライン攻撃ツールにはJohn the Ripper[158]、RainbowCrack[164](レインボーテーブルを用いてハッシュを解析する)、ophcrack[165]がある。
またWindowsのSAMファイルからパスワードハッシュを取得するツールとしてPwDumpがある[166]。
パスワードリスト攻撃
[編集]この節の加筆が望まれています。 |
Pass the hash攻撃
[編集]この節の加筆が望まれています。 |
Metasploit
[編集]Metasploit Framework、あるいは単にMetasploitとは、エクスプロイトコードの作成、実行を行うためのフレームワークソフトウエアである[167]。Metasploitには様々なエクスプロイトコードが収録されており、アップデートを実行する事で新たなエクスプロイトコードを手に入れたり[168]、Exploit Databaseのようなエクスプロイト配信サイトからエクスプロイト(とそのエクスプロイトを適用できる脆弱なソフト)をダウンロードして用いたりできる[169]。
脆弱性検査ツール
[編集]w3af、Nessus、OWASP ZAP、OpenVASなどがある。
この節の加筆が望まれています。 |
横断的侵害を行うためのツール
[編集]ネットワークに侵入して横断的侵害を行う攻撃の手口の典型的パターンは
- ipconfigやsysteminfoといったWindows標準コマンドで侵入した端末の情報を収集[170]
- net等のツールでネットワーク上の他の端末の情報、ドメイン情報、アカウント情報等を収集し、次に侵入する端末を選ぶ[170]
- mimikatzやPwDump等のパスワードやそのハッシュ値をダンプするツールで次に侵入する端末のユーザーのパスワード情報を入手[170]
- netやat等のツールを駆使して他の端末に侵入[170]
というものである。
またプロキシやリダイレクタを使ってファイヤーウォールを突破する事で、侵入した端末からC&Cサーバや組織内の別の端末との通信経路を確立する[171]。その他ファイル圧縮ツールやステガノグラフィーツールもデータ内容を隠蔽して送信する目的で使われる[171]。
その他・複数機能を持つツール
[編集]- netcatは正規のネットワークユーティリティで、「接続モードでは、任意のサーバ、ポートを指定し接続を行うことができ、telnetのように対話的に使用したり、ポートスキャナとして使用することもできる。待ち受けモードでは、任意のポートをで待ち受けを行い、接続してきたクライアントと対話することができる」[172]。バックドアのように使用する事も可能である[173]。
- LanSpy:ネットワークディスカバリーツール、ポートスキャナ[174][175]
- tcptraceroute、tracetcp:ICMPの代わりにTCPレイヤでtracerouteを行う[176]
- SMTP Relay Scanner:SMTPの不正中継調査[177]
- snmpcheck、snmpwalk、SNScan:SNMPデバイスのディスカバリーツール[178][179]
- SiteDigger、metagoofil:Googleハッキングツール[180][181]
- dig:DNSへの問い合わせツール[182]
- tcpdump、Wireshark:パケットモニタリングツール[183]
- Cain and Abel:パスワードクラッキング、スニッファ、VOIPキャプチャ、RTPストリームリプレイ
- MSN Protocol Analyzer:MSN Messengerのキャプチャ・プロトコルアナライザ[184]
- hping:パケットジェネレータ、パケットキャプチャ・アナライザ。パケットジェネレータ機能はファイアウォールのテストなどに利用可能。
攻撃・ペネトレーションテストに利用できるサイト
[編集]以下のものがある:
類別 | サイト | 概要 |
---|---|---|
マルウェア検体の調査 | Threat Crowd | 過去のマルウェア情報や関連情報の確認が可能[185] |
Passive Total | 同上。WHOIS履歴の参照も可能[185] | |
Virus Total | ファイルやウェブサイトの検査が可能[185] | |
インターネット接続機器の検索 | SHODAN | ウェブサーバやIoT機器など、インターネットに接続している機器を調査可能[186] |
Censys | 同上[186] | |
脆弱性チェック | QUALYS SSL Server Test | SSLサーバの脆弱性や設定のチェック[186] |
エクスプロイト集 | Exploit Databsae | エクスプロイト集 |
Googleハッキング | Google Hacking Database | 「パスワードや機密情報を探し出すGoogle検索ワードがカテゴリーごとに、集約されている」[187] |
流出情報共有 | Pastebin | 元来は情報共有サイトだが、個人情報や機密情報の投稿にも用いられている[188] |
Dumpmonitor | Pastebinに載った流出情報をつぶやくtwitterアカウント[189] | |
脆弱性情報検索 | PunkSPIDER | 脆弱なウェブサイトとそのサイトの脆弱性を検索[190] |
SHODANとCensys
[編集]ウェブサーバやIoT機器など、インターネットに接続している機器を調査できるウェブサービスとして、SHODAN[191]やCensys[192]などがある[186][193][194]。SHODANはポートスキャンにより接続している機器を特定し、特定した機器に対してバナーチェックを行う事により、機器の情報を得ている[195]。SHODANの利用者が例えば東京にあるApacheサーバの一覧を得たければ、SHODANに「apatch city:Tokyo」と打ち込んで検索する事ができる[196]。また、SHODAN MAPSの機能により、検索した機器の位置を地図上に表示可能である[197]。
バナー情報により、検索結果には製品名やバージョン等もわかるため、攻撃者はこれを利用して脆弱性が適用可能な機器を見つける事ができる。なお、SHODANを使うには事前にユーザ登録が必要であり[198]、基本無料であるものの全機能を使うには低額の利用料を支払う必要がある[199]。
CensysはZmapというネットワークスキャナでIPv4のインターネット空間をスキャンして情報を収集し、ZGrabというプロトコル解析ライブラリにより収集したデータを構造化データに加工する[200]。なお、ZmapがIPv4のアドレス空間全てをスキャンするのにかかる時間は45分に過ぎない[200]。
Censysは無料で利用でき[193]、ユーザ登録は必須ではないが、登録していないユーザは1日4回までしか検索できない[193]。Censysはミシガン大学の研究者らが公開したものである[193]。
ツール一覧
[編集]攻撃に利用可能なツール、コマンド、脆弱性として下記のものがある。なお、下記の表にはRDPのように、本来は攻撃ツールではないものの攻撃用にも利用できるものもリストアップされている。
分類 | ツール・コマンド・脆弱性の例[201] | |
---|---|---|
コマンド実行[201] | リモートでのコマンド実行[202] | PsExec PsExec2 wmiexec.vbs BeginX WinRM WinRS BITS[201][202] |
任意のタイミングでコマンド実行[202] | schtasks2[202] | |
パスワード、ハッシュの入手[201] | PWDump7 PWDumpX Quarks PwDump Mimikatz(パスワードハッシュ入手 lsadump::sam、 sekurlsa::logonpasswords、チケット入手 sekurlsa::tickets) WCE gsecdump lslsass AceHash Find-GPOPasswords.ps1 Get-GPPPassword (PowerSploit) Invoke-Mimikatz (PowerSploit) Out-Minidump (PowerSploit) PowerMemory (RWMC Tool) WebBrowserPassView[201] | |
Pass-the-hash Pass-the-ticket[201] | WCE (リモートログイン) Mimikatz (リモートログイン)[201] | |
通信の不正中継 | Htran Fake wpad[201] ZXProxy ZXPortMap[171] | |
リモートログイン[201] | RDP[201] | |
権限昇格・窃取 | 権限昇格[201] | MS14-058 Exploit MS15-078 Exploit SDB UAC Bypass[201] |
ドメイン管理者権限アカウントの窃取[201] | MS14-068 Exploit Golden Ticket (Mimikatz) Silver Ticket (Mimikatz)[201] | |
ホストログインしたりするための[202]ローカルユーザー・グループの追加・削除[201] | net user[201] | |
共有ポイント経由での攻撃ツール送信やファイルサーバーからの情報取のための[202]ファイル共有ツール[201] | net use[201] | |
痕跡の削除[201] | 攻撃に利用したファイルの復元できない削除[202] | sdelete[201][202] |
タイムスタンプ修正によるファイルアクセスの隠蔽[202] | timestomp [201][202] | |
攻撃に使ったKerberosチケットのホストからの削除[202] | klist purge[201][202] | |
攻撃関連のイベントログの削除[202] | wevtutil[201][202] | |
情報収集[201] | パスワード解析の為NTDS.DIT(NTDSのデータベース)を抽出[202] | ntdsutil vssadmin [201][202] |
攻撃対象選定等のためActive Directoryからアカウント情報を収集[202] | csvde ldifde dsquery[201][202] | |
攻撃に利用可能なドメインコントローラーの問題を調査[202] | dcdiag[201][202] | |
ホストが所属するドメインコントローラーの情報を取得[202] | nltest[201][202] | |
ネットワーク内のホストの列挙、接続可能なポートの調査等[202] | nmap[201][202] | |
APIやアプリの出すデバッグ情報を取得[171] | dbgview[171] |
攻撃への対策のフレームワークや考え方
[編集]サイバーセキュリティフレームワーク
[編集]NIST(アメリカ国立標準技術研究所)のサイバーセキュリティフレームワーク(正式名称:重要インフラのサイバーセキュリティを向上させるためのフレームワーク)によれば、重要インフラのサイバーセキュリティ対策は以下の5つのフェーズに分類できる[203]:
具体例[203] | 担当する組織[204] | |||
---|---|---|---|---|
特定 | 資産管理、ビジネス環境、ガバナンス リスクアセスメント、リスク管理戦略 | リスク管理部門 | 活動範囲の広い | |
防御 | アクセス制御、意識向上およびトレーニング、データセキュリティ、情報を保護するためのプロセスおよび手順、保守、保護技術 | - | (2018年現在から見た)従来型のIT管理部門 | |
検知 | 異常とイベント、セキュリティの継続的なモニタリング、検知プロセス | いわゆるSOC、CSIRT | ||
対応 | 対応計画の作成、伝達、分析、低減、改善 | 危機管理部門 | ||
復旧 | 復旧計画の作成、改善、伝達 | - |
上の表でSOC、CSIRTはセキュリティ対応のための組織である。両者の役割分担や関係性、業務内容等は企業毎に異なるが[205]、概ねSOCは「平時」の分析運用を行い[206]、CSIRTは「有事」のインシデント対応を行う[207]。
このフレームワークは、それ以前の類似のフレームワークと比較した場合、攻撃が行われた後の検知、対策、復旧のフェーズの重要性を明確化した事と[208][209]、各フェーズの習熟度について言及した事に特徴がある[208]。
このフレームワークでは「ガバナンスのサイクル」と「マネジメントのサイクル」を回すことがサイバーセキュリティ対策で重要だと主張している[210]。
またおなじNISTが発行したSP800-61「コンピュータセキュリティ・インシデント対応ガイド」ではインシデント対応プロセスは、準備、検知および分析、封じ込めおよび根絶、インシデント後の活動の4段階に分類されるとしている[210]。
以下、サイバーセキュリティフレームワークの各フェーズを説明するが、一部JPCERT/CCの文献を元に加筆した。
特定
[編集]サイバーセキュリティ対策をする上で基本となるのは、守るべき資産を特定し[203]、各資産のリスクを把握することである。
組織の置かれた状況の特定
[編集]産業分野やサプライチェーンにおける自社の位置づけ[211]、重要サービスを提供する上での依存関係と重要な機能等を把握し[211]、自組織のミッション、目標、活動に関する優先順位を決め[211]、伝達する必要がある[211]。JPCERT/CCは、守るべき資産を特定する前準備として、組織のプロファイルを作成することを推奨している[212]。このプロファイルには規模[212]や提供製品[212]のような基本的事項のみならず、システムダウンの影響度合い[212]や規制のレベル[212]などリスクアセスメントに必要となる情報も含める。また、組織のサイバーセキュリティ防御能力に関する文書を作成する[212]。
またセキュリティに関する法規制を把握し[211]、自組織の情報セキュリティポリシーを定め[211]、セキュリティに関する役割と責任について内外のパートナーと調整や連携を行う[211]。さらにガバナンスやリスク管理のプロセスをサイバーセキュリティリスクに対応させる[211]。
守るべき資産とそのリスクの特定
[編集]自組織内の物理デバイス、システム、ソフトウェアプラットフォーム、アプリケーション、外部情報システムといったリソースの一覧を作成し[211]、ネットワークの通信やデータフローを図示し[211]、これらのリソースやデータのうち、守らなければならないものとその理由、およびそれが抱える脆弱性を特定する[211][212][213]。この際、ビジネスに対する潜在的な影響とその可能性も特定する[203][212]。そしてそれら守るべき対象を守れなかった場合に発生するリスクを、脅威、脆弱性、可能性、影響等を考慮して分析し[212][211]、リスクに対処するためのコストや[212]リスクが顕在化した場合の減損[212]、対処後の残存リスク[212]を特定し、自組織の役割、事業分野等を考慮してリスク許容度を明確化する[211]。そしてビジネス上の価値に基づいてこれらのリソースやデータを優先度付けをする[203]。さらに自組織の従業員や利害関係者に対し、サイバーセキュリティ上の役割と責任を定める[211]。リスク管理のプロセスを自組織の利害関係者で確立、管理、承認する必要がある[211]。
なお、保有資産の特定にはIT資産インベントリ検出ツールが利用でき[212]、未登録機器の発見にはDHCPサーバのロギング機能等が利用できる[212]。またアクセス監視の際、資産リストと突合する事で、承認されたデバイスのみがネットワークに接続されている事を確認できる[212]
なおリスク分析の際にはどのようなタイプの攻撃者が自組織が属する業界を攻撃するのかを事前に特定しておくのが望ましい[213]。
防御
[編集]脆弱性管理による防御
[編集]脆弱性管理計画の作成・実施を行い[214]、脅威と脆弱性に関する情報を入手する必要がある[211]。JPCERT/CCによれば、脆弱性スキャン[215]はセキュリティ設定共通化手順「SCAP」のチェックリストにより検証済みのスキャナを用いて[216]、毎週ないしそれ以上の頻度で行う必要がある[216]。これによりコードベース・構成ベース方法の脆弱性を検出する事が可能である[216]。攻撃検知のイベントログと脆弱性スキャン結果を突合することで、どの脆弱性が標的にされたのかを判別できる[216]。アプリケーション、OS双方に対し自動パッチ適用ツールを用いる事が望ましい[217]。
ID管理とアクセス制御による防御
[編集]自組織の全ての従業員のIDに対してアクセス制御リスト(ACL)を定義し[212]、ACLに従って従業員の資産や関連施設への物理アクセス[214]やリモートアクセス[214]、データへのアクセス[212]を制限する。ACLは定期的に棚卸し[212]、人事の異動、追加、削減に際してアクセス権限の無効化[214]や従業員の審査[214]を行う。従業員等にシステムや資産に対する権限を与える場合には、最小権限の原則に従う[214]。
システム開発時の防御
[編集]システムの開発ライフサイクル[214]や設定変更[214]を管理する。また開発の際には開発環境やテスト環境を実環境と分離することで情報漏えい等を防ぐ[214]。
意識向上やトレーニングによる防御
[編集]全てのユーザをトレーニングし[214][218]、権限ユーザ[214]、上級役員[214]、利害関係者[214]、 物理および情報セキュリティ担当者[214]にポリシー、手順、契約に基づいた[214]役割と責任を理解させる必要がある[214]。またAPTなどの攻撃に対する演習を事前に行っておく必要がある[218]。
データの防御
[編集]自組織のリスク戦略に従って[214]、保存されたデータや伝送中のデータの機密性、完全性、可用性を保証する[214]。データの可用性の保証に関しては十分な容量を確保し[214]、機密性に関しては漏洩対策を実施し[214]、完全性に関しては何らかの完全性チェックメカニズムを導入する[214]。データは定期的にバックアップ・テストする[214]。またデータはポリシーに従って破壊し[214]、資産の撤去、譲渡、廃棄も管理する[214]。
なお情報はその機微度に応じて「高、中、低」等の格付けを事前に実施し[213]、自組織を狙う可能性がある攻撃者がどのような情報に関心を示すのかを特定しておく[213]事が望ましい。
保守運用作業における防御
[編集]システムのベースラインを設定・維持する必要がある[214]。保守と修理はポリシーや定められた手順に従って実施する[214]。重要な資産を保護するプロセスを定め[213]、重要なシステムに対して適用可能なセキュリティ管理策を全て実施していることを確認する[213]。保守や修理の際は、管理されたツールを用いてタイムリーに行い[214]、ログを記録する[214]。特に遠隔保守の際には、承認[214]、ログの記録[214]、不正アクセス防止を行う必要がある。監査記録やログの対象をポリシーに従って決め[214]、取得した監査記録やログをレビューする[214]。ログデータは、DNS[219]、プロキシ[219]、ファイアウォール[219]など重要機器に対して取得し、時刻はNTPにより同期する[219]。事前にセキュリティを強化し、構成管理を厳密に行ったOS等のイメージを作成しておき、従業員のPCや新規導入システムにはこのイメージをインストールする[217]。
ネットワークのセキュリティ構成は、変更管理委員会によって文書化、確認、承認を行う[217]。
その他の防御方法
[編集]セキュリティポリシー、プロセス、手順を維持し[214]、資産の物理的な運用環境に関するポリシーと規制を満たすようにする[214]。また保護プロセスを継続的に改善する必要がある[214]。
インシデント対応[214]、事業継続[214]、インシデントや災害からの復旧計画[214]の実施・管理・テストを行う[214]。保護に使う技術の有効性の情報共有を行う[214]。
取外し可能な外部記憶媒体はポリシーに従って保護したり、使用を制限したりする[214]。
またJPCERT/CCによれば下記を行う事が望ましい:
- 自組織のセキュリティ方針やセキュリティ計画に情報システム・重要データが扱う必要がある[213]。
- 自組織のネットワーク境界の外部および内部からペネトレーションテストを定期的に実行する必要がある[216]。ペネトレーションテストに用いるアカウントはコントロール・モニタリングし[216]、テスト終了後に除去するか通常機能に戻ることを確認する[216]。
- システムで使うソフトウェアが限定されている場合には、実行可能なソフトウェアのホワイトリストを作り[212]、そうでない場合は利用して良いソフトウェアとそのバーションを定めて無許可のソフトを検知できるようにする事でリスクを低減できる[212]。利用して良いソフトウェアが改竄されるリスクを低減する為、ファイル完全性チェックツールでモニタする事が望ましい[212][214]。
検知
[編集]検知を行う前提条件として、ネットワーク運用のベースラインを定め[215]、データフローを特定・管理する[215]。そしてセキュリティイベントを検知できるよう[215]、ネットワーク[215]、物理環境[215]、個人の活動[215]、権限のない従業員・接続・デバイス・ソフト[215]、外部サービスプロバイダの活動[215]等をモニタリングし[215]、マルウェア対策ソフトなどで悪質なコード、特にモバイルコードを検出できるようにする[215]。
そしてイベントログを複数の情報源やセンサーから収集し、SIEMなどで一元管理して[219]、相互に関連付け[219]、検知したイベントを分析し[219]、その影響範囲を特定する[219]。また事前に定めたしきい値に従って[215]、検知したイベントをインシデントとみなすかどうかを判断する[215]。
検知プロセスはテストし、継続的に改善する必要がある[215]。また説明責任が果たせるようにする必要がある[215]。
対応
[編集]CSIRTの主たる担当業務である[204][207]。検知フェーズで発見したセキュリティイベントにタイムリーに対応できるよう対応計画を事前に定めておき[220]、法執行機関の支援が得られるよう情報共有や利害調整を行う[220]。そして対応計画にしたがってインシデント分類し[220]、フォレンジックを行うなどして[220]セキュリティイベントを調査し[220]、その影響範囲を把握し[220]、事前に定めた基準に従ってインシデントの封じ込めないし低減を行う[220]。インシデント対応の結果学んだ教訓を生かして対応計画を更新する[220]。
復旧
[編集]タイムリーに復旧できるよう事前に復旧手順を定め[221]、復旧の際にはその計画を実施する[221]。システムの復旧を行うのみならず、広報活動を管理するなどして評判回復に努める[221]。対応フェーズと同様、教訓を生かして復旧計画の更新も行う[221]。
開発ライフサイクルにおけるセキュリティ確保
[編集]システムの安全性を確実に担保するにはシステム開発ライフサイクルの初期段階からセーフティ、セキュリティ、プライバシーなどを考慮しておくことが望ましい。開発プロセスのより早い段階でセキュリティを考慮する事を(開発プロセスを左から右に書いたときにセキュリティを考慮するのを左に寄せる事から)シフトレフトという[222][223][224]。特に、情報セキュリティを企画・設計段階から確保するための方策をセキュリティ・バイ・デザイン(Secure By Design、SBD)といい[225][226]、プライバシーに対する同様の概念をプライバシー・バイ・デザインという。
またDevOps(デブオプス[227]、開発 (Development) の担当者と運用 (Operations) の担当者が一体となった開発手法[227])の普及に伴い、これにセキュリティの確保も一体になった開発手法であるDevSecOps[228][229]も注目を集めるようになっている。DevSecOpsでは設計段階からセキュリティを意識することはもちろん、セキュリティ対策ツールを開発ライフサイクルに組み込むなどして脆弱性診断を自動化し、アプリケーションを修正するたびに脆弱性を作り込まないようチェックし[229]、利用しているライブラリの脆弱性を日々チェックするような活動も含む[229]。
カオスエンジニアリング
[編集]この節の加筆が望まれています。 |
サプライチェーンにおけるセキュリティ確保
[編集]システム開発ではその工程の一部を外注する事も多いため、サプライチェーン全てでセキュリティを担保する事が重要となる。このような調達時の脅威に対応する事をサプライチェーンチェーンリスクマネジメント(Supply Chain Risk Management、SCRM)という[230][231]。ISO/IEC 27036ではアウトソーシングの際のセキュリティのガイドラインが規定されている[230]。米国ではNIST SP800-161やNIST IR 7622にSCRMの規定がある[230]。またISO/IEC 20243には不良品や偽造品を排除するためのベストプラクティス等が規定されている[230]。
また事業継続計画(BMC)の観点からもサプライチェーンの継続を図ることも重要であり、SCCM(Supply Chain Continuity Management)と呼ばれ、ISO 22318に規定されている[230]。なお災害復旧とサプライチェーンマネジメントをあわせてSCDRM(Supply Chain Disaster Recovery Management)と呼ぶ[230]。
多層防御
[編集]多層防御とは、様々な階層で複数のセキュリティ対策を施す事で、重要部への侵入前に攻撃の検知および対応を行う事で[232][233]、軍事・戦闘の世界のDefense in Depth (縦深防御) を応用したものである[234]。複数の防御壁を設けて、一つの壁を突破されても次の壁で阻止して、機密情報に到達されてしまう確率を下げる事を目的とする[234]。
多層防御の手法として以下で述べる入口対策、内部対策、出口対策の3つを取り入れる組織内対策や[235][236]、複数組織をまたがった攻撃連鎖を上流で断つ国レベルでの対策[236]などがある。
入口対策、内部対策、出口対策
[編集]入口対策はファイアウォール、ウイルス対策ソフト、脆弱性対策など、攻撃者やマルウェアが組織内に侵入するのを防ぐ対策手法で[237][238]標的型攻撃やAPTが普及する以前は有効であった。しかし標的型攻撃やAPTでは組織に侵入する方法が巧妙化しており[239]、しかも侵入方法の変化が激しいので[239]、入口対策だけで攻撃を防御するのは難しい[239][240]。そこで、攻撃者が組織内部に侵入しているのを前提として、組織の内部対策を行う事より侵入の拡大を防ぎ[238]、攻撃の外向き通信を遮断・監視する[238]出口対策により組織からの情報の持ち出し[237]やC&Cサーバとの通信を防ぐ必要がある。
サイバーレジリエンス
[編集]サイバーレジリエンスは攻撃を受けてしまう事を前提として、攻撃を受けた際に、どのように組織の機能を維持し、いかにすばやく対処・復旧するかという回復力(レジリエンス)を高めるべきという考え方である[241][242]。 世界経済フォーラムによる「グローバルリスク2013」を契機として「レジリエンス」という用語がビジネス等で使われるようになり、それと時期を同じくしてサイバーレジリエンスという用語も広まった[243]。なお「レジリエンス」という用語はISO22300では「複雑かつ変化する環境下での組織の適応能力」と定義されている[243]。
セキュアなネットワーク構成
[編集]非武装地帯 (DMZ)
[編集]非武装地帯(DMZ、DeMilitarized Zone)はメールサーバ、ウェブサーバ、DNSコンテンツサーバ、Proxyサーバといった、組織内、インターネット双方とアクセスする必要があるサーバ群を置いておくためのネットワーク領域で、組織内ネットワーク・インターネット・DMZの3つの領域間の通信をファイアウォールで制限する。ウェブサーバ等をDMZではなく組織内ネットワークに設置すると、ウェブサーバが用いるポートを開けて置かなければならない為、そのポートを利用してインターネットから組織内に攻撃を行う事が可能になってしまう。これを防ぐためにウェブサーバ等をDMZに設置する。
マイクロセグメンテーション
[編集]ネットワークを細かくセグメント分けする事[244]。マイクロセグメンテーションにより、セグメントをまたいだラテラルムーブメントやウィルスの二次感染を防ぐ事ができる[244][245]。実現手法としてh、スイッチングハブの各ポートにそれぞれ1台の機器を接続するというものがある[244]。また仮想マシン(ないし仮想デスクトップ)の場合は各仮想マシンに仮想ファイヤーウォールを立てる事で、同一ネットワーク上にある仮想マシンであっても、仮想マシン一台で一つのセグメントを構成できる[244][245]。
ゼロトラスト
[編集]ゼロトラストはForrester ResearchのアナリストJohn Kindervag(ジョン・キンダーバグ[246])により提唱された概念である[247]。従来のセキュリティ対策ではネットワークの境界で攻撃の遮断が可能であり[248]、境界内は信頼できる事を前提としていたが、標的型攻撃や内部犯行の広がりによりこうした前提は崩れており[75]、攻撃者が内部に侵入してくるのを前提とした対策が必要となる[238][248]。
それに対しゼロトラストは従来型のセキュリティ対策よりも「性悪説」に基づいており[249]、組織内ネットワークであっても、ユーザがデータやリソースにアクセスする際、ユーザが利用しているデバイスの信頼性とユーザ自身の信頼性とを動的に評価してデータやリソースへのアクセス認可を行う[248]。一般的にはゼロトラストネットワークはユーザ関連情報を管理する ID プロバイダ、リソースにアクセスできるデバイスのリストを管理するデバイス ディレクトリ、管理者が設定したポリシーにユーザとデバイスが適合しているかを判断するポリシー評価サービス、リソースへのアクセス制御を行うプロキシから構成され[248]、ゼロトラストネットワークのプロキシはユーザとリソースの間に置かれ、ユーザはプロキシでアクセス認可を受けた場合のみがデータやリソースにアクセスできる[248]。
アクティブディフェンス
[編集]アクティブディフェンス(Active defense、能動的防御[250])は、実際の攻撃に先んじて脆弱性や攻撃方法を発見して予防策を積極的に構築する取り組みの事[251]。攻撃者が防御技術を研究して回避・無効化する事で[251]、対応が後手に回って攻撃側に主導権を握られるのを防ぐ[252]。
アクティブディフェンスの基本的手法としては以下のものがある[253]:
- アノイヤンス(Annoyance):攻撃の労力を増加させる事[253]。デコイサーバや偽のDNSエントリなど各種デセプション技術で攻撃者を騙し、時間を稼ぐ等[253]。
- アトリビューション(Attribution):攻撃者の属性(Attribution)を明らかにする事[253]。攻撃されそうなサーバやファイルにウェブビーコンやマクロ等を仕込んで攻撃者のIPアドレスや位置情報を取得する等[253]。
- アタックバック(Attack Back):攻撃者に攻撃し返す事[253]。
なおアタックバックはアクティブディフェンスに含まないとする意見もある[252]。
フリーのアクティブディフェンスツールとしては、ADHD(active defence harbindger distribution)[254][255]、Artillery[255]、Nova (Network Obfuscation and Virtualized Anti-Reconnaissance)[255]、BearTrap[256]、Decloak[256]、Honey Badger[256]などがある。
Moving Target Defense
[編集]アクティブディフェンスの手法の一つ。これまでのセキュリティ対策では、静的なシステムに検知技術や防御技術を導入することでセキュリティを担保していたが、それに対しMoving Target Defense (MTD)は、守るべきシステムの構成、特にネットワークを動的に変更する事で、攻撃者がシステム内を探索したりシステム構成を予測したりするのを難しくする手法である[257][258][259]。従来のセキュリティ対策では、攻撃側がシステムを熟知しているのに対策側は攻撃者に関して断片的にしか知りえないという非対称ゆえの不利が対策側にあったが、MTDはこの種の不利を攻撃者にも背負わせようというアイデアである[257]。
優先的に対策すべき箇所
[編集]優先的に対策すべき場所を示したガイドラインとして下記のものがある:
名称 | 概要 |
---|---|
CISコントロール | Center for Internet Securityが「最も危険な脅威からのリスクを最大限に減らす」ための評価項目(コントロール)を上位20項目をあげたもの[260]。2018年現在の最新版はVersion 7で、Version 6までは「CIS Critical Security Controls」(CIS CSC)と呼ばれていた[261][262]。Tripwireによれば、Version 6の20の評価項目のうち最初の6つを利用するだけで85%の攻撃を防ぐことができ、20個全てを利用すれば、97%超の攻撃を防げるという[263]。 |
OWASP Top 10 | OWASP(ウェブアプリケーションセキュリティに関する国際的なオープンコミュニティ[264])が作成した、ウェブアプリケーションにおける重要な脆弱性10項目とその脆弱性を作りこまないようにする方法とを記した資料[265]。 |
Strategies to Mitigate Cyber Security Incidents | オーストラリアサイバーセキュリティセンター(Australian Cyber Security Centre:ACSC。元はAustralian Signals Directorate(ASD)が作成していたものを引き継いだ)が提唱する重要項目[266]。 |
CISコントロール
[編集]2018年現在の最新版であるVersion 7の20個の評価項目は以下の通りである[263][267]:
分類 | 番号 | 評価項目 | 評価項目(和訳) |
---|---|---|---|
Basic | 1 | Inventory and Control of Hardware Assets | ハードウェア資産の目録作成とコントロール |
2 | Inventory and Control of Software Assets | ソフトウェア資産の目録作成とコントロール | |
3 | Continuous Vulnerability Management | 継続的な脆弱性管理 | |
4 | Controlled Use of Administrative Privileges | 管理権限のコントロールされた利用 | |
5 | Secure Configuration for Hardware and Software on Mobile Devices, Laptops, Workstations and Servers | モバイルデバイス、ラップトップ、ワークステーションおよびサーバにおけるハードウェアとソフトウェアのセキュアな設定 | |
6 | Maintenance, Monitoring and Analysis of Audit Logs | 監査ログのメンテナンス、モニタリング、解析 | |
Foundational | 7 | Email and Web Browser Protections | eメールとウェブブラウザの保護 |
8 | Malware Defenses | マルウェア対策 | |
9 | Limitation and Control of Network Ports, Protocols and Services | ネットワークポート、プロトコル、およびサービスの制限とコントロール | |
10 | Data Recovery Capabilities | データ復旧能力 | |
11 | Secure Configuration for Network Devices, such as Firewalls, Routers and Switches | ファイヤーウォール、ルータ、スイッチといったネットワークデバイスのセキュアな設定 | |
12 | Boundary Defense | 境界防御 | |
13 | Data Protection | データ保護 | |
14 | Controlled Access Based on the Need to Know | 「Need to Know」原則に基づいてコントロールされたアクセス | |
15 | Wireless Access Control | ワイヤレスネットワークのコントロール | |
16 | Account Monitoring and Control | アカウントのモニタリングとコントロール | |
Organizational | 17 | Implement a Security Awareness and Training Program | セキュリティの意識向上とトレーニングプログラムの実施 |
18 | Application Software Security | アプリケーションソフトウェアのセキュリティ | |
19 | Incident Response and Management | インシデントへの対応とマネージメント | |
20 | Penetration Tests and Red Team Exercises | ペネトレーションテストとレッドチーム演習 |
OWASP Top 10
[編集]2017年度版の10項目は下記のとおりである[268]:
番号 | 項目 |
---|---|
A1:2017 | インジェクション |
A2:2017 | 認証の不備 |
A3:2017 | 機微な情報の露出 |
A4:2017 | XML外部エンティティ参照(XXE) |
A5:2017 | アクセス制御の不備 |
A6:2017 | 不適切なセキュリティ設定 |
A7:2017 | クロスサイトスクリプティング(XSS) |
A8:2017 | 安全でないデシリアライゼーション |
A9:2017 | 既知の脆弱性のあるコンポーネントの使用 |
A10:2017 | 不十分なロギングとモニタリング |
Strategies to Mitigate Cyber Security Incidents
[編集]2018年現在は下記8項目[266]:
項目 | 項目(和訳) |
---|---|
application whitelisting | アプリケーションのホワイトリスト化 |
patching applications | アプリケーションへのパッチ適用 |
configuring Microsoft Office macro settings | マイクロソフトオフィスの設定のコンフィグレーション |
application hardening | アプリケーションのハードニング |
restricting administrative privileges | 管理者権限の制限 |
patching operating systems | OSへのパッチ適用 |
multi-factor authentication | 他要素認証 |
daily backups | デイリーバックアップ |
脆弱性診断とその関連
[編集]本節では、システムのセキュリティ上の問題点を洗い出す検査や診断について述べる。なお、こうした検査や診断は脆弱性検査、脆弱性診断、セキュリティ検査、セキュリティ診断等と呼ばれるが、これらの語の指す範囲は論者やセキュリティ企業により異なる場合があるので注意されたい[注 1]。
このような用語上の混乱をさけるため、本節ではペネトレーションテスト等も含めた最広義の意味での脆弱性検査(すなわちIPA[269]意味での脆弱性検査)の事を「脆弱性診断関連の検査」と呼ぶことにする。
IPAによると、脆弱性診断関連の検査にはソースコードセキュリティ検査、ファジング、システムセキュリティ検査、ウェブアプリケーションセキュリティ検査、ペネトレーションテストの5つがあり[272]、これらの検査を行うフェーズと主な検査対象は下記のとおりである[272]。なお本節では、これら5つにレッドチームを加えた6つの検査について述べる。
検査名 | 主な利用フェーズ | 主な検査対象 | ||||
---|---|---|---|---|---|---|
開発 | 運用 | PC向けソフト | 組み込みソフト | ウェブアプリケーション | その他 | |
ソースコードセキュリティ検査 | ○ | ー | ○ | ○ | ○ | |
ファジング | ○ | ー | ○ | ○ | ー | |
システムセキュリティ検査 | ○ | ○ | ー | ○ | ー | ネットワークシステム |
ウェブアプリケーションセキュリティ検査 | ○ | ○ | ー | ー | ○ | クライアントサーバ |
ペネトレーションテスト | ー | ○ | ー | ○ | ー | サーバ |
上の表の「主な利用フェーズ」は検査対象となる機器のシステムライフサイクルの中でどのフェーズでこれらの検査が利用されるのかを示している。なお、一般的にシステムの開発フェーズは企画、要件定義、設計、実装、テスト、納入という工程からなるが、これらの工程のうち脆弱性診断関連の検査が行われるのは実装工程とテスト工程である[273]。
脆弱性診断関連の検査はPCI DSSやコモンクライテリアのような基準や規格で定期的に実施する事が要求される場合がある[273]。
ソースコードセキュリティ検査
[編集]ソースコードセキュリティ検査は、開発中のソフトウェアのソースコードをチェックする事で、セキュリティ上の問題点を発見する検査であり、おもに実装工程で行われる[274]。その目的は、脆弱性を引き起こしやすい関数をソースコードから抽出したり、構文解析により脆弱性であると思われる箇所を特定する事である[274]。
検査は人間によるソースコードレビューにより行われることもあるし、何らかのツールやサービスを用いて自動的にソースコードを検査することもある[274]。
なお、ソースコードセキュリティ検査は実装段階で混入する脆弱性を発見するものであるので、そもそもソフトウェアの設計そのものに脆弱性があってもそれを発見するのは難しい[274]。
ファジング
[編集]ファジングは開発したソフトウェアに脆弱性を引き起こしやすい様々な入力を与える事で、脆弱性を発見する手法である[275](インプットとして極端に大きな値を入力してみるなど)。ファジングは実装工程やテスト工程において、何らかのツールやサービスを利用して実行される[275]。
ソースコードセキュリティ検査がソースコードを利用するホワイトボックステストであるのに対し、ファジングはソースコードを使わないブラックボックステストないしグレーボックステストである。
ソースコードセキュリティ検査と同様、ソフトウェアの設計そのものに含まれる脆弱性を発見するのは難しい[274]。
制御システムセキュリティのEDSA認証ではファジングが必須になっているなど、ファジングの標準化の流れがある[276]。
ファジングを出荷前に行う事により、出荷後に脆弱性が原因で回収等で莫大なコストが発生する可能性が下げられる。ファジングも導入費用とツールの保守費用をあわせて数百万から数千万円程度かかるが[277]、半年程度で投資回収できるとされる[277]。
システムセキュリティ検査
[編集]システムセキュリティ検査は、システム上の機器に対してパッチのあたっていない脆弱性が存在しないか、不必要なポートが空いているなどの設定上の不備がないかを調べる検査である。何らかのツールやサービスを用いて主に開発時のテスト工程と運用時に行われる[278]。なお性能の良いシステムセキュリティ検査ツールであれば、既知の脆弱性はもちろん、未知の脆弱性も発見できる[279]。
システムセキュリティ検査では検査のためにシステムをスキャン(脆弱性スキャン)する必要があり、スキャンにはパッシブスキャンとアクティブスキャンがある[280]。パッシブスキャンはミラーポートを使ったりWiresharkなどのアナライザを使ったりした受動的なパケットキャプチャ等で脆弱性を発見する手法である。それに対しアクティブスキャンはスキャナが機器にパケットを送信してその反応を見るなど能動的な方法で脆弱性を発見する手法である。
パッシブスキャンよりもアクティブスキャンのほうがより多くの脆弱性を発見できる可能性が高いが[280]、その分システムに負荷をあたえたり[280]、障害の原因になったりする可能性がある。
また脆弱性スキャンはネットワークの外部から行う外部スキャンとネットワークの内部から行う内部スキャンに分類できる[280]。外部スキャンの場合、スキャンのための通信がネットワーク境界にあるファイヤーウォールに阻まれるため、内部スキャンほど多くの情報がとれない。しかし外部スキャンは攻撃者が外部から侵入可能な入口を発見できるなど、内部スキャンとは異なった役割を果たす事ができる[280]。
システムセキュリティ検査は障害の原因になったり、検査対象が増えるにつれて検査費用が高くなるなどの事情があるため、ネットワーク全体に対して検査を行うとは限らず、一部の機器に限定して行われる事もある[278]。
ウェブアプリケーションセキュリティ検査
[編集]ウェブアプリケーションセキュリティ検査はウェブアプリケーションに文字列を送信したり、ページ遷移を確認したり、ログ解析したりするなど、ウェブアプリケーションに特化した検査である[281]。何らかのツールやサービスを用いて主に開発時のテスト工程と運用時に行われる[281]。他の検査と同様、実装時に作り込んだ脆弱性は発見できるものの、設計段階で入り込んだ脆弱性を発見するのは難しい[281]。
IPAによるとウェブアプリケーションセキュリティ検査ツールは3タイプに分けられる[282]。第一のタイプのものは、ブラウザとウェブサイトの間のプロキシとして動作するもので、検査実施者がブラウザでウェブサイトにアクセスした際に発生するリクエストをプロセスである検査ツールが補足し、取得したリクエストの一部を検査実施者が手動で検査用のコードを埋め込む形で書き換え、書き換えたリクエストをウェブサイトに送信してその反応をみる事で脆弱性検査を行う[282]。
第二のタイプは検査ツールがウェブクライアントとして動作し、検査用コードの入ったリクエストをウェブサイトに自動送信し、ウェブサイトからのレスポンスを元に検査実施者にレポートを出力する[282]。第二のタイプのものはツールに予め用意されている量の検査用コードを試自動で試せるのが利点であるが、人力に頼る第一のタイプほど細かな検査はできない[282]。
第三のタイプでは検査ツールは検査実施者が操作するブラウザとウェブサイトとの通信を(書き換えずに)補足し、補足した情報から不審な動作等を探して検査実施者にレポートとして出力する[282]。第一、第二のタイプと違い検査用コードをウェブサイトに送りつける事がないので、詳細な検査はできないが、その分検査によりウェブサイトに障害が発生する可能性が格段に低いという利点がある[282]。
ペネトレーションテスト
[編集]ペネトレーションテストは実際の攻撃で使われる手口をそのまま利用する事で、人間が検査システムに攻撃をしかける事によりシステムの弱点を見つけ、システムが実際に攻撃されたときどこまで侵入され、どのような被害が発生するのか明らかにする検査であり[283]、基本的に運用フェーズに行われる[283]。ペネトレーションテストを実施するには攻撃手法に関する高度な知識を必要とするため、セキュリティ企業に依頼して実施する形が普通である[283]。実際の攻撃手法を用いて検査を行うため、脆弱性のみならずシステムの不適切な運用等も発見できる[283]。
その性質上、他の検査よりもシステムに不具合を生じさせる危険が大きいため[283]、影響範囲を事前に特定し、復旧計画を立てて実施する必要がある[283]。
テストは対象システムの構造をテストする人(ペンテスター)が知っているホワイトボックステストとシステム構造を知らないブラックボックステストにわけられ、さらに攻撃を開始する場所がシステム外部である外部テストとシステム内部である内部テストにわけられる[284]。
レッドチーム
[編集]レッドチームはペネトレーションテストと同様、「レッドチーム」と呼ばれる攻撃チームが実際に攻撃をしかけてみる検査であり、[285]レッドチームに対抗する防御側をブルーチームと呼ぶ[286]。これらの言葉は元々軍事用語であり、敵軍であるレッドチームの視点で、自軍であるブルーチームの防御力や対応力を検証するものである[286]。レッドチーム検査は「脅威ベースペネトレーションテスト(Threat-Led Penetration Testing : TLPT)」とも呼ばれる[287][288]。
レッドチーム検査はペネトレーションテストよりもさらに実践的な検査である。ペネトレーションテストと違い、防御側であるブルーチームが攻撃の発生を認知しておらず[289]、この状態でブルーチームがどこまで攻撃に耐えられるのかが試される。
レッドチーム検査ではハクティビスト、愉快犯、内部犯、金銭目的の犯罪者等、攻撃者の「ペルソナ」を作り、レッドチームのメンバーはそのペルソナになりきって攻撃を行う[290]。典型的には攻撃前に初期調査を行い、マルウェアの配送、システム上への攻撃基盤構築、権限昇格、内部調査、目的達成といった手順をたどる[290]。
レッドチームはサイバー攻撃だけではなく、物理セキュリティや人的要素に対しても攻撃をしかける[286][290]。例えば初期調査では、ゴミ漁り[286]、エレベーターでの盗み聞き[286]、受付に「入館カードを忘れた」といって入り込む[286]などのソーシャル・エンジニアリング的な手法[290]、偽Wifiポイントの立ち上げによる盗聴[290]、SNSで情報発信を行っている社員からのOSINT[290]なども行われる。
レッドチームのようなサービスをセキュリティベンダーが提供するようになったのは、標的型攻撃が一般化したことにある[286]。標的型攻撃では上述のような物理要素・人的要素を犯す攻撃手法により情報収集されることもあり、こうした攻撃に耐えられるかを試すためにレッドチームのサービスが提供されるようになったのである[286]。
その他の診断
[編集]ネットワークに接続された不正機器の検出を目的とするネットワークディスカバリや、不正な無線通信を検出するワイヤレススキャンなどがある[291]。
脆弱性ハンドリングと脆弱性管理
[編集]脆弱性ハンドリング
[編集]
脆弱性情報ハンドリングとは、新たに発見された脆弱性関連情報の届け出を発見者に促し、届けられた情報を整理して製品開発者の担当窓口に提供して対策方法の立案を促し、適切なタイミングで脆弱性関連情報と対策情報を周知することで、被害を最小化するための活動である[292][293]。ここで脆弱性関連情報とは脆弱性情報、脆弱性が存在する事の検証方法、およびその脆弱性を利用した攻撃方法(例えばエクスプロイトコード)の事を指す[294]。また脆弱性への対策方法は、修正方法(=パッチ適用)と回避方法に分類でき、回避方法とはパッチ以外の方法で脆弱性の影響度を回避・低減する方法、例えば脆弱性のある機能の無効化、代替ソフトへの移行、WAFの導入等がある[295]。
攻撃者に脆弱性関連情報を悪用されるのを防ぐため、複数の製品が影響を受ける脆弱性の場合などにおいて、情報の公表に関して関係者間で一定の足並みをそろえる事(公開日一致の原則)が重要である[296]。特に海外機関と調整が必要な際にこの原則を破って単独で情報公開を行うと、今後の脆弱性ハンドリングから外される場合がある[296]。
脆弱性ハンドリングの標準・ガイドライン
[編集]国際標準として以下のものがある[297]:
- ISO/IEC 30111 – Vulnerability handling process (脆弱性取扱い手順)
- ISO/IEC 29147 – Vulnerability disclosure (脆弱性開示)
日本において脆弱性ハンドリング方法の概略は経済産業省告示「ソフトウエア製品等の脆弱性関連情報に関する取扱規程」[298]に規定され、その詳細は「情報セキュリティ早期警戒パートナーシップガイドラライン」[299]に規定されている[300]。規定されている手順は、脆弱性が発見されたのがソフトウェア製品なのかウェブサイトなのかで異なる。
ソフトウェア製品の脆弱性に対するハンドリング手順
[編集]ソフトウェア製品の脆弱性関連情報の発見者はその情報をIPAの窓口[301]に届け出し、IPAはその情報をJPCERT/CCに通知する[302]。JPCERT/CCは製品開発者にその情報を連絡し、製品開発者は脆弱性の検証や対応方法を考える[302]。JPCERT/CCは製品開発者と調整しながら脆弱性関連情報の公開スケジュールを決める。IPAとJPCERT/CCはスケジュールで定められた期日に脆弱性への策方法および対応状況を公表すする[302]。IPAは原則四半期毎に統計情報[303]を公表する[302]。
ウェブサイトの脆弱性に対するハンドリング手順
[編集]ウェブサイトの脆弱性関連情報の発見者がその情報をIPAの窓口に届け出するところまでは上の手順と同様だが、ウェブサイトの場合、IPAはJPCERT/CCを介さずに直接ウェブサイト運営者に脆弱性関連情報を通知し[300][304]、ウェブサイト運営者が脆弱性を修正する[304]。ソフトウェアの場合と異なりIPAやJPCERTの側が脆弱性情報を公開する事は基本的にはない。個人情報漏洩等があった場合、その事実を公表するなどの処置はウェブサイト運営者が行う[304]。
個人情報が漏洩している可能性があるにもかかわらず、ウェブサイト運営者が対応しない場合は、IPAが個人情報保護法34条に従った措置(主務大臣による勧告や命令)を依頼する[304]。
IPAは原則四半期毎に統計情報[305]を公表する[304]。
脆弱性に関する情報源
[編集]脆弱性の情報源としては、各種ニュースサイト以外に、脆弱性情報データベース、ベンダアドバイザリ、注意喚起サイトがある[306]。また攻撃情報の情報源としては、前述した脆弱性の情報源の他、攻撃コードデータベースがある[307]。
脆弱性情報データベース
[編集]脆弱性ハンドリング等によって集められた脆弱性関連情報を公開するデータベースの事。主なものとして下記のものがある。
名称 | 概要 |
---|---|
Common Vulnerabilities and Exposures(CVE) | 脆弱性に固有の識別番号を割り振ったデータベースで、詳細情報は外部サイトや他の脆弱性データベースに任せている。アメリカ合衆国国土安全保障省(DHS)のNCSDの資金のもとMitre社のNational Cybersecurity FFRDCが運営。 |
National Vulnerability Database(NDV) | アメリカ国立標準技術研究所(NIST)が管理する脆弱性情報データベース。CVEで命名された脆弱性情報の詳細情報をNVDで提供している。 |
Japan Vulnerability Notes (JVN) | JPCERT/CCとIPAが共同で管理している[308][309]脆弱性情報データベース。脆弱性ハンドリングの結果挙がってきた脆弱性関連情報のみならず、海外の調整機関と連携した脆弱性情報も載る[309]。海外連携情報元としてはCERT/CCのTechnical Cyber Security AlertsやVulnerability Notes、CPNIのCPNI Vulnerability Adviceなどがある[308]。 |
JVN iPedia | JVNのサイト内にある、脆弱性対策情報データベース[310]。JVNがいち早く一般に周知することを目的にしているのに対し、JVN iPediaでは脆弱性が公開されてから一週間程度を目安に、JVNに掲載されたもの以外にも国内外問わず脆弱性対策情報を広く公開している[310]。 |
Open Source Vulnerability Database (OSVD) | 脆弱性に関するオープンソースのデータベース[311]。 |
ベンダアドバイザリ
[編集]ベンダや開発者のサイト、ブログ、アップデート情報、リリースノート等に自社製品の脆弱性情報やその対策情報が提供されている事があり、ベンダアドバイザリ[306]、セキュリティアドバイザリ[312][313]等と呼ばれている。ベンダアドバイザリは脆弱性情報の形で公開されない場合もあるので、注意が必要である[306]。セキュリティ担当者は基本的には各製品のサイト等を参考にしてベンダアドバイザリ手に入れる必要があるが、各種脆弱性情報データベースに載らないベンダアドバイザリを収集している有償サービスも存在するので、こうしたサービスから情報を得る事も可能である。
注意喚起サイト
[編集]広く使われている製品に対して、脆弱性の周知と対策の呼び掛けを行っているサイト[306]。国内ではJPCERT/CC[314]、警察庁[315]、IPA[316]等が注意喚起を行っており、海外ではUS-CERT[317]やICS-CERT[318](制御システムが対象)等がある[306]。
攻撃コードデータベース
[編集]攻撃コード(エクスプロイト)を収集したデータベースで[307]、Exploit DB[319]などがある[307]。
脆弱性評価に関する指標
[編集]Security Content Automation Protocol(SCAP)
[編集]SCAP(エスキャップと発音[320])は、アメリカ国立標準技術研究所(NIST)が策定した「脆弱性管理、コンプライアンス管理の一部を機械化(自動化)することにより、情報システムに対するセキュリティ対策の負荷軽減と情報セキュリティ施策の推進の両立を目的とした仕様群」[321]である。 2015年現在、SCAPには以下の6つの仕様が規定されている[322]:
略称 | 名称 | 概要 |
---|---|---|
CWE | Common Weakness Enumeration | ベンダーに依存しない共通の脆弱性分類方法[323]。脆弱性をツリー構造で分類[323] |
CVE | Common Vulnerabilities and Exposures | 脆弱性毎に「CVE-西暦-連番」という形のCVE識別番号(CVE-ID)を付与し脆弱性の概要(Description)、参考URL(References)、ステータス(Status、「候補」もしくは「登録」)を記述[324]。CVE識別番号はベンダーに依存しない共通の脆弱性識別子[324] |
CVSS | Common Vulnerability Scoring System | ベンダーに依存しない共通の脆弱性の評価手法に従い点数化[325]。脆弱性の技術的な特性を表した「基本評価基準」、現時点での危険度を表した「現状評価基準」、製品利用者毎に評価が変わる「環境評価基準」に対し脆弱性の危険度を0.0~10.0の評価値(大きいほど危険)で表現[325]。 |
CCE | Common Configuration Enumeration | 「設定上のセキュリティ問題」を解決するためにコンピュータのセキュリティ設定項目に一意の番号(設定項目識別子)を付与する仕様[326] |
XCCDF | eXtensible Checklist Configuration Description Format | プログラム上や設定上のセキュリティ問題のチェック項目をXMLで記述するための仕様[327] |
OVAL | Open Vulnerability and Assessment Language | コンピュータのセキュリティ設定状況を検査するための仕様[328] |
その他の指標
[編集]略称 | 名称 | 概要 |
---|---|---|
CAPEC | Common Attack Pattern Enumeration and Classification | 共通的な攻撃パターンを網羅的に列挙し、分類したもの。US-CERTによるスポンサーのもとMitre社が作成している。類似した攻撃を共通化し、ツリー構造で攻撃を分類している。 |
MAEC | Malware Attribute Enumeration and Characterization、マルウェア特徴属性一覧[329] | マルウェアの動作、痕跡、攻撃パターンなどを記述するためのXMLベースの仕様[329]。 |
CEE | Common Event Expression:共通イベント記述[329] | ログなどのイベントを記述するための仕様[329] |
IODEF | Incident Object Description Exchange Format | インシデント情報交換メッセージフォーマット。RFC 5070に規定されている。 |
CybOX | Cyber Observable eXpression、サイバー攻撃観測記述形式[329] | オブジェクト」と「イベントフィールド」を用いて記述する[329]。オブジェクトは「ファイル、レジストリキー、プロセスなど、サイバー攻撃活動によって観測された事象の主体を記述」[329]し、イベントフィールドは観測事象中に発生した動作を記述するもので」[329]、例えば「ファイルを削除した、レジストリキーを作成した、HTTP GET要求を受信したなど、あるオブジェクトに対して行われた動作を記述」[329]する。 |
脆弱性管理
[編集]脆弱性管理とは「自社の脆弱性の状況を常に掌握して、より頻繁かつ効果的に修正するためのプロセス」の事である[330]。脆弱性管理で行うプロセスはツールやサービスによって異なるものの、IT資産の目録作成[331][332]、守るべきIT資産の優先度付け[331]、IT資産の脆弱性の発見[331][332][333][334]、脆弱性のリスクレベルの特定[330][331][332]と対策優先度の決定[330][331]、脆弱性への対処[331][332]ないしその支援[334]、対処状況の一覧化[333][334]といったプロセスを含む。
セキュリティ対策技術
[編集]境界防御・サーバ防御技術
[編集]ファイヤーウォール
[編集]ファイヤーウォールはネットワーク境界に設置して不正な通信を遮断する技術である。通信を許可・遮断するIPアドレスやポート番号をしていするタイプのファイヤーウォールをパケットフィルタリング型のファイヤーウォールという。パケットフィルタリング型のうち、管理者により予め決められたテーブルにしたがって通信の許可と遮断を行うものをスタティック型という。それに対しダイナミック型のパケットフィルタリングでは、ネットワーク境界内はネットワーク境界外より安全だという前提の元、境界内から境界外への通信が発生したときは、その返答が境界外から帰ってきた場合のみ例外的に通信を許可する。ステートフルパケットインスペクションはダイナミック型の特殊なもので、TCP/UDPセッションを認識して、正当な手順のセッションに属する場合のみ通信を許可する。
パケットフィルタリング型が通信の許可・遮断機能のみを持つのに対し、それ以外のファイヤーウォールは通信の中継機能を持つ。サーキットレベルゲートウェイ型ファイヤーウォールは、ファイヤーウォールを通過する際IPアドレスを付け替え、ネットワーク境界内のIPアドレスが境界外にもれないようにする。アプリケーションゲートウェイ型ファイヤーウォールはHTTPなどアプリケーション層のプロトコルを理解してプロキシとして振る舞う。コンテンツをキャッシュして通信速度を早くする他、有害なサイトのフィルタリングを行ったり、マルウェア対策ソフトを組み込んでファイヤーウォールをまたぐ通信に含まれるマルウェアを検知したりできる。
IDS/IPS
[編集]IDS(Intrusion Detection System、侵入検知システム)は不正侵入の兆候を検知し、管理者に通知するシステムである[335]。IPS(Intrusion Prevention System、侵入防止システム)も不正侵入の兆候を検知するところまではIDSと同様だが、検知した不正を自動的に遮断するところに違いがある。両者を合わせてIDPSという場合もある[336]。センサーないしエージェントと呼ばれるアプライアンスないしソフトウェアを利用して通信などの情報を集める事により不正を検知する。センサーやエージェントの集めた情報は管理サーバに送られ、管理サーバ側でも複数のセンサー・エージェントの情報を相関分析する事で不正を検知する。
IDPSは以下の4種類に分類できる[337]:
分類 | センサー・エージェントの主な設置・インストール場所 |
---|---|
ネットワークベースIDPS | ネットワーク境界[338] |
無線IDPS | 監視対象の無線ネットワークの通信範囲内や、無許可の無線ネットワーク活動が行われている懸念のある場所[338] |
NBA(Network Behavior Analysis) | 組織内ネットワークフローの監視ができる場所、もしくは組織内と外部ネットワークの間の通信フローの監視ができる場所[338] |
ホストベースIDPS | 攻撃を受けやすい公開サーバや機密情報が置かれているサーバなどの重要ホスト[338]。その他PCのようなクライアントホストやアプリケーションサービスにもインストールされる[339]。 |
ネットワークベースのIDPSとNBAはどちらもネットワークを監視する点では共通しているが、前者は主に組織LANと外部ネットワークの境界などネットワーク境界に設置され、境界をまたぐ通信を監視するのに対し、NBAは組織LAN内に設置され、LAN内の通信を監視する点に違いがある。
ネットワークベースIDS、IPSを略してそれぞれNIDS、NIPSと呼ぶ。同様にホストベースIDS、IPSをそれぞれ略してHIDS、HIPSという。
ネットワークベースのIDPSのセンサー設置方法としては、監視対象の通信が必ず通る場所にIDPSを設置するインライン型と[340]、監視対象の通信が必ず通る場所にスパニングポート、ネットワークタップ、IDSロードバランサ等を設置する事で監視対象の通信をコピーし、コピーした通信をIDPSで監視する受動型がある[340]。攻撃の遮断や回避のようなIPSとしての機能を利用する場合はインライン型が必須である[340]。
インライン型の場合、ファイヤーウォールが攻撃と考えられる通信を遮断するのでファイヤーウォールの前に設置するか後ろに設置するかで取得できる情報や、IDPSへの負荷が異なる。ファイヤーウォール前後両方を監視するためにIDPS機能とファイヤーウォール機能がハイブリッドになった製品もある[340]。
受動型はネットワークの複数箇所の通信をコピーして集約した上で解析できるという利点がある。例えばファイヤーウォールの前後およびDMZの通信を全てコピーして解析するといった行為が可能になる[340]。
WAF
[編集]WAF(Web Application Firewall)は、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つ[341]。WAFはウェブサイトの前に設置し、ウェブアプリケーションの脆弱性に対する攻撃と思われる通信の遮断等を行うものであり、LANとインターネットの境界などに設置されることが多い通常のファイヤーウォールとは(その名称にもかかわらず)機能が異なる[342]。WAFが検知する攻撃はウェブサイトへのものに特化しており、HTMLを解釈してクロスサイトスクリプティングやSQLインジェクションなどの攻撃を遮断する。
攻撃を遮断する点においてIPSと類似するが、IPSはOSやファイル共有サービスなど様々なものに対する攻撃を遮断するために不正な通信パターンをブラックリストとして登録しておくのに対し、WAFの防御対象はウェブアプリケーションに限定されている為ブラックリスト型の遮断のみならず、正常な通信を事前登録してホワイトリスト型の遮断も行うことができる[343]。
WAFを導入する主なケースとして、レンタルサーバ提供ベンダーや、複数のグループ企業を束ねている大手企業など、直接自分で管理していないウェブアプリケーションを保護したい場合、他社が開発したウェブアプリケーションを利用しているなど自分では脆弱性を防ぐことができない場合、事業継続の観点からウェブアプリケーションを停止できず脆弱性を行ったりパッチを当てたりできない場合等があり[344]、根本対策のコストよりもWAFの導入・運用のコストのほうが安い場合にWAFを導入する[344]。
WAFにはHTTP通信(リクエスト、レスポンス)を検査し、検査結果に基づいて通信を処理し、処理結果をログとして出力する機能がそなわっている[345]。通信の検査は前述のようにホワイトリスト、ブラックリストを用いて行う。検査結果に基づいた通信の処理としては、そのまま通過させる、エラー応答を返す、遮断する、通信内容の一部を書き換えた上で通過させる、という4通りがある[346]。またセッションのパラメータの正当性やHTTPリクエストの正当性を確認してCSFR等の攻撃を防ぐ機能、ウェブサイトの画面遷移の正当性を確認する機能、ホワイトリストやブラックリストを自動更新する機能、ログをレポートの形で出力する機能、不正な通信を管理者にメール等で通知する機能等がついている事もある[347]。
なお、たとえばウェブアプリケーションの認可機能に問題があるが、HTTP通信自身には問題がないケースなどではWAFは異常を検知してくれないので別の対策が必要となる[348]。
メールフィルタリング・URLフィルタリング
[編集]この節の加筆が望まれています。 |
Web レビュテーション
[編集]Webレピュテーションは様々な手法でウェブサイトを評価する事で、不正と思われるサイトへの接続を制御・抑制する技術である[349]。ユーザがウェブアクセスする際、アクセス先のURLをWebレピュテーションを提供しているセキュリティベンダーに問い合わせ、アクセスのブロック等を行う[350]。これにより不正サイトへのアクセスを制限できるのはもちろん、改竄された正規サイトに埋め込まれた不正サイトへのリンクへのアクセスもブロックできる[350]。またユーザによるアクセスのみならず、マルウェアによる外部接続も検知・遮断できる[351]。
Webレピュテーションの評価基準には例えば以下のものがある:
- ウェブサイトの登録年月日:悪性サイトは作成日が比較的新しいものが多い為[351]。
- ウェブサイトの安定性:悪性サイトはDNSやIPアドレスを頻繁に変える(fast flux)事が多い為[351]。
- 特定のネームサーバが複数のドメインで利用されているか否か:フィッシングサイトはこのような特徴を持つものが多い[351]。
レピュテーションのアイデアはマルウェア検知にも応用されており、「ファイルレピュテーション」や「プログラムレピュテーション」などと呼ばれている[352]。
エンドポイント対策技術
[編集]エンドポイント(=パソコン、PDA、携帯電話などのネットワーク端末[353])のセキュリティ対策ツールはEPP(Endpoint Protection Platform:エンドポイント保護プラットフォーム)とEDR(Endpoint Detection and Response)に大きく分ける事ができる[354]。EPPがマルウェア感染から防御するためのものであるのに対し、EDRはマルウェアに感染してしまったことを検知(Detection)してその後の対応(Response)を行うためのものである[354][355]。EPPに分類されるものとしてマルウェア対策ソフト、パーソナルファイアウォール、ポート制御、デバイス制御などがある[356]。
EDR
[編集]EDRは標的型攻撃やゼロデイ攻撃などによりマルウェア感染が防げないという現実に対応して登場したもので[357]、エンドポイントにインストールするクライアントソフトと、それを一括管理するサーバないしアプライアンスからなる[357]。感染の検知や対応が目的なので、エンドポイントを監視して攻撃の兆候を検知し、ログを取得して組織全体のログデータと突合し、必要に応じて攻撃遮断などの応急処置を取ったりする[355][358]。EDRが攻撃検知に用いる情報の事をIOC(Indicator of Compromise、侵害痕跡)と呼び、具体的にはファイルの作成、レジストリーの変更、通信したIPアドレス、ファイルやプロセスのハッシュ値などがある[357]。なおEDRはガートナーのアナリストが2013年に定義した用語である[358]。
リモートブラウザ
[編集]ブラウザ経由でのマルウェア感染を防ぐため、ブラウザのセッションをリモートから提供する手法のこと[359]。ブラウザのセッションは「ブラウザ・サーバ」という社内サーバもしくはクラウドから提供される[359]。Webページのレンダリングはブラウザ・サーバ側で行われ、エンドポイントには無害化した描画情報ないしレンダリング結果の画面ストリームのみが送られる[360][361]。
ブラウザ・サーバはブラウズ・セッションごと、タブごと、もしくはURLごとにリセットされるので、ブラウザ・サーバ自身が汚染される危険はない[361]。
情報漏えい対策技術
[編集]情報の機密性、完全性、可用性を守るため、情報の管理、更新、消去といった情報ライフサイクル管理(ILM, Information Lifecycle Management)の方法がISO 15489やJIS X 0902に規定されるなど[362]、セキュアな情報管理が求められる。このための技術として暗号化や署名といった暗号技術の他、USBポートのコントロールやe-メールの監視による情報の持ち出し制御、DLPなどがある。
DLP
[編集]DLP(Data Loss Prevention)は、機密情報の不正持出しを防ぐための技術である[363][364][365]。合意された定義は存在しないため、広義には暗号化やUSBポートのコントロールもDLPに含まれる場合がある[365]。しかし多くの場合DLPは、機密情報に関するポリシーをサーバで管理し、そのポリシーに従って情報の移動、持ち出し、利用等を制限したり遮断したりする技術である[363][364][365]。システムにある機密情報を洗い出す特定機能や洗い出した機密情報を監視する機能もついている場合が多い[363][365]。
DLPは機密情報をそのコンテンツ内容やその情報が利用されるコンテキスト(利用時間や環境等)などから特定する[366]。機密情報を解析する方法は、正規表現により事前に定められたポリシーを利用するもの、構造化データの全体一致を調べるもの、非構造化データの部分一致を調べるもの、ベイズ法などを利用した統計解析を行うもの、インサイダー取引に似た情報など何らかのコンセプトに従って上述した手法を組み合わせるもの、情報に対して「カード情報」などのカテゴリ化を定義して解析するものなどがある[366]。
その他の技術
[編集]検疫ネットワーク
[編集]検疫ネットワークは未登録の端末や、パッチがあたっていないなどポリシーに違反した端末を組織のネットワークから遮断する技術であり[367]、次の3つのステップで構成される事が多い:
- 検出・検査:未登録の端末やポリシー違反の端末を検出・調査する[367]
- 隔離:ポリシー違反の端末を組織のネットワークから遮断し、代わりに隔離されたネットワークである検疫ネットワークにつなげる[367]
- 修復(治療):ポリシーに従って、検疫ネットワーク内でパッチを当てたり、マルウェアの定義ファイルを更新したりする[367]
UBA、UEBA
[編集]UBA(User Behavior Analytics)もしくはUEBA(User and Entity Behavior Analytics)は、システムに攻撃者が侵入した後のユーザの振る舞い等、ユーザを中心にした分析を行う事で攻撃を検知する技術全般を指す[368][369][370]。分析に用いるのはエンドポイントやネットワークのセキュリティデバイス、Active Directory等の認証サーバ、Webプロキシ、Net Flowなどのネットワークのトラフィック、データベース等のログ情報である[370]。その実装形態はいろいろありSIEMやログ管理と連携するものもあれば、エンドポイントにエージェントソフトをインストールものもある[368]。
分析の目標はユーザの振る舞いを追跡して通常業務から逸脱した異常を検知する事で[368][370]、具体的にはアカウントの不正使用、侵害されたアカウントやホスト、データや情報の漏洩、内部偵察行為などを検知する[368]。
ユーザは大量の行動ログを残すので、UBAではApache Hadoopのようなビッグデータ解析基盤を用いる事が増えている[371][372]。
CASB
[編集]CASB(キャスビー[373]。Cloud Access Security Broker、クラウド・アクセス・セキュリティ・ブローカー[373])は2012年に