A couple of categories for Squeak-based viruses:
getsNil - All of the ways to clobber your system by assigning nil to a
critical element in a system, environment or method dictionary (e.g.,
Smalltalk := nil)
roguePolymorph - All of the ways to use doesNotUnderstand: hacks to allow a
(presumably) malicious object to proxy for any other object. This is an
uncommon but pernicious bug that has occured naturally in Smalltalk
development over the years, where the wrong object gets assigned to a
variable, but it understands enough of the same protocol of the intended
object to function just long enough to get a long way from the original bug
before it no longer understands some message and raises the debugger. This
was first documented in one of my HOOPLA! articles back in the late '80s.
This type of virus can also be useful, such as the SelfInitializingObject
in old Smalltalk/V and AlwaysUnderstandingObject in the old KSC
WindowBuilder.
Regards,
Sam
Sam S. Adams, IBM Distinguished Engineer, IBM Research
tie line 444-0736, outside 919-254-0736, email: ssadams(a)us.ibm.com
<<Hebrews 11:6, Proverbs 3:5-6, Romans 1:16-17, I Corinthians 1:10>>
"Paul FitzGerald" <pfitzgerald(a)fuzzymuffs.com> on 03/01/2000 06:50:35 PM
Please respond to squeak(a)cs.uiuc.edu
To: squeak(a)cs.uiuc.edu
cc:
Subject: Re: [VIRUS WARNING] Re: Check this
Has anyone thought about how one would write a virus for squeak? I only
bring this up because the best way to protect yourself is to know your
enemy. Hey, maybe we could have a virus writing contest!??
Paul FitzGerald
----------
>From: "Jecel Assumpcao Jr." <jecel(a)merlintec.com>
> I found this very offensive - any viruses on this list should be written
in
> Squeak (or Python, at the very least!), don't you think?
>
> -- Jecel