"백신 프로그램"의 두 판 사이의 차이
(→역사) |
|||
23번째 줄: | 23번째 줄: | ||
이후 아웃룩 익스프레스 같은 전자 우편 프로그램도 전자 우편에 첨부된 바이러스의 위험에 노출되었다. 현재는 전자우편을 여는 것만으로 감염되는 바이러스도 제작된 상태이다. 이로 인해 바이러스 검사자들은 더 다양한 종류의 프로그램을 체크해야 하게 되었다. 그 결과 V3, 노턴 안티 바이러스, 알약 같은 다양한 백신 프로그램들은 라이브 업데이트라는 기능으로 실시간 업데이트를 지원하고 있다.<ref name="지식백과> 〈[https://terms.naver.com/entry.nhn?docId=3573530&cid=59088&categoryId=59096 컴퓨터 백신]〉,《네이버 지식백과》 </ref> | 이후 아웃룩 익스프레스 같은 전자 우편 프로그램도 전자 우편에 첨부된 바이러스의 위험에 노출되었다. 현재는 전자우편을 여는 것만으로 감염되는 바이러스도 제작된 상태이다. 이로 인해 바이러스 검사자들은 더 다양한 종류의 프로그램을 체크해야 하게 되었다. 그 결과 V3, 노턴 안티 바이러스, 알약 같은 다양한 백신 프로그램들은 라이브 업데이트라는 기능으로 실시간 업데이트를 지원하고 있다.<ref name="지식백과> 〈[https://terms.naver.com/entry.nhn?docId=3573530&cid=59088&categoryId=59096 컴퓨터 백신]〉,《네이버 지식백과》 </ref> | ||
+ | |||
+ | == 바이러스 식별 방법 == | ||
+ | === 사전 데이터베이스 === | ||
+ | 바이러스 데이터베이스 접근에서 바이러스 검사 소프트웨어가 파일을 찾아내면, 바이러스 검사 프로그램을 만든 사람이 정의해 놓은 "알려진 바이러스"의 데이터베이스를 참조한다. 파일 안의 코드 일부가 데이터베이스의 바이러스와 일치하면, 바이러스 검사 프로그램은 다음의 과정 가운데 하나를 수행할 수 있다. | ||
+ | |||
+ | #파일 안의 바이러스 자체를 제거하여 파일을 고치려고 시도한다. | ||
+ | #파일을 차단한다. (다른 프로그램이 해당 파일에 접근할 수 없으며, 바이러스는 퍼지지 않는다.) | ||
+ | #감염된 파일을 삭제한다.<ref name="엔하위키"></ref> | ||
+ | |||
+ | === 의심스러운 동작 === | ||
+ | 의심스러운 동작이 접근한다고 하여 알려진 바이러스를 확인하려고 시도하지는 않지만, 모든 프로그램의 동작을 감시한다. 이를테면, 어느 프로그램이 실행 프로그램에 데이터를 기록하려고 한다면 바이러스 검사 소프트웨어는 이러한 의심스러운 동작을 사용자에게 알리고 무엇을 할 것인지 물어 본다. | ||
+ | |||
+ | 사전 데이터베이스 접근과 달리, 의심스런 동작의 접근은 데이터베이스에 없는 새로운 바이러스에 대한 보호를 제공한다. 그러나 수많은 오진이 일어날 수 있으며, 사용자는 모든 경고에 둔감해지게 된다. 사용자가 경고가 뜰 때마다 "허용"을 누르면 바이러스 검사 소프트웨어는 어떠한 작업도 수행하지 않는다. 그러므로 현대에 나온 바이러스 검사 소프트웨어는 이 기술을 되도록 적게 사용한다.<ref name="엔하위키"></ref> | ||
+ | |||
+ | === 다른 접근 === | ||
+ | 어떠한 바이러스 검사 소프트웨어는 다른 종류의 발견적 분석을 사용한다. 이를테면, 제어권을 어떠한 실행 파일에 이행하기 전에 시스템이 호출하는 새로운 실행 파일의 코드의 시작 부분을 가상으로 구현하려고 할 수 있다. 해당 프로그램이 자가 정정 코드를 사용한다거나 바이러스인 것처럼 보인다면 바이러스가 실행 파일을 감염시킬 가능성이 있다고 추측할 수 있다. 그러나 이러한 방식은 많은 오진을 낳을 수 있다. | ||
+ | |||
+ | 다른 감지 방식의 경우 샌드박스를 사용하여 수행한다. 샌드박스는 운영 체제를 가상으로 구현하여 이 시뮬레이션 안에서 실행 파일을 실행한다. 프로그램을 종료한 다음, 소프트웨어는 샌드박스를 이용하여 바이러스로 보이는 변경 사항을 분석한다. 컴퓨터 성능 문제 때문에 이러한 종류의 검출은 사용자가 요청할 때에만 이루어진다. 또한 이러한 방식은 바이러스가 비결정적이며 실행시 다른 동작을 수행할 경우 실패할 가능성도 있다.<ref name="엔하위키"></ref> | ||
{{ 각주 }} | {{ 각주 }} | ||
== 참고자료 == | == 참고자료 == | ||
안랩 V3 공식 홈페이지 - https://www.ahnlab.com/kr/site/product/productView.do?prodSeq=8 | 안랩 V3 공식 홈페이지 - https://www.ahnlab.com/kr/site/product/productView.do?prodSeq=8 |
2019년 7월 29일 (월) 10:19 판
백신(vaccine)은 컴퓨터 바이러스를 찾아내서 기능을 정지시키거나 제거하는 프로그램을 말한다. 바이러스 백신 프로그램, 바이러스 백신, 안티바이러스 프로그램 등 다양한 이름으로 불리고 있지만 특히 국내에서는 백신으로 많이 불리고 있다. 이는 안철수 박사가 처음 ‘V1(Vaccine1)’을 개발한 것에서 유래되었다.
개요
바이러스 검사 소프트웨어 또는 안티바이러스 소프트웨어(Antivirus Software)는 악성 소프트웨어를 찾아내서 제거하는 기능을 갖춘 컴퓨터 프로그램이다. 대한민국에서는 이를 지칭하는데 백신 프로그램 이라는 말이 일상용어로 사용되고 있다. 한국에서 백신이라는 용어는 V3의 초기 버전인 Vaccine(=V1), V2, V2PLUS로 인해 대중적인 용어가 되었다.V3가 유명해지자 버전넘버를 더 올리지 않고 그대로 제품명으로 사용해버린 것이 현재까지 내려왔다.
원래 목적은 바이러스만 잡는 것이었으나, 현대에는 악성코드, 피싱 공격, 트로이 목마, 웜 등도 검출한다. 바이러스 검사 소프트웨어는 보통 다음과 같은 두 가지 기술을 사용하여 이를 수행한다:
- 바이러스 데이터베이스의 정의와 일치하는 바이러스를 확인하기 위해 파일의 내용을 살핀다.
- 감염으로 표시될 가능성이 있는 컴퓨터 프로그램에서 의심이 가는 행동을 찾아낸다. 이 기술은 발견적 분석이라고 부른다. 이러한 분석은 자료 포착, 포트 감시 등의 방식을 포함할 수 있다.
보통 상용 바이러스 검사 소프트웨어는 이 두 가지 기능을 모두 사용한다.[1]
역사
가장 처음 발견된 바이러스와, 가장 처음 제작된 백신 프로그램이 무엇인지는 정확하게 밝혀지지 않았다. 알려진 것 중 가장 오래된 바이 러스는 1982년 고등학교에 재학 중이던 컴퓨터 프로그래머 리치 스크렌타(Rich Skrenta)가 개발한 ‘엘크 클로너(Elk Cloner)’이다. 이 바이러스는 애플 II 운영체제를 탑재한 컴퓨터가 해당 바이러스에 감염된 부팅 디스켓으로 부팅할 경우, 복사본을 컴퓨터 메모리에 강제로 저장했다. 그리고 감염되지 않은 디스켓을 컴퓨터에 넣으면 자기 자신을 복사해 다른 컴퓨터로 퍼트릴 수 있도록 제작되었다. 감염된 컴퓨터는 50번째 부팅할 때마다, 짧은 시를 보여주었다. 이처럼 당시에 제작된 바이러스는 개발자의 장난에 불과한 경우가 대부분이었으며, 백신 프로그램도 전무했다. 이후, 1986년 9월, 파키스탄에 살고 있는 24살의 앰자드 알비(Amj ad Farooq Alvi)와 17세의 배시트 알비(Basit Farooq Alvi)라는 두 프로그래머 형제가 최초의 IBM PC용 바이러스 ‘브레인(Brain)을 제작해 유포했다. 이 바이러스도 Elk Cloner와 마찬가지로 디스켓을 통해 복사, 배포되었다. 이들이 바이러스를 제작한 이유는 자신들 이 개발한 프로그램이 불법 복제되는 것을 보고, 불법 복제한 사용자들을 골탕먹이기 위함이었다. 하지만 브레인 바이러스는 당시 가장 많이 보급되고 있던 MS-DOS 운영체제에서 실행되었기 때문에, 개발자들의 장난스런 의도 이상으로 전세계적으로 빠르게 확산되 어 많은 피해를 끼쳤다. 이후 수많은 바이러스가 세상에 선보이게 되었으며, 이에 대항하기 위해 백신 프로그램의 개발이 이어졌다. 1988년 국내에서 최초로 백신 프로그램 V1이 제작된 것도 이 브레인 바이러스 때문이다. 이처럼 인터넷이 보급되기 이전의 바이러스는 대부분 플로피 디스켓을 통해 퍼져나갔기 때문에 백신 프로그램은 실행 파일과 플로피 디스켓, 하드디스크를 검사하는 것만으로 충분했다. 하지만, 인터넷 사용이 보편화되면서 바이러스는 문서 프로그램의 매크로에 삽입되거나, 이메일에 삽입되는 등 다양한 경로로 퍼지게 되었다. 이 때부터 백신 프로그램들은 실시간 감시 기능, 실시간 업데이트 기능 등을 지원하고 있다.[2]
마이크로소프트 워드 같은 워드 프로세서 프로그램의 매크로 기능 역시 위험을 증가시켰다. 바이러스 제작자들은 매크로를 사용해 문서에 바이러스를 첨부하기 시작하였다. 이것은 문서 파일의 숨겨진 매크로를 통해 바이러스에 감염될 수도 있다는 뜻이었다.
이후 아웃룩 익스프레스 같은 전자 우편 프로그램도 전자 우편에 첨부된 바이러스의 위험에 노출되었다. 현재는 전자우편을 여는 것만으로 감염되는 바이러스도 제작된 상태이다. 이로 인해 바이러스 검사자들은 더 다양한 종류의 프로그램을 체크해야 하게 되었다. 그 결과 V3, 노턴 안티 바이러스, 알약 같은 다양한 백신 프로그램들은 라이브 업데이트라는 기능으로 실시간 업데이트를 지원하고 있다.[3]
바이러스 식별 방법
사전 데이터베이스
바이러스 데이터베이스 접근에서 바이러스 검사 소프트웨어가 파일을 찾아내면, 바이러스 검사 프로그램을 만든 사람이 정의해 놓은 "알려진 바이러스"의 데이터베이스를 참조한다. 파일 안의 코드 일부가 데이터베이스의 바이러스와 일치하면, 바이러스 검사 프로그램은 다음의 과정 가운데 하나를 수행할 수 있다.
- 파일 안의 바이러스 자체를 제거하여 파일을 고치려고 시도한다.
- 파일을 차단한다. (다른 프로그램이 해당 파일에 접근할 수 없으며, 바이러스는 퍼지지 않는다.)
- 감염된 파일을 삭제한다.[1]
의심스러운 동작
의심스러운 동작이 접근한다고 하여 알려진 바이러스를 확인하려고 시도하지는 않지만, 모든 프로그램의 동작을 감시한다. 이를테면, 어느 프로그램이 실행 프로그램에 데이터를 기록하려고 한다면 바이러스 검사 소프트웨어는 이러한 의심스러운 동작을 사용자에게 알리고 무엇을 할 것인지 물어 본다.
사전 데이터베이스 접근과 달리, 의심스런 동작의 접근은 데이터베이스에 없는 새로운 바이러스에 대한 보호를 제공한다. 그러나 수많은 오진이 일어날 수 있으며, 사용자는 모든 경고에 둔감해지게 된다. 사용자가 경고가 뜰 때마다 "허용"을 누르면 바이러스 검사 소프트웨어는 어떠한 작업도 수행하지 않는다. 그러므로 현대에 나온 바이러스 검사 소프트웨어는 이 기술을 되도록 적게 사용한다.[1]
다른 접근
어떠한 바이러스 검사 소프트웨어는 다른 종류의 발견적 분석을 사용한다. 이를테면, 제어권을 어떠한 실행 파일에 이행하기 전에 시스템이 호출하는 새로운 실행 파일의 코드의 시작 부분을 가상으로 구현하려고 할 수 있다. 해당 프로그램이 자가 정정 코드를 사용한다거나 바이러스인 것처럼 보인다면 바이러스가 실행 파일을 감염시킬 가능성이 있다고 추측할 수 있다. 그러나 이러한 방식은 많은 오진을 낳을 수 있다.
다른 감지 방식의 경우 샌드박스를 사용하여 수행한다. 샌드박스는 운영 체제를 가상으로 구현하여 이 시뮬레이션 안에서 실행 파일을 실행한다. 프로그램을 종료한 다음, 소프트웨어는 샌드박스를 이용하여 바이러스로 보이는 변경 사항을 분석한다. 컴퓨터 성능 문제 때문에 이러한 종류의 검출은 사용자가 요청할 때에만 이루어진다. 또한 이러한 방식은 바이러스가 비결정적이며 실행시 다른 동작을 수행할 경우 실패할 가능성도 있다.[1]
각주
- ↑ 1.0 1.1 1.2 1.3 〈바이러스 검사 소프트웨어〉,《엔하위키》
- ↑ 카메라맨, <컴퓨터 백신이란 무엇인가?.>, 《김승진 블로그》, 2012-01-03
- ↑ 〈컴퓨터 백신〉,《네이버 지식백과》
참고자료
안랩 V3 공식 홈페이지 - https://www.ahnlab.com/kr/site/product/productView.do?prodSeq=8