컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 웜 바이러스란 무엇인가요?

웜 바이러스란 무엇인가요?

버그 바이러스는 컴퓨터 바이러스의 일종이다. 감염 메커니즘은 인터넷을 이용하여 복사 및 확산되는 것이며, 감염 경로는 인터넷과 이메일을 통해서이다.

예를 들어 최근 몇 년간 매우 유해한 것으로 알려진 '님다(Nimda)' 바이러스는 웜 바이러스의 일종이다. 이 바이러스는 Microsoft Windows 운영 체제의 취약점을 이용합니다. 컴퓨터가 이 바이러스에 감염된 후 지속적으로 자동으로 전화 접속하여 인터넷에 접속하고, 파일이나 네트워크 접속에 있는 주소 정보를 사용하여 확산되어 결국 대부분의 시스템을 파괴합니다. 사용자의 중요한 데이터 중.

웜 바이러스의 일반적인 예방 방법은 실시간 모니터링 기능이 있는 백신 소프트웨어를 사용하는 것이며, 낯선 이메일 첨부 파일을 쉽게 열지 않도록 주의하는 것입니다.

1. 웜의 기본 구조 및 전파 과정

웜의 기본 프로그램 구조는 다음과 같습니다.

1. 전파 모듈: 웜의 전파를 담당합니다. , 이것이 논의될 기사 부분입니다.

2. 숨김 모듈 : 호스트에 침입한 후 웜 프로그램을 숨겨서 사용자가 발견하지 못하도록 합니다.

3. 목적 기능 모듈: 컴퓨터 제어, 모니터링 또는 파괴 기능을 구현합니다.

전파 모듈은 스캔 모듈, 공격 모듈, 복제 모듈의 세 가지 기본 모듈로 나눌 수 있습니다.

웜 프로그램의 일반적인 전파 과정은 다음과 같습니다.

1. 검색: 웜의 검색 기능 모듈은 취약한 호스트를 탐지하는 역할을 합니다. 프로그램이 특정 호스트에 취약점 탐지 정보를 보내고 성공적인 피드백 정보를 받으면 전파 가능한 객체를 획득한다.

2. 공격: 공격 모듈은 취약점 공격 단계에 따라 1단계에서 발견된 개체를 자동으로 공격하여 호스트의 권한(보통 관리자 권한)을 획득한 후 쉘을 획득합니다.

3. 복사: 복사 모듈은 원래 호스트와 새 호스트 간의 상호 작용을 통해 웜 프로그램을 새 호스트에 복사하고 시작합니다.

전파 모듈이 실제로 자동 침입 기능을 구현하는 것을 볼 수 있습니다. 따라서 웜 전파 기술은 웜 전파 기술의 핵심 기술입니다. 웜 전파 기술이 없으면 웜 기술도 존재할 수 없습니다.

2. 침략 과정 분석

나는 모두가 침략의 일반적인 단계를 잘 알고 있다고 믿습니다. 간단히 기억해보자.

1단계: 다양한 방법을 사용하여 대상 호스트에 대한 정보를 수집하고 악용 가능한 취약점이나 약점을 찾습니다.

2단계: 대상 호스트의 취약점이나 결함을 표적으로 삼아 해당 기법을 채택하여 호스트의 관리자 권한을 획득할 때까지 호스트를 공격합니다.

3단계: 획득한 권한을 사용하여 호스트에 백도어, 스프링보드, 제어 터미널, 모니터 등을 설치하고 로그를 삭제합니다.

단계별로 분석해 보겠습니다.

첫 번째 단계를 살펴보겠습니다. 정보를 수집하는 방법에는 기술적, 비기술적 방법이 있습니다. 기술적 방법에는 스캐너로 호스트를 스캔하고 호스트의 운영 체제 유형, 버전, 호스트 이름, 사용자 이름, 개방형 포트, 개방형 서비스, 개방형 서버 소프트웨어 버전 등을 감지하는 것이 포함됩니다. 비기술적인 방법으로는 호스트의 관리자와 관계를 구축하는 방법, 신뢰를 속이는 방법, 협박 및 유인 방법 등 어린이에게 적합하지 않은 방법이 있습니다. 물론, 더 완전한 정보를 수집할수록 좋습니다. 정보를 수집한 후 두 번째 단계로 진행합니다.

두 번째 단계는 수집된 정보를 분석하여 효과적으로 활용할 수 있는 정보를 찾는 것입니다. 악용할 수 있는 기성 취약점이 있는 경우 온라인에 접속하여 해당 취약점에 대한 공격 방법을 찾아보고 공격 코드가 있으면 직접 복사한 후 해당 코드를 사용하여 권한을 얻습니다. 악용될 수 있는 기성 취약점을 파악하고, 수집된 정보를 이용해 사용자의 비밀번호를 추측하고, 한편으로는 악용 가능한 취약점을 분석하기 위해 사용하는 시스템을 테스트 및 분석합니다. 마침내 시스템 권한을 얻을 수 있는 방법을 찾았다면 세 번째 단계로 이동하고, 그렇지 않으면 포기하세요.

세 번째 단계는 호스트의 권한으로 원하는 작업을 수행하는 것입니다. 무엇을 하고 싶은지 모르겠다면 그냥 그만두고 좋아하는 게임을 해보세요.

위는 수동침입의 일반적인 과정이다. 자동침입의 경우 적용에 있어서 몇 가지 특수성이 있다.

웜이 사용하는 자동 침입 기술은 프로그램 크기의 한계로 인해 자동 침입 프로그램이 너무 지능적일 수 없으므로 자동 침입은 일반적으로 특정 모드를 채택합니다. 우리는 이 패턴을 일반적인 침입 기술에서 추출한 침입 패턴이라고 부릅니다. 현재 웜이 사용하는 침입 모드는 하나뿐입니다. 이 모드는 앞서 언급한 웜 전파 프로세스에서 사용되는 모드입니다. 즉, 취약점 검색 - 셸 공격 및 획득 - 셸 악용입니다. 이 침입 모드는 오늘날 일반적으로 사용되는 웜 전파 모드이기도 합니다. 여기에는 웜 개념의 정의에 문제가 있습니다. 현재 웜 정의는 이 전파 모드를 웜 정의의 일부로 간주합니다. 실제로 넓은 의미의 웜에는 다른 자동 전파 모드를 사용하는 프로그램이 포함되어야 합니다. .

먼저 일반적인 커뮤니케이션 모델을 살펴보겠습니다.

3. 웜 전파의 일반적인 모드 분석

1. 모드: 스캔-공격-복사.

뉴스에서 웜에 대한 보도를 본 적이 있습니다. 보고서에서는 웜이 어떻게 대량의 데이터 패킷을 전송하여 네트워크 정체를 일으키고 네트워크 통신 속도에 영향을 미치는지 항상 강조합니다. 사실 이는 웜 프로그램의 원래 의도가 아니며, 네트워크 정체를 유발하는 것은 웜 프로그램 게시자에게 이익이 되지 않습니다. 가능하다면 웜 프로그램 게시자는 웜이 은밀하게 확산되는 것을 선호합니다. 왜냐하면 웜이 확산된 후 웜 게시자는 사용 가능한 컴퓨팅 리소스를 대량으로 얻을 수 있으므로 그가 얻는 이점은 네트워크의 영향보다 더 큽니다. 혼잡은 분명히 수만 배 더 강합니다. 그러나 기존 웜이 사용하는 검사 방식은 필연적으로 많은 네트워크 정체를 야기하게 되는데, 이는 웜 기술 개발에 걸림돌이 된다. 이러한 어려움을 극복할 수 있다면 웜 기술 개발은 새로운 단계로 접어들게 될 것이다.

널리 사용되는 웜이 사용하는 전파 기술은 일반적으로 가능한 한 빨리 최대한 많은 컴퓨터로 확산되는 것을 목표로하므로 스캐닝 모듈에서 사용하는 스캐닝 전략은 다음과 같습니다.

무작위로 특정 단락 IP 주소를 선택한 다음 이 주소 세그먼트에서 호스트를 검색합니다. 더 멍청한 스캐너는 이 과정을 계속해서 반복할 수 있습니다. 이런 식으로 웜이 확산되고 새로 감염된 호스트도 이 검색을 시작하면 이러한 스캐너는 이미 검색된 주소가 무엇인지 알지 못하고 단순히 인터넷을 무작위로 검색합니다. 따라서 웜이 더 광범위하게 확산될수록 네트워크에 더 많은 검색 패킷이 존재하게 됩니다. 스캐너가 보내는 탐지 패킷이 작더라도 그 작은 양이 합쳐져서 큰 수가 되며, 대량의 웜 프로그램을 검사함으로써 발생하는 네트워크 정체는 매우 심각합니다.

더 똑똑한 작성자는 검색 전략을 일부 개선할 것입니다. 예를 들어 IP 주소 세그먼트 선택에서 주로 현재 호스트가 있는 네트워크 세그먼트를 검색하고 몇 개의 작은 IP를 무작위로 선택할 수 있습니다. 외부 네트워크 세그먼트의 경우 주소 세그먼트가 검색됩니다. 스캔 수를 몇 개로 제한하십시오. 다양한 기간에 걸쳐 스캔을 분산시킵니다. 스캐닝 전략 설계에는 세 가지 원칙이 있습니다.

반복 스캐닝을 최소화하고 스캐닝을 통해 전송되는 데이터 패킷의 총량을 최소로 줄입니다. 2. 스캐닝이 가능한 가장 큰 범위를 포괄하는지 확인합니다. 3. 시간을 처리합니다. 특정 시간에 검사가 발생하지 않도록 검사를 분산합니다. 위의 원칙을 고려하여 적합한 전략을 찾는 방법을 분석해야 하며 실험적인 검증도 필요합니다.

스캔에서 전송되는 탐지 패킷은 다양한 취약점에 따라 설계되었습니다. 예를 들어, 원격 버퍼 오버플로 취약점은 오버플로 코드를 전송하여 탐지할 수 있는 반면, 웹 CGI 취약점은 특수 http 요청을 전송하여 탐지해야 합니다. 물론, 감지 코드를 보내기 전에 먼저 해당 포트가 열려 있는지 확인해야 스캔 효율성을 높일 수 있습니다. 취약점의 존재가 확인되면 해당 공격 단계를 수행할 수 있으며, 취약점마다 공격 방법이 다릅니다. 취약점을 악용하는 방법을 이해하면 이 프로세스를 프로그램에서 구현할 수 있습니다. 이 부분의 핵심 쟁점은 취약점에 대한 이해와 활용입니다. 취약점을 분석하는 방법은 이 기사에서 논의할 내용이 아닙니다.

공격이 성공한 후 우리는 일반적으로 원격 호스트에서 win2k 시스템용 cmd.exe인 셸을 얻습니다. 이 셸을 얻은 후에는 전체 시스템을 제어할 수 있습니다. 프로세스를 복사하는 방법에는 여러 가지가 있으며 시스템 자체 프로그램이나 웜 자체 프로그램을 사용하여 구현할 수 있습니다. 복사 프로세스는 실제로 파일 전송 프로세스입니다. 네트워크 파일 전송을 구현하는 것은 매우 간단하므로 여기서는 설명하지 않습니다.

2. 패턴의 활용

패턴이라고 하기 때문에 재사용이 가능하다. 즉, 이 모델의 특정 링크 각각의 코드를 변경하기만 하면 자체 웜을 구현할 수 있습니다. 예를 들어, 코드의 스캔 부분과 복사 부분이 완료된 후 새로운 취약점이 나타나면 코드의 공격 부분만 추가하면 됩니다.

패턴을 사용하면 웜 생성기를 프로그래밍할 수도 있습니다. 물론 패턴을 사용하여 자동 침입 시스템을 작성할 수도 있습니다. 패턴화된 작업은 프로그램을 사용하여 구현하는 것이 복잡하지 않습니다.

4. 웜 전파의 다른 가능한 모드

위에 소개된 전파 모드 외에도 다른 모드도 나타날 수 있습니다.

예를 들어 이메일을 통한 자동 배포를 모델로 사용할 수 있습니다. 이 모드에 대한 설명은 다음과 같습니다: 이메일 주소록에서 이메일 주소 얻기 - 웜 프로그램이 포함된 대량 이메일 보내기 - 이메일이 수동적으로 열리고 웜 프로그램이 시작됩니다. 여기의 각 단계는 서로 다른 방식으로 구현될 수 있으며 이 모드도 자동 전파를 구현하므로 웜 전파 모드로 사용할 수 있습니다.

웜 기술의 발전에 따라 앞으로는 다른 전파 방식도 나타날 것입니다.

5. 보안방어 관점에서 웜의 전파방식을 살펴보다

웜의 전파방식을 분석하면 웜의 확산을 방지할 수 있는 아이디어 훨씬 더 명확해질 것입니다. 웜 전파의 일반적인 방식과 관련하여 현재 우리가 수행하고 있는 보안 보호 작업은 주로 두 번째 링크, 즉 "공격" 부분을 목표로 하고 있습니다. 공격을 방지하기 위해 취해야 할 조치는 취약점을 조기에 발견하고, 패치를 적용합니다. 실제로 더 중요한 것은 첫 번째 단계의 보호입니다. 스캐닝을 보호하기 위해 일반적으로 사용되는 방법은 보호벽을 사용하여 스캐닝을 필터링하는 것입니다. 방화벽을 사용하는 방법에는 한계가 있습니다. 많은 사용자가 방화벽 사용법을 모르기 때문에 웜이 여전히 확산될 수 있으면 방화벽으로 보호되는 호스트는 자체 보안만 확보할 수 있지만 네트워크는 파괴됩니다. 또 다른 해결책은 네트워크 전체에서 웜이 확산되는 것을 방지하는 방법을 고려하는 것입니다.

네트워크 전체에서 웜 전파를 방지하는 것은 추가 연구가 필요한 보안 주제입니다. 여기서 간단히 언급해 보세요. 일반적인 프로세스의 관점에서 볼 때 대규모 검색은 웜 확산의 중요한 단계입니다. 검색을 방지하거나 제한할 수 있으면 웜 확산을 방지할 수 있습니다. 가능한 방법은 게이트웨이나 라우터에 필터를 추가하고, 특정 주소에서 스캔 패킷이 전송되는 것을 감지하면 해당 패킷을 필터링하는 것입니다. 특정 구현 중에는 스캔된 패킷과 일반 패킷을 식별하는 방법을 고려해야 할 수 있으며 이에 대한 추가 연구가 필요합니다.

웜의 전파 방식을 이해하면 웜에 대한 침입 탐지 시스템을 쉽게 구현할 수 있습니다. 웜 검색에는 특정 패턴이 있고 검색 패키지에는 침입 탐지를 위한 침입 특성으로 사용할 수 있는 특정 특성 문자열이 있습니다. 이러한 특성을 이해하고 나면 이에 대한 침입 탐지 규칙을 개발할 수 있습니다.

上篇: 임정페이(Ren Zhengfei)가 직원들에게 보낸 편지 下篇: 이더넷 컨트롤러란 무엇인가요?
관련 내용