CASE STUDY
고객사별 OpenMSA™ 도입 사례와 결과를 확인해보세요.

OSC Tech News

다양한 소식을 전합니다.
OSC Korea 월간 뉴스레터 받아보기 💌

OSC Korea의 Ellen이 매월 넷째주 화요일 전해드리는 IT 소식!

IT 관련 종사자가 궁금해하는, 알아야하는 정보들을 담았어요.
Opensource, DevOps, Cloud, MSA 그리고 IT 트렌드까지!
한 달에 한 번만 메일함으로 찾아갈게요😊
OSC 월간 뉴스레터 받아보기💌

개인정보 수집 및 이용

뉴스레터 발송을 위한 최소한의 개인정보를 수집하고 이용합니다. 수집된 정보는 발송 외 다른 목적으로 이용되지 않으며, 서비스가 종료되거나 구독을 해지할 경우 즉시 파기됩니다.

Blog

아시아에서 가장 많이 다운로드 된 취약한 OSS 구성요소 5개

2022.04.25 아시아에서 가장 많이 다운로드 된 취약한 OSS 구성요소 5개
원문보기

Sonatype의 소프트웨어 공급망 현황 보고서에 따르면 지난 2년 동안 오픈 소스 구성 요소 릴리스 공급은 75% 증가했고, 다운로드 요청은 전년 대비 68% 증가했습니다. 하지만 오픈소스 관련 침해 사고는 2014년 이후 71% 증가한 것으로 확인됐습니다. 오픈소스의 인기가 증가하면서 취약한 구성 요소도 함께 증가하고 있는 것입니다.

오픈소스를 사용 및 배포할 경우에는 완전하고 정확한 인텔리전스가 중요합니다. 부정확하거나 불완전한 데이터는 조직에 취약점과 라이선스 및 기타 품질 문제를 가져다줄 수 있습니다. 본문에서는 아시아에서 가장 취약한 구성요소 상위 5가지와 위험을 완화할 수 있는 방법에 대해 알아봅니다.

5위 Bouncycastle

1. 취약점이름 : CVE-2018-5382

2. 취약점유형 : 정보 노출

3. 구성 요소이름 : org.bouncycastle:bcprov‑jdk15on

4. 영향을받는 버전 :

(1) org.bouncycastle :bcprov‑jdk14 : ( , 1.47)

(2) org.bouncycastle :bcprov‑jdk15on : ( , 1.47)

(3) org.bouncycastle :bcprov‑jdk16 : ( , )

5. 심각도:

(1) CVSS3.0 점수 : 9.8

(2) CVSS 3.0 메트릭 : CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Bouncycastle 패키지는 정보 노출에 취약합니다. 이 결함은 공격자가 보안을 손상시키거나 공격을 수행할 수 있습니다. 공격자는 여러 값을 무차별 대입해서 비밀을 추론할 수 있는 방식으로 작동합니다. 프로세서가 오답을 확인하고 응답하는 데 걸리는 시간을 관찰하면서 충분한 데이터를 추론하며 이를 통해 공격자는 비밀 값을 추론할 수 있습니다. 부적절한 암호화 길이는 16비트 HMAC(해시)를 사용합니다. 이 HMAC는 오늘날의 처리기술과 리소스를 고려할 때, 공격자가 무차별 대입 공격을 가하기에 비교적 간단하기 때문에 쉽게 내부 보안 정보에 접근할 수 있습니다.

6. 대응 방안

`org.bouncycastle:bcprov-jdk14` 와 ‘bouncycastle:bcprov‑jdk15on` 구성 요소의 경우 버전 1.47로 업그레이드 하는 것이 좋고 가능하다면 1.49 이상의 버전으로 업그레이드 하면 CVE‑2018‑5382에 효과적으로 대응할 수 있습니다.

4위 Lodash

 

Lodash는 전 세계 개발자들이 코드를 단순화하고 통합하는데 사용하는, 아주 인기있는 Javascript 라이브러리입니다. Lodash 라이브러리를 활용하면 더 짧은 시간에 코드를 얻을 수 있다는 장점이 있습니다. 하지만 대부분의 경우 제대로 관리되지 않으면 악의적인 공격자에 대한 공격 백터가 됩니다.

1. 취약점이름: CVE‑2018‑16487(CVE‑2018‑3721에 대한 불완전한 수정의 결과)

2. 취약점유형: DoS, 원격 코드 실행

3. 구성 요소이름: lodash(npm에 있음)

4. 영향을받는 버전: [4.17.5, 4.17.11)

5. 심각도:

(1) CVSS3.0 점수: 9.8

(2) CVSS3.0 메트릭: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Lodash 패키지는 프로토타입 오염에 취약합니다. `lodash.js` 파일의 `safeGet()` 함수가 Object 프로토타입의 속성 추가 또는 수정을 제한하지 못 합니다. 공격자는 이 취약점을 악용해 응용 프로그램 내 개체의 행동에 따라 서비스 거부(DoS) 또는 원격 코드 실행(RCE)을 유발하는 개체 프로토타입 속성을 수정할 수 있습니다.

공격이 작동하는 일반적인 방식

이로 인해 충돌이 발생해 서비스 거부(DoS)공격이 발생하고 공격자가 원격으로 코드를 실행할 수 있는 결과가 발생합니다.

6. 대응 방안
사용자는 수정사항이 포함된 ‘lodash’버전 4.17.11로 업그레이드해야 합니다.

3위 Spring framework

 

1. 취약점 이름: CVE‑2019‑3773취약점 유형: XXE

2. 심각도:

(1) CVSS 3.0 점수: 8.8

(2) CVSS3.0 측정항목: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

3. 영향을 받는 버전:

(1) org.springframework.ws:spring‑ws‑core‑tiger 모든 버전

(2) org.springframework.ws:spring‑xml 3.x의 경우: 3.0.5.RELEASE 이전의 모든 버전, 1.x및 2.x의 경우: 2.4.4.RELEASE 이전의 모든 버전

(3) org.springframework.ws:spring‑ws‑core: 3.x의 경우: 3.0.5.RELEASE 이전의 모든 버전, 1.x및 2.x의 경우: 2.4.4.RELEASE 이전의 모든 버전

Spring 웹 서비스 `spring‑ws‑core` 및 `spring xml` 패키지는 XXE(XML External Entity) 공격에 취약하기 때문에 구성요소 전체의 여러 파일이 악의적인 XML 외부 개체의 처리를 적절히 제한하지 못합니다. 공격자는 악의적인 외부 개체가 포함된 XML 데이터를 만들어 이 취약점을 악용하고 서버에 대해 다양한 XXE 관련 공격을 수행합니다.

4. 대응 방안

이 취약점에 대한 수정 사항이 포함된 구성 요소 `org.spring-framework.ws:spring-ws-core`. 3.0.5.RELEASE로 업드레이드 해야 합니다. 만약 3.0.5.RELEASE로 업그레이드 할 수 없는 없는 1.x 또는 2.x 사용자의 경우 2.4.4.RELEASE로 업그레이드할 수 있습니다.

2위 Apache Tomcat 

Apache Tomcat 도구 모음은 원격 코드 실행 공격에 취약한 많은 구성 요소 집합 중 하나이므로 이러한 문제와 관련된 여러 CVE가 있습니다.

Java 응용 프로그램 서버 배포와 관련하여 시장 점유율이 60% 이상인 Tomcat Server는 Java 환경을 위한 인기 있는 서버입니다. 하지만 Apache Tomcat 도구 모음은 원격 코드 실행 공격에 취약한 많은 구성 요소 집합 중 하나로, 해당 문제와 관련된 여러 CVE가 있습니다.

1. 취약점이름 : CVE‑2019‑0232

2. 취약점유형: 원격 코드 실행 영향을 받는 구성 요소

3. 영향을받는 버전 :

(1) org.apache.tomcat :tomcat‑catalina : [9.0.0.M1, 9.0.19)

(2) org.apache.tomcat : tomcat‑catalina : [8.0.0‑RC1,8.5.40)

(3) org.apache.tomcat :tomcat‑catalina : [7.0.0, 7.0.94) 

(4) org.apache.tomcat.embed : tomcat‑embed‑core :[9.0.0.M1,9.0.19)

(5) org.apache.tomcat.embed :tomcat‑embed‑core :[8.0.0‑RC1, 8.5.40)

(6) org.apache.tomcat.embed :tomcat‑embed‑core :[7.0.0, 7.0.94)

CVE‑2019‑0232는 일부 버전에서 잘못 구성된 기본 옵션과 입력 삭제가 적절히 작동하지 않아 공격자가 Windows 시스템을 통제할 수 있기 때문에 발생합니다. 이 때문에 공격자는 취약한 인스턴스가 있는 Windows 환경에서 임의의 시스템 명령을 실행할 수 있습니다.

일반적인 공격 작동 방식

4. 대응 방안

이 특정 벡터로 원격 코드 실행 공격을 방지하는 가장 확실한 방법은 적절한 버전으로 업그레이드하고, 7.0.x의 경우 적절한 개발 환경을 사용하여 실수로 명령줄 인수를 활성화하는 것을 방지하는 것입니다. 버전 7.0.94가 릴리스 되었고, 해당버전에는 수정 사항이 포함되어 있기 때문에 해당 버전으로 업그레이드하기를 권고합니다.

1위 Jackson‑Databind

Jackson‑Databind는 전 세계 개발자들에게 축복임과 동시에 저주였던 매우 인기있는 구성요소입니다.

1. 취약점 이름: Sonatype‑2017‑0312

2. 관련 CVES: CVE‑2017‑7525, CVE‑2017‑15095, CVE‑2017‑17485, CVE‑2018‑5968, CVE‑2018‑7489, CVE‑2018‑11307, CVE‑2018‑12022, CVE‑2018‑12023, CVE‑2018‑14718, CVE‑2018‑14719, CVE‑2018‑14720, CVE‑2018‑14721, CVE‑2019-12086, CVE‑2019‑12384, CVE‑2019‑12814, CVE‑2019‑14379, CVE‑2019‑14439, CVE‑2019‑14540, sonatype‑2019‑0371 및 CVE‑203

3. 취약점 유형: 원격으로 이어지는 직렬화 해제 코드 실행(RCE)

4. 구성 요소 이름: com.fasterxml.jackson.core:jackson‑databind

5. 영향을 받는 버전: ( , 2.10.0)

6. 심각도 :

(1) CVSS 3.0 점수 : 8.5

(2) CVSS 측정항목 : CVSS:3.0/AV:N/AC:H/PR:L/ UI:N/S:C/C:H/I:H/A:H

이 취약한 구성 요소에 대한 공격 벡터는 애플리케이션에 대한 입력으로 제공되는 신뢰할 수 없는 데이터의 역직렬화에 있습니다. 공격자가 직렬화된 개체 데이터에 영향을 미치고 악성 코드를 삽입할 수 있는 경우 해당 코드는 비직렬화 시 응용 프로그램 환경에 큰 피해를 줄 수 있습니다.

Sonatype 데이터 연구팀은 최근 프로젝트에서 jackson‑databind의 역직렬화 취약점에 대한 충분하고 전체적인 수정 버전 2.10.0 을 출시했습니다.

7. 대응 방안

최소한 버전 2.10.0으로 업그레이드해야 합니다. 이 취약점을 완화하기 위해 Maven Central에 있는`com.fasterxml.jackson.core:jackson‑databind` 및 ` enableDefaultTyping ()` 의 사용을 `activateDefaultTyping()` 으로 변경해야 합니다.

소프트웨어 릴리스를 지속적으로 배포할 수 있는 DevOps 기반 조직에는 해커보다 한 발 앞서 나갈 수 있다는 자동화 측면의 이점이 있습니다.

Sonatype Nexus의 고객은 프로젝트가 알려진 후 몇 시간 이내에 이러한 각 취약점에 대한 알림을 받고 개발 팀은 위험을 수정하는 방법에 대한 지침을 자동으로 받았습니다.

소프트웨어 릴리스를 지속적으로 배포할 수 있는 DevOps 기반의 조직은 해커보다 한 발 앞서 나갈 수 있다는 자동화 측면의 이점이 있습니다. Sonatype Nexus의 고객은 프로젝트가 알려진 후 몇 시간 이내에 위와 같은 각 취약점에 대한 알림을 받고 있습니다. 개발팀은 위험을 수정하는 방법에 대한 지침도 자동으로 받고 있습니다.

BENEFITS
2022.04.25 아시아에서 가장 많이 다운로드 된 취약한 OSS 구성요소 5개

Latest posts