캡스톤 디자인 #3 CVE, Buffer Overflow, Overrun

llip·2022년 5월 11일
0

캡스톤 디자인

목록 보기
3/9

CVE나 악성코드의 오버플로우를 이용하여 분석하면 된다는 조언을 받아 CVE를 살펴보기로 했다.

CVE는 정보 보안 취약점 표준 코드(Common Vulnerabilities and exposures)의 약자로 공개적으로 알려진 사이버 보안 취약점을 식별하는 방식을 표준화하는 데 목적을 두며 위협에 대해 정보를 찾아 활용하게끔 도와준다. CNA라는 기관이 CVE ID를 규명하여 연구원 및 IT 개발업체에 배포하여 취약점을 식별해서 표준화한다.
요약하면 보안 취약점의 표준이다.

사이버 보안 취약점은 공격자가 시스템이나 네트워크에 직접 접속할 수 있도록 만드는 소프트웨어 코드의 오류이다. 공격을 통해 시스템 제어 권한을 획득하고 수퍼 유저나 시스템 관리자를 가장해서 침입할 수 있다.
CVE를 통해 공격을 시도할 수 있지만 공개된 취약점과 익스포저를 목록으로 제공하여 기업 및 기관은 네트워크를 보호할 수 있다. 침해 사례나 취약점에 관한 조치사항을 공유받아 보안성을 높일 수 있을 뿐더러, CVE ID를 활용하여 신속도와 정확성을 바탕으로 보안도구나 서비스를 효과적으로 비교할 수 있다.

취약점을 찾아보면 설명과 함께 래퍼가 달려있다. CVE ID의 작성 방식은 다음과 같다.

CVE(범주)-(년도)-(발생순번)

CVE에 해당되기 위한 조건이 있다.
1. 독립적으로 수정 가능
2. 피해를 입은 벤더나 문서를 내용 확인 가능
3. 하나의 코드베이스에 영향을 미칠 것
ReD Hat - CVE란?

아직은 막 찾아보는 단계라 잘은 모르겠지만 CVE를 활용하면 악성코드의 시그니처를 찾아내는 데 도움이 될 것이라고 생각한다.

참고1
참고2
참고3
참고4

CVE의 구버전 사이트 https://cve.mitre.org/
CVE의 베타버전 사이트 https://www.cve.org/About/Overview
CVE 디테일
https://www.cvedetails.com/
취약점 요약 사이트
https://www.cisa.gov/uscert/ncas/bulletins
KCERT
https://www.krcert.or.kr/main.do


버퍼 오버플로우는 시스템 해킹의 한 종류로써 버퍼 공간의 크기보다 큰 데이터를 저장하여 인접한 메모리 공간으로 넘쳐 흐르게 해 정보를 덮어씌워버리는 상태이다. 성공하는 경우 시스템 권한이 상승하거나 임의의 코드를 실행해버리는 등의 악성 행위를 시도할 수 있다.

버퍼 오버플로우에는 Stack Overflow와 Heap Overflow 두 가지가 있다.

찾아보니 가장 오래되고 흔한 취약점 공격 방법 중 하나이며 아직가지도 위험한 소프트웨어 오류로 불리운다. 그만큼 메모리 보호 기법도 많이 강화되었지만 작은 실수로 치명적인 피해를 끼칠 수 있으니 유의해야 한다.
특히 임베디드 시스템 펌웨어가 이 공격에 취약하다는 듯. 이는 오랫동안 버퍼 오버플로우 문제에 시달렸고 정밀 검사를 받지 않아 개선이 없었다. 여기에 더하여코드 품질이 낮은 사물인터넷 기기가 증가하고 있으니 문제가 아직도 대두되고 있다.

Overrun은 메모리 안전 문제의 일종으로 한순간에 기존 데이터를 덮어 씌우거나 충돌 등을 일으킬 수 있다.

참고1
참고2
참고3

버퍼 오버플로우가 어떤 식으로 이루어지는지를 알게 되면 이 부분의 시그니처를 학습시켜 머신러닝 시키면 되지 않을까? 우선은 지식을 쌓는데 치중해야 겠다는 생각이 든다.

profile
공부중

0개의 댓글