Home > 전체기사

애플리케이션 보안, 강조만 하지 말고 교육부터 시작하라

  |  입력 : 2023-03-28 12:17
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기
애플리케이션 보안의 중요도는 우리의 삶이 애플리케이션 위주로 돌아가면 돌아갈수록 높아진다. 그렇기에 애플리케이션을 보호해 주는 새로운 방법론들이 등장하고 있다. 하지만 기본적인 교육부터 받지 않는다면 새 방법론들도 무용지물이 된다.

[보안뉴스 문정후 기자] XSS, 브루트포스, SQL 주입 등 애플리케이션을 노리는 사이버 공격이 빠르게 증가하는 중이다. 애플리케이션에 대한 우리의 의존도가 끝도 없이 높아지는 때에 염려스러운 일이 아닐 수 없다. 수많은 기업들이 애플리케이션 보안을 1순위에 두고 있고, 급기야 백악관은 애플리케이션 개발사들에 보안과 관련된 책임을 더 많이 묻겠다는 방침을 발표하기도 했었다.

[이미지 = utoimage]


소프트웨어를 보다 안전하게 만드는 데 있어 모의 해킹과 코드 스캔과 같은 방법론들은 대단히 중요한 위치를 차지하고 있다. 하지만 이 둘만으로 충분하지는 않다. 최대 70%의 조직들이 소프트웨어 개발 생애주기 내에 보안 강화를 위해 반드시 해야 할 일들을 하지 않고 있으며, 그래서 취약점들은 기하급수적으로 증가하는 중이다. 즉 예방적 조치는 취하지 않아 취약점들이 마구 생산되고 있는데 취약점 검사 기술로만 수습하려 한다는 것이다.

이 딜레마를 해결하기 위해서는 기존의 ‘검사하고, 찾고, 고친다’는 3단계 접근법에서 벗어나야 한다. 그리고 처음부터 취약점이 없는 코드와 애플리케이션들을 만드는 데 힘써야 한다. 이는 인간의 예지력과 선견지명을 필요로 하는 일이다. 애플리케이션이 어떤 식으로 공략당할 수 있는지 상상하지 않은 채 만들어진 애플리케이션들은 아마추어가 적당한 부품들을 가져다가 조립한 엉성한 제품과 다를 것이 없는데, 지금 우리는 그러한 결과만 자꾸 내놓고 있다. 이러한 상상력(예지력, 선견지명 등등)은 교육에서부터 나온다.

코드 스캐닝보다 한 걸음 더 앞으로
소프트웨어가 개발되는 전 과정을 지나는 동안 보안이 얼마나 간과되는지를 알려주는 현상 중 하나는 코드 스캐닝 도구나 소스코드 분석 도구에 지나치게 의존하고 있는 대부분 기업들의 현 상황이다. 코드 스캐닝은 애플리케이션이 출시되기 전에 취약점이 있는지 점검해 보는 것이긴 하지만, 코드가 다 짜여진 다음에 진행되므로 예방적 조치라고 하기 힘들다. 오류라는 건 해결이 뒤로 미뤄지면 미뤄질수록 비용이 높아지므로, 코드 스캐닝을 통한 취약점 해결이 효율적이라고 말하기도 힘들다.

하지만 코드 스캐닝의 진짜 문제는 오탐이 발생할 확률이 매우 높다는 것이다. 그래서 개발의 마무리 단계에 와서 코드 스캐닝을 하면, 거기까지 가느라 가뜩이나 지친 개발 팀들의 진을 빼놓기 십상이다. 결국 코드 스캐닝을 통해 나온 경보에 아무도 관심을 기울이지 않게 된다. 심지어 코딩을 할 줄은 아는데, 코드에 나온 취약점을 해결하는 데에는 미숙한 모습을 보이는 개발자들도 적다고 할 수 없다. 스캔을 통해서 문제가 제대로 발견되지도 않고, 발견된다 한들 제대로 고쳐지지 않는다.

그렇기 때문에 안전한 애플리케이션을 만들고 사용하기 위해서는 그 무엇보다 교육과 훈련이 절실히 필요하다. 개발자들이 주요 대상이지만, 소프트웨어 개발 생애주기 전반에 걸쳐 개발자들과 함께 작업하는 모든 사람들에게도 필요하다. 단순히 인식 수준을 높이는 것을 말하는 게 아니다. 안전한 코딩(혹은 시큐어 코딩)에 대한 이해도를 모든 관계자들이 갖추고, 안전한 코딩이 당연한 기본기 취급을 받는 문화까지 형성해야 한다.

낯선 코딩 방식에 개발자들이 거부감을 나타낼 수 있고, 사실 흔한 일이기도 하지만, 시큐어 코딩은 개발자들에게 이득이 되는 방법론이다. 왜냐하면 코딩을 다 끝내고 마감까지 지은 이후에 취약점이 발견돼 패치를 개발한다는 건 그 어떤 개발자들에게나 귀찮고 부담스러운 일이기 때문이다. 시큐어 코딩은 그런 부담감을 상당히 덜어준다. 그 부담을 소프트웨어 개발 처음과 나중 사이를 잇는 모든 중간 과정에 고루 퍼트리는 게 시큐어 코딩이라고 볼 수 있다.

‘안전 습관’ 들이는 것이 관건
안전하게 코딩은 사실 습관의 문제다. 개발자들에게 시큐어 코딩을 강조하는 건 코딩의 습관을 바꾸라는 것과 같다. 하지만 우리 모두 알고 있다. 몸에 밴 습관을 고치는 게 얼마나 어려운 일인지를 말이다. 하지만 우리는 그 반대의 사실 또한 알고 있다. 교육과 훈련을 충분히 거치면 몸에 밴 습관이라도 충분히 고칠 수 있다는 것을 말이다.

진심으로 애플리케이션 보안이 중요하다고 생각하고, 안전한 제품을 세상에 내놓겠다고 하는 기업이라면 소프트웨어 개발 관련 인력들의 교육에 좀 더 투자를 해야 한다. 코드 스캐닝만 계속 해봐야 돈은 돈 대로 쓰고 변화는 변화 대로 없을 것이다.

시큐어 코딩이 소프트웨어 개발자들에게 강조하는 습관은 다른 게 없다. 개발의 모든 단계에서 코드 점검을 꾸준히 하는 것이다. 맨 나중으로 미뤄둔 코드 스캔을 미리미리 틈틈이 해가면서 문제점들을 해결하는 게 쉽고 부담 없고 저렴하다. 물론 그렇게 하려면 시큐어 코딩의 가치를 개발자 본인이 깨달아야 하고, 기술적으로 취약점을 줄이고 해결하는 방법을 익혀두어야 한다.

개발자를 대상으로 한 시큐어 코딩 교육은 이미 오래 전부터 강조된 이야기다. 그런데 충격적으로 많은 기업들이 아직 교육을 시작하지 않고 있다. 시큐어 코딩의 중요성은 알고 있고 공감한다고 하지만, 조직 차원에서 교육과 훈련을 실시해 코딩 방법론의 변화를 이끌어내지 않고 개발자 개개인들에게만 책임을 돌리고 들들볶고 있는 형국이다.

시큐어 코딩은 한두 사람이 온전히 담당하고 책임질 수 있는 게 아니다. 소프트웨어 개발 프로젝트를 결정하는 제일 윗선에서부터 진행 상황을 관리하는 중간자, 직접 손과 발을 써서 개발해야 하는 개발자 모두가 몸에 배도록 익혀야 진정한 시큐어 코딩을 할 수 있게 된다. 그래서 다시 한 번 강조하지만 소프트웨어 개발에 관여된 모든 사람들의 교육과 훈련이 가장 절실하다.

글 : 에이미 베이커(Amy Baker), 보안 교육 전도사, Security Journey
[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기

  •  SNS에서도 보안뉴스를 받아보세요!! 
아스트론시큐리티 파워비즈 2023년2월23일 시작 위즈디엔에스 2018
설문조사
오픈AI가 개발한 인공지능 챗봇 챗GPT가 GPT4 버전까지 나오면서 디지털 혁신의 촉매재 역할을 하고 있습니다. 보안 분야에서도 챗GPT로 인해 보안위협이 가속화될 것이라는 전망과 함께 보안업무에 효과적으로 활용된다면 보안대응 역량 향상에도 크게 기여할 것이라는 의견도 제기됩니다. 이에 대한 여러분들의 생각은 어떠신가요?
챗GPT 악용으로 인해 보안위협이 더욱 고도화되고 증가할 것
챗GPT를 악용하는데 한계가 있어 보안위협이 소폭 늘어나는 추세에 그칠 것
챗GPT 활용에 따라 보안대응 업무에 적지 않은 도움이 될 것
챗GPT의 적극적인 도입 및 적용 통해 보안대응 역량이 획기적으로 향상될 것
보안위협 또는 보안대응과 관련해서는 큰 영향이 없을 것
기타(댓글로)