S
ScaredyKat
That was sarcasm, by the way. I don't know where you people get this stuff about me.
Zvi Netiv said:Saving 8 kb per file is dumb and shows total misunderstanding of executable
files structure and how they work. The point Raid tried to make was that he
could restore from his own overwriting "virus", which was one of a kind and a
dead end. Overwriters had no real presence in the wild, and shouldn't be
considered as virus at all since they do not preserve the host's
functionality.
The purpose of the integrity signature is not necessarily to restore infected
files, but mostly to provide a means to discriminate between viral changes and
benign ones (like the replacement of a program with a newer version, for
example). The selection of 66 bytes per file in IV's design was driven by the
above consideration, and not from recovery ones.
There are more infection schemes that the above method cannot recover.
Personally, I think that generic recovery of infected PE isn't worth the
Oversimplified and plain incorrect. FWIW, even 16 bit infectors aren't pure
prependers nor appenders. A simple example are COM infectors derived from
'Jerusalem' (there are well over a hundred strains, of which almost all became
common and were in the wild at one time or another) do both prepend and >append.
Raid demonstrated remarkable ignorance when making his claims. Cavity infectors
are all about the EXE header and are disinfected by header oriented recovery
methods (like in IV, and also implemented in NAV, Thunderbyte, and eSafe).
per secured file is useless and was less potent than the 36 significant bytes
per file used in IV (that's correct, of the 66 bytes per file, only 36 are
significant to restore an EXE object from infection, the rest are overhead
What you saw happen is trivial and one must be quite some ignorant to accept
primitive mangling as a valid test of generic recovery.
Before yelling foul, please learn the correct use of "then" and "than".
Zvi Netiv said:are all about the EXE header and are disinfected by header oriented recovery
methods (like in IV, and also implemented in NAV, Thunderbyte, and eSafe). Raid
proved to have no clue on the subject which is why he needed eight kbytes of
"database" per file.
per secured file is useless and was less potent than the 36 significant bytes
per file used in IV (that's correct, of the 66 bytes per file, only 36 are
significant to restore an EXE object from infection, the rest are overhead like
the filename and spare.
There is no parasitic file infector "subtype", all file infectors are parasitic
by definition.
Secondly, I didn't say that overwriters shouldn't be considered
as parasitic file infectors, but that they aren't viruses at all, by definition,
since they do not satisfy the very basic requirement of replicability.
As stated, all file infectors are parasitic, and overwriters aren't a virus
sub-type. They are just overwriters, or virus wannabe, if you prefer.
???
BTW, where from do you take the pretence to tell others what they should say or
not say, and how?
Wrong. Replication is the one requirement from which the "virus" definition
stems. That definition says nothing about the requirement on how many
generations replicability should persist in order to be considered a virus. Yet
general acceptance is that replicability should be maintained regardless of the
generation order. This is why "the infected hosts inherit the replication
ability of the affecting virus, in addition to maintaining the original
functionality of the host program or file", stems directly from the strict
definition of virus, and excludes overwiters and other virus-wannabe since they
hinder replicability.
The last part of the above is also the foundation to that virus infected files
are (theoretically) recoverable all. Which is not the case for files that were
modified by destructive code, like overwriters.
This is just an appearance. Maybe because unlike yourself, I do not insist
on posting when I have nothing worth saying, or contribute to the discussion.
Roger Wilco said:File infectors are a type of virus. A virus only has to create a viable copy of itself (as an overwriter does) to be considered
a virus. The copy can exist as a file, in a file, in a program, in a process, - whatever. Overwriters may not be sophisticated
viruses, but they are viruses.
Zvi Netiv said:The second generation of an overwriter may be called a Trojan, at best, but not
a virus. Which is why they are excluded from 'official' virus test suits.
Regards, Zvi
Zvi Netiv said:The second generation of an overwriter may be called a Trojan, at best, but not
a virus. Which is why they are excluded from 'official' virus test suits.
Roger Wilco said:There is a difference between 'calling' something a virus, and that something 'being' a virus. Opaserv.k's payload is
an overwriting virus, it overwrites data on disk, corrupting structures like the partition table, while also overwriting
program code in a way that allows it to run in turn. Granted it may not be included in official tests, but it is a virus
and will recurse if the affected disk is booted from with accessible virgin drives present.
* I'm reasonably sure that if it were a "parasitic file infector" then that 'SubType' would have been listed - so what
happens to your assertion that "There is no parasitic file infector "subtype", all file infectors are parasitic by definition."?
This clearly is a non-parasitic file infector.
Zvi said:Yukon is one of the many collection samples that AV producers and researchers
used to exchange between them in the early days of AV (the Yukon page is from
1991). The only "useful" purpose of that junk was to artificially beef up virus
lists and let AV producers claim that their product detect large numbers of
viruses. During my short lived membership with the NCSA I was several times
offered to subscribe to these junk samples, which I never did for obvious
reasons. Yukon is not a virus, for the same reason that Leprosy isn't one, nor
Raid's overwriters and I very much doubt that any self respecting AV producer
would add similar crap to their lists today.
[snip]^^^^^^^^^^^^^^^^^
[snip]Your claim that overwriters shouldn't be considered viruses was
wrong, and Saying that overwriters shouldn't be considered
parasitic file infectors (reference to sub-thread) is a given
and so wouldn't have been necessary to state.
There is no parasitic file infector "subtype", all file infectors
are parasitic by definition. Secondly, I didn't say that overwriters
shouldn't be considered as parasitic file infectors, but that they
aren't viruses at all, by definition, since they do not satisfy the
very basic requirement of replicability. [snip]No, I understand retaining the original function of a program (or set of programs) while adding new functionality constitutes a parasitic modification. This is an aid to the success of virally modified program files, but it is not a 'must do' thing for a program to be considered a virus.
Wrong. Replication is the one requirement from which the "virus" definition
stems. That definition says nothing about the requirement on how many
generations replicability should persist in order to be considered a virus. Yet
general acceptance is that replicability should be maintained regardless of the
generation order. This is why "the infected hosts inherit the replication
ability of the affecting virus, in addition to maintaining the original ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
functionality of the host program or file", stems directly from the strict ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
definition of virus, and excludes overwiters and other virus-wannabe since they
hinder replicability.
The last part of the above is also the foundation to that virus infected files
are (theoretically) recoverable all. Which is not the case for files that were
modified by destructive code, like overwriters.
Norman L. DeForest said:^^^^^^^^^^^^^^^^^
[,,,]
[snip]There is no parasitic file infector "subtype", all file infectors
are parasitic by definition. Secondly, I didn't say that overwriters
shouldn't be considered as parasitic file infectors, but that they
aren't viruses at all, by definition, since they do not satisfy the
very basic requirement of replicability. [snip]No, I understand retaining the original function of a program (or set of programs) while adding new functionality constitutes a parasitic modification. This is an aid to the success of virally modified program files, but it is not a 'must do' thing for a program to be considered a virus.
Wrong. Replication is the one requirement from which the "virus" definition
stems. That definition says nothing about the requirement on how many
generations replicability should persist in order to be considered a virus. Yet
general acceptance is that replicability should be maintained regardless of the
generation order. This is why "the infected hosts inherit the replication
ability of the affecting virus, in addition to maintaining the original ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
functionality of the host program or file", stems directly from the strict ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
definition of virus, and excludes overwiters and other virus-wannabe since they
hinder replicability.
The last part of the above is also the foundation to that virus infected files
are (theoretically) recoverable all. Which is not the case for files that were
modified by destructive code, like overwriters.
So the Junkie virus is only a virus *some* of the time?
It doesn't preserve the functionality of *.co_ files that it
infects as the signature bytes at the start of a compressed *.co_
file are essential to its functionality (that of being capable
of being uncompressed by EXPAND.EXE).
Norman L. DeForest said:[I think "Zvi Netiv" attribution was snipped at this level][snip]Wrong. Replication is the one requirement from which the "virus" definition
stems. That definition says nothing about the requirement on how many
generations replicability should persist in order to be considered a virus. Yet
general acceptance is that replicability should be maintained regardless of the
generation order. This is why "the infected hosts inherit the replication
ability of the affecting virus, in addition to maintaining the original ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
functionality of the host program or file", stems directly from the strict ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
definition of virus, and excludes overwiters and other virus-wannabe since they
hinder replicability.
The last part of the above is also the foundation to that virus infected files
are (theoretically) recoverable all. Which is not the case for files that were
modified by destructive code, like overwriters.
So the Junkie virus is only a virus *some* of the time?
It doesn't preserve the functionality of *.co_ files that it
infects as the signature bytes at the start of a compressed *.co_
file are essential to its functionality (that of being capable
of being uncompressed by EXPAND.EXE).
Why speaking of CO_ files and involving EXPAND, when you could simply state that
Junkie corrupts EXE files when renamed to COM?
Read my analysis on Junkie (I was the first one to isolate and report it) in
http://groups.google.com/[email protected]
(note that Bontchev pretends having received that analysis from me. ;-) The
truth is that I never sent it to him, but posted it on FIDO, where he got the
sheet from).
Your above statement proves at best that viruses aren't bug free. Junkie is a
COM file infector and multipartite that was fairly common in the DOS days and it
almost completely disappeared with the introduction of Windows 32 because it
hung the PC from first boot after having booted of an affected MBR. The reason:
Junkie's author opted to infect COM files on base of their extension name,
rather than checking the file structure. The problem was that from Windows 95
and on, COMMAND.COM is a renamed EXE file, not a true COM because its size
exceeded the 64 K segment size limit, and that file was the first one to become
infected (actually corrupted) when the OS attempted to load, and hung the PC.
Junkie is a virus since it qualifies to the definition in full, at least for 16
bit DOS. Junkie's anomaly doesn't change that, and the example contributes
nothing new to the discussion.
Norman L. DeForest said:]Why speaking of CO_ files and involving EXPAND, when you could simply state that
Junkie corrupts EXE files when renamed to COM?
Because Junkie infects any file with an extension that begins with "CO",
including *.CO_ files that are compressed .COM files. If EXPAND.EXE
doesn't see a proper signature, in the *.CO_ file, it generates no error
message whatsoever but just assumes that the file was not compressed and
copies the file as-is to the destination *.COM file. You now have an
unusable and non-functional but infectious *.COM file.
I don't think I need to. I ended up cleaning a whole pile of copies of
Junkie out of someone's system (and out of his master system disks with
dozens of *.CO_ files) using just DEBUG. This was over a Christmas
holiday week when every computer store in the city had closed for the
holidays and no antivirus software was available. I had to disassemble
some of the non-working files to find out that they were infected and to
find out how to clean them.
Actually, the virus only checked the first two characters of the
extension so it infected *.CO? files, only some of which were the
presumed intended target. *.COM, *.CO_, *.COW,
I was just asking. Your insistance that "maintaining the original
functionality of the host program or file" was a necessity to qualify
as a virus appeared to me to disqualify Junkie from being called a virus
since it *did* destroy the functionality of *.CO_ files that it infected.
I just wanted clarification on that.
I see. Yet there is a minor logical flaw in that presentation: Exceptions to
the rule do not imply that the rule is wrong, just that there are exceptions.
Bart Bailey said:Depending on the number of exceptions,
a "rule" might become a mere generalization.
I was just asking. Your insistance that "maintaining the original
functionality of the host program or file" was a necessity to qualify
as a virus appeared to me to disqualify Junkie from being called a virus
since it *did* destroy the functionality of *.CO_ files that it infected.
I just wanted clarification on that.
Roger said:I was saying that the only thing that must be able to execute in an infected
program file is the virus code [to qualify as a virus]
fluidly unsure said:Roger said:I was saying that the only thing that must be able to execute in an infected
program file is the virus code [to qualify as a virus]
How would you categorize a 'companion virus'? (HLLC in Symantecs
dictionary.) It doesn't infect a file (per se)
and some of them don't even replicate.
It looks to me like most of them qualify more as
rootkits than viruses since all they do is alter a core OS function.
Is this just another case of fuzzy definitions like confusing
virus/worm, spyware/adware, or hacker/cracker.
fluidly unsure said:Roger said:I was saying that the only thing that must be able to execute in an infected
program file is the virus code [to qualify as a virus]
How would you categorize a 'companion virus'? (HLLC in Symantecs
dictionary.) It doesn't infect a file (per se) and some of them don't
even replicate. It looks to me like most of them qualify more as
rootkits than viruses since all they do is alter a core OS function.
Is this just another case of fuzzy definitions like confusing
virus/worm, spyware/adware, or hacker/cracker.
Roger Wilco said:The Turing Machine virus model doesn't cover this scheme, ...
Some are only worm function (or even non-replicating malware) guardians or guerrilla tactic reinfestation schemes.
If it really was a failed virus infection, than it isn't a virus - but its daddy was (no guarantee of recursion) and if it
was not an only child and some were viable then daddy had proof. In fact this is part an parcel to the way virus
sample sets are maintained - they like the sample they use to be proven capable of viable offspring.
http://www.virusbtn.com/old/OtherPapers/VirLib/virlib.txt
2.5. Non-viruses.
Once all files are unpacked, the duplicates and the corruptions
removed, and the envelopes "peeled", one should not assume that all
that rest are viruses. Very often the collectors gather programs that
are not viruses, but which they feel belong to a virus collection.
Examples of such programs are Trojan horses, joke programs, demos
(programs that demonstrate some cute effect of a famous virus), first
generation viruses, utility programs, and so on.
[...]
The prevailing number of non-virus files in the virus collections are
Trojan horses. By definition, a Trojan horse is a program that claims
to perform some useful functions, while in the same time performing
intentionally some harmful ones.
3. Replication. [...]
There is one ultimate proof of whether a program contains a virus. If
part of its code is able to replicate and to attach itself to other
programs, then it is a virus, ...
Some intended viruses contain bugs, which make them attach themselves
to the attacked files, but either corrupt their own body, or set
incorrectly the entry point of the file - so that it never points to
the right place in the virus code.