보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
반복되는 보안 취약점 진단 및 조치, 그 해결 방법은?
2020.12.08
13,767
■ 보안 취약점 제거 위한 예산 ‘구멍 난 독에 물 붓기’ 얼마 전 한 대학에서 정보보안을 주제로 특강을 한 적이 있었다. 특강 쉬는 시간에 무언가에 열심히 몰두한 학생을 보고 다가가 이야기를 나눠보았는데, 그 학생은 무릎 위에 올려둔 작은 맥북에 버프 스위트(Burp Suite)라는 취약점 분석 툴을 실행한 채 한 웹사이트의 관리자로 로그인해 있는 상태였다. 혹시나 학생이 불법적인 해킹을 저지르고 있는 건가 싶어 더 유심히 보니 그 학생은 웹사이트의 권리자 권한을 획득할 수 있는 취약점을 발견해 해당 사이트 관리자에게 통보했다고 한다. 그 학생은 이번뿐만 아니라 틈틈이 여러 사이트를 돌아다니며 취약점을 진단해 신고하고, 국내에서 시행되는 버그 바운티(Bug bounty)에도 참여해 상금을 받은 적이 있다고 했다. 현재 웹상에는 무수히 많은 보안 취약점이 존재하고 있다. 구글(Google)은 크롬이나 안드로이드 등 서비스 중인 소프트웨어의 보안을 강화하기 위해 취약점 신고 제도를 운영하고 있는데 지난 한 해 동안 지급된 보상금만 650만 달러(약 74억 원)에 달했다고 한다. 그리고 보다 많은 사용자의 참여를 유도하기 위해 크롬 관련 신고의 최대 기본 포상금을 5천 달러에서 1만 5천 달러로 늘리기도 했다. 이렇듯 수많은 연구인력을 가진 글로벌 기업인 구글조차 보안 취약점 제거를 위해 다양한 방법을 사용하고 있으며 많은 예산을 투입하고 있다. 기업들의 이러한 노력에도 불구하고 보안 취약점은 오히려 더 늘어나고 있는 게 현실이다. 그렇다면 그 이유는 어디에 있는 것일까? 매년 반복되는 진단과 조치에도 불구하고 끊임없이 발견되는 이유와 반복돼 검출되는 취약점들을 완벽히 제거할 수 있는 방법은 없는지 이에 대해 생각해보는 시간을 가져보고자 한다.
<그림1. 구글(Google)의 취약점 신고 포상금 제도 보상 금액 추이(출처: 구글 시큐리티 블로그)>
■ 다양한 종류의 보안 취약점과 진단 기준 단순히 ‘보안 취약점’이라고 이야기하면, 누구는 SW 취약점, 누구는 물리적인 취약점이나 관리적인 취약점, 그리고 누구는 HW의 취약점으로 각기 다르게 받아들인다. 그만큼 보안 취약점의 종류는 다양하다. 사전적 의미에서의 보안 취약점은 ‘컴퓨터의 HW 또는 SW의 결함이나 운영체계 설계상의 허점으로 인해 사용자의 허용된 권한 이상의 동작이나 허용된 범위 이상의 정보 열람을 가능하게 하는 약점’을 말한다. 하지만 사용자나 관리자의 부주의를 포함해 정보 체계의 모든 위험성을 보안 취약점이라 볼 수 있으며, 그 종류를 분류해 보면 <표 1>과 같다.
<표1. 보안 취약점의 종류>
우리가 알고 있는 대표적인 취약점으로는 ▲정보 시스템이 위치한 전산실, 서버실, 제어실과 같은 통제 구역의 보안과 관련된 물리적 취약점 ▲서버, 네트워크, 보안 장비, PC, 복합기 등 자체에서 발생하는 기술적 취약점 ▲이 모든 것의 관리적인 부분에서의 관리적 취약점 등이 있다. 데이터베이스, 웹, 모바일 앱의 취약점은 기술적 취약점에 포함되며, 최근에는 기술의 발전과 함께 IoT 취약점과 같은 새로운 유형의 취약점도 우후죽순 생겨나는 추세다. 취약점의 종류가 다양한 만큼 진단하는 기준도 여러 가지다. 대표적인 기준으로는 주요정보통신 기반시설 취약점 점검, 국정원 8대 취약점, OWASP 톱10, SANS 톱25, 행안부SW개발보안 보안취약점 등이 있으며, 기관 및 점검 대상에 따라 서로 다른 기준을 적용하게 돼 점검 분야나 항목의 수는 모두 다르지만 점검 항목엔 중복되는 부분도 있으니 참고하도록 하자.
<표2. 주요정보통신기반시설 취약점 점검 항목 수>
■ 보안 취약점 진단 방법에 따라 결과도 다르다 앞에서 이야기했듯 취약점 진단 기준이 다양해 같은 대상을 중복으로 진단하는 경우도 종종 발생하게 되는데, 이런 경우 1차에서 발견되지 않았던 취약점이 2차 진단 시 발견되기도 한다. 이는 취약점 진단 방법과 보안 컨설턴트의 개별 역량에 따라 취약점이 검출될 수도 있고 안될 수도 있기 때문이다. 오늘날 보안 기업들은 보다 객관적이고 체계적인 방법으로 취약점 진단을 수행하고자 저마다의 방법론과 진단 툴을 개발해 사용하고 있는 추세다. 그리고 대부분 기업들은 자체적으로 개발한 진단 툴을 매년 개선해나가고 있다. 물론 자동으로 할 수 없는 네트워크 및 보안 장비 등의 항목에 대해서는 보안 컨설턴트가 수작업으로 진단해야 하는데, 이때 그 역량에 따라 보안 취약점 진단 결과가 다르게 나타날 수 있다. 이러한 경우는 특히 관리적, 물리적 부문에서 많이 발생하며, 이를 개선하기 위해 체계적인 점검 방법론이 요구되고 있다. 몇 가지 예를 들면, 물리적 진단 항목 중 주요 기반시설이 위치한 곳을 ‘통제구역’으로 지정하고 표지판을 부착하도록 하는 항목이 있다. 하지만 업무상 필요로 인해 서버실이나 제어실이 아닌 일반 사무실에 한 대가 설치돼 있는 경우, 이를 취약하게 볼 것인가에 대해서는 컨설턴트의 견해에 따라 달라진다. 또 통제구역에는 비상 조명을 설치해야 한다. 이때 말하는 비상 조명이란 한전의 전력이 차단됐을 때 UPS의 전원 또는 비상 조명 자체 배터리 전원을 통해 조명의 역할을 할 수 있어야 한다는 것이다. 그런데 일반 손전등을 비치한 경우도 컨설턴트의 견해에 따라 양호와 미흡으로 나눠질 수 있다. 너무나 당연한 일이지만 동일 대상에 상이한 기준을 적용해 진단하게 된다면, 1차 진단과 2차 진단의 결과는 달라진다. 이는 특히 그 기준이 추상적이거나 모호할 때 많이 발생한다. 최신 버전의 패치를 하도록 돼 있지만, ‘최신’을 어디까지로 보느냐가 명확하지 않은 경우에 이러한 일이 발생할 수 있다. 해당 패치의 최종 버전에 보안 이슈가 없어서 이전 버전까지도 최신으로 인정하느냐, 또 기술지원이 종료된 패치에 대해서는 어떤 버전까지 최신으로 인정하느냐 등의 문제가 있을 수 있다. 이렇듯 여러 이유로 발생 가능한 편차를 줄이고, 보다 객관적인 시각에서 보안 취약점을 진단해나가기 위해서는 다양한 경우의 수를 고려해 명확한 진단 기준을 확립하는 게 무엇보다 중요하다. 그리고 진단 방법론을 체계적으로 개선해 나감과 동시에 보안 컨설턴트의 교육을 지속적으로 병행함으로써, 동일한 기준을 바탕으로 한 취약점 진단이 이뤄질 수 있도록 해야 한다.<그림2. IGAM-ITIF(주요정보통신기반시설 컨설팅 수행 방법론) (출처: 이글루시큐리티)>
■ 자주 검출되는 보안 취약점의 정체는 무엇인가? 취약점 진단을 수행하다 보면, 몇몇 취약점들은 눈에 띄게 여러 대상에서 중복적으로 발견된다는 사실을 알 수 있다. 물론 프로젝트 중에는 짧은 기간 동안 처리해야 하는 많은 업무량으로, 그 원인에 대해 깊이 생각하고 근본적인 해결 방안을 모색하기 쉽지 않다. 필자 역시 취약점 진단이 다 끝나고 나서야 이러한 문제들에 대해 진지하게 고민해 보고 또 문서화해, 차기 취약점 진단 시 단순히 취약한 항목의 값만 변경하는 것이 아닌 원초적인 원인까지 해결할 수 있는 방안을 제시한 경험이 있다. 이번에는 대상에 관계없이 동일하게 자주 검출되는 취약점들을 살펴보고 그 이유에 대해 이야기해보자.<표3. 자주 검출되는 보안 취약점>
취약점 진단을 자주 해봤다면, 위에 언급된 보안 취약점들이 분명 눈에 익을 것이다. 가장 먼저 관리적, 물리적 취약점 내용을 살펴보면, 각 정보보호 정책의 타당성을 검토 및 평가해 수정 보완한다는 항목은 관련 법령이 변경됐을 때 한 번에 한다는 생각으로 수행되지 않는 경우가 많다. 그리고 주요 자산 목록에 관한 변경 관리 항목은 취약점 진단 시 가장 흔히 발견되는 것 중 하나로, 부서별 자산에 관해 별도로 관리를 하는 경우 또는 자산 현황 관리 시스템 없이 엑셀과 같은 파일로 관리되는 경우 많이 발생하게 된다. 최근 코로나19로 인해 스마트폰과 같은 개인휴대단말기로 업무를 보는 사례가 빠르게 늘어나고 있지만, 이에 비해 중요 정보 보호 및 안전한 전송을 위한 방안은 수립돼 있지 않은 경우가 대부분이다. 물리적 취약점 중 하나인 통제구역의 출입 대장 기록 및 관리 항목은 기존 서식에는 ‘연월일시’라고 표기돼 있다. 하지만 그 칸이 좁아 누군가 시간을 빼고 날짜까지만 작성하게 된다면 그 이후부터는 출퇴실 시간이 빠져 작성되는 경우가 빈번하다. 기술적 취약점은 300개가 넘는 항목들 가운데 자주 검출되는 항목도 많지만 그 중에서도 몇 가지 주요한 것들을 꼽아 이야기해보자. 윈도우나 유닉스와 같은 서버 취약점 항목 중 서버 특성상 매일 접속하지 않아 사용자 이름과 최근 암호를 기억하게 해두는 경우를 들 수 있다. 또 하드디스크 기본 공유 역시 서버 리부팅을 통해 다시 나타나지 않도록 레지스터리에서 제거해 주는 것이 좋으며, 넷바이오스(NetBios) 바인딩 서비스는 업무상 필요해 사용하는 경우가 종종 있지만 다른 방법으로 서비스를 개선해야 할 필요가 있다. 마지막으로 다른 영역에서도 자주 발견되는 최신 업데이트에 대한 부분은 서버 및 장비 특성상 온라인으로 직접적인 업데이트가 불가하며 자칫 최신 업데이트로 인한 장애 발생의 리스크로 하지 않는 경우도 있기에, 테스트베드를 구축하고 사전 검증 후 적용할 수 있는 환경을 마련해두는 것이 좋다. 파일 및 디렉터리 소유자에 대한 설정이 발견되는 가장 많은 이유는, 설치 시 유저를 생성했지만 실 운영 시 유저가 변경되거나 재설치를 통해 변경돼 소유자가 없는 파일과 디렉터리의 취약점을 불러오는 경우다. 네트워크와 보안장비에서 동일하게 자주 검출되는 취약점으로는 원격관리 접근통제에 대한 것이 있다. 긴급하게 조치가 필요한 상황에서 원격 조치를 받기 위해 유지보수 업체의 공인 IP를 열어두는 경우가 있는데, 이는 인프라 전체에 영향을 주는 매우 위험한 취약점이 되니 필히 주의해야 한다. 끝으로 웹취약점에서는, 진단하는 대상과 동일한 구성으로 만들어진 페이지에서 발생되는 취약점을 일부 페이지에서만 조치하고 다른 페이지에서는 누락하는 경우가 있다. ■ 매년 반복되는 보안 취약점, 더 이상 나오지 않게 하자 유독 자주 검출되는 보안 취약점들은 대체로 근본적인 원인을 해결하지 않기 때문이다. 그리고 이러한 취약점들은 필요에 따라 기술적인 조치도 물론 취해져야겠지만, 관리적인 차원에서 원인을 제거해 준다면 더 이상 검출되지 않는 경우가 대부분이다. 앞서 언급한 취약점들로 예를 들어보자면, 자산 현황에 대해서는 기관의 자산관리 시스템과 이와 관련되어 함께 관리가 필요한 시스템 모두를 연동해 업무가 처리되도록 하고, 통제구역 출입 대장의 서식 자체를 연월일과 시간이 구분되게끔 개정해 문제의 원인을 제거해 주는 방법이 있겠다. 게다가 기술적인 조치로 항목 하나하나 관여하기란 쉽지 않기 때문에 관리적인 차원에서 접근하는 것이 더욱 효과적인 방법이 된다. 예를 들어 어느 한 취약점을 발견해 제거했지만, 서버 장애로 백업을 복구하는 과정에서 환경이 변하거나 웹취약점의 경우 해당 페이지를 업데이트하는 과정에서 예전 소스로 변경되는 상황이 발생할 수 있다. 이렇듯 서버가 변경되거나 웹의 구조적인 큰 변화와 함께 많은 소스가 추가 수정되었을 때는, 보안성 검토 절차를 다시 진행하는 방법으로 다시금 취약점이 검출되는 걸 막을 수 있다. 만약 웹 취약점처럼 세부적인 페이지 하나까지 관여하려면, 소스 관리를 위한 형상 관리를 통해 처리해 주는 것이 좋을 것이다.<그림3. 단계별 보안성 검토 절차 및 분류 (출처: 이글루시큐리티)>
■ 보안 취약점, 그 해결 방안은 관리에 있다 일전 어떤 고객이 보안 취약점이 관절염도 아니고 아주 지긋지긋하게 꾸준히도 검출된다고 했던 말이 떠오른다. 그때 우스갯소리로 ‘관절염도 원인을 찾아 시술이든 수술이든 약이든 정확한 처방에 따른 치료가 필요한데 파스 하나 달랑 붙여놓고 순간의 통증만 가라앉히길 급급해 문제’라고, ‘마찬가지로 보안 취약점도 시간이 걸리고 번거로워도 근본적인 원인을 찾아 해결하는 게 이 지겨운 취약점들을 또다시 마주하지 않을 수 있는 유일한 방법’이라 답했던 기억이 있다. 사실 앞서 언급한 다양한 종류의 취약점들을 모두 다 일일이 따져가며 관리하기는 불가능에 가깝고 또 비효율적이다. 이에 자산과 보안 취약점을 한 번에 관리할 수 있는 보안 취약점 자동관리 솔루션을 기관의 자산관리시스템에 연동, 대응해나가는 것이 현시점에서 가장 효과적인 방안이라 할 수 있다. 물론 단순 시스템 도입으로 그칠 게 아니라 그 시스템을 제대로 운영할 수 있는 전문 인력의 보강도 병행돼야 할 것이며, 각 기관에 맞게 커스터마이징한다는 생각으로 운영함으로써 효율성을 높일 필요가 있다. 인공지능, 클라우드, IoT 등 4차 산업혁명의 신기술이 여러 산업에 접목되고 디지털 전환이 가속화됨에 따라, 곳곳에 분산된 IT 자산을 노리는 새로운 사이버 공격의 등장은 어떻게 보면 예정된 수순이나 다름없다. 다시 말해 이제는 날로 고도화되는 침해 시도에 선제적으로 대응해나갈 수 있어야 한다. 그리고 보다 효율적인 취약점 관리 체계의 수립은 이를 위한 초석이 되어줄 것이다.<그림4. 보안 취약점 자동관리 솔루션 ‘스마트가드(Smart [Guard])’의 구성 방안 (출처: 이글루시큐리티)>