攻撃者は衛星システムに侵入後、どのような攻撃を行うのか?
目次
- はじめに
- 衛星セキュリティの実態
- 登場人物(コンポーネント)の紹介
- 実際に観測された攻撃の流れ
- この論文で面白いと思った点
- まとめ
はじめに
衛星システムへのサイバー攻撃と聞くと、SF映画のようなイメージを持たれるかもしれません。
今回読んだ HoneySat という論文は、攻撃者が衛星システムらしい環境に侵入した際に、どのような操作を行うのかを観測する研究です。
これまで衛星システムは、専門性の高さやアクセスの難しさから、ある種の security by obscurity に支えられてきた面がありました。
しかし、衛星技術や地上局技術の低価格化・オープンソース化が進むことで、その前提は以前ほど強くは成り立たなくなってきています。
この論文は、そのような背景の中で、衛星システムに対する攻撃者の行動を観測するために作られたハニーポットの研究です。
とても面白かったので、学習アウトプットとしてまとめてみます。
衛星セキュリティの実態
衛星システムのセキュリティに注目が集まっている理由はいくつかあります。
1つ目は、衛星の利用が広がっていることです。
論文では、2008年から2017年までの打ち上げ回数の平均が82回だったのに対して、2023年だけで197回の打ち上げが行われたと述べられています。
2つ目は、Ground Segment、つまり地上側の衛星運用システムの技術が安価になり、オープンソース化も進んでいることです。
衛星と聞くと、宇宙空間にある機体そのものを想像しがちです。しかし実際には、衛星を操作するための地上局、サーバー、ネットワーク、運用ソフトウェアなどが存在します。
これらの地上側のシステムも、攻撃対象になり得ます。
また、衛星はGPS、通信、金融取引、農業、災害対応など、さまざまな社会インフラに関わっています。
そのため、衛星システムへの攻撃は、単に「宇宙分野の問題」にとどまらず、社会全体に影響を与える可能性があります。
ハニーポットとは、攻撃者を誘い込むためのおとりシステムです。
攻撃者が接続したときの操作、入力したコマンド、通信内容などを記録することで、実際の攻撃者がどのような行動を取るのかを観測できます。
HoneySatでは、この考え方を衛星システムに応用し、攻撃者がGround Segmentに到達した後、どのような衛星固有コマンドを実行するのかを調べています。
登場人物(コンポーネント)の紹介
HoneySatを理解するために、まず登場するコンポーネントを整理します。
| 名前 | 役割 |
|---|---|
| Ground Segment | 地上局側。衛星を操作するためのサーバー、ネットワーク、運用ソフトウェアがある |
| Space Segment | 宇宙側。衛星本体や衛星シミュレーションがある |
| Ground Segment Software | 衛星にコマンドを送ったり、テレメトリを見るための地上局ソフトウェア |
| TC / Telecommand | 地上から衛星へ送る命令 |
| TM / Telemetry | 衛星から地上へ返る状態データ |
| Radio Simulator | 本来の無線通信部分を再現するシミュレータ |
| Flight Software Runtime | 衛星側のフライトソフトウェアを動かす環境 |
| Satellite Simulator | 衛星の軌道、電力、温度、姿勢などを再現するシミュレータ |
HoneySatは、大きく分けて Ground Segment と Space Segment の2つのシミュレーションセットで構成されています。
Ground Segmentは、衛星運用者が地上で使用するサーバー、ネットワークインフラ、運用ソフトウェアを模した領域です。
攻撃者はまず、TelnetやVNCなどのプロトコルを通じて、このGround Segment側に接続します。
Space Segmentは、軌道上の衛星本体を模した領域です。
ここには、衛星の「脳」にあたるフライトソフトウェアや、軌道・電力・温度・姿勢などの物理状態を計算するSatellite Simulatorが含まれます。
地上と宇宙側のやり取りでは、主に次の2種類のデータが登場します。
-
TC / Telecommand
地上の運用者、または攻撃者が、衛星を操作するために送信する命令です。 -
TM / Telemetry
衛星から地上へ返される状態データです。バッテリー残量、温度、姿勢、センサー情報などが含まれます。
HoneySatの特徴の一つが、Radio Simulator です。
実際の衛星は、地上局の上空を通過する「オービタルパス」の間しか通信できない場合があります。
Radio Simulatorは、この制約を再現するために、軌道計算に基づいて通信の有効・無効を切り替えます。
これにより、攻撃者は衛星が通信可能な位置にいない間はTCを送ることができず、本物の衛星運用に近い体験をすることになります。
システム全体の動作フローは、ざっくり以下のようになります。
攻撃者
↓
Telnet / VNC / Web / raw packet access
↓
Ground Segment Software
↓
TC / Telecommand
↓
Radio Simulator
↓
Flight Software Runtime
↓
Satellite Simulator
↓
TM / Telemetry
↓
攻撃者
重要なのは、攻撃者が衛星本体に直接ログインしているわけではない点です。
攻撃者は、まずGround Segment側に接続し、そこからTelecommandを通じてSpace Segment側へ命令を送ろうとします。
実際に観測された攻撃の流れ
HoneySatをインターネット上に公開した実験では、合計22件のフライトソフトウェア固有のコマンドが記録されました。
ここで面白いのは、攻撃者が単に ls や cat のような一般的なLinuxコマンドを試しただけではない点です。
tm、com、obc のように、Telemetry、通信、On-Board Computerに関係する衛星固有のコマンドを実行していました。
論文では、特に複雑だったセッションとして、米国に配置されたACS3模擬衛星への攻撃が説明されています。
流れとしては、以下のようなものでした。
1. Ground Segmentへの初期アクセス
攻撃者はまず、インターネット上に公開されていたTelnetサーバーに接続しました。
これは、衛星そのものに直接ログインしたというより、衛星を操作するためのGround Segment側の入口に到達した、というイメージです。
SPACE-SHIELDでは、これは Ground Segment Compromise に対応すると説明されています。
2. 偵察:使えるコマンドを調べる
次に、攻撃者は以下のコマンドを実行しました。
help
test
これは、Ground Segment SoftwareやFlight Softwareがどのような命令を受け付けるのかを調べる行動です。
通常のサーバー攻撃でも、侵入後にまずシステムの情報を調べることがあります。それと同じように、ここでは衛星システムで使えるコマンドを確認していました。
3. Telemetryの取得を試みる
利用可能なコマンドを確認した後、攻撃者は次のコマンドを実行しました。
tm dump 0x0000
tm はTelemetryを意味します。
Telemetryとは、衛星から地上に返される状態データです。たとえば、電力、温度、姿勢、センサー情報などが含まれます。
つまりこの操作は、衛星の運用データを取得しようとする行動だと考えられます。
4. 衛星との通信確認
続いて、攻撃者は以下のコマンドを実行しました。
com ping
これは、対象の宇宙機と通信できるかを確認する操作です。
通常のネットワークで ping を使って疎通確認をするのと似ていますが、ここでは衛星通信系の文脈で使われています。
攻撃者は、Ground SegmentからSpace Segment側に通信できるかを確認しようとしていたと考えられます。
5. センサー情報の取得
さらに、攻撃者は以下のようなコマンドを実行しました。
tm parse beacon
obc get sensor
tm parse beacon は、衛星が定期的に送るビーコンテレメトリを解析するコマンドです。
obc get sensor は、OBC、つまりOn-Board Computerを通じて、特定のセンサー情報を取得するコマンドです。
ここから、攻撃者が単に接続できるかを確認していただけではなく、衛星の内部状態やセンサー情報を取得しようとしていたことが分かります。
6. OBC状態の変更試行
最後に、攻撃者は以下のコマンドを実行しました。
obc update status
OBCはOn-Board Computerの略で、衛星の中核的なコンピュータです。
obc update status は、OBCの状態変数を変更しようとするコマンドです。
ここで注意したいのは、これは本物の衛星の状態を変更したわけではなく、HoneySat上のシミュレーション環境に対する操作である点です。
しかし、このようなコマンドが観測されたことは、攻撃者が単なる探索だけでなく、衛星の制御状態に影響を与えるような操作も試みていたことを示しています。
まとめ
実際に観測されたコマンドには、Telemetryの取得、通信確認、センサー情報の取得、OBC状態の変更試行などが含まれていました。
これらは、通常のWebサーバーやLinuxサーバーとは異なる、衛星システム特有の攻撃面を示しています。
また、衛星はGPS、通信、金融、農業、災害対応など、社会インフラに深く関わっています。
そのため、衛星システムに対する攻撃は、単なる一つのシステム障害ではなく、社会的な影響を持つ可能性があります。
意外と、自分の知らない分野の論文を読むことで、普段触れているWebやサーバーとは違うセキュリティの世界が見えて面白かったです。
一方で、OBCの状態変数の変更が実際にどのような影響をもたらすのかについては、正直まだあまり理解できていません。
宇宙システムそのものの知識不足をかなり感じたので、個人的には宇宙分野について勉強するきっかけにもなりました。(正直、宇宙よくわからん!!)
より詳しく知りたい方は、ぜひ論文を直接読んでみてください。
参考
- HoneySat: A Network-based Satellite Honeypot Framework
https://www.ndss-symposium.org/wp-content/uploads/2026-f537-paper.pdf
