반응형

최근 소프트웨어 개발 도구의 보안에 대한 관심이 증가하고 있습니다.

특히, 오픈소스 컴포넌트를 사용하는 도구들이 많아지면서

이러한 컴포넌트들에서 발견되는 취약점에 대한 우려도 함께 커지고 있습니다.

 

이 글은 유명한 코드 에디터의 오픈소스 컴포넌트에서 발견된 취약점에 대해 이야기합니다.

이 코드 에디터는 전 세계 개발자들 사이에서 널리 사용되고 있으며,

특히 그중 하나의 컴포넌트가 포함하고 있는 오래된 브라우저의 버전에서 발견된

여러 보안 취약점이 아직까지 해결되지 않은 채 업데이트되고 있습니다.

러한 취약점들은 실제 공격에서 이미 이용된 바 있으며,

이를 통해 원격 코드 실행, 정보 유출, 서비스 거부 등 다양한 보안 위협이 가능해집니다.

이는 사용자의 시스템 보안을 심각하게 위협할 수 있습니다.

 

처음 확인이 된 (글쓴이는 해당 버전에서 처음 식별했습니다.) 1.85.2 버전부터

2024년 4월 4일 현재 사이트에서 배포 중인 1.87.2 버전에 이르기까지,

exten****. js 파일에 포함된 Fire*** 71.0 오픈소스 컴포넌트에서

5 가지 치명적인 오픈소스 취약점이 여전히 해결되지 않은 채 업데이트되고 있습니다.

 

5가지의 취약점 코드와 내용은 아래와 같으며,

CISA가 관리하는 알려진 이용된 취약점(KEV) 카탈로그에서 발췌하였습니다.

 

KEV는 미국 CiSA가 실제 공격에서 이용된 취약점들을 나열한 권위 있는 자료입니다.

이 카탈로그는 조직들이 취약점 관리를 우선순위에 두고 사이버 보안 조치를 강화하는 데 중요한 입력 정보를 제공합니다.

자세한 정보는 CISA 공식 웹사이트에서 확인할 수 있습니다​ (CISA)​.

https://www.cisa.gov/known-exploited-vulnerabilities-catalog

 

Known Exploited Vulnerabilities Catalog | CISA

For the benefit of the cybersecurity community and network defenders—and to help every organization better manage vulnerabilities and keep pace with threat activity—CISA maintains the authoritative source of vulnerabilities that have been exploited in

www.cisa.gov

CVE-2022-26486 2022년 3월 7일 웹GPU IPC 프레임워크에서 예기치 않은 메시지로 인해 발생하는 사용 후 해제(use-after-free) 취약점. 원격 공격자가 샌드박스 탈출을 시도할 수 있음.
CVE-2022-26485 2022년 3월 7일 웹GPU IPC 프레임워크에서 비정상적인 메시지 처리로 인한 사용 후 해제(use-after-free) 취약점. 원격 코드 실행 가능성을 내포함.
CVE-2020-6820 - 메모리 안전성 문제로 인해 발생할 수 있는 취약점. 악의적인 웹 페이지를 통해 사용자 시스템에서 임의 코드 실행을 시도할 수 있음.
CVE-20206819 - CVE-2020-6819는 특정 조건 하에서 nsDocShell destructor 실행 중 경쟁 상태로 인해 사용 후 해제(use-after-free)가 발생할 수 있는 취약점입니다. 이는 Thunderbird, Firefox, 및 Firefox ESR의 특정 버전에 영향을 미칩니다. 이 취약점은 실제 공격에서 이용되었습니다.
CVE-2019-17026 - IonMonkey JIT 컴파일러의 타입 혼동 취약점. 악의적인 JavaScript 실행을 통한 임의 코드 실행이 가능.

 

자세한 취약점에 대한 정보는 아래 링크를 통해 확인해 주세요

https://nvd.nist.gov/vuln

 

NVD - Vulnerabilities

All vulnerabilities in the NVD have been assigned a CVE identifier and thus, abide by the definition below. CVE defines a vulnerability as: "A weakness in the computational logic (e.g., code) found in software and hardware components that, when exploited,

nvd.nist.gov

 

해당 취약점 5가지는 코드 에디터에 포함된 exten****. js 파일에

오픈소스 컴포넌트인 Fire*** 71.0에 포함되어 있으며,

이미 해커에게 공격당하여 빠르게 패치를 하라고 권고한 취약점입니다.

 

아래는 exten****. js 파일이 해당 코드 에디터에서 어떤 역할을 하는지 인공지능 챗 지피티에게 문의해 봤습니다.

 

추가적으로 ChatGPT는 해당 이슈에 대해 이렇게 이야기하고 있습니다.

해당 컴포넌트에서 발견된 취약점을 통해 공격자는 원격 코드 실행, 정보 유출, 서비스 거부(DoS) 공격 등 다양한 위협을 가할 수 있습니다. 이는 사용자 시스템의 보안을 심각하게 위협하며, 공격자에게 시스템 제어권을 부여할 수도 있습니다.

 

현재 제 주변에 있는 모든 개발자가 해당 소프트웨어를 사용 중에 있습니다.

이는 엄청난 취약점이며, 고쳐져야 하는 사안으로

제 지인에게는 다른 개발 도구를 추천드리고 있습니다.

 

소프트웨어의 보안은 그 어느 때보다 중요하며,

특히 오픈소스 컴포넌트의 취약점은 개발자와 사용자 모두에게 심각한 위협이 될 수 있습니다.

오픈소스 컴포넌트의 취약점을 주의 깊게 관리하는 것은 소프트웨어 개발의 중요한 부분입니다.

주변 친구들이 해당 소프트웨어를 사용 중이라면 해당 내용을 공유해 주시길 바랍니다.

사용 중인 도구들이 최신 상태로 유지되고 보안 위협으로부터 보호되도록,

적극적으로 패치 적용과 보안 권장 사항을 따르는 것이 필수적입니다.

이런 실천을 통해 우리는 더 안전한 디지털 환경을 조성할 수 있습니다.

 

해당 이슈에 대해서는 고객센터 팀에게 위와 같이 메일을 보내 놓은 상태입니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 

반응형
반응형

소프트웨어의 신뢰성을 높이는 SBOM 생성

 

CycloneDX란 무엇일까요?

 

소프트웨어 구성 요소를 한눈에 관리하는 새로운 표준

소프트웨어 개발 프로세스에서 빠질 수 없는 요소 중 하나는 구성 요소의 관리일 것입니다.

라이브러리, 프레임워크 등 다양한 구성 요소가 복잡하게 얽힌 프로젝트가 빠르게 진행되며, 이를 체계적으로 정리하고 추적하는 것이 절실한 필요로 대두되었습니다.

이에 따라 CycloneDX라는 소프트웨어 구성 요소 정보를 기록하고 공유하는 표준이 등장하게 되었습니다.

많은 조직과 개발자들에게 인기를 얻고 있는 CycloneDX는 간결하고 효율적인 구성 요소 관리 도구로 주목받고 있으며 감히 예상컨대 이미 많이 사용하고 있지만 앞으로는 더더욱 CycloneDX를 많은 보안 기업에서 사용할 것이라고 예상하고 있습니다.

특히 구성 요소 관리라 함은 보안에 있어 굉장히 중요합니다.

CycloneDX는 SBOM (Software Bill of Materials)을 만드는 데 사용되는데, 이를 통해 소프트웨어의 구성 요소와 해당 요소의 버전, 라이선스 정보 등을 일관된 표준 포맷으로 제공합니다.

소프트웨어 프로젝의 구성 요소와 종속성을 정확하게 추적하고, 여러 구성 요소와 라이브러리 간의 관계를 명확게 파악할 수 있습니다.

Bom metadata.. Components.. Services.. Dependencies.. Extensions..

 

SBOM에서 CyclonDX의 중요성

 

소프트웨어를 구축하는 데 필요한 구성 요소들은 복잡하게 얽혀 있습니다.

이런 복잡성을 관리하려면 우리가 사용하는 각 구성 요소에 대한 자세한 정보가 필요한데요,

CycloneDX는 이러한 복잡성을 관리하는 데 아주 큰 도움이 되는 도구입니다.

앞선 글에서 설명드린 SBOM의 중요성과 앞으로 필현적으로 생성하고 제출해야 되는

제도적 대비를 준비하는 가운데 우리가 사용하는 소프트웨어의 구성 요소 관리와 이에 대한 정보는 정말 중요합니다.

 

CycloneDX의 이해

기능과 사용법

 

CycloneDX의 기술적 세부사항을 추가하기 위해,

이 도구가 어떻게 SBOM(Software Bill of Materials)을 생성하는지에 대한 설명이 필요합니다.

CycloneDX는 주로 XML, JSON, 그리고 Protobuf 형식을 사용하여 SBOM을 생성합니다.

 

Json과 XML에 대해 아직 모르신다면 아래 쉽게 설명해놨으니 참고해주세요

https://jdcyber.tistory.com/42

 

JSON 이란? (효율적인 데이터 교환의 핵심)

JSON, 이 단어를 들어본 적이 있으신가요? 오늘은 웹 개발 및 데이터 전송에 있어 매우 중요하고 유용한 JSON 파일에 대해 알아보는 시간을 갖도록 하겠습니다. JSON은 데이터 교환을 가능하게 하는

jdcyber.tistory.com

https://jdcyber.tistory.com/41

 

XML이란? (데이터 통신의 보편적 언어)

안녕하세요! 오늘은 데이터 통신 및 교환에 있어 전문적이며 보편적인 언어인 XML에 대해 알아볼까 합니다. 쉽게 말해, XML은 데이터를 공유하고 전송하는 데 도움을 주는 언어로 생각하시면 됩니

jdcyber.tistory.com

 

이 SBOM은 소프트웨어 프로젝트의 구성 요소, 그들의 버전, 라이선스 정보, 그리고 보안 취약점 데이터를 포함합니다.

또한, CycloneDX는 이러한 구성 요소들 사이의 관계와 종속성을 명확하게 나타내어,

보안 위험을 식별하고 관리하는 데 중요한 역할을 합니다.

CycloneDX는 개발자가 이해하기 쉬운 형식으로 이 정보들을 제공하므로,

소프트웨어의 보안 및 컴플라이언스 상태를 더욱 효과적으로 관리할 수 있습니다.

 

CycloneDX는 소프트웨어의 각 구성 요소, 그 구성 요소의 버전,

그리고 해당 구성 요소의 라이선스 정보 등을 SBOM에 기록합니다.

SBOM 생성을 어떻게 해야하나 고민하는 많은 보안 업계 종사자들에게는

현재까지 유일무의하게 활용해야 하는 도구로써 자리매김하였습니다.

이 도구는 XML, JSON, 또는 Protobuf 형식으로 SBOM을 생성할 수 있으며,

이를 통해 효과적인 라이선스 관리와 생겨날 보안 취약점 추적이 가능합니다.

 

Json 문서를 참고하여 CycloneDX 이해하기

 

CycloneDX의 깊이 있는 이해를 위해 공식 문서, 특히 JSON 스키마 사양을 참조하는 것이 중요합니다.

CycloneDX v1.5 JSON 문서는 bomFormat, specVersion 등의 주요 요소가

CycloneDX BOM의 구조와 내용을 어떻게 정의하는지에 대한 상세한 내용을 제공합니다.

소프트웨어 및 하드웨어 구성 요소, 그들의 유형과 관계를 정의하는 방법,

메타데이터, 버전 관리, 라이선스 정보를 포함하는 방법 등을 상세히 설명합니다.

CycloneDX를 소프트웨어 개발 및 보안 과정에 구현하려는 이들에게 이 가이드는 필수적입니다.

자세한 정보는 CycloneDX v1.5 JSON 문서를 참조하시길 바랍니다.

 

CycloneDX v1.5 JSON Reference

CycloneDX v1.5 JSON Reference

cyclonedx.org

CycloneDX 사례
보안 취약점 관리와 라이선스 추적

 

CycloneDX를 통해 SBOM을 생성하면, 이를 이용하여 보안 취약점을 효과적으로 관리할 수 있습니다.

만약 특정 라이브러리에 보안 취약점이 발견되었다면 이 라이브러리를 사용하는 모든 애플리케이션을 쉽게 찾아낼 수 있으며,

CycloneDX를 이용하여 라이선스를 추적하면, 전체 프로젝트에 어떤 영향을 미치는지 쉽게 알아낼 수 있습니다.

결국 꼬리를 물며 들어가 위협 요소를 판별하고 취약점을 색인하는 데 있어서 보안에 필수적 요소라고 할 수 있겠죠

 

CycloneDX를 사용한 보안 취약점 관리와 라이선스 추적의 구체적인 예를 들어 설명해 보겠습니다.

예를 들어, 특정 오픈 소스 라이브러리에서 새로운 보안 취약점이 발견되었다고 가정해 봅시다.

CycloneDX를 사용하면, 이 라이브러리를 포함하는 모든 소프트웨어 프로젝트를 신속하게 식별할 수 있습니다.

이를 통해 해당 취약점에 노출된 모든 애플리케이션을 즉시 파악하고, 필요한 보안 조치를 취할 수 있습니다.

또한, 라이선스 관리 측면에서, CycloneDX는 모든 구성 요소의 라이선스 정보를 제공함으로써,

소프트웨어 프로젝트가 특정 라이선스 요건을 준수하고 있는지 쉽게 확인할 수 있게 해줍니다.

 

CycloneDX의 장점과 한계

 

CycloneDX의 가장 큰 장점은 그 간결성과 효율성입니다.

이 도구는 필요한 정보만을 제공하여, 사용자가 쉽게 이해하고 사용할 수 있게 합니다.

그러나, 아직 ISO 표준화를 받지 않았고 더 광범위한 정보를 제공하는 도구들에 비해

제공하는 정보의 범위가 상대적으로 제한적인 것은 사실입니다.

 

CycloneDX를 통한 효과적인 소프트웨어 관리

 

CycloneDX는 간결하면서도 효율적인 SBOM 생성 도구로, 보안 취약점 관리와 라이선스 추적에 매우 유용합니다.

이 도구를 이용하여, 우리는 소프트웨어의 복잡성을 효과적으로 관리하고, 더 안전하고 신뢰성 있는 소프트웨어를 개발할 수 있습니다.

앞으로 나아갈 길이 기대되는 CycloneDX..

공급사에 조금은 특화되어 보이는 위 도구를 통해 소프트웨어 보안 프로세스의 도약을 기대해 봅니다.

 

위에 언급된 SBOM에 대한 내용은 아래 자세히 기술해 놨으니 확인해봐 주세요

https://jdcyber.tistory.com/4


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형

+ Recent posts