매크로 바이러스. 컴퓨터의 매크로 바이러스는 무엇입니까? Microsoft Excel용 바이러스

작업에 매크로 언어라고 하는 자체 프로그래밍 언어를 사용하는 프로그램이 있습니다. 이러한 매크로 언어는 일반적으로 텍스트 및 스프레드시트 편집기에 내장되어 있습니다. 예를 들어 Microsoft Word와 Excel에는 고유한 매크로 언어가 있습니다. 자체 목적을 위해 매크로 언어를 작성하고 사용하는 바이러스를 매크로 바이러스라고 합니다. 즉, 매크로 바이러스는 매크로 프로그래밍 언어로 작성된 바이러스입니다.

매크로란 무엇입니까?

매크로 또는 매크로는 사용자가 작성한 명령입니다. 매크로가 호출되면 매크로에 중첩된 프로세스가 실행됩니다. 평화로운 전선에서 이러한 매크로는 길고 지루하며 일상적인 작업을 용이하게 하는 데 효과적일 수 있습니다. 적절한 알고리즘을 처방하는 것은 가치가 있으며 기계는 모든 것을 스스로 할 것입니다. 예를 들어 Word와 Excel에는 파일 열기, 저장 등을 위한 매크로가 있습니다. 이러한 매크로는 사용자의 작업 속도를 크게 높일 수 있습니다.

매크로 바이러스 작동 방식

단일 파일의 매크로를 편집하는 것은 어렵지 않기 때문에 적절한 지식이 있다면 매크로 바이러스를 생성하는 데 큰 문제가 없을 것입니다. 그 후 감염된 문서는 어떻게든 피해자에게 전달됩니다. 사용자는 문서를 열고 감염된 매크로를 실행(즉, 미리 정해진 동작을 수행)함으로써 악성코드를 활성화시킨다. 우선, 많은 매크로 바이러스는 해당 형식의 파일을 여는 데 사용되는 Word 파일의 기본 템플릿과 같은 기본 문서 템플릿의 매크로를 다시 작성하려고 시도합니다. 이렇게 하면 문서를 열 때 바이러스가 함께 로드된다는 사실을 바이러스에 제공합니다. 그것에 관한 기사에서 내가 말했듯이 모든 바이러스는 무엇보다 먼저 광범위한 배포를 보장하려고 시도합니다. 그렇다면 기술적인 문제입니다. 새로 연 모든 문서에 악성 코드를 복사하는 것입니다. 그리고 우리는 문서를 꽤 자주 교환하기 때문에 바이러스의 재생산이 꽤 잘 될 것입니다.

매크로 바이러스로 인한 피해

매크로 바이러스 작업의 전면 - 문서. 그리고 원칙적으로 그들은 당신의 문서로 그들이 원하는 것은 무엇이든 할 수 있습니다. 그러나 이 외에도 매크로 바이러스는 컴퓨터 자체에 해를 끼칠 수 있습니다. 즉, 매크로 바이러스는 특별한 욕구로 컴퓨터 자체를 제어할 수 있습니다. 따라서 매크로 바이러스를 문서의 해충으로 간주할 필요는 없습니다.

최초의 매크로 바이러스

최초의 문서화된 매크로 바이러스는 1995년에 출시된 Concept 바이러스였습니다. 그는 특별히 끔찍한 일을 하지 않았습니다. 그것으로 인한 피해는 없었지만 Concept 바이러스는 파일에도 악성 코드가 포함될 수 있다는 모든 것을 디지털 세계에 보여주었습니다.

물론 "눈으로"각각을 기억하는 것은 불가능하고 불필요한 작업입니다. 그러나 일부는 위험과 널리 퍼져 있기 때문에 여전히 더 많이 알 가치가 있습니다. 이 자료에서는 이들이 매크로 바이러스라는 것을 분석합니다. 또한 위협을 적절하게 평가하는 것이 중요한 이유도 있습니다.

매크로바이러스는...

악성 요소 이름의 전반부는 "매크로"라는 단어에서 유래했습니다. VBA로 작성된 MS Word 또는 Excel 문서의 통합 구성 요소입니다. 매크로에는 매우 광범위한 기능이 있습니다. 하드 드라이브를 포맷하고, 파일을 삭제하고, PC에 저장된 정보에서 기밀 데이터를 복사하고 이메일을 통해 보낼 수 있습니다. 따라서 그러한 요소를 패배시킬 큰 위험이 있습니다.

매크로 바이러스는 다수의 처리 시스템과 텍스트 프로그램 및 편집기, 스프레드시트 소프트웨어 등에 추가로 삽입하기 위해 매크로 언어로 작성된 프로그램입니다. 매크로 언어의 기능으로 인해 악성 요소가 전파됩니다. 따라서 문서에서 문서로, 한 컴퓨터에서 다른 컴퓨터로 전송하기가 매우 쉽습니다. 매크로 바이러스에 가장 많이 감염되는 파일은 무엇입니까? 주로 Word 및 Excel 문서.

배포는 어떻게 이루어지나요?

PC 감염은 매우 간단하게 발생합니다. 컴퓨터에서 매크로 바이러스에 감염된 파일을 열거나 닫기만 하면 됩니다. 동시에 악성 요소는 표준 요소를 가로채고 장치에서 액세스하는 모든 파일을 감염시키기 시작합니다.

매크로 바이러스도 상주하는 악성 요소입니다. 즉, 문서를 열거나 닫는 순간뿐만 아니라 텍스트, 그래픽 또는 스프레드시트 프로그램의 전체 작업에 걸쳐 활성화됩니다! 그리고 그들 중 일부는 컴퓨터가 꺼질 때까지 컴퓨터의 RAM에 남아 있을 수도 있습니다.

생성하기가 매우 쉽다는 점에 유의해야 합니다. 공격자는 Word를 열고 도구로 이동한 다음 매크로로 이동하기만 하면 됩니다. 다음으로 그는 이미 VBA 언어로 악성 프로그램을 작성할 수 있는 Visual Basic 편집기를 선택합니다.

바이러스의 원리

특정 명령을 구현할 때 Word는 해당 매크로를 찾아 실행합니다.

  • 문서 저장 - 파일저장.
  • 인쇄 출력 - FilePrint.
  • 텍스트 파일 열기 - AutoOpen.
  • 문서 닫기 - 자동 닫기.
  • 프로그램 자체 실행 - AutoExec.
  • 새 파일 만들기 - AutoNew 등.

유사하지만 이름이 다른 매크로도 Excel에서 사용됩니다.

Word 파일을 감염시키기 위해 맬웨어는 다음 기술 중 하나를 사용합니다.

  • 매크로 바이러스에는 이미 자동 매크로가 포함되어 있습니다.
  • 바이러스 개발자가 제공하는 작업을 수행하도록 설정하면 시스템 패배가 시작됩니다.
  • 표준 매크로 중 하나가 재정의되고 있습니다. 일반적으로 후자는 "Word"메뉴의 일부 항목과 연결됩니다.
  • 특정 키 또는 이들의 조합을 누르면 자신도 모르는 사이에 악성 자동 매크로가 트리거됩니다. 그리고 그는 이미 그의 "일"을 시작하고 있습니다.

매크로 바이러스는 다음과 같은 방식으로 파일을 감염시킵니다.

  1. 영향을 받는 텍스트 문서를 엽니다.
  2. 바이러스 코드는 문서의 전역 매크로에 복사됩니다.
  3. 이미 감염된 후자는 파일이 닫히면 도트 문서(Normal.dot라는 템플릿)에 자동으로 기록됩니다.
  4. 그런 다음 표준 매크로를 재정의하는 것은 바이러스에 달려 있습니다. 이것은 그가 전자 문서 작업을 위한 명령을 가로채는 데 도움이 됩니다.
  5. 이러한 매크로를 호출하면 작업 중인 파일이 감염됩니다.

이제 컴퓨터에서 이러한 악성 요소의 존재를 감지하는 방법을 결정하겠습니다.

매크로 바이러스 탐지

텍스트 및 표의 파일 바이러스는 다음과 같이 정의할 수 있습니다.

  • "다른 이름으로 저장..."을 통해 다른 드라이브나 디렉터리에 문서를 구울 수 없습니다.
  • 파일을 다른 형식으로 저장할 수 없음("다른 이름으로 저장..." 명령을 통해 확인).
  • 파일에 대한 변경 사항을 저장할 수 없습니다.
  • 보안 수준 탭을 사용할 수 없게 됩니다. "서비스" - "매크로" - "보안" 경로를 따라 찾을 수 있습니다.
  • 문서로 작업할 때 오류를 나타내는 시스템 메시지가 나타날 수 있습니다.
  • 파일은 다른 방식으로 동작합니다.
  • 의심되는 문서의 컨텍스트 메뉴를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 클릭하면 맬웨어 개발자가 "요약" 탭의 섹션에 임의의 정보 또는 문자 집합을 나열합니다.

문제 해결

물론 모든 불행을 예방하는 것이 가장 쉽습니다. 이 경우 컴퓨터에는 지속적으로 업데이트되는 위협 데이터베이스가 포함된 최신 바이러스 백신이 있어야 합니다. 이러한 많은 프로그램에는 모니터가 RAM에 로드되어 있습니다. 파일을 열려고 시도 중인 감염된 파일을 탐지합니다. 바이러스 백신은 먼저 이러한 문서를 치료하려고 시도하고 실패하는 경우(매우 드물게 발생) 해당 문서에 대한 액세스를 차단합니다.

보호되지 않은 컴퓨터에서 위협을 발견한 경우 바이러스 백신 또는 감염된 파일을 탐지, 무력화 또는 삭제하는 적절한 유틸리티를 다운로드해야 합니다. 자신을 경계하는 것도 중요합니다. 자신에게 알려지지 않은 출처의 문서를 열지 마십시오. 극단적인 경우 문서를 스캔하여 악성 요소가 있는지 스캔하십시오.

매크로 바이러스는 텍스트 및 스프레드시트 파일을 통해 확산되는 위협 요소입니다. 오늘날에는 탐지하고 제거하기가 쉬워 이 맬웨어로 인한 위험과 피해가 줄어들지 않습니다.

매크로 바이러스는 그래픽 및 텍스트 처리 시스템에 내장된 마이크로 언어로 작성된 잠재적으로 원치 않는 유틸리티입니다. 어떤 파일이 매크로 바이러스를 감염시키나요? 대답은 분명합니다. Microsoft Excel, Word 및 Office 97의 가장 일반적인 버전입니다. 이러한 바이러스는 생성하기 쉬운 만큼 매우 일반적입니다. 그렇기 때문에 인터넷에서 문서를 다운로드할 때 매우 신중하고 정확해야 합니다. 대부분의 사용자는 이를 과소평가하여 큰 실수를 저지릅니다.

PC는 어떻게 감염됩니까?

매크로 바이러스가 무엇인지 결정한 후에는 어떻게 시스템에 침투하여 컴퓨터를 감염시키는지 살펴보겠습니다. 재생산의 간단한 방법을 통해 최단 시간에 최대 수의 개체를 칠 수 있습니다. 매크로 언어의 기능으로 인해 감염된 문서를 닫거나 열 때 호출되는 프로그램에 침투합니다.

즉, 그래픽 편집기를 사용할 때 매크로 바이러스는 연결된 모든 것을 감염시킵니다. 또한 일부는 텍스트 또는 그래픽 편집기가 실행되는 동안 또는 PC가 완전히 꺼질 때까지 항상 활성화됩니다.

그들의 작업 원리는 무엇입니까

그들의 행동은 다음 원칙에 따라 발생합니다. 문서 작업을 할 때 Microsoft Word는 매크로 언어로 제공되는 다양한 명령을 실행합니다. 우선, 프로그램은 이 형식의 모든 파일이 열리는 기본 템플릿을 관통합니다. 이 경우 바이러스는 주요 매개 변수에 대한 액세스를 제공하는 매크로에 코드를 복사합니다. 프로그램을 종료하면 파일이 점으로 자동 저장됩니다(새 문서를 생성하는 데 사용됨). 그런 다음 표준 매크로에 들어가 다른 파일로 전송된 명령을 가로채서 감염시키려고 시도합니다.

감염은 다음과 같은 경우에 발생합니다.

  1. 바이러스에 자동 매크로가 있는 경우(프로그램을 끄거나 시작할 때 자동으로 수행).
  2. 바이러스에는 기본 시스템 매크로(종종 메뉴 항목과 연결됨)가 있습니다.
  3. 특정 키 또는 조합을 누르면 자동으로 활성화됩니다.
  4. 실행 시에만 재생산됩니다.

이러한 바이러스는 일반적으로 생성되고 매크로 언어 프로그램에 연결된 모든 파일을 감염시킵니다.

그들은 어떤 피해를 줍니까?

매크로 바이러스는 본격적인 바이러스이며 컴퓨터에 심각한 피해를 주므로 과소 평가하지 마십시오. 개인 정보를 포함하여 포함된 모든 개체를 쉽게 삭제, 복사 또는 편집할 수 있습니다. 또한 전자 메일을 통해 다른 사람에게 정보를 전송할 수도 있습니다.

강력한 유틸리티는 일반적으로 하드 드라이브를 포맷하고 전체 PC의 작동을 제어할 수 있습니다. 그렇기 때문에 이런 종류의 컴퓨터 바이러스가 그래픽 및 텍스트 편집자에게만 위험하다는 의견은 잘못된 것입니다. 결국 Word 및 Excel과 같은 유틸리티는 다른 여러 유틸리티와 함께 ​​작동하며 이 경우에도 위험합니다.

감염된 파일 인식

종종 매크로 바이러스에 감염되고 그 영향에 굴복한 파일을 식별하는 것은 전혀 어렵지 않습니다. 결국, 그들은 동일한 형식의 다른 유틸리티와 상당히 다르게 작동합니다.

위험은 다음 징후로 식별할 수 있습니다.

또한 위협은 시각적으로 쉽게 감지되는 경우가 많습니다. 개발자는 일반적으로 "요약" 탭에 유틸리티 이름, 범주, 주제, 설명 및 작성자 이름과 같은 정보를 표시하여 매크로 바이러스를 훨씬 빠르고 쉽게 제거합니다. 상황에 맞는 메뉴를 사용하여 호출할 수 있습니다.

제거 방법

의심스러운 파일이나 문서를 발견하면 가장 먼저 할 일은 바이러스 백신으로 검사하는 것입니다. 위협이 감지되면 바이러스 백신이 이를 치료하려고 시도하고 실패하면 액세스를 완전히 차단합니다.

전체 컴퓨터가 감염된 경우 최신 데이터베이스의 바이러스 백신이 포함된 응급 부팅 디스크를 사용해야 합니다. 그는 하드 드라이브를 스캔하고 발견한 모든 위협을 무력화합니다.

이 방법으로 자신을 보호할 수 없고 바이러스 백신이 아무 것도 할 수 없으며 복구 디스크가 없는 경우 "수동" 치료 방법을 시도해야 합니다.


따라서 감염된 문서에서 매크로 바이러스를 제거하지만 이것이 시스템에 남아 있지 않다는 의미는 아닙니다. 그렇기 때문에 가능한 한 빨리 바이러스 백신으로 전체 개인용 컴퓨터와 모든 데이터를 검사하는 것이 좋습니다(장점은 설치가 필요하지 않다는 것입니다).

매크로 바이러스 감염으로부터 컴퓨터를 치료하고 청소하는 과정은 매우 복잡하므로 초기 단계에서 감염을 예방하는 것이 좋습니다.


이러한 방식으로 자신을 보호하고 매크로 바이러스는 해당 파일에 침투하지 않습니다.

컴퓨터 바이러스는 컴퓨터 프로그램 또는 악성 코드의 일종으로, 그 특징은 재생산(자기 복제) 능력입니다. 또한 바이러스는 사용자 및/또는 컴퓨터에 유해한 작업을 포함하여 사용자 모르게 다른 임의 작업을 수행할 수 있습니다.
바이러스 작성자가 악의적인 효과를 프로그래밍하지 않았더라도 바이러스는 운영 체제 및 기타 프로그램과의 복잡한 상호 작용을 고려하지 않은 오류로 인해 컴퓨터 충돌을 일으킬 수 있습니다. 또한 바이러스는 일반적으로 일부 저장 공간을 차지하고 다른 일부 시스템 리소스를 제거합니다. 따라서 바이러스는 맬웨어로 분류됩니다.

소개
4
1. 매크로바이러스
6
1.1 매크로 바이러스 일반 정보
7
8
2. 문제 진술
10
3. 문서 매크로에서 가장 잘 알려진 바이러스 개요
11
3.1 매크로 바이러스의 유포
13
3.2 Microsoft Office용 매크로 바이러스 알고리즘
14
4. 문서 매크로에서 바이러스를 방지하는 방법
16
4.1 매크로 바이러스 탐지
17
4.2 영향을 받는 개체 복구
18
5. 매크로에 바이러스를 생성하여 문서 파일에 주입
19
5.1 화면에 지속적으로 메시지 표시
19
5.2 매크로 바이러스에서 응용 프로그램 실행
19
5.3 자동 시작 및 실행
20
결론
21
사용 문헌 목록

작업에는 1개의 파일이 포함되어 있습니다.

절차-프로그램은 직접 실행되거나 다른 매크로의 요청 시 활성화될 수 있습니다. 구문은 다음과 같습니다.

보결<Имя_Макроса>
-> 매크로 코드<-
" 주석은 아포스트로피로 시작합니다.
엔드 서브
예를 들면 다음 매크로입니다.
" 이 매크로는 대화 상자를 열고 메시지를 표시합니다.
서브바보_인사
MsgBox "할로우 월드"
엔드 서브

1.2 매크로바이러스 작동 방식

MS Word 문서 버전 6 및 7로 작업할 때 문서 열기, 저장, 인쇄, 닫기 등 다양한 작업을 수행합니다. 동시에 Word는 해당 내장 매크로를 검색하고 실행합니다. 파일을 저장할 때 File / Save 명령을 사용하면 File/SaveAs 명령으로 저장할 때 - FileSaveAs, 문서를 인쇄할 때 - FilePrint 등으로 저장할 때 FileSave 매크로가 호출됩니다. 물론 이러한 매크로가 정의된 경우입니다.

또한 다양한 조건에서 자동으로 호출되는 여러 "자동 매크로"가 있습니다. 예를 들어 문서를 열면 Word에서 AutoOpen 매크로가 있는지 확인합니다. 이러한 매크로가 있으면 Word에서 이를 실행합니다. 문서가 닫히면 Word는 AutoClose 매크로를 실행하고, Word가 시작되면 AutoExec 매크로가 호출되고 닫히면 AutoExit가 호출되고 새 문서를 만들면 AutoNew가 호출됩니다. 유사한 메커니즘이지만 매크로 및 함수 이름이 다른 Excel/Office 97에서도 사용됩니다.

Word, Excel 또는 Office 97 파일을 감염시키는 매크로 바이러스는 일반적으로 위에 나열된 세 가지 방법 중 하나를 사용합니다.

  1. 바이러스에는 자동 매크로(자동 기능)가 있습니다.
  2. 표준 시스템 매크로 중 하나(일부 메뉴 항목과 연결됨)가 바이러스에서 재정의됩니다.
  3. 아무 키나 키 조합을 누르면 바이러스의 매크로가 자동으로 호출됩니다.

나열된 기술을 사용하지 않고 사용자가 실행을 위해 독립적으로 실행하는 경우에만 증식하는 세미 바이러스도 있습니다.

대부분의 매크로 바이러스는 모든 기능을 표준 MS Word/Excel/Office 97 매크로로 포함하고 있지만 코드를 숨기고 매크로가 아닌 코드로 저장하는 바이러스도 있습니다. 이러한 세 가지 방법이 알려져 있습니다. 그들 모두는 매크로 기능을 사용하여 다른 매크로를 생성, 편집 및 실행합니다. 일반적으로 이러한 바이러스에는 내장 매크로 편집기를 호출하고 새 매크로를 생성하고 바이러스의 기본 코드로 채우고 실행한 다음 일반적으로 매크로를 파괴하는 작은(때로는 다형성) 매크로 로더가 있습니다. 바이러스 존재의 흔적을 숨깁니다.

  1. 문제의 공식화

이 과정 프로젝트의 주요 목표는 다음과 같습니다.

  1. 문서 매크로에서 가장 잘 알려진 바이러스 개요
  2. 문서 매크로의 바이러스 배포;
  3. 문서 매크로에서 바이러스로부터 보호하는 방법
  4. 매크로에서 바이러스 생성 및 구현
    1. 문서 매크로에서 가장 잘 알려진 바이러스 개요

Saver(영어에서 번역됨 - "Save")는 MS Office 소프트웨어가 설치된 컴퓨터에서 작동하는 매크로 바이러스로, 구성 요소에는 Word 97(버전 8.0) 또는 Word 2003(버전 11.0)이 포함됩니다. 버전은 바이러스가 작동하도록 만든 모든 이전 버전의 Word와 호환됩니다. 이 바이러스는 코드에 포함된 "저작권"이라는 텍스트 문자열의 이름을 얻었습니다.
SaverVirus 및 감염된 문서의 디스크 복사본을 만드는 기능. 2000년 2월 2일 Konotop에서 작성되었으며, 그의 본문에 있는 "저작권"이라는 또 다른 텍스트 줄에서 알 수 있습니다.
매크로 기록 02.02.00 KONOTOP

Saver는 "DOC" 형식으로 저장된 문서와 MS Office 설정 파일(DOT 파일)을 감염시킵니다. "RTF" 형식으로 작성된 문서는 바이러스에 감염될 수 없습니다. 후자의 구조에는 감염 가능성을 배제하는 매크로 섹션 또는 "매크로"(현재 문서의 디자인과 관련된 설정이 있는 섹션 - 글꼴 크기 및 유형, 여백, 개체 배열 등)가 없습니다. 위의 확장자를 가진 감염된 문서 또는 설정 파일을 통해서만 바이러스가 시스템에 유입될 수 있습니다. 사용자가 파일을 열면 Word에 내장된 매크로 보호 경고가 무시됩니다.

그림 1 매크로 실행 경고

"매크로 비활성화 안 함" 옵션을 선택한 경우 감염이 발생합니다. 어떤 이유로 대부분의 사용자는 이 메시지가 나타날 때 그렇게 합니다. 그런 다음 Saver는 Word 97 - VirusProtection(Word 2003에서는 이 보호 원칙이 약간 다르기 때문에 바이러스가 이를 수행할 수 없음)의 매크로에 내장된 바이러스 보호 기능을 비활성화하고 이 편집기의 설정 템플릿 파일을 감염시킵니다.

Word97:
C:\ProgramFiles\MicrosoftOffice\Templates\Normal .dot

Word2003:
C:\Documents and Settings\%현재 사용자 이름%\Application Data\Microsoft\Templates\Normal. 점
Word 97(Word 2003의 경우 이 개체의 원래 크기는 Word "e)에 설정된 여러 설정에 따라 크게 다를 수 있기 때문에 감염된 템플릿 파일이 다를 수 있습니다. 그런 다음 바이러스는 Normal.dot 파일을 손상시켜 프로그램의 드롭퍼로 바꿉니다( "dropper" - starter, activator): 컨트롤이 바이러스 코드로 전송되는 방식으로 내용을 변경합니다... 바이러스는 이 코드를 자신이 생성하는 saver.dll 파일에 저장합니다.

Word97:
C:\ProgramFiles\MicrosoftOffice\Office\saver. DLL

Word2003:
C:\ProgramFiles\MicrosoftOffice\OFFICE11\saver.dll

이 파일은 29696바이트 크기로 바이러스에 의해 변형된 Normal.dot 템플릿 파일입니다.

W97M.클래스

Class.sys는 C:\ 루트 디렉터리에 있는 W97M.Class 바이러스의 보조 파일입니다. 문서 끝에 있는 바이러스 프로그램의 텍스트(프로그램 본문에 이 템플릿의 줄 수를 확인하기 때문에 프로그램의 일부는 여전히 Normal.dot로 작성됨). 이 바이러스는 Normal.dot 파일(이것은 Word97 템플릿이며 바이러스는 파일 크기를 50kB 이상으로 만듭니다)을 감염시키고 열려 있는 모든 Word 문서, 즉 확장자가 *.doc인 파일을 만들고 크기를 약 2배 더 크게 만듭니다.
바이러스는 5월 14일 이후에 활성화되어 다음 달 14일에 계속해서 "인사"를 합니다. 문서에서 줄을 뒤섞고 다음과 같은 메시지를 표시합니다.

그런 다음 줄을 바꾸고 문서를 저장하고 닫습니다.

W97M.Ethan은 단 하나의 매크로커맨드로 구성된 매크로커맨드 바이러스입니다. 닫힐 때 Word97 응용 프로그램 문서와 전역 NORMAL.DOT 템플릿을 감염시킵니다.

W97M.Ethan 바이러스 확산의 유리한 요소는 Microsoft Word에서 문서를 열고 닫고 저장할 때 매크로가 자동으로 시작된다는 것입니다.

또한 소위 일반 템플릿 NORMAL.DOT이 있으며 일반 템플릿에 배치된 매크로는 문서를 열 때 자동으로 실행됩니다. 문서에서 문서로(특히 공통 템플릿으로) 매크로 복사가 단 하나의 명령으로 수행된다는 점을 고려하면 Microsoft Word 환경은 W97M과 같은 매크로 명령 바이러스의 존재에 이상적입니다.Ethan

시스템 감염:

시스템에 들어간 후 바이러스는 VBA(Visual Basic for Applications)로 작성된 모듈 시작 부분에 유일한 매크로인 "ThisDocument"를 배치합니다. "ThisDocument"는 MS Word 97 템플릿의 모듈입니다.

문서 또는 공유 템플릿을 감염시킬 때 바이러스는 바이러스 코드의 소스인 임시 텍스트 파일 "C:\Ethan.___"을 사용합니다. 바이러스는 이 파일에 시스템 및 숨겨진 특성을 할당합니다.

4. 매크로 바이러스의 유포

Word가 시작되면 Normal.dot는 바이러스 "템플릿 파일" saver.dll로 제어권을 이전합니다. 테스트 시스템에서 바이러스로 수행한 실험 결과는 다음과 같습니다.

1. 바이러스는 문서가 닫힐 때 문서를 감염시킵니다. 자체 AutoSave 매크로를 사용하여 자체 코드를 매크로 섹션에 씁니다. 이 경우 바이러스는 변경 사항이 있는 문서 저장 확인에 대한 표준 요청을 차단하므로 바이러스와 사용자가 문서에서 변경한 모든 변경 사항은 사용자 모르게 자동으로 저장됩니다. .

2. 사용자가 문서를 단순히 열거나 "저장" 옵션을 통해 편집 및 저장한 경우 해당 문서가 바이러스에 감염됩니다. 사용자가 "다른 이름으로 저장..." 옵션을 통해 후자를 다시 저장한 경우 바이러스는 다시 저장된 문서만 감염시키고 원본 문서는 변경되지 않은 상태로 둡니다. 동시에 두 경우 모두 감염 후 파일 크기의 증가는 여러 조건에 따라 다르며 정확한 값이 없습니다.

3. 바이러스는 문서를 사용자가 변경하지 않고 보는 순간에도 문서를 재감염시킨다는 점을 감안할 때 파일의 크기는 지속적으로 증가하므로 하드 드라이브가 작은 구형 컴퓨터에서는 여유 공간이 매우 줄어듭니다. 빠르게. 또한 Word로 작업할 때 시스템이 크게 느려질 수 있습니다. 이는 감염된 문서의 바이러스 부풀려진 매크로 섹션을 처리하기 위한 RAM 리소스의 추가 비용과 관련이 있으며 궁극적으로 문서를 열 때 후자가 정지되는 실제 이유가 될 수 있습니다.

4. 깨끗한 시스템에서 첫 번째 문서를 감염시킨 후 바이러스는 자체 하위 디렉토리를 생성합니다.

Word97:
C:\ProgramFiles\MicrosoftOffice\Office\Doc_Copy\

Word2003:
C:\ProgramFiles\MicrosoftOffice\OFFICE11\Doc_Copy\

새로 감염된 각 문서를 복사합니다. 결과적으로 바이러스에 감염된 현재 열려 있는 문서의 이름(반복적으로 또는 처음으로 - 중요하지 않음)이 이미 "Doc_Copy" 디렉토리에 있는 문서 사본의 이름과 일치하면 바이러스는 다음에 따라 다릅니다. 내부 카운터는 현재 문서의 원래 내용을 복사 파일의 내용으로 덮어쓸 수 있으며, 이는 현재 문서 내용의 복구할 수 없는 손실을 수반합니다.
여러 사용자가 기계에서 작업하는 경우 기밀 데이터 유출 가능성도 있습니다. 예를 들어, 그들 중 한 명이 비밀 금융 또는 다른 사용자가 알면 안 되는 기타 정보가 포함된 문서가 있는 플로피 디스크에서 작업합니다. 그러나 바이러스가 "Doc_Copy" 폴더에 이 파일의 복사본을 만든 후에는 이 컴퓨터의 다른 사용자가 문서의 내용을 볼 수 있습니다.

5. Word를 닫은 후 바이러스 프로그램이 자동으로 꺼지고 AutoClose 바이러스 매크로가 트리거됩니다.

4.1 Microsoft Office용 매크로 바이러스 알고리즘

대부분의 알려진 Word 바이러스(버전 6, 7 및 Word 97)는 실행될 때 자체 코드를 문서의 전역 매크로("일반" 매크로) 영역으로 이동합니다.

Word를 종료하면 전역 매크로(바이러스 매크로 포함)가 자동으로 전역 매크로 DOT 파일(일반적으로 NORMAL.DOT)에 기록됩니다. 따라서 바이러스는 Word가 글로벌 매크로를 로드하는 순간 활성화됩니다.

그런 다음 바이러스는 하나 이상의 표준 매크로(예: FileOpen, FileSave, FileSaveAs, FilePrint)를 재정의(또는 이미 포함)하여 파일 작업 명령을 가로챕니다. 이러한 명령이 호출되면 액세스 중인 파일이 감염됩니다. 이를 위해 바이러스는 파일을 템플릿 형식으로 변환하고(파일 형식을 더 이상 변경할 수 없도록 함, 즉 템플릿이 아닌 형식으로 변환하는 것을 불가능하게 함) 자동 매크로를 포함하여 파일에 매크로를 기록합니다.

바이러스를 시스템에 도입하는 또 다른 방법은 소위 "추가 기능" 파일, 즉 Word에 서비스를 추가하는 파일을 기반으로 하는 것입니다. 이 경우 NORMAL.DOT는 변경되지 않으며 Word는 시작할 때 "추가 기능"으로 식별된 파일에서 바이러스 매크로를 로드합니다. 이 방법은 바이러스 매크로가 NORMAL.DOT에 저장되지 않고 일부 다른 파일에 저장된다는 유일한 예외를 제외하고 전역 매크로의 감염을 거의 완전히 반복합니다.

STARTUP 디렉터리에 있는 파일에 바이러스를 주입하는 것도 가능합니다. 이 경우 Word는 이 디렉터리에서 템플릿 파일을 자동으로 로드하지만 이러한 바이러스는 아직 발견되지 않았습니다.
Word 문서를 감염시키도록 설계된 바이러스를 생각해 보십시오. 이 바이러스는 FileOpen이라는 서비스 이름을 사용합니다. FileOpen() 프로시저는 사용자가 파일을 열 때마다 실행되며 일반 파일->파일 열기 대화 상자로 위장합니다.

InfectorPath = MacroContainer.Path + "\" + MacroContainer.Name

Rem InfectorPath 변수는 바이러스가 포함된 문서의 경로를 정의합니다.

대화 상자(wdDialogFileOpen).표시

Rem은 파일->파일 열기 대화 상자를 시뮬레이트합니다.

감염됨=거짓

ActiveDocument.VBProject의 각 VbComponent에 대해. VB구성 요소

If VbComponent.Name = "Virus" Then Infected = True

Rem 여기에서 사용자가 연 파일에 바이러스가 있는지 확인합니다.

감염되지 않았다면

Rem 파일이 감염되지 않은 경우 바이러스가 파일에 추가됩니다.

CopyMacro ActiveDocument.Path + "\" + ActiveDocument.Name, InfectorPath

Public Sub CopyMacro(NewDestination, NewSource)

오류 시 GoTo nextline

Application.Organizer원본 복사:= _

NewSource, 대상:=NewDestination, 이름:="바이러스", 개체:= _

WdOrganizerObjectProject항목

Rem은 바이러스가 있는 모듈을 복사합니다.

ActiveDocument.Save

렘은 문서를 저장


5. 문서 매크로에서 바이러스를 방지하는 방법

매크로 바이러스는 일반적으로 자기 확인 목적으로 학생이 작성합니다. 이러한 바이러스는 아무런 문제가 없습니다. 컴퓨터에서 증식할 뿐입니다. 그러나 WordBasic의 도움으로 Word 문서를 손상시키거나 하드 드라이브를 포맷하는 바이러스를 작성할 수 있으므로 매크로 바이러스로부터 보호하는 수단을 무시해서는 안됩니다. 매크로 바이러스의 특징은 기존의 바이러스 백신에서 인식하지 못한다는 것입니다. 매크로 바이러스로부터 보호하려면 MacCafee의 ViruScan을 권장합니다. (http://www.macafee.com). 또한 감염을 예방하는 몇 가지 간단한 방법이 있습니다. Word 6.0에서 모든 매크로는 템플릿 파일(*.dot)에 저장되며 템플릿이 열려 있을 때만 사용할 수 있습니다. Word를 열면 Normal.dot 기본 템플릿이 자동으로 로드되기 때문에 모든 바이러스가 거기에 기록되는 경향이 있습니다. 따라서 Word 6.0을 사용하는 경우 Normal.dot 파일을 읽기 전용으로 설정하십시오. 또 다른 옵션은 자동 매크로가 실행되지 않도록 의심스러운 문서를 열 때 Shift 키를 누르고 있는 것입니다. 물론 매크로 목록에서 자동으로 시작하는 이름을 찾으면 즉시 삭제하십시오 Word97에서는 매크로가 템플릿뿐만 아니라 일반 문서에도 포함될 수 있습니다. 이미 언급했듯이 지정된 이벤트에서 매크로를 자동으로 실행하려면 매크로 이름이 다음 중 하나여야 합니다.

  • AutoExec - Word가 시작되거나 전역 템플릿이 로드될 때 실행됩니다.
  • AutoNew - 새 문서가 생성될 때 실행됩니다.
  • AutoOpen - 문서가 열릴 때 발생
  • AutoClose - 문서가 닫힐 때 발생
  • AutoExit - Word가 종료되거나 전역 템플릿이 닫힐 때 실행됩니다.

물론 워드를 불러올 때 뿐만 아니라 문서를 열고, 만들고, 닫을 때에도 Shift 키를 눌러 이러한 매크로의 실행을 취소할 수 있지만, 이 방법은 지루해 보인다. 자동 매크로 실행을 방지하는 매크로를 작성해 보겠습니다.

MsgBox "바이러스는 허용되지 않습니다!"


WordBasic.DisableAutoMacros


매크로 바이러스에 의한 문서의 감염을 방지하기 위해서는 그들이 어떻게 작동하는지에 대한 좋은 아이디어가 필요합니다. Microsoft Office 제작자는 Word 명령을 사용자 매크로로 대체하는 기능을 도입하여 공격자가 더 쉽게 공격할 수 있도록 했습니다. 즉, 문서에 FileOpen이라는 이름의 매크로가 있으면 다른 문서가 열릴 때마다 매크로가 실행됩니다.

Word 97 사용자는 특히 취약합니다.좋은 이전 버전의 Word에서는 매크로를 템플릿(*.dot 파일)에만 저장할 수 있었습니다. Office "97을 사용하면 매크로를 문서에 직접 저장할 수 있으므로 바이러스가 확산될 기회가 더 많습니다.

매크로 패밀리 바이러스

매크로 계열의 바이러스는 데이터 처리 시스템(텍스트 편집기, 스프레드시트 등)에 내장된 매크로 언어의 기능을 사용합니다.

특정 시스템에 바이러스가 존재하기 위해서는 매크로 언어로 된 프로그램을 특정 파일에 바인딩하고, 한 파일에서 다른 파일로 매크로 프로그램을 복사하고, 사용자 개입이 없는 매크로 프로그램(자동 또는 표준 매크로).

이러한 조건은 Microsoft Word 및 AmiPro 편집기와 Excel 스프레드시트에서 충족됩니다. 이러한 시스템에는 매크로 언어(Word - Word Basic, Excel - Visual Basic)가 포함되어 있으며 매크로 프로그램은 특정 파일(AmiPro)에 연결되어 있거나 파일 내부(Word, Excel)에 있지만 매크로 언어를 사용하면 파일을 복사할 수 있습니다. (AmiPro) 또는 매크로 프로그램을 유틸리티 시스템 파일(Word, Excel)로 이동, 특정 조건(열기, 닫기 등)에서 파일 작업 시 특수한 방식으로 정의된 매크로 프로그램(있는 경우)이 호출됩니다. (AmiPro) 또는 표준 이름(Word, Excel)이 있습니다.

따라서 오늘날 Microsoft Word, Excel 및 AmiPro라는 바이러스가 있는 세 가지 알려진 시스템이 있습니다. 여기에서 바이러스는 감염된 파일을 열거나 닫을 때 제어하고 표준 파일 기능을 가로챈 다음 어떻게든 액세스되는 파일을 감염시킵니다. MS-DOS와 유사하게 매크로 바이러스는 상주한다고 말할 수 있습니다. 파일을 열고 닫을 때뿐만 아니라 편집기 자체(시스템)가 활성화되어 있는 동안에도 활성화됩니다.

Microsoft Office용 바이러스"97

Macro.Office97.Frenzy

AutoOpen 자동 기능을 포함하는 단일 Frenzy 매크로로 구성됩니다. 감염된 파일을 열면 시스템을 감염시킵니다. 그런 다음 문서를 열 때 문서에 기록됩니다. 시스템 날짜 및 시스템 랜덤 카운터에 따라 텍스트를 표시합니다.

Pyro의 Word97.Frenzy

Macro.Office97.Minimal

Office 97용 매우 원시적인 매크로 바이러스. 하나의 AutoOpen 매크로를 포함합니다. 감염된 파일이 열리면 시스템을 감염시키며 문서도 열릴 때 기록됩니다. 주석이 달린 텍스트 포함

선박 본체프

Macro.Office97.NightShade

AutoClose 자동 기능을 포함하는 단일 NightShade 매크로로 구성되며 파일이 닫힐 때 시스템과 문서를 감염시킵니다. 내장된 바이러스 보호 기능을 끄고 자동 기능을 실행할 수 있습니다. 현재 날짜와 시스템 랜덤 카운터에 따라 텍스트 출력

Word97.NightShade 제작: Pyro

13일 토요일에 문서에 NightShade 암호를 설정합니다.

Microsoft Excel용 바이러스

매크로.Excel.Laroux

Excel 스프레드시트(XLS 파일)를 감염시킵니다. Auto_Open 및 Check_Files라는 두 개의 매크로가 포함되어 있습니다. 감염된 파일이 열리면 Excel은 자동으로 Auto_Open 매크로를 실행합니다. 바이러스에서 이 매크로에는 테이블(시트)이 활성화될 때 실행되는 Check_Files 매크로를 정의하는 하나의 명령만 포함되어 있습니다. 따라서 바이러스는 테이블을 여는 절차를 가로채고 테이블이 활성화되면 감염된 엑셀이 바이러스 코드인 Check_Files 매크로를 호출한다.

일단 제어되면 Check_Files 매크로는 Excel 시작 디렉토리에서 PERSONAL.XLS 파일을 찾고 현재 통합 문서의 모듈 수를 확인합니다. 바이러스가 있는 통합 문서가 활성화되어 있고 PERSONAL.XLS 파일이 존재하지 않는 경우(1차 감염) 바이러스는 SaveAs 명령을 사용하여 Excel 시작 디렉터리에 이 이름의 파일을 생성합니다. 결과적으로 현재 파일의 바이러스 코드가 기록됩니다. 다음에 부팅하는 동안 Excel은 시작 디렉터리에서 모든 XLS 파일을 로드하고 감염된 PERSONAL.XLS 파일도 메모리에 로드하고 바이러스가 다시 제어권을 얻습니다. 테이블을 열 때 PERSONAL.XLS의 Check_Files 매크로가 다시 호출됩니다.

현재 통합 문서의 모듈 수가 0이고(감염된 통합 문서가 활성 상태가 아님) PERSONAL.XLS 파일이 이미 존재하는 경우 바이러스는 활성 통합 문서에 코드를 다시 작성합니다. 그 후 활성 통합 문서가 감염됩니다.

시스템에서 바이러스를 검사하는 것은 쉽습니다. 바이러스가 이미 컴퓨터에 침투한 경우 Excel 디렉토리에 PERSONAL.XLS 파일이 있어야 하며 여기에 laroux 행이 표시됩니다(소문자). 다른 감염된 파일에도 같은 줄이 있습니다.

매크로.엑셀.범례

엑셀 파일을 감염시키는 매크로 바이러스. Legend라는 하나의 모듈(매크로)을 포함합니다. 이 모듈에는 Auto_Open 및 INFECT의 두 가지 프로시저가 포함되어 있습니다. Auto_Open은 파일을 열 때 자동으로 호출되는 Excel 프로시저입니다. Auto_Open이 시작되면 SheetActivate 이벤트에 대한 처리기로 두 번째 바이러스 프로시저(Infect)를 설치합니다. 즉, 스프레드시트를 열 때 Excel이 Infect 프로시저를 호출합니다.

Infect 프로시저가 호출되면 PERSONAL.XLS 파일(감염된 파일이 열려 있는 경우) 또는 현재 파일(아직 감염되지 않은 경우)을 감염시킵니다. 감염 후 바이러스는 메뉴에서 도구/매크로 항목을 제거합니다. UserName = "Pyro" 및 OrganizationName = "VBB"인 경우 바이러스는 즉시 중지되며 파일을 감염시키지 않습니다. 현재 날짜와 시스템 임의 카운터에 따라 바이러스는 MessageBox를 표시합니다.

당신은 전설에 감염되었습니다!

매크로.엑셀.로보캅

엑셀 파일을 감염시키는 매크로 바이러스. COP 및 ROBO의 두 가지 모듈(매크로)을 포함합니다. ROBO 모듈에는 자동으로 호출되는 Auto_Open 프로시저가 포함되어 있어 감염된 문서가 열리면 바이러스 코드를 PERSONAL.XLS 파일에 기록하고 테이블 활성화 처리기(SheetActivate)의 주소를 바이러스 코드로 설정합니다. 바이러스는 테이블이 열릴 때 파일을 감염시킵니다.

ROBOCOP 악몽 조커

매크로.엑셀.소파

Excel 스프레드시트를 감염시킵니다. 이름이 11개의 공백으로 구성되어 있어 도구/매크로 메뉴의 매크로 목록에 표시되지 않는 하나의 모듈(매크로)을 포함합니다. 이 모듈에는 Auto_Open, Auto_Range, Current_Open, Auto_Close의 네 가지 매크로 기능이 포함되어 있습니다. 모든 바이러스 기능은 결과적으로 Null을 반환합니다.

감염된 파일이 열리면 Auto_Open 매크로 기능이 트리거되어 Excel의 이름을 "바꿉니다" - 제목 줄에 Microsoft Excel 대신 Microsofa Excel이 나타납니다. 시작 경로 디렉터리에 BOOK.XLT 파일이 없으면(시스템이 아직 감염되지 않은 경우) 화면에 다음 메시지가 표시됩니다.

Microsoft Excel에서 손상된 추가 기능 파일을 감지했습니다.이 파일을 복구하려면 확인을 클릭하십시오.

사용자의 응답과 상관없이 시작 경로 디렉터리에 바이러스 코드가 포함된 BOOK.XLT 파일이 생성됩니다. 감염 후 메시지가 표시됩니다

파일이 성공적으로 복구되었습니다!

로드되면 Excel은 자동으로 시작 경로에서 XLT 파일을 로드하고 그에 따라 바이러스를 활성화합니다. 바이러스는 자신의 Auto_Range 기능을 OnSheetActivate 기능에 할당하고 테이블이 활성화될 때마다 활성 파일의 감염 여부를 확인하고 감염되지 않은 파일을 감염시킵니다.

이 바이러스는 Excel에서 자신을 언로드하는 것을 허용하지 않습니다. 각 파일을 닫을 때 동일한 Auto_Range 기능을 OnWindow 기능에 할당합니다. 즉, 새 파일을 열면 다시 활성화됩니다.

매크로.엑셀.요힘베

Exec이라는 하나의 모듈(매크로)로 구성됩니다. 이 모듈에는 Auto_Open, DipDing, PayLoad 및 SheetExists 함수의 세 가지 루틴이 포함되어 있습니다. Auto_Open 서브루틴은 감염된 파일이 열릴 때 자동으로 호출되며 바이러스는 PERSONAL.XLS를 감염시킵니다. 오류가 발생하면 열려 있는 모든 파일(책)에 바이러스가 기록됩니다. 제어를 반환하기 전에 Auto_Open은 Excel 타이머에 DipDing 루틴을 설치합니다. 이 서브루틴은 16:00부터 시작하여 열려 있는 파일을 감염시킵니다.

바이러스는 테이블 헤더에 Yohimbe라는 문자열을 씁니다. 또한 PayLoad 서브루틴에 대한 타이머를 설정합니다. 16:45에 호출되어 이미지와 텍스트를 현재 테이블에 삽입합니다.