フォーラムの空模様 – メール送受信の不具合について

皆さんこんにちは。ご無沙汰しております。
掲題の件でアクセス数が増えたので、状況について記事にしておきます。

「フォーラムの空模様」コーナー30回目、今回は、バージョン22.8にて、メールシールドを有効にしていると、メール送受信ができない不具合が報告されています、というお話。

(9/20追記)修正を取り込んだ正式版22.9がリリースされました。

初版:2022/09/08、第2版:2022/09/10、第3版:2022/09/15
第4版:2022/09/16、第5版:2022/09/20、第6版:2022/09/23(文言調整)


元になったフォーラムトピックは多数ありますが、そのうちのいくつかをご紹介。

プログラムの更新でメールが受信できなくなった
https://forum.avast.com/index.php?topic=320950.0

Avast Free is Blocking Receiving Email
https://forum.avast.com/index.php?topic=320948.0

Avast Premium Security (Mail Shield)
https://forum.avast.com/index.php?topic=320895.0

事象としては、バージョン22.8へのアップデート後、メールの送信/受信の片方、あるいは両方ができなくなる場合がある、というものです。

正常に動作している環境も少なくなく、メールのクライアント、プロバイダーもそれぞれ異なるため発生条件が不明確ですが、Windows 7 環境における報告数が多いような印象があります。

Avast側でも事象の発生については認識しており、最新ベータ版(22.9.6032)にて修正を試みていますが、少なくとも1件の報告においては改善されていないとのことで、収束までには少しかかるかもしれません。

現状では、事象が発生してしまった場合、メールシールドを一時停止する以外に方法が無いようです。


2022/09/10追記

その後の調査により、少なくとも2種類の事象が混ざっているらしいことが判明しています。

  1. Windows 7 で主に発生する、送受信両方ができなくなる事象
  2. Windows 10 でも発生する、主に受信ができなくなる事象

このうち1点目については、OS標準の暗号化通信機能(SChannel)を使っているメールソフトにて不具合が確認されています。通信プロトコルに「TLS1.2」を指定可能なソフト(nPOPなど)であれば、この指定を行うことで、メールシールド有効のまま送受信が可能となります。

2点目については現在調査中ですが、特定のプロバイダーとの間でのみ発生する模様です。現時点で、OCNにて発生することが確認されています。Yahoo! メール、GMail では発生しないようです。こちらについての対処法は、現時点では見つかっていません。


2022/09/15追記

Avast 開発陣に対して当方で再現した際のログを提供し、調査を依頼しております。Avast の製品ログやWiresharkで取得した通信ログ、そのほか収集した情報から、現時点で推定される、事象に関する仮説を追記します。

注意:これは完全に私の調査に基づく推測です。内容の正確性を保証するものではありません。

直接原因

まず、そもそもの原因は、Avastが使用しているSSL/TLSライブラリであるOpenSSL (あるいはそれに類するライブラリ)において、オプションである「SECLEVEL」を「2」相当に変更した(許容するセキュリティのレベルを引き上げた)ことによると考えられます。

この設定変更の効果として、署名アルゴリズムとしてSHA-1が許容されなくなります。SHA-1は長らく使用された署名アルゴリズムですが、PC性能の向上や攻撃手段の開発により署名アルゴリズムとしての安全性に疑問が持たれ、世界的に使用中止が進んでいます。

Windows7の場合

Windows 7の事象の場合、SChannelを通信に使用するアプリは、標準の設定では「TLS1.0」を使って通信を試みます。この際、相手先サーバ(Avast のメールシールドを含む)に提示される署名アルゴリズムは、すべてSHA1かそれよりも弱いものとなるため、これを受け付けたAvastのメールシールドは、SECLEVEL=2の設定に基づき、この通信を拒絶します。
※あるいは、プロトコルが「TLS1.0」であることをもって、拒絶している可能性もあります

この帰結として、Windows 7環境においては、SSL/TLSをSChannelで使用するすべてのメールソフトは、メールの送受信ができなくなります。

Windows 7環境において、「TLS1.2」を明示的に指定すると動作する場合があるというのは、この設定によって、SHA1より強い署名アルゴリズム(例えばSHA256など)が使用可能となるためです。

Windows 10の場合

Windows 10の事象はもう少し複雑です。Windows 10においては、SChannelは標準で「TLS1.2」を使ってサーバとの通信を試みるため、Avastのメールシールドとの通信は問題なく成立します。問題は、Avastのメールシールドと相手先メールサーバとの間で行われる、同様の通信に起因すると思われます。

調査の結果、事象の発生が報告されているOCNと、発生しないYahoo!やGMail他のメールサーバでは、通信の際に提示されるあるパラメータが異なっていました。

これは、OpenSSLを使って、各メールサーバにおける暗号化に関する情報を出力した結果の一部です。

Yahoo! No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
GMail No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
OCN No client certificate CA names sent
Peer signing digest: SHA1
Peer signature type: RSA
Server Temp Key: ECDH, P-256, 256 bits

お判りでしょうか。OCNだけ、「Peer signing digest」がSHA1になっています。これが原因で、Avastのメールシールドは、OCNのメールサーバとの通信を拒絶していると推定されます。

「Peer signing digest」は、こちらによればTLS通信のハンドシェイクの暗号化に用いられる署名アルゴリズムであり、その用途(ごく数秒間の安全性が保てればそれでよい)から、現時点においても必ずしもSHA-1の使用が否定されるものではないようです。事実OCNも、SHA-1が廃止されているサーバ証明書においては、SHA256を使用していました。

したがって、この1点をもって「OCNのサーバ設定に問題がある」、と断じることはできません。しかし、記載はしていませんが、テストした他の複数のメールサーバはいずれも「Peer signing digest」にSHA256を使用していたことから、OCNの対応はIT業界の趨勢からすれば遅いと言ってよいと思います。

どうすればよいか

以上から、Windows 10における問題を解決する方法は、

  1. Avast 側でSECLEVEL=2相当の設定を取りやめる(あるいは一部に限ってSHA1を認める)
  2. メールサーバ側の設定をアップデートする

のいずれかしかないことが分かります。同時に、これはプログラム本体あるいはメールサーバ側の設定であることから、ユーザー側の設定では対応できないことを意味します。

現実的には2が取り得ない以上、1とするしかないわけですが、最新のLinuxではデフォルトがSECLEVEL=2である場合があるなど、セキュリティレベルは厳格化の方向に向かっています。Avastとしても、セキュリティ会社として世の中の趨勢に合わせるという観点では、安易にSECLEVEL=2を放棄するのは厳しいのではないかと思います。

英語版フォーラムにも多数の投稿があり、Avast 側でも何かしらの対策は取られるものと思いますが、難しい問題を垣間見た気がしました。


2022/09/16追記

最新ベータ版22.9.6034にて、本事象のほとんど(少なくとも、私が確認したWin7/Win10の事象の両方)が解消されました。
フォーラムにおいても、解消を確認いただいた方がおります。

ベータ版は、一度インストールすると、正式版に戻すまでは常にベータ版が導入されるようになります。
正式版リリース後、正式版を上書きでインストールすることで、ベータ版を解除して正式版に戻ることが可能です。


2022/09/20追記

修正を取り込んだベータ版22.9.6034が正規版に格上げされ、リリースされました。


本日は以上となります。

“フォーラムの空模様 – メール送受信の不具合について” への5件の返信

  1. windows11 outlook2019 personal 〇〇〇@〇〇.ocn.ne.jp 複数のPC、複数のメールアドレスで送受信障害(0x800CCC1A)。avast の一時停止で送受信OK。OCNのwebメールアプリは問題なく送受信可能。しばらくの間これでしのぐしかない?

    1. こんばんは shim さん

      記事中に記載の通り、現状、OCNの問題について設定で回避する手段はありません。
      最新ベータ版であれば事象が解消している可能性が高いですので、お急ぎの場合はお試しください。

  2. 記事を見つけてベータ版へ変更したところOCNメール(dream、pianoドメインメール)は受信できるようになりました。OCNサポート担当は認識していないようでした。メールサーバーの改修時に見直しされる模様です。

    1. こんばんは システムイッツ・上田 さん

      情報ありがとうございます。ベータ版で復旧したとのことで良かったです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策) Needs some Japanese text for SPAM prevention.