OpenSSL 다중취약점 보안업데이트
2015.04.02 02:06
원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어
Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
□ 개요
o 취약한 OpenSSL 버전을 사용하는 서버와 클라이언트 사이에서 공격자가
암호화된 데이터를 복호화할 수 있는 취약점, 서비스 거부 취약점 등 14개의
취약점을 보완한 보안업데이트를 발표
□ 설명
o NULL 포인터 역참조에 의한 서비스 거부 공격에 악용될 수 있는 취약점
(CVE-2015-0291)
o OpenSSL RSA 암호화 키를 512비트로 다운그레이드 시키는 취약점
(FREAK, CVE-2015-0204)
o 멀티 블록 포인터 손상에 의한 서비스 거부 공격에 악용될 수 있는 취약점
(CVE-2015-0290)
o DTLSv1_listen 함수에서 잘못된 메모리 접근으로 인해 서비스 거부 공격에
악용될 수 있는 취약점(CVE-2015-0207)
o ASN1_TYPE_cmp 함수에서 잘못된 메모리 접근으로 인해 서비스 거부 공격에
악용될 수 있는 취약점(CVE-2015-0286)
o PSS 파라미터에서 잘못된 메모리 접근으로 인해 서비스 거부 공격에 악용될
수 있는 취약점(CVE-2015-0208)
o 메모리 재사용 시 발생할 수 있는 메모리 손상 취약점(CVE-2015-0287)
o PKCS#7 NULL 포인터 역참조에 의한 데이터의 조작이 가능한 취약점
(CVE-2015-0289)
o base64로 인코딩된 데이터 처리 중 발생하는 메모리 충돌 취약점
(CVE-2015-0292)
o SSLv2 서버를 대상으로 한 서비스 거부 취약점(CVE-2015-0293)
o ClientKeyExchange 전송 중 서비스 거부 공격에 악용될 수 있는 취약점
(CVE-2015-1787)
o 난수 생성을 위해 핸드쉐이크 메시지 처리 중 서비스 거부 공격이 발생할
수 있는 취약점(CVE-2015-0285)
o d2i_ECPrivateKey 함수 에러로 인해 발생하는 use-after-free 취약점
(CVE-2015-0209)
문화체육관광 사이버안전센터
o X509_to_X509_REQ 함수 NULL 포인터 역참조에 의한 서비스 거부 공격에
악용될 수 있는 취약점(CVE-2015-0288)
□ 해당 시스템
o 영향 받는 제품 및 버전
- OpenSSL 0.9.8 대 버전
- OpenSSL 1.0.0 대 버전
- OpenSSL 1.0.1 대 버전
- OpenSSL 1.0.2 대 버전
□ 해결 방안
o 해당 취약점에 영향 받는 버전의 사용자는 아래 버전으로 업데이트[2]
- OpenSSL 0.9.8 사용자 : 0.9.8zf로 업데이트
- OpenSSL 1.0.0 사용자 : 1.0.0r로 업데이트
- OpenSSL 1.0.1 사용자 : 1.0.1m로 업데이트
- OpenSSL 1.0.2 사용자 : 1.0.2a로 업데이트
□ 용어 정리
o PSS : RSA 암호화를 기반으로 동작 전자서명 알고리즘
o PKCS#7 : RSA사가 제시한 공개 키 암호 표준의 하나로 암호학적 메시지
구문 표준
참고사이트
https://www.openssl.org/news/secadv_20150319.txt
https://www.openssl.org
1. 다운로드
https://www.openssl.org/source/openssl-0.9.8zf.tar.gz
https://www.openssl.org/source/openssl-1.0.0r.tar.gz
https://www.openssl.org/source/openssl-1.0.1m.tar.gz
http://www.openssl.org/source/openssl-1.0.2a.tar.gz
또는 그외 업데이트를 원하는 버전을 선택하여 다운로드
https://www.openssl.org/source/
2. 기존 바이너리 백업
### 기존 위치 및 버전 확인
# which openssl
/bin/openssl
# openssl version
OpenSSL 1.0.1k-fips 26 Jan 2017
### 백업
# cp /bin/openssl /bin/openssl-1.0.1k
3. 서버 업로드 및 설치
# cd /install/openssl
# wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz
# tar zxf openssl-1.0.2a.tar.gz
# cd openssl-1.0.2a
# ./config
# make
# make test
# make install
4. 기존 바이너리 대체
# rm /bin/openssl
# ln -s /usr/local/ssl/bin/openssl /bin/openssl
# openssl version
OpenSSL 1.0.2a 19 Mar 2015
==================================
for 1.0.2 -> 1.1.1 upgrade
1. 신규 설치
./config --prefix=/usr/local/openssl-1.1.1t --openssldir=/usr/local/openssl-1.1.1t shared zlib
make
make install
/usr/local/openssl-1.1.1t/bin/openssl version
2. library 복사
cp /usr/local/openssl-1.1.1t/lib/libssl.so.1.1 /usr/lib64
cp /usr/local/openssl-1.1.1t/lib/libcrypto.so.1.1 /usr/lib64
3. 현재 link 확인
[root@kribb bin]# which openssl
/usr/bin/openssl
[root@kribb bin]# ll /usr/bin/openssl
lrwxrwxrwx. 1 root root 37 2022-05-23 10:06 /usr/bin/openssl -> /usr/local/openssl-1.0.2u/bin/openssl
4.link 변경
# rm /usr/bin/openssl;ln -s /usr/local/openssl-1.1.1t/bin/openssl /usr/bin/openssl
or
# mv /bin/openssl /bin/openssl-1.0.2k
# ln -s /usr/local/openssl-1.1.1t/bin/openssl /bin/openssl
5. 확인
# openssl version
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [공지] 게시자료 열람자유. 불펌금지입니다. | 조인상 | 2010.12.07 | 30770 |
104 | 원격지에서 FTP이용 백업 | 조인상 | 2010.05.09 | 8691 |
103 | ksh에서 자동완성기능 사용하기 | 조인상 | 2010.05.12 | 10326 |
102 | iptables로 NAT + Portforwarding 구성하기 | 조인상 | 2010.05.12 | 8653 |
101 | NAT로 서비스 받는 컴퓨터에서 MSN 파일 전송기능사용하기 | 조인상 | 2010.05.12 | 8906 |
100 | 리눅스 환경에서 Xmanager 사용법 | 조인상 | 2010.05.12 | 19188 |
99 | NAT환경에서 넷미팅 사용하기 | 조인상 | 2010.05.12 | 9540 |
98 | 새로운 디스크를 ext3로 파일시스템 생성하기 | 조인상 | 2010.05.12 | 8757 |
97 | APM 설치하기 | 조인상 | 2010.05.12 | 8062 |
96 | mysql 4 버전 설치하기 | 조인상 | 2010.05.12 | 11671 |
95 | 터미널에서 한글을!! Unicon 소개/설치 | 조인상 | 2010.05.12 | 12369 |
94 | 내가 즐겨사용하는 프롬프트 변수(PS1) 설정치 | 조인상 | 2010.05.12 | 10352 |
93 | NFS 관련 명령어 및 파일들 | 조인상 | 2010.05.12 | 14451 |
92 | 2G이상 파일 tar 로 생성 / 분할생성(복사) | 조인상 | 2010.05.12 | 12998 |
91 | 리눅스 가상 IP 설정 | 조인상 | 2010.05.12 | 30764 |
90 | 리눅스에 Qlogic2300 HBA카드로 어레이 붙이기 | 조인상 | 2010.05.12 | 20215 |
89 | HBA카드의 WWNN과 WWPN에 대한 포럼 내용 | 조인상 | 2010.05.12 | 17514 |
88 | 리눅스에서 HBA카드의 WWN확인 방법 | 조인상 | 2010.05.12 | 54483 |
87 | 리눅스에서 플로피 사용하기 | 조인상 | 2010.05.12 | 8949 |
86 | LVM(Linux Volume Manager) 구축하기 | 조인상 | 2010.05.12 | 15329 |
85 | 삼바 세팅 및 사용법 [1] | 조인상 | 2010.05.12 | 25139 |
for 1.0.2 -> 1.1.1 upgrade
1. 신규 설치
./config --prefix=/usr/local/openssl-1.1.1t --openssldir=/usr/local/openssl-1.1.1t shared zlib
make
make install
/usr/local/openssl-1.1.1t/bin/openssl version
2. library 복사
cp /usr/local/openssl-1.1.1t/lib/libssl.so.1.1 /usr/lib64
cp /usr/local/openssl-1.1.1t/lib/libcrypto.so.1.1 /usr/lib64
3. 현재 link 확인
[root@kribb bin]# which openssl
/usr/bin/openssl
[root@kribb bin]# ll /usr/bin/openssl
lrwxrwxrwx. 1 root root 37 2022-05-23 10:06 /usr/bin/openssl -> /usr/local/openssl-1.0.2u/bin/openssl
4.link 변경
# rm /usr/bin/openssl;ln -s /usr/local/openssl-1.1.1t/bin/openssl /usr/bin/openssl
or
# mv /bin/openssl /bin/openssl-1.0.2k
# ln -s /usr/local/openssl-1.1.1t/bin/openssl /bin/openssl
5. 확인
# openssl version