private void readObject(ObjectInputStream in) {
    new Runnable() {
        public void run() {
            while (true)
                new Thread(this).start();
        }
    }.run();
}

At 1MB of stack RAM per thread, this will thrash most machines in no
time.  Can a SecurityManager block thread creation?
Chris

-----Original Message-----
From: Peter Firmstone [mailto:[email protected]] 
Sent: Wednesday, September 29, 2010 3:58 PM
To: [email protected]
Subject: Re: Towards Internet Jini Services (dos attacks)

Zoltan Juhasz wrote:
> Sim,
>
> I think the important danger in Jini is the use of objects. In simple
> messaging communication (especially if non-binary), you don't have to
worry
> about objects. In Jini, any method can take and object as a parameter
that
> results in serialisation and unmarshalling at the receiver end. When
an
> object has something nasty executing during within the readObject()
method,
> it's too late to do anything.

This was a big problem in the days of single core, not as bad now. 
Perhaps we need a software watchdog?  Or an easy way to kill and 
quarantine a misbehaving service?  Or an unmarshalling executor thread 
pool, which passes the object after it has been deserialized.

Reply via email to