SlideShare a Scribd company logo
1 of 3
Download to read offline
- 27 -
Reprinted from the Proceedings of the 1990 SIGSMALL/PC Symposium on Small Systems published by ACM Press.
Adequacy of Checksum Algorithms for Computer Virus Detection
Doug Varney
Kansas State University
1.0 Introduction
Checksums, long used for random error detection in communica-
tions, is now being employed to detect changes for integrity
purposes. For example, checksums are being used for the
detection of computer viruses [POZ86]. The checksum algo-
rithrns for detecting random errors are not sufficient against an
entity that wishes to "fool" the checksum mechanism. This entity
wants to be able to insert a forgery in place of the original data
such that an unsuspecting user does not realize the forgery has
occurred. This paper describes checksum algorithms and features
of checksum algorithms to deter this type of forgery.
2.0 Checksums
A checksum, or digital signature, is any fixed length block
functionally dependent on every bit of the message, so that
different messages will have different checksums with a high
probability [DEN82]. A checksum is generated by a checksum
algorithm. Probably the most used checksum algorithm family is
that of Cyclical Redundancy Codes (CRC) which are used
extensively in communication. General checksum algorithms,
such as the CRCs must produce checksums with the following
features:
1) Even mapping - the probability of producing any
checksum is approximately equal to generating any
other checksum. Given a checksum of n bits this
probability is equal to 2**(-n).
2) Permutation Sensitivity - different ordering of data
items within a data set produce different checksums.
I.e. the checksum of ABC produces a different check-
sum than ACB.
3) Overdeterminism - the checksum is functionally
dependent on every bit of the data being checksummed.
If this were not the case then errors in the bits of the
data which did not affect the checksum would be
undetected.
Permission to copy without fee all or part of this material is granted pro-
vided that the copies are not made or distributed for direct commercial
advantage, the ACM copyrightnoticeandthe title of the publication and
its date appear, and notice is given thatcopyingis by permission of the
Association for Computing Machinery. To copy otherwise, or to republish,
requires a fee and/or specific permission.
© 1990 ACM 089791-347-7/90/0003/0280 $1.50
These features are sufficient for random errors or random bursts
of errors, but are not sufficient for an active attacker who
introduces calculated nonrandom errors.
3.0 Attacks Against Checksums
An attacker defeats a checksum algorithm, f(s,d)=c where s is the
seed, d is the data, and c is the checksum by determining a set of
data, D', to insert in place of the original data, D, such that the
checksum of D and D' are equal: f(s,D) = f(s,D') There are three
general attacks against checksums: brute force, birthday, and trap
door.
Brute Force Attack
A brute force attack involves generating many different sets of
data and corresponding checksums until a match with the
checksum of the original data is found. Typically only a small
portion of the original data is changed in order to maintain the
functionality of the original data. The last block of the changed
data is mutated until the proper checksum is found. With even
mapping, the probability of generating a checksum, with any
single mutation, that matches the original data is 2**(-n). It is
necessary to generate ln(2) * 2**n mutations before there is a
50% probability of a successful attack. For example, for a 16 bit
checksum approximately 40,000 mutations are necessary before
there is a 50% chance of success.
Birthday Attack
The birthday atttack is a forgery accomplished by the originator of
the data. This attack involves generating and storing many
variations of a original set of data and corresponding checksum
and many variations of the set of data and corresponding
checksums to be inserted. Since any pair of original data and
forged data provides a successful forger), the number of variations
needed to be generated is greatly reduced. A birthday attack will
succeed by producing a forgery 50% of the time after 2"*(n/2)
checksums. The standard birthday attack can only be accom-
plished by an attacker which has access to Lhe original data before
it is originally checksummed.
- 28 -
Trap Door Attack
A trap door is essential a short cut to determine a set of data to
insert as a forgery. If an algorithm exists to determine a set of
data that generates the same checksum and requires less computa-
tional effort than a brute force attack, then a trap door exists.
4.0 Features for protection against attackers.
The two basic features to protect against attackers are the length
of the checksum and the noninvertablity of the checksum
algorithm.
Length of the Checksum.
The length of the checksum is its the number of bits in the
checksum. The checksum should be of sufficient length such that
the cost of generating enough variations in a brute force attack is
unacceptably high to the attacker and, ff necessary, provide
protection against birthday attacks. A 32 bit length checksum
provides adequate protection from brute force attacks while 128
bit length checksum is necessary to provide protection from
birthday attacks [JUE86].
Noninvertable Algorithm
A noninvertable checksum algorithm is a function that cannot be
inverted. Thus given a checksum algorithm, f(s,d)=c there does
not exist either a function g(s,c)=d or h(c,d)=s. Either of these
functions lead to trap doors.
If there exists g(s,c)=d then the attacker can insert a additional
data segment knowing what the checksum should be, calculate the
checksum up to that point giving the seed, then calculate the
appropriate "filler" that will make the checksums match.
If there exists h(c,d)=s the attacker inserts the desired data
segment followed by two t'fller data segments. The first filler data
segment is mutated to give a series of checksums using f(s,d)=c.
The second filler data segment is mutated and a series of seeds
generated using h(c,d)=s, the checksums resulting from the first
filler is compared with the seeds calculated from the second filler.
A successful pair of filler blocks will be found on average in
2"*(n/2) generated checksums. This is a variation of the bkthday
attack.
Either of these inversions lead to trap doors. Trap doors are the
most serious threat because of the much reduced effort to generate
forgeries. Unfortunately there is no test to show that a trap door
does not exist for a checksum algorithm.
5.0 Construction Techniques
The construction of checksum algorithms that provide noninvert-
ablility is similar to those used in cryptography. The three
methods used are substitution, transposition and feedback.
Subsfitution involves replacing one block of original data with a
corresponding block from a ciphertext alphabet. Transposition is
the rearranging of blocks of data according to some scheme.
Feedback is the use of previous information in the computation of
a ciphertext block. Nonlinear feedback provides permutation
sensitivity and should be employed. When constructing check-
sum algorithms the following functions are useful: exclusive-or,
raising to a power, modular arithmetic and multiple equations
using the same data.
Along with cryptography, a fruitful source for parts of checksum
algorithms are random number algorithms. Though generally not
suitable for direct use, random number algorithms have many of
the same features that are desirable in checksum algorithms. A
good source for estabfished forms of checksum algorithms,
though either directly concerned with preventing Birthday Attacks
or checksums that are encrypted with the original set of data, is
Jueneman work [JUE83] [JUE86].
6.0 Tests for Checksum Algorithms
It is necessary to test 1) that the checksums generated by a
checksum algorithm provide an even mapping and 2) that the
checksum algorithm is noninvertable. Statistical methods are
employed for testing for even mapping. Three statistical tests to
test the even mapping property are chi-square, collision, and
binomial.
The chi-square test compares the expected distribution (even
mapping) with the checksums generated from executable
programs as data. Since the number of programs needed to have a
statistical significant number at each possible checksum is very
large (for adequate checksum lengths) the output range of possible
checksums is divided into equal groups. A checksum for any
program should have the same probability for each of the groups
due to even mapping. Thus a chi-square statistic for all the
checksums can be generated and compared to tell if statistically
significant.
The collision test is based on the fact that even though there are
many possible checksums while the number of checksum actually
generated is relatively small, we can expect some of the programs
to have the same checksum. Using the formulas in Knuth
[K_NU82] it is possible to tell if this number of "colfisions" is in
the expected range. The colfision test is probably only applicable
to checksums of length 32 or less, otherwise the number of
checksums generated will have to be very large in order to find
collisions.
The binomial test is a check to see ff each bit of a generated
checksum has equal probabifity of being a zero or one. To test
this bit wise probability the number of one (or zero) bits is
calculated for each checksum. The resulting distribution should
be a binomial distribution. The amount the generated distribution
differs from a binomial distribution can be tested for significance
using a chi-square test.
There is a difficulty in finding enough programs the generate
checksums for in order be able to test statistical significance.
Random numbers can be used to simulate programs for the
purposes of statistical significance.
- 29 -
The testing of a program for noninvertability is more difficult than
testing for even mapping because no standard method exists for
testing for noninvertability. Each algorithm needs to be scruti-
nized for possible noninvertability. Noninvertabilitymust be
considered in the case of existence of a general inversion
algorithm, where any (checksum, seed, data) can be inverted, and
specific inversion algorithms where only a specific combination
of (checksum, seed, data) can be inverted. Cohen provides an
example of a specific inversion of the original form of his
cryptographic checksum [COH86] [COH88].
In the course of our investigation we developed a checksum
algorithm that satisfied these tests and was efficient enough for
use on microcomputers.
7.0 Conclusions
In future we can expect viruses to actively attack virus detection
systems which use checksums to determine changes. A virus
attempts to determine a similar program, which it has infected,
that has the same checksum as the original uninfected program.
The virus can determine the infected program either by using a
brute force method or a trapdoor. In order to defeat these attacks
the checksum algorithm must have the features of a general
checksum algorithms (even mapping, permutation sensitivity, and
overdeterminism), be long enough to defeat a brute force attack,
and be noninvertable. The checksum algorithm must be tested for
suitability to provide even mapping and noninvertability. The
even mapping can be accomplished by statistical tests, but there is
no standard method of testing noninvertability.
As viruses become "smarter", checksum algorithms must increase
in complexity in order to provide protection. This paper outlines
the general methods to properly accomplish this complexity.
[KNU81]
[POZ861
Barbara, CA, 327-346.
Knuth, D. E., The Art of Computer Programming,
Volume 2, Seminumerical Algorithms, Addison-
Wesley Publishing Company, Reading, MA, 1981.
Pozzo, M. M., Gray, T. E., An Approach to
Containing Computer Viruses, Computers and
Security 6 (4), August 1987, 321-331.
References
[COH86]
[COH881
[DENS2]
[JUE831
[JUE86]
Cohen, F., A Cryptographic Checksum for
Integrity Protection, Computers and Security 6
(1987), 505-510.
Cohen, F., On the Implications of Computer
Viruses and Methods of Defense, Computers and
Security 7 (1988), 167-184.
Denning, D., Cryptography and Data Security,
Addison-WesleyPublishing Company, Reading,
MA, 1982.
Jueneman, R. R., Matyas, S. M., Meyer, C. H.,
Message Authentication with Manipulation
Detection Codes, IEEE Conference on Security
and Privacy 1983, 33-54.
Jueneman, R. R., A High Speed Manipulation
Detection Code, CRYPTO 86 (1986), Santa

More Related Content

What's hot

Architecture of a morphological malware detector
Architecture of a morphological malware detectorArchitecture of a morphological malware detector
Architecture of a morphological malware detectorUltraUploader
 
Cryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using VerilogCryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using Verilogijcncs
 
Mathematicians: Trust, but Verify
Mathematicians: Trust, but VerifyMathematicians: Trust, but Verify
Mathematicians: Trust, but VerifyAndrey Karpov
 
Image encryption using chaotic sequence and its cryptanalysis
Image encryption using chaotic sequence and its cryptanalysisImage encryption using chaotic sequence and its cryptanalysis
Image encryption using chaotic sequence and its cryptanalysisIOSR Journals
 
Exponential software reliability using SPRT: MLE
Exponential software reliability using SPRT: MLEExponential software reliability using SPRT: MLE
Exponential software reliability using SPRT: MLEIOSR Journals
 
Enhanced Hybrid Encryption Algorithm
Enhanced Hybrid Encryption AlgorithmEnhanced Hybrid Encryption Algorithm
Enhanced Hybrid Encryption AlgorithmShivaditya Jatar
 
A New Modified Version of Caser Cipher Algorithm
A New Modified Version of Caser Cipher AlgorithmA New Modified Version of Caser Cipher Algorithm
A New Modified Version of Caser Cipher AlgorithmIJERD Editor
 
Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...
Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...
Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...ijcisjournal
 
Advanced atpg based on fan, testability measures and fault reduction
Advanced atpg based on fan, testability measures and fault reductionAdvanced atpg based on fan, testability measures and fault reduction
Advanced atpg based on fan, testability measures and fault reductionVLSICS Design
 

What's hot (10)

Architecture of a morphological malware detector
Architecture of a morphological malware detectorArchitecture of a morphological malware detector
Architecture of a morphological malware detector
 
Bai_et_al_ACC_2015
Bai_et_al_ACC_2015Bai_et_al_ACC_2015
Bai_et_al_ACC_2015
 
Cryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using VerilogCryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using Verilog
 
Mathematicians: Trust, but Verify
Mathematicians: Trust, but VerifyMathematicians: Trust, but Verify
Mathematicians: Trust, but Verify
 
Image encryption using chaotic sequence and its cryptanalysis
Image encryption using chaotic sequence and its cryptanalysisImage encryption using chaotic sequence and its cryptanalysis
Image encryption using chaotic sequence and its cryptanalysis
 
Exponential software reliability using SPRT: MLE
Exponential software reliability using SPRT: MLEExponential software reliability using SPRT: MLE
Exponential software reliability using SPRT: MLE
 
Enhanced Hybrid Encryption Algorithm
Enhanced Hybrid Encryption AlgorithmEnhanced Hybrid Encryption Algorithm
Enhanced Hybrid Encryption Algorithm
 
A New Modified Version of Caser Cipher Algorithm
A New Modified Version of Caser Cipher AlgorithmA New Modified Version of Caser Cipher Algorithm
A New Modified Version of Caser Cipher Algorithm
 
Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...
Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...
Improvement of Search Algorithm for Integral Distinguisher in Subblock-Based ...
 
Advanced atpg based on fan, testability measures and fault reduction
Advanced atpg based on fan, testability measures and fault reductionAdvanced atpg based on fan, testability measures and fault reduction
Advanced atpg based on fan, testability measures and fault reduction
 

Viewers also liked

20080426 networking carzaniga_lecture01-02
20080426 networking carzaniga_lecture01-0220080426 networking carzaniga_lecture01-02
20080426 networking carzaniga_lecture01-02Computer Science Club
 
New error-detection (2)
New error-detection (2)New error-detection (2)
New error-detection (2)Nitesh Singh
 
Ccn unit-2- data link layer by prof.suresha v
Ccn unit-2- data link layer by prof.suresha vCcn unit-2- data link layer by prof.suresha v
Ccn unit-2- data link layer by prof.suresha vSURESHA V
 
The Data Link Layer
The Data Link LayerThe Data Link Layer
The Data Link Layerrobbbminson
 

Viewers also liked (7)

20080426 networking carzaniga_lecture01-02
20080426 networking carzaniga_lecture01-0220080426 networking carzaniga_lecture01-02
20080426 networking carzaniga_lecture01-02
 
New error-detection (2)
New error-detection (2)New error-detection (2)
New error-detection (2)
 
Ccn unit-2- data link layer by prof.suresha v
Ccn unit-2- data link layer by prof.suresha vCcn unit-2- data link layer by prof.suresha v
Ccn unit-2- data link layer by prof.suresha v
 
Communication model
Communication modelCommunication model
Communication model
 
Data link layer
Data link layer Data link layer
Data link layer
 
The Data Link Layer
The Data Link LayerThe Data Link Layer
The Data Link Layer
 
Tcp(no ip) review part1
Tcp(no ip) review part1Tcp(no ip) review part1
Tcp(no ip) review part1
 

Similar to Adequacy of checksum algorithms for computer virus detection

on false data-injection attacks against power system state estimation modelin...
on false data-injection attacks against power system state estimation modelin...on false data-injection attacks against power system state estimation modelin...
on false data-injection attacks against power system state estimation modelin...swathi78
 
JPJ1439 On False Data-Injection Attacks against Power System State Estimation...
JPJ1439 On False Data-Injection Attacks against Power System State Estimation...JPJ1439 On False Data-Injection Attacks against Power System State Estimation...
JPJ1439 On False Data-Injection Attacks against Power System State Estimation...chennaijp
 
On false data injection attacks against power system
On false data injection attacks against power systemOn false data injection attacks against power system
On false data injection attacks against power systemShakas Technologies
 
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...IEEEGLOBALSOFTSTUDENTPROJECTS
 
2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...
2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...
2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...IEEEGLOBALSOFTSTUDENTSPROJECTS
 
Comparative analysis of efficiency of fibonacci random number generator algor...
Comparative analysis of efficiency of fibonacci random number generator algor...Comparative analysis of efficiency of fibonacci random number generator algor...
Comparative analysis of efficiency of fibonacci random number generator algor...Alexander Decker
 
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...ijcsta
 
Iaetsd a survey on detecting denial-of-service attacks
Iaetsd a survey on detecting denial-of-service attacksIaetsd a survey on detecting denial-of-service attacks
Iaetsd a survey on detecting denial-of-service attacksIaetsd Iaetsd
 
Limiting Self-Propagating Malware Based on Connection Failure Behavior
Limiting Self-Propagating Malware Based on Connection Failure Behavior Limiting Self-Propagating Malware Based on Connection Failure Behavior
Limiting Self-Propagating Malware Based on Connection Failure Behavior csandit
 
Models and approaches for Differential Power Analysis
Models and approaches for Differential Power AnalysisModels and approaches for Differential Power Analysis
Models and approaches for Differential Power AnalysisAndrej Šimko
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)theijes
 
Probabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network trafficProbabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network trafficAlexander Decker
 
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...Stefano Dalla Palma
 
2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...
2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...
2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...IEEEGLOBALSOFTSTUDENTSPROJECTS
 
IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...
IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...
IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...IEEEMEMTECHSTUDENTPROJECTS
 
Hop by hop message authentication chapter 1
Hop by hop message authentication chapter 1Hop by hop message authentication chapter 1
Hop by hop message authentication chapter 1Selva Raj
 
M021201092098
M021201092098M021201092098
M021201092098theijes
 
Reduced Merge_FSM Pattern Matching Algorithm for Network Intrusion Detection
Reduced Merge_FSM Pattern Matching Algorithm for Network Intrusion DetectionReduced Merge_FSM Pattern Matching Algorithm for Network Intrusion Detection
Reduced Merge_FSM Pattern Matching Algorithm for Network Intrusion Detectionidescitation
 
Info mimi-hop-by-hop authentication
Info mimi-hop-by-hop authenticationInfo mimi-hop-by-hop authentication
Info mimi-hop-by-hop authenticationSelva Raj
 

Similar to Adequacy of checksum algorithms for computer virus detection (20)

on false data-injection attacks against power system state estimation modelin...
on false data-injection attacks against power system state estimation modelin...on false data-injection attacks against power system state estimation modelin...
on false data-injection attacks against power system state estimation modelin...
 
Os
OsOs
Os
 
JPJ1439 On False Data-Injection Attacks against Power System State Estimation...
JPJ1439 On False Data-Injection Attacks against Power System State Estimation...JPJ1439 On False Data-Injection Attacks against Power System State Estimation...
JPJ1439 On False Data-Injection Attacks against Power System State Estimation...
 
On false data injection attacks against power system
On false data injection attacks against power systemOn false data injection attacks against power system
On false data injection attacks against power system
 
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS On false-data-injection-attacks-...
 
2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...
2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...
2014 IEEE JAVA PARALLEL DISTRIBUTED PROJECT On false-data-injection-attacks-a...
 
Comparative analysis of efficiency of fibonacci random number generator algor...
Comparative analysis of efficiency of fibonacci random number generator algor...Comparative analysis of efficiency of fibonacci random number generator algor...
Comparative analysis of efficiency of fibonacci random number generator algor...
 
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
 
Iaetsd a survey on detecting denial-of-service attacks
Iaetsd a survey on detecting denial-of-service attacksIaetsd a survey on detecting denial-of-service attacks
Iaetsd a survey on detecting denial-of-service attacks
 
Limiting Self-Propagating Malware Based on Connection Failure Behavior
Limiting Self-Propagating Malware Based on Connection Failure Behavior Limiting Self-Propagating Malware Based on Connection Failure Behavior
Limiting Self-Propagating Malware Based on Connection Failure Behavior
 
Models and approaches for Differential Power Analysis
Models and approaches for Differential Power AnalysisModels and approaches for Differential Power Analysis
Models and approaches for Differential Power Analysis
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
Probabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network trafficProbabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network traffic
 
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
 
2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...
2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...
2014 IEEE DOTNET PARALLEL DISTRIBUTED PROJECT A system-for-denial-of-service-...
 
IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...
IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...
IEEE 2014 DOTNET PARALLEL DISTRIBUTED PROJECTS A system-for-denial-of-service...
 
Hop by hop message authentication chapter 1
Hop by hop message authentication chapter 1Hop by hop message authentication chapter 1
Hop by hop message authentication chapter 1
 
M021201092098
M021201092098M021201092098
M021201092098
 
Reduced Merge_FSM Pattern Matching Algorithm for Network Intrusion Detection
Reduced Merge_FSM Pattern Matching Algorithm for Network Intrusion DetectionReduced Merge_FSM Pattern Matching Algorithm for Network Intrusion Detection
Reduced Merge_FSM Pattern Matching Algorithm for Network Intrusion Detection
 
Info mimi-hop-by-hop authentication
Info mimi-hop-by-hop authenticationInfo mimi-hop-by-hop authentication
Info mimi-hop-by-hop authentication
 

More from UltraUploader

01 le 10 regole dell'hacking
01   le 10 regole dell'hacking01   le 10 regole dell'hacking
01 le 10 regole dell'hackingUltraUploader
 
00 the big guide sz (by dr.to-d)
00   the big guide sz (by dr.to-d)00   the big guide sz (by dr.to-d)
00 the big guide sz (by dr.to-d)UltraUploader
 
[E book ita] php manual
[E book   ita] php manual[E book   ita] php manual
[E book ita] php manualUltraUploader
 
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...UltraUploader
 
[Ebook ita - database] access 2000 manuale
[Ebook   ita - database] access 2000 manuale[Ebook   ita - database] access 2000 manuale
[Ebook ita - database] access 2000 manualeUltraUploader
 
(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)UltraUploader
 
(Ebook ita - inform - access) guida al database access (doc)
(Ebook   ita - inform - access) guida al database access (doc)(Ebook   ita - inform - access) guida al database access (doc)
(Ebook ita - inform - access) guida al database access (doc)UltraUploader
 
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
(Ebook   computer - ita - pdf) fondamenti di informatica - teoria(Ebook   computer - ita - pdf) fondamenti di informatica - teoria
(Ebook computer - ita - pdf) fondamenti di informatica - teoriaUltraUploader
 
Broadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitorBroadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitorUltraUploader
 
Botnetsand applications
Botnetsand applicationsBotnetsand applications
Botnetsand applicationsUltraUploader
 
Bot software spreads, causes new worries
Bot software spreads, causes new worriesBot software spreads, causes new worries
Bot software spreads, causes new worriesUltraUploader
 
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...UltraUploader
 
Bird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassemblyBird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassemblyUltraUploader
 
Biologically inspired defenses against computer viruses
Biologically inspired defenses against computer virusesBiologically inspired defenses against computer viruses
Biologically inspired defenses against computer virusesUltraUploader
 
Biological versus computer viruses
Biological versus computer virusesBiological versus computer viruses
Biological versus computer virusesUltraUploader
 
Biological aspects of computer virology
Biological aspects of computer virologyBiological aspects of computer virology
Biological aspects of computer virologyUltraUploader
 
Biological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networksBiological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networksUltraUploader
 

More from UltraUploader (20)

1 (1)
1 (1)1 (1)
1 (1)
 
01 intro
01 intro01 intro
01 intro
 
01 le 10 regole dell'hacking
01   le 10 regole dell'hacking01   le 10 regole dell'hacking
01 le 10 regole dell'hacking
 
00 the big guide sz (by dr.to-d)
00   the big guide sz (by dr.to-d)00   the big guide sz (by dr.to-d)
00 the big guide sz (by dr.to-d)
 
[E book ita] php manual
[E book   ita] php manual[E book   ita] php manual
[E book ita] php manual
 
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
 
[Ebook ita - database] access 2000 manuale
[Ebook   ita - database] access 2000 manuale[Ebook   ita - database] access 2000 manuale
[Ebook ita - database] access 2000 manuale
 
(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)
 
(Ebook ita - inform - access) guida al database access (doc)
(Ebook   ita - inform - access) guida al database access (doc)(Ebook   ita - inform - access) guida al database access (doc)
(Ebook ita - inform - access) guida al database access (doc)
 
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
(Ebook   computer - ita - pdf) fondamenti di informatica - teoria(Ebook   computer - ita - pdf) fondamenti di informatica - teoria
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
 
Broadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitorBroadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitor
 
Botnetsand applications
Botnetsand applicationsBotnetsand applications
Botnetsand applications
 
Bot software spreads, causes new worries
Bot software spreads, causes new worriesBot software spreads, causes new worries
Bot software spreads, causes new worries
 
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
 
Blast off!
Blast off!Blast off!
Blast off!
 
Bird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassemblyBird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassembly
 
Biologically inspired defenses against computer viruses
Biologically inspired defenses against computer virusesBiologically inspired defenses against computer viruses
Biologically inspired defenses against computer viruses
 
Biological versus computer viruses
Biological versus computer virusesBiological versus computer viruses
Biological versus computer viruses
 
Biological aspects of computer virology
Biological aspects of computer virologyBiological aspects of computer virology
Biological aspects of computer virology
 
Biological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networksBiological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networks
 

Adequacy of checksum algorithms for computer virus detection

  • 1. - 27 - Reprinted from the Proceedings of the 1990 SIGSMALL/PC Symposium on Small Systems published by ACM Press. Adequacy of Checksum Algorithms for Computer Virus Detection Doug Varney Kansas State University 1.0 Introduction Checksums, long used for random error detection in communica- tions, is now being employed to detect changes for integrity purposes. For example, checksums are being used for the detection of computer viruses [POZ86]. The checksum algo- rithrns for detecting random errors are not sufficient against an entity that wishes to "fool" the checksum mechanism. This entity wants to be able to insert a forgery in place of the original data such that an unsuspecting user does not realize the forgery has occurred. This paper describes checksum algorithms and features of checksum algorithms to deter this type of forgery. 2.0 Checksums A checksum, or digital signature, is any fixed length block functionally dependent on every bit of the message, so that different messages will have different checksums with a high probability [DEN82]. A checksum is generated by a checksum algorithm. Probably the most used checksum algorithm family is that of Cyclical Redundancy Codes (CRC) which are used extensively in communication. General checksum algorithms, such as the CRCs must produce checksums with the following features: 1) Even mapping - the probability of producing any checksum is approximately equal to generating any other checksum. Given a checksum of n bits this probability is equal to 2**(-n). 2) Permutation Sensitivity - different ordering of data items within a data set produce different checksums. I.e. the checksum of ABC produces a different check- sum than ACB. 3) Overdeterminism - the checksum is functionally dependent on every bit of the data being checksummed. If this were not the case then errors in the bits of the data which did not affect the checksum would be undetected. Permission to copy without fee all or part of this material is granted pro- vided that the copies are not made or distributed for direct commercial advantage, the ACM copyrightnoticeandthe title of the publication and its date appear, and notice is given thatcopyingis by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1990 ACM 089791-347-7/90/0003/0280 $1.50 These features are sufficient for random errors or random bursts of errors, but are not sufficient for an active attacker who introduces calculated nonrandom errors. 3.0 Attacks Against Checksums An attacker defeats a checksum algorithm, f(s,d)=c where s is the seed, d is the data, and c is the checksum by determining a set of data, D', to insert in place of the original data, D, such that the checksum of D and D' are equal: f(s,D) = f(s,D') There are three general attacks against checksums: brute force, birthday, and trap door. Brute Force Attack A brute force attack involves generating many different sets of data and corresponding checksums until a match with the checksum of the original data is found. Typically only a small portion of the original data is changed in order to maintain the functionality of the original data. The last block of the changed data is mutated until the proper checksum is found. With even mapping, the probability of generating a checksum, with any single mutation, that matches the original data is 2**(-n). It is necessary to generate ln(2) * 2**n mutations before there is a 50% probability of a successful attack. For example, for a 16 bit checksum approximately 40,000 mutations are necessary before there is a 50% chance of success. Birthday Attack The birthday atttack is a forgery accomplished by the originator of the data. This attack involves generating and storing many variations of a original set of data and corresponding checksum and many variations of the set of data and corresponding checksums to be inserted. Since any pair of original data and forged data provides a successful forger), the number of variations needed to be generated is greatly reduced. A birthday attack will succeed by producing a forgery 50% of the time after 2"*(n/2) checksums. The standard birthday attack can only be accom- plished by an attacker which has access to Lhe original data before it is originally checksummed.
  • 2. - 28 - Trap Door Attack A trap door is essential a short cut to determine a set of data to insert as a forgery. If an algorithm exists to determine a set of data that generates the same checksum and requires less computa- tional effort than a brute force attack, then a trap door exists. 4.0 Features for protection against attackers. The two basic features to protect against attackers are the length of the checksum and the noninvertablity of the checksum algorithm. Length of the Checksum. The length of the checksum is its the number of bits in the checksum. The checksum should be of sufficient length such that the cost of generating enough variations in a brute force attack is unacceptably high to the attacker and, ff necessary, provide protection against birthday attacks. A 32 bit length checksum provides adequate protection from brute force attacks while 128 bit length checksum is necessary to provide protection from birthday attacks [JUE86]. Noninvertable Algorithm A noninvertable checksum algorithm is a function that cannot be inverted. Thus given a checksum algorithm, f(s,d)=c there does not exist either a function g(s,c)=d or h(c,d)=s. Either of these functions lead to trap doors. If there exists g(s,c)=d then the attacker can insert a additional data segment knowing what the checksum should be, calculate the checksum up to that point giving the seed, then calculate the appropriate "filler" that will make the checksums match. If there exists h(c,d)=s the attacker inserts the desired data segment followed by two t'fller data segments. The first filler data segment is mutated to give a series of checksums using f(s,d)=c. The second filler data segment is mutated and a series of seeds generated using h(c,d)=s, the checksums resulting from the first filler is compared with the seeds calculated from the second filler. A successful pair of filler blocks will be found on average in 2"*(n/2) generated checksums. This is a variation of the bkthday attack. Either of these inversions lead to trap doors. Trap doors are the most serious threat because of the much reduced effort to generate forgeries. Unfortunately there is no test to show that a trap door does not exist for a checksum algorithm. 5.0 Construction Techniques The construction of checksum algorithms that provide noninvert- ablility is similar to those used in cryptography. The three methods used are substitution, transposition and feedback. Subsfitution involves replacing one block of original data with a corresponding block from a ciphertext alphabet. Transposition is the rearranging of blocks of data according to some scheme. Feedback is the use of previous information in the computation of a ciphertext block. Nonlinear feedback provides permutation sensitivity and should be employed. When constructing check- sum algorithms the following functions are useful: exclusive-or, raising to a power, modular arithmetic and multiple equations using the same data. Along with cryptography, a fruitful source for parts of checksum algorithms are random number algorithms. Though generally not suitable for direct use, random number algorithms have many of the same features that are desirable in checksum algorithms. A good source for estabfished forms of checksum algorithms, though either directly concerned with preventing Birthday Attacks or checksums that are encrypted with the original set of data, is Jueneman work [JUE83] [JUE86]. 6.0 Tests for Checksum Algorithms It is necessary to test 1) that the checksums generated by a checksum algorithm provide an even mapping and 2) that the checksum algorithm is noninvertable. Statistical methods are employed for testing for even mapping. Three statistical tests to test the even mapping property are chi-square, collision, and binomial. The chi-square test compares the expected distribution (even mapping) with the checksums generated from executable programs as data. Since the number of programs needed to have a statistical significant number at each possible checksum is very large (for adequate checksum lengths) the output range of possible checksums is divided into equal groups. A checksum for any program should have the same probability for each of the groups due to even mapping. Thus a chi-square statistic for all the checksums can be generated and compared to tell if statistically significant. The collision test is based on the fact that even though there are many possible checksums while the number of checksum actually generated is relatively small, we can expect some of the programs to have the same checksum. Using the formulas in Knuth [K_NU82] it is possible to tell if this number of "colfisions" is in the expected range. The colfision test is probably only applicable to checksums of length 32 or less, otherwise the number of checksums generated will have to be very large in order to find collisions. The binomial test is a check to see ff each bit of a generated checksum has equal probabifity of being a zero or one. To test this bit wise probability the number of one (or zero) bits is calculated for each checksum. The resulting distribution should be a binomial distribution. The amount the generated distribution differs from a binomial distribution can be tested for significance using a chi-square test. There is a difficulty in finding enough programs the generate checksums for in order be able to test statistical significance. Random numbers can be used to simulate programs for the purposes of statistical significance.
  • 3. - 29 - The testing of a program for noninvertability is more difficult than testing for even mapping because no standard method exists for testing for noninvertability. Each algorithm needs to be scruti- nized for possible noninvertability. Noninvertabilitymust be considered in the case of existence of a general inversion algorithm, where any (checksum, seed, data) can be inverted, and specific inversion algorithms where only a specific combination of (checksum, seed, data) can be inverted. Cohen provides an example of a specific inversion of the original form of his cryptographic checksum [COH86] [COH88]. In the course of our investigation we developed a checksum algorithm that satisfied these tests and was efficient enough for use on microcomputers. 7.0 Conclusions In future we can expect viruses to actively attack virus detection systems which use checksums to determine changes. A virus attempts to determine a similar program, which it has infected, that has the same checksum as the original uninfected program. The virus can determine the infected program either by using a brute force method or a trapdoor. In order to defeat these attacks the checksum algorithm must have the features of a general checksum algorithms (even mapping, permutation sensitivity, and overdeterminism), be long enough to defeat a brute force attack, and be noninvertable. The checksum algorithm must be tested for suitability to provide even mapping and noninvertability. The even mapping can be accomplished by statistical tests, but there is no standard method of testing noninvertability. As viruses become "smarter", checksum algorithms must increase in complexity in order to provide protection. This paper outlines the general methods to properly accomplish this complexity. [KNU81] [POZ861 Barbara, CA, 327-346. Knuth, D. E., The Art of Computer Programming, Volume 2, Seminumerical Algorithms, Addison- Wesley Publishing Company, Reading, MA, 1981. Pozzo, M. M., Gray, T. E., An Approach to Containing Computer Viruses, Computers and Security 6 (4), August 1987, 321-331. References [COH86] [COH881 [DENS2] [JUE831 [JUE86] Cohen, F., A Cryptographic Checksum for Integrity Protection, Computers and Security 6 (1987), 505-510. Cohen, F., On the Implications of Computer Viruses and Methods of Defense, Computers and Security 7 (1988), 167-184. Denning, D., Cryptography and Data Security, Addison-WesleyPublishing Company, Reading, MA, 1982. Jueneman, R. R., Matyas, S. M., Meyer, C. H., Message Authentication with Manipulation Detection Codes, IEEE Conference on Security and Privacy 1983, 33-54. Jueneman, R. R., A High Speed Manipulation Detection Code, CRYPTO 86 (1986), Santa