컴퓨터 바이러스의 기원 (Newton magazine 에서 발췌)
컴퓨터 바이러스의 역사: 코어 전쟁
컴퓨터 바이러스는 최근에야 등장한 신제품이 아니다. 사실, 일찍이 1949 년, 즉 첫 상업용 컴퓨터가 출현하기 몇 년 전, 컴퓨터의 선구자인 존 폰 노이만은 그의 논문 [복잡한 로봇의 이론과 조직] 에서 바이러스 프로그램의 청사진을 그려냈다. 당시 대부분의 컴퓨터 전문가들은 이런 자기전파 절차가 가능하다는 것을 상상할 수 없었지만, 몇몇 과학자들은 10 년 후 벨의 실험실 AT&: T 까지 반 뉴먼이 제기한 개념을 묵묵히 연구했다. 이 개념들은 핵심 전쟁이라는 매우 이상한 비디오 게임에서 형성되었다.
자기심 대전은 벨 연구소의 세 젊은 프로그래머가 일을 하면서 구상한 것이다. 그들은 더글라스 맥로이, 빅토르 비소터스키, 로버트 T 모리스입니다. 모두 20 대입니다.
주: 로버트 T 모리스 (Robert T. Morris) 는 로버트 T 모리스 (Robert T. Morris Jr) 의 아버지로서, 나중에 인터넷을 뒤엎는 웜 바이러스를 썼다. 당시 대모리스는 아파망의 사이버 보안을 담당하고 있었다.
컴퓨터 바이러스의 시조:
자기심 대전의 게임은 이렇습니다. 쌍방이 각각 한 세트의 프로그램을 쓰고, 같은 컴퓨터를 입력한다는 것입니다. (존 F. 케네디, 컴퓨터명언) 이 두 프로그램이 컴퓨터에 있습니까? 기억 시스템에서 그들은 서로를 쫓고, 때로는 관문을 내려놓기도 하고, 때로는 멈추어 상대방에 의해 파괴된 몇 줄의 지시를 복구 (다시 쓰기) 하기도 한다. 갇혔을 때, 자기 복제를 한 번 할 수 있고, 위험에서 벗어날 수 있다. 왜냐하면 그것들은 모두 컴퓨터의 메모리 코어에서 헤엄쳐 다니기 때문에, 그것은 자기심 대전의 이름을 얻었다.
이 게임의 특징은 쌍방의 프로그램이 컴퓨터에 들어오면 플레이어가 화면에 표시된 전황만 볼 수 있고, 한쪽 프로그램이 다른 쪽 프로그램에 의해 완전히 [먹을 때까지] 어떠한 변화도 할 수 없다는 것이다.
자기심전은 통칭이지만 실제로는 몇 가지로 세분화할 수 있다. 맥요래가 쓴 프로그램은 [다윈] 이라고 하는데, 안에는 [물경쟁천선택, 적자생존] 이라는 의미가 있다. 그것의 게임 규칙은 위에서 설명한 것과 가장 비슷하다. 쌍방은 모두 어셈블리 언어로 유기체라는 프로그램을 썼는데, 이 두 유기체는 한쪽이 다른 쪽을 차지할 때까지 컴퓨터에서 끊임없이 싸웠다.
또한 Creeper 라는 프로그램도 있습니다. 읽을 때마다 자체 복제됩니다. 또한 연결을 통해 한 컴퓨터에서 다른 컴퓨터로 [크롤링] 합니다. 곧 컴퓨터의 원시 데이터가 이 파충류에 의해 짜낼 것이다. 파충류의 미시적 생존 목적은 번식이다. [파충류] 를 다루기 위해, 누군가 [수확자] (Reaper) 를 썼다. 그들을 파괴하다. 모든 파충류가 수확되면, 추수자는 절차의 마지막 지시를 집행할 것이다: 자신을 파괴하고, 컴퓨터에서 사라진다. (존 F. 케네디, 컴퓨터명언) 난쟁이는 다윈과 같은 절차가 똑똑하지는 않지만, 그는 매우 위험하다. 그는 메모리 시스템을 전진하며 매번 다섯 번째까지 간다.] (주소, 거기에 저장된 물건이 0 이 되어 원래 프로그램을 닫는다.
가장 이상한 것은' (Imp)' 라는 전쟁 절차입니다. 단 한 줄의 지시만 있습니다.
MOV 0 1
MOV 는 이동을 의미하는 [이동] 을 나타냅니다. 위치한 주소의 [0] 을 다음 주소로 기록 (이동) 합니다. IMP 가 조치를 취하면 컴퓨터의 각 명령 행이 [MOV 0 1] 이 됩니다. 즉, 화면에 [MOV0 1] 이 많이 남아 있습니다. [쌍둥이자리] 도 재미있는 녀석이다. 그것은 오직 하나의 기능만 가지고 있다: 자신을 복제하고, 뒤에 있는 100 개의 주소로 보낸 다음 [원문] 을 버린다. 쌍둥이자리는 일련의 프로그램을 만들어 낸다. [Juggeraut] 는 자신을 복제하고 다음 10 주소로 보냅니다. 반면 빅풋은 원본과 사본 사이의 주소를 큰 소수로 설정합니다. 큰 발괴를 잡기가 어렵다. 또 제록사 백록아투 연구센터의 존 F 쇼크가 쓴' 웜' 은 침입한 컴퓨터를 통제하기 위한 것이다.
컴퓨터 바이러스의 출현
그 당시에는 컴퓨터가 연결되어 있지 않고 서로 독립적이었기 때문에, 모리씨가 일으키는 바이러스 역병은 없을 것이다. (윌리엄 셰익스피어, 햄릿, 컴퓨터명언) 컴퓨터가 감염되어 통제력을 상실하면 직원은 컴퓨터를 끄기만 하면 된다. 그러나 컴퓨터 연결이 점차 사회 구조의 일부가 될 때, 바이러스 프로그램 또는 자체 복제 바이러스 프로그램이 가져올 수 있습니까? 빈곤은 일종의 징벌이다. 따라서 오랫동안' 핵심 전쟁' 게임을 하는 방법을 알고 있던 컴퓨터 종사자들은 이 전쟁 절차의 내용을 일반 대중에게 공개할 수 없다는 불문한 규정을 엄격히 지키고 있다.
1983 년, 이 규칙은 깨졌다. 켄 톰슨은 그 해 뛰어난 컴퓨터 강연의 승자였다. 시상식에서 그는 컴퓨터 바이러스의 존재를 공개적으로 확인했을 뿐만 아니라 모든 청중에게 자신의 바이러스 프로그램을 어떻게 작성하는지 알려주는 연설을 했다. 그의 모든 동료들은 겁에 질렸지만 비밀은 이미 퍼졌다. 1984 년에는 상황이 더욱 복잡해졌다. 올해' 사이언티픽 아메리칸' 칼럼니스트 A. K. Dewdney 는 5 월호에' 자심대전' 에 관한 첫 번째 문장 기사를 썼는데, 어떤 독자라도 2 달러를 보내 집 컴퓨터에 전쟁터를 하나 개설하면 그가 쓴 프로그램을 받을 수 있다.
[바이러스] 라는 단어의 공식 출현
Dutney 는 1985 년 3 월 [과학미국인] 에서 [자기심전쟁] 과 바이러스에 대해 다시 한 번 토론했다. 문장 시작 부분에서 그는 "지난해 5 월 [자기심대전] 에 관한 문장 인쇄가 나왔을 때, 나는 내가 이렇게 심각한 화제에 대해 말할 줄은 몰랐다" 며 "바이러스" 라는 이름을 처음 언급했다. 그는 이탈리아의 Roberto Cerruti 와 Marco Morocutti 가 소프트웨어를 파괴하는 방법을 발명했다고 언급했다. 그들은 애플 II 컴퓨터가 웜이 아닌 바이러스에 감염되기를 원한다.
루디가 두트니에게 편지를 한 통 썼는데, [마커] 는 [바이러스] 같은 프로그램을 쓰려고 하는데, 한 애플 컴퓨터에서 다른 컴퓨터로 감염될 수 있다. 하지만 바이러스가 먼저 디스크를 감염시켜야 한다고 생각할 때까지는 그렇게 할 수 없습니다. 컴퓨터는 단지 매체일 뿐입니다. 이렇게 하면 바이러스가 한 디스크에서 다른 디스크로 감염될 수 있습니다. ] 을 참조하십시오
바이러스의 역사적 예:
1975 년, 미국 코프작가 존 브루너 (John Brunner) 가' 충격파기사' 라는 책을 썼는데, 컴퓨터가 정보사회 정의와 악의 투쟁의 도구로서의 이야기를 처음으로 묘사했다.
1977 년 여름, 토마스. J.Ryan 의 공상 과학 소설' P- 1 의 사춘기' 가 미국 베스트셀러가 됐다. 이 책에서 저자는 컴퓨터에서 서로 전염될 수 있는 바이러스를 묘사하는데, 바이러스는 결국 7000 개를 통제한다.
1983165438+10 월 3 일, 프레드 코헨 박사는 실행 중 자기 복제를 할 수 있는 파괴적인 프로그램을 개발했고, 레인 아드먼은 이를 컴퓨터 바이러스라고 명명했다. 일주일에 한 번 컴퓨터 보안 워크숍에서 8 시간 동안 정식으로 제출한 후 전문가는 VAX 1 1/750 컴퓨터 시스템에서 실행되며, 첫 번째 바이러스 실험은 성공적이며, 일주일 후 5 번의 실험을 허용하여 실험에서 컴퓨터 바이러스의 존재를 검증했습니다.
1986 년 초 파키스탄 라호르에서는 Basit 과 Amjad 두 형제가 IBM-PC 와 그 겸용 기계를 운영하는 가게를 운영하고 있다. 그들은 파키스탄 바이러스, 뇌를 썼습니다. 일 년 만에 전 세계에 퍼졌다.
1988 년 3 월 2 일, Mac 에서 바이러스가 발생했습니다. 그날 감염된 Mac 는 작동을 멈추고' 모든 Mac 사용자에게 평화를 선포한다' 는 메시지만 표시했다. 맥의 생일을 축하하기 위해서.
1988165438+10 월 2 일 미국 내 6000 대 이상의 컴퓨터가 바이러스에 감염되어 인터넷이 제대로 작동하지 않았다. 이것은 매우 전형적인 컴퓨터 바이러스 침입 컴퓨터 네트워크 사건으로, 미국 정부가 즉각 반응하도록 강요하고 국방부는 컴퓨터 응급행동팀을 설립했다. 이번 사건의 공격에는 5 개의 컴퓨터 센터와 12 개의 지역 노드가 포함되어 정부, 대학, 연구소 및 정부 계약이 있는 5 만 대의 컴퓨터를 연결했다. 이번 바이러스 사건에서 컴퓨터 시스템의 직접적인 경제적 손실은 9600 만 달러에 달했다. 이 바이러스의 프로그래머는 로버트 T 모리스 (Robert T.Morris) 로, 당시 23 세, 코넬 대학에서 학위를 전공한 대학원생이었다.
로버트 모리스가 디자인한 바이러스 프로그램은 시스템의 약점을 이용했다. 로버트 모리스가 아파넷에서 가장 큰 전자 침입자가 된 그는 코넬 대학의 졸업 디자인에 참가할 수 있도록 허락을 받았고 하버드 대학 에켄 센터 슈퍼유저 특권을 부여받았다. 그는 또한 3 년 집행유예, 벌금 654.38+0 만 달러를 선고받았다. 그는 또한 새로운 지역에서 400 시간 봉사하라는 명령을 받았다.
참고: 이 문서에서는 우리가 자주 언급하는 벌레와 바이러스가 서로 다른 유형의 바이러스로 분류되어 있습니다.
1988 말미에 중국 국가통계부에서 구형 바이러스가 발견됐다.
--
바이러스 발전사에서 바이러스의 출현은 규칙적이다. 일반적으로 새로운 바이러스 기술이 출현한 후 바이러스가 빠르게 발전한 후, 반바이러스 기술의 발전은 그것의 전파를 억제할 것이다. 운영 체제가 업그레이드되면 바이러스도 새로운 방식으로 조정되어 새로운 바이러스 기술을 만들어 냅니다. 다음과 같이 나눌 수 있습니다.
DOS 부트 단계
1987 컴퓨터 바이러스는 주로 부팅 바이러스로, 바이러스가' 공' 과' 석두' 바이러스를 가지고 있음을 나타냅니다.
그때는 컴퓨터 하드웨어가 적고 기능이 간단해서 플로피 디스크 부팅이 필요했습니다. 부팅 가능한 바이러스는 플로피 디스크의 시동 원리를 이용하여 작동합니다. 시스템 부팅 섹터를 수정하고, 컴퓨터가 시작될 때 먼저 제어권을 얻고, 시스템 메모리를 줄이고, 디스크 읽기 및 쓰기 인터럽트를 수정하고, 시스템 생산성에 영향을 주며, 시스템이 디스크에 액세스할 때 확산됩니다. 1989 년, 부팅 바이러스가 감염된 하드 드라이브로 발전했는데, 대표적인 대표는' 석두 2' 이다.
DOS 실행 단계
1989, 실행 파일 바이러스가 나타납니다. 그들은 DOS 시스템에서 파일을 로드하고 실행하는 메커니즘을 이용하여' 예루살렘' 과' 일요일' 바이러스를 대표한다. 바이러스 코드는 시스템이 파일을 실행할 때 제어, DOS 인터럽트 수정, 시스템 호출 시 감염, 실행 파일에 자체 추가 등을 통해 파일 길이를 늘립니다. 1990 복합 바이러스로 발전하여 com 및 EXE 파일을 감염시킬 수 있습니다.
수반, 배치 단계
1992 는 DOS 에 로드된 파일의 우선 순위를 사용하여 작동하는 관련 바이러스가 있습니다. 대표적인 것은' 매미' 바이러스로, EXE 파일을 감염시킬 때 EXE 와 이름이 같고 확장자가 COM 인 동반자를 생성한다. COM 파일에 감염되면 원래 COM 파일을 같은 이름의 EXE 파일로 변경한 다음 원래 이름과 COM 파일 확장자를 가진 동반자를 생성합니다. 이렇게 하면 DOS 가 파일을 로드할 때 바이러스가 제어권을 갖게 됩니다. 이 바이러스는 원본 파일의 내용, 날짜 및 속성을 변경하지 않고 바이러스를 제거할 때 동반자만 삭제하는 것이 특징이다. DOS 가 아닌 운영 체제에서 일부 관련 바이러스는 운영 체제의 설명 언어를 사용하여 작동하며, 비교적 전형적인 것은 해적기 바이러스이다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마) 을 (를) 실행하면 사용자 이름과 암호를 확인한 다음 오류 메시지를 반환하고 자신을 삭제합니다. 대량 바이러스는 도적기 바이러스와 비슷한 DOS 에서 작동하는 바이러스입니다.
유령, 다형성 단계
1994, 어셈블리 언어가 발전함에 따라 같은 기능을 다른 방식으로 수행할 수 있습니다. 이러한 방식의 조합은 무작위로 보이는 코드 한 조각에 동일한 계산 결과를 산출합니다. 고스트 바이러스는 이 기능을 활용하며 감염마다 다른 코드를 생성합니다. 예를 들어, "반" 바이러스는 수억 가지의 가능한 디코딩 알고리즘을 생성하는 데이터이며, 바이러스체는 디코딩하기 전에 데이터에 숨겨져 있습니다. 이러한 바이러스를 찾아내려면 이 데이터를 디코딩해야 합니다. 바이러스 탐지의 난이도를 높인다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 바이러스명언) 다형성 바이러스는 부트 영역과 프로그램 영역을 감염시킬 수 있는 종합적인 바이러스입니다. 대부분 디코딩 알고리즘이 있는데, 한 바이러스는 종종 두 개 이상의 서브루틴이 있어야 제거할 수 있다.
발전기, 다른 기계급
1995 어셈블리 언어에서 일부 데이터 작업은 서로 다른 범용 레지스터에 배치되어 동일한 결과를 얻을 수 있습니다. 일부 빈 작업과 관련 없는 명령을 임의로 삽입하며 작업 결과는 영향을 받지 않습니다. 이런 식으로 생성기는 디코딩 알고리즘을 생성할 수 있습니다. 바이러스가 생산 되 면, 그것은 바이러스 생성기 및 돌연변이 기계 라는 복잡 한 기계를 생산 하 고 있습니다. 전형적인 대표는 VCL 로, 순식간에 수천 가지의 다른 바이러스를 생산할 수 있다. 기존의 피쳐 인식 방법은 검색 및 해결 시 사용할 수 없으며, 명령을 거시적으로 분석하고 디코딩한 후 바이러스를 검색하고 해결해야 합니다. 변형기는 디코딩의 복잡성을 증가시키는 명령어 생성 메커니즘입니다.
네트워크, 웜 단계 1 부 2 부
65438 에서 0995 까지 인터넷이 보급되면서 바이러스가 인터넷을 통해 퍼지기 시작했는데, 이는 이전 세대의 바이러스에 대한 개선일 뿐이다. "웜" 은 DOS 가 아닌 운영 체제에서 대표적인 대표입니다. 메모리 이외의 리소스를 사용하지 않고, 디스크 파일을 수정하지 않으며, 네트워크 함수를 사용하여 네트워크 주소를 검색하고, 다음 주소로 자신을 확산하며, 네트워크 서버와 시작 파일에 존재하는 경우도 있습니다.
창 단계
1996 Windows 와 Windows95 가 보편화되면서 Windows 를 이용한 바이러스가 발전하기 시작했다. 그들은 (NE, PE) 파일을 수정하는데, 전형적인 대표는 DS 이다. 3873, 이러한 바이러스는 비교적 복잡하며, 보호 모드와 API 호출 인터페이스를 사용하며, 제거 방법도 비교적 복잡하다.
대바이러스 단계
1996, Windows Word 기능이 향상됨에 따라 Word 의 매크로 언어로 바이러스를 작성할 수 있습니다. 이 바이러스는 Basic 과 같은 언어를 사용하며 쓰기 쉬우며 word 문서에 감염될 수 있다. Excel 과 AmiPro 에서 작동 메커니즘이 같은 바이러스도 이 범주에 속한다. Word 문서 형식이 개방되지 않아 이런 바이러스를 찾아내기가 어렵다.
인터넷 단계
1997 인터넷이 발달하면서 각종 바이러스가 인터넷을 통해 퍼지기 시작하면서 바이러스를 옮기는 패킷과 메일이 늘어나고 있다. 실수로 이 메일을 열면 기계가 중독될 수 있다.
자바, 메일 폭탄 단계
65438 년부터 0997 년까지 월드 와이드 웹에서 자바 (Java World Wide Web) 가 보급됨에 따라 Java 언어를 사용하여 정보를 전달하고 얻는 바이러스가 등장하기 시작했습니다. 대표적인 대표는 JavaSnake 바이러스입니다. 메일 폭탄 바이러스와 같은 메일 서버를 이용하여 인터넷 효율성에 심각한 영향을 미치는 바이러스도 있습니다.