소프트웨어 보안을 강화하기 위한 세 가지 전략

2023-07-01 16:45
  • 카카오톡
  • 네이버 블로그
  • url
탄탄한 소프트웨어를 만드는 건 여태까지 필수적인 것이 아니었다. 소프트웨어는 취약할 수밖에 없다는 게 정론이었기 때문이다. 하지만 미국 정부가 이런 인식을 뒤집어야 한다는 화두를 던졌다. 소프트웨어 보안 지형도가 빠르게 바뀔 전망이다.

[보안뉴스 문정후 기자] 현대 소프트웨어 보안은 과도기를 지나고 있다. 이 시기가 지나가면 기업들은 안전하지 않은 소프트웨어를 만든 것에 대해 책임을 지고 심지어 벌을 받게 될 것이다. 더 이상 ‘우리도 피해자’라는 스탠스를 취하기 어렵게 될 것이 분명해 보인다.


[이미지 = gettyimagesbank]

얼마 전 미국의 바이든 대통령과 그의 행정부는 오랜 시간 보안 업계가 기다려왔던 ‘국가 사이버 보안 전략(National Cybersecurity Strategy)’이라는 것을 수립해 발표했다. 그 전략 중 하나는 소프트웨어 개발사가 보안 취약점과 사고에 대한 책임을 더 많이 지게 함으로써 소프트웨어 생태계를 보다 안전하게 만드는 것이었다. “현재 시장은 취약한 제품인아 서비스를 시장에 내놓는 단체들에 책임은 적게 묻게, 오히려 과도한 보상만 해 주고 있다”는 게 이 전략 보고서의 지적이었다.

이러한 방향성의 타당함이나 그름을 떠나 일단 ‘소프트웨어 취약점 문제는 심각하다’는 지적 자체에 동의 못할 사람은 없을 것이다. 우리의 IT 생태계에 있어 소프트웨어 취약점은 엔데믹 그 자체다. 단순히 사람이 만든 거라 구멍이 있을 수밖에 없다는 보편적인 사실 외에 뭐가 우리의 소프트웨어를 이렇게 취약하게 만드는지를 구체적으로 이해하고 해결해야 할 필요가 있다. 그렇지 않으면 곧 취약한 소프트웨어를 시중에 내놓은 잘못으로 온갖 지탄과 벌금을 받게 될 테니까.

취약점들의 뿌리
안전하지 않은 소프트웨어는 대부분 개발 초기 단계에까지 문제의 뿌리가 거슬러 올라간다. 하지만 이야기를 더 진행하기 전에 여기서 몇 가지 용어를 바로잡고자 한다.
1) 오류(flaw)는 코드가 작성되는 시기에 형성되는 결함으로, 취약점으로 발전할 가능성이 다분하다.
2) 취약점(vulnerability)은 소프트웨어 코드 내에서 발견되는 ‘익스플로잇 공격 조건’을 말하며, 해킹 공격의 시작점이 되는 경우가 많다.

코드가 계속해서 작성됨에 따라 오류들이 누적되면 ‘보안 채무’가 쌓인다. ‘보안 채무’란 애플리케이션의 생애주기를 통해 해결되지 않는 오류들을 말한다. 바로 이 ‘보안 채무’ 때문에 데브섹옵스(DevSecOps)라는 것이 떠오르기 시작했다. 데브섹옵스는 소프트웨어 개발 주기 전체에 보안을 적용하는 개발 운영 및 관리 기법이다.

최근 보안 업체 베라코드(Veracode)는 ‘소프트웨어 보안 상황(State of Software Security)’이라는 연구 보고서를 통해 어떻게 오류들이 만들어지게 되는지를 세부적으로 살폈다. 이 연구를 위해 75만 개 이상의 애플리케이션들을 분석했다.

조사 결과, 크기와 상관없이 애플리케이션들은 개발이 끝나고 5년 동안 약 40% 정도 꾸준히 커지는 것으로 나타났다. 최초 버전에 없던 코드들이 꾸준히 추가된다는 건데, 이 과정에서 오류들도 추가된다. 하지만 추가되는 패턴은 ‘꾸준한 상승’과 거리가 있다. 애플리케이션이 시장에 새롭게 나올 때에는 오류들이 급격하게 줄어든다. 그 다음 약 1년~1년 6개월 사이에는 애플리케이션의 80%에서 새로운 오류가 추가되지 않는다. 그 기간이 끝나면 대략 5년까지 오류가 계속해서 늘어나고 5년 후부터 뜸해진다.

발견되는 오류들은 검사할 때 어떤 방식을 활용했느냐에 따라 다르게 나타난다. 정적 검사냐 동적 검사냐, 그 외 어떤 분석 기술이 사용됐느냐에 따라 발견되는 오류들이 달라진다. 하지만 어떤 검사 방식을 동원해도 비슷하게 나타나는 것들이 있는데, 바로 정보 유출 오류다. 그 외에는 검사 방식마다 차이를 보이기 때문에 소프트웨어 오류 검사를 할 땐 여러 기법을 고루 사용하는 걸 추천한다.

스캔을 얼마나 자주 하느냐 혹은 자주 하지 않느냐도 중요한 변수로서 작용한다. 애플리케이션 스캔을 한 달에 한 번 정도만 해줘도 새로운 오류가 생길 가능성이 현저하게 줄어드는 것을 발견할 수 있었다. 오류들의 총 개수도 줄어든다. API를 사용해 스캔을 자동으로 실시하는 것도 오류 발생 가능성을 낮추는 데 적잖은 도움이 되는 것으로 분석됐다.

더 나은 보안 애플리케이션으로 한 걸음 더
코드를 작성할 때 아예 어떤 오류도 생기지 않게 하는 것이 가장 이상적인 건 너무나 당연하다. 하지만 실질적이거나 실용적이지는 않다. 그렇기 때문에 차선책으로 다음 세 가지를 권장한다.

1) 보안 오류들은 최대한 빠르고 즉각적으로 해결해야 한다. 애플리케이션 출시 후 2년만 지나도 이미 오류가 쌓이고 쌓여 걷잡을 수 없는 경우에 처하는 경우를 이번 조사에서 많이 목격했다. 오류가 쌓이면 쌓일 수록 해결이 힘들어지는 건 당연하다.

2) 자동화를 도입하고 개발자를 훈련시켜야 한다. 개발 시 발생되는 각종 오류들에 어떤 것이 있으며, 그 중 흔한 것은 또 무엇인지 알아야 코드를 만들 때 오류가 덜 나온다. 또한 오류가 발견됐을 때 대처하는 속도와 방법도 달라진다. 실제로 보안 훈련 코스를 마친 개발자들이 만든 앱들에서는 통계적으로 오류가 적다는 것을 발견할 수 있었다.

3) 애플리케이션 생애주기 관리 체계를 수립해야 한다. 특히 애플리케이션 관리 담당자를 지정해 두는 것이 좋다. 그렇다고 모든 책임을 한 사람에게만 지우는 건 그리 효과적이지 않다. 일단 시급하게 혹은 중요하게 관리해야 하는 애플리케이션부터 시작하는 게 좋다.

유럽의 GDPR로부터 시작해 전 세계가 개인정보와 프라이버시에 민감한 정서를 빠르게 갖게 됐듯이, 미국의 새로운 보안 책임론부터 시작해 전 세계 개발사들이 소프트웨어 오류와 취약점에 대해 다르게 생각할 것이라고 필자는 생각한다. 유럽과 미국이 선구자라는 뜻이 아니라, 설득력이 강하고 모두가 지켜야 할만한 가치가 있는 것들은 한 나라나 지역에서 유행했을 때 다른 곳으로 퍼지기 마련이라는 뜻이다.

그러니 이제 단순히 윤리적이거나 바람직한 행동이라는 차원에서 소프트웨어 보안을 추구하는 시대는 저물고 있다고 봐도 무방하다. 취약점 있는 소프트웨어는 이제 금전적 손실을 일으킨다. 그러므로 소프트웨어의 보안성은 사업성 그 자체다.

글 : 크리스 엥(Chris Eng), 수석 연구 책임자, Veracode
[국제부 문정후 기자(globoan@boannews.com)]

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

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 아마노코리아

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • KCL

    • 아이디스

    • 씨프로

    • 웹게이트

    • 씨게이트

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 엔토스정보통신

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 다누시스

    • 테크스피어

    • 경인씨엔에스

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 비전정보통신

    • 지오멕스소프트

    • 트루엔

    • 인터엠

    • 세연테크

    • 성현시스템

    • 한국아이티에스

    • 케비스전자

    • 아이원코리아

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 스피어AX

    • 동양유니텍

    • 투윈스컴

    • TVT코리아

    • 프로브디지털

    • 위트콘

    • 포엠아이텍

    • 넥스트림

    • 페스카로

    • 아우토크립트

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네티마시스템

    • 케이제이테크

    • 알에프코리아

    • (주)일산정밀

    • 아이엔아이

    • 미래시그널

    • 새눈

    • 창성에이스산업

    • 유투에스알

    • 제네텍

    • 이스트컨트롤

    • 현대틸스
      팬틸트 / 카메라

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 주식회사 에스카

    • 에이앤티글로벌

    • 모스타

    • 한국씨텍

    • 넥스텝

    • 레이어스

    • 구네보코리아주식회사

    • 에이티앤넷

    • 티에스아이솔루션

    • 엘림광통신

    • 보문테크닉스

    • 포커스에이아이

    • 메트로게이트
      시큐리티 게이트

    • 휴젠

    • 신화시스템

    • 글로넥스

    • 이엘피케이뉴

    • 세환엠에스(주)

    • 유진시스템코리아

    • 카티스

    • 유니온바이오메트릭스

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

Passwordless 설정

PC버전

닫기