Google Spreadsheet の機能を利用したサイバー攻撃を防ぐ方法は?

Google スプレッドシート(Google Sheets)の機能は、とても強力でエクセルなどのマクロ以上ともいわれ、短いコードで外部との接続や情報の授受ができてしまう。Pythonでもかなりのコードが必要なHTMLからのデータ獲得も1行で済ませられる。

Google Formsの便利な出欠登録や、評価情報収集分析などもGoogle Spreadsheetの機能を利用し、とても短いプログラムでいろいろなことができる。

この強力な機能を利用したサイバー攻撃が発生することは十分考えられる。
同様に、Microsoft Teamsも類似の機能とサイバー防衛策が必要になると予想される。
便利な機能は、恐怖も伴っているのだ。
まずは、Google Spreadsheetの防御の考え方を調べてみた。

Geminiに問題の所在と対策の考え方を聞いた内容をご紹介。

Google スプレッドシート(Google Sheets)の機能を悪用したサイバー攻撃(悪意あるスクリプトの実行、データ持ち出し、フィッシング詐欺、外部C2サーバーとの通信拠点化など)を防ぐには、組織レベルの統制(Google Workspaceの管理設定)と利用者のセキュリティ意識向上を組み合わせた多層防御が不可欠です。

主要な攻撃手口に対する具体的な防衛対策をまとめました。

1. Apps Script(マクロ/VBAに相当)の悪用対策

攻撃者は Google Apps Script(GAS)を利用して、外部への不正通信、マルウェアのダウンロード、マルウェアを操作するC2(Command and Control)サーバーとの通信などを自動化することがあります。

  • アクセス権限の最小化(管理者設定)
    • Google Workspace の管理コンソールから、組織部門ごとに Google Apps Script の使用権限や実行可能な API スコープを制限します。
  • 外部ドメインへのリクエスト( UrlFetchApp )の監視・制限
    • Apps Script から外部Webサイトへリクエストを送信できる UrlFetchApp などの機能を過度に許可しない運用ルールを設けます。
    • ネットワークレベルで、 script.google.com script.googleusercontent.com からの未承認なアウトバウンド通信を監視・検知します。
  • スクリプト実行時の初回認証(OAuth)チェック
    • Apps Script を実行する際、アカウント情報やドライブへのアクセス権限を要求するプロンプトが表示されます。不審な野良スクリプトに対して不用意に「承認(Allow)」を押さないよう周知徹底します。

2. 外部通信関数( IMPORTXML , IMPORTRANGE 等)の悪用対策

IMPORTXML IMPORTHTML などの関数を使って、社内の不審なデータを外部に送信させたり、外部の有害なコンテンツを取り込ませたりする攻撃(SSRFやデータフィッシング)が存在します。

  • 外部ドメイン参照の警告確認
    • 新しい外部URLを参照する関数を実行する際、Google スプレッドシートはアクセス許可の確認ダイアログを表示します。送信先やデータ取得先のドメインが信頼できるか確認してから許可する運用を徹底します。
  • CASB(クラウド・アクセス・セキュリティ・ブローカー)によるデータ流入・流出監視
    • ネットワークプロキシやCASBを導入し、スプレッドシート経由で不審な外部IP/ドメインとの通信が発生していないかを可視化・遮断します。

3. 外部共有設定とデータ漏洩対策(DLP)

リンクを知っている全員への公開設定や、外部ユーザーへの編集権限付与を悪用したデータ強奪や改ざんを防ぎます。

  • Google Workspace DLP(データ損失防止)ルールの適用
    • マイナンバー、クレジットカード番号、機密文書タグなどが含まれるスプレッドシートに対し、「ドメイン外への共有禁止」「外部共有時の警告表示」「共有リンク作成の制限」 を自動適用します。
  • 組織外への共有制限(管理コンソール)
    • 原則として、ドライブ全体の共有範囲を「組織内のみ」に制限し、例外的に外部共有が必要なユーザーのみ個別に許可する運用にします。
  • 「ダウンロード・印刷・コピーの共有相手に対する無効化」の有効化
    • 機密情報を扱うファイルでは、共有設定の詳細から「閲覧者と閲覧者(コメント可)に、ダウンロード、印刷、コピーの項目を表示させます」のチェックを外します。

4. Google フォームやフォーム連携機能を利用したフィッシング・マルウェア拡散対策

Google フォームとスプレッドシートの連携機能を使い、悪質なリンク(短縮URL等)を送りつけたり、認証情報を窃取しようとしたりする手口です。

  • セキュリティツール(安全Webブラウジング/EDR)の強化
    • シート内に貼り付けられたリダイレクトリンクや悪質なURLをクリックした際に、ブラウザ(Google Chromeなど)の「保護機能強化モード」やWebフィルタリングでリアルタイム遮断できるようにします。
  • セキュアな編集権限管理
    • 共同編集者(Editor)の権限を与える範囲を最小限にし、不特定多数がシートに悪質なハイパーリンクやスクリプトを埋め込めない状態を作ります。

対策チェックリスト(優先順位別)

区分 実施対策 目的
管理者(Workspace) DLP(データ損失防止)ポリシーの設定 機密データのドメイン外漏洩を自動ブロック
管理者(Workspace) Apps Scriptの利用・外部共有権限の制限 野良スクリプトの実行や無制限なファイル共有の防止
ネットワーク/端末 CASB / EDRによる通信・実行監視 script.googleusercontent.com  等を介した不審通信の検知
ユーザー運用 Apps Script初回実行時のアクセス許可厳格化 アカウント権限奪取(OAuth攻撃)の防衛
ユーザー運用 IMPORTRANGE  等の外部参照許可の事前確認 意図しない外部通信(SSRF)やデータ送信の防止