애플리케이션 보안의 중요성이 그렇게나 자주, 많이, 강조되고 있지만 실제로 애플리케이션 보안을 위해 실질적은 노력을 하고 있는 곳은 그리 많지 않은 것으로 조사됐습니다. 보안 업체 NTT 애플리케이션 시큐리티(NTT Application Security)가 2021년 한 해 동안 웹 애플리케이션들을 1500만 회 스캔한 다음 내린 결론입니다.
[이미지 = freepik]
초고위험군 취약점이 패치되는 비율은 2020년 54%에서 2021년 47%로 오히려 내려왔습니다. 초고위험군 취약점이라고 알려져 있는데도 그대로 두는 경우가 절반 이상이라는 것입니다. 그렇다면 그보다 조금 더 약한 취약점들은 어떨까요? 고위험군 취약점의 경우 36%, 중위험군의 경우 33% 정도만이 패치됐습니다.
NTT는 2021년 한 해 동안 각종 웹사이트들도 조사, 분석했는데 절반에서 최소 한 개 이상의 고위험군 취약점을 발견했다고 합니다. 특정 산업군에서는 이 문제가 좀 더 심각하게 나타나기도 했습니다. 도소매 산업의 경우 59%의 사이트들이 최소 1개 이상의 고위험군 취약점을 내포하고 있었고, 유틸리티(사회 인프라 및 기반 시설) 분야는 63%가 위협에 노출되어 있었습니다. 과학 기술 연구 분야의 경우 65%로 대단히 심각한 상황이었습니다.
NTT의 수석 탐지 연구 분석가인 자크 존스(Zach Jones)는 “이런 숫자들을 보면 우리가 대단히 잘못된 방향으로 진행하고 있음을 알 수 있다”고 말합니다. “실제로 해결되는 취약점의 수와, 패치에 걸리는 시간 등을 보면 왜 보안 사고가 그렇게나 많이 일어나는지 충분히 알 수 있죠. 이상하죠? 많은 팀들이 초고위험군 취약점을 30일 안에 해결해야 한다고 말을 하는데 저희가 1년 동안 조사한 것을 보면 기업들의 평균 패치 시간이 193일이라고 하니까요.”
왜 권고되는 내용과 실천되는 내용은 이렇게나 현격한 차이를 보이는 걸까요? 여러 가지 이유가 있을 수 있는데, “그 근간에는 새로운 기능성 추가와 마감 시간 당기기에 전력을 다 하는 기업들의 고쳐지지 않는 개발 문화가 있다”고 존스는 설명합니다. 그리고 보안에 도움이 하나도 되지 않는 이러한 문화는 지난 2년 동안 팬데믹 사태를 거치면서 더욱 심각해졌다고 존스는 말합니다.
보안 업체 아머코드(ArmorCode)의 부회장인 마크 램버트(Mark Lambert)는 “애플리케이션 보안 팀은 인력이라는 측면에서 100:1의 힘든 싸움을 하고 있다”고 말합니다. 개발과 생산 쪽에는 사람이 늘 바글바글한데, 보안 팀은 전혀 늘어나지 않는다는 것입니다. “그렇기 때문에 취약점이 해결되기도 전에 제품과 서비스가 시장으로 나가버리는 사태가 발생하죠. 취약점 관리라는 건 여러 팀들이 함께 해결해야 하는 것인데, 이 역시 무시되기 일쑤고요.”
취약점 백로그
보안 업체 패스록(Pathlock)의 회장인 케빈 듄(Kevin Dunne)은 “애플리케이션 코드에서 발견되는 취약점이 애초에 너무 많다”는 점을 지적합니다. “취약점들의 수는 계속해서 증가하고, 해커들은 취약점을 악용하는 데에 더 익숙해지고 있습니다. 물리적으로 해결 못하고 남기는 취약점이 있을 수밖에 없는 상황입니다. 어쩌면 지금 수준으로 취약점으로 해결하는 것도 굉장히 잘하는 것일 수 있습니다.”
존스는 NTT의 조사를 통해 드러난 것처럼 2020년에 비해 2021년 취약점 해결 기간이 1.7일이라도 짧아진 게 어디냐는 입장이다. 이 1.7일을 두고 ‘아무 것도 변하지 않았다’고 평가할 수도 있지만, ‘단축되긴 단축됐다’고 말할 수도 있다는 것입니다. 특히 초고위험군보다 아래에 있는 취약점들을 해결하는 데 걸린 시간이 오히려 늘어났다는 것과 비교하면 존스의 의견에도 힘이 실리는 게 사실이다. 저위험군, 중위험군, 고위험군의 취약점들의 패치 시간은 2020년이 더 짧은 것으로 기록됐습니다.
존스는 “결국 보안 담당자들이 지난 한 해 초고위험군 취약점에 많은 자원을 투자했다는 뜻”이라고 해석합니다. “초고위험군 취약점 해결 시간이 길었던 해에는 다른 위험군의 취약점이 더 빨리 해결되곤 했습니다. 결국 주어진 시간은 같은데, 그 시간 속에서 어떤 취약점에 더 집중하느냐의 문제라고 볼 수도 있습니다. 그렇다면 취약점이 너무 많은 게 문제의 근원이라고도 볼 수 있죠.”
웹 애플리케이션 환경에서 가장 많이 나타나는 취약점들은 1) 데이터 노출, 2) 전송 계층 보호 부족, 3) 사이트 교차 스크립팅, 4) 사이트 교차 조작, 5) 콘텐츠 복제, 6) 인증 절차 부족 순으로 조사됐습니다.
즉, 애플리케이션 취약점에 대한 중요성을 지속적으로 언급해도 실질적인 변화는 미비하며 기능성 추가와 출시 시기 앞당기기에 몰두되어있는 개발 문화가 문제의 근원이라는 뜻입니다. 제한된 시간안에 빠르게 만들어내기만 하니 취약점은 홍수처럼 쏟아져 나오고, 그 많은 수 자체가 문제가 되는 상황입니다.
출처 : 보안뉴스(https://www.boannews.com/media/view.asp?idx=104921&page=1&kind=1&search=title&find=)