日本語
  • セキュリティ
  • ソーシャルエンジニアリング
  • フィッシング

ソーシャルエンジニアリング

ソーシャルエンジニアリングは、人々を操作して機密情報を提供させる技術です。すべてのサイバー犯罪はソーシャルエンジニアリング攻撃から始まります。その仕組みや、それから身を守る方法を見ていきましょう。

Simeng
Simeng
Developer

はじめに

サイバーセキュリティというと、多くの人は SQL インジェクション、クロスサイトスクリプティング、中間者攻撃、またはマルウェアのような技術的な攻撃を思い浮かべます。しかし、最も一般的で効果的な攻撃は、実際には技術的なものではありません。ソーシャルエンジニアリングは、人々を操作して機密情報を提供させる技術です。すべてのサイバー犯罪はソーシャルエンジニアリング攻撃から始まります。

こちらは Wikipedia の定義です:

情報セキュリティの文脈において、ソーシャルエンジニアリングとは、人々を心理的に操作し、行動を取らせたり、機密情報を漏らさせたりすることです。情報収集や詐欺、またはシステムへのアクセスを目的とした一種の信用詐欺であり、これは通常、従来の「コン」とは異なり、より複雑な詐欺スキームの多くのステップの一つとして行われます。[1] また、「個人が自分の利益になるかどうかに関係なく、何らかの行動を取るように影響を与える行為のすべて」という定義もされています。

これらの犯罪者が求めている情報の種類はさまざまですが、個人がターゲットにされた場合、通常はパスワードや個人情報を提供させる、またはコンピュータにマルウェアを密かにインストールさせて、パスワードや銀行情報にアクセスしたり、コンピュータを制御するようなことを試みます。

ソーシャルエンジニアリングはどのように機能するのか?

ソーシャルエンジニアリング攻撃は一つ以上の段階で発生します。多くの場合、ソーシャルエンジニアリング攻撃は攻撃者と被害者の間の実際のコミュニケーションに依存しています。被害者は通常、複数の攻撃者によって長期間にわたって標的にされ、攻撃は検出を避けるために巧妙に設計されています。成功した攻撃は次のステップで構成されます:

  1. 調査: 攻撃者はターゲットに関する情報を収集し、攻撃を実行するのに必要な潜在的な侵入ポイントやセキュリティが弱いプロトコルを探ります。今日の世界では、オンラインで個人についての情報を見つけるのは非常に簡単です。たとえば、ソーシャルメディアのプロフィールからその人のメールアドレス、電話番号、さらには自宅の住所さえも見つけることができます。また、彼らの職場、職務内容、そして誰と協力しているのかを知ることができます。この情報は、次のステップで非常に説得力のあるフィッシングメールや電話を構築するために使用されます。

  2. フック: 攻撃者はその情報を使って、ターゲットを誘導するための信じやすいシナリオを作成します。たとえば、攻撃者は被害者に電話して、銀行のカスタマーサービス担当者を装い、アカウント情報を確認とは問い合わせます。または、会社の従業員に電話して IT サポート担当者を装い、パスワードのリセットを依頼するかもしれません。

  3. 感情で操作: 攻撃者は感情を利用して被害者を即座に行動させ、考えずに対応させます。たとえば、攻撃者は罰金、ペナルティ、起訴を避けるために直ちに対応するよう迫るか、または被害者の貪欲さに訴え、多額の金銭や報酬を約束するかもしれません。

  4. 実行: 攻撃者は攻撃を実行し、これはさまざまな形を取ることができます。たとえば、次のような方法で攻撃が行われる可能性があります:

    • 被害者をだましてコンピュータにマルウェアをインストールさせる。
    • 被害者をだまして機密情報をメールや電話で漏らさせる。
    • 被害者をだまして攻撃者に送金させる。
    • 被害者をだましてメールや SMS の中の悪意あるリンクをクリックさせる。

これらのステップは非常に短期間で発生することもあれば、数週間から数ヶ月にわたることもあります。攻撃者は 1 人の人間をターゲットにすることもあれば、複数の人々をターゲットにすることもあります。接続の手段は電話、メール、SMS、ソーシャルメディアチャットなどが考えられますが、最終的に情報を共有したり、自分自身をマルウェアに晒したりするような行動に至ります。

ソーシャルエンジニアリング攻撃の種類

ソーシャルエンジニアリング攻撃には多くの種類があり、それぞれが異なる目的や目標を持っています。ここでは、最も一般的なソーシャルエンジニアリング攻撃の種類をいくつか紹介します:

スパムフィッシング

スパムフィッシングは、最も一般的なソーシャルエンジニアリング攻撃の一つです。攻撃者が無作為に選ばれた人々に対して大量にメールを送信し、いくつかの人がその詐欺に引っかかるのを期待するタイプのフィッシング攻撃です。これらのメールは通常、偽のメールアドレスから送信され、悪意のあるウェブサイトへのリンクや悪意のある添付ファイルを含んでいます。攻撃の目的は、被害者をだましてリンクをクリックさせたり、添付ファイルを開かせたりして、コンピュータにマルウェアをインストールさせることです。

次のような未承諾のメールが受信トレイに届いたと想像してください。件名にはあなたが大金を当選したという魅力的な内容が書かれています。メールのタイトルには100 万ドルを獲得し、すぐに賞金を請求する必要があると述べられています。

メールを開くと、抽選での当選を祝うメッセージが表示されます。大金を得られるといった派手な約束が含まれているかもしれません。メールには、あなたが賞金を請求するためにクリックするリンクや、連絡するための情報が含まれています。

このメールはスパムフィッシング攻撃の典型的な兆候を示しています:

  1. 未承諾: あなたは抽選やコンテストに参加していないので、賞金を獲得するはずがありません。

  2. うますぎる話: 明らかな理由がないのに大金を約束されるのは、被害者を誘惑するための一般的な手法です。

  3. 緊急性: 賞金を請求するには急いで行動する必要があると主張し、緊急感を煽っています。

  4. 個人情報や金銭の要求: 賞金を「請求」するために、個人情報を提供したり、料金を支払ったり、処理費用を負担するために振り込みを行うよう求められるかもしれません。

スピアフィッシング

スピアフィッシングは、攻撃者が特定の個人やグループをターゲットとするフィッシング攻撃の一種です。攻撃者はターゲットについて調査を行い、それに基づいて個人的なメールを送信します。このメールは信頼できる送信元からのもののように見えることが多く、通常は悪意のあるウェブサイトへのリンクや悪意のある添付ファイルを含んでいます。攻撃の目的は、被害者をだましてリンクをクリックさせたり、添付ファイルを開かせたりして、コンピュータにマルウェアをインストールさせることです。スパムフィッシングとは異なり、スピアフィッシング攻撃は非常にターゲットを絞って個別に行われ、その成功率がはるかに高いです。

このスピアフィッシングのシナリオでは、同僚や知り合いからのように見せかけたメールを受け取ります。件名には、重要なセキュリティ通知が含まれていることを示す文章があります。スピアフィッシングが通常のフィッシングとは異なるのは、攻撃者が特定の個人を対象にし、そのターゲットについていくつかの情報を持っていることが多い点です。

メールを開くと、IT アドバイザーのチャールズからのものだというメッセージが表示されます。メールにはあなたのフルネームが記載されており、職場のアカウントに疑わしいセキュリティ侵害があったとのことです。メールにはリンクをクリックまたは添付ファイルをダウンロードしてアカウントを保護するように求められています。リンクをクリックすると、会社のログインページとそっくりなウェブサイトに移動し、ユーザー名とパスワードを入力します。これで攻撃者があなたのアカウントにアクセスできるようになります。

このメールはスピアフィッシング攻撃の典型的な兆候を示しています:

  1. 個別対応: メールがフルネームであなたに宛てて送られており、信頼性があるように見えます。

  2. 緊急性: メッセージは緊急性を感じさせ、セキュリティ問題に対処するために即座に行動する必要があるように思わせます。

  3. 行動の要求: メールはリンクをクリックしたり、添付ファイルをダウンロードするよう求めています。これらのリンクや添付ファイルには、マルウェアやフィッシングサイトが含まれていることが多いです。

ベイティング

ベイティングは、攻撃者が被害者の個人情報を引き出すために、被害者にとって魅力的なものを提供するタイプのソーシャルエンジニアリング攻撃です。たとえば、攻撃者は無料のギフトカードや無料の映画ダウンロードを提供する代わりに、被害者のメールアドレスを要求するかもしれません。攻撃の目的は、被害者をだまして個人情報を提供させ、その情報を使ってアイデンティティの盗難や詐欺を行うことです。これは被害者の好奇心や貪欲さを利用したものです。

このベイティングのシナリオでは、攻撃者が公共の場所に USB ドライブを置く行為が想像されています。例えば、コーヒーショップや駐車場です。USB ドライブには「機密事項」または「プライベート」とラベルが付けられており、それをコンピュータに接続するとマルウェアをインストールする悪意のあるプログラムが含まれています。攻撃の目的は、被害者をだまして USB ドライブをコンピュータに差し込ませ、その結果としてコンピュータにマルウェアをインストールさせることです。

あなたはその USB ドライブをコンピュータに差し込み、貴重な情報を見つけようとします。ファイル名は「Confidential_Project_Data.csv」と表示されますが、ファイルを開こうとすると、隠されたスクリプトが実行され、あなたのコンピュータにマルウェアが感染します。

このベイティング攻撃では次のような特徴があります:

  1. は「Confidential」や「Private」とラベル付けされた USB ドライブで、特に仕事場や職業環境では魅力的なものとして捉えられます。
  2. 好奇心の要素:人間の好奇心が脆弱性として利用され、人々に通常は避けるだろう行動を取りやすくします。

ウォーターホーリング

ウォーターホーリングは、攻撃者が特定のグループの人々をターゲットにし、彼らが訪れそうなウェブサイトを感染させるタイプのソーシャルエンジニアリング攻撃です。たとえば、攻撃者は人気のあるニュースサイトや人気のあるソーシャルメディアサイトを感染させるかもしれません。攻撃の目的は、被害者を感染したウェブサイトに誘導し、コンピュータにマルウェアをインストールさせることです。

一群の攻撃者が、サイバーセキュリティ専門家のコミュニティを代表する特定の業界団体のセキュリティを侵害しようとしています。攻撃者たちは、機密データを盗み、サイバーセキュリティ専門家のシステムに侵入することを目指しています。

攻撃者たちは、このコミュニティが使用しているよく知られた、そして尊敬されているウェブサイトを特定します。この場合、彼らはその業界団体の公式ウェブサイトを選びます攻撃者たちは業界団体のウェブサイトに脆弱性を見つけ出し、それを利用します。SQL インジェクションやクロスサイトスクリプティング(XSS)などの技術的手法を使って、そのサイトのコンテンツ管理システムに不正にアクセスします。 攻撃者たちはウェブサイトにアクセスすると、そのサイトのページに悪意のあるコードを注入します。このコードは、感染したページの訪問者にマルウェアを配布するように設計されています。

その後、攻撃者たちはサイバーセキュリティ専門家がそのウェブサイトを訪問するのを待ちます。多くのサイバーセキュリティ専門家が日常的にそのサイトをチェックして、最新情報やニュース、リソースを得ていることを知っているためです。

サイバーセキュリティ専門家が記事を読むため、ウェビナーに参加するため、またはリソースをダウンロードするために業界団体のウェブサイトを訪問すると、知らぬ間に注入されたマルウェアにデバイスがさらされます。このマルウェアは、ログイン情報や個人データなどの機密情報を盗むかもしれません。また、攻撃者がさらなる攻撃を行うための足がかりとして、ターゲットのシステムの既知の脆弱性を利用することもできます。

このウォーターホーリング攻撃では次のことがあります:

  1. ウォーターホールは業界団体のウェブサイトであり、サイバーセキュリティ専門家が頻繁に訪れる場所です。
  2. 特定のターゲット:この場合、サイバーセキュリティ専門家をターゲットにしています。
  3. 信頼の悪用:攻撃者はサイバーセキュリティ専門家が業界団体のウェブサイトに持っている信頼を悪用しています。
  4. 脆弱性の悪用:攻撃者はウェブサイトのコンテンツ管理システムの脆弱性を悪用して、サイトのページに悪意のあるコードを注入します。

ソーシャルエンジニアリング攻撃から身を守る方法

ソーシャルエンジニアリング攻撃から身を守るには、意識、懐疑心、そしてベストプラクティスの組み合わせが必要です。以下はソーシャルエンジニアリング攻撃から自分を守るための重要なステップです:

  1. 自己教育: フィッシング、プレテキスティング、ベイティング、テールゲーティングなど、一般的なソーシャルエンジニアリングの戦術について学びましょう。最新のソーシャルエンジニアリング技術やトレンドにも注目しましょう。

  2. 身元の確認: 個人または組織から個人情報や機密情報を要求される場合は、必ずその身元を確認してください。電話番号やメール、ウェブサイトに対して一方的に提供された情報のみを信用しないでください。信頼できる情報源から独立して取得した正式な連絡先を使用しましょう。

  3. 要求の疑問化: 個人情報、財務情報、機密情報などの未承諾の要求には懐疑的になるべきです。正当な組織は、通常、メールや電話でこのような情報を要求しません。誰かが機密情報を求める場合、その必要性と使用方法について問いただしましょう。

  4. 緊急性や圧力に注意: ソーシャルエンジニアは、考えずに決定を下すように急がせるため、緊急感を作り出すことがよくあります。リクエストやオファーを検討する時間を取りましょう。状況の正当性を確認してください。

  5. 物理的アクセスの保護: 知られざるアクセスから物理的な作業空間を保護しましょう。使用していないときはコンピュータやデバイスをロックしてください。不明な人物が安全なエリアに入ることには常に警戒心を持ちましょう。

  6. 従業員教育: 組織の一員であれば、従業員にソーシャルエンジニアリング意識向上トレーニングを提供しましょう。従業員に疑わしい活動を認識し、報告するよう教えましょう。

  7. 信頼できる情報源を使用: 信頼できる、検証済みの情報源から情報を入手してください。非公式なウェブサイトや未検証のニュースに頼ることは避けましょう。

  8. データの暗号化: 機密データを保護するためには、保存時および伝送中のデータを暗号化しましょう。

安全なオンライン行動の実践

開発者やビジネスオーナー向けに。もしウェブアプリケーションを開発しているのであれば、ユーザーをソーシャルエンジニアリング攻撃から保護するためのベストプラクティスに従うべきです。アプリケーションに追加のセキュリティを有効にする方法はいくつかあります:

  1. 強力なパスワードを使用すること。 多くの人は個人情報に基づいて推測しやすい弱いパスワードを使用しています。安全で信頼できるユーザーアイデンティティ管理システムを実装するには、強力なパスワードポリシーを有効にする必要があります。これにより、適切なセキュリティ対策が施されないままユーザーが弱いパスワードを使用するのを防ぐことができます。
  2. 多要素認証を有効にすること。 多要素認証 (MFA) は、パスワードに加えて電話や別のデバイスからのコードを要求することで、ユーザーのアカウントに対するセキュリティを強化する追加のレイヤーを提供します。これにより、攻撃者がクライアントのアカウントにアクセスするのははるかに難しくなります。クライアントのパスワードが漏洩したとしても、攻撃者は 2 番目の要素がない限りアカウントにアクセスできないでしょう。
  3. ユーザーデータを暗号化すること。 ユーザーデータを暗号化することで、無許可のアクセスからデータを保護することができます。攻撃者がデータベースにアクセスしたとしても、暗号化キーがないとデータを読むことができません。これにより、クライアントの個人情報の盗難を防ぐことができます。
  4. アクセスキーを頻繁にローテーションさせること。 アクセスキーはアプリケーションのリソースにアクセスするために使用されます。攻撃者がアクセスキーにアクセスすると、あなたの許可なくアプリケーションのリソースにアクセスできるようになります。これを防ぐために、アクセスキーを頻繁にローテーションさせるべきです。
  5. モダンな認証システムを使用すること。 OAuth 2.0 や OpenID Connect のようなモダンな認証プロトコルは、SAML や WS-Federation などの古いプロトコルよりもはるかに安全です。モダンな暗号化アルゴリズムを使用しており、攻撃されにくくなっています。
  6. サインインリダイレクト URL とデバイスを事前に登録すること。 認証に OAuth 2.0 や OpenID Connect を使用している場合、サインインのリダイレクト URL とデバイスを事前に登録することを検討してください。これにより、攻撃者がクライアントのアカウントを使用して自身のデバイスからアプリケーションにサインインするのを防ぐことができます。