보안

IT 인프라 보안 자동으로 확인하기, 취약점 스캐너의 정의와 작동 방식

Lucian Constantin | CSO 2020.04.16
취약점 스캐너(vulnerability scanner)란 기업의 네트워크와 시스템, 애플리케이션을 자동으로 검사해 혹시 공격에 노출될 만한 보안 취약점이 없는지 확인하는 도구다. 취약점 검사는 기업 네트워크 전반에 걸쳐 일반적으로 활용되며, 기업의 보안 태세 개선을 위해 업계 기준과 정부 규정으로 의무화되는 경우도 많다.
 
ⓒ Getty Images Bank

취약점 검사 분야에는 여러 툴과 제품이 있다. 다양한 종류의 자산에 사용할 수 있고 추가 기능도 제공한다. 기업은 이를 활용해 취약점 식별, 분류, 완화는 물론 관련 프로세스를 아우르는 종합적인 취약점 관리 프로그램을 마련할 수 있다.
 

외부 취약점 검사와 내부 취약점 검사

취약점 검사는 네트워크 전체나 네트워크 중 일부를 대상으로 외부 또는 내부에서 수행할 수 있다. 외부 검사는 인터넷에서 직접 접속 가능한 애플리케이션과 서버가 공격에 노출됐는지 판단하기 위해 기업 네트워크 경계 밖에서 실시된다. 반면, 내부 취약점 검사는 해커가 로컬 네트워크에 대한 접근권을 확보할 경우 다른 시스템과 서버로의 측면 이동에 악용될 수 있는 결함을 파악하는 것이 목적이다.

내부 네트워크는 구성 방식에 따라, 또 무엇보다 분할 방식에 따라 접근권 확보의 난이도가 달라진다. 따라서, 취약점 관리 프로그램은 조직 시스템의 배치 현황과 자산 내용 파악부터 해야 한다. 또한, 제공하는 접근권과 보유한 데이터를 기준으로 시스템의 중요성을 분류해야 한다.
 
지불카드 보안표준(PCI-DSS)과 같은 업계 표준에 따르면, 외부 취약점 검사와 내부 취약점 검사를 분기마다 실시해야 한다. 또한, 시스템 또는 구성요소 신규 설치, 네트워크 배치 변경, 방화벽 규칙 수정, 다양한 소프트웨어 제품 업그레이드 등에도 그때마다 실시해야 한다. 외부 검사를 할 때는 PCI 승인검사업체(ASV)의 툴을 사용해야 한다.
 

인증 방식 취약점 검사와 미인증 방식 취약점 검사

취약점 검사는 인증 방식과 미인증 방식이 있다. 미인증 방식 검사는 네트워크를 통해 한 컴퓨터에 열려 있는 서비스를 검색한다. 이러한 서비스의 열린 포트에 패킷을 전송해 운영체제 버전과 해당 서비스를 구동하는 소프트웨어의 버전을 파악한다. 또한, 오픈된 공유 파일이 있는지, 인증 없이 이용할 수 있는 정보가 있는지 파악한다. 이와 같은 세부 정보를 바탕으로 취약점 데이터베이스에 대한 검색이 실시되고 해당 시스템에 존재할 가능성이 높은 취약점 목록이 작성한다.

인증 방식 검사는 로그인 정보를 이용해, 검사 대상 컴퓨터에 설치된 소프트웨어와 운영체제에 대한 더 상세하고 정확한 정보를 수집한다. 네트워크를 통해 접근 불가능한 프로그램에도 여전히 취약점이 존재할 가능성이 있고, 그러면 악의적으로 작성된 파일을 열거나, 악의적인 웹 페이지에 접속하는 등 다른 공격 방식에 노출될 수 있다. 일부 취약점 평가 솔루션은 기업 내 다양한 시스템의 보안 상태를 더 제대로 살펴보기 위해 네트워크 스캐너는 물론 컴퓨터에 설치하는 가벼운 소프트웨어 에이전트를 활용한다.

인증 방식 검사는 미인증 방식보다 더 많은 정보를 수집하므로 취약점을 더 샅샅이 발견할 수 있다. 단, 일반적으로 취약점 검사에는 거짓 양성 결과가 발생한다. 취약점에 노출된 애플리케이션 버전에 대한 업데이트와 패치 설치 조치를 하지 않은 채 다양한 제2의 해결책이나 보안 통제 조치를 통해 완화한 취약점이 있을 수 있기 때문이다. 또한, 취약점 검사는 네트워크 정체나 시스템 속도 저하를 일으키는 경우가 있다. 따라서, 지장을 초래하지 않도록 정상 근무 시간을 피해 수행하는 것이 일반적이다.

스캐너로 찾은 취약점은 보안 팀이 검토해 경중 분류와 조사 과정을 거친다. 따라서 취약점 스캐너는 전체적인 취약점 관리 절차를 지원하는 큰 솔루션의 일환인 경우가 많다.

보안 팀은 침투 테스트를 활용해 결함을 추가로 확인할 수 있으며 취약점 데이터베이스에 수록된 경중 점수에만 의존하지 않고도 실제 위험을 더 효과적으로 파악할 수 있다. 침투 테스트는 이미 마련된 다른 방어 수단의 효과를 테스트하는 의미가 있고, 이를 통해 보안 문제가 악용되는 것을 막는 방법을 찾을 수도 있다. 취약점 관리 업체 래피드세븐(Rapid7)에 따르면, 취약점 검사 결과 평가 시에 보안 팀이 집중적으로 확인해야 할 것은 다음과 같다.
 
  • 이 취약점의 양성 결과는 참인가 거짓인가?
  • 누군가가 이 취약점을 인터넷에서 직접 악용 가능한가?
  • 이 취약점의 악용 난이도는 어느 정도인가?
  • 이 취약점을 이용한 이미 알려진 악용 코드가 존재하는가?
  • 이 취약점이 악용되면 기업에 어떤 영향을 미치는가?
  • 이 취약점의 악용 가능성 또는 영향을 줄이는 다른 보안 통제 장치가 마련돼 있는가?
  • 취약점은 얼마나 오래됐으며, 네트워크에 존재한 지는 얼마나 오래되었는가?
 

웹 애플리케이션 취약점 스캐너

웹 애플리케이션 취약점 스캐너는 웹사이트를 비롯한 웹 기반 애플리케이션의 취약점을 전문적으로 찾아내는 도구다. 네트워크 취약점 스캐너는 웹 서버 자체를 검사한다. 즉, 운영 체제와 웹 서버 데몬을 검사하며, 같은 시스템에서 실행되는 데이터베이스 서비스와 같은 다양한 다른 오픈 서비스도 검사 대상이다. 반면, 웹 애플리케이션 스캐너는 애플리케이션의 코드에 집중한다. 

네트워크 취약점 스캐너는 이미 알려진 취약점 및 잘못된 구성을 모아둔 데이터베이스를 활용한다. 반면 웹 애플리케이션 스캐너는 일반적인 종류의 웹 결함(예: XSS(Cross-Site Scripting), SQL 주입, 명령어 주입, 경로 조작)을 검색한다. 따라서, 기존에 알려지지 않고 테스트 대상 애플리케이션에만 있는 취약점을 발견할 수 있다. 동적 애플리케이션 보안 테스트(DAST)라고도 하며 침투 테스트 전문가가 자주 사용한다.

웹 애플리케이션 스캐너와 함께 사용되는 정적 애플리케이션 보안 테스트(SAST) 도구들은 보안 개발 주기(SDLC)의 일부인 개발 단계 도중에 웹 애플리케이션의 실제 소스 코드를 분석한다. 오픈 웹 애플리케이션 보안 프로젝트(OWASP)는 DAST 도구와 SAST 도구 목록을 관리하며, 이들 도구에 대한 벤치마크 프로젝트를 실행한다.

외부 웹 애플리케이션 취약점 검사는 구성 방식에 따라 트래픽이 많이 발생해 서버 과부하가 생기고 서비스 거부(DOS) 등의 문제로 이어질 수 있다. 이 때문에, 취약점 테스트는 SAST 및 DAST와 상호보완적인 소위 대화형 애플리케이션 보안 테스트(IAST) 도구를 통해 개발 운영 과정과 품질보증 과정에 통합되는 것이 일반적이다. 그러면 애플리케이션을 생산 단계로 넘기기 전에 취약점과 안전하지 않은 구성을 파악하는 데 도움이 된다.
 

지속적인 취약점 관리

월별 또는 분기별 취약점 검사는 검사 당시의 단편적인 그림만 제공할 뿐이다. 전체 기간에 걸친 대상 시스템의 보안 태세는 반영되지 않아 심각한 사각지대가 생길 수 있다. 따라서 보안 업계는 지속적인 취약점 관리의 일환으로 취약점 검사 빈도를 높일 것을 권장한다.

많이 쓰이는 CIS 통제장치의 관리 주체인 인터넷보안센터(CIS)는 검사를 일주일에 1번 이상 할 것을 권장한다. 단, 검사 빈도를 늘리면 반드시 패치 적용 빈도도 같이 늘려야 효과적이다. 또한, 최신 보안 배치가 최대한 빨리 조직 내 시스템과 애플리케이션에 제공될 수 있도록, 자동 소프트웨어 업데이트 툴, 정책과 함께 배치하는 것이 좋다.

일부 업체에서는 소극적 방식의 스캐너나 센서도 제공한다. 네트워크에 새로 추가된 시스템이나 애플리케이션이 없는지 지속해서 모니터링하는 방식이다. 이를 통해 기업은 새로 추가된 자산을 즉시 검사해 다음번 예정된 네트워크 전체 검사 전이라도 취약점을 찾아 제거할 수 있다. NIST, US-CERT, SANS 인스티튜트, 영국의 NCSC 등 여러 단체에서 취약점 검사와 관리 관련 지침을 내놓았다.
 
최근 몇 년간 클라우드 기반 인프라가 광범위하게 확산하면서, 클라우드에 호스팅 된 자산도 검사 대상에 포함되도록 취약점 검사 절차를 조정하는 것이 바람직하다. 외부 검사는 이 맥락에서 특히 중요하다. 클라우드에 데이터베이스와 다른 서비스가 잘못 구성돼 있거나 안전하지 않게 배치되는 현상이 그동안 흔하게 발생했기 때문이다.

취약점 검사는 침투 테스트로 보완해야 한다. 보안 약점을 파악해 평가한다는 목적은 같지만 서로 다른 프로세스다.

취약점 검사 활동은 자동화되어 있고 이미 알려진 취약점을 모아둔 CVE/NVD와 같은 데이터베이스에 의존한다(취약점 검사 업체들이 관리하는 데이터베이스는 완성도가 더 높다). 단, 식별된 결점의 악용은 포함하지 않는 것이 보통이다. 반면, 침투 테스트는 상대적으로 손이 많이 간다. 실제 해커가 어떤 행동을 할지 시뮬레이션하는 과정에서 보안 전문가가 직접 조사와 악용을 해 보는 과정이 포함된다. 따라서 다양한 취약점으로 인한 위험을 더 정확하게 평가할 수 있다. editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.