그렉 크로아-하트먼의 블로그에서 리눅스 CVE 할당 프로세스에 관한 글을 읽었다. 리눅스 커널처럼 거대하고 중요한 프로젝트에서 보안 취약점을 어떻게 관리하는지 알 수 있는 좋은 글이었다.
CVE(Common Vulnerabilities and Exposures)는 보안 취약점의 공식 식별자다. 리눅스 커널에 CVE가 할당된다는 것은 그만큼 취약점이 많다는 의미가 아니라, 투명하게 관리되고 있다는 의미다.
오픈소스의 역설
코드가 공개되어 있으면 취약점도 더 잘 발견된다. 나쁜 것 같지만 사실 좋은 것이다. 발견되지 않은 취약점이 가장 위험하기 때문이다. “many eyes make all bugs shallow”라는 말이 보안에도 적용된다.
하지만 CVE 숫자만 보고 “리눅스는 취약점이 많다”고 오해하는 사람들도 있다. 프로젝트의 규모와 투명성을 고려해야 공정한 비교가 된다.
안정 버전의 중요성
글에서 강조하는 것 중 하나가 안정 버전(stable version)을 잘 따라가라는 것이다. 기업 환경에서 “우리는 특정 버전에 고정해 있다”라고 하는 경우가 많은데, 이게 보안 관점에서는 위험할 수 있다.
물론 업그레이드에 따른 호환성 문제도 있다. 하지만 알려진 취약점을 그대로 두는 것과 업그레이드 리스크 중 어느 쪽이 더 위험한지 항상 따져봐야 한다.
커뮤니티의 힘
리눅스 커널 보안이 유지되는 것은 결국 커뮤니티 덕분이다. 취약점을 발견하고, 패치를 만들고, 리뷰하고, 백포트하는 수많은 기여자들. 이 생태계가 건강하게 유지되는 것이 중요하다.
오픈소스에 기여하는 것이 어렵게 느껴질 수 있지만, 버그 리포트 하나도 큰 기여다. 사용하면서 이상한 점을 발견하면 알려주는 것, 그것만으로도 생태계에 도움이 된다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.