리눅스 창시자인 리누스 토발즈가 최근 리눅스 커널 개발자들 사이에 이뤄진 보안 조치를 맹비난하며 "보안이 프로세스를 죽이지 말아야 한다"고 강조했다.
개발 환경을 해칠 수도 있는 불편한 보안 조치가 어떤 기능을 수행한다는 프로그램의 본질을 훼손시켜서는 안 된다는 주장이다.
이 같은 주장이 나오게 된 것은 지난 17일 구글 픽셀 개발자인 키스 쿡이 리눅스 커널 v4.15-rc1을 대상으로 제안한 보안 조치 때문이다.
쿡은 해당 리눅스 커널에 '보안을 강화한 유저카피(hardened usercopy)'를 적용하기 위한 풀 리퀘스트(Pull requests)를 요청했다. 풀 리퀘스트는 깃허브 등에 올린 소스코드에 대해 변경이 필요할 때 이뤄진다.
해당 커널을 이용하는 사용자 공간의 메모리 영역을 줄여 리눅스 커널 내 메모리 상에 올라온 콘텐트가 유출되거나 사용자 공간을 너무 많이 차지하는 문제를 줄이기 위한 조치다.
문제는 이 과정이 만만치 않은 작업이라는 점이다. 토발즈는 "이러한 종류의 풀 리퀘스트는 매우 고통스러울 수 있다"고 말했다. 리눅스 커널의 핵심요소를 다뤄야하는 만큼 면밀한 검토작업이 필요하다는 설명이다.
이런 이유로 토발즈는 보안 담당자가 리눅스 커널을 손 볼 때는 3가지 가이드를 지켜줄 것을 당부했다.
먼저 보안 강화 기능을 추가할 때 보안 담당자로서 이런 기능이 엔드포인트에서 이뤄지도록 해야한다는 것이다. 개발 환경 자체에 부담을 줘서는 안 된다는 취지다.
두번째는 보안 강화 기능을 도입할 때 첫번째 단계는 항상 (버그에 대해) 충실히 보고하는 수준에서 그쳐야 한다는 의견이다. 어떤 프로세스도 죽이지 말아야 하며 심지어 접근을 제한해서도 안 된다는 설명이다.
세번째로는 모든 새로운 보안 강화 작업이 (개발자들 입장에서) 해롭지 않아야한다는 것이 보안 담당자들의 기도문(mantra)처럼 염두에 둬야한다는 것이다.
토발즈는 이미 2008년부터 개발자들의 작업이 과도한 보안조치로 인해 방해를 받아서는 안 된다고 주장해왔다. 프로그램에서 발생할 수 있는 여러가지 일반적인 버그를 잡는 작업은 개발자들이 일상적으로 해야하는 일 그 이상이 아니라는 뜻이다.
그는 2008년 리눅스커널메일링리스트에 "나는 모든 보안 서커스가 성가시게 하는 것을 거부한다"고 말했다. 일부 보안 전문가들이 취약점을 찾아내는 것을 마치 영웅시 하는 것에 대한 거부감을 드러낸 것이다.
이어 "실제로는 지루한 일반적인 버그들이 더 중요하며 일부 화려한 보안 취약점을 발견한 일에 대해 칭송받아야 한다거나 다른 어떤 것보다 특별하게 여겨야 한다고 생각하지 않는다"며 "나에게 보안은 중요하지만 다른 중요한 모든 어떤 것들보다 더 중요하지는 않다"고 강조했다.
관련기사
- 리눅스 선구자 뮌헨시, 윈도 회귀 결정2017.11.27
- 세계 슈퍼컴퓨터 톱500 모두 리눅스로 구동2017.11.27
- 리눅스 스타 개발자 한국에 모인다2017.11.27
- 컴퓨팅세계 평정한 '리눅스'...커뮤니티도 살아있네2017.11.27
미국 보안업계 그루로 불리는 브루스 슈나이어는 "보안은 프로세스이지 상품이 아니다"라고 말했다. 전체 프로세스 상에 보안을 지켜내야하는 것이 어떤 보안제품을 도입하면 모든 공격을 막아낼 수 있다는 인식을 버려야한다는 메시지다.
토발즈 역시 이 같은 견해에 동의했다. 그는 2015년 워싱턴포스트와 인터뷰에서도 그는 "어떤 시스템의 보안도 결코 완벽할 수 없다"며 "따라서 속도, 유연성, 사용 편의성 등과 항상 균형을 유지해야한다"고 말했다.