バッファオーバーフローの脅威と対策について考えてみた
はじめに
2025年春、某大手電気通信事業会社(以下、A社)に対するサイバー攻撃が発生しました。対象がインターネット黎明期を支えた有名企業だったこともあってか、ネットニュースやSNSでも大きく取り上げられ、業界を震撼させた出来事の一つであったと捉えています。
今回は、本件の手口となった「バッファオーバーフロー攻撃」について調査をしてみました。類似の攻撃に対処するにあたり、本記事が少しでもその助けとなれば幸いです。
インシデント発生システムの概要
バッファオーバーフローの攻撃対象となったシステムの概要です。
A社メールセキュリティソフト
- クラウド型の統合メールセキュリティを提供
- 不審なメールのブロック、誤送信・内部不正防止などの機能があり、レンタルサーバやMicrosoft 365等と連携して標準機能からの手軽なセキュリティ強化も可能
関連会社(以下、B社)提供Webメールソフト
- オンプレミス用Webメールシステム
- Webサーバへのインストールのみで使用可能
インシデント概要
A社、B社、IPA(情報処理推進機構)による、本インシデントに関する発表内容を要約すると、以下のようなものとなります。
【A社発表】
-
A社メールセキュリティソフトの設備が2024年8月以降不正なアクセスを受け、不正なプログラムを実行していたことを確認
-
これにより、
- 電子メールのアカウント・パスワードの漏洩: 132契約
- 送受信された電子メールの本文・ヘッダ情報の漏洩: 6契約
- 他社クラウドサービスの認証情報の漏洩: 488契約
が発生
-
スタックベースのバッファオーバーフロー(BOF)の脆弱性があり、これを悪用された
-
この脆弱性は、不正アクセス発生から発覚までの間は未発見で、この事例の発生によって明らかになった
【B社発表】
- 当該システムにスタックベースのバッファオーバーフローの弱性が存在
- 脆弱性がもたらす脅威として、「遠隔の第三者によって細工されたリクエストを送信された場合、任意のコードを実行されたり、サービス運用妨害(DoS)状態を引き起こされたりする可能性」
【IPAの発表】
-
共通脆弱性評価システムCVSS v3に基づき、脆弱性の深刻度を公開
-
スコアは9.8で、深刻度は最高評価「緊急」
参考: 深刻度とスコア
深刻度 スコア 緊急 9.0~10.0 重要 7.0~8.9 警告 4.0~6.9 注意 0.1~3.9 なし 0
バッファオーバーフロー攻撃について
以下、バッファオーバーフロー攻撃の概要と対策について調査した結果をまとめます。
【攻撃の概要】
プログラムは、コンピュータのメモリの一部に「バッファ」と呼ばれる作業領域を確保し、そこに外部から入力されたデータを一時的に格納します。
本来は、そのバッファの大きさに収まる範囲でしかデータを書き込めないようにすべきですが、入力の長さを正しく確認していないと、想定以上に大きなデータが流れ込み、バッファの外側の領域まで上書きしてしまうことがあります。これを「バッファオーバーフロー」と呼びます。
この状態になると、上書きされた領域に保持していた情報(変数の値や処理の手順)が壊れてしまい、プログラムが異常終了したり、悪意ある攻撃者によって仕込まれたデータを「命令」として実行したりしてしまう危険性があります。
攻撃者が任意のコードを実行させることができるので、極めて危険な脆弱性です。
【対策方法】
CやC++、アセンブラなど直接メモリを操作する言語で記述されているソフトウェアで起こることがほとんどであるため、可能であればこれらを使わないというのが最大の対策となります。
既にそういった言語で作成済みのソフトウェアのメンテナンスの際は、
-
入力値の検証と境界チェックの徹底
→ ユーザーからの入力は必ずサイズを確認する、境界チェックを伴わない危険な関数を置き換える など -
安全なメモリ管理の徹底
→ 動的メモリ割り当て時は確保したサイズに対するアクセスを必ず制御する、メモリ解放後のポインタを必ずNULLクリアする など
といった対策があります。
また、バッファオーバーフロー対策に限らずですが、一般に流通しているライブラリであってもバージョンアップを欠かさず行い、既知の脆弱性に対する予防を行うことが重要です。
おわりに
この度公開されたインシデントは、ややレガシーなシステムを主な対象とするだけあり、現時点では自分自身とは直接関係はないものではあります。しかし、将来そうしたシステムに触れる可能性はもちろん、手口を覚えておくことで他のことに応用が利くことが期待できたり、また今回の調査を通して、インシデント発生からのリアルな流れを体感することができ、普段の業務に対する適切な緊張感を持てたりという効果があったかと感じます。
今後も定期的にIPAのトップページやネットニュース等で公開されるインシデントをチェックして、キャッチアップし自分の糧にしたいと思います。
参考文献