아직도 보안 점검은 귀찮은 일이라는 인식 많아
일반 직원이나 사용자의 참여 늘리려면 속도를 높여야
[보안뉴스 문가용] 개발을 주 업무로 삼고 있는 곳이라면 시간 연장을 굉장히 큰 손실로 여긴다. 그런데 애플리케이션 보안 프로그램은 바빠서 허덕이는 개발 업무의 뒷덜미를 부여잡고 놓아주질 않는다. 말 그대로 관문이 따로 없다. 그래서 기업에 따라서는 이 관문을 통째로 들어내는 과감성을 보여주기도 한다.
대부분 보안에 신경 쓴다는 게 중요하다는 건 인정하지만 귀찮은 일이라고 생각한다. 그래서 애플리케이션 개발 과정에서 꼼꼼하게 보안성을 확인하는 대신 애플리케이션을 완성하고 나서 최종 점검을 한 번 하는 것으로 대체한다. 그리고 문제는 여기서 발생한다. 완성 단계까지 보안 조치를 전혀 취하지 않는다는 건 끔찍한 결과를 초래하기 마련이다.
이름과 사뭇 다른 브레이크맨(Brakeman)
개발 과정에서 보안 점검 절차가 전혀 ‘관문’처럼 작용하지 않는다면 어떨까? 그렇다면 보안 점검을 하지 않을 이유가 없다. 트위터의 저스틴 콜린스(Justin Collins)는 루비온레일즈(Ruby on Rails)에서 활용이 가능한 정적 분석툴을 만들었고 이름을 브레이크맨이라고 붙였다. 이 브레이크맨은 이름과 달리 소프트웨어 개발 과정을 더 빠르게 만들도록 설계되었다. 브레이크맨이라는 이름은 “자동차에 브레이크가 달려있는 이유는? 빨리 달리기 위해서!”라는 옛말에서 따온 것이라고.
애플리케이션 보안에 문제점이 발견되면 발견 될수록 소프트웨어 개발 기간은 길어진다. 심지어 개발 단계의 후반부일수록 기간은 증폭한다. 굉장히 간편하고 빠른 툴로 초기 단계에 검사를 반복하는 것은 그러므로 기간을 줄이고 비용도 줄이는 데 큰 도움이 된다. 또한 취약점을 발견해서 고칠 수 있는 구조가 훨씬 단순한 것도 초기 단계에서나 가능한 얘기다. 단순한 것도 쌓이고 쌓이면 복잡해지는데, 보안 점검을 나중으로 미룬다는 건 재앙을 자초하는 것이나 다름없다.
그렇다면 애플리케이션 보안 툴이 빠르다는 건 어떤 의미인가?
빠르다는 건 결과가 빨리 나온다는 것이다. 보안 점검을 했는데 다음 날 결과가 나오거나 다음 주에 나오면 그건 절대 빠르다고 할 수 없다. 개발자들은 컴파일로부터 빠른 결과를 받아버릇 한 부류다. 그렇기 때문에 보안 툴들도 비슷한 수준의 속도를 보여주어야 한다.
빠르다는 건 전문가가 아니더라도 누구나 설치하고 사용할 수 있다는 뜻도 포함되어 있다. 이게 속도랑 무슨 상관이냐고? 보안 전문가들이 사용자 컴퓨터마다 돌아다니며 사소한 보안 프로그램 하나하나 설치해주지 않는 것만으로도 엄청난 시간이 절약되니까. 게다가 이렇게 ‘쉬우면’ 예산도 절약된다.
시스템 어딘가에서 계속해서 돌아가는 것도 중요하다. 아니면 때마다 날마다 일일이 기억해서 프로그램을 처음부터 실행해야 하고, 이는 말 그대로 대단히 귀찮은 작업일 수밖에 없다.
호환성이 좋아야 한다. 그래서 개발 단계의 아무 시점에서나 사용이 원활해야 한다.
정확도를 양보할 수는 없다. 검사 결과가 정확하지 않다면 검사의 이유 자체가 없어진다. 즉 아무리 빨라도 그 자체로 시간 낭비가 되어버린다는 것이다. 게다가 ‘오진’이라도 해서 적당한 조치를 취하느라 개발을 멈추기라도 하면 아까운 시간을 더 흘려버리는 꼴이 된다.
정적 실험 및 동적 실험을 넘은 IAST
다행히 더 빨라야 한다는 필요는 누구에게나 공통된 것인지 애플리케이션 보안 자동화의 노력은 멈추지 않고 있다. 그래서 최근에는 애플리케이션을 실행하면서 보안 관련 정보를 동시에 수집하는 기술도 등장했다. 달리는 자동차의 엔진 상태나 연료나 압력이 꾸준하게 점검되는 것과 같은 이치다. 가트너는 이를 IAST, 즉 인터랙티브 애플리케이션 보안 실험(Interactive Application Security Testing)이라고 명명하고 2014년 보안업계 신기술 10위 안에 올려놓았다.
IAST 툴들은 정적 분석 툴처럼 코드를 분석하고 동적 분석 툴처럼 HTTP 트래픽을 관찰한다. 게다가 런타임 데이터와 라이브러리, 프레임워크, 설정 파일, 백엔드 연결에도 접근이 가능하다. 정보가 당연히 많아지고, 그러니 분석이 정확해진다.
IAST의 또 다른 장점은 전에 없었던 뛰어난 속도다. 설치도 쉽고 실제 개발 과정에도 잘 녹아들어간다. 툴을 전문적으로 사용할 줄 아는 사람이 따로 필요한 것도 아니고 큰 하드웨어 소모 없이 계속해서 돌아간다. 그래서 가트너에서 “혁신적인 기술”이라고 치켜세우는 것이다. 이런 IAST를 무료로 실행해주는 툴이 있다. 이클립스(Eclipse)의 플로그인으로 이클립스 마킷플레이스에서 쉽게 구할 수 있다.
정책의 힘을 이용해 기존의 느린 보안 툴을 개발부서에게 넘겨주고 강제로 사용하게 할 수도 있다. 하지만 개발자들은 영리한 부류라 얼마든지 이를 회피할 수 있다. 그러나 아쉬운 건 보안 담당자다. 아쉬운 사람은 우물을 파게 되어 있고, 그걸 반증이라도 하듯 보안 툴들은 점점 빨라지고 있다. 약간은 자존심을 굽히고 안전불감증에 시달리는 개발자들을 위해 앞서간 툴들이나 방법을 찾아볼 필요가 있다.
날이 갈수록 보안에 대한 강조는 더 심해질 것이다. 그때를 위해 보안이 습관화 되어 있는 문화를 미리 구축해야 한다. 사람들의 반응을 이끌려면 ‘빠른 것’이 대세다. 인터넷이 늘 그러했듯이.
@DARKReading
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>