Email Clients and digital signatures
Neil Williams
linux@codehelp.co.uk
Sun Jul 6 18:59:02 2003
--Boundary-02=_uWFC/960NTmT4Kn
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Description: signed data
Content-Disposition: inline
On Sunday 06 Jul 2003 2:00 pm, CL Gilbert wrote:
> Well yes, activeX has full control. But activeX is just another name
> for COM/DCOM which still can not simply run automatically. I turned off
> HTML because I got tired of being *asked* to run code that I knew I
> would not let run. Always, "so and so script wants to run, this can be
> dangerours", "Authorize?" This is what I always get from outlook
> express. A request, not an automatic run of a program. So much so that
> when Norton would catch virused emails, sometimes I would just view them
> anyway to see what they were going to try and do. Never failed that
> outlook express *asked* me if I wanted the script to run.
That would be reassuring if it was always true. That alert box isn't 100%=20
reliable. Do you think all vulnerabilities in IE have been patched? The=20
problem lies deeper - IE shouldn't be passing ALL requests to WSE. Don't re=
ly=20
on VBS detection to be the be all and end all protection. Behind the dialog=
=20
box is a mechanism that encourages trojans. Nimda was one those what bypass=
ed=20
the dialog and - on a DEFAULT system - would execute the payload.=20
> My IE settings (which is the renderer outlook express is using say this
> for security.
>
> 1. Download Signed ActiveX control ->Prompt
> 2. Download unsigned ActiveX controls ->Prompt
> 3. Initialize and script ActiveX controls not marked as safe ->Prompt
> 4. Run ActiveX controls marked as safe for scripting ->Prompt
Only by changing these settings to DISABLE can you be protected from the ne=
xt=20
generation of Nimda. Take an analogy to a firewall - you don't reject bad=20
packets, that involves CPU cycles, you DROP bad packets. In the time it tak=
es=20
to execute the CPU cycles to reject the bad packet and create a return pack=
et=20
to say what has happened, the packet is still active. You shouldn't leave t=
he=20
virus hanging in memory whilst waiting for a prompt box - it should be=20
disabled and a specific user action required before it can be activated.=20
Windows default is to leave it pending but still in memory. Dump it out of=
=20
memory and get confirmation later. Windows sits there and waits for the=20
dialog box to be answered, all the while the code is in memory. (Take a loo=
k=20
with a debugging memory pointer inspection tool.)
That is an example of a default Windows action that simply doesn't close th=
e=20
door. It just says: "Wait there, be a nice little thug and don't do anythin=
g=20
while my back is turned." Doh!
> These are default settings. They mean for any ActiveX control I will be
> asked first. Its not automatic.
You wish. Just because it's worked so far, or it works in 99.9% of cases, a=
re=20
you so confident that all vulnerabilities are patched?=20
The default is to keep the trojan in memory - active and able to launch an =
IRQ=20
or similar. Close the preview, close the file handle, release the memory an=
d=20
de-allocate the pointers. NOW ask the user. Even better, display a warning =
IN=20
PLACE of the message instead of annoying the user by throwing up a pesky=20
dialog box. In Scotland, there are road signs that say, "Frustation causes=
=20
accidents - let others pass". In Windows, it's "Continuous generation of=20
dialog boxes will inevitably lead to one being clicked OK when it should ha=
ve=20
been Cancel!" It only takes one.
> Only time its automatic is when A bug is found that someone exploits to
> make it automatic.
And that's hard?
That's your defence strategy??
One slip and the default action takes over. That is what is so dangerous - =
one=20
hole and EVERYTHING becomes automated, available and erasable. Security is=
=20
not a dialog box, it is a process, a strategy under constant review.=20
Security should acknowledge that there will ALWAYS be vulnerabilities and=20
that protection needs therefore to catch problems in the next layer. OE/IE=
=20
use a single layer security that isn't even worth the name.
> Yes, VBSCript runs automatically, but it can not access the stuff you
> are worried about without invoking some other code like activeX that it
> downloads first. and as shown above you are asked about the download.
It can open the door.=20
=46rom the I Love You records:
2. The virus disables your Windows Scripting Host's ability to pause befor=
e=20
executing script code, effectively thwarting the efforts of any other progr=
am=20
that might be able to discern whether the code is malicious before Windows=
=20
executes it. For Outlook to have time to notice an email attachment's type=
=20
and send up a warning, or for an anti-virus program to have the time to see=
=20
which application has been loaded, there needs to be a pause in the Scripti=
ng=20
Host's activity. Here, the virus takes away that pause. This makes it=20
impossible for Outlook to stop itself and renders it more difficult (though=
=20
not impossible) for an anti-virus program to step in and stop damage from=20
happening.
Next, the ILOVEYOU virus makes it possible for another virus or some other=
=20
script -- for instance, one embedded in a Web page -- to come into your=20
system and potentially inflict significantly more damage. The virus asks yo=
ur=20
computer for the name of the directory where Internet Explorer downloads it=
s=20
files. Next, it checks for the presence of a file that theoretically could =
be=20
created by a second virus or by a "Trojan horse" script.
http://www.ivillage.com/click/experts/computingcoach/articles/0,,272527_756=
66,00.html
> > Not true. A site does not need a certificate to execute ActiveX
> > elements. Nor does it need to be on a website - as the quote showed, it=
is=20
> > easier to execute from an HTML email where certificates have no impact.
>
> As I have shown above, my default IE settings disagree with you. And as
> I have said above, HTML emails are rendered using IE.
I said that too. Only I meant that as a PROBLEM not a solution! The default=
=20
settings are not reliable. The settings themselves are stored in universall=
y=20
readable form and can be changed by any single attack that DOES get through=
=2E=20
You would never know. One Nimda, one registry change, a flood begins. The=20
dialog box could still be generated, this time by the trojan!!
> Never had a virus. =20
How do you know? Anti-virus scans never claim to catch 100%.
http://www.staysafeonline.info/press/060403.pdf
86% thought they were safe.
11% were.
91% of the computers had what AOL categorized as spyware installed.
> I read the below email and Still just plain
> disagree. This is not the default behavior. This is the behavior
Default: Action that is taken unless settings are changed. I'm not saying=20
Windows will do this in all installations - the risks can be reduced. A=20
default system is not patched, it is not secure and it will execute malicio=
us=20
code whilst sometimes giving the illusion of protection from a ridiculous=20
dialog box. What is more dangerous - a false positive or a false negative?=
=20
The dialog box is a false negative. "Nothing is wrong" when it can easily m=
iss=20
specific threats.
> always indicated when a new bug is found. "so and so bug...may allow
> user to run arbitrary code on users machine..." These announcements
> make no sense because you are saying anyone can at anytime run arbitrary
> code on your machine anyway.
I never said that. I maintain that the default action within Windows is to=
=20
execute code without even seeking permission. A few paper-thin single layer=
=20
devices (like that dialog box) don't change what lies beneath. The fact tha=
t=20
this dialog box has already been evaded should illuminate the risk!
What I did say was that 'running arbitrary code' does not mean a quick game=
of=20
Solitaire!
> *Show me* some example code and I will believe you.
Why? Are you going to wait for someone else with different intentions to=20
finish the job before you do anything about it?
(example code NOT sent to a publicly archived list!!)
=2D-=20
Neil Williams
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
http://www.codehelp.co.uk
http://www.dclug.org.uk
http://www.wewantbroadband.co.uk/
--Boundary-02=_uWFC/960NTmT4Kn
Content-Type: application/pgp-signature
Content-Description: signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQA/CFWuiAEJSii8s+MRAryhAJ4jjEB+jkwjekl0/KwTQoKHr5iLRACeOAmt
b+PKZYX3c/O6r1mLS7k2Z0s=
=VC6e
-----END PGP SIGNATURE-----
--Boundary-02=_uWFC/960NTmT4Kn--