정의
말 그대로 취약점이 있는 컴포넌트를 사용한다는 것이다. 여기서 컴포넌트란 쉽게 말해서 객체 지향(C++, Java) 언어에서의 Class와 유사한
것으로 어떤 기능을 수행하는 것으로 생각 할 수 있다. 다만 개인적인 생각으로는 컴포넌트 뿐만 아니라 서버에서 사용되는 모든 서비스와
프로그램들에 대한 취약점도 포함시켜 말할 수 있다고 생각한다. 즉, 이 취약점을 짧게 요약하자면 어떤한 사유로 인해 최신 버전의 업데이트를 설치하지 않고 계속 구버전을 사용하는 것으로 말할 수 있다.
발생 원인
사용 중인 컴포넌트, 서비스, 프로그램들에 대한 지속적인 유지 관리를 하지 않고 보안 업데이트를 설치하지 않았기 때문에 발생한다.
* 항목 자체가 "알려진 취약점이 있는 ~~" 이기 때문에 Zero-Day Attack 에 관한 이슈들은 포함되지 않는다.
- OpenSSL ,HeartBleed 취약점이 있는 SSL 서비스를 사용하는 웹 서비스의 개인 정보 (개인키, 인증서 등) 을 탈취할 수 있다.
- Apache CXF - 이 컴포넌트는 2011년에 약 2,200만번 이나 다운로드 된 적이 있으며 특정 버전에 대한 취약점이 나와있는 상태이다.
해당 컴포넌트는 인증 토큰이 없을 경우 공격자가 모든 웹 서비스를 전체 권한으로 수행할 수 있기 때문에 실제적으로 웹 서버를 장악할 수
있는 시나리오가 발생될 수 있다.
- 사용중인 컴포넌트 서비스, 프로그램들에 대하여 버전, 의존성, 필요 권한 등을 식별하여 리스트화 시킨다. 이를 이용하여 CVE나 NVD를
통하여 지속적으로 비교해 나간다.
- 위의 항목들에 대하여 보안 정책을 세운다.
- 무작정 위의 항목들을 사용하기 보다는, 위의 항목 내에서 사용하지 않는 기능들은 최대한 비활성화 하는 것이 좋다.