概要
「LabVIEW」は、米ナショナルインスツルメンツ社がリリースしたシステムの設計・開発プラットフォームです。このソフトウェアは、データ収集、計測器制御、産業オートメーション向けのアプリケーションを作成するために広く使用されています。Talos では、LabVIEW で使用される独自のファイル形式である VI ファイルに脆弱性が潜んでいることを公表しています。特別に細工された VI ファイルを開くと、コード実行の脆弱性とメモリ破損の脆弱性が引き起こされる危険性があります。
TALOS-2017-0269 メモリ破損の脆弱性(CVE-2017-2775)
入力 VI ファイルの ‘LastSavedTarget’ セグメントを処理する際は、ループ条件で使用される 4 バイトが読み込まれ、labView 内部のヒープ構造のチャンクがクリアされます。無効なループ ターミネータを伴う LvVarientUnflatten 関数が指定されていると、攻撃者は内部ヒープ チャンクをクリアすることで、リモートでコードを実行できるようになる可能性があります。
詳細についてはこちらをご覧ください。
脆弱性が確認されているバージョン:LabVIEW 2016 バージョン 16.0
ディスカッション
特殊なファイル形式に脆弱性が存在する場合、組織内の特定の個人やシステムを狙う攻撃者にとっては大きなチャンスに映る可能性があります。どのような攻撃でも同じですが、脆弱性が突かれる危険性とは、脆弱なソフトウェアが存在するシステムにのみ存在するものです。LabVIEW はデータ収集および制御システムの自動化用途で広く使用されているため、LabVIEW の脆弱性が悪用されれば、物理システムを制御するデバイスへの突破口となる危険性すらあります。
LabVIEW などのソフトウェアを使用して物理システムを制御する組織では、制御ソフトウェアの脆弱性が悪用され、物理システムすらアクセスされる可能性性を念頭に置く必要があります。同様に、独自のファイル形式を採用している場合であってもソフトウェアの脆弱性とは無縁ではないことも覚えておく必要があります。たとえファイルの仕様が公開されていなくても、悪意のあるファイルによって引き起こされた脆弱性が後に見つかる可能性があります。
カバレッジ
この悪意ある試行は、以下の Snort ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、FireSIGHT Management Center、または Snort.org を参照してください。
Snort ルール:41370、-41371
本稿は 2017年3月22日に Talos Group のブログに投稿された「Vulnerability Spotlight: Code Execution Vulnerability in LabVIEW」の抄訳です。