C#


CSHARP.INSEC.DTP : Deprecated Transfer Protocol (C#)

要旨

An unsafe or deprecated transfer protocol is used inside a transfer method.

プロパティ

クラス名 Deprecated Transfer Protocol (C#)
日本語クラス名 Deprecated Transfer Protocol (C#)
クラス分類 セキュリティ (security)
ニーモニック CSHARP.INSEC.DTP
カテゴリー
CWE CWE:757 Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')
OWASP-2017 OWASP-2017:A9 Using components with known vulnerabilities
OWASP-2021 OWASP-2021:A6 Vulnerable and outdated components
対応言語 C# で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Deprecated Transfer Protocol (C#)"

using System;
using System.Net;
using System.Net.Security;
using System.Net.Sockets;
using System.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

namespace UnsafeTransferProtocol
{

  public class TransferProtocolUsage
  {
    public void UnsafeTransferProtocol(TcpClient client,
                                       string targetHost,
                                       X509CertificateCollection clientCertificates,
                                       bool checkCertificateRevocation,
                                       AsyncCallback asyncCallback,
                                       object asyncState) {
       SslStream sslStream = new SslStream(client.GetStream(), false);
       sslStream.BeginAuthenticateAsClient(targetHost,
                                           clientCertificates,
                                           System.Security.Authentication.SslProtocols.Ssl2,
                                           checkCertificateRevocation,
                                           asyncCallback,
                                           asyncState);                   // "Deprecated Transfer Protocol (C#)" warning issued here 
       ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;  // "Deprecated Transfer Protocol (C#)" warning issued here 
    }
  }
}

解決法

Parameterize it in a configuration file.

Use safer protocols.

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。