트로이 목마와 바이러스의 차이점은 무엇이며, 패치란 무엇인가요?
컴퓨터 바이러스
컴퓨터 바이러스란 무엇인가요? 'H5N1', '대장균 O-157', 'HIV' 등 다른 바이러스처럼 인체에 해를 끼칠까요? 컴퓨터 바이러스는 귀하가 아니라 귀하의 컴퓨터 시스템에 해를 끼칠 수 있습니다. 실제로 컴퓨터 바이러스는 다른 프로그램을 지속적으로 복제하고 숨기고 감염시키는 매우 작은 프로그램 코드(보통 몇 KB)입니다. 그것은 우리 컴퓨터에서 실행되며 다양한 효과를 유발합니다. 컴퓨터의 프로그램이나 데이터가 사라지거나 변경될 수 있습니다. 컴퓨터 바이러스는 사람의 개입 없이 프로그램이나 시스템에서 확산될 수 있다는 점에서 다른 위협과 다릅니다. "프로그램 코드"는 실행 시 다른 컴퓨터 시스템 및 프로그램에 전파되는 불필요한 명령 집합으로 구성됩니다. 첫째, 감염되지 않은 프로그램이나 파일에 자신을 복사합니다. 이 프로그램이나 파일이 명령을 실행하면 컴퓨터 바이러스가 명령에 포함됩니다. 바이러스 작성자의 동기에 따라 이러한 지침은 메시지 표시, 파일 삭제, 미묘하게 데이터 변경, 컴퓨터 하드웨어 손상까지 모든 작업을 수행할 수 있습니다. 어떤 경우에는 컴퓨터 바이러스가 명령을 파괴할 의도가 없고 대신 디스크 공간, CPU 시간 또는 네트워크 연결을 점유합니다.
컴퓨터 바이러스----컴퓨터 바이러스란?
넓은 의미에서 컴퓨터 오작동을 일으키고 컴퓨터 데이터를 파괴할 수 있는 모든 프로그램을 총칭하여 컴퓨터 바이러스라고 합니다. 이 정의에 따르면 논리폭탄, 웜 등의 바이러스를 컴퓨터 바이러스라고 부를 수 있습니다.
1994년 2월 18일, 우리나라는 "중화인민공화국 컴퓨터정보시스템 보안보호조례"를 공식적으로 공포하고 시행하였다. "조례" 제28조에는 "컴퓨터정보"가 명시되어 있다. 시스템 보안 보호 규정" 바이러스는 컴퓨터 기능을 파괴하거나 데이터를 파괴하고 컴퓨터 사용에 영향을 미치며 스스로 복제할 수 있는 컴퓨터 프로그램에 컴파일되거나 삽입된 일련의 컴퓨터 명령 또는 프로그램 코드를 말합니다. "이 정의는 적법하고 권위가 있습니다.
인터넷이 대중화되면서 자바와 액티브X 기술이 포함된 웹페이지가 점차 널리 활용되기 시작했고, 일부 사악한 의도를 가진 사람들은 자바와 액티브X의 특성을 이용해 바이러스를 작성하기도 했다. 예를 들어 Java 바이러스는 저장 매체의 데이터를 파괴할 수 없지만 브라우저를 사용하여 Java 바이러스가 포함된 웹 페이지를 탐색하는 경우 Java 바이러스는 시스템 리소스가 모두 소모될 때까지 Windows가 계속 새 창을 열도록 할 수 있습니다. , 다시 시작하는 것 외에는 선택의 여지가 없습니다.
그래서 인터넷이 등장한 이후에는 컴퓨터 바이러스는 사용자에게 불편을 끼치는 한 컴퓨터 바이러스로 분류되어야 합니다.
바이러스에 대해 이야기해보겠습니다. 컴퓨터 바이러스에 대해 들어보신 적 있으신가요? 바이러스에 대해 들었을 때 두려워하지 마세요. 바이러스를 이해하면 대처하기 쉽습니다.
컴퓨터 바이러스는 우리가 흔히 의료생물학적 바이러스라고 부르는 것과는 다릅니다. 사실은 일종의 컴퓨터 프로그램이지만 이런 종류의 프로그램은 사람들에게 문제를 일으키고 어떤 일을 하도록 특별히 고안되었습니다. 손상, 다른 파일에 기생하며 계속해서 자신을 복사하고 다른 파일을 감염시키므로 전혀 좋은 효과가 없습니다. 컴퓨터 바이러스 공격의 증상은 무엇입니까?
컴퓨터가 바이러스에 감염된 후 공격이 없으면 탐지가 어렵습니다. 하지만 바이러스가 공격할 때 다음과 같은 사실을 쉽게 느낄 수 있습니다.
컴퓨터가 비정상적으로 작동할 때도 있고, 이유를 알 수 없을 정도로 작동이 멈추기도 하고, 갑자기 다시 시작되기도 하고, 프로그램이 전혀 실행되지 않을 때도 있습니다.
컴퓨터가 바이러스에 감염된 후 나타나는 증상은 비정상적으로 작동하고, 이유를 알 수 없는 충돌이 발생하고, 갑자기 다시 시작되고, 프로그램이 실행되지 않는 것입니다. 일부 바이러스가 공격하면 화면에 비가 가득 차고 일부는 화면에 나타나거나 심지어 대화 상자도 화면에 나타납니다. 이러한 바이러스는 일반적으로 파일을 파괴하며 어쨌든 매우 위험합니다. , 컴퓨터가 제대로 작동하지 않는 한, 바이러스에 감염되었을 가능성이 있습니다. 바이러스로 인한 피해는 자명합니다.
게다가 사람들은 바이러스가 소프트웨어만 파괴할 수 있고 하드웨어와는 아무 관련이 없다고 생각하곤 했습니다. 그러나 CIH 바이러스는 특정 상황에서 실제로 하드웨어를 파괴할 수 있기 때문에 이러한 통념을 깨뜨렸습니다.
컴퓨터 바이러스도 다른 프로그램과 마찬가지로 인간이 작성합니다. 바이러스 역시 인간이 프로그래밍한 것이기 때문에 이를 처리하는 방법도 있을 것이다. 가장 중요한 것은 바이러스를 예방하고 기회를 주지 않도록 다양한 안전 조치를 취하는 것입니다. 그 외에도 다양한 백신 프로그램을 사용하세요. 바이러스를 죽이고 컴퓨터에서 제거할 수 있습니다.
일반적으로 사용되는 바이러스 백신 프로그램에는 KV300, KILL 시리즈, Rising, PC CILLIN, NAV, MCAFEE 등이 있습니다.
컴퓨터 바이러스는 일반적으로 다음 범주로 나눌 수 있습니다:
1. 부트 섹터 컴퓨터 바이러스
2. p>3. 복합 컴퓨터 바이러스
4. 매크로 바이러스
5. 트로이 목마/트로이 목마
6. 바이러스/ 악성 프로그램 코드의 종류 및 제작 기법
부트섹터 컴퓨터 바이러스
1. 부트섹터 컴퓨터 바이러스는 이런 방식으로 확산됩니다. 컴퓨터 바이러스는 이전에도 디스크에 숨어 있었습니다. 시스템 파일이 시작되었습니다. 이러한 방식으로 컴퓨터 바이러스는 DOS 인터럽트 기능을 완전히 제어하여 바이러스 전파 및 파괴 활동을 수행할 수 있습니다. DOS 또는 Windows 3.1에서 실행되도록 설계된 부트 섹터 바이러스는 새로운 컴퓨터 운영 체제에 확산될 수 없으므로 이러한 컴퓨터 바이러스는 상대적으로 드뭅니다. 미켈란젤로(Michelangelo)는 부트 섹터 바이러스입니다. 부트섹터의 디스크와 하드디스크의 MBR을 감염시킨다. 이 컴퓨터 바이러스가 메모리에 상주하면 읽고 있는 디스크와 쓰기 금지되어 있지 않은 모든 디스크를 감염시킵니다. 또한 미켈란젤로는 3월 6일 감염된 컴퓨터의 모든 파일을 삭제할 예정이다.
2. 기생 바이러스라고도 알려진 파일 기반 컴퓨터 바이러스는 일반적으로 실행 파일(.EXE)을 감염시키지만 일부는 DLL, SCR 등과 같은 다른 실행 파일도 감염시킵니다. 컴퓨터 바이러스 공격은 감염된 파일이 감염되면 실행됩니다. 컴퓨터 바이러스는 사용자가 눈치 채지 못한 채 다른 실행 파일에 자신을 복사하고 원래 프로그램을 계속 실행합니다.
CIH는 매월 26일에 Windows95/98 .EXE 파일을 감염시켜 심각한 피해를 입힌다. 매달 26일에 이 컴퓨터 바이러스는 시스템 하드 드라이브의 일부 데이터를 무작위로 덮어쓰려고 시도하여 하드 드라이브가 원본 데이터를 읽을 수 없도록 만듭니다. 또한 이 바이러스는 FlashBIOS의 데이터를 파괴하려고 시도합니다.
3. 매크로 바이러스는 프로그램 파일이 아닌 데이터 파일을 공격한다는 점에서 다른 컴퓨터 바이러스 유형과 다릅니다.
매크로 바이러스는 특정 응용 프로그램 소프트웨어를 대상으로 하며 특정 응용 프로그램 소프트웨어에 첨부된 매크로 명령을 감염시킬 수 있습니다. 이메일 첨부 파일, 플로피 디스크, 파일 다운로드, 그룹 소프트웨어 등을 통해 쉽게 전파될 수 있습니다. Microsoft와 같은 통신 방법 워드와 엑셀. 매크로 바이러스는 익히기 쉬운 Visual Basic 또는 CorelDraw와 같은 프로그래밍 언어로 작성되었습니다. 매크로 바이러스는 1995년에 처음 발견되었으며 곧 가장 일반적인 유형의 컴퓨터 바이러스가 되었습니다. JulyKiller는 MSWord97 파일의 VB 매크로를 통해 확산되는 컴퓨터 바이러스입니다. 감염된 파일이 열리면 바이러스는 먼저 일반 템플릿(normal.dot)을 감염시키며, 열려 있는 다른 파일도 하나씩 감염시킨다. 이 컴퓨터 바이러스는 매우 파괴적입니다. 7월이면 바이러스는 c:\에 있는 모든 파일을 삭제합니다.
4. 트로이 목마 또는 트로이 목마는 합법적인 것처럼 보이지만 실제로는 실행 시 일부 악성적이고 부적절한 활동을 수행하는 프로그램입니다. 트로이 목마는 사용자의 비밀번호 정보를 훔치거나 하드 드라이브의 프로그램이나 데이터를 파괴하는 해킹 도구로 사용될 수 있습니다. 컴퓨터 바이러스와 달리 트로이 목마는 스스로 복제하지 않습니다.
이 전파 기술은 일반적으로 이메일의 게임 첨부 파일 등을 통해 컴퓨터 사용자를 속여 컴퓨터에 트로이 목마를 심도록 하는 것입니다. BackOrifice 트로이 목마는 1998년에 발견되었습니다. 이는 사용자가 간단한 콘솔이나 Windows 응용 프로그램을 사용하여 TCP/IP를 통해 컴퓨터를 원격으로 제어할 수 있는 Windows 원격 관리 도구입니다.
5. 웜은 스스로 복제하여 네트워크를 통해 확산될 수 있는 또 다른 프로그램입니다. 컴퓨터 바이러스와는 다소 다릅니다. 컴퓨터 바이러스는 일반적으로 다른 프로그램을 감염시키는 데 중점을 두지만 웜은 네트워크를 사용하여 확산되는 데 중점을 둡니다. 정의에 따르면 컴퓨터 바이러스와 웜은 공존할 수 없습니다. 인터넷이 대중화되면서 웜은 첨부 파일에 자신을 숨기고 짧은 시간 내에 여러 사용자에게 이메일을 보내는 등 이메일 시스템을 활용하여 복제했습니다. 일부 웜(예: CodeRed)은 소프트웨어의 취약점을 이용하여 확산되고 피해를 입힙니다. 1999년 6월에 발견된 Worm.ExploreZip은 자신을 복제하는 웜입니다. 실행되면 첨부 파일에 숨겨져 주소록의 수신자에게 이메일을 통해 전송됩니다. Windows 환경에서는 사용자가 첨부파일을 열면 자동으로 웜이 실행됩니다. Windows 95/98 환경에서 이 웜은 Explore.exe라는 이름으로 C:\windows\system 디렉터리에 자신을 복사하고 시스템이 시작될 때마다 웜이 자동으로 실행되도록 WIN.INI 파일을 변경합니다.
예방
1. 지적 재산권 존중 개념을 장려하고, 합법적인 원본 소프트웨어의 사용을 지원하며, 위조 소프트웨어 사용을 거부해야 합니다. '중독되는 컴퓨터가 정말로 줄어듭니다.
2. 결국 해독 소프트웨어는 중독된 데이터를 완전히 복원할 수 없습니다.
3. "깨끗하고 부팅 가능한" 응급 복구 디스크를 만듭니다. DOS 버전은 하드 디스크와 동일하며 다음 프로그램도 포함해야 합니다: FDISK.EXE, FORMAT.COM, UNFORMAT.COM , SYS.COM, UNDELETE.EXE, SCANDISK.EXE, 바이러스 백신 소프트웨어로 백업된 부팅 섹터 및 하드 디스크 파티션 테이블 파일 PCTOOLS 또는 Norton Utility와 같은 소프트웨어가 있는 경우 이를 사용하여 긴급 구조를 수행할 수 있습니다. CMOS 데이터나 재해 후 재구성 데이터도 복원할 수 있습니다. (쓰기 방지 라벨을 부착하는 것을 잊지 마세요.)
4. 사용하고 싶은 경우에도 먼저 바이러스 백신 소프트웨어로 검사한 후 다시 사용하세요.
5. 좋은 바이러스 백신, 바이러스 백신 및 해독 소프트웨어를 준비하여 사용하세요.
바이러스에 대한 올바른 기본 개념을 확립하고, 바이러스 감염과 공격의 원인을 이해하는 것이 개인의 경계심도 향상시킬 수 있습니다.
치료
다음 6단어 공식을 기억하세요:
1. 끄기(1단계; 전원 끄기)
2. 열기(2단계; 깨끗한 디스크로 부팅)
3. 검사(3단계; 바이러스 백신 소프트웨어로 바이러스 검사)
4. 제거(4단계; 바이러스가 발견되면 즉시 삭제)
5. 저장(5단계; 하드디스크 파티션이나 부팅영역에서 바이러스가 발견되면 '하드디스크 응급' 복구디스크 '데이터 복구'를 이용하거나, 클린 DOS 디스크에서 FDISK 명령어를 이용해 FDISK/를 실행) MBR을 사용하여 하드 디스크 파티션 데이터를 복구할 수도 있습니다. SYS C:(C는 중독된 디스크 디스크)에서 Agt를 실행하여 데이터를 복구할 수 있으면 하드 디스크를 다시 포맷해야 합니다.
6. 예방(8단계; OK! 귀하의 컴퓨터는 안전합니다. 그러나 향후 바이러스 침해를 방지하려면 바이러스 백신 소프트웨어를 자주 업데이트하여 완전하고 견고한 바이러스를 구축하는 것이 좋습니다.
트로이목마란?
트로이목마(이하 트로이목마)를 영어로 하면 '트로이목마', '트로이하우스'라고 한다. 그리스 신화의 트로이목마에서 따온 것입니다.
원격제어를 기반으로 한 해킹툴로 은폐와 무단의 성격을 가지고 있습니다.
소위 은닉이란 뜻입니다. 트로이 목마가 발견되는 것을 방지하기 위해 트로이 목마 설계자는 다양한 방법을 사용하여 트로이 목마를 숨길 것입니다. 이런 식으로 서버가 트로이 목마에 감염된 것으로 밝혀지더라도 "말"만 볼 수 있기 때문입니다. 구체적인 위치를 확인할 수 없습니다.
소위 비인증이란 제어 단말기가 서버에 연결되면 제어 단말기가 파일 수정, 레지스트리 수정, 파일 제어 등 서버 운영 권한의 대부분을 누리는 것을 의미합니다. 마우스, 키보드 등의 권한을 가지며, 이러한 권한은 서버가 부여하는 것이 아니라 트로이목마 프로그램을 통해 빼앗아가는 것입니다.
트로이 목마 개발 관점에서 보면 기본적으로 두 단계로 나눌 수 있습니다.
인터넷이 아직 UNIX 플랫폼을 기반으로 하고 있던 초기에는 트로이 목마가 만들어졌는데, 당시 트로이 목마 프로그램의 기능은 비교적 단순하여 시스템 파일에 프로그램을 내장하는 경우가 많았습니다. 점프 명령을 사용하여 실행했습니다. 이 기간 동안 대부분의 트로이 목마 설계자와 사용자는 상당한 네트워크 및 프로그래밍 지식을 갖고 있어야 합니다.
WINDOWS 플랫폼이 점점 대중화되면서 그래픽 작업을 기반으로 한 일부 트로이 목마 프로그램이 등장했습니다. 사용자 인터페이스의 개선으로 인해 사용자는 상대적으로 전문적인 지식을 많이 알지 않고도 트로이 목마를 능숙하게 조작할 수 있게 되었습니다. 침입도 자주 발생하는데, 이 기간 동안 트로이 목마의 기능이 점점 완벽해지기 때문에 서버에 미치는 피해도 더 크다.
그래서 트로이 목마는 오늘날까지 발전했으며 가능한 모든 방법을 사용해 왔습니다. 일단 트로이 목마에 의해 제어되면 컴퓨터에는 아무런 비밀도 없습니다.
참조: /365000/ShowPost.aspx
답변: Wanyan Kangkang - Tanhua Level 11 9-18 12:40
---- --- --------------------- --- ----------
DLL 트로이 목마 공개
트로이 목마를 자주 하는 친구들은 다 알 거라고 믿습니다 일부 트로이 목마의 특징이 있으며 자신이 가장 좋아하는 트로이 목마가 있습니다. 그러나 최근 몇 년 동안 등장한 "DLL 트로이 목마"가 무엇인지 아직도 모르는 친구들이 많습니다. "DLL 트로이 목마"란 무엇입니까? 일반 트로이 목마와 어떻게 다른가요?
1. DLL 기술부터 시작해 보겠습니다.
DLL 트로이 목마를 이해하려면 이 "DLL"이 무엇을 의미하는지 알아야 합니다. 시스템은 매우 인기가 있었습니다. 당시에는 프로그램 작성이 번거로웠는데, 각 프로그램의 코드가 독립적이어서 때로는 기능을 구현하기 위해 많은 코드를 작성해야 하기도 했고, 나중에 프로그래밍 기술이 발달하면서 프로그래머들은 많아졌다. 일반적으로 사용되는 코드 모음(일반 코드)을 별도의 파일에 넣어서 이 파일을 "라이브러리"라고 합니다. 프로그램 작성 시 이 라이브러리 파일을 컴파일러에 추가하면 이 라이브러리를 사용하여 별도의 작업 없이 모든 기능을 포함할 수 있습니다. 많은 코드를 직접 작성하는 기술을 "정적 링크"라고 합니다. 정적 연결 기술을 사용하면 피곤한 프로그래머가 안도의 한숨을 쉴 수 있으며 모든 것이 괜찮은 것 같습니다. 그러나 정적 링크는 당신이 전단지를 원하든 원하지 않든 모든 것을 당신의 손에 맡기는 무례한 판매원과 같기 때문에 좋은 일이 오래 가지 않는다는 것이 밝혀졌습니다. 라이브러리 파일에 포함된 특정 그래픽 효과만을 사용하려는 프로그램을 작성한다면, 이 때문에 라이브러리 파일이 가지고 있는 모든 그래픽 효과를 프로그램에 추가하고 꽃병 장식으로 보관해야 하는 것은 아닙니다. 그러나 이러한 꽃병은 길을 막았습니다. 컴파일러가 전체 라이브러리 파일을 포함했기 때문에 정적 연결 기술로 인해 최종 프로그램이 부피가 커졌습니다.
시대가 발전함에 따라 정적 연결 기술은 본질적인 단점으로 인해 프로그래머의 욕구를 충족시킬 수 없습니다. 사람들은 코드 중복 문제를 해결하기 위한 더 나은 방법을 찾기 시작합니다. 이후 윈도우 시스템이 등장했고, 마침내 시대의 분수령이 나타났다. Windows 시스템은 라이브러리 파일도 사용하는 "동적 링크"라는 새로운 링크 기술을 사용합니다. Microsoft는 이를 "동적 링크 라이브러리"라고 부릅니다. 즉, DLL의 이름입니다. 동적 링크 자체는 정적 링크와 다르지 않습니다. 또한 일부 독립된 파일에 공통 코드를 작성합니다. 그러나 Microsoft는 컴파일 측면에서 라이브러리 파일을 프로그램에 추가하지 않고 라이브러리를 만들었습니다. 파일 컴파일된 프로그램 파일에는 데이터 교환을 위한 인터페이스가 있습니다. 프로그래머가 프로그램을 작성할 때 특정 라이브러리 파일의 기능을 사용하려고 하면 시스템은 해당 라이브러리 파일을 메모리로 전송하고 프로그램에 연결하여 이를 점유합니다. 작업 프로세스를 수행한 다음 프로그램에서 사용할 함수를 실행하고 그 결과를 프로그램에 반환하여 표시합니다. 필요한 기능을 완료한 후 DLL 실행이 중지되고 전체 호출 프로세스가 종료됩니다.
Microsoft는 이러한 라이브러리 파일을 여러 프로그램에서 호출할 수 있도록 허용하여 비교적 완벽한 공유를 달성합니다. 프로그래머가 작성하려는 프로그램이 무엇이든 코드의 관련 DLL에 호출 문을 추가하여 모든 기능을 사용할 수 있습니다. 가장 중요한 점은 DLL이 추가 꽃병을 제공하지 않는다는 것입니다. 원하는 것은 무엇이든 제공하지만 원하지 않는 것은 제공하지 않습니다. 이런 식으로, 당신이 작성한 프로그램은 더 이상 많은 쓰레기를 가지고 다닐 수 없습니다. 남은 음식을 집으로 가져갈 수 없습니다. 그렇지 않으면 벌금이 부과됩니다. 이것은 뷔페입니다.
DLL 기술의 탄생으로 인해 프로그램 작성이 간단해졌습니다. Windows는 대부분의 프로그래머의 요구 사항을 충족하기에 충분한 수천 개의 기능 인터페이스를 제공합니다. 또한 Windows 시스템 자체는 수천 개의 DLL 파일로 구성됩니다. 이러한 DLL은 서로를 지원하여 강력한 Windows 시스템을 구성합니다. 정적 연결 기술을 사용한다면 Windows는 얼마나 커질까요? 나는 감히 그것에 대해 생각하지 않습니다.
2. 응용 프로그래밍 인터페이스 API
위에서 DLL 기술에 대한 일반적인 분석을 했습니다. 여기서 "인터페이스"가 무엇인지 언급했습니다. DLL은 정적 라이브러리 파일처럼 프로그램에 포함될 수 없기 때문에 함수를 구현하는 코드와 파일을 프로그램에 알리는 방법이 문제가 됩니다. Microsoft는 DLL 기술에 대한 표준 사양을 만들어 DLL 파일이 다음과 같은 많은 작은 파일을 열도록 했습니다. 치즈 구멍에는 각 구멍에 저장된 함수의 이름이 표시됩니다. 프로그램은 표준 사양에 따라 해당 구멍을 찾는 한 원하는 것을 얻을 수 있습니다. 프로그래밍 인터페이스) 각 DLL에는 인터페이스가 모두 다르므로 코드 중복이 최대한 줄어듭니다. Steven의 말을 빌리자면, API는 도구 상자입니다. 필요에 따라 드라이버와 렌치를 꺼낸 다음 사용 후 다시 제자리에 놓습니다. Windows에서 가장 기본적인 세 가지 DLL 파일은 kernel32.dll, user32.dll 및 gdi32.dll입니다. 이들은 함께 기본 시스템 프레임워크를 구성합니다.
3. DLL과 트로이 목마
DLL은 컴파일된 코드로, 독립적으로 실행될 수 없고 프로그램에서 호출해야 한다는 점을 제외하면 일반 프로그램과 크게 다르지 않습니다. 그렇다면 DLL과 트로이 목마는 어떤 관계가 있을까요? 프로그래밍을 배우고 DLL을 작성한 경우 DLL의 코드는 다른 프로그램과 거의 동일하며 코드 항목만 변경하면 DLL이 독립적이 됩니다. 프로그램. 물론 DLL 파일에는 프로그램 논리가 없습니다. 이는 DLL=EXE를 의미하지는 않습니다. 그러나 DLL은 여전히 기본 항목이 없는 EXE로 간주될 수 있습니다. . DLL 트로이 목마는 트로이 목마 기능과 DLL 파일에 작성된 일부 특수 코드를 구현하고 관련 API를 내보내는 코드입니다. DLL 트로이 목마의 개념입니다. 어떤 사람들은 동일한 코드가 트로이 목마 기능을 실현할 수 있으므로 직접 프로그래밍하면 되는데 굳이 DLL에 쓸 필요가 있느냐고 묻습니다. 이는 DLL이 실행될 때 이를 호출하는 프로그램의 프로세스에 직접 정지되고 다른 프로세스가 생성되지 않기 때문에 숨기기 위한 것입니다. 따라서 기존 EXE 트로이 목마와 비교하여 탐지하기 어렵습니다.
4. DLL 작업
DLL은 자체적으로 실행될 수 없지만 Windows가 DLL을 로드할 때 EXE의 메인과 마찬가지로 입력 기능이 필요합니다. 그렇지 않으면 시스템이 DLL을 참조할 수 없습니다. DLL. 따라서 Windows에서는 작성 사양에 따라 DLL을 로드하기 위한 기반으로 DLL에서 DllMain 함수를 찾아 실행해야 합니다. 이 함수는 API로 내보내지지 않고 내부 함수로 내보내집니다.
DllMain 함수를 사용하면 DLL이 메모리에 남아 있을 수 있지만 일부 DLL에는 DllMain 함수가 없지만 여전히 사용할 수 있습니다. 이는 Windows가 DllMain을 찾을 수 없을 때 다른 런타임에서 어떤 작업도 수행하지 않는 기본값을 찾기 때문입니다. DllMain 함수는 DLL을 로드할 수 있도록 시작합니다. 이는 DLL이 DllMain 함수를 포기할 수 있다는 의미는 아닙니다.
5. DLL 트로이 목마의 기술적 분석
이 시점에서 DLL 트로이 목마는 장점이 너무 많기 때문에 작성 시 DLL 방식을 사용하는 것이 더 좋지 않을까 하는 생각이 들 수도 있습니다. 미래에는 트로이목마가? 이는 사실이지만 DLL 트로이 목마는 일부 사람들이 생각하는 것만큼 작성하기가 쉽지 않습니다. 작동하는 DLL 트로이 목마를 작성하려면 더 많은 것을 알아야 합니다.
1. 트로이 목마 본체
트로이 목마 모듈을 API 라이브러리처럼 작성하지 마세요. 이것은 WINAPI를 개발하는 것이 아닙니다. DLL 트로이 목마는 여러 보조 기능을 내보낼 수 있지만 코드의 주요 실행을 담당하는 프로세스가 있어야 합니다. 그렇지 않으면 DLL은 작동은커녕 조각난 API 기능 묶음일 뿐입니다.
일부 공통 코드가 포함된 경우 모든 코드를 인터페이스로 여는 대신 자체적으로 호출하기 어려울 수 있는 자체 코드를 사용하는 대신 DLL에 일부 내부 함수를 작성하여 자신의 코드에서 사용할 수 있습니다. 불가능합니다.
DLL 트로이 목마의 표준 실행 진입점은 DllMain이므로 DLL 트로이 목마를 실행하기 위한 코드는 DllMain에 작성되거나 DLL 트로이 목마의 실행 모듈을 가리켜야 합니다.
2. 동적 임베딩 기술
Windows에서는 각 프로세스마다 고유한 전용 메모리 공간이 있으며, 이 전용 공간에서 다른 프로세스의 작동이 허용되지 않습니다. 여전히 다양한 방법을 사용하여 프로세스의 전용 메모리에 들어가 조작하는 것이 바로 동적 임베딩(Dynamic Embedding)으로, 실행 중인 프로세스에 자신의 코드를 삽입하는 기술입니다. 동적 임베딩에는 다양한 유형이 있으며 가장 일반적인 유형은 후크, API 및 원격 스레딩 기술입니다. 이제 대부분의 DLL 트로이 목마는 원격 스레딩 기술을 사용하여 정상적인 시스템 프로세스를 중단시킵니다. 실제로 Logitech의 MouseWare 드라이버는 모든 시스템 프로세스에서 정지됩니다. -_-
원격 스레드 기술은 다른 프로세스에서 원격 스레드(RemoteThread)를 생성하여 해당 프로세스에 들어갑니다. DLL 트로이 목마 범주에서는 이 기술을 "주입"이라고도 합니다. 캐리어가 삽입된 프로세스에 원격 스레드를 생성하고 DLL을 로드하도록 명령하면 트로이 목마가 중단되고 실행되며 새 프로세스가 생성되지 않습니다. . 트로이 목마를 중지하는 유일한 방법은 트로이 목마 DLL을 탑재하는 프로세스가 종료되도록 하는 것입니다. 그러나 많은 경우 우리는 무력합니다. Explorer.exe로 인해 중단됩니다. Windows를 닫으시겠습니까?
3. 트로이 목마의 시작
이 DLL을 시스템 시작 프로젝트에 추가하는 것만으로도 충분하다고 말하는 사람들도 있습니다. 대답은 '아니요'입니다. 앞서 언급했듯이 DLL은 독립적으로 실행될 수 없으므로 시작 프로젝트에서 직접 시작할 수 없습니다. 트로이 목마를 실행하려면 DLL이 다른 일반 프로세스를 따라잡을 수 있도록 동적 포함 기술을 사용하는 EXE가 필요합니다. 포함된 프로세스가 DLL의 DllMain 함수를 호출하여 트로이 목마가 실행되도록 해야 합니다. 트로이 목마가 종료되고 트로이 목마가 종료됩니다.
DLL 트로이 목마를 시작하는 EXE는 로더라고 합니다. 따라서 로더가 없으면 DLL 트로이 목마는 여러 조각으로 나누어져 로더를 보호할 수 있습니다. .. 너무 쉽게 파괴될 수 있어요. 늑대와 갱스터의 이야기를 기억하시나요? DLL 트로이목마는 Wolf Loader를 크롤링하는 Wolf입니다.
로더는 다양한 유형이 있을 수 있습니다. Windows rundll32.exe는 일부 DLL 트로이 목마에 의해 로더로 사용되기도 합니다. 이 유형의 트로이 목마에는 일반적으로 rundll32 프로세스를 직접 중단시키는 기술이 없습니다. rundll32의 메소드(rundll32.exe [DLL 이름], [함수] [매개변수])는 API를 호출하여 트로이 목마 모듈이 실행을 시작하도록 하는 것과 같은 이 DLL의 시작 기능을 의미합니다. rundll32를 종료하더라도 트로이 목마는 실행됩니다. 본문은 여전히 존재합니다. 최종 일반적인 예는 트로이 목마는 아니지만 3721 중국어 실제 이름입니다.
레지스트리의 AppInit_DLLs 키는 커버 레터 바이러스와 같은 일부 트로이 목마가 스스로 실행하는 데에도 사용됩니다. 레지스트리를 사용하여 시작하는 것은 시스템이 DllMain을 실행하여 트로이 목마 시작 목적을 달성하도록 하는 것입니다. 커널에 의해 전송되기 때문에 이 DLL의 안정성에 대한 요구 사항이 높습니다. 약간의 오류로 인해 시스템이 중단될 수 있으므로 이러한 종류의 트로이 목마는 거의 볼 수 없습니다.
svchost.exe를 통해 시작되는 좀 더 복잡한 DLL 트로이 목마도 있습니다. 이러한 종류의 DLL 트로이 목마는 NT-Service로 작성해야 하며, 진입 기능은 ServiceMain인 경우가 일반적이지만 은폐됩니다. 이런 종류의 트로이 목마도 좋고 로더도 보장됩니다.
4. 기타
이 시점에서 DLL 트로이 목마에 대해서도 이해해야 합니다. 걱정하지 마세요. DLL 트로이 목마는 그렇게 좋은데 왜 지금까지 발견된 DLL 트로이 목마가 그렇게 적은 걸까요? 이제 여기에 찬물을 부어보겠습니다. 가장 중요한 이유는 단 하나입니다. DLL 트로이 목마는 실행을 위해 시스템 프로세스에 매달려 있기 때문에 제대로 작성되지 않은 경우, 예를 들어 실행 오류를 방지하는 코드가 없거나 사용자 입력을 엄격하게 지정하지 않으면 DLL에 오류가 발생하고 충돌이 발생합니다. 긴장하지 마십시오. 일반 EXE도 이렇게 완료되지만 DLL이 충돌하면 연결된 프로그램이 시스템 프로세스에 연결된다는 점을 잊지 마십시오. 끔찍한. 따라서 공개 가능한 DLL 트로이 목마를 작성하려면 일반 EXE 트로이 목마에 비해 디버깅 및 검사 작업이 더 많이 필요합니다. 너무 많이 작성하면 짜증이 날 것입니다...
6. DLL 트로이 목마의 발견 및 사멸
시작 아이템에 설명할 수 없는 아이템이 있는지 자주 확인하세요. 이곳이 바로 늑대를 죽이는 한 더 이상 미쳐버릴 수 없는 곳입니다. DLL 트로이 목마 자체는 찾기가 더 어렵습니다. 로더에서 DLL 이름을 찾거나 프로세스에 어떤 익숙하지 않은 DLL이 첨부되어 있는지 확인하려면 특정 프로그래밍 지식과 분석 기술이 필요합니다. 아, 더 어렵네요. 그래서 가장 간단한 방법은 바이러스 백신 소프트웨어와 방화벽입니다(만병통치약이 아니니 오래 복용하지 마세요).
운영 체제를 "보완"하기 위해 온라인으로 최신 시스템 패치를 다운로드하는 것은 누구나 흔히 하는 일입니다. 그러나 인터넷에 핫픽스 및 SP 패치가 너무 많아 많은 사용자, 특히 컴퓨터에 직면했습니다. 초보자, 종종 방향 감각을 잃습니다. 그럼 핫픽스는 무엇이고, SP는 무엇이며, 이들 간의 연관성과 차이점은 무엇입니까?
핫픽스를 명확하게 이해하세요.
핫픽스는 특정 시스템 취약점이나 보안 문제를 구체적으로 해결하기 위해 출시된 작은 프로그램을 일반적으로 패치라고 합니다. . Microsoft가 개발한 다양한 버전의 Windows 운영 체제 및 Office 소프트웨어의 시장 점유율을 높이기 위해 소프트웨어 제품에서 발견된 주요 문제를 보안 공지 형식으로 신속하게 대중에게 공개합니다. 는 MS-, MS03-063과 같이 MS는 마이크로소프트(Microsoft)의 영문 약어이며, 03은 2003년을 나타내고, 063은 보안 공지 번호를 합쳐서 마이크로소프트가 2003년에 발표한 63번째 보안 공지이다.
이 발표에서 Microsoft는 Q(이 번호는 2003년 4월 이전에 사용됨) 또는 KB(이 번호는 2003년 4월 이후에 사용됨) 형식으로 숫자를 제공합니다. 이 숫자는 Microsoft 기술 자료에 있는 숫자입니다. Microsoft 기술 자료(support.microsoft.com)에서 이 문제와 해당 해결 방법에 대한 모든 기술 문서를 찾을 수 있습니다.
Windows XP 운영체제의 충격파 취약점에 대해 마이크로소프트가 발표한 패치 'WindowsXP-KB823980-x86-CHS32λ.exe'를 예로 들어 설명한다.
★Windows XP - 패치가 적용 가능한 운영 체제를 나타내는 제품 이름입니다. 가능한 옵션에는 Windows 2000, Windows XP, Windows Server 2003 등이 있으며 해당 운영 체제에 적용됩니다.
★KB823980——KB는 Knowledge Base의 약어로 기본 지식 베이스를 의미합니다. 823980은 Microsoft Knowledge Base의 패치에 해당하는 설명 항목의 번호입니다. microsoft.com/KBid=823950"을 방문하여 이 패치에 대한 기술 문서를 확인하세요.
★x86——예제에서 프로세서 플랫폼의 식별자인 x86은 패치가 Intel의 x86 아키텍처 프로세서 플랫폼에 적용됨을 나타냅니다. 가능한 옵션에는 x86, AMD64, IA64 등이 있습니다.
★CHS32λ.exe - 언어 버전 식별. 예제의 CHS는 패치가 Windows 운영 체제의 중국어 버전에 적용됨을 나타냅니다. 가능한 옵션은 CHS, ENU 및 INTL이며 각각 Windows 운영 체제의 중국어 버전, 영어 버전 및 다중 언어 버전에 적용됩니다. 32는 패치가 32비트 프로세서 플랫폼에 적용됨을 나타냅니다. 비공식 버전, 베타 버전일 뿐입니다.
팁: α, β, λ는 소프트웨어 테스트 프로세스의 세 단계를 나타내는 데 자주 사용됩니다. α는 일반적으로 내부 테스트에만 사용되는 첫 번째 단계입니다. 대부분의 결함이 있지만 여전히 결함과 허점이 있을 수 있습니다. 일반적으로 테스트를 위해 특정 사용자 그룹에게만 제공됩니다. λ는 현재 제품이 상당히 성숙된 단계이므로 다음 단계만 수행하면 됩니다. 특정 장소에서 테스트를 거쳐 추가로 최적화된 후 시장에 출시될 수 있습니다. 패치가 테스트 및 출시되기 전에 번호가 약간 수정됩니다. 즉, 끝에 있는 "32λ"가 제거됩니다. 따라서 충격파 패치의 공식 버전 이름은 "WindowsXP-KB823980-x86"이어야 합니다. -CHS.exe".
분명히 SP
SP는 Service Pack의 약자로 패치 패키지를 의미합니다. 마이크로소프트의 운영체제와 소프트웨어 제품에는 취약점이 많아 마이크로소프트는 이를 해결하기 위해 다양한 핫픽스를 자주 출시해야 하지만, 일반 사용자의 경우 자신의 컴퓨터에 특정 핫픽스가 설치되어 있는지 확인하는 것은 번거로운 작업이다. 핫픽스를 심는 것도 매우 번거로운 작업입니다. 이 문제를 해결하기 위해 Microsoft는 SP 패치 패키지를 출시하기 시작했습니다. SP 패치 패키지에는 SP 출시일 이전에 출시된 모든 핫픽스가 포함되어 있습니다. 즉, Hotfix는 특정 문제에 대한 단일 패치이며, SP에는 SP 출시일 이전의 모든 Hotfix 패치가 포함되어 있습니다. 따라서 SP 패치 패키지를 다운로드하여 설치하는 한 SP 출시일 이전에 핫픽스를 다운로드하여 설치할 필요는 없습니다. SP 패치 패키지는 출시일 순으로 정리되어 있어서 SP1, SP2, SP3...등이 있습니다.
Windows 운영 체제용 SP 패치 패키지는 스택형 패치 패키지입니다. 즉, SP2에는 이미 SP1의 모든 패치가 포함되어 있고 SP3에는 이미 SP2 및 SP1의 모든 패치가 포함되어 있음을 의미합니다. 예를 들어, Windows 2000에는 이제 SP1, SP2, SP3 및 SP4 패치 패키지가 있습니다.
그러나 Office 제품용 SP 패치 패키지는 중첩될 수 없습니다. 예를 들어 SP2에는 SP1 출시일부터 SP2 출시일까지의 모든 패치만 포함됩니다. 따라서 Windows 제품의 경우 사용자는 최신 SP 패치 패키지만 다운로드하여 설치하면 됩니다. Office 제품의 경우 모든 SP 패치 패키지를 다운로드하여 설치해야 합니다.
팁: 시스템에 어떤 패치가 적용되었는지 확인하려면 "시작→설정→제어판→프로그램 추가/제거"를 클릭하면 "프로그램 추가/제거" 창에 표시됩니다. "Windows XXXX"와 같은 "패치 패키지 - KB 823980" 옵션은 시스템에 적용하는 패치입니다. 또는 "시작 → 실행"을 클릭하고 팝업 실행 대화 상자에 "REGEDIT"를 입력하여 레지스트리 편집기를 엽니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix? 아래의 하위 키를 확인합니다. .시스템에 어떤 패치가 적용되었는지 확인할 수 있습니다