윤종원 스패로우 개발팀장

▲ 윤종원 스패로우 개발팀장

[컴퓨터월드] 지난 12월, 2020학년도 대학수학능력시험 성적 발표를 이틀 앞두고, 한국교육과정평가원 홈페이지의 허점을 이용해 수험생들이 성적을 미리 확인하는 일이 벌어졌다. 성적이 유출된 페이지는 이전에 수능을 치른 졸업생들을 대상으로 과거의 성적 증명서를 발급하는 페이지다.

수험생들은 이 페이지에 존재하는 파라미터 변조 취약점을 이용해 아직 제공되지 않은 2020학년도 수능 성적을 미리 조회했다. 이번 일은 특히 많은 국민의 이목이 집중되어 있었던 대학수학능력시험 성적 발표와 관련된 사태였기 때문에, 이번 사고의 원인이 된 보안 취약점과 이를 이용한 공격으로부터 예방하는 방법에 대해 관심이 쏠리고 있다.


파라미터 변조 취약점이란?

파라미터란 클라이언트가 서버에 작업을 요청할 때 어떤 작업이라는 것을 명확히 하기 위해 전달하는 변수 값으로, 사용자 입력 폼 등을 통해서 전달된다. 그러나 파라미터는 악의적인 사용자에 의해 변경될 수 있는데, 변경된 파라미터가 검증 과정 없이 처리되는 경우 이번 사태와 같이 허가되지 않은 중요 정보가 노출되는 보안 사고가 발생할 수 있다.

이러한 약점을 파라미터 변조 취약점이라 일컫는다. 파라미터 변조 취약점은 기초적이고 단순한 취약점 중 하나로, 취약점으로 인한 사고 사례도 손쉽게 찾아볼 수 있다.

2014년 발간된 한국인터넷진흥원(KISA)의 파라미터 변조 취약점을 이용한 타인 개인정보 유출 사례 분석 및 대응방안을 보면, 이번 사태와 유사한 형태의 파라미터 변조 취약점을 이용한 회원 개인정보 유출 사례 등이 존재했음을 확인할 수 있다. 더욱이 파라미터 변조와 같이 외부에서 전달되는 값으로 인한 취약점의 경우, OWASP 톱 10이나 전자금융감독규정 등 국내외 보안 규정과 주요 취약점 목록에서 중요하게 다뤄지고 있음에도 불구하고 해당 취약점을 통한 정보 유출 사례가 또다시 발생한 것을 두고 허술한 보안 체계에 대한 아쉬움과 지적이 여러 곳에서 이어지고 있다.


어떻게 사전에 예방할 수 있을까?

웹 애플리케이션들이 이처럼 기초적인 취약점을 이용한 위협에 여전히 노출된 이유는 무엇일까? 웹 애플리케이션을 개발하고 운영하는 과정에서 애플리케이션을 보호하기 위한 보안 활동들이 수행되지 않는 것은 아니다. 대표적인 예로, 다수의 웹 애플리케이션은 운영에 들어가기 전 웹 취약점 진단 단계를 통해 취약점을 사전에 검출하고 조치하는 과정을 거친다.

취약점을 진단하는 방법은 취약점 종류별로 상이하다. 파라미터 변조 취약점의 경우, 수동으로 요청에 포함된 파라미터 값을 조작해 허용되지 않은 권한이나 정보를 획득할 수 있는지 확인하는 방법이 사용된다. 이 과정에서 수많은 URL별로 포함되는 파라미터 값들을 다양한 형태로 조작돼 공격을 수행해야 하기 때문에, 제한된 시간 내에 점검을 수행하는 범위가 제한될 수밖에 없으며 진단을 수행했음에도 불구하고 여전히 몇몇 취약점들이 잔존해 위협에 노출되는 것이다.

이러한 문제를 해결하기 위해 필요한 것이 자동으로 보안 취약점을 검출해주는, 일반적으로 ‘웹 스캐너’로 알려진 동적 애플리케이션 보안 테스팅(Dynamic Application Security Testing, 이하 DAST) 도구다.

DAST 도구는 웹 취약점 분석을 위한 동적 분석 도구로서 웹 사이트에 포함된 수많은 URL들에 대해서 다양한 패턴의 공격 요청들을 자동으로 생성하며 이를 활용해 취약점을 검출한다. 특히 수동 진단과 비교해 더 짧은 시간 안에 더 넓은 범위를 진단할 수 있어, 외부로부터 전달되는 모든 값들을 고려해야 하는 파라미터 변조 등의 취약점을 정확하게 진단하기 위해서는 DAST 도구의 사용이 더욱 권장된다.

웹 애플리케이션을 대상으로 하는 공격은 전체 해킹 공격 가운데 약 47% 이상을 차지하고 있을 정도로 비중이 높다. 웹 애플리케이션을 개발하고 운영하고 있는 많은 곳에서는 이미 애플리케이션 보안의 중요성을 파악하고 웹 취약점 진단 등 많은 보안 활동들을 수행하고 있다. 그러나 사람에 의해 수행되는 보안 활동만으로는 애플리케이션의 모든 곳을 확인하기 어렵다.

이에 여전히 많은 애플리케이션들이 점검되지 않은 사각지대에 존재하는 취약점을 이용한 공격에 노출돼 있으며, 이러한 위협들로부터 애플리케이션을 빠짐없이 보호하기 위해서는 DAST 도구 등 자동화된 웹 취약점 분석 도구를 적극 활용해 기존 취약점 진단 방법의 한계를 극복하고 보다 넓은 범위를 효과적으로 진단해 보안의 사각지대를 최소화해야 할 것이다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지