NASAのオープンソース地上ソフトウェア「AMMOS Instrument Toolkit(AIT)-GUI」に重大な脆弱性が発見されました。認証されていない攻撃者が宇宙船や観測機器へのコマンドを発行したり、サーバー側スクリプトを実行したり、コマンドシーケンスを走らせたりできる恐れがあります。
AIT-GUIは、機器や宇宙船と通信する地上データシステム向けのオープンソースフレームワークであるNASAのAMMOS Instrument Toolkit用に用意された、ブラウザベースのオペレーターコンソールです。
GHSA-p9r8-2q67-fp86として追跡されているこの脆弱性は、CVSSスコア9.4と評価されており、AIT-GUIのバージョン2.5.1までが影響を受けます。本稿執筆時点では、CVE番号はまだ割り当てられていません。
Cycodeの研究者Yuval Elbar氏が8月18日にこの調査結果を公表しており、脆弱性はAIT-GUI 2.5.2で修正済みです。
宇宙船のセキュリティに関する関連記事: 欧州宇宙機関、サーバー侵害を確認
認証なしAPIがコマンド機能を露出
AIT-GUIは、設定されたホスト設定に従わず、すべてのネットワークインターフェース上でWebサーバーを起動してしまいます。さらにAPIには、状態を変更するエンドポイントに対する認証、認可、クロスサイトリクエストフォージェリ(CSRF)対策が一切施されていません。
/cmdルートはコマンドバスへコマンドを中継でき、/script/runと/seqはスクリプトやコマンドシーケンスを実行できます。さらに後者の2つのエンドポイントは、ユーザーが制御可能な入力から適切な制限なしにファイルシステムパスを組み立てており、意図されたディレクトリ外のファイルを実行対象として渡せてしまいます。
これらのWeb機能はオペレーターコンソールとコマンドインフラの間に位置するため、この組み合わせは重大な意味を持ちます。露出した運用技術(OT)環境におけるセキュリティ上の弱点も同様に、基本的なアクセス制御の不備が影響の大きい機能への侵入経路となり得ます。
この攻撃には、AIT-GUIサーバーへの直接的なネットワークアクセスが必ずしも必要というわけではありません。状態を変更するルートがCSRF対策なしにブラウザ互換のフォーム送信を受け付けてしまうため、オペレーターが閲覧した悪意あるWebサイトからサービスへリクエストを送信できてしまうのです。
Cycodeによると、ホストローカルまたはファイアウォールで保護されたデプロイメントにアクセスするオペレーターであっても、ブラウザを介して標的にされ得ることを実証したとしています。クロスオリジンのリクエストはCORSプリフライトなしで送信されました。
このプロジェクトでは、状態を変更するエンドポイントへの認証・認可の導入、CSRF対策、サーバーを設定済みホストにバインドすること、そして該当ルートに対するパス制限の実施を推奨しています。
8月21日追記。Infosecurityに対する声明でNASAは次のように述べています。「NASAジェット推進研究所(JPL)のエンジニアが、オープンソースのAMMOS AIT-GUI Web APIにおける脆弱性を確認し、解決しました。当機関はソフトウェア開発者やパートナーとの継続的な協力関係を維持しつつ、潜在的なリスクを特定・対処するため、ネットワーク、ソフトウェア、データを積極的に監視・評価しています」
同機関はさらに、バージョン2.5.2で問題を完全に解消済みであり、チームはユーザーコミュニティに向けてGithub上で詳細なセキュリティアドバイザリーを公開したと付け加えました。
AIT-GUIの利用者は、最新バージョンへのアップグレードと、米国国立標準技術研究所(NIST)のサイバーセキュリティのベストプラクティスに従うことが推奨されています。
「NASAは、外部の脆弱性が誰によっていつ発見される可能性もあることを認識しており、セキュリティ研究者が潜在的な脆弱性を報告する際の明確な指針を提供するため、脆弱性開示ポリシーを発行しています」と同機関はコメントしています。
さらに、NASAのシステムに関する脆弱性報告の公式窓口はBugcrowdであると強調しています。報告は次のリンクから提出できます: https://bugcrowd.com/engagements/nasa-vdp。
翻訳元: https://www.infosecurity-magazine.com/news/nasa-ground-control-software-flaw/