Pocket

こんにちは、kawamuraです。

セキュリティというと何を想像しますか?

生体認証?ワンタイムパスワード?二段階認証?暗号化?思い付くのは技術的なことばかりですよね。
では、その技術を使っている 人 はいかがでしょう?

赤の他人に自分のIDとパスワードを教えることは絶対にありえませんか?社外秘の顧客情報リストを渡すことは?会社のPCにトロイの木馬をインストールすることは?

すべて実際に起きていることです。誰かから脅迫されているわけではありません。それが悪いことだと自身が認識しているわけでもありません。疑いもせず自ら進んで行っているのです。正確には、無意識に攻撃者からそうするように仕向けられています。

技術的にいくらセキュリティを高めても、それを利用する人がセキュリティホールである限り台無しになります。攻撃者は人が1番弱いなら容赦無くそこを突きます。サーバをクラッキングするより簡単だからです。

攻撃者はどのようにして人を思い通りに動かしているのでしょう?

今回はそんなお話です。

ソーシャル・エンジニアリングって何だ?

ソーシャル・エンジニアリングをご存知でしょうか。名前だけは知っているという方は多いと思います。

2003年に出版された欺術(ぎじゅつ)―史上最強のハッカーが明かす禁断の技法(ケビン・ミトニック、ウィリアム・サイモン著)がベストセラーとなり有名になりました。

この本の中でソーシャル・エンジニアリングは以下のように定義されています。

平凡な善人のふりをして他人に接近し、その人を騙すテクニック。このテクニックを駆使する”エンジニア”は、他人の職責や地位などを詐称して情報を手に入れる。コンピュータやネットワークの登場以前から、この”エンジニアリング”は存在している。

ソーシャル・エンジニアリング(クリストファー・ハドナジー著)ではこう定義されています。

人を操って行動を起こさせる行為。ただし、その行動が当人の最大の利益に適合しているかどうかは問わないこともある。

悪用されるケースが注目されているため誤解されていますが、ソーシャル・エンジニアリング自体に善も悪もありません。使う人が騙して悪い方向に「操る」か、良い方向に「導く」かの違いです。

kawamura_003

 

ソーシャル・エンジニアリングは、ずっと昔から存在しています。政治家、セールスマン、カウンセラー、検察、弁護士、探偵、俳優、教師、スパイ、ヘッドハンターなど、ソーシャル・エンジニアリングを使えないと仕事にならない職業はたくさんあります。皆さんのご両親も子育てで使っていますし、あなた自身も普段から意識せずに使っています。

時代に関わらず相手が人である限り通用します。人の本質を利用するため効果的であるがゆえに、悪用された場合防ぐことはとても難しいのです。

具体的にどうやるの?

では、攻撃者は具体的にどのようにして相手を操るのでしょう。
それはなりすましです。ソーシャル・エンジニアリングの常套手段です。

機密情報へのアクセスを許されている、あるいはターゲットに機密情報を要求できる役になりすまします。

  • システム管理者
  • 直属ではない上司
  • 面識のない重役
  • 困っている営業部員
  • 他の支店の一般社員
  • 取引先
  • エンドユーザ
  • 配達員
  • ゴミ収集員
  • ターゲットが契約している機密文書処理業
  • ターゲットが契約している(実際はしていない)コンサルタント

架空の人物の場合もあれば、実際に存在している人物の場合もあります。

役になりすますことで、ターゲットにこんなことをさせることができます。

  • 新入社員に対しセキュリティ管理者を名乗り、セキュリティ教育と称してパスワードを初期化させる。もちろん会話の中でメールアドレスやIDも入手する。
  • システム管理者に対し新入社員を名乗り、パスワードを忘れたからと再設定を頼む。
  • ネットワーク管理者を名乗り、問題が発生した場合は助けると言っておいて裏でネットワークを切断する(これもソーシャル・エンジニアリングで他社員に切断させる)。助けを求めてきたターゲットを助け、代わりに頼み事と称してネットワーク診断ツール(実はトロイの木馬)をダウンロードさせる。
  • 機密書類を溶解処理する業者を名乗り、書類を事前に建物外に持って来てもらう。
  • 営業部員を名乗り、出先で顧客情報が必要になったが社内システムに繋がらないので急いでメールして欲しいと頼む。
  • 共通の趣味を持った同郷人を装って親密になり、会社で採用しているセキュリティシステムの認証方法や製品名を聞き出す。その後、その製品の保守エンジニアを装い会社に現れる。
  • ごみ収集業者を名乗り、ごみ箱の修理を行うと言ってごみ収集場所に案内させる。
  • 宅配業者を名乗り受付を通過。ついでに目当ての部屋の場所を聞く。

なりすますには?

なりすます際に最も大事なこと、それはターゲットに疑われないことです。当然ですね。
ターゲットから少しでも疑いの眼差しを向けられたら、もう情報を取ることはできません。情報源を焦げつかせるといいます。そのことがターゲットの組織で噂にでもなったら、もうその組織に対してソーシャル・エンジニアリングを仕掛けることは難しくなります。

ソーシャル・エンジニアリングには役作りに必要な要素が紹介されています。その中で重要な2つをピックアップします。

調査を多くすればするほど、成功の可能性が高まる

持っている情報が多ければ多いほど、役作りを効果的に行える可能性が高まります。

ターゲットの生い立ちや性格、趣味、想い入れを利用することで、ドアを開いてもらえる可能性が上がります。例えば、ターゲットの財務責任者がボランティアで子供の医療施設を慰問していたり、毎年高額の寄付を行っていた場合。子供医療支援NPOの資金調達に関連した役作りを行うことでターゲットが心を許し、情報を引き出せる可能性が高くなります。善人を装ってターゲットの善意の感情を利用し、機密情報の詐取を図るのです。

なりすます役についても情報量は重要です。情報収集にはもちろんソーシャル・エンジニアリングを使います。部署名、社員番号、電話番号、家族構成、同僚の名前、部屋や建物の名前・通称、内部で通用する呼称(システム名、サーバ名など)、仕事内容、その仕事でよく使われる隠語など、集められる情報は何でも集めます。ターゲットに何を聞かれるか分かりませんし、ターゲットにうまく情報を露出することで本人だと思い込ませることができます。社員しか知らない”はず”の社内システム名や、会議室の通称が相手の口から出たら、うちの社員なんだなと思ってしまいませんか?元社員から情報を仕入れることはたやすいです。

役作りは自然に見えなければならない

役回りはできるだけ単純にします。そうすることで想定外の質問がきた場合でも矛盾なく淀みなく対処することができます。攻撃者自身に近い立場・境遇の役割なら尚良しです。自分のこととして自信を持って自然に話すことができます。そして徹底的に練習を重ね(口調や方言など、自身の声を録音して改善を重ねる)、演じるのではなくその人になろうとします。

優秀な詐欺師は嘘発見器で検知できないといいます。自分自身がついた嘘を信じきっているからです。嘘は付いていないのですから(本人はそう思っている)良心の呵責は無く、自信を持って騙し続けることができます。映画でとても憎たらしい役を演じていたのでその俳優自身が嫌いになってしまった、という経験はありませんか?そのレベルまでなりきります。ソーシャル・エンジニアリングの優秀な使い手は、優秀な俳優でもあるのです。

人を動かすには?

攻撃者は役になりすまし、ターゲットに攻撃を仕掛けます。

攻撃者はターゲットが自分が望んだ行動を行うよう、人間のある要素を悪用します。

社会心理学の権威 ロバート・B・チャルディーニは、著書 影響力の武器 で、人間が動かされる6つの要素をまとめています。これらは欺術ソーシャル・エンジニアリングでも重要な要素として挙げられています。

これら6つの要素は、固定的な行動パターンです。人間が自動的にそう判断し行動してしまうことを意味します。なぜそんなパターンが備わっているのでしょう?その理由は効率性と経済性にあります。時間をかけて周囲の状況を分析することなしに早く正しい行動を決定することができ、貴重な時間やエネルギーを失わずに済みます。
裏を返すと、悪用すれば人の行動をコントロールすることも可能だということです。

ソーシャル・エンジニアから見れば、6つの人間の弱さであり、利用できる隙です。

(1)返報性(お礼に弱い)

いわゆるギブアンドテイクです。
人は、貸しを返そうとします。

  1. 攻撃者は、システム部門員を名乗り、社内の一部のPCがアンチウィルスソフトでは検出できないウィルスに感染し、全ファイルが消去されてしまうかもしれないと告げる。
  2. 攻撃者は、ターゲットにそうならないための対策を懇切丁寧に教える。
  3. 最後に、PCのメンテナンスソフトを更新したいので、一度webからダウンロードして試してほしいと頼む。
  4. ターゲットは親切に教えてもらった貸しがあるため承諾した。結果トロイの木馬に感染。

(2)コミットメントと一貫性(約束に弱い)

人は、何かしますよと約束すると、その後自分の評価が下がるのを恐れ、約束を実行し続けようとします。

  1. 攻撃者は、ターゲットの新入社員に電話をし、セキュリティポリシーを守ればシステムにアクセスしても良いと言い、セキュリティポリシーを守ることを約束させる。
  2. 攻撃者はパスワードを基準を満たしているかチェックするといい、ターゲットのパスワードを聞き出す。
  3. 攻撃者は基準を満たしたパスワードの作り方を教え、その通りに再設定させる。

教えたパスワードの作り方は、最初に聞いたパスワードにその月の数字を付与したもの。定期的なパスワード変更にも耐えられるし、セキュリティポリシーを守ることもできる。ターゲットは、セキュリティポリシーを守ると約束したし、それに電話の主はセキュリティポリシーを守らせたいだけだと信じ、攻撃者に従ってしまう。

(3)社会的証明(横並び社会に弱い)

人は、他の人がやっているのであれば正しいだろうと判断する傾向があります。

  1. 攻撃者は、電話でターゲットにアンケートのお願いをする。
  2. 同じ部署の○○さん、☓☓さんには既に協力していただいた、と言われたターゲットはその要求は正当なものだと判断しアンケートに協力する。
  3. アンケートの中には、ユーザ名やパスワードを言わなければならない質問が巧妙に含まれている。当たり障りの無い質問の途中に本当に聞きたい質問をする。人は終わりの話しか覚えていないので、最後にしない。

(4)好意(好き嫌いに弱い)

人は、好感が持てる人からの要求や、関心や信念や態度が自分と同じ人からの要求には従う傾向があります。

攻撃者は、ターゲットの趣味や関心、出身地、出身校、目標を調査したり、会話の際に聞き出し、似たもの同士であることを演出する。

(5)権威(権威に弱い)

人は、地位や権力などの権威を持ったものからの要求に従う傾向があります。

攻撃者は、システム管理部員、重役などの権威を持った者を名乗り、ターゲットを従わせる。
新入社員や平社員なら効果大。上司に気に入られようとするし、会社の情報の価値や自分の行動の結果に対して無知であることが多い。

(6)希少性(希少性に弱い)

人は、個数限定や期間限定に弱いです。

  1. 攻撃者は、先着100名に映画チケットをプレゼントするというメールをターゲット会社社員のプライベートアドレスに送る。
  2. メールのリンクから飛んだ申し込みサイトではメールアドレスとパスワードの登録を求められる。
  3. 同じパスワードを使い回している社員がいるはずなので、社内システムにログインできるパスワードがいくつか入手できる。

攻撃の結果得られた情報が最終目標のための1ステップに過ぎないのであれば、得られた情報を元に別の人物になりすまし、更に情報を入手します。最終目標に到達するまでそれを繰り返します。

Sonyがクラッキングの被害を受けたケースでは、6回の電話で入手した情報を組み合わせ、SQLインジェクション攻撃を仕掛けたそうです。

どう防ぐか?

実際の手口はもっと手の込んだものであり、ニュアンスまで正確に伝わらないため軽い紹介で済ませました。是非今回紹介した書籍をお読みになってください。人間の弱点を巧みに突き、目的の情報を詐取する手法は実に見事です。正直恐怖を覚えます。本気で狙われたら防ぐのはかなり難しいでしょう。

通常のセキュリティ技術は全く役に立ちません。機密情報を入手する権限を持った正規のユーザが攻撃者に操られ情報を漏洩させますが、正規ユーザの正常なシステム利用を止めることはできないからです。

では、どうすべきか?
社員教育を継続して行う、セキュリティポリシーに盛り込む、など対策は様々あります。

一番手っ取り早く、かつ非常に有効な対策は、本人性の確認を徹底することと、教えても良い情報・教えてはならない情報をきちんと区別しておくことです。

あなたは本物ですか?

本人性の確認とは、本当に名乗っている通りの人か?を確認する行為のことです。
本人性の確認を行うだけでかなりのリスクを減らすことができるのです。

欺術に掲載されている本人性確認手順を紹介します。

kawamura_002

一に確認、二に確認、三にも四にも五にも確認です。目の前の本人が直に頼んできた要求以外は、本人確認が終わるまで絶対に受け入れてはなりません。
勇気を持って「No!」と言いましょう。

知らない人について行っちゃダメだよと、皆さんが子どもの頃に注意されたと思います。
大人になっても同じです。知らない人はまず疑いましょう。

オレオレ詐欺も、なりすましによるソーシャル・エンジニアリングですね。
※身分詐称という意味であえてオレオレとしました。

kawamura_001

初めての取引先や、ユーザーサポートのように不特定多数を相手にする場合、本人性の確認は難しいと思います。
初めての取引先については、信用調査を行って先方の担当者が言っている通りの会社であるかどうかを確認すると安心できます。もちろん、担当者がその取引先に所属しているかどうかの確認も必要です。
不特定多数を相手にする場合については、使用するPCを隔離ネットワーク上に配置してウィルスを送り込まれても機密情報にアクセスできない状態にする、といった対策が必要でしょう。

それは教えても良い情報ですか?

信頼出来る相手だからといって、何でも教えて良いわけではありません。教える相手により、教えても良い情報・教えてはならない情報は変わります。情報をきちんと分類しルール化しておくことで、誰に対してどこまで教えて良いのか判断できる必要があります。

これは情報セキュリティマネジメントシステム(ISMS)における機密性に該当します。
機密性とは、アクセス権を持つものだけが情報にアクセスできることを指します。

日本情報経済社会推進協会(JIPDEC)が、ISMSで定義している機密性の基準の例をご紹介します。

kawamura_004

最後に

いかがだったでしょうか。
ソーシャル・エンジニアリングで最もポピュラーな手口であるなりすまし、特に電話のように直接接触しないなりすましを中心にご紹介しました。
日本ではまだソーシャル・エンジニアリングの被害が大きく取り上げられることは多くありませんが、海外では被害が増加しています。
近い将来のために対策を練るきっかけにしていただけると嬉しいです。

それでは。

参考文献

欺術(ぎじゅつ)―史上最強のハッカーが明かす禁断の技法(ケビン・ミトニック、ウィリアム・サイモン著)
ソーシャル・エンジニアリング(クリストファー・ハドナジー著)
影響力の武器[第二版]―なぜ、人は動かされるのか(ロバート・B・チャルディーニ著)
ソニーBMGサイトからユーザー情報流出か、今度はギリシャでハッキング(ITmedia)
ソーシャル・エンジニアリング~ヒューマンハッキングの実態とは(INTERNET Watch)
日本情報経済社会推進協会-ISMS適合性評価制度