Squeak viruses (was Re: [VIRUS WARNING] Re: Check this)

ssadams at us.ibm.com ssadams at us.ibm.com
Thu Mar 2 03:39:02 UTC 2000

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


Sam S. Adams, IBM Distinguished Engineer, IBM Research
tie line 444-0736, outside 919-254-0736, email: ssadams at us.ibm.com
<<Hebrews 11:6, Proverbs 3:5-6, Romans 1:16-17, I Corinthians 1:10>>

"Paul FitzGerald" <pfitzgerald at fuzzymuffs.com> on 03/01/2000 06:50:35 PM

Please respond to squeak at cs.uiuc.edu

To:   squeak at cs.uiuc.edu
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 at merlintec.com>

> I found this very offensive - any viruses on this list should be written
> Squeak (or Python, at the very least!), don't you think?
> -- Jecel

More information about the Squeak-dev mailing list