NIセキュリティ更新 5Q5FJ4QWによる影響とは?

更新しました May 4, 2023

使用製品

ソフトウェア

  • LabWindows/CVI

問題

ナショナルインスツルメンツ(NI)は、NIソフトウェアコンポーネントによりアプリケーションの権限がローカルで引き上げられてしまう脆弱性を解決するためのアップデートが入手可能であることを警告しています。なぜこの更新プログラムをインストールする必要があるのですか?また、それが自分のアプリケーションにどのような影響を及ぼすのですか?

解決策

ナショナルインスツルメンツは、ポートI/Oおよび物理メモリアクセス関数を実装する低レベルサポートドライバであるcvintdrv.sysにセキュリティ上の脆弱性を確認しました。このドライバは、ほとんどのNIソフトウェアに含まれているLabVIEWランタイムエンジンおよびLabWindows™/CVIランタイムエンジンとともにWindowsにインストールされます。このセキュリティの脆弱性は、2011年12月以前にリリースされたNIソフトウェアのバージョンに影響を及ぼします。NIは、すべてのユーザがNI更新サービスまたはNIドライバのダウンロードページからセキュリティアップデートをダウンロードしてインストールすることを推奨します。
 

セキュリティ脆弱性により、管理者権限のないアプリケーションの権限が引き上げられてしまう可能性のあります。このセキュリティ更新プログラムは、2つの方法でこれらの脆弱性を解決するcvintdrv.sysの改訂版を提供します。
 

  • 低レベルサポートドライバのポートI/O VIおよび関数を使用するアプリケーションを実行するには、管理者権限が必要です。管理者権限なしでポートI/O VIおよび関数を呼び出すとエラーが発生します。
  • アプリケーションでは物理メモリにアクセスする関数が使用できなくなりました。物理メモリにアクセスする関数は、すべてランタイムエラーを発生します。


     

影響を受けるのは、どのバージョンのLabVIEWおよびLabWindows/CVIランタイムエンジンですか?

この問題は、LabVIEWランタイムエンジン2011以前、およびLabWindows/CVIランタイムエンジン2010 SP1以前に影響します。LabVIEWおよびLabWindows/CVIランタイムエンジンは、ほとんどのNIソフトウェアに同梱されています。LabVIEW 2012およびLabWindows/CVI 2012以降には、セキュリティ更新が含まれています。


 

どのバージョンのWindowsが影響を受けますか?

低レベルサポートドライバの機能が利用できるのは32ビット版のWindowsオペレーティングシステム(OS)のみですが、低レベルサポートドライバは、64ビット版OSから32ビット版OSに再配布される場合があります。これは、32ビットアプリケーション用に作成されたインストーラにLabVIEWランタイムエンジンまたはLabWindows/CVIランタイムエンジンを含めた場合に発生します。このため、LabVIEW 2011以前またはLabWindows/CVI 2010 SP1以前がインストールされているすべてのWindows OSに適用することをお勧めします。


 

更新のインストール後、ビルドしたインストーラにその更新を含めるにはどうすればいいですか? 

LabVIEW 8.2以降では、LabVIEWアプリケーションビルダを使用してLabVIEWランタイムエンジンを含むインストーラを作成すると、アップデートが自動的にインストーラに含まれ、ターゲットマシンに適用できます。

LabVIEW 8.2以前では、すべてのターゲットマシンにセキュリティ更新 5Q5FJ4QWをインストールする必要があります。
 

LabWindows/CVI 8.0以降では、LabWindows/CVIランタイムエンジンに含まれるインストーラの配布機能を使用して作成した場合、この更新はインストーラに自動的に含まれ、ターゲットマシンに適用できます。

LabWindows/CVI 8.0以前では、すべてのターゲットマシンにセキュリティ更新 5Q5FJ4QWをインストールする必要があります。セキュリティ更新のインストーラは、NI Security Advisory 5Q5FJ4QW - Local privilege escalation vulnerabilityからダウンロードできます。



 

デプロイメント専用マシンの場合はどうすればいいですか?

LabVIEWまたはLabWindows/CVIランタイムエンジンはインストールされているが、LabVIEWまたはLabWindows/CVI開発環境はインストールされていないマシンの場合は、以下の方法があります。

  • マシンごとにNIドライバのダウンロードページからNIセキュリティ更新 5Q5FJ4QW をダウンロードしてインストールします。
  • 開発マシンに更新をインストールしてから、LabVIEWまたはLabWindows/CVIランタイムエンジンを含むアプリケーションインストーラを再作成し、各ターゲットマシン上で実行します。


     

更新した後に追加のNIソフトウェアをインストールした場合、更新を再適用する必要はありますか?

いいえ、更新は一度インストールすれば再インストールする必要はありません。他のバージョンのLabVIEW、LabWindows/CVI、またはそのランタイムエンジンをインストールしてもこの更新は有効で、その後にビルドしたインストーラに含まれます。


 

下位レベルドライバが更新されたかどうかを確認する方法はありますか?

マシン上の下位レベルドライバが更新されたバージョンかどうかを確認するには、この記事に添付されているUpdateValidator.exeアプリケーションを実行します。

 

アプリケーションコードを更新する必要はありますか?

LabVIEWでは、ポートI/O VIはLabVIEWのバージョンおよびオペレーティングシステムに応じて限られた容量でしか使用できません。 アプリケーションが管理者権限を必要とせずにポートI/O VIを使用している場合、このアップデートを適用した後にランタイムエラーが発生します。
 

LabWindows/CVIでは、ポートI/Oと物理メモリアクセス機能はユーティリティライブラリにあります。作成したアプリケーションで管理者権限を要求しないでPort I/O関数を使用しているか、物理メモリにアクセスする関数を使用している場合、この更新を適用した後はランタイムエラーが発生します。