CWE = Common Weakness Enumeration = 보안 약점 리스트
CVE = Common Vulnerabilities and Exposures = 취약점 리스트
보안 약점과 취약점의 차이
- 보안약점: 소프트웨어 취약점으로 이어질 수 있는 오류
- 취약점: 해커가 시스템이나 네트워크에 엑세스하기 위해 직접 사용할 수 있는 소프트웨어의 실수
(보안 약점이 더 넓은개념이며 보안 약점이 해커에 의해 악용되는 경우 취약점으로 간주될 수 있음)
참고: https://cwe.mitre.org/index.html
CWE - Common Weakness Enumeration
CWE™ is a community-developed list of software and hardware weakness types. It serves as a common language, a measuring stick for security tools, and as a baseline for weakness identification, mitigation, and prevention efforts.
cwe.mitre.org
CWE의 주요 목표는
제품이 배포되거나 사용자에게 제공되기 전 설계, 디자인, 코드 작성 등의 개발 과정에서 엔지니어로부터 흔히 발생하는 일반적인 실수나 오류를 제거하는 방법을 교육하여 소스코드상의 취약점을 사전에 방지하는 것이다.
CWE는 각 보안약점에 대해 상세설명뿐 아니라
- 예제코드
- 문제해결방법
- 발생 가능한 개발 환경
- 추가 발생 가능한 문제점
- CVE
등과 같은 다양한 정보를 포함하고 있다.
CWE를 적용하고 활용함으로써 SW와 HW의 정상적인 실행을 방해하고 중요 정보가 외부에 노출되는 보안 문제를 사전에 예방할 수 있다.
CWE는 각 약점들에 대해 번호를 부여하고 이를 목록화 하여 관리하고 있다.
또한 프로그래밍 언어에 따라 또는 다양한 약점을 카테고리화 하여 하나의 CWE번호를 부여하고 분류하고 CWE목록을 제공하고 있다
CWE-658: C언어로 작성된 SW에서 발생 가능한 취약점 목록
CWE-659: C++언어로 작성된 SW에서 발생 가능한 취약점 목록
CWE-660: Java언어로 작성된 SW에서 발생 가능한 취약점 목록
CWE-658/659
CWE는 특정 프로그래밍 언어나 개발 환경 등 어느 한 부분에 국한되지 않고 다양한 SW및 HW에서 발생할 수 있는 약점을 제공하고 있어 국방, 자동차, 전기/전자 등 다양한 시장에서 적용하고 활용이 이루어지고 있다.
그중에서 C와 C++, Java언어로 작성된 SW에서 발생 가능한 취약점 목록인 CWE-658/659/660은 우리나라 국방 시장에서 활발히 활용되고 있다.
방위사업청에서 발표한 '무기체계 소프트웨어 개발 및 관리 매뉴얼'에는 소프트웨어에 대한 신뢰성 시험 수행을 요구하고 있는데,
이 중 한가지 시험 종류인 취약점 점검 시험은 CWE-658/659/660에 해당하는 소프트웨어 취약점을 점검하는 것이다
임베디드 시장에서 주로 사용되는 C와 C++언어에 대한 취약점 목록인 CWE-658은 총 80개, CWE-659는 총 84개 항목으로 이루어져 있다 (CWE4.0 기준)
그러나 언어의 특성에 따라 분류되었음에도 불구하고, 목록의 90% 이상이 동일한 CWE 항목으로 이루어져 있다
출처: https://m.blog.naver.com/mds_datasecurity/222086450953
'개발 > work' 카테고리의 다른 글
Rule of 3, 5 (0) | 2022.03.04 |
---|---|
doxygen 환경 구성 (0) | 2022.02.18 |
브라우저 제스쳐 동작용어: 핀치 인/아웃 (0) | 2021.12.09 |
[Linux] core갯수 확인하기 (0) | 2021.12.08 |
AUTOSAR: 자동차 임베디드 SW표준 아키텍쳐 (0) | 2021.07.29 |