안티 바이러스는 어떻게 작동합니까?


54

최근에 바이러스에 대해 생각하고 있었는데 안티 바이러스가 정확히 어떻게 유지되는지 궁금하십니까? 몇 주 동안 코딩을 해본 사람이 다른 사람을 해킹하고 누군가의 PC에 불쾌한 일을 해킹 할 수 있다는 점을 고려할 때 수량만으로도 간단한 해시 목록을 작성하여 안티 바이러스는 어떻게 할 수 있습니까? 프로세스 활동을 모니터링하고 바이러스와 유사한 작업을 수행하기위한 3 가지 경고 규칙이 있습니까? 그렇다면 \ system32에서 파일을 옮기는 것과 같이 완벽하게 무해한 것들을 트리거하지 못하게하는 것은 무엇입니까?

나는 약간의 인터넷 검색을했지만 정기적 인 장소는 특히 도움이되지 않았고 여기에서 속박을 찾을 수 없었으므로 물어 보는 것이 좋을 것이라고 생각했습니다. :)


4
@joe는 windows 태그를 추가 할 필요가 없습니다. 안티 바이러스는 모든 OS에서 거의 같은 방식으로 작동합니다. 또한 AV 작동 방식은 주관적이지 않습니다.
alex

오. 미안 나는 이것이 창에 있고 주관적이라고 생각하고 있었다. 나는 이해합니다
joe

6
랩탑을 구입할 때 사전 설치되어 60 일 동안 계속 신음 할 수 있습니다. 최종적으로 시스템에서 나올 때까지 등록 / 지불해야합니다. 일반적으로 대화 상자는 모달이며 최상위이므로 다른 작업을 효과적으로 차단할 수 있으며 제거하기 쉬운 방법을 제공하지 않습니다.
Daniel Daranas

아주 좋은 질문에 +1을 부딪 치십시오
dag729

AV 휴리스틱은 정교하지만 새로운 위협 (또는 기존 위협의 영리한 변형)을 탐지하지 못합니다. 휴리스틱은 종종 완전한 소프트웨어 / 코드에 대해 오탐 (false positive)을 생성합니다. AV 소프트웨어는 유용하지만 종종 사용자에게 잘못된 보안 감각을 제공하는 목발입니다. 나는 알려진 많은 바이러스 ( virustotal.com/en )를 테스트했으며 Symantec, McAfee 및 AVG와 같은 유명 이름은 아무것도 탐지하지 않습니다 (카스퍼 스키는 일반적으로 잘 수행합니다). 더 나은 방법은 시스템을 알고 수행 한 작업을보고 백업을하는 것입니다.
AlainD

답변:


17

2002 년 기사에서는 안티 바이러스 엔진을 구축하는 방법에 대해 설명합니다.

이 기사는 개발자 / 소프트웨어 엔지니어의 관점에서 안티 바이러스 프로그램 개발과 관련된 기본 아이디어, 개념, 구성 요소 및 접근 방식을 설명합니다. 안티 바이러스 엔진 (이하 AV 엔진이라고 함)의 주요 요소에 중점을두고 그래픽 사용자 인터페이스, 실시간 모니터, 파일 시스템 드라이버 및 Microsoft Exchange와 같은 특정 응용 프로그램 소프트웨어의 플러그인 또는 마이크로 소프트 오피스. 단일 플랫폼 (예 : Palm OS 또는 EPOC / Symbian OS)에 대해 실행 / 스캔하는 AV 엔진을 동일한 방식으로 설계 할 수 있지만이 기사에서는 훨씬 더 복잡한 다중 플랫폼 스캔 엔진을 설계하는 데 중점을 둘 것입니다.

감염을 탐지하는 휴리스틱 기술에 대한 기사 도 있습니다 . 또한 흥미로운 읽을 거리입니다.


휴리스틱 기사에 +
1-

그것이 정말로 읽을만한 가치가있는 것입니다. 추론 부분은 필수입니다 :)
알렉스

나는 그것을 읽은 후 안티 바이러스에 대해 새로운 존경을 받았습니다.
Phoshi

그들은 매우 복잡한 응용 프로그램입니다. 불행히도, 그들은 나를 포함하여 많은 사람들이 혐오하는 것으로 바꿨습니다. 사용자 정의, 느슨하고 직관적이지 않은 인터페이스는 기능 목록에 또 다른 글 머리 기호를 추가하기위한 기능입니다. 이것은 그들을 악몽으로 만든 것들입니다. 하지만 상황이 바뀌고있다. 좋은 AV 솔루션의 가장 좋은 예는 MSE입니다.
alex

그것을 훔친 것은 휴리스틱 스 였고, 죄송합니다. joe : P 좋은 대답 상관없이 :) @alex; 아아, 나는 동의해야하지만, 아래의 복잡성을 이해하면 나를 더 동정하게됩니다. "사용자 정의 가능한 색상 GUI!"라는 것은 복잡한 일이며, 잠재적 인 고객을 끌어 들이기에 충분하지 않습니다. 힘 :(
Phoshi

13

약 1 년 전에 저는 F-Secure의 주요 연구원 중 한 명인 Mikko Hyyppönen의 강의에 참석했습니다. 그는 자동화 된 테스트 네트워크를 보여 주었으며, 여기에서 전송 된 모든 샘플에 대한 가상 머신을 생성하고, 구조를 분석하고, 실행하고, 수행 한 모든 것을 기록하고, 이전 샘플과 상호 참조하고, 나중에 확인할 수 있도록 요약을 생성합니다. 사람이 바이러스라고 결론을 내면 시스템은 자동으로 탐지 서명을 생성하고 고객에게 업데이트를 보냅니다. 다른 벤더들도 시그니처 데이터베이스를 최신 상태로 유지하기 위해 비슷한 시스템을 가지고 있다고 생각합니다.


4

에서 수행하는 방법 안티 바이러스 소프트웨어를 사용할 수 있습니까? (바이러스 백신 세계) :

안티 바이러스 소프트웨어 프로그램은 파일을 스캔하여 컴퓨터 바이러스 및 기타 악성 소프트웨어 (맬웨어)를 식별하고 제거하는 데 사용할 수있는 컴퓨터 프로그램입니다.

안티 바이러스 소프트웨어는 일반적으로이를 위해 두 가지 기술을 사용합니다.

  • 바이러스 사전을 통해 알려진 바이러스를 찾기 위해 파일 검사 감염을 나타낼 수있는 모든 컴퓨터 프로그램에서 의심스러운 동작 식별
  • 대부분의 상용 안티 바이러스 소프트웨어는이 두 가지 접근 방식을 모두 사용하며 바이러스 사전 접근 방식에 중점을 둡니다.

바이러스 사전 접근 방식 바이러스 사전 접근 방식에서 안티 바이러스 소프트웨어는 파일을 검사 할 때 안티 바이러스 소프트웨어 작성자가 식별 한 알려진 바이러스 사전을 참조합니다. 파일의 코드 조각이 사전에 식별 된 바이러스와 일치하면 안티 바이러스 소프트웨어는 파일을 삭제하거나 격리하여 파일을 다른 프로그램에 액세스 할 수없고 바이러스가 확산되지 못하도록 시도 할 수 있습니다. 파일에서 바이러스 자체를 제거하여 파일을 복구합니다.

중장기 적으로 성공하려면 바이러스 사전 접근 방식에 업데이트 된 바이러스 사전 항목을 주기적으로 온라인으로 다운로드해야합니다. 새로운 바이러스가 "실제로"확인되면, 교활한 생각과 기술적으로 관심이있는 사용자는 감염된 파일을 안티 바이러스 소프트웨어 작성자에게 보내면 사전에 새 바이러스에 대한 정보가 포함됩니다.

사전 기반 안티 바이러스 소프트웨어는 일반적으로 컴퓨터 운영 체제에서 파일을 작성하고 열고 닫을 때 파일을 검사합니다. 파일이 이메일로 전송 될 때. 이런 식으로, 알려진 바이러스는 수령 즉시 탐지 될 수 있습니다. 소프트웨어는 일반적으로 사용자 하드 디스크의 모든 파일을 정기적으로 검사하도록 예약 할 수도 있습니다.

사전 접근 방식은 효과적인 것으로 간주되지만 바이러스 제작자는 바이러스의 서명과 일치하지 않도록 자신의 일부를 암호화하거나 변장 방법으로 자신을 수정하는 "다형성 바이러스"를 작성하여 이러한 소프트웨어보다 앞서 나 가려고 노력했습니다. 사전에.

의심스러운 행동 방식 이와 달리 의심 스러운 행동 방식 은 알려진 바이러스를 식별하지 않고 모든 프로그램의 동작을 모니터링합니다. 예를 들어, 한 프로그램이 실행 가능한 프로그램에 데이터를 쓰려고 시도하면 의심스러운 동작으로 표시되고 사용자에게 경고하고 수행 할 작업을 요청합니다.

사전 접근 방식과 달리 의심스러운 동작 방식은 바이러스 사전에 아직없는 새로운 바이러스로부터 보호합니다. 그러나 많은 오 탐지 소리가 들리며 사용자는 모든 경고에 민감하지 않을 수 있습니다. 사용자가 그러한 모든 경고에 대해 "동의"를 클릭하면 안티 바이러스 소프트웨어는 해당 사용자에게 분명히 쓸모가 없습니다. 이 문제는 지난 7 년 동안 특히 악의적이지 않은 많은 프로그램 디자인이이 잘못된 문제와 상관없이 다른 .exe를 수정하도록 선택했기 때문에 더욱 악화되었습니다. 따라서 대부분의 최신 안티 바이러스 소프트웨어는이 기술을 점점 적게 사용합니다.

바이러스를 탐지하는 다른 방법 일부 안티 바이러스 소프트웨어는 제어를 실행 파일로 전송하기 전에 실행중인 각 새 실행 파일의 코드 시작 부분을 에뮬레이션하려고합니다. 프로그램이 자체 수정 코드를 사용하는 것 같거나 바이러스로 보이는 경우 (다른 실행 파일을 즉시 찾으려고 함) 실행 파일이 바이러스에 감염된 것으로 가정 할 수 있습니다. 그러나이 방법을 사용하면 많은 오 탐지가 발생합니다.

또 다른 탐지 방법은 샌드 박스를 사용하는 것입니다. 샌드 박스는 운영 체제를 에뮬레이트하고이 시뮬레이션에서 실행 파일을 실행합니다. 프로그램이 종료 된 후 샌드 박스는 바이러스를 나타낼 수있는 변경 사항을 분석합니다. 성능 문제로 인해이 유형의 탐지는 일반적으로 주문형 검색 중에 만 수행됩니다.

우려되는 문제

가장 파괴적이고 광범위하게 퍼져있는 컴퓨터 바이러스 인 매크로 바이러스는 Microsoft가 Microsoft Outlook과 관련된 Microsoft Outlook 및 Microsoft Office의 보안 결함을 수정하는 경우 모든 사용자가 안티 바이러스 소프트웨어를 구입할 필요없이 훨씬 저렴하고 효과적으로 예방할 수 있습니다. 다운로드 한 코드의 실행과 문서 매크로가 혼란을 퍼뜨릴 수있는 능력.

사용자 교육은 안티 바이러스 소프트웨어만큼 중요합니다. 인터넷에서 알 수없는 프로그램을 다운로드하여 실행하지 않는 등의 안전한 컴퓨팅 실무에서 사용자를 교육하면 바이러스 백신 소프트웨어가 없어도 바이러스 확산이 느려집니다.

컴퓨터 사용자는 항상 자신의 컴퓨터에 대한 관리자 액세스 권한으로 실행해서는 안됩니다. 이들이 단순히 사용자 모드에서 실행된다면 일부 유형의 바이러스는 확산되지 않을 것입니다.

바이러스 탐지에 대한 사전 접근 방식은 새로운 바이러스의 지속적인 생성으로 인해 종종 불충분하지만, 의심스러운 행동 접근 방식은 위양성 문제로 인해 효과가 없습니다. 따라서 안티 바이러스 소프트웨어에 대한 현재의 이해는 컴퓨터 바이러스를 정복하지 않습니다.

잘 알려진 바이러스조차도 안티 바이러스 소프트웨어에서 탐지 할 수없는 악성 소프트웨어를 암호화하고 압축하는 다양한 방법이 있습니다. 이러한 "위장"바이러스를 탐지하려면 강력한 압축 풀기 엔진이 필요합니다.이 엔진은 검사하기 전에 파일을 해독 할 수 있습니다. 불행히도, 많은 인기있는 안티 바이러스 프로그램에는이 기능이 없으므로 암호화 된 바이러스를 탐지 할 수없는 경우가 많습니다.

안티 바이러스 소프트웨어를 판매하는 회사는 바이러스를 작성하고 퍼 뜨리고 대중이 위협에 대해 공황에 빠뜨릴 재정적 인센티브를 가지고있는 것 같습니다.

(이 기사가 마음에 들며 AntivirusWorld에서 복사하여 붙여 넣었습니다.)


감사합니다 :) 사전 접근 방식의 경우 알려진 바이러스 코드를 복사하여 응용 프로그램에 넣으면 감지되지만 비슷한 것을 썼다면 의심스러운 행동을 기다려야합니까? (가설 적으로, 물론)
Phoshi

그렇습니다.
joe

: 당신이 (- P 나쁘지 않아, 시간의 무한한 양의 주어진 가능한 모든 바이러스를 막을 것)를 기존의 코드가 꽤 좋은 중지, 바이러스가 만들어지고 멈출 수없는 경우 즉, 의미가
Phoshi

이것이 바로 서명입니다. 둘 이상의 바이러스에 공통적 인 악성 기계 코드의 일부입니다.
alex

AV가 파일을 알려진 바이러스 10,000 개의 사전과 비교하면 왜 빠른가요? 각 파일을 스캔하는 데 밀리 초가 소요됩니다.
LantisGaius

3

Phoshi, 귀하의 질문은 매우 흥미 롭지 만 다른 질문으로 퀘스트를 시작하는 것이 좋습니다. 귀하가 요청한 질문에 대한 답변이 귀하를 오도 할 수 있기 때문에 나는 이것을 권고하고 있습니다.

바이러스를 무엇이라고 생각하는지, 그 정의는 무엇인지 생각하는 것이 좋습니다.

엘리트 바이러스 작성자는 스크립트 키디가 아니라 보안 연구원입니다. 바이러스 정의는 "바이러스는 스스로 증식 할 수있는 코드입니다"입니다. 그게 다야. 보시다시피 여기에 언급 된 파괴적인 기능은 없습니다. 모든 바이러스는 사악해야합니다. 즉, 독점적 인 바이러스 백신 제조업체로부터 소프트웨어를 판매 할 수있는 FUD입니다.

IMHO 바이러스를 악의적 인 "외계인"이 아닌 전체 소프트웨어 생태계의 일부로 취급하는 것이 현명합니다.


글쎄, 나는 AV가 어떻게 작동하는지 물었으므로 대답은 생각합니다 ... 아주 잘 대답하지만, 당신은 아주 좋은 지적을합니다. :)
Phoshi

같은 컴퓨터에서 서로를 죽이려고 시도하는 두 가지 바이러스 백신을 보는 것도 재미 있습니다. 그들이 왜 그런지 궁금해하십시오 :-)
괴짜

1

바이러스를 보는 매우 중요한 방법 중 하나는 다른 방법입니다. 바이러스가 시스템을 손상시키는 방법 이것은 일반적으로 소프트웨어 취약점을 통해 발생합니다. 바이러스 백신 소프트웨어는 이러한 취약점을 알고 있으며 이러한 취약점에 영향을주는 소프트웨어를 찾습니다. 어느 쪽이든 바이러스는 항상 소위 행동합니다. 따라서 그들은 최선을 다하는 일을하기 위해 작업 과정이 필요합니다. 때때로 이것은 기존에 있고 때로는 스스로 만들 수도 있습니다.

그러나 MOST 바이러스는 비슷한 방식으로 작동하므로 바이러스 검색 프로그램이 바이러스를 쉽게 구별 할 수 있습니다. 동일한 취약점을 이용하는 다양한 바이러스가 많이 있습니다!

http://en.wikipedia.org/wiki/List_of_computer_viruses

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.