The Art of Computer Virus Research and Defense (Paperback)
暫譯: 電腦病毒研究與防禦的藝術 (平裝本)

Peter Szor

  • 出版商: Addison Wesley
  • 出版日期: 2005-02-03
  • 售價: $2,210
  • 貴賓價: 9.5$2,100
  • 語言: 英文
  • 頁數: 742
  • 裝訂: Paperback
  • ISBN: 0321304543
  • ISBN-13: 9780321304544
  • 相關分類: 資訊安全駭客 Hack
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

相關主題

商品描述

Description:

"Of all the computer-related books I've read recently, this one influenced my thoughts about security the most. There is very little trustworthy information about computer viruses. Peter Szor is one of the best virus analysts in the world and has the perfect credentials to write this book."

—Halvar Flake, Reverse Engineer, SABRE Security GmbH

Symantec's chief antivirus researcher has written the definitive guide to contemporary virus threats, defense techniques, and analysis tools. Unlike most books on computer viruses, The Art of Computer Virus Research and Defense is a reference written strictly for white hats: IT and security professionals responsible for protecting their organizations against malware. Peter Szor systematically covers everything you need to know, including virus behavior and classification, protection strategies, antivirus and worm-blocking techniques, and much more.

Szor presents the state-of-the-art in both malware and protection, providing the full technical detail that professionals need to handle increasingly complex attacks. Along the way, he provides extensive information on code metamorphism and other emerging techniques, so you can anticipate and prepare for future threats.

Szor also offers the most thorough and practical primer on virus analysis ever published—addressing everything from creating your own personal laboratory to automating the analysis process. This book's coverage includes

  • Discovering how malicious code attacks on a variety of platforms

  • Classifying malware strategies for infection, in-memory operation, self-protection, payload delivery, exploitation, and more

  • Identifying and responding to code obfuscation threats: encrypted, polymorphic, and metamorphic

  • Mastering empirical methods for analyzing malicious code—and what to do with what you learn

  • Reverse-engineering malicious code with disassemblers, debuggers, emulators, and virtual machines

  • Implementing technical defenses: scanning, code emulation, disinfection, inoculation, integrity checking, sandboxing, honeypots, behavior blocking, and much more

  • Using worm blocking, host-based intrusion prevention, and network-level defense strategies

 

Table of Contents:

About the Author.

Preface.

Acknowledgments.

I. STRATEGIES OF THE ATTACKER.

1. Introduction to the Games of Nature.

    Early Models of Self-Replicating Structures

      John von Neumann: Theory of Self-Reproducing Automata

      Fredkin: Reproducing Structures

      Conway: Game of Life

      Core War: The Fighting Programs

    Genesis of Computer Viruses

    Automated Replicating Code: The Theory and Definition of Computer Viruses

    References

2. The Fascination of Malicious Code Analysis.

    Common Patterns of Virus Research

    Antivirus Defense Development

    Terminology of Malicious Programs

      Viruses

      Worms

      Logic Bombs

      Trojan Horses

      Germs

      Exploits

      Downloaders

      Dialers

      Droppers

      Injectors

      Auto-Rooters

      Kits (Virus Generators)

      Spammer Programs

      Flooders

      Keyloggers

      Rootkits

    Other Categories

      Joke Programs

      Hoaxes: Chain Letters

      Other Pests: Adware and Spyware

    Computer Malware Naming Scheme

      <family_name>

      <malware_type>://

      <platform>/

      .<group_name>

      <infective_length>

      <variant>

      [<devolution>]

      <modifiers>

      :<locale_specifier>

      #<packer>

      @m or @mm

      !<vendor-specific_comment>

    Annotated List of Officially Recognized Platform Names

    References

3. Malicious Code Environments.

    Computer Architecture Dependency

    CPU Dependency

    Operating System Dependency

    Operating System Version Dependency

    File System Dependency

      Cluster Viruses

      NTFS Stream Viruses

      NTFS Compression Viruses

      ISO Image Infection

    File Format Dependency

      COM Viruses on DOS

      EXE Viruses on DOS

      NE (New Executable) Viruses on 16-bit Windows and OS/2

      LX Viruses on OS/2

      PE (Portable Executable) Viruses on 32-bit Windows

      ELF (Executable and Linking Format) Viruses on UNIX

      Device Driver Viruses

      Object Code and LIB Viruses

    Interpreted Environment Dependency

      Macro Viruses in Microsoft Products

      REXX Viruses on IBM Systems

      DCL (DEC Command Language) Viruses on DEC/VMS

      Shell Scripts on UNIX (csh, ksh, and bash)

      VBScript (Visual Basic Script) Viruses on Windows Systems

      BATCH Viruses

      Instant Messaging Viruses in mIRC, PIRCH scripts

      SuperLogo Viruses

      JScript Viruses

      Perl Viruses

      WebTV Worms in JellyScript Embedded in HTML Mail

      Python Viruses

      VIM Viruses

      EMACS Viruses

      TCL Viruses

      PHP Viruses

      MapInfo Viruses

      ABAP Viruses on SAP

      Help File Viruses on Windows–When You Press F1…

      JScript Threats in Adobe PDF

      AppleScript Dependency

      ANSI Dependency

      Macromedia Flash ActionScript Threats

      HyperTalk Script Threats

      AutoLisp Script Viruses

      Registry Dependency

      PIF and LNK Dependency

      Lotus Word Pro Macro Viruses

      AmiPro Document Viruses

      Corel Script Viruses

      Lotus 1-2-3 Macro Dependency

      Windows Installation Script Dependency

      AUTORUN.INF and Windows INI File Dependency

      HTML (Hypertext Markup Language) Dependency

    Vulnerability Dependency

    Date and Time Dependency

    JIT Dependency: Microsoft .NET Viruses

    Archive Format Dependency

    File Format Dependency Based on Extension

    Network Protocol Dependency

    Source Code Dependency

      Source Code Trojans

    Resource Dependency on Mac and Palm Platforms

    Host Size Dependency

    Debugger Dependency

      Intended Threats that Rely on a Debugger

    Compiler and Linker Dependency

    Device Translator Layer Dependency

    Embedded Object Insertion Dependency

    Self-Contained Environment Dependency

    Multipartite Viruses

    Conclusion

    References

4. Classification of Infection Strategies.

    Boot Viruses

      Master Boot Record (MBR) Infection Techniques

      DOS BOOT Record (DBR) - Infection Techniques

      Boot Viruses That Work While Windows 95 Is Active

      Possible Boot Image Attacks in Network Environments

    File Infection Techniques

      Overwriting Viruses

      Random Overwriting Viruses

      Appending Viruses

      Prepending Viruses

      Classic Parasitic Viruses

      Cavity Viruses

      Fractionated Cavity Viruses

      Compressing Viruses

      Amoeba Infection Technique

      Embedded Decryptor Technique

      Embedded Decryptor and Virus Body Technique

      Obfuscated Tricky Jump Technique

      Entry-Point Obscuring (EPO) Viruses

      Possible Future Infection Techniques: Code Builders

    An In-Depth Look at Win32 Viruses

      The Win32 API and Platforms That Support It

      Infection Techniques on 32-Bit Windows

      Win32 and Win64 Viruses: Designed for Microsoft Windows?

    Conclusion

    References

5. Classification of In-Memory Strategies.

    Direct-Action Viruses

    Memory-Resident Viruses

      Interrupt Handling and Hooking

      Hook Routines on INT 13h (Boot Viruses)

      Hook Routines on INT 21h (File Viruses)

      Common Memory Installation Techniques Under DOS

      Stealth Viruses

      Disk Cache and System Buffer Infection

    Temporary Memory-Resident Viruses

    Swapping Viruses

    Viruses in Processes (in User Mode)

    Viruses in Kernel Mode (Windows 9x/Me)

    Viruses in Kernel Mode (Windows NT/2000/XP)

    In-Memory Injectors over Networks

    References

6. Basic Self-Protection Strategies.

    Tunneling Viruses

      Memory Scanning for Original Handler

      Tracing with Debug Interfaces

      Code Emulation—Based Tunneling

      Accessing the Disk Using Port I/O

      Using Undocumented Functions

    Armored Viruses

      Antidisassembly

      Encrypted Data

      Code Confusion to Avoid Analysis

      Opcode Mixing—Based Code Confusion

      Using Checksum

      Compressed, Obfuscated Code

      Antidebugging

      Antiheuristics

      Antiemulation Techniques

      Antigoat Viruses

    Aggressive Retroviruses

    References

7. Advanced Code Evolution Techniques and Computer Virus Generator Kits.

    Introduction

    Evolution of Code

    Encrypted Viruses

    Oligomorphic Viruses

    Polymorphic Viruses

      The 1260 Virus

      The Dark Avenger Mutation Engine (MtE)

      32-Bit Polymorphic Viruses

    Metamorphic Viruses

      What Is a Metamorphic Virus?

      Simple Metamorphic Viruses

      More Complex Metamorphic Viruses and Permutation Techniques

      Mutating Other Applications: The Ultimate Virus Generator?

      Advanced Metamorphic Viruses: Zmist

      {W32, Linux}/Simile: A Metamorphic Engine Across Systems

      The Dark Future–MSIL Metamorphic Viruses

    Virus Construction Kits

      VCS (Virus Construction Set)

      GenVir

      VCL (Virus Creation Laboratory)

      PS-MPC (Phalcon-Skism Mass-Produced Code Generator)

      NGVCK (Next Generation Virus Creation Kit)

      Other Kits and Mutators

      How to Test a Virus Construction Tool?

    References

8. Classification According to Payload.

    No-Payload

    Accidentally Destructive Payload

    Nondestructive Payload

    Somewhat Destructive Payload

    Highly Destructive Payload

      Viruses That Overwrite Data

      Data Diddlers

      Viruses That Encrypt Data: The “Good,” the Bad, and the Ugly

      Hardware Destroyers

    DoS (Denial of Service) Attacks

    Data Stealers: Making Money with Viruses

      Phishing Attacks

      Backdoor Features

    Conclusion

    References

9. Strategies of Computer Worms.

    Introduction

    The Generic Structure of Computer Worms

      Target Locator

      Infection Propagator

      Remote Control and Update Interface

      Life-Cycle Manager

      Payload

      Self-Tracking

    Target Locator

      E-Mail Address Harvesting

      Network Share Enumeration Attacks

      Network Scanning and Target Fingerprinting

    Infection Propagators

      Attacking Backdoor-Compromised Systems

      Peer-to-Peer Network Attacks

      Instant Messaging Attacks

      E-Mail Worm Attacks and Deception Techniques

      E-Mail Attachment Inserters

      SMTP Proxy—Based Attacks

      SMTP Attacks

      SMTP Propagation on Steroids Using MX Queries

      NNTP (Network News Transfer Protocol) Attacks

    Common Worm Code Transfer and Execution Techniques

      Executable Code—Based Attacks

      Links to Web Sites or Web Proxies

      HTML-Based Mail

      Remote Login-Based Attacks

      Code Injection Attacks

      Shell Code—Based Attacks

    Update Strategies of Computer Worms

      Authenticated Updates on the Web or Newsgroups

      Backdoor-Based Updates

    Remote Control via Signaling

      Peer-to-Peer Network Control

    Intentional and Accidental Interactions

      Cooperation

      Competition

      The Future: A Simple Worm Communication Protocol?

    Wireless Mobile Worms

    References

10. Exploits, Vulnerabilities, and Buffer Overflow Attacks.

    Introduction

      Definition of Blended Attack

      The Threat

    Background

    Types of Vulnerabilities

      Buffer Overflows

      First-Generation Attacks

      Second-Generation Attacks

      Third-Generation Attacks

    Current and Previous Threats

      The Morris Internet Worm, 1988 (Stack Overflow to Run

 - Shellcode)

      Linux/ADM, 1998 (“Copycatting” the Morris Worm)

      The CodeRed Outbreak, 2001 (The Code Injection Attack)

      Linux/Slapper Worm, 2002 (A Heap Overflow Example)

      W32/Slammer Worm, January 2003 (The Mini Worm)

      Blaster Worm, August 2003 (Shellcode-Based Attack on Win32)

      Generic Buffer Overflow Usage in Computer Viruses

      Description of W32/Badtrans.B@mm

      Exploits in W32/Nimda.A@mm

      Description of W32/Bolzano

      Description of VBS/Bubbleboy

      Description of W32/Blebla

    Summary

    References

II. STRATEGIES OF THE DEFENDER.

11. Antivirus Defense Techniques.

    First-Generation Scanners

      String Scanning

      Wildcards

      Mismatches

      Generic Detection

      Hashing

      Bookmarks

      Top-and-Tail Scanning

      Entry-Point and Fixed-Point Scanning

      Hyperfast Disk Access

    Second-Generation Scanners

      Smart Scanning

      Skeleton Detection

      Nearly Exact Identification

      Exact Identification

    Algorithmic Scanning Methods

      Filtering

      Static Decryptor Detection

      The X-RAY Method

    Code Emulation

      Encrypted and Polymorphic Virus Detection Using Emulation

      Dynamic Decryptor Detection

    Metamorphic Virus Detection Examples

      Geometric Detection

      Disassembling Techniques

      Using Emulators for Tracing

    Heuristic Analysis of 32-Bit Windows Viruses

      Code Execution Starts in the Last Section

      Suspicious Section Characteristics

      Virtual Size Is Incorrect in PE Header

      Possible “Gap” Between Sections

      Suspicious Code Redirection

      Suspicious Code Section Name

      Possible Header Infection

      Suspicious Imports from KERNEL32.DLL by Ordinal

      Import Address Table Is Patched

      Multiple PE Headers

      Multiple Windows Headers and Suspicious KERNEL32.DLL Imports

      Suspicious Relocations

      Kernel Look-Up

      Kernel Inconsistency

      Loading a Section into the VMM Address Space

      Incorrect Size of Code in Header

      Examples of Suspicious Flag Combinations

    Heuristic Analysis Using Neural Networks

    Regular and Generic Disinfection Methods

      Standard Disinfection

      Generic Decryptors

      How Does a Generic Disinfector Work?

      How Can the Disinfector Be Sure That the File Is Infected?

      Where Is the Original End of the Host File?

      How Many Virus Types Can We Handle This Way?

      Examples of Heuristics for Generic Repair

      Generic Disinfection Examples

    Inoculation

    Access Control Systems

    Integrity Checking

      False Positives

      Clean Initial State

      Speed

      Special Objects

      Necessity of Changed Objects

      Possible Solutions

    Behavior Blocking

    Sand-Boxing

    Conclusion

    References

12. Memory Scanning and Disinfection.

    Introduction

    The Windows NT Virtual Memory System

    Virtual Address Spaces

    Memory Scanning in User Mode

      The Secrets of NtQuerySystemInform-ation()

商品描述(中文翻譯)

**描述:**
「在我最近讀過的所有與電腦相關的書籍中,這本書對我在安全方面的思考影響最大。關於電腦病毒的可信資訊非常少。彼得·索爾(Peter Szor)是世界上最優秀的病毒分析師之一,擁有撰寫這本書的完美資歷。」
—哈爾瓦·弗萊克(Halvar Flake),逆向工程師,SABRE Security GmbH

Symantec 的首席防毒研究員撰寫了當代病毒威脅、防禦技術和分析工具的權威指南。與大多數關於電腦病毒的書籍不同,《電腦病毒研究與防禦的藝術》是一本專門為白帽子(white hats)撰寫的參考書:IT 和安全專業人士負責保護其組織免受惡意軟體的侵害。彼得·索爾系統性地涵蓋了您需要知道的一切,包括病毒行為和分類、防護策略、防毒和蠕蟲阻擋技術等。

索爾展示了惡意軟體和防護的最新技術,提供專業人士處理日益複雜攻擊所需的完整技術細節。在此過程中,他提供了有關代碼變形和其他新興技術的廣泛資訊,以便您能預測和準備未來的威脅。

索爾還提供了有史以來最全面和實用的病毒分析入門指南——涵蓋從建立您自己的個人實驗室到自動化分析過程的所有內容。本書的內容包括:
- 發現惡意代碼如何在各種平台上進行攻擊
- 對惡意軟體的感染策略、內存操作、自我保護、有效載荷傳遞、利用等進行分類
- 識別和應對代碼混淆威脅:加密、變形和變異
- 精通分析惡意代碼的經驗方法——以及如何利用所學的知識
- 使用反組譯器、調試器、模擬器和虛擬機進行惡意代碼的逆向工程
- 實施技術防禦:掃描、代碼模擬、消毒、接種、完整性檢查、沙盒、蜜罐、行為阻擋等
- 使用蠕蟲阻擋、基於主機的入侵防禦和網絡級防禦策略

**目錄:**
- 關於作者
- 前言
- 感謝詞
- I. 攻擊者的策略
- 1. 自然的遊戲介紹
- 自我複製結構的早期模型
- 約翰·馮·諾依曼:自我複製自動機理論
- 弗雷德金:複製結構
- 康威:生命遊戲
- 核心戰爭:戰鬥程序
- 電腦病毒的起源
- 自動複製代碼:電腦病毒的理論和定義
- 參考文獻
- 2. 惡意代碼分析的魅力
- 病毒研究的常見模式
- 防毒防禦的發展
- 惡意程序的術語
- 病毒
- 蠕蟲
- 邏輯炸彈
- 特洛伊木馬
- 病菌
- 利用
- 下載器
- 拨號器
- 投放器
- 注入器
- 自動根植器
- 套件(病毒生成器)
- 垃圾郵件程序
- 洪水攻擊程序
- 鍵盤記錄器
- 根套件
- 其他類別
- 笑話程序
- 騙局:鏈信
- 其他害蟲:廣告軟體和間諜軟體
- 電腦惡意軟體命名方案
-
- ://
- /
- .
-
-
- [<devolution>]
-
- :
- #
- @m 或 @mm
- !
- 官方認可平台名稱的註解列表
- 參考文獻
- 3. 惡意代碼環境
- 電腦架構依賴性
- CPU 依賴性
- 作業系統依賴性