Windows 10 Fall Creators Update を適用すると誤動作します。

Windows 10 Fall Creators Update (バージョン1709、ビルド16299.19) の適用後、
「アバスト インターネット セキュリティ」をインストールしている環境において、
「挙動監視シールド」「ランサムウェアシールド」のいずれかが有効の場合、
.NET Framework 2.0 以降 の 32ビットアプリで、一部の処理が誤動作します。

アバストのプログラムバージョンは「17.8.2318 (build 17.8.3705.249)」、
ウイルス定義バージョンは「171120-14」です。

再現方法は以下の通りです。

(1) Visual Studio (2005 以降) で、Visual Basic の
Windows アプリケーション プロジェクトを作成。

(2) 対象プラットフォームを x86 に設定。

  1. ツールバーの「ビルド」⇒「構成マネージャ」をクリック。
  2. 「アクティブソリューションプラットフォーム」で「新規作成」を選択。
  3. プラットフォームとして「x86」を選択して「OK」をクリック。
  4. 「閉じる」をクリック。

(3) フォームに Button コントロールを配置。

(4) フォームのソースに下記を記入。
(二重起動の判定に利用される一般的な処理の一部です。)

Public Class Form1

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Using objMutex As Threading.Mutex = New Threading.Mutex(False, "test12345")

      If objMutex.WaitOne(0, False) = True Then
        objMutex.ReleaseMutex()
        MessageBox.Show("OK")
      Else
        MessageBox.Show("NG")
      End If

    End Using

  End Sub

End Class

(5) EXE を作成して実行し、ボタンをクリックする。

  ⇒正常であれば「OK」と表示されるはずが、「NG」と表示される。
    ボタンを2回以上押すと「OK」と表示されるようになる。

Visual Studio は 2005 / 2013、.NET Framework は 2.0 / 4 / 4.5.1
として Windows 7 Pro SP1 64bit で EXE を作成し、
Windows 10 Pro 64bit で実行したところ、いずれでも症状が発生します。

これは、「アバスト インターネット セキュリティ」の問題でしょうか。

こんばんは shiy さん

詳細な報告ありがとうございます。
挙動監視シールドとランサムウェアシールドの両方を無効にすると、症状が発生しないということであれば、Avast に何らかの原因があることは確かかと思います。
Windows 10 Fall Creators Update のみで発生する問題(Windows 7 では発生しない)、ということでよいでしょうか。

確認ですが、挙動監視シールドの除外設定(設定 → コンポーネント → 挙動監視シールドの「カスタマイズ」 → スキャンからの除外)あるいはランサムウェアシールドの除外設定(Avast ユーザーインターフェース → プロテクション → ランサムウェアシールド → ブロック/許可するアプリ → アプリを許可)にアプリを追加すると、症状に変化はあるでしょうか。

上記内容と合わせ、Avast の開発陣に情報を上げたいと思います。


21:13追記:

バージョン17.9にて修正されるとのことです。

ご返信いただき、ありがとうございます。
修正いただけるということで、感謝しております。

おそらく不要な情報となるかもしれませんが、
一応、確認点について回答させていただきます。

はい。Windows 7 では発生しません。

また、Windows 10 についても「Creators Update」で確認したところ、
同じ症状は発生しませんでした。

まず、挙動監視シールドの除外設定を行ったところ、
症状は発生しなくなりました。

一方、ランサムウェアシールドの除外設定も試しましたが、
こちらは効果がありませんでした。(症状が発生)

また、やや不可解だった現象として、挙動監視シールドの除外設定を行うと、
ランサムウェアシールドが有効になっていても、症状が発生しないようです。

このあたりのテスト結果を表にまとめましたので、ご参照ください。

` *************************************************
挙除 ラ除 結果 コメント
〇- 〇- NG 初期状態
〇- -- NG 挙動監視のみ有効
-- 〇- NG ランサムのみ有効
-- -- OK 両方を無効
〇〇 -- OK 挙動監視に除外設定
-- 〇〇 NG ランサムに除外設定
〇〇 〇- OK 挙動監視に除外設定&ランサムを有効


※挙:挙動監視シールド
ラ:ランサムウェアシールド
除:それぞれの除外設定`

Avast の内部構造として、ランサムウェアシールドは挙動監視シールドに対し依存関係を持つようで、そのために上記のような現象が起きているものと推測されます。
これは私見になりますが、プロセスそのものの動作の監視は挙動監視シールドが行っており、その監視機能を利用して、特定プロセスによる特定ファイルへのアクセス制御の機能のみを切り出したのがランサムウェアシールド、というイメージです。

修正は次のリリース版ということなので、リリースされた際には確認をお願いします。

バージョン 17.9 のベータバージョン (17.9.2319) が公開されたようですね。

https://forum.avast.com/index.php?topic=211183.0

上記のバージョンをインストールし、実際に動作を確認したところ、
今回の問題は解消されているようです。

引き続き、リリースされるのをお待ちしたいと思います。