|
|
Polymorphic code
In computer terminology, polymorphic code is code that mutates while keeping the original algorithm intact.
Polymorphic code was invented in 1992 by the cracker Dark Avenger (a pseudonym) as a means of avoiding pattern recognition from antivirus-software.
This technique is sometimes used by computer viruses, shellcodes and computer worms to hide their presence. Most anti virus-software and intrusion detection systems attempt to locate malicious code by searching through computer files and data packets sent over a computer network. If the security software finds patterns that correspond to known computer viruses or worms, it takes appropriate steps to neutralize the threat. Polymorphic algorithms make it difficult for such software to locate the offending code as it constantly mutates.
Encryption is the most commonly used method of achieving polymorphism in code. However, not all of the code can be encrypted as it would be completely unusable. A small portion of it is left unencrypted and used to jumpstart the encrypted software. Anti-virus software targets this small unencrypted portion of code.
Malicious programmers have sought to protect their polymorphic code from this strategy by rewritting the unencrypted decryption engine each time the virus or worm is propagated. Sophisticated pattern analysis is used by anti-virus software to find underlying patterns within the different mutations of the decryption engine in hopes of reliably detecting such malware.
Example An algorithm that uses, for example, the variables A and B but not the variable C could stay intact even if you added lots of codes that changed the content in the variable C.
The original algorithm: Start: GOTO Decryption_Code Encrypted: ... lots of encrypted code ... Decryption_Code: *A = Encrypted Loop: B = *A B = B XOR CryptoKey *A = B A = A + 1 GOTO Loop IF NOT A = (Decryption_Code - Encrypted) GOTO Encrypted CryptoKey: some_random_number
The same algorithm, but with lots of unnecessary C-altering codes.. Start: GOTO Decryption_Code Encrypted: ... lots of encrypted code!!! ... Decryption_Code: C = C + 1 *A = Encrypted Loop: B = *A C = 3214 * A B = B XOR CryptoKey *A = B C = 1 C = A + B A = A + 1 GOTO Loop IF NOT A = (Decryption_Code - Encrypted) C = C^2 GOTO Encrypted CryptoKey: some_random_number
The code inside "Encrypted" ("lots of encrypted code") could then search the code between Decryption_Code and CryptoKey and remove all the code that alters the variable C. Before the next time the encryption engine is used, it could input new unnecessary codes that alters C, or even exchange the code in the algorithm into new code that does the same thing.
See also
This article is licensed under the GNU Free Documentation License at http://www.gnu.org/copyleft/fdl.html You may copy and modify it as long as the entire work (including additions) remains under this license. You must provide a link to http://www.gnu.org/copyleft/fdl.html
To view or edit this article at Wikipedia go to http://www.wikipedia.org/wiki/Polymorphic_code">follow this link.
All other content is copyright © 2000-2005 by WorldHistory.com. All rights reserved.
|
|
Find lost family and friends
FREE 14 Day Subscription
to Ancestry.com!
12 CDs for 1
at BMG Music Service
US Private Schools directory
US Public Schools Directory
BlueHost offers 1 GB of Web site space as low as $6.95 per month.
FREE 14 Day Subscription
to Ancestry.com!
|
|
|
|
©
2005 Music
Entertainment Network. A Cyprus
Roussos Music Entertainment Company. All Rights Reserved.
Articles
from
Wikipedia
Encyclopedia
are licensed under the GNU Free Documentation License. You may copy and
modify it as long as the entire work (including additions) remains under
this license. You must provide a link to http://www.gnu.org/copyleft/fdl.html.
All text is available under the terms of the GNU Free Documentation License.
All trademarks and service marks including Napster,
Rio
MP3 Player, iRock,
Creative
MP3 Player, iRiver,
Apple iPod
Portable
MP3 Players + iTunes,
eMusic,
Guitar
Center Musicians
Friend, Zzounds
Musical Instrument Equipment Store, BMG
Music Service, Columbia
House DVD Club, eBay,
Amazon,
Netflix,
Jamster,
Gamefly,
Friendster,
Music123
Musical Instruments, Billboard,
MTV,
Yahoo
Launch, Overture
Yahoo Search Marketing, MusicMatch,
Kazaa,
Kazaa
Lite, Morpheus
software, Real
Rhapsody, Bose,
Sheet
Music Plus, Billboard
Magazine, Rolling
Stone Magazine, Walmart
Downloads, Barnes
and Noble book store, CDUniverse,
Tower
Records, MSN
Music, MySpace,
Limewire,
WinMX,
Google
Adsense, Alibris,
TicketsNow,
MusicSpace,
uBid
are property of their respective owners. Music.us has no affiliation with
MySpace
or Friendster,
but offers alternative services. Disclaimer: Uploading or downloading
of copyrighted works without permission or authorization of copyright
holders may be illegal and subject to civil or criminal liability and
penalties. Please buy
music and refrain from any illegal downloading activity. User
submitted free content, including Wikipedia encyclopedia or modification
thereof by end users, do not reflect the views and opinions of Music.us
and are for educational and research development purposes. Our website
offers advanced search for bands and artists bio and albums and browse
options for artist band biographies resources and information. We offer
blogs and community building tools for authors, bands and users. The Music.us
Entertainment Network is web's most comprehensive one-stop shopping, community
networking and education site. Find song lyrics, guitar tablature, posters,
ring tones, free MP3 downloads and hourly updating news feeds on musicians
and any genre style including rock,
pop,
hip
hop, country,
christian,
rap,
classical,
folk,
dance,
latin,
R
and B, blues,
punk,
heavy
metal, alternative,
guitar,
bass,
drums,
gospel,
wedding,
arabic,
jazz,
soundtrack,
world,
reggae,
soul
and more. Privacy Policy
- Site Map
- MP3 - Music Downloads
- Song Lyrics
|