안티 바이러스 소프트웨어는 어떻게 서로 충돌합니까?


59

두 개의 안티 바이러스 (AV) 소프트웨어를 함께 설치하면 안된다는 것을 배웠습니다 . Windows 8부터 Windows Defender조차도 다른 AV 소프트웨어를 감지하면 자동으로 비활성화됩니다.

두 사람이 어떻게 충돌 할 수 있는지 궁금합니다. 내가 현재 알아낼 수있는 유일한 시나리오는 동일한 바이러스를 탐지하고 동시에 검역을 시도 할 때 "바이러스 정복 전투"가 발생할 수 있습니다. 나에게 이것은 분명히 두 개의 AV 소프트웨어를 설치 하지 않는 확실한 이유가 아닙니다 .


시스템 성능 문제는 물론입니다. Intel Kaby Lake i7이 설치된 16GB 메모리로 쉽게 처리 할 수 ​​있다고 가정합니다.


1
갈등 / 경쟁 문제 (귀하가 언급하고 답변)는 과장되어 있습니다. OS는 이러한 문제를 처리 / 해결하도록 설계되었습니다. 안티 바이러스 프로그램에는 찾고있는 알려진 바이러스의 서명을 저장하는 데이터베이스가 있기 때문에 그 이유가 있다는 인상을 받았습니다. 따라서 한 안티 바이러스 프로그램은 다른 안티 바이러스 프로그램을 악성 프로그램으로 탐지 할 수 있으며 그 반대도 마찬가지입니다.
톱밥

2
@ sawdust, 나는 당신의 진술을 이해하지만, 그들 중 하나만 능동 검사를 수행하는 경우에만 여러 AV를 제공하는 것이 좋습니다. 이는 서로 다른 서명 데이터베이스의 부주의 한 탐지로 인해 비 호환성이 발생한 경우 불가능합니다.
Frank Thomas

@PeterMortensen "안티 바이러스 스캐너"는 대답에도 불구하고 이상하게 들립니다. 저는 개인적으로 셀 수있는 명사인지에 관계없이 "소프트웨어"를 선호합니다.
iBug

답변:


83

일반 안티 바이러스 스캐너는 문제없이 공존 할 수 있습니다. AV를 방해 할 수있는 실시간 보호 기능입니다.

실시간 보호 기능이있는 AV 소프트웨어는 운영 체제에 완벽하게 통합됩니다. 일부 OS 코드를 패치하여 프로그램이 시도하는 모든 것을 관찰하고 필요한 경우 수행하지 못하게합니다. 운영 체제는 기본적으로 이러한 기능을 제공하지 않으므로 AV는이 효과를 달성하기 위해 기존의 방법을 덜 사용합니다.

예를 들어, OS가 제공하는 "파일 쓰기"기능을 사용자 정의 기능으로 대체 할 수 있습니다. 프로그램이 파일에 쓰려고하면 "파일 쓰기"기능을 호출합니다. 그러나이 기능은 AV에 의해 패치되었으며 프로그램 요청은 대신 AV로 리디렉션됩니다. AV가이를 검사하여 정상으로 보이는지 결정합니다. 그렇다면 실제 "파일 쓰기"기능을 호출합니다. 그렇지 않으면 악성 소프트웨어의 손상을 막기 위해 적절한 조치를 취합니다.

불행하게도, OS 코드의 패치는 AV에 필요할뿐만 아니라 수상한 것입니다. 바이러스를 생성 한 경우 AV가 바이러스 파일을 검사하지 못하게하는 등의 시스템 작동을 가로 채지 않으시겠습니까?

따라서 AV에는 코드 후크가 여전히 있는지 확인하고 필요한 경우 다시 설치하는 경비원이 있습니다. 이 시점에서 이것이 어디로 가고 있는지 볼 수 있습니다.

실시간 보호 기능이있는 두 대의 AV가 서로의 의심스러운 행동으로부터 사용자를 보호 할 수 있습니다. 이로 인해 성능 저하 문제에서 시스템 충돌에 이르기까지 모든 것이 발생할 수 있습니다.

경우에 따라 실시간 보호 기능이없는 AV 스캐너도 간섭을 일으킬 수 있습니다. AV는 바이러스를 어떻게 탐지합니까? 그들은 바이러스 서명을 가지고 있습니다. 알려진 바이러스의 특징에 대한 데이터베이스 그리고 그러한 데이터베이스는 바이러스의 특징이 있기 때문에 의심스러운 것처럼 보일 수도 있습니다. 따라서 한 AV는 다른 AV의 서명을 악성 코드로 가정 할 수 있습니다.

Hitman Pro와 같은 다른 AV와 공존하도록 설계된 AV 엔진도 있습니다. ClamWin (무료 및 오픈 소스)은 공존시 라이브 보호 기능이없는 스캐너 만 포함하므로 공존시 상대적으로 문제가 없어야합니다.


41
어떤 의미에서 바이러스 백신 소프트웨어 자체는 바이러스입니다. 의사 소통을 할 수없고 제복을 입지 않는 경찰이 2 명있는 도시를 상상해보십시오. 경찰관은 자신의 손전등을 사용하여 건물 내부에서 범죄자를 찾습니다. 범죄자는 다른 부서의 경찰관에게 관절을 묶는 것처럼 보입니다.
TJL December

@ComicSansMS 때때로 하나만 바이러스보다 더 해 롭습니다. 예 : 중국어 "무료"AV 소프트웨어.
iBug

30
@iBug "Chinese"와 "free"를 제외하고는 잘 알려진 브랜드 (McAfee, Norton / Symantec, Panda 등)의 잘못된 동작을 많이 보았습니다.
Bob

1
두 대의 스캐너 중 하나만 심각한 문제를 유발하기 위해 실시간 감지가 필요합니다. 한 번은 매우 영구적 인 CCleaner 및 파일 삭제로 인해 망설이는 Symantec Endpoint Protection에 문제가있었습니다.
Sanchises

2
@ 밥 : 그리고 우리는 심지어 그들의 취약점에 대해
Matteo Italia

14

프로그램이 둘 다 동일한 리소스를 사용하려고하면 충돌합니다. 여러 프로그램이 동시에 리소스에서 작동하려고하면 동시성 문제 가 발생할 위험이 있습니다. 동시성 문제는 한 프로세스가 자원에 대한 변경을 수행하고 다른 프로그램 (자원에 대한 자체 수정 중)이이를 인식하지 못하여 수용 할 수 없을 때 발생합니다.

다음은 교과서 동시성 문제의 몇 가지 예입니다.

최후의 문제

FTP 디렉토리를 사용하여 자신과 동료가 문서에서 공동 작업하는 문서를 공유한다고 가정하십시오. 동료와 마찬가지로 문서를 다운로드하여 편집 한 후 다시 게시 할 수 있습니다.

  1. 문서를 다운로드하고 1 시간이 걸리는 일련의 변경을 시작합니다.
  2. 동료가 문서를 다운로드하는 동시에 문서를 다운로드하지만 변경을 완료하고 다시 업로드하는 데 30 분 밖에 걸리지 않습니다.

결과 : 문서를 업로드 할 때 변경 사항을 덮어 쓰고 손실됩니다.

오래된 데이터

같은 시나리오에서 동료는 알리지 않고 필요한 부분을 변경합니다. 파일 사본에 변경 사항이 없습니다.

결과 : 약간 다른 단어로 동일한 변경 사항을 직접 작성하거나 더 나쁜 방법으로 누락 된 이메일을 발송합니다.

이것은 단순한 시나리오처럼 보이지만 다중 액세스 데이터베이스와 같은 고급 경우 누군가가 업데이트하는 것과 동일한 밀리 초에 레코드를 선택하면 심각한 문제가 발생할 수 있습니다.

잘못된 계산

결혼 한 부부는 은행 계좌와 ATM 카드를 공유합니다. 그들은 계정에 1000USD를 가지고 있습니다. 일상 생활에서 그들은 도시 맞은 편에 있으며, 동시에 ATM에 액세스합니다. 둘 다 1000USD를 인출합니다. ATM은 모두 잔액이 1000임을 알고 있으므로 출금을 허용 한 다음 새 잔액이 0 인 중앙 데이터베이스에 다시 씁니다.

결과 : 은행은 현재 1000USD를 내고 있으며 심지어 그것을 모릅니다.

이 모든 예에는 공유 리소스에 대해 또는 거의 동시에 작업을 수행하는 여러 당사자가있었습니다. 따라서 "동시성"또는 "동기 성"이라는 용어가 사용됩니다.

솔루션

이러한 종류의 문제를 처리하는 몇 가지 방법이 있습니다. 하나는 리소스에 액세스하는 여러 당사자간에 중재하는 소프트웨어를 사용하는 것입니다. 이 중재자 프로그램에는 작업 범위와 예측 가능성에 따라 두 가지 옵션이 있습니다.

  • 작업을 지능적으로 병합
  • 첫 번째 작업이 완료 될 때까지 두 작업 중 하나를 차단 / 잠금합니다.

두 프로그램 모두 자원 상태를 나타내는 공유 플래그를 확인하도록 설계되어 있으면 차단 / 잠금도 가능합니다. 이것은 일반적으로 사용자 정의 개발이 필요합니다.

너의 답

특정한 경우, 리소스는 디스크의 파일입니다. 동기화는 두 AV 프로그램에서 온 액세스 검색을 트리거하는 파일 읽기 / 쓰기와 같은 이벤트에서 비롯됩니다.

Windows는 특정 작업을 위해 프로그램을 열 때 파일잠그면 파일 시스템 동시성 문제를 해결하는 중재자 역할을합니다 .

이것은 두 프로그램이 모두 파일에 접근하기 위해 경주하고 있다는 것을 의미합니다. 낮은 수준에서 두 프로그램 모두 자체 I / O 활동을 시작함에 따라 일부 디스크 스레 싱이 발생하여 하드웨어가 두 작업을 개별적으로 수행하지만 IO 명령을 인터리빙하여 효율성이 떨어지고 결국에는 하나만 만들게됩니다. 그들 중 이길 것입니다. 다른 하나는 회전하고 자신의 잠금을 설정할 수 있도록 기다립니다.


9
안티 바이러스 1이 파일에 액세스 한 것을 발견하고 스캔 한 다음, 안티 바이러스 B가 파일에 액세스 한 것을 발견하여 파일을 스캔 한 다음 안티 바이러스 A가 파일에 액세스 한 경우 동시성 문제는 더 악화 될 수 있습니다. 마지막 스캔, 다시 스캔 등 ... (이것은 내 친구 랩톱에서 발생하는 것을 보았으며, Windows는 시작 후 약 10-20 분 후에 얼어 붙어 마감 시간 전에 더 느리게
진행됨

4
동시성은 다소 해결 된 문제이며 실제로 AV 관련 문제는 아닙니다. 귀하의 답변이 핵심 문제를 완전히 놓치고 해결되지 않은 경우 대부분의 컴퓨터 소프트웨어에 영향을 줄 수있는 문제에 초점을 맞추고 있지만 해결되지 않았기 때문에 하향 투표했습니다.
gronostaj

1
@gronostaj, 내가 요청할 수 있다면, 핵심 이슈가 무엇이라고 생각하십니까? 디스크의 모든 읽기 / 쓰기 이벤트에 반응하는 활성 AV는 모두 동일한 이벤트에 반응하기 때문에 대부분 고유 한 동시성 문제를 발생시킵니다. 다른 소프트웨어에서는 일반적이지 않습니다. 그것이 어떻게 해결되는지에 관해서는 설명하기 위해주의합니까?
Frank Thomas

2
나는 내 대답 에서 그것을 해결하려고 노력했다 . 두 개의 AV는 경쟁 조건을 유발하는 동시에 디스크를 시도한다는 점에서 디스크 I / O와 경쟁하지 않습니다. 각각 OS에 자신을 주입하려고 시도합니다. 하나의 AV가 다른 하나의 AV를 스캔 할 때 안정적인 방식으로 해결되거나 깨지기 쉬운 엉망으로 끝나거나 AV가 계속해서 서로를 지배하려고 시도합니다.
gronostaj

1
@gronostaj 핵심은 두 가지 모두가 배타적이지 않습니까? OS 후크 경합 (IE : "파일 쓰기"를 위해 싸우는 것) ... 및 ... 동시성 관련 문제가없는 이유는 무엇입니까? 내가 틀렸지 만 둘 다 서로 보완하는 "상보적인"문제처럼 보입니다 (각각의 AV에는 보안 결함, 성능 문제, bloatware 등이 있습니다). 이 문제는 큰 문제를 한 문제로 요약하기위한 싸움과 "문제"를 가진 사람을 결정하기위한 싸움 인 것 같습니다.
WernerCD

3

두 검사 프로세스는 서로 경쟁하여 드라이브 및 네트워크 I / O를 검사합니다.

대부분의 AV 제조업체가 공동으로 서명을 공유하므로 다른 사람이 업데이트하기 전에 맬웨어를 탐지하지 않기 때문에 CPU를 낭비하고 이점을 얻지 못합니다.

잘 알려진 업계에서 인정 된 단일 AV는 감염되기 쉬운 무모한 습관이 있더라도 동시에 10 개의 AV 제품을 사용하는 것처럼 효과적으로 시스템을 보호합니다.

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