본문 바로가기

취약점 정보2

Java 8 Update 121(8u121) 릴리스 주요 기능

728x90
릴리스 주요 기능
  • IANA 데이터 2016i
    JDK 8u121에는 IANA 시간대 데이터 버전 2016i가 포함됩니다. 자세한 내용은 JRE 소프트웨어의 시간대 데이터 버전을 참조하십시오.
  • 버그 수정: OS X 10.12 Sierra에서 트랙패드의 텍스트 스크롤이 너무 빠름
    MouseWheelEvent.getWheelRotation() 메소드가 Mac OS X에서 반올림된 고유 NSEvent deltaX/Y 이벤트를 반환했습니다. 최신 macOS Sierra 10.12에서 매우 작은 NSEvent deltaX/Y 값이 생성되어 반올림 및 합계로 인해 MouseWheelEvent.getWheelRotation()에서 큰 값이 반환됩니다. JDK-8166591 수정은 NSEvent deltaX/Y를 누적하고 MouseWheelEvent.getWheelRotation() 메소드는 누적된 값이 임계값과 0 값을 초과하는 경우에만 0이 아닌 값을 반환합니다. 이는 MouseWheelEvent.getWheelRotation() 지정: "마우스 휠이 회전된 '클릭' 수를 정수로 반환합니다. 마우스가 고해상도 휠을 지원하는 경우 부분 회전이 발생할 수 있습니다. 이 경우 메소드는 전체 '클릭'이 누적될 때까지 0을 반환합니다." 정확한 휠 회전 값을 구하려면 MouseWheelEvent.getPreciseWheelRotation() 메소드를 대신 사용하십시오. JDK-8166591을 참조하십시오.
  • XML 서명에 대한 최소 키 길이를 1024로 늘림
    1024비트 미만의 RSA 및 DSA 키는 더 이상 디지털 서명용으로 안전하지 않으므로 기본적으로 해당 키를 제한하도록 XML 서명 구현의 보안 검증 모드가 향상되었습니다. 또한 jdk.xml.dsig.SecureValidationPolicy라는 새 보안 속성이 java.security 파일에 추가되었으며 이 속성을 사용하여 보안 검증 모드가 사용으로 설정된 경우 적용되는 여러 제한사항을 제어할 수 있습니다. 보안 검증 모드를 사용으로 설정하려면 javax.xml.crypto.XMLCryptoContext.setProperty 메소드를 사용하여 XML 서명 속성 org.jcp.xml.dsig.secureValidation을 true로 설정하거나 SecurityManager로 코드를 실행해야 합니다. XML 서명이 취약한 RSA 또는 DSA 키를 사용하여 생성되거나 검증되면 "보안 검증이 사용으로 설정된 경우 1024비트 미만의 RSA 키가 금지됩니다" 또는 "보안 검증이 사용으로 설정된 경우 1024비트 미만의 DSA가 금지됩니다"라는 메시지와 함께 XMLSignatureException이 발생합니다. 
    JDK-8140353(비공개)
  • 1024비트 미만의 DSA 키를 사용하는 인증서 제한
    1024비트 미만의 DSA 키는 필요한 만큼 강력하지 않으므로 인증서 경로 작성 및 검증 시 제한되어야 합니다. 또한 "DSA keySize < 1024"를 "jdk.certpath.disabledAlgorithms" 보안 속성에 추가하여 기본적으로 1024비트 미만의 DSA 키가 비활성화되었습니다. 응용 프로그램은 보안 속성("jdk.certpath.disabledAlgorithms")에서 이 제한사항을 업데이트하여 실제로 필요한 경우에만 보다 작은 키 크기를 허용할 수 있습니다(예: "DSA keySize < 768"). JDK-8139565(비공개)
  • DER 인코딩 구문분석 코드에 더 많은 검사가 추가됨
    다양한 인코딩 오류를 감지하기 위해 DER 인코딩 구문분석 코드에 더 많은 검사가 추가되었습니다. 또한 길이 제한 없이 생성된 인코딩을 포함하는 서명이 있을 경우 구문분석 중 IOException이 발생합니다. JDK 기본 제공자를 사용하여 생성된 서명은 이 변경으로 영향을 받지 않습니다. JDK-8168714(비공개)
  • URLClassLoader.newInstance에 대한 추가 액세스 제한사항
    java.net.URLClassLoader.newInstance 메소드로 생성된 클래스 로더를 사용하면 제공된 URL 목록에서 클래스를 로드할 수 있습니다. 호출 코드로 하나 이상의 URL에 액세스할 수 없고 액세스 가능한 URL 아티팩트에 필요한 클래스가 포함되어 있지 않은 경우 ClassNotFoundException 또는 이와 유사한 예외사항이 발생합니다. 이전에는 URL에 대한 액세스가 거부된 경우 SecurityException이 발생했습니다. 이전 동작으로 되돌려야 하는 경우 jdk.net.URLClassPath.disableRestrictedPermissions 시스템 속성을 설정하여 이 변경 기능을 사용 안함으로 설정할 수 있습니다. JDK-8151934(비공개)
  • logging.properties java.util.logging.FileHandler.maxLocks에 새 구성 가능 속성이 포함됨
    새 구성 가능 속성인 "java.util.logging.FileHandler.maxLocks"가 java.util.logging.FileHandler에 추가되었습니다. 이 새 로깅 속성은 로깅 구성 파일에서 정의할 수 있으며 FileHandler가 처리할 수 있는 최대 수의 동시 로그 파일 잠금을 구성할 수 있도록 해줍니다. 기본값은 100입니다. 다중(101개 초과) 독립형 클라이언트 응용 프로그램이 FileHandler와 함께 JDK 로깅 API를 동시에 사용 중인 과다 동시 작업 환경에서는 기본 제한 수인 100개에 도달할 때 FileHandler 파일 잠금 확보가 실패하고 이로 인해 IO 예외사항이 발생할 수 있습니다. 이 경우 새 로깅 속성을 사용하여 응용 프로그램 배치 전 최대 잠금 수를 늘릴 수 있습니다. 무효화되지 않을 경우 maxLocks의 기본값(100)은 그대로 유지됩니다. 자세한 내용은 java.util.logging.LogManager및 java.util.logging.FileHandler API 설명서를 참조하십시오. JDK-8153955를 참조하십시오.
jarsigner -verbose -verify는 JAR 서명에 사용된 알고리즘을 출력해야 함

서명된 JAR 파일을 생성하는 데 사용된 알고리즘 및 키의 세부정보를 표시하도록 jarsigner 툴이 향상되었으며 이 툴은 해당 알고리즘 및 키가 취약한 것으로 간주되는지 여부를 나타냅니다. 

특히 "jarsigner -verify -verbose filename.jar" 호출 시 다양한 이유로 서명되지 않은 것으로 간주되는 경우에도 서명된 JAR 파일에 서명 및 시간 기록(존재하는 경우) 정보를 보여주는 별도의 섹션이 출력됩니다. 사용된 알고리즘 또는 키가 취약한 것으로 간주되는 경우 보안 속성 jdk.jar.disabledAlgorithms에 지정된 대로 "(weak)"라는 레이블이 표시됩니다.

예:

- Signed by "CN=weak_signer"
   Digest algorithm: MD2 (weak) 
   Signature algorithm: MD2withRSA (weak), 512-bit key (weak)
 Timestamped by "CN=strong_tsa" on Mon Sep 26 08:59:39 CST 2016
   Timestamp digest algorithm: SHA-256 
   Timestamp signature algorithm: SHA256withRSA, 2048-bit key 

JDK-8163304를 참조하십시오.

알려진 문제
javapackager 및 fx:deploy가 JRE 대신 전체 JDK를 번들로 제공함

전체 JDK가 응용 프로그램 번들과 함께 제공되어 비정상적으로 번들이 커지는 알려진 버그가 Java Packager for Mac에 존재합니다. 임시해결책은 번들러 옵션인 -Bruntime 옵션을 사용하는 것입니다. -Bruntime=JavaAppletPlugin.plugin을 예로 들 수 있습니다. 여기서 번들로 제공할 JRE에 대한 JavaAppletPlugin.plugin은 현재 디렉토리에 있습니다. JDK-8166835를 참조하십시오.

UAC가 해제된 비관리 사용자에 대한 Java 설치가 실패함

UAC(사용자 액세스 제어)가 사용 안함으로 설정된 비관리 사용자에 대해 경고 또는 확인 없이 Windows에서 Java 설치가 실패합니다. 설치 프로그램이 jds<number>.tmp 디렉토리를 %TEMP% 디렉토리에 남겨둡니다.
JDK-8161460(비공개)

새로운 기능
직렬화 필터 구성

보안 및 견고성 향상을 위해 직렬화 필터링에서 객체 직렬화 데이터 수신 스트림의 필터링을 허용하는 새 방식이 도입되었습니다. 모든 ObjectInputStream은 직렬화 해제 시 필터(구성된 경우)를 스트림 콘텐츠에 적용합니다. 필터는 시스템 속성 또는 구성된 보안 속성을 사용하여 설정됩니다. "jdk.serialFilter" 패턴의 값은 JEP 290 직렬화 필터링 및 <JRE>/lib/security/java.security에서 설명됩니다. 필터 작업은 'java.io.serialization' 로거(사용으로 설정된 경우)에 기록됩니다. JDK-8155760을 참조하십시오.

RMI 향상된 제약 조건 확인

RMI 레지스트리 및 분배된 불필요한 정보 수집은 서비스 견고성 향상을 위해 JEP 290 직렬화 필터링 방식을 사용합니다. RMI 레지스트리 및 DGC는 각 서비스와 함께 사용되어야 할 일반 클래스에 대한 기본 제공 허용 목록 필터를 구현합니다. 시스템 속성 또는 보안 속성을 사용하여 추가 필터 패턴을 구성할 수 있습니다. "sun.rmi.registry.registryFilter" 및 "sun.rmi.transport.dgcFilter" 속성 패턴 구문은 JEP 290과 <JRE>/lib/security/java.security에서 설명됩니다. JDK-8156802(비공개)

기본값이 아닌 루트 CA에 알고리즘 제한사항을 적용할 수 없도록 하는 방식이 추가됨

java.security 파일에서 "jdkCA"라는 추가 제약 조건이 jdk.certpath.disabledAlgorithms 속성에 추가되었습니다. 지정된 알고리즘이 사용된 인증서 체인이 lib/security/cacerts 키 저장소의 표시된 신뢰 앵커에서 종료되는 경우에만 이 제약 조건은 해당 알고리즘을 사용하지 못하도록 합니다. jdkCA 제약 조건이 설정되지 않은 경우 지정된 알고리즘을 사용하는 모든 체인이 제한됩니다. jdkCA는 DisabledAlgorithm 표현식에 한 번만 사용할 수 있습니다. 예: SHA-1 인증서에 이 제약 조건을 적용하려면 SHA1 jdkCA를 포함시키십시오. 
JDK-8140422를 참조하십시오.

Java 만료 날짜

8u121 만료 날짜는 2017년 4월 18일입니다. Java는 보안 취약점 수정이 포함된 새 릴리스가 제공될 때마다 만료됩니다. Oracle 서버에 연결할 수 없는 시스템의 경우 보조 방식에 따라 2017년 5월 18일에 이 JRE(버전 8u121)가 만료됩니다. 조건(새 릴리스 사용 가능 또는 만료 날짜 도달)에 충족되면 Java에서는 사용자에게 새로운 버전으로 업데이트하도록 추가 경고 및 통지를 제공합니다.

버그 수정

이 릴리스에는 보안 취약점의 수정이 포함됩니다. 자세한 내용은 Oracle Java SE 중요한 패치 업데이트 권고 사항을 참조하십시오. 이 릴리스에 포함된 버그 수정 목록은 JDK 8u121 버그 수정 페이지를 참조하십시오.

728x90

'취약점 정보2' 카테고리의 다른 글

mysql-5.5 security update  (0) 2017.01.20
2017년 1월 Oracle Critical Patch Update 권고  (0) 2017.01.20
java 업데이트 소식  (0) 2017.01.19
SMB Security Best Practices  (0) 2017.01.18
한컴오피스 2017년 1월업데이트  (0) 2017.01.12