| 시큐어 코딩을 정착시키기 위해서는 조직 전체가 움직여야 | 2022.04.06 |
시큐어 코딩이 중요하다는 걸 모르는 개발자는 없다. 하지만 개발자 혼자 마음 먹는다고 갑자기 시큐어 코딩이 되는 건 아니다. 조직적으로 마련해주고 지원해줘야 할 것들이 있다. 이를 간과하고 개발자에게만 모든 것을 맡기는 건 앱 취약점을 당연시하겠다는 뜻이다.
[보안뉴스 문가용 기자] 시큐어 코딩이라는 문화가 개발자와 기업들에 정착하기까지는 아직 한참 남은 것으로 보인다. 하지만 희망은 있다. 조금씩 그 방향으로의 진전이 분명히 이뤄지고 있다는 증거들이 나오기 시작했기 때문이다. ![]() [이미지 = utoimage] 보안 교육 전문 업체인 시큐어코드워리어(Secure Code Warrior)가 조사한 바에 의하면 애플리케이션 보안을 1순위로 생각하는 앱 개발자들은 아직 14%도 되지 않는다고 한다. 하지만 67%는 12~18개월 안에 애플리케이션 보안이 꽤나 중요한 것으로 자리 잡을 것이라고 보고 있기도 했다. “개발자들이 가장 중요하게 생각하는 것은 프로그램의 질, 애플리케이션 성능, 유용성”이라고 시큐어코드워리어는 설명한다. 적어도 이번 조사에서 그렇게 답한 사람이 56%로 가장 많았다고 한다. 시큐어코드워리어의 CEO인 피터 다니휴(Pieter Danhieux)는 “시큐어 코딩을 도입하려는 기업들이 꽤나 많아졌지만 아직 여러 가지 어려움을 겪고 있는 상황”이라고 설명한다. “소프트웨어 보안이 앞으로 더 중요해질 거라고 믿고 있는 개발자들이 많다는 것 자체는 꽤나 긍정적인 일입니다. 사람은 믿는 대로 움직이기 마련이거든요. 하지만 아직 넘어야 할 산들이 제법 있습니다. 오래 전부터 정착되어 있는 개발 문화가 쉬이 사라질리가 없고요, 조직 차원에서 아직 큰 투자 필요성을 느끼지 못하고 있다는 것도 결코 낮지 않은 장애물입니다.” 시큐어 코딩이라는 새로운 개발 기법을 기존 개발 프로세스에 도입하는 건 생각보다 큰 어려움인 것으로 나타났다. “개발자의 48%가 취약점이 있다는 걸 알면서도 코드를 가져다가 사용하는 것으로 나타났습니다. 19%는 자기가 참여한 프로젝트에 취약점이 있을 것이 분명하다고 보고 있고요. 개발자들이 이제는 자기가 사용한 코드에 취약점이 하나도 없고 완전무결하다고 보지 않는다는 겁니다. 다만 그 취약점이 어디에 있는지, 어떤 성질을 가지고 있는지를 모를 뿐이죠.” 개발자들이 보안이 중요해질 거라고 믿으면서도 당장 보안에 집중하지 못하는 이유는 무엇일까? 24%의 개발자들은 프로젝트 초기에 시큐어 코딩을 제대로 도입할 시간이 부족하다고 답했다. 보안에 신경을 쓸 여력이 구조적으로 만들어지지 않는다는 것이다. 19%는 시큐어 코딩을 도입하기 위한 조직 차원의 기획과 준비가 부족하다고 답했다. “보통 보안 업계가 시큐어 코딩에 대해 이야기 할 때는 ‘개발자들이 주체가 되어야 한다’는 의미를 많이 담고 있죠. 개발자가 하면 되는 건데 하질 않으니 안 되는 거라고 말이죠. 반면 개발자들은 이것이 보다 광범위한 차원에서의 변화와 협조가 필요한 일이라고 보고 있다는 것이 이번 조사를 통해 발견됐습니다. 조직 차원에서 면밀한 계획을 짜고 충분한 시간을 줘야 도입할 수 있는 건데 실제 업무 환경에는 아무런 변화도 주지 않고 압박만 넣고 있다는 것이죠.” 보안을 잘 하면 재작업이 줄어든다 보안을 처음부터 탄탄히 하면 팀 전체의 할 일이 줄어들며 따라서 생산성이 강화된다는 사실은 개발자들도 잘 알고 있다. 이번 조사에 참여한 개발자들 중 절반 이상(53%)이 코딩으로서 취약점을 줄일 수 있다고 답했으며, 52%는 코딩으로 오류도 줄일 수 있다고 답했다. 이 두 가지를 줄였을 때 미래의 할 일 역시 감소된다고 개발자들은 답했다. 거기에 더해 41%의 개발자들이 “애플리케이션의 기능성과 보안성 둘 다 똑같이 중요하다”고 답했으며 49%는 “시큐어 코딩으로 바뀌는 게 반드시 필요한 목표”라는 데에 동의하고 있었다. “개발자들은 좋은 직장과 환경에서 보람 있는 일을 하고 싶어 합니다. 돈만 많이 주면 쓰레기 같은 프로그램이라도 얼마든지 만들겠다는 사람은 찾기 힘듭니다. 봉급도 중요하지만 의미 있는 작품을 만들어내는 것도 개발자들의 희망이라는 것이죠. 그러니 시큐어 코딩 문화를 받아들이지 못할 리가 없습니다. 올바른 도입 방법을 제시하고 여건만 마련해 준다면 쉽게 해결될 수도 있는 문제입니다. 교육과 훈련, 도입 과정 모두에는 시간이 필요합니다. 시큐어 코딩 도입을 진심으로 하려는 조직이라면 개발자들에게 시간을 허락해 줄 수 있어야 합니다.” 다니휴의 설명이다. 시간만이 문제는 아니다. 애플리케이션 시큐어 코딩 교육도 여러 가지 면에서 부족한 것으로 이번에 조사됐다. 시큐어 코딩 교육에 참여해 보았다는 개발자들 중 30%가 “좀 더 실용적이고, 현장에 가까운 내용으로 교육을 받고 싶다”고 답했으며, 26%는 “인터랙티브한 교육 프로그램이 아니어서 아쉬웠다”고 답했다. 취약점 불가피론 조직적으로 시큐어 코딩에 대한 개념이 부족하다는 자리도 이번 조사를 통해 드러났다. “시큐어 코딩이 무엇이며, 어떻게 구성되어 있고, 어떻게 이뤄가는지를 조직들마다 다르게 알고 있습니다. 대부분의 기업들(61%)은 충분한 검토와 평가를 통해 안전하다고 여겨지는 코딩 요소들과 라이브러리들을 사용하면 되는 것이라고 생각하고 있었고, 분석 도구와 애플리케이션 정적 및 동적 실험을 충분히 하는 것이 시큐어 코딩이라고 여기는 조직도 60% 정도 됐습니다.” 또 하나 조직적인 차원에서 큰 장애가 되는 것이 이번 조사로 발견됐는데, 다니휴는 이것을 ‘취약점 불가피론’이라고 부른다. “개발자들은 절대로 취약점을 찾아낼 수 없다, 혹은 취약점이 생기는 걸 막지 못한다는 패배주의가 은근히 개발자들과 IT 담당자, 경영진들 사이에 깔려 있습니다. 뭘 해도 안 된다는 믿음이 저변에 있으니 당연히 시큐어 코딩이 효과를 발휘하지 못하죠. 물론 100% 안전한 앱을 만들기는 힘이 듭니다만, 아주 불가능한 것도 아닙니다.” 다니휴는 그러한 불가피론 혹은 패배주의에 대하여 “취약한 애플리케이션을 수용 가능한 사업 리스크로 여기는 순간부터 보안 프로그램의 약화가 시작된다”고 강조한다. “단순 긍정론을 말하는 게 아닙니다. 모든 노력을 수포로 돌리는 마음가짐을 배척해야 한다는 겁니다. 사이버 보안은 지나친 긍정으로 되는 것도 아니지만 지나친 부정으로는 더더욱 할 수 없는 것입니다.” 3줄 요약 1. 시큐어 코딩, 안전한 애플리케이션 위해 반드시 정착되어야 할 문화. 2. 하지만 개발자들에게만 모든 짐을 지워서는 이뤄낼 수 없음. 3. 취약점 발생은 불가피한 일이라는 믿음 역시 시큐어 코딩을 무력하게 만들고 있음. [국제부 문가용 기자(globoan@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|