컴퓨터 바이러스
Computer virus
컴퓨터 바이러스는[1] 실행될 때 다른 컴퓨터 프로그램을 수정하고 해당 프로그램에 자체 코드를 삽입하여 자체 복제하는 악성 프로그램의 유형입니다.[2][3] 만약 이 복제가 성공한다면, 그 영향을 받은 지역은 생물학적 바이러스에서 유래한 비유인 컴퓨터 바이러스에 "감염"되었다고 합니다.[4]
컴퓨터 바이러스는 일반적으로 호스트 프로그램이 필요합니다.[5] 바이러스는 자신의 코드를 호스트 프로그램에 씁니다. 프로그램이 실행되면 작성된 바이러스 프로그램이 먼저 실행되어 감염 및 피해가 발생합니다. 반면에 컴퓨터 웜은 독립적인 프로그램이나 코드 청크이기 때문에 호스트 프로그램이 필요하지 않습니다. 따라서 호스트 프로그램의 제한을 받지 않고 독립적으로 실행하여 공격을 적극적으로 수행할 수 있습니다.[6][7]
바이러스 작성자는 소셜 엔지니어링 속임수를 사용하고 보안 취약성에 대한 자세한 지식을 활용하여 시스템을 초기에 감염시키고 바이러스를 퍼뜨립니다. 바이러스는 바이러스 백신 소프트웨어를 회피하기 위해 복잡한 탐지/스텔스 전략을 사용합니다.[8] 바이러스를 만드는 동기에는 이익 추구(예: 랜섬웨어), 소프트웨어에 취약성이 있음을 입증하기 위한 정치적 메시지를 보내고 싶은 욕구, 개인적인 즐거움, 또는 단순히 사이버 보안 문제, 인공 생명 및 진화 알고리즘을 탐구하기를 원하기 때문일 수 있습니다.[9]
2013년 기준으로 컴퓨터 바이러스는 매년 수십억 달러 상당의 경제적 피해를 입었습니다.[10] 이에 대응하여 바이러스 백신 소프트웨어 업계는 다양한 운영 체제의 사용자에게 바이러스 보호 기능을 자유롭게 배포하거나 판매하고 있습니다.[11]
역사
컴퓨터 프로그램의 자기 복제 이론에 대한 최초의 학문적 연구는 1949년 일리노이 대학교에서 "복잡한 오토마타의 이론과 조직"에 대해 강의한 존 폰 노이만에 의해 이루어졌습니다. 폰 노이만의 작품은 후에 "자기 재현 오토마타 이론"으로 출판되었습니다. 폰 노이만은 그의 에세이에서 어떻게 컴퓨터 프로그램이 스스로를 재현하도록 설계될 수 있는지를 설명했습니다.[12] 폰 노이만의 자가 재생 컴퓨터 프로그램 설계는 세계 최초의 컴퓨터 바이러스로 간주되며, 그는 컴퓨터 바이러스학의 이론적 '아버지'로 여겨집니다.[13] 1972년, Veith Risak은 폰 노이만의 자기 복제에 관한 연구를 직접 기반으로 하여 그의 논문 "Selbstreproduzierende Automaten mit Minimaler Informationsübertragung"(정보 교환을 최소화한 자기 복제 오토마타)를 출판했습니다.[14] 이 문서에서는 SIEMEN 4004/35 컴퓨터 시스템용 어셈블러 프로그래밍 언어로 작성된 완전한 기능을 갖춘 바이러스에 대해 설명합니다. 1980년 위르겐 크라우스는 도르트문트 대학교에서 외교학 논문 "Selbstreproduction bei Programmen" (프로그램의 자기 재현)을 썼습니다.[15] 그의 연구에서 크라우스는 컴퓨터 프로그램이 생물학적 바이러스와 유사한 방식으로 행동할 수 있다고 가정했습니다.

크리퍼 바이러스는 1970년대 초 인터넷의 전신인 아르파넷(ARPANET)에서 처음 발견되었습니다.[16] 크리퍼(Creper)는 1971년 BBN 테크놀로지스(BBN Technologies)의 밥 토마스(Bob Thomas)가 쓴 실험적 자기 복제 프로그램입니다.[17] 크리퍼는 ARPANET을 사용하여 TENEX 운영 체제를 실행하는 DEC PDP-10 컴퓨터를 감염시켰습니다.[18] 크리퍼는 ARPANET을 통해 액세스할 수 있게 되었고, "나는 크리퍼(I'm THE CRIPER)"라는 메시지가 표시되는 원격 시스템에 자신을 복사했습니다. 캐치 미 이프 유 캔!"이라는 문구가 표시되었습니다.[19] 크리퍼를 삭제하기 위해 리퍼 프로그램을 만들었습니다.[20]
1982년, "Elk Cloner"라는 프로그램은 "야생에서" 즉, 그것이 만들어진 단일 컴퓨터 또는 컴퓨터 연구소 밖에 나타난 최초의 개인용 컴퓨터 바이러스였습니다.[21] 1981년 피츠버그 인근 마운트 레바논 고등학교 9학년 리처드 스크렌타(Richard Skrenta)가 쓴 이 책은 애플 도스 3.3 운영체제에 자체적으로 부착되어 플로피 디스크를 통해 퍼졌습니다.[21] 엘크 클로너 바이러스는 50번째 사용에서 활성화되어 개인용 컴퓨터를 감염시키고 "엘크 클로너:"로 시작하는 짧은 시를 보여줍니다. 개성 있는 프로그램."
1984년 서던캘리포니아 대학교의 프레드 코헨은 그의 논문 "컴퓨터 바이러스 – 이론과 실험"을 썼습니다.[22] 코언의 멘토 레너드 애들먼이 도입한 용어인 자가 재생 프로그램을 '바이러스'라고 명시적으로 부른 첫 논문이었습니다. 1987년 프레드 코헨은 가능한 모든 바이러스를 완벽하게 탐지할 수 있는 알고리즘이 없다는 실증을 발표했습니다.[23] 프레드 코헨의 이론적 압축 바이러스는[24] 악성 소프트웨어(맬웨어)가 아니라 추정적으로 호의적인(의도가 좋은) 바이러스의 한 예였습니다. 그러나 바이러스 백신 전문가들은 바이러스를 포함하지 않고 원하는 기능을 구현할 수 있기 때문에 "유해 바이러스"라는 개념을 받아들이지 않습니다(예를 들어 사용자의 선택에 따라 Windows에서 자동 압축을 사용할 수 있음). 모든 바이러스는 정의에 따라 컴퓨터를 무단으로 변경합니다. 이는 손상이 가해지거나 의도되지 않더라도 바람직하지 않습니다. 솔로몬 박사의 바이러스 백과사전의 첫 페이지는 번식만 하는 바이러스조차도 바람직하지 않다는 것을 설명하고 있습니다.[25][26]
1984년 J. B. Gunn은 "사용자 제어 하에 가상 APL 인터프리터를 제공하기 위한 바이러스 기능 사용"이라는 제목으로 "유용한 바이러스 기능"을 설명하는 기사를 발표했습니다.[27] "야생"에서 최초의 IBM PC 호환 바이러스는 (c)Brain이라고 불리는 부트 섹터 바이러스로,[28] 1986년에 만들어졌으며 1987년 파키스탄 라호르의 암자드 파루크 알비와 바시트 파루크 알비가 자신들이 작성한 소프트웨어의 무단 복제를 막기 위해 출시한 것으로 알려졌습니다.[29] 마이크로소프트 윈도우를 특정 대상으로 한 최초의 바이러스인 WinVir는 윈도우 3.0 출시 2년 후인 1992년 4월에 발견되었습니다.[30] 이 바이러스는 윈도우 API 호출을 포함하지 않았으며 대신 도스 인터럽트에 의존했습니다. 몇 년 후인 1996년 2월, 바이러스 작성 팀 VLAD의 호주 해커들이 비즈치 바이러스(Bizatch virus, "Boza" virus)를 만들었고, 이 바이러스는 윈도우 95를 목표로 하는 것으로 알려진 최초의 바이러스였습니다. 1997년 말 암호화된 메모리 상주형 스텔스 바이러스 Win32.카바나는 윈도우 NT를 대상으로 한 최초의 알려진 바이러스로 출시되었습니다(윈도우 3.0 및 윈도우 9x 호스트도 감염시킬 수 있었습니다).[31]
심지어 가정용 컴퓨터도 바이러스의 영향을 받았습니다. 아미가에 처음 등장한 것은 1987년 11월에 검출된 SCA 바이러스라는 부트 섹터 바이러스였습니다.[32]
설계.
부품.
컴퓨터 바이러스는 일반적으로 새 파일을 찾아 감염시키는 감염 메커니즘, 실행할 악성 코드인 페이로드, 페이로드를 활성화할 시기를 결정하는 트리거의 세 부분을 포함합니다.[33]
- 감염 메커니즘
- 감염 벡터라고도 불리는 이것이 바이러스가 퍼지는 방법입니다. 일부 바이러스에는 디스크의 파일을 찾아 감염시키는 검색 루틴이 있습니다.[34] 예루살렘 도스 바이러스와 같이 다른 바이러스가 실행되면서 파일을 감염시킵니다.
- 트리거
- 논리 폭탄이라고도 하는 이 부분은 페이로드가 활성화되는 조건을 결정하는 바이러스의 부분입니다.[35] 이 조건은 특정 날짜, 시간, 다른 프로그램의 존재, 디스크의 크기가 임계값을 초과하거나 [36]특정 파일을 여는 것일 수 있습니다.[37]
- 페이로드
- 페이로드는 악의적인 활동을 실행하는 바이러스의 본체입니다. 악의적인 활동의 예로는 파일 손상, 기밀 정보 도용 또는 감염된 시스템에 대한 스파이 행위가 있습니다.[38][39] 페이로드 작업은 시스템의 속도가 느려지거나 "동결"될 수 있기 때문에 눈에 띄는 경우가 있습니다.[34] 때때로 페이로드는 비파괴적이며 가능한 한 많은 사람들에게 메시지를 전파하는 것이 주요 목적입니다. 이것을 바이러스 거짓말이라고 합니다.[40]
위상
바이러스 단계는 생물학과 유사한 방식으로 설명되는 컴퓨터 바이러스의 수명 주기입니다. 이 수명 주기는 다음과 같이 4단계로 나눌 수 있습니다.
- 휴면기
- 이 단계에서는 바이러스 프로그램이 유휴 상태입니다. 바이러스 프로그램은 대상 사용자의 컴퓨터나 소프트웨어에 액세스하는 데 성공했지만 이 단계에서는 바이러스가 아무런 조치를 취하지 않습니다. 바이러스는 결국 어떤 이벤트가 바이러스를 실행할지를 나타내는 "트리거"에 의해 활성화됩니다. 모든 바이러스에 이런 단계가 있는 것은 아닙니다.[34]
- 전파상
- 바이러스는 증식하고 복제하는 전파를 시작합니다. 바이러스는 자신의 복사본을 다른 프로그램이나 디스크의 특정 시스템 영역에 배치합니다. 사본이 전파 버전과 동일하지 않을 수 있습니다. 바이러스는 IT 전문가 및 안티바이러스 소프트웨어의 탐지를 피하기 위해 종종 "변형"하거나 변경됩니다. 이제 감염된 각 프로그램에는 바이러스의 클론이 포함되며, 이 클론은 자체적으로 전파 단계에 들어갑니다.[34]
- 트리거링 페이즈
- 휴면 바이러스는 활성화되면 이 단계로 이동하여 이제 의도했던 기능을 수행합니다. 트리거 단계는 이 바이러스 복사본이 자체 복사본을 만든 횟수의 카운트를 포함하여 다양한 시스템 이벤트로 인해 발생할 수 있습니다.[34] 이 트리거는 의심을 줄이기 위해 직원이 고용을 종료하거나 정해진 기간이 지난 후에 발생할 수 있습니다.
- 실행단계
- 이것이 바이러스의 실제 작업으로, '페이로드'가 공개될 예정입니다. 디스크의 파일을 삭제하거나 시스템을 충돌시키거나 파일을 손상시키는 등 파괴적일 수 있으며 유머러스하거나 정치적인 메시지가 화면에 뜨는 등 상대적으로 무해할 수 있습니다.[34]
대상 및 복제
컴퓨터 바이러스는 호스트 컴퓨터와 소프트웨어의 다양한 하위 시스템을 감염시킵니다.[41] 바이러스를 분류하는 한 가지 방법은 바이러스가 이진 실행 파일에 존재하는지 여부를 분석하는 것입니다.EXE나.COM 파일), 데이터 파일(예:[42][43] Microsoft Word 문서 또는 PDF 파일) 또는 호스트의 하드 드라이브의 부팅 섹터(또는 이 모든 것의 일부 조합).
메모리 상주 바이러스(또는 간단히 "레지던트 바이러스")는 실행될 때 운영 체제의 일부로 설치되며, 그 후 컴퓨터가 부팅될 때부터 종료될 때까지 RAM에 남아 있습니다. 상주 바이러스는 인터럽트 처리 코드 또는 다른 기능을 덮어쓰며, 운영 체제가 대상 파일 또는 디스크 섹터에 액세스하려고 하면 바이러스 코드가 요청을 가로채고 제어 흐름을 복제 모듈로 리디렉션하여 대상을 감염시킵니다. 이와는 대조적으로, 비메모리 상주 바이러스(또는 "비 상주 바이러스")는 실행되면 디스크에서 대상을 검색하여 감염시킨 다음 종료합니다(즉, 실행이 완료된 후에는 메모리에 남아 있지 않습니다).[44]
Microsoft Outlook 및 Microsoft Word와 같은 많은 일반적인 응용 프로그램은 매크로 프로그램을 문서나 전자 메일에 포함시켜 문서를 열 때 프로그램을 자동으로 실행할 수 있도록 합니다. 매크로 바이러스(macro virus) 또는 문서 바이러스(document virus)는 매크로 언어로 작성되어 이러한 문서에 내장되어 사용자가 파일을 열 때 바이러스 코드가 실행되고 사용자의 컴퓨터를 감염시킬 수 있는 바이러스입니다. 예상치 못했거나 의심스러운 첨부 파일을 이메일로 여는 것이 위험한 이유 중 하나입니다.[45][46] 알 수 없는 사람이나 조직의 전자 메일에서 첨부 파일을 열지 않는 것이 바이러스에 감염될 가능성을 줄이는 데 도움이 될 수 있지만, 어떤 경우에는 전자 메일이 평판이 좋은 조직(예: 주요 은행 또는 신용 카드 회사)의 것처럼 보이도록 바이러스가 설계됩니다.
부트 섹터 바이러스는 특히 호스트의 하드 디스크 드라이브, 솔리드 스테이트 드라이브 또는 이동식 저장 매체(플래시 드라이브, 플로피 디스크 등)의 부트 섹터 및/또는 MBR(Master Boot Record[47])을 대상으로 합니다.[48]
부트 섹터에서 컴퓨터 바이러스의 가장 일반적인 전송 방법은 물리적 미디어입니다. 드라이브의 VBR을 읽을 때 컴퓨터에 연결된 감염된 플로피 디스크 또는 USB 플래시 드라이브가 데이터를 전송한 다음 기존 부트 코드를 수정하거나 교체합니다. 다음 번에 사용자가 데스크톱을 시작하려고 하면 바이러스가 즉시 로드되고 마스터 부트 레코드의 일부로 실행됩니다.[49]
전자 메일 바이러스는 실수가 아닌 의도적으로 전자 메일 시스템을 사용하여 전파하는 바이러스입니다. 바이러스에 감염된 파일이 실수로 전자 메일 첨부 파일로 전송될 수 있지만 전자 메일 바이러스는 전자 메일 시스템 기능을 인식합니다. 이러한 전자 메일 시스템은 일반적으로 특정 유형의 전자 메일 시스템(Microsoft Outlook이 가장 일반적으로 사용됨)을 대상으로 하며, 다양한 소스에서 전자 메일 주소를 수집하고 전송된 모든 전자 메일에 자신의 복사본을 추가하거나 자신의 복사본을 첨부 파일로 포함하는 전자 메일 메시지를 생성할 수 있습니다.[50]
탐지
사용자의 탐지를 피하기 위해 일부 바이러스는 다양한 유형의 속임수를 사용합니다. 특히 도스 플랫폼의 일부 오래된 바이러스는 파일이 바이러스에 감염되었을 때 호스트 파일의 "마지막 수정" 날짜를 그대로 유지해야 합니다. 그러나 이 접근 방식은 바이러스 백신 소프트웨어, 특히 파일 변경에 대한 주기적 중복 검사를 유지하고 날짜를 지정하는 소프트웨어를 속이지 않습니다.[51] 일부 바이러스는 크기를 늘리거나 파일을 손상시키지 않고 파일을 감염시킬 수 있습니다. 실행 파일의 사용되지 않는 영역을 덮어쓰면 이를 수행할 수 있습니다. 이것들을 충치 바이러스라고 합니다. 예를 들어 CIH 바이러스 또는 Chernobyl Virus는 휴대용 실행 파일을 감염시킵니다. 해당 파일에는 빈 공백이 많기 때문에 길이가 1KB인 바이러스가 파일 크기를 추가하지 않았습니다.[52] 일부 바이러스는 바이러스 백신 소프트웨어가 탐지하기 전에 바이러스 백신 소프트웨어와 관련된 작업(예: Conficker)을 제거하여 탐지를 피하려고 합니다. 바이러스는 또한 루트킷을 사용하여 시스템 프로세스 목록에 표시하지 않거나 신뢰할 수 있는 프로세스 내에 위장하여 존재를 숨길 수 있습니다.[53] 2010년대에는 컴퓨터와 운영 체제가 점점 커지고 복잡해짐에 따라 오래된 숨김 기술을 업데이트하거나 교체해야 합니다. 바이러스로부터 컴퓨터를 보호하려면 파일 시스템이 모든 종류의 파일 액세스에 대해 상세하고 명시적인 권한으로 마이그레이션해야 할 수 있습니다.[citation needed] 또한, 많은 바이러스가 이론적인 전염병 임계값 이하로 유지되기 때문에 알려진 바이러스의 극히 일부만이 실제로 실제 사고를 유발합니다.[54]
읽기 요청 가로채기
일부 바이러스 백신 소프트웨어는 스텔스 메커니즘에 대응하기 위해 다양한 기술을 사용하지만, 일단 감염이 발생하면 시스템을 "청소"하기 위한 모든 수단을 사용할 수 없습니다. Microsoft Windows 운영 체제에서 NTFS 파일 시스템은 독점적입니다. 이로 인해 바이러스 백신 소프트웨어는 이러한 요청을 처리하는 Windows 파일에 "읽기" 요청을 보내는 것 외에는 대안이 거의 없습니다. 일부 바이러스는 운영 체제에 대한 요청을 차단하여 바이러스 백신 소프트웨어를 속입니다. 바이러스는 감염된 파일을 읽기 위한 요청을 차단하고, 요청 자체를 처리하고, 감염되지 않은 파일 버전을 바이러스 백신 소프트웨어로 반환함으로써 숨을 수 있습니다. 읽기 요청을 처리하는 실제 운영 체제 파일의 코드 주입에 의해 가로채기가 발생할 수 있습니다. 따라서 바이러스를 탐지하려는 바이러스 백신 소프트웨어는 감염된 파일을 읽을 수 없거나 "읽기" 요청이 감염되지 않은 동일한 파일 버전과 함께 제공됩니다.[55]
"스텔스" 바이러스를 피하는 유일한 신뢰할 수 있는 방법은 "클리어"로 알려진 매체에서 부팅하는 것입니다. 그런 다음 보안 소프트웨어를 사용하여 휴면 운영 체제 파일을 확인할 수 있습니다. 대부분의 보안 소프트웨어는 바이러스 서명에 의존하거나 휴리스틱을 사용합니다.[56][57] 또한 보안 소프트웨어는 Windows OS 파일에 대해 파일 "해시" 데이터베이스를 사용할 수 있으므로 보안 소프트웨어는 변경된 파일을 식별하고 Windows 설치 미디어에 정품 버전으로 교체하도록 요청할 수 있습니다. 이전 버전의 Windows에서는 파일 무결성/인증을 확인하기 위해 Windows에 저장된 Windows OS 파일의 파일 암호화 해시 함수를 덮어쓸 수 있으므로 시스템 파일 검사기에서 변경된 시스템 파일이 정품임을 보고합니다. 따라서 파일 해시를 사용하여 변경된 파일을 검색한다고 해서 항상 감염이 발견되는 것은 아닙니다.[58]
자가수정
대부분의 최신 바이러스 백신 프로그램은 일반 프로그램에서 소위 바이러스 서명을 검색하여 바이러스 패턴을 찾으려고 합니다.[59] 바이러스를 식별할 때 바이러스 백신 프로그램마다 다른 검색 방법을 사용합니다. 바이러스 스캐너가 파일에서 이러한 패턴을 발견하면 파일이 감염되었음을 사용자에게 알리기 전에 무고한 파일의 우연한 순서가 아니라 바이러스를 발견했는지 확인하기 위해 다른 검사를 수행합니다. 그런 다음 사용자는 감염된 파일을 삭제하거나 (경우에 따라) "깨우거나" 치료할 수 있습니다. 일부 바이러스는 서명을 통한 탐지를 어렵게 만들지만 불가능하지는 않은 기술을 사용합니다. 이 바이러스들은 각각의 감염에 대한 코드를 수정합니다. 즉, 감염된 파일마다 다른 변종 바이러스가 포함되어 있습니다.[citation needed]
서명 탐지를 피하는 한 가지 방법은 간단한 암호화를 사용하여 바이러스의 본체를 암호화(암호화)하고, 한 감염에서 다음 감염으로 변경되지 않는 명확한 텍스트에 암호화 모듈과 정적 암호 키만 남겨두는 것입니다.[60] 이 경우 바이러스는 작은 암호 해독 모듈과 바이러스 코드의 암호화된 사본으로 구성됩니다. 바이러스가 감염된 각 파일에 대해 다른 키로 암호화된 경우 바이러스에서 일정하게 유지되는 부분은 암호 해독 모듈뿐이며, 이 모듈은 끝에 추가됩니다. 이 경우, 바이러스 스캐너는 서명을 사용하여 바이러스를 직접 탐지할 수 없지만, 여전히 암호 해독 모듈을 탐지할 수 있으므로 바이러스를 간접적으로 탐지할 수 있습니다. 감염된 호스트에 저장된 대칭 키이기 때문에 최종 바이러스를 해독하는 것은 전적으로 가능하지만, 자체 수정 코드가 매우 드물기 때문에 바이러스 스캐너가 적어도 의심스러운 파일을 "플래그"하기에 충분한 이유가 될 수 있습니다.[citation needed] 오래되었지만 간결한 방법은 덧셈이나 뺄셈과 같은 산술 연산과 XORing과 같은 논리적 조건을 사용하는 것입니다.[61] 여기서 바이러스의 각 바이트는 상수로 되어 있어서 배타적 연산이나 암호 해독을 위해서만 반복하면 됩니다. 코드가 자체적으로 수정되는 것은 의심스러우므로 암호화/복호화를 수행할 코드는 많은 바이러스 정의에서 서명의 일부일 수 있습니다.[citation needed] 더 간단한 이전 접근 방식은 키를 사용하지 않았습니다. 여기서 암호화는 증가 및 감소, 비트 단위 회전, 산술 부정 및 논리적 NOT와 같은 매개 변수가 없는 연산으로만 구성되었습니다.[61] 폴리모픽 바이러스라고 불리는 일부 바이러스는 업데이트를 위해 바이러스 스캐너가 비활성화되거나 컴퓨터가 재부팅되는 등 특정 이벤트에서 바이러스가 암호화되는 실행 파일 내부의 암호화 수단을 사용합니다.[62] 이것을 암호 바이러스학이라고 합니다.
다형성 코드는 바이러스 스캐너에 심각한 위협을 가한 최초의 기술이었습니다. 일반 암호화된 바이러스와 마찬가지로 다형성 바이러스는 암호화된 자신의 복사본으로 파일을 감염시키며, 이는 암호화 모듈에 의해 해독됩니다. 그러나 다형성 바이러스의 경우 이 암호 해독 모듈도 각 감염에 대해 수정됩니다. 따라서 잘 작성된 다형성 바이러스는 감염 사이에 동일한 부분이 없기 때문에 "시그니처"를 사용하여 직접 탐지하는 것이 매우 어렵습니다.[63][64] 바이러스 백신 소프트웨어는 에뮬레이터를 사용하여 바이러스를 해독하거나 암호화된 바이러스 본체의 통계 패턴 분석을 통해 바이러스를 탐지할 수 있습니다. 다형성 코드를 활성화하려면 바이러스의 암호화된 본체 어딘가에 다형성 엔진("돌연변이 엔진" 또는 "돌연변이 엔진"이라고도 함)이 있어야 합니다. 이러한 엔진이 어떻게 작동하는지에 대한 기술적인 자세한 내용은 다형성 코드를 참조하십시오.[65]
일부 바이러스는 바이러스의 돌연변이율을 크게 제한하는 방식으로 다형성 코드를 사용합니다. 예를 들어, 바이러스는 시간이 지남에 따라 약간만 변형되도록 프로그래밍될 수도 있고, 바이러스 사본이 이미 포함된 컴퓨터의 파일을 감염시켰을 때 변형을 자제하도록 프로그래밍될 수도 있습니다. 이렇게 느린 다형성 코드를 사용하는 장점은 바이러스 백신 전문가와 조사관이 바이러스의 대표적인 샘플을 얻기가 더 어렵다는 것입니다. 한 번의 실행으로 감염된 "bait" 파일에는 일반적으로 동일하거나 유사한 바이러스 샘플이 포함되기 때문입니다. 이렇게 하면 바이러스 스캐너에 의한 탐지가 신뢰할 수 없고 바이러스의 일부 사례가 탐지를 피할 수 있을 가능성이 높아집니다.
일부 바이러스는 에뮬레이션에서 탐지되지 않도록 새 실행 파일을 감염시킬 때마다 자신을 완전히 다시 작성합니다. 이 기술을 활용하는 바이러스는 변형 코드에 있다고 합니다. 변성을 가능하게 하기 위해서는 "변성 엔진"이 필요합니다. 변형 바이러스는 일반적으로 매우 크고 복잡합니다. 예를 들어, W32/Simile은 14,000개 이상의 어셈블리 언어 코드로 구성되었으며, 그 중 90%는 변형 엔진의 일부입니다.[66][67]
영향들
손상은 시스템 장애, 데이터 손상, 컴퓨터 리소스 낭비, 유지 보수 비용 증가 또는 개인 정보 도용으로 인한 것입니다.[10] 바이러스 백신 소프트웨어가 모든 컴퓨터 바이러스(특히 새로운 바이러스)를 밝혀낼 수는 없지만, 컴퓨터 보안 연구원들은 바이러스 백신 솔루션이 새로운 바이러스를 보다 효과적으로 탐지할 수 있는 새로운 방법을 적극적으로 찾고 있습니다.[68]
파워 바이러스(power virus)는 중앙 처리 장치의 열 에너지 출력이 최대 CPU 전력 소산에 도달하도록 특정 기계 코드를 실행하는 컴퓨터 프로그램입니다. 컴퓨터 냉각 장치는 최대 전력이 아닌 열 설계 전력까지 전력을 방출하도록 설계되었으며 프로세서를 중지할 논리가 없으면 전원 바이러스로 인해 시스템이 과열될 수 있습니다. 이로 인해 영구적인 물리적 손상이 발생할 수 있습니다. 전원 바이러스는 악의적일 수 있지만 제품의 설계 단계에서 컴퓨터 구성 요소의 통합 테스트 및 열 테스트 또는 제품 벤치마킹에 사용되는 테스트 소프트웨어 모음입니다.[69]
안정성 테스트 응용 프로그램은 전원 바이러스와 동일한 효과(높은 CPU 사용량)를 갖지만 사용자의 통제 하에 있는 유사한 프로그램입니다. 예를 들어 오버클럭 시 CPU를 테스트하는 데 사용됩니다. 잘 작성되지 않은 프로그램의 스핀록은 충분히 오래 지속될 경우 유사한 증상을 유발할 수 있습니다.
서로 다른 마이크로 아키텍처는 일반적으로 최대 전력을 발휘하기 위해 서로 다른 기계 코드를 필요로 합니다. 이러한 기계 코드의 예는 CPU 참조 자료에 배포되지 않은 것으로 보입니다.[70]
감염 매개체
소프트웨어는 시스템 리소스의 무단 사용을 방지하기 위한 보안 기능으로 설계되는 경우가 많기 때문에 많은 바이러스가 시스템 또는 응용 소프트웨어의 보안 결함인 보안 버그를 악용하고 조작하여 자신을 확산시키고 다른 컴퓨터를 감염시켜야 합니다. 많은 수의 "버그"를 생성하는 소프트웨어 개발 전략은 일반적으로 바이러스에 대한 잠재적인 악용 가능한 "구멍" 또는 "입구"를 생성합니다.
바이러스 자체를 복제하려면 코드를 실행하고 메모리에 쓸 수 있어야 합니다. 이러한 이유로 많은 바이러스가 합법적인 프로그램의 일부일 수 있는 실행 파일에 자신을 첨부합니다(코드 주입 참조). 사용자가 감염된 프로그램을 시작하려고 할 경우 바이러스의 코드가 동시에 실행될 수 있습니다.[71] 파일 확장명을 사용하여 프로그램 연결을 결정하는 운영 체제(예: Microsoft Windows)에서는 기본적으로 사용자로부터 확장명을 숨길 수 있습니다. 따라서 사용자에게 표시되는 파일과 다른 유형의 파일을 만들 수 있습니다. 예를 들어, 실행 파일이 생성되어 "picture.png.exe"라는 이름을 가질 수 있으며, 여기서 사용자는 "picture.png"만 볼 수 있으므로 이 파일이 디지털 이미지이므로 안전하다고 가정하지만, 열었을 때 클라이언트 컴퓨터에서 실행 파일을 실행합니다.[72] 바이러스는 플래시 드라이브와 같은 이동식 미디어에 설치될 수 있습니다. 호기심 많은 사용자가 컴퓨터에 드라이브를 삽입하기를 바라는 마음에서 드라이브는 정부 건물 주차장이나 다른 대상에 남겨질 수 있습니다. 2015년 실험에서 미시간 대학교의 연구원들은 45-98퍼센트의 사용자가 출처를 알 수 없는 플래시 드라이브를 꽂는다는 것을 발견했습니다.[73]
대부분의 바이러스는 마이크로소프트 윈도우즈를 실행하는 시스템을 대상으로 합니다. 이는 마이크로소프트의 데스크톱 컴퓨터 사용자 시장 점유율이 높기 때문입니다.[74] 네트워크 상의 소프트웨어 시스템의 다양성은 바이러스 및 멀웨어의 파괴적인 잠재력을 제한합니다.[a] Linux와 같은 오픈 소스 운영 체제는 사용자가 다양한 데스크톱 환경, 패키징 도구 등을 선택할 수 있도록 하므로 이러한 시스템 중 어느 하나를 대상으로 하는 악성 코드는 모든 사용자의 하위 집합에만 영향을 미칩니다. 많은 Windows 사용자가 동일한 응용 프로그램 세트를 실행하고 있으므로 많은 수의 호스트에서 동일한 공격을 대상으로 하여 Microsoft Windows 시스템 간에 바이러스가 빠르게 확산될 수 있습니다.[75][76][77][78]
일반적으로 리눅스와 유닉스는 일반 사용자가 운영 체제 환경을 무단으로 변경하는 것을 항상 기본적으로 방지해 왔지만, 일반적으로 윈도우즈 사용자는 이러한 변경을 방지하지 못하므로 바이러스가 윈도우즈 호스트에서 전체 시스템을 쉽게 제어할 수 있습니다. 이러한 차이는 부분적으로 Windows XP와 같은 최신 버전에서 관리자 계정이 널리 사용되었기 때문에 계속되고 있습니다. 1997년, 연구원들은 "블리스"로 알려진 리눅스용 바이러스를 만들어 출시했습니다.[79] 그러나 Bliss는 사용자가 명시적으로 실행해야 하며 사용자가 수정할 수 있는 프로그램만 감염시킬 수 있습니다. 윈도우 사용자와 달리 대부분의 유닉스 사용자는 소프트웨어를 설치하거나 구성하는 것을 제외하고는 관리자 또는 "루트 사용자"로 로그인하지 않습니다. 따라서 사용자가 바이러스를 실행하더라도 운영 체제를 손상시킬 수 없습니다. 블리스 바이러스는 결코 널리 퍼지지 않았으며, 주로 연구 호기심으로 남아 있습니다. 그것의 제작자는 나중에 소스 코드를 유즈넷에 게시하여 연구자들이 그것이 어떻게 작동하는지 볼 수 있게 했습니다.[80]
컴퓨터 네트워크가 널리 퍼지기 전에는 대부분의 바이러스가 이동식 미디어, 특히 플로피 디스크에 퍼졌습니다. 개인용 컴퓨터의 초기에는 많은 사용자들이 정기적으로 플로피에 대한 정보와 프로그램을 교환했습니다. 일부 바이러스는 이러한 디스크에 저장된 프로그램을 감염시킴으로써 확산되는 반면, 다른 바이러스는 디스크 부팅 섹터에 자체 설치되어 사용자가 디스크에서 컴퓨터를 부팅할 때 실행되도록 합니다. 그 시대의 개인용 컴퓨터는 플로피가 드라이브에 남아 있다면 먼저 부팅을 시도할 것입니다. 플로피 디스크가 사용되지 않을 때까지 이것은 가장 성공적인 감염 전략이었고 부트 섹터 바이러스는 수년 동안 "야생"에서 가장 일반적이었습니다. 전통적인 컴퓨터 바이러스는 개인용 컴퓨터의 확산과 그로 인한 게시판 시스템(BBS), 모뎀 사용 및 소프트웨어 공유의 증가로 인해 1980년대에 등장했습니다. 게시판을 통한 소프트웨어 공유는 트로이 목마 프로그램의 확산에 직접적으로 기여했으며, 바이러스는 대중적으로 거래되는 소프트웨어를 감염시키기 위해 작성되었습니다. 셰어웨어와 부트레그 소프트웨어는 BBS에서 바이러스에 대한 동일한 공통 벡터였습니다.[81][82] 바이러스는 네트워크 파일 시스템 또는 다른 컴퓨터에서 액세스하는 파일 시스템의 파일을 감염시킴으로써 다른 컴퓨터로 전파될 가능성을 높일 수 있습니다.[83]
매크로 바이러스는 1990년대 중반부터 일반화되었습니다. 이러한 바이러스의 대부분은 Microsoft Word 및 Microsoft Excel과 같은 Microsoft 프로그램의 스크립팅 언어로 작성되며 문서 및 스프레드시트를 감염시켜 Microsoft Office 전체로 퍼집니다. 워드와 엑셀도 맥 OS에서 사용할 수 있었기 때문에 대부분은 매킨토시 컴퓨터로도 퍼질 수 있었습니다. 이러한 바이러스의 대부분은 감염된 전자 메일 메시지를 보낼 수 없었지만 마이크로소프트 COM(Outlook Component Object Model) 인터페이스를 이용한 바이러스입니다.[84][85] 마이크로소프트 워드의 일부 오래된 버전에서는 매크로가 추가 빈 줄로 자체를 복제할 수 있습니다. 두 개의 매크로 바이러스가 동시에 문서를 감염시킬 경우, 자가 복제를 하더라도 둘의 조합은 둘의 "짝짓기"로 나타날 수 있으며 "부모"와 고유한 바이러스로 탐지될 가능성이 높습니다.[86]
바이러스는 감염된 컴퓨터에 저장된 모든 연락처(예: 친구 및 동료의 전자 메일 주소)에 웹 주소 링크를 인스턴트 메시지로 보낼 수도 있습니다. 수신자가 친구(신뢰할 수 있는 출처)의 링크라고 생각하고 웹 사이트 링크를 따르는 경우 사이트에 호스트된 바이러스가 이 새 컴퓨터를 감염시키고 계속 전파할 수 있습니다.[87] 교차 사이트 스크립팅을 사용하여 확산된 바이러스는 2002년에 처음 보고되었으며 [88]2005년에 학술적으로 입증되었습니다.[89] "야생"에서 여러 사이트 간 스크립팅 바이러스 사례가 발생하여 MySpace(사미 웜 포함) 및 Yahoo!와 같은 웹 사이트를 악용했습니다.
대책

1989년에 ADPSO 소프트웨어 산업 부서는 "전자적 반달리즘에 대처한다"를 출판했는데,[90] 그들은 데이터 손실 위험을 "고객 신뢰를 잃을 수 있는 추가 위험"으로 추적했습니다.[91][92][93]
많은 사용자가 컴퓨터가 실행 파일을 다운로드하거나 실행하려고 할 때 알려진 바이러스를 탐지하고 제거할 수 있는 바이러스 백신 소프트웨어를 설치합니다(이 파일은 이메일 첨부 파일 또는 USB 플래시 드라이브 등에 배포될 수 있음). 일부 바이러스 백신 소프트웨어는 멀웨어 설치를 시도하는 알려진 악성 웹 사이트를 차단합니다. 바이러스 백신 소프트웨어는 바이러스를 전송하는 호스트의 기본 기능을 변경하지 않습니다. 사용자는 정기적으로 소프트웨어를 업데이트하여 보안 취약점("구멍")을 패치해야 합니다. 바이러스 백신 소프트웨어도 최신 위협을 인식하기 위해 정기적으로 업데이트해야 합니다. 악의적인 해커와 다른 개인들이 항상 새로운 바이러스를 만들고 있기 때문입니다. 독일 AV-TEST Institute는 Windows[94] 및 Android용 바이러스 백신 소프트웨어에 대한 평가를 발표합니다.[95]
마이크로소프트 윈도우 안티바이러스 및 악성 소프트웨어의 예로는 실시간 보호를 위한 옵션인 마이크로소프트 보안 에센셜[96](윈도우 XP, 비스타 및 윈도우 7용), 윈도우 악성 소프트웨어 제거 도구[97](매월 둘째 주 화요일인 "패치 화요일"의 윈도우(보안) 업데이트에 포함됨), 및 Windows Defender(Windows XP의 경우 옵션 다운로드).[98] 또한 인터넷에서 무료로 다운로드할 수 있는 몇 가지 바이러스 백신 소프트웨어 프로그램(일반적으로 비상업적 사용으로 제한됨)을 제공합니다.[99] 일부 무료 프로그램은 상업적 경쟁자와 거의 비슷합니다.[100] 일반적인 보안 취약점에는 CVE ID가 할당되고 미국 국가 취약성 데이터베이스에 나열됩니다. Secunia PSI는[101] PC에서 취약한 구식 소프트웨어를 확인하고 업데이트를 시도하는 개인용으로 무료로 제공되는 소프트웨어의 한 예입니다. 랜섬웨어 및 피싱 사기 경보는 인터넷 범죄 민원 센터 게시판에 보도 자료로 나타납니다. 랜섬웨어는 사용자 화면에 화면이나 시스템이 잠금 상태를 유지하거나 몸값을 지불할 때까지 사용할 수 없다는 메시지를 올리는 바이러스입니다. 피싱은 악의적인 개인이 친구, 컴퓨터 보안 전문가 또는 기타 자애로운 개인으로 가장하여 대상 개인이 비밀번호 또는 기타 개인 정보를 밝히도록 설득하는 목적으로 하는 속임수입니다.
일반적으로 사용되는 다른 예방 조치로는 적시 운영 체제 업데이트, 소프트웨어 업데이트, 신중한 인터넷 브라우징(음습한 웹 사이트 피하기), 신뢰할 수 있는 소프트웨어만 설치하는 것이 있습니다.[102] 특정 브라우저는 Google에 보고되고 Google에 의해 멀웨어를 호스팅하는 것으로 확인된 사이트를 플래그 지정합니다.[103][104]
바이러스 백신 소프트웨어 문서에 설명된 대로 바이러스 백신 소프트웨어 응용 프로그램이 바이러스를 탐지하는 데 사용하는 두 가지 일반적인 방법이 있습니다. 바이러스 검출의 첫 번째이자 가장 일반적인 방법은 바이러스 시그니처 정의 목록을 사용하는 것입니다. 이것은 컴퓨터의 메모리(Random Access Memory(RAM) 및 부팅 섹터)의 내용과 고정 또는 이동식 드라이브(하드 드라이브, 플로피 드라이브 또는 USB 플래시 드라이브)에 저장된 파일을 조사하고 해당 파일을 알려진 바이러스 "시그니처" 데이터베이스와 비교함으로써 작동합니다. 바이러스 서명은 개별 바이러스를 식별하는 데 사용되는 코드 문자열에 불과합니다. 각 바이러스에 대해 바이러스 백신 설계자는 합법적인 프로그램에서 찾을 수 없는 고유한 서명 문자열을 선택하려고 합니다. 바이러스 백신 프로그램마다 서로 다른 "시그니처"를 사용하여 바이러스를 식별합니다. 이 탐지 방법의 단점은 사용자가 가장 최근의 바이러스 정의 업데이트에서 서명에 의해 탐지된 바이러스로부터만 보호되고 새로운 바이러스로부터는 보호되지 않는다는 것입니다("제로데이 공격"[105] 참조).
바이러스를 찾는 두 번째 방법은 일반적인 바이러스 행동에 기반한 휴리스틱 알고리즘을 사용하는 것입니다. 이 방법은 바이러스 백신 보안 회사가 아직 "시그니처"를 정의하지 않은 새로운 바이러스를 탐지할 수 있지만 서명을 사용하는 것보다 더 많은 오탐을 유발합니다. 잘못된 양성은 특히 상업 환경에서 업무를 방해할 수 있습니다. IT 서비스가 시스템에 바이러스가 있는지 확인할 때까지 직원에게 회사 컴퓨터 시스템을 사용하지 말라고 지시할 수 있기 때문입니다. 이는 정규직 근로자의 생산성을 저하시킬 수 있습니다.
복구 전략 및 방법
다른 미디어의 데이터(및 운영 체제)를 정기적으로 백업함으로써 바이러스로 인한 피해를 줄일 수 있습니다. 데이터는 시스템에 연결되지 않은 채(대부분의 경우 하드 드라이브와 같이), 읽기 전용이거나 다른 파일 시스템을 사용하는 등의 다른 이유로 액세스할 수 없습니다. 이렇게 하면 바이러스를 통해 데이터가 손실된 경우 백업을 다시 시작할 수 있습니다(가능하면 최근).[106] CD 및 DVD와 같은 광학 미디어의 백업 세션이 닫히면 읽기 전용이 되어 바이러스의 영향을 더 이상 받을 수 없습니다(바이러스 또는 감염된 파일이 CD/DVD에 복사되지 않은 경우). 마찬가지로 설치된 운영 체제를 사용할 수 없게 되면 부팅 가능한 CD의 운영 체제를 사용하여 시스템을 시작할 수 있습니다. 이동식 미디어의 백업은 복원하기 전에 주의 깊게 검사해야 합니다. 예를 들어, 감마 바이러스는 이동식 플래시 드라이브를 통해 전파됩니다.[107][108]
바이러스 백신 소프트웨어 회사들이 운영하는 많은 웹사이트들은 제한된 "청소" 시설과 함께 무료 온라인 바이러스 검사를 제공합니다(결국, 웹사이트의 목적은 바이러스 백신 제품과 서비스를 판매하는 것입니다). Google 자회사인 VirusTotal.com 와 같은 일부 웹 사이트에서는 사용자가 한 작업에서 하나 이상의 바이러스 백신 프로그램에서 검색 및 검사할 수 있는 하나 이상의 의심스러운 파일을 업로드할 수 있습니다. 또한 인터넷에서 무료로 다운로드할 수 있는 몇 가지 바이러스 백신 소프트웨어 프로그램(일반적으로 비상업적 사용으로 제한됨)을 제공합니다.[111] Microsoft(마이크로소프트)는 Microsoft Security Essentials(마이크로소프트 보안 에센셜)라는 무료 바이러스 백신 유틸리티, 정기적인 Windows 업데이트 체제의 일부로 업데이트되는 Windows 악성 소프트웨어 제거 도구 및 Windows 8(윈도우 8)에서 바이러스 백신 제품으로 업그레이드된 이전 옵션의 악성 소프트웨어 제거 도구인 Windows Defender(윈도우 디펜더)를 제공합니다.
일부 바이러스는 시스템 복원 및 태스크 관리자 및 CMD와 같은 기타 중요한 윈도우즈 도구를 비활성화합니다. 이렇게 하는 바이러스의 예로는 CiaDoor가 있습니다. 컴퓨터를 재부팅하고 네트워킹을 통해 Windows "안전 모드"로 진입한 다음 시스템 도구 또는 Microsoft Safety Scanner를 사용하여 이러한 바이러스를 많이 제거할 수 있습니다.[112] Windows Me, Windows XP, Windows Vista 및 Windows 7에서 시스템 복원을 통해 레지스트리 및 중요 시스템 파일을 이전 체크포인트로 복원할 수 있습니다. 바이러스로 인해 시스템이 "행"되거나 "동결"되는 경우가 많으며, 이후 하드 재부팅을 하면 같은 날의 시스템 복원 지점이 손상됩니다. 바이러스가 복원 파일을 손상시키도록 설계되지 않았고 이전 복원 지점에 존재하지 않는 경우 이전 날짜의 복원 지점이 작동해야 합니다.[113][114]
Microsoft의 시스템 파일 검사기(Windows 7 이상에서 개선됨)를 사용하여 손상된 시스템 파일을 검사하고 복구할 수 있습니다.[115] 복제된 디스크, 디스크 이미지 또는 백업 복사본에서 파티션 전체의 이전 "깨끗한"(바이러스가 없는) 복사본을 복원하는 것도 한 가지 해결책입니다. 이전 백업 디스크 "이미지"를 복원하는 것은 비교적 간단하며, 일반적으로 모든 멀웨어를 제거합니다. 컴퓨터를 "disinfect"하거나, 아래에서 설명하는 것처럼 운영 체제와 프로그램을 처음부터 다시 설치하고 재구성한 다음 사용자 환경 설정을 복원하는 것보다 빠를 수 있습니다. 운영 체제를 다시 설치하는 것도 바이러스 제거를 위한 또 다른 방법입니다. 라이브 CD에서 부팅하거나 하드 드라이브를 다른 컴퓨터에 연결하여 두 번째 컴퓨터의 운영 체제에서 부팅함으로써 필수 사용자 데이터의 복사본을 복구할 수 있으며, 원래 드라이브에서 감염된 프로그램을 실행하여 해당 컴퓨터가 감염되지 않도록 주의를 기울입니다. 그러면 원래 하드 드라이브를 다시 포맷하고 원래 미디어에서 OS와 모든 프로그램을 설치할 수 있습니다. 시스템이 복원되면 복원된 실행 파일에서 재감염되지 않도록 예방 조치를 취해야 합니다.[116]
대중문화
소설 속에서 자기 재생 프로그램에 대한 최초의 알려진 설명은 1970년 그레고리 벤포드의 단편 소설 '흉터진 남자'에 있는데, 이는 전화 모뎀 전화 걸기 기능이 있는 컴퓨터에 설치되면 다른 컴퓨터가 응답하는 모뎀에 부딪힐 때까지 무작위로 전화번호를 누르는 '바이러스'라고 불리는 컴퓨터 프로그램을 설명합니다. 그런 다음 응답 컴퓨터에 자체 프로그램을 프로그램하려고 시도합니다. 그러면 두 번째 컴퓨터도 프로그램할 다른 컴퓨터를 찾아 임의의 번호로 전화를 걸기 시작합니다. 이 프로그램은 취약한 컴퓨터를 통해 기하급수적으로 빠르게 퍼져나가며 VACINE이라고 불리는 두 번째 프로그램에 의해서만 대항할 수 있습니다.[117] 그의 이야기는 1960년대에 개념 증명으로 벤포드가 실험실 컴퓨터에서 만들고 실행했던 실제 컴퓨터 바이러스를 기반으로 하여 1970년에 존 브루너에게 말했습니다.[118]
이 아이디어는 데이비드 제롤드의 1972년 소설 "HARLIE Was One"과 마이클 크라이튼의 "The Terminal Man"에서 더 자세히 탐구되었고, 1975년 존 브루너의 소설 "The Shockwave Rider"의 주요 주제가 되었습니다.[119]
1973년 마이클 크라이튼 공상과학 영화 웨스트월드는 컴퓨터 바이러스의 개념에 대해 일찍부터 언급했는데, 안드로이드가 정신을 차리게 하는 중심 줄거리 주제입니다.[120][better source needed] 앨런 오펜하이머의 캐릭터는 문제를 요약하면서 다음과 같이 말합니다. "...여기에는 전염병 과정과 유사한 패턴이 있으며, 하나에서 확산되고 있습니다...바로 옆에 있습니다." 답변에는 "아마도 질병과 피상적인 유사점이 있을 것입니다."와 "기계 질병을 믿기 어렵다는 것을 고백해야 합니다."가 명시되어 있습니다.[121]
기타 멀웨어
또한 "바이러스"라는 용어는 다른 유형의 멀웨어를 지칭하는 데 확장에서 잘못 사용됩니다. "맬웨어"는 컴퓨터 "웜", 랜섬웨어, 스파이웨어, 애드웨어, 트로이 목마, 키로거, 루트킷, 부트킷, 악성 브라우저 도우미 개체(BHO) 및 기타 악성 소프트웨어와 같은 많은 다른 형태의 악성 소프트웨어와 함께 컴퓨터 바이러스를 포함합니다. 활성 멀웨어 위협의 대부분은 컴퓨터 바이러스가 아닌 트로이 목마 프로그램이나 컴퓨터 웜입니다. 1985년 프레드 코헨(Fred Cohen)이 만든 컴퓨터 바이러스(computer virus)라는 용어는 잘못된 이름입니다.[122] 바이러스는 종종 감염된 호스트 컴퓨터에서 하드 디스크 공간 또는 중앙 처리 장치(CPU) 시간의 획득, 개인 정보(예: 신용 카드 번호, 직불 카드 번호, 전화 번호, 이름, 이메일 주소, 비밀번호, 은행 정보, 집 주소 등)에 대한 액세스 및 도난과 같은 일종의 유해한 활동을 수행합니다. 데이터를 손상시키거나, 사용자의 화면에 정치적, 유머러스하거나 위협적인 메시지를 표시하거나, 전자 메일 연락처를 스팸 처리하거나, 키 입력을 기록하거나, 심지어 컴퓨터를 쓸모없게 만듭니다. 그러나 모든 바이러스가 파괴적인 "부하"를 가지고 있으며 자신을 숨기려고 하는 것은 아닙니다. 바이러스의 정의적 특징은 살아있는 세포 내에서 복제하는 생물학적 바이러스와 유사하게 사용자 동의 없이 다른 소프트웨어를 수정하는 자체 복제 컴퓨터 프로그램이라는 것입니다.
참고 항목
메모들
참고문헌
- ^ "The Internet comes down with a virus". The New York Times. August 6, 2014.
- ^
- Stallings, William (2012). Computer security : principles and practice. Boston: Pearson. p. 182. ISBN 978-0-13-277506-9.
- "Worm vs. Virus: What's the Difference and Does It Matter?". Avast Academy. Avast Software s.r.o. Retrieved 9 March 2021.
- ^ Piqueira, Jose R.C.; de Vasconcelos, Adolfo A.; Gabriel, Carlos E.C.J.; Araujo, Vanessa O. (2008). "Dynamic models for computer viruses". Computers & Security. 27 (7–8): 355–359. doi:10.1016/j.cose.2008.07.006.
- ^
- Alan Solomon (2011-06-14). "All About Viruses". VX Heavens. Archived from the original on 2012-01-17. Retrieved 2014-07-17.
- Aycock, John (2006). Computer Viruses and Malware. Springer. p. 14. ISBN 978-0-387-30236-2.
- ^ "Worm vs. Virus: What's the Difference and Does It Matter?". Avast Academy. Avast Software s.r.o. Retrieved 9 March 2021.
- ^ Yeo, Sang-Soo. (2012). Computer science and its applications : CSA 2012, Jeju, Korea, 22-25.11.2012. Springer. p. 515. ISBN 978-94-007-5699-1. OCLC 897634290.
- ^ Yu, Wei; Zhang, Nan; Fu, Xinwen; Zhao, Wei (October 2010). "Self-Disciplinary Worms and Countermeasures: Modeling and Analysis". IEEE Transactions on Parallel and Distributed Systems. 21 (10): 1501–1514. doi:10.1109/tpds.2009.161. ISSN 1045-9219. S2CID 2242419.
- ^
- Filiol, Eric (2005). Computer viruses: from theory to applications. Springer. p. 8. ISBN 978-2-287-23939-7.
- Harley, David; et al. (2001). Viruses Revealed. McGraw-Hill. p. 6. ISBN 0-07-222818-0.
- Ludwig, Mark A. (1996). The Little Black Book of Computer Viruses: Volume 1, The Basic Technologies. American Eagle Publications. pp. 16–17. ISBN 0-929408-02-0.
- Aycock, John (2006). Computer Viruses and Malware. Springer. p. 27. ISBN 978-0-387-30236-2.
- ^ Bell, David J.; et al., eds. (2004). "Virus". Cyberculture: The Key Concepts. Routledge. p. 154. ISBN 9780203647059.
- ^ a b "Viruses that can cost you". Archived from the original on 2013-09-25.
- ^ Granneman, Scott. "Linux vs. Windows Viruses". The Register. Archived from the original on September 7, 2015. Retrieved September 4, 2015.
- ^ von Neumann, John (1966). "Theory of Self-Reproducing Automata" (PDF). Essays on Cellular Automata. University of Illinois Press: 66–87. Archived (PDF) from the original on June 13, 2010. Retrieved June 10, 2010.
- ^ Eric Filiol, 컴퓨터 바이러스: 이론에서 응용까지, 1권 Achared 2017-01-14 at the Wayback Machine, Birkhauser, 2005, pp. 19-38 ISBN 2-287-23939-1.
- ^ Risak, Veith (1972), "Selbstreproduzierende Automaten mit minimaler Informationsübertragung", Zeitschrift für Maschinenbau und Elektrotechnik, archived from the original on 2010-10-05
- ^ Kraus, Jürgen (February 1980), Selbstreproduktion bei Programmen (PDF), archived from the original (PDF) on 2015-07-14, retrieved 2015-05-08
- ^ "Virus list". Archived from the original on 2006-10-16. Retrieved 2008-02-07.
- ^ Thomas Chen; Jean-Marc Robert (2004). "The Evolution of Viruses and Worms". Archived from the original on 2013-08-09. Retrieved 2009-02-16.
- ^ Parikka, Jussi (2007). Digital Contagions: A Media Archaeology of Computer Viruses. New York: Peter Lang. p. 50. ISBN 978-0-8204-8837-0. Archived from the original on 2017-03-16.
- ^ "The Creeper Worm, the First Computer Virus". History of information. Retrieved 16 June 2022.[unre적으로 신뢰할 수 있는 출처?]
- ^ Russell, Deborah; Gangemi, G.T. (1991). Computer Security Basics. O'Reilly. p. 86. ISBN 0-937175-71-4.
- ^ a b Anick Jesdanun (1 September 2007). "School prank starts 25 years of security woes". CNBC. Archived from the original on 20 December 2014. Retrieved April 12, 2013.
- ^ Cohen, Fred (1984), Computer Viruses – Theory and Experiments, archived from the original on 2007-02-18
- ^ Cohen, Fred, Wayback Machine에서 보관된 탐지할 수 없는 컴퓨터 바이러스 2014-05-25, 1987, IBM
- ^ 버거, 랄프, 1991. 컴퓨터 바이러스 및 데이터 보호, 19-20페이지
- ^ Alan Solomon; Dmitry O Gryaznov (1995). Dr. Solomon's Virus Encyclopedia. Aylesbury, Buckinghamshire, U.K.: S & S International PLC. ISBN 1-897661-00-2.
- ^ Alan Solomon (2011-06-14). "All About Viruses". VX Heavens. Archived from the original on 2012-01-17. Retrieved 2014-07-17.
- ^ Gunn, J.B. (June 1984). "Use of virus functions to provide a virtual APL interpreter under user control". ACM SIGAPL APL Quote Quad Archive. ACM New York, NY, USA. 14 (4): 163–168. doi:10.1145/384283.801093. ISSN 0163-6006.
- ^ "Boot sector virus repair". Antivirus.about.com. 2010-06-10. Archived from the original on 2011-01-12. Retrieved 2010-08-27.
- ^ "Amjad Farooq Alvi Inventor of first PC Virus post by Zagham". YouTube. Archived from the original on 2013-07-06. Retrieved 2010-08-27.
- ^ "winvir virus". Archived from the original on 8 August 2016. Retrieved 10 June 2016.
- ^ Grimes, Roger (2001). Malicious Mobile Code: Virus Protection for Windows. O'Reilly. pp. 99–100. ISBN 9781565926820.
- ^ "SCA virus". Virus Test Center, University of Hamburg. 1990-06-05. Archived from the original on 2012-02-08. Retrieved 2014-01-14.
- ^ Ludwig, Mark (1998). The giant black book of computer viruses. Show Low, Ariz: American Eagle. p. 15. ISBN 978-0-929408-23-1.
- ^ a b c d e f Stallings, William (2012). Computer security : principles and practice. Boston: Pearson. p. 183. ISBN 978-0-13-277506-9.
- ^ Ludwig, Mark (1998). The giant black book of computer viruses. Show Low, Ariz: American Eagle. p. 292. ISBN 978-0-929408-23-1.
- ^ "Basic malware concepts" (PDF). cs.colostate.edu. Archived (PDF) from the original on 2016-05-09. Retrieved 2016-04-25.
- ^ Gregory, Peter (2004). Computer viruses for dummies. Hoboken, NJ: Wiley Pub. p. 210. ISBN 0-7645-7418-3.
- ^ "Payload". encyclopedia.kaspersky.com. Retrieved 2022-06-26.
- ^ "What is a malicious payload?". CloudFlare. Retrieved 2022-06-26.
- ^ Szor, Peter (2005). The art of computer virus research and defense. Upper Saddle River, NJ: Addison-Wesley. p. 43. ISBN 0-321-30454-3.
- ^ Serazzi, Giuseppe; Zanero, Stefano (2004). "Computer Virus Propagation Models" (PDF). In Calzarossa, Maria Carla; Gelenbe, Erol (eds.). Performance Tools and Applications to Networked Systems. Lecture Notes in Computer Science. Vol. 2965. pp. 26–50. Archived (PDF) from the original on 2013-08-18.
- ^ Avoine, Gildas (2007). Computer System Security: Basic Concepts and Solved Exercises. EPFL Press / CRC Press. pp. 21–22. ISBN 9781420046205. Archived from the original on 2017-03-16.
- ^ Brain, Marshall; Fenton, Wesley (April 2000). "How Computer Viruses Work". HowStuffWorks.com. Archived from the original on 29 June 2013. Retrieved 16 June 2013.
- ^
- Polk, William T. (1995). Antivirus Tools and Techniques for Computer Systems. William Andrew (Elsevier). p. 4. ISBN 9780815513643. Archived from the original on 2017-03-16.
- Salomon, David (2006). Foundations of Computer Security. Springer. pp. 47–48. ISBN 9781846283413. Archived from the original on 2017-03-16.
- Grimes, Roger (2001). Malicious Mobile Code: Virus Protection for Windows. O'Reilly. pp. 37–38. ISBN 9781565926820.
- ^ Grimes, Roger (2001). "Macro Viruses". Malicious Mobile Code: Virus Protection for Windows. O'Reilly. ISBN 9781565926820.
- ^ Aycock, John (2006). Computer Viruses and Malware. Springer. p. 89. ISBN 9780387341880. Archived from the original on 2017-03-16.
- ^ "What is boot sector virus?". Archived from the original on 2015-11-18. Retrieved 2015-10-16.
- ^
- Skoudis, Edward (2004). "Infection mechanisms and targets". Malware: Fighting Malicious Code. Prentice Hall Professional. pp. 37–38. ISBN 9780131014053. Archived from the original on 2017-03-16.
- Anonymous (2003). Maximum Security. Sams Publishing. pp. 331–333. ISBN 9780672324598. Archived from the original on 2014-07-06.
- ^ Mishra, Umakant (2012). "Detecting Boot Sector Viruses- Applying TRIZ to Improve Anti-Virus Programs". SSRN Electronic Journal. doi:10.2139/ssrn.1981886. ISSN 1556-5068. S2CID 109103460.
- ^ Dave Jones. 2001 (December 2001). "Building an e-mail virus detection system for your network. Linux J. 2001, 92, 2-".
{{cite journal}}
: 저널 인용은 다음과 같습니다.journal=
(도움말)CS1 메인트: 숫자 이름: 작성자 목록(링크) - ^ Béla G. Lipták, ed. (2002). Instrument engineers' handbook (3rd ed.). Boca Raton: CRC Press. p. 874. ISBN 9781439863442. Retrieved September 4, 2015.
- ^ "Computer Virus Strategies and Detection Methods" (PDF). Archived (PDF) from the original on 23 October 2013. Retrieved 2 September 2008.
- ^ "What is Rootkit – Definition and Explanation". www.kaspersky.com. 2022-03-09. Retrieved 2022-06-26.
- ^ Kephart, J.O.; White, S.R. (1993). "Measuring and modeling computer virus prevalence". Proceedings 1993 IEEE Computer Society Symposium on Research in Security and Privacy. pp. 2–15. doi:10.1109/RISP.1993.287647. ISBN 0-8186-3370-0. S2CID 8436288. Retrieved 2023-10-13.
- ^ Szor, Peter (2005). The Art of Computer Virus Research and Defense. Boston: Addison-Wesley. p. 285. ISBN 0-321-30454-3. Archived from the original on 2017-03-16.
- ^ Fox-Brewster, Thomas. "Netflix Is Dumping Anti-Virus, Presages Death Of An Industry". Forbes. Archived from the original on September 6, 2015. Retrieved September 4, 2015.
- ^ "How Anti-Virus Software Works". Stanford University. Archived from the original on July 7, 2015. Retrieved September 4, 2015.
- ^ "www.sans.org". Archived from the original on 2016-04-25. Retrieved 2016-04-16.
- ^ Jacobs, Stuart (2015-12-01). Engineering Information Security: The Application of Systems Engineering Concepts to Achieve Information Assurance. John Wiley & Sons. ISBN 9781119104711.
- ^ Bishop, Matt (2003). Computer Security: Art and Science. Addison-Wesley Professional. p. 620. ISBN 9780201440997. Archived from the original on 2017-03-16.
- ^ a b John Aycock (19 September 2006). Computer Viruses and Malware. Springer. pp. 35–36. ISBN 978-0-387-34188-0. Archived from the original on 16 March 2017.
- ^ "What is a polymorphic virus? - Definition from WhatIs.com". SearchSecurity. Retrieved 2018-08-07.
- ^ Kizza, Joseph M. (2009). Guide to Computer Network Security. Springer. p. 341. ISBN 9781848009165.
- ^ Eilam, Eldad (2011). Reversing: Secrets of Reverse Engineering. John Wiley & Sons. p. 216. ISBN 9781118079768. Archived from the original on 2017-03-16.
- ^ "Virus Bulletin : Glossary – Polymorphic virus". Virusbtn.com. 2009-10-01. Archived from the original on 2010-10-01. Retrieved 2010-08-27.
- ^ Perriot, Fredrick; Peter Ferrie; Peter Szor (May 2002). "Striking Similarities" (PDF). Archived (PDF) from the original on September 27, 2007. Retrieved September 9, 2007.
- ^ "Virus Bulletin : Glossary — Metamorphic virus". Virusbtn.com. Archived from the original on 2010-07-22. Retrieved 2010-08-27.
- ^ Kaspersky, Eugene (November 21, 2005). "The contemporary antivirus industry and its problems". SecureLight. Archived from the original on October 5, 2013.
- ^ Ganesan, Karthik; Jo, Jungho; Bircher, W. Lloyd; Kaseridis, Dimitris; Yu, Zhibin; John, Lizy K. (September 2010). "System-level max power (SYMPO)". Proceedings of the 19th international conference on Parallel architectures and compilation techniques - PACT '10. p. 19. doi:10.1145/1854273.1854282. ISBN 9781450301787. S2CID 6995371. Retrieved 19 November 2013.
- ^ "Thermal Performance Challenges from Silicon to Systems" (PDF). Archived from the original (PDF) on 2018-02-09. Retrieved 2021-08-29.
- ^ "Virus Basics". US-CERT. Archived from the original on 2013-10-03.
- ^ "Virus Notice: Network Associates' AVERT Discovers First Virus That Can Infect JPEG Files, Assigns Low-Profiled Risk". Archived from the original on 2005-05-04. Retrieved 2002-06-13.
- ^ "Users Really Do Plug in USB Drives They Find" (PDF).
- ^ "Operating system market share". netmarketshare.com. Archived from the original on 2015-05-12. Retrieved 2015-05-16.
- ^ Mookhey, K.K.; et al. (2005). Linux: Security, Audit and Control Features. ISACA. p. 128. ISBN 9781893209787. Archived from the original on 2016-12-01.
- ^ Toxen, Bob (2003). Real World Linux Security: Intrusion Prevention, Detection, and Recovery. Prentice Hall Professional. p. 365. ISBN 9780130464569. Archived from the original on 2016-12-01.
- ^ Noyes, Katherine (Aug 3, 2010). "Why Linux Is More Secure Than Windows". PCWorld. Archived from the original on 2013-09-01.
- ^ Raggi, Emilio; et al. (2011). Beginning Ubuntu Linux. Apress. p. 148. ISBN 9781430236276. Archived from the original on 2017-03-16.
- ^ "McAfee discovers first Linux virus" (Press release). McAfee, via Axel Boldt. 5 February 1997. Archived from the original on 17 December 2005.
- ^ Boldt, Axel (19 January 2000). "Bliss, a Linux 'virus'". Archived from the original on 14 December 2005.
- ^ David Kim; Michael G. Solomon (17 November 2010). Fundamentals of Information Systems Security. Jones & Bartlett Publishers. pp. 360–. ISBN 978-1-4496-7164-8. Archived from the original on 16 March 2017.
- ^ "1980s – Kaspersky IT Encyclopedia". Retrieved 2021-03-16.
- ^ "What is a Computer Virus?". Actlab.utexas.edu. 1996-03-31. Archived from the original on 2010-05-27. Retrieved 2010-08-27.
- ^ The Definitive Guide to Controlling Malware, Spyware, Phishing, and Spam. Realtimepublishers.com. 1 January 2005. pp. 48–. ISBN 978-1-931491-44-0. Archived from the original on 16 March 2017.
- ^ Eli B. Cohen (2011). Navigating Information Challenges. Informing Science. pp. 27–. ISBN 978-1-932886-47-4. Archived from the original on 2017-12-19.
- ^ Vesselin Bontchev. "Macro Virus Identification Problems". FRISK Software International. Archived from the original on 2012-08-05.
- ^ "Facebook 'photo virus' spreads via email". 2012-07-19. Archived from the original on 2014-05-29. Retrieved 2014-04-28.
- ^ Berend-Jan Wever. "XSS bug in hotmail login page". Archived from the original on 2014-07-04. Retrieved 2014-04-07.
- ^ Wade Alcorn. "The Cross-site Scripting Virus". bindshell.net. Archived from the original on 2014-08-23. Retrieved 2015-10-13.
- ^ Eugene H. Spafford; Kathleen A. Heaphy; David J. Ferbrache (1989). Dealing With Electronic Vandalism. ADAPSO Software Industry Division.
- ^ "Ka-Boom: Anatomy of a Computer Virus". InformationWeek. December 3, 1990. p. 60.
- ^ "Trove". trove.nla.gov.au.
- ^ Hovav, Anat (August 2005). "Capital market reaction to defective IT products". Computers and Security. 24 (5): 409–424. doi:10.1016/j.cose.2005.02.003.
- ^ "Detailed test reports—(Windows) home user". AV-Test.org. Archived from the original on 2013-04-07. Retrieved 2013-04-08.
- ^ "Detailed test reports — Android mobile devices". AV-Test.org. 2019-10-22. Archived from the original on 2013-04-07.
- ^ "Microsoft Security Essentials". Archived from the original on June 21, 2012. Retrieved June 21, 2012.
- ^ "Malicious Software Removal Tool". Microsoft. Archived from the original on June 21, 2012. Retrieved June 21, 2012.
- ^ "Windows Defender". Microsoft. Archived from the original on June 22, 2012. Retrieved June 21, 2012.
- ^ Rubenking, Neil J. (Feb 17, 2012). "The Best Free Antivirus for 2012". pcmag.com. Archived from the original on 2017-08-30.
- ^ Rubenking, Neil J. (Jan 10, 2013). "The Best Antivirus for 2013". pcmag.com. Archived from the original on 2016-04-25.
- ^ Rubenking, Neil J. "Secunia Personal Software Inspector 3.0 Review & Rating". PCMag.com. Archived from the original on 2013-01-16. Retrieved 2013-01-19.
- ^ "10 Step Guide to Protect Against Viruses". GrnLight.net. Archived from the original on 24 May 2014. Retrieved 23 May 2014.
- ^ "Google Safe Browsing". Archived from the original on 2014-09-14.
- ^ "Report malicious software (URL) to Google". Archived from the original on 2014-09-12.
- ^ Zhang, Yu; et al. (2008). "A Novel Immune Based Approach For Detection of Windows PE Virus". In Tang, Changjie; et al. (eds.). Advanced Data Mining and Applications: 4th International Conference, ADMA 2008, Chengdu, China, October 8-10, 2008, Proceedings. Springer. p. 250. ISBN 9783540881919. Archived from the original on 2017-03-16.
- ^ a b "Good Security Habits US-CERT". 2 June 2009. Archived from the original on 2016-04-20. Retrieved 2016-04-16.
- ^ "W32.Gammima.AG". Symantec. Archived from the original on 2014-07-13. Retrieved 2014-07-17.
- ^ "Viruses! In! Space!". GrnLight.net. Archived from the original on 2014-05-24. Retrieved 2014-07-17.
{{cite web}}
: CS1 maint : 잘못된 URL (링크) - ^ "VirusTotal.com (a subsidiary of Google)". Archived from the original on 2012-06-16.
- ^ "VirScan.org". Archived from the original on 2013-01-26.
- ^ Rubenking, Neil J. "The Best Free Antivirus for 2014". pcmag.com. Archived from the original on 2017-08-30.
- ^ "Microsoft Safety Scanner". Archived from the original on 2013-06-29.
- ^ "Virus removal -Help". Archived from the original on 2015-01-31. Retrieved 2015-01-31.
- ^ "W32.Gammima.AG Removal — Removing Help". Symantec. 2007-08-27. Archived from the original on 2014-08-04. Retrieved 2014-07-17.
- ^ "support.microsoft.com". Archived from the original on 2016-04-07. Retrieved 2016-04-16.
- ^ "www.us-cert.gov" (PDF). Archived (PDF) from the original on 2016-04-19. Retrieved 2016-04-16.
- ^ Benford, Gregory (May 1970). "The Scarred Man". Venture Science Fiction. Vol. 4, no. 2. pp. 122–.
- ^ 1999년 11월 그레고리 벤포드의 "사후"에서 "흉터진 남자"로.
- ^ Clute, John. "Brunner, John". The Encyclopedia of Science Fiction. Orion Publishing Group. Retrieved 30 January 2013.
- ^ 웨스트월드의 IMDB 시놉시스. 2015년 11월 28일 회수.
- ^ Michael Crichton (November 21, 1973). Westworld (film). 201 S. Kinney Road, Tucson, Arizona, USA: Metro-Goldwyn-Mayer. Event occurs at 32 minutes.
And there's a clear pattern here which suggests an analogy to an infectious disease process, spreading from one resort area to the next." ... "Perhaps there are superficial similarities to disease." "I must confess I find it difficult to believe in a disease of machinery.
{{cite AV media}}
: CS1 maint : 위치(링크) - ^ Ludwig, Mark (1998). The giant black book of computer viruses. Show Low, Ariz: American Eagle. p. 13. ISBN 978-0-929408-23-1.
추가읽기
- Burger, Ralf (16 February 2010) [1991]. Computer Viruses and Data Protection. Abacus. p. 353. ISBN 978-1-55755-123-8.
- Granneman, Scott (6 October 2003). "Linux vs. Windows Viruses". The Register.
- Ludwig, Mark (1993). Computer Viruses, Artificial Life and Evolution. Tucson, Arizona 85717: American Eagle Publications, Inc. ISBN 0-929408-07-1. Archived from the original on July 4, 2008.
{{cite book}}
: CS1 maint : 위치(링크) - Mark Russinovich (November 2006). Advanced Malware Cleaning video (Web (WMV / MP4)). Microsoft Corporation. Retrieved 24 July 2011.
- Parikka, Jussi (2007). Digital Contagions. A Media Archaeology of Computer Viruses. Digital Formations. New York: Peter Lang. ISBN 978-0-8204-8837-0.
외부 링크

- 컬리 바이러스(DMOZ)
- 마이크로소프트 보안 포털
- 미국 정부 CERT(Computer Emergency Readition Team) 사이트
- '컴퓨터 바이러스 – 이론과 실험' – 프레드 코헨(Fred Cohen)의 논문, 1984
- Andrew Ross의 Hacking Away at the Counterculture (해킹에 대하여, 1990)