요즘 모든 봇넷은 현재의 침입 탐지 시스템(IPS) 방어 전략에 도전하기 위해 가장 진보된 기술과 고품질 소프트웨어 프로세스를 사용하는 것처럼 보이기 때문입니다. 따라서 이 기사에서는 먼저 봇넷과 비밀 소프트웨어의 기술적 현황과 산업 발전에 초점을 맞췄습니다. 봇넷은 맬웨어에 의해 제어되는 분산 컴퓨터 또는 시스템의 모음입니다. 따라서 이러한 컴퓨터를 좀비 컴퓨터라고도 합니다. 좀비 컴퓨터는 하나 이상의 명령 및 제어 서버를 통해 봇 허더에 의해 제어되거나 지시됩니다. 가장 일반적인 상황은 좀비 목동들이 명령 및 제어 서버를 사용하여 좀비 컴퓨터를 제어하고 IRC(인터넷 릴레이 채팅) 또는 P2P와 같은 네트워크 통신을 통해 제어를 구현하는 것입니다. 좀비 컴퓨터 소프트웨어는 일반적으로 맬웨어, 웜, 트로이 목마 또는 기타 백도어 채널을 통해 설치됩니다. 다양한 기관에서 보고하는 좀비 컴퓨터의 규모와 성장에 대한 통계는 매우 다양합니다. 보안 회사인 Symantec의 Threat Horizon Report에 따르면 매일 55,000개의 새로운 봇넷 노드가 탐지됩니다. USA Today 신문의 2008년 보고서에 따르면 매일 인터넷에 연결되는 8억 대의 컴퓨터 중 40%가 스팸, 바이러스를 보내고 민감한 개인 데이터를 훔치는 데 사용되는 좀비 컴퓨터였습니다. "USA Today"에서는 2007년에 비해 2008년에 봇넷 위협이 10배 증가했다고 보도했습니다. 많은 출처에서는 가장 유명한 봇넷인 Storm, Kraken 및 Conficker가 수많은 컴퓨터를 감염시켰다고 예측합니다. 이 숫자에는 85,000대의 컴퓨터를 감염시킨 Storm, 495,000대의 컴퓨터를 감염시킨 Kraken, 900만 대의 컴퓨터를 감염시킨 Conficker가 포함됩니다. 지하 경제와 봇넷의 성장 돈 중심 시장과 마찬가지로 봇넷 개발자는 마치 합법적인 사업인 것처럼 일하며 협업, 거래 및 개발 프로세스, 품질과 같은 이점을 활용합니다. 최근 봇넷은 수명주기 관리 도구, 동료 검토, 객체 지향 및 모듈화와 같은 일반적인 소프트웨어 품질 관행을 사용하기 시작했습니다. 봇넷 개발자는 소프트웨어와 감염 벡터를 판매하고 지침과 기술 지원을 제공하며 사용자 피드백과 요청을 수집하고 있습니다. 봇넷 그룹 사이에서 일관된 경제적 목표는 기술 혁신, 협력 및 위험 교육을 촉진하는 것입니다. 온라인 물물교환 및 시장 웹사이트는 이 지하 경제 그룹을 위해 좀비 목동들에게 더 나은 물물교환 및 거래 방법, 온라인 기술 지원, 임대 및 임대와 같은 서비스를 제공하기 시작했습니다. 이러한 협력으로 인해 매우 성숙한 경제가 탄생했습니다. 여기에서는 봇넷 노드 또는 봇넷 그룹을 판매하고 구매할 수 있습니다. 이곳은 좀비 목동이 개체를 공격할 때 협력을 구하는 곳입니다. 스팸을 보내기 위해 봇넷을 대여할 수 있습니다. 도난당한 신분증과 계좌는 지하시장 참가자들 간에 교환 및 판매가 가능합니다. 봇넷의 수명 주기 봇넷의 수명 주기는 그림 1과 같이 일반적으로 전파, 감염, 명령 및 제어, 공격의 4단계로 구성됩니다. 그림 1 봇넷 수명 주기(출처: Intel Corporation, 2009) 전파 단계. 많은 봇넷의 전파 단계에서 좀비 컴퓨터 프로그램이 확산되어 시스템을 감염시킵니다. 좀비 컴퓨터는 스팸, 네트워크 웜, 인터넷을 통한 악성코드 다운로드 등 다양한 수단을 통해 사용자 모르게 확산될 수 있다. 전파 단계의 주요 목표는 시스템을 감염시키는 것이므로 사용자가 악성 코드 페이로드를 설치하도록 유도하거나 사용자 시스템의 보안 취약점을 악용하여 애플리케이션이나 브라우저를 통해 악성 코드 페이로드를 확산시킵니다. 감염 단계. 시스템에 설치되면 이 악성 코드 페이로드는 다양한 기술을 사용하여 시스템을 감염시키고 자신을 숨깁니다. 봇넷 감염 기능의 발전에는 바이러스 백신 도구 및 보안 서비스를 공격하여 감염을 숨기고 감염 수명을 연장하는 기술이 포함됩니다. 바이러스 백신 도구와 보안 서비스는 일반적으로 이러한 감염을 감지하고 제거할 수 있습니다. 봇넷은 현재 바이러스에서 사용되는 많은 표준 악성 코드 기술을 사용합니다. 다형성과 "루트킷팅"은 가장 일반적으로 사용되는 두 가지 기술입니다. ·다형성을 통해 악성 코드는 새로운 감염이 발생할 때마다 코드를 변경하므로 바이러스 백신 제품이 이를 탐지하기 어렵습니다. 또한 봇넷 개발자는 현재 소프트웨어 개발자가 소프트웨어 불법 복제 및 리버스 엔지니어링을 방지하기 위해 사용하는 코드 강화 기술을 사용하고 있습니다.
이러한 기술에는 악성 코드의 본질을 더욱 숨기고 바이러스 백신 공급업체가 분석하기 어렵게 만드는 코드 난독화, 암호화 및 코딩이 포함됩니다. 맬웨어 및 봇넷 개발자가 맬웨어를 더 깊이 숨기기 위해 고급 "루트킷팅" 기술을 연구하기 시작했다는 징후가 많이 있습니다. ·은밀하게 악성코드를 설치하는 기술인 '루트키팅' 기술을 활용해 시스템이 시작될 때마다 '루트킷'이라는 악성코드가 실행된다. 루트킷은 컴퓨터 운영 체제가 완전히 부팅되기 전에 악성 코드가 실행되기 때문에 탐지하기 어렵습니다. 루트킷 기술의 발전에는 하이퍼 하이재킹 및 가상화 기반 루트킷은 물론 펌웨어 및 BIOS와 같은 코드를 삽입하기 위한 새로운 대상의 검색 및 활용이 포함됩니다. 운영 체제에서 실행되는 가상 머신 모니터(VMM) 또는 하이퍼바이저는 봇넷 및 맬웨어 개발자가 컴퓨터 시스템을 제어하는 데 매우 유용한 수단입니다. 하이퍼하이재킹에는 시스템을 완전히 제어하는 악성 하이퍼바이저 설치가 포함됩니다. 운영 체제는 시스템이 손상되었음을 알지 못하고 바이러스 백신 소프트웨어와 로컬 방화벽이 이를 감지할 수 없기 때문에 일반적인 보안 조치로는 이러한 하이퍼바이저를 처리하기가 어렵습니다. 현재 봇넷 개발자가 사용하는 또 다른 기술은 바이러스 백신 소프트웨어, 로컬 방화벽, 침입 방지 및 탐지 소프트웨어(IPS/IDS) 및 서비스를 적극적으로 공격하는 것입니다. 바이러스 백신 및 방화벽 소프트웨어에 대한 봇넷 공격은 보안 소프트웨어 프로세스를 종료하거나 업데이트 기능을 차단하는 등의 기술을 사용합니다. 보안 소프트웨어 업데이트를 차단하는 봇넷에 대해 우리가 알고 있는 두 가지 예는 다음과 같습니다. · 봇넷은 바이러스 백신 소프트웨어가 업데이트 웹 사이트에 액세스하는 것을 방지하기 위해 감염된 시스템의 로컬 DNS 설정을 변경했습니다. ·봇넷은 보안 소프트웨어의 업데이트 웹사이트 접속 시도를 적극적으로 확인하여 접속을 차단합니다. 보안 소프트웨어 업데이트를 차단하는 이러한 기술은 보안 소프트웨어가 공급업체에서 제공하는 업데이트된 악성 코드 서명을 얻지 못하게 하거나, 보안 소프트웨어가 중앙 공급업체 서버에 이상 현상을 보고하고 업데이트를 얻지 못하게 하여 보안 소프트웨어가 새로운 버전의 프로그램을 출시하는 것을 방지합니다. 봇넷. 봇넷 개발자가 사용하는 또 다른 감염 기술은 보안 소프트웨어의 맬웨어 탐지 서비스에 의한 검사 간 감염 시간을 측정하는 것입니다. 시스템을 천천히 감염시키는 좀비 컴퓨터 프로그램은 침입 탐지 소프트웨어 서비스에서 경보를 울리게 하지 않습니다. 다른 고급 봇 컴퓨터 프로그램은 IDS/IPS 시스템과 바이러스 백신 소프트웨어를 속여 로컬 및 원격 검사를 수행할 수 있습니다. 이 경우 봇넷의 악성 코드는 검사용 바이러스 백신 소프트웨어에 가짜 메모리 이미지나 가짜 하드웨어 이미지를 제시할 수 있으며, 소프트웨어가 패킷 삭제, 네트워크 응답 스푸핑, 보안 취약점 검사기 통신의 트래픽 리디렉션 등을 통해 취약점 검사를 중단할 수도 있습니다. 명령과 통제. Botnet 명령 및 제어 서버는 여러 프로토콜 중 하나를 사용하여 통신하며, 현재 가장 일반적으로 사용되는 프로토콜은 IRC입니다. 그러나 최근에는 강화되거나 보호된 프로토콜을 사용하는 경향이 있습니다. 예를 들어 Storm 봇넷은 암호화된 P2P 프로토콜(eDonkey/Overnet)을 사용합니다. 봇 허더가 봇넷이 발견되어 종료되는 것을 방지하려면 명령 및 제어 기술의 발전이 중요합니다. 이 목표를 달성하기 위해 봇넷은 인터넷에서 일반적으로 사용되는 HTTP 및 P2P와 같은 프로토콜을 활용하기 시작했으며 이로 인해 봇넷을 탐지하기가 더욱 어려워졌습니다. HTTP 프로토콜은 현재 시스템에서 들어오는 HTTP 트래픽 양이 매우 많고 트래픽 유형도 다양하기 때문에 봇넷에 특히 유용합니다. 또한 봇넷 소프트웨어는 기본 브라우저 소프트웨어의 많은 기능과 통신 스택을 활용하여 방화벽을 침투하는 HTTP 프로토콜의 기능을 활용할 수 있습니다. 기타 향후 기술에는 VoiP 사용, 웹 서비스 및 HTTP 통신 스택의 스크립팅이 포함됩니다. 또 다른 고급 기술은 사용자가 봇넷 소프트웨어를 확산시키기 위해 정보를 익명으로 게시할 수 있는 인터넷 포럼이나 뉴스 그룹 및 기타 웹사이트를 사용하는 직접 전송을 사용하는 것입니다. 봇넷 노드는 그러한 웹사이트에 정보를 게시할 수 있습니다. 좀비 목동은 자신의 노드에서 보낸 정보를 익명으로 보고 지침을 내릴 수 있습니다. 그런 다음 봇넷 노드는 이 웹 사이트에서 새로운 지침을 쿼리하고 기타 메시지 기반 명령 및 제어 통신을 수행할 수 있습니다. 최신 봇넷 개발의 주요 특징은 시스템을 감염시킨 후 봇넷 노드를 다시 프로그래밍하거나 업데이트하는 기능입니다. 이 명령 및 제어 명령을 통해 노드는 업데이트 소프트웨어를 직접 다운로드하거나 감염된 특정 웹 사이트로 이동하여 업데이트 소프트웨어를 다운로드할 수 있습니다.
재프로그래밍 가능한 기능을 갖춘 봇넷은 새롭고 진보된 공격과 비밀 임무를 수행하기 위해 진화하면서 확장될 수 있기 때문에 지하 경제에서 매우 가치가 높습니다. 위에서 언급했듯이 은폐는 봇넷 기술의 핵심 기능입니다. Kracken과 Conficker 봇넷은 모두 시스템에 설치된 바이러스 백신 소프트웨어를 공격하고 비활성화합니다. 다른 봇넷은 임계값 감지 소프트웨어를 피하고 로컬 및 네트워크 보안 제품이 추적을 감지하지 못하도록 감염 시점과 통신 빈도를 의도적으로 사용자 정의합니다. 알고리즘 기술은 다음 방법입니다. 봇넷 개발자는 탐지를 피하기 위해 이 기술을 사용할 계획입니다. 이 기술에는 은밀한 통신 채널의 사용과 모방 및 포함된 콘텐츠(예: 이미지, 스트리밍 미디어, VoiP 등에 포함된 메시지)와 같은 메시지의 속기 기반 암호화가 포함됩니다. 공격 단계. 봇넷 수명주기의 마지막 단계는 공격 단계입니다. 대부분의 경우 이 공격은 단순히 감염된 바이러스를 운반하는 스팸을 보내는 것과 관련됩니다. 공격이 성공하면 봇넷 자체의 크기가 커집니다. 봇넷은 실제 거래 및 임대 거래의 일부로 스팸을 보내는 데에도 자주 사용됩니다. 이를 통해 피셔, 해커, 스패머, 바이러스 작성자가 봇넷을 사용하여 정보와 서비스를 판매할 수 있습니다. 봇넷은 정부 및 기업 시스템은 물론 기타 봇넷을 표적으로 삼아 대규모 서비스 거부 공격을 수행하는 데에도 사용됩니다. 일부 새로운 봇넷은 결함 주입기와 같은 다양한 해킹 도구와 기술을 사용하여 이미 침투한 네트워크를 추가로 공격하도록 진화할 수 있습니다. 예를 들어 Asprox 봇넷에는 SQL 주입 공격 도구가 포함되어 있고 또 다른 봇넷에는 무차별 SSH 공격 엔진이 포함되어 있습니다. 원격 공격을 수행하는 것 외에도 봇넷은 감염된 시스템과 사용자의 ID와 계정을 도용하기 위해 지속적인 로컬 공격을 수행할 수도 있습니다.