Java


JAVA.INSEC.HIC : Hostname in Condition (Java)

要旨

A host name is used in a condition.

プロパティ

クラス名 Hostname in Condition (Java)
日本語クラス名 Hostname in Condition (Java)
クラス分類 セキュリティ (security)
ニーモニック JAVA.INSEC.HIC
カテゴリー
CWE CWE:287 Improper Authentication
OWASP-2017 OWASP-2017:A2 Broken authentication
OWASP-2021 OWASP-2021:A7 Identification and authorization failures
対応言語 Java で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Hostname in Condition (Java)"

import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;

public class Authentication {

  public static void main(String[] args) throws UnknownHostException {
    boolean found = false;
    InetAddress[] addrs = Inet6Address.getAllByName("www.juliasoft.com");
    for (InetAddress addr: addrs) {
      if (addr.getCanonicalHostName().equals("231.13.35.1"))       // "Hostname in Condition (Java)" warning issued here 
        found = true;
      else if ("112.34.5.103".equals(addr.getCanonicalHostName())) // "Hostname in Condition (Java)" warning issued here 
        found = true;

      found |= addr.getCanonicalHostName().startsWith("131.");     // "Hostname in Condition (Java)" warning issued here 
    }

    if (found)
      System.out.println("OK");
  }
}

解決法

Check if the warning actually corresponds to a real security issue related to authentication and, if that is the case, use a more secure authentication procedure.

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

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