문맥 (context)
본 발명은 컴퓨터에 관한 것으로, 보다 구체적으로는 멀웨어로부터 컴퓨터를 동적으로 보호하는 것에 관한 것이다.
점점 더 많은 컴퓨터와 기타 컴퓨팅 장치들이 인터넷과 같은 각종 네트워크를 통해 상호접속할수록, 특히 네트워크를 통해 또는 정보 스트림을 통해 전달되는 침입 또는 공격으로부터 컴퓨터 보안이 점점 더 중요해지고 있다. 당업자들은 이러한 공격들이 컴퓨터 바이러스, 컴퓨터 웜(worm), 시스템 컴포넌트 대체, 시스템 공격의 부정, 정보 훔치기, 심지어 합법적인 컴퓨터 시스템 특징의 오용/남용을 포함하는 많은 상이한 형태를 취하지만, 이에 제한되지 않으며, 이러한 것 모두는 비합법적인 목적을 위해 하나 이상의 컴퓨터 시스템의 취약성을 부당하게 이용한다는 것을 이해할 것이다. 당업자들은 각종 컴퓨터 공격이 이론적으로 서로 다르다는 것을 알지만, 본 발명의 목적 및 설명의 단순화를 위해, 이러한 공격들 모두는 일반적으로 이하에서는 컴퓨터 멀웨어, 또는 더 간단하게 멀웨어로 지칭될 것이다.
컴퓨터 시스템이 컴퓨터 멀웨어에 의해 공격을 받거나 또는 이에 "감염"될 때, 시스템 장치를 사용불가하게 하고; 펌웨어, 애플리케이션 또는 데이터 파일을 지우거나 손상시키고; 민감할 수 있는 데이터를 네트워크의 다른 위치로 전송하고; 컴퓨터 시스템을 셧 다운하고; 또는 컴퓨터 시스템이 충돌하게끔 하는 것을 포함하여 그 결과는 다양하다. 전부는 아니지만 많은 컴퓨터 멀웨어의 또 다른 치명적인 양상은 감염된 컴퓨터 시스템이 다른 컴퓨터 시스템을 감염시키는 데에 사용된다는 것이다.
도 1은 컴퓨터 멀웨어가 일반적으로 배포되어 있는 예시적이고 네트워크화된 환경(100)을 도시하는 도면이다. 도 1에 도시된 바와 같이, 통상적이고 예시적인 네트워크화된 환경(100)은 복수의 컴퓨터(102-108)를 포함하며, 이들은 인트라넷과 같은 통신 네트워크(110)를 통해 또는 인터넷이라 일반적으로 지칭되는 글로벌 TCP/IP 네트워크를 포함하는 더 큰 통신 네트워크를 통해 상호접속되어 있다. 어느 이유든지, 컴퓨터(102)와 같이 네트워크(110)에 접속된 컴퓨터 상의 악의 있는 측(party)은 컴퓨터 멀웨어(112)를 개발하고 이를 네트워크(110)에 배포(release)한다. 이 배포된 컴퓨터 멀웨어(112)는 화살표(114)에 의해 표시된 바와 같이, 컴퓨터(104)와 같은 하나 이상의 컴퓨터에 의해 수신되어 이를 감염시킨다. 많은 컴퓨터 멀웨어에서 통상적이듯이, 일단 감염되면, 컴퓨터(104)는 화살표(116)에 의해 표시된 바와 같이 컴퓨터(106)와 같은 다른 컴퓨터를 감염시키는 데에 사용되고, 이어서, 이것은 화살표(118)에 의해 표시된 바와 같이 컴퓨터(108)와 같은 또 다른 컴퓨터를 감염시킨다.
안티바이러스 소프트웨어가 수천 개의 공지된 컴퓨터 멀웨어를 인식하는 데에 있어서 더 똑똑해지고 효율적으로 됨에 따라, 컴퓨터 멀웨어 또한 더 똑똑해지고 있다. 예를 들어, 많은 최근의 컴퓨터 멀웨어는 이제 다형적(polymorphic)인데, 즉, 다시 말해, 이동 중에 안티바이러스 소프트웨어가 컴퓨터 멀웨어를 인식할 수 있는 식별가능한 패턴 또는 "서명(signature)"이 없다. 이러한 다형성 멀웨어는 이것이 다른 컴퓨터 시스템으로 전파되기 전에 자기 자신을 변형하기 때문에 안티바이러스 소프트웨어는 종종 이것을 인식할 수 없다.
운영 체제 또는 장치 드라이버 및 소프트웨어 애플리케이션과 같은 기타 컴퓨터 시스템 컴포넌트에서 취약성이 식별되고 이에 초점을 두면, 운영 체제 제공자는 통상적으로 소프트웨어 업데이트를 배포하여 이 취약성을 고칠 것이다. 이 업데이트는 종종 패치라 지칭되며, 이것은 식별된 취약성으로부터 컴퓨터 시스템을 보호하기 위해 컴퓨터 시스템에 설치되어야만 한다. 그러나, 본질적으로 이러한 업데이트는 운영 체제, 장치 드라이버 또는 소프트웨어 애플리케이션의 컴포넌트에 대한 코드 변경이다. 이와 같이, 이것은 안티바이러스 소프트웨어 제공자로부터의 안티바이러스 업데이트만큼 신속하게 그리고 자유롭게 배포될 수 없다. 이러한 업데이트가 코드 변경이기 때문에, 소프트웨어 업데이트는 대중들에게 배포되기 전에 실질적인 회사 내부의 테스팅을 필요로 한다.
멀웨어를 식별하고 취약성을 해결하고자 하는 본 시스템 하에서, 컴퓨터는 일부 환경에서 멀웨어에 의해 공격을 받기 쉽다. 예를 들어, 컴퓨터 사용자는 안티바이러스 소프트웨어에 대한 패치 및/또는 업데이트를 설치하지 않을 수 있다. 이 경우, 멀웨어는 멀웨어에 대해 충분히 보호되지 않은 컴퓨터들 간의 네트워크에서 전파될 수 있다. 그러나, 사용자가 컴퓨터를 규칙적으로 업데이트하는 경우에조차, 새 컴퓨터 멀웨어가 네트워크에 배포되는 때와 멀웨어로부터 컴퓨터 시스템을 보호하기 위해 운영 체제 컴포넌트의 안티바이러스 소프트웨어가 업데이트되는 때 사이에 존재하는 기간(이하에서는 이를 취약성 윈도우(vulnerability window)라 지칭함)이 있다. 이름에서 알 수 있듯이, 컴퓨터 시스템이 새 컴퓨터 멀웨어에 대해 취약하거나 또는 이에 노출되는 것이 바로 이 취약성 윈도우 동안이다.
도 2는 취약성 윈도우를 도시하는 예시적인 타임라인의 블록도이다. 이하의 설명에 관해, 중요한 타임 또는 이벤트는 타임라인에 관해 이벤트로 식별되고 지칭될 것이다. 오늘날 배포되는 대부분의 멀웨어는 공지된 취약성에 기초하지만, 때때로 이전에 알려지지 않은 취약성을 활용하는 컴퓨터 멀웨어가 네트워크(110)에 배포된다. 도 2는 이러한 시나리오 하에서 타임라인(200)에 관한 취약성 윈도우(204)를 도시한다. 따라서, 타임라인(200)에 도시된 바와 같이, 이벤트(202)에서, 멀웨어 작성자는 새 컴퓨터 멀웨어를 배포한다. 이것이 새 컴퓨터 멀웨어이므로, 이 멀웨어로부터 취약한 컴퓨터 시스템을 보호하는 것이 가능한 운영 체제 패치 또는 안티바이러스 업데이트는 없다. 따라서, 취약성 윈도우(204)가 시작된다.
새 컴퓨터 멀웨어가 네트워크(110)에서 순회한 후 어느 시점에서, 운영 체제 제공자 및/또는 안티바이러스 소프트웨어 제공자는 이벤트(206)에서 표시되는 바와 같이 새 컴퓨터 멀웨어를 검출한다. 당업자들은 통상적으로 새 컴퓨터 멀웨어의 존재가 운영 체제 제공자와 안티바이러스 소프트웨어 제공자 둘 모두에 의해 대략 몇 시간 내에 검출된다는 것을 이해할 것이다.
컴퓨터 멀웨어가 일단 검출되면, 안티바이러스 소프트웨어 제공자는 안티바이러스 소프트웨어가 컴퓨터 멀웨어를 인식할 수 있도록 하는 패턴 또는 "서명"을 식별할 수 있는 프로세스를 시작한다. 마찬가지로, 운영 체제 제공자는 컴퓨터 멀웨어를 분석하고 컴퓨터 멀웨어로부터 컴퓨터를 보호하기 위해 운영 체제가 반드시 패치되어야 하는지 여부를 판정하는 프로세스를 시작한다. 이러한 비슷한 노력의 결과로서, 이벤트(208)에서, 운영 체제 제공자 및/또는 안티바이러스 소프트웨어 제공자는 업데이트 즉, 운영 체제 또는 안티바이러스 소프트웨어에 대한 소프트웨어 패치를 배포하고, 이것은 컴퓨터 멀웨어를 해결한다. 그 결과, 이벤트(210)에서, 업데이트가 사용자의 컴퓨터에 설치되고, 따라서 컴퓨터 시스템은 보호되며, 취약성 윈도우(204)가 종료된다.
상술된 예제(이것은 컴퓨터 멀웨어가 컴퓨터 시스템에 보안 위협을 가할 수 있는 가능한 모든 시나리오 중 단지 예시적인 것임)로부터 알 수 있듯이, 컴퓨터 멀웨어(112)가 네트워크(110)에 배포되는 때와 대응하는 업데이트가 사용자의 컴퓨터 시스템에 설치되는 때 사이에 취약성 윈도우(204)가 존재한다. 슬프게도, 취약성 윈도우(104)가 크든 작든, 컴퓨터 소유자가 감염된 컴퓨터의 바이러스를 없애고 그것을 고치는 데에는 상당한 비용이 든다. 이러한 비용은 수천 또는 수만의 장치가 네트워크(110)에 연결되어 있는 큰 기업 또는 엔티티를 다루는 경우에는 막대할 수 있다. 이러한 비용은 또한 멀웨어가 추적하고 고치기가 매우 어렵거나 또는 이것이 불가능한 사용자 데이터를 함부로 변경하거나 또는 이를 파괴할 수 있다는 가능성으로 인해 증폭될 수 있다.
멀웨어에 의해 제공되는 이러한 위협에 맞서기 위해, 상이한 유형의 멀웨어에 대한 엔트리 포인트 및/또는 데이터 스트림을 모니터하기 위해 점점 더 많은 수의 안티-멀웨어 서비스 및 기타 이벤트 검출 시스템이 개발되어오고 있다. 예를 들어, 안티-멀웨어 서비스의 문맥에서, 많은 컴퓨터는 이제 종래의 안티바이러스 소프트웨어 외에 방화벽, 행동 차단기(behavior blocker) 및 안티-스파이웨어 시스템을 채용하여 컴퓨터를 보호할 수 있다. 당업자들은 안티-멀웨어 서비스가 통상적으로 (1) 멀웨어의 특성이라 알려져 있는 코드 및/또는 활동과 (2) 멀웨어로 "의심되거나" 또는 멀웨어의 특성이라고 생각되는 코드 및/또는 활동을 식별할 수 있다는 것을 인식할 것이다. 멀웨어의 특성이라 알려져 있는 코드 및/또는 활동이 식별될 때, 멀웨어 처리 루틴은 "바이러스를 없애거나" 또는 컴퓨터에서 멀웨어를 제거하도록 사용될 것이다. 그러나, 코드 및/또는 활동이 의심된다고 식별되는 경우에는, 안티-멀웨어 서비스는 그 코드 및/또는 활동이 실제 멀웨어의 특성이라고 정확하게 단언하기에 충분한 정보를 지니지 않을 수 있다. 또한, 각종 많은 다른 목적을 위해, 엔트리 포인트, 데이터 스트림, 컴퓨터 속성 및/또는 활동을 모니터하기 위해 기타 이벤트 검출 시스템이 개발되어오고 있다. 예를 들어, 일부 운영 체제는 "CPU"에 의해 수행되는 처리량뿐만 아니라, 멀웨어로부터 컴퓨터를 순향적으로(proactively) 보호할 때 유용할 수 있는 컴퓨터에 관련된 일부 중요한 "이벤트"를 추적할 수 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
안티-멀웨어 서비스에서 코드 및/또는 활동이 '의심된다'고 식별될 경우, 해당 서비스가 이를 실제 멀웨어의 특성이라고 정확하게 단언하기 위해 필요한 조건은 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation안티-멀웨어 서비스가 의심되는 활동을 실제 멀웨어로 확정하기 위해 필요한 조건(충분한 정보의 유무)을 파악한다.
-
2정보 추출
information_extraction의심되는 코드/활동 식별 시 서비스의 상태와 한계에 대한 정보를 추출한다.
- 코드 및/또는 활동이 의심된다고 식별되는 경우에는, 안티-멀웨어 서비스는 그 코드 및/또는 활동이 실제 멀웨어의 특성이라고 정확하게 단언하기에 충분한 정보를 지니지 않을 수 있다.
-
3근거 선택
evidence_selection정확한 단언을 위해 결여된 요소인 '충분한 정보'를 핵심 근거로 선택한다.
- 실제 멀웨어의 특성이라고 정확하게 단언하기에 충분한 정보를 지니지 않을 수 있다.
-
4논리 통합
logical_integration의심되는 상황에서는 정보가 부족할 수 있으므로, 정확한 단언을 위해서는 '충분한 정보'가 확보되어야 한다는 논리를 도출한다.
-
5결론 도출
conclusion_formulation의심되는 코드나 활동이 실제 멀웨어의 특성이라고 단언하기 위해서는 충분한 정보가 있어야 함을 결론짓는다.
- 충분한 정보를 지니지 않을 수 있다.
-
6답변 생성
answer_generation질문에 대해 문맥에 근거하여 기술적인 답변을 작성한다.
- 실제 멀웨어의 특성이라고 정확하게 단언하기에 충분한 정보를 지니지 않을 수 있다.
최종 답변 (final_answer)
안티-멀웨어 서비스가 의심되는 코드 및/또는 활동을 실제 멀웨어의 특성이라고 정확하게 단언하기 위해서는, 해당 코드 및/또는 활동이 실제 멀웨어의 특성이라고 판단할 수 있는 충분한 정보를 지녀야 한다.
핵심 해석 (core_interpretation)
안티-멀웨어 서비스에서 코드 및/또는 활동이 의심된다고 식별될 경우 실제 멀웨어의 특성이라고 정확하게 단언하기 위해서는 충분한 정보를 지녀야 한다.