본문 바로가기

CERT C

What is CERT C

의미

CERT C Coding Standard는 SW 개발자들을 한 가이드라인의 집합이자 C 언어의 보안 취약성 및 노출 등을 방지하기 위한 가이드라인입니다.

Why do CERT C?

 

C 언어는 컴퓨터 공학을 이수하고자 할 때 반드시 거쳐야 하는 언어입니다.

 

그래서 처음 컴퓨터 공학을 시작할 때 배우게 되는 이 언어는 습관처럼 코드를 작성하게 되고 프로그램의 동작 관점에서 프로그래밍을 하게 되는 사람이 많습니다. 물론, 저 또한 오랫동안 그래 왔다고 생각합니다. 또한 직접 메모리에 접근하고 바로 컴파일이 되는 언어이고 링킹 과정을 생각하고 프로그램을 만들어야 하는 언어이기 때문에 메모리 누수 이외에도 많은 취약성을 알고 프로그래밍을 해야 합니다.

 

저는 사실 이러한 취약성들을 알아가는 과정에 "빠르게 변하는 트렌드를 따라가자"라는 생각으로 더 편하고 쉬운 스크립트 언어들을 공부하려 했습니다. 그러다가 CERT C를 공부하게 될 환경이 생겼고 학습을 하면서 코드를 동작 관점이 아닌 메모리 관점으로 볼 수 있는 통찰력을 얻을 수 있었고 내부 운영체제와 컴파일러, 링킹을 고려하면서 컴퓨터의 전반적인 동작 과정을 이해하면서 성장할 수 있었습니다.

 

C 언어에서 알지 못했던 많은 부분, 취약성, 신기(?)한 부분, 간과하고 넘어간 부분들을 같이 헤쳐나가고 싶다고 생각하시는 분은 천천히 보면서 얻어 갔으면 좋겠습니다 :)

 

*** 이 과정은 C에 대한 기본적인 바탕 개념이 필요하고 설명 시 간단하게 문법, 의미 등을 짚고 넘어갈 것입니다.

 

 

 

참조


wiki.sei.cmu.edu/confluence/display/c/3+Recommendations

 

3 Recommendations - SEI CERT C Coding Standard - Confluence

페이지 SEI CERT C Coding Standard 배너의 맨 끝으로 배너의 맨 처음으로 3 Recommendations 메타 데이터의 끝으로 건너뛰기 작성자 : Barbara White, 최근 변경 : Amy Gale - 9월 07, 2018 메타 데이터의 시작으로 이동

wiki.sei.cmu.edu

CERT C를 학습을 할 수 있었던 사이트이며 포스팅 하는 글의 내용과 코드를 참조한 사이트입니다.

저의 설명보다 자세한 내용을 찾고자 하시는 분들은 위 사이트를 참조하시면 될 것 같습니다.