This page is optimised with JavaScript 1.2. Currently your browser has JavaScript switched off.

Trust-No-Exe - An executable filter for Windows NT/2000/XP

It’s now a common daily occurrence to receive PE viruses such as the recent MyDoom via e-mail. On Windows
platforms, nine out of ten of last year's top viruses were spread via e-mail. While staff training is the
best deterrent, wouldn’t it be helpful to prevent users opening un-trusted executables yet being non-restrictive
on the opening documents and other less harmful files?

With typical figures saying 70% of network related attacks come from within your organisation
doesn't it make sense to prevent users running port scanners or other executable tools from floppy
disk or CDROM drives yet still allowing the use of these drives to transfer files and maintain
office efficiency.

Or perhaps you have caught users trying to install software on machines. While operating systems are
becoming more secure, it is still possible to install programs as a user or run programs directly
from the CDROM drive. Other users may choose to play games from CDROM drives?

The speed at which viruses can propagate must be a concern for all Administrators. Most sites now have
automatic updates running which frequently update their scanners, sometimes as frequently as twice daily.
However it takes time after a virus is released, to first be detected and identified and then to be
added to the virus definitions of all the major virus scanners before the site administrator even gets
their hand on it. Many people will remember the SQL Slammer Worm. Its peak occurred only three minutes
after it was released to the wild. At its peak it was scanning 55 million Internet hosts per second
and had infected at least 75,000 victims.

If any of these issues are of a concern, you need trust-no-exe.

Doesn't Windows NT/2000/XP have an execute permission?

Out of the box, Windows NT/2000 and XP together with a NTFS file system will provide the administrator
with an execute permission per file. This permission is shared with the transverse folder right and
can be used to prevent an executable from loading while still allowing it to be read or written to.
However when applied to an executable the user receives the rather bland message simular to that on your
right. This can confuse the user into thinking an error has occurred, rather than the fact they are not
permitted to access this file.

The standard Windows dialog. Can be confusing for many users.

However the biggest disadvantage to this scheme is the administrator has no control over drives which do not have
a NTFS file system or compatible network file system. Drives such as a 1.44MB 3.5" Floppy, CDROM, DVD, Zip Drive or
even some network drives do not have adequate security descriptors and thus cannot be secured. Removing
or disabling these drives is one option but doing so greatly effects the productivity that should be gained from
a PC Workstation.

What is trust-no-exe?

Trust-no-exe is a executable file filter. It attaches to the operating system and filters all
executable files, be it .exe .com .dll .drv .sys .dpl etc from all drives and all network shares against
a list of files or paths, you, the administrator provide as trusted applications. If a prohibited
executable (one not in the allow list or one explicitly defined in the deny list) is loaded, a popup box informs the user
with an intelligent message that can be customised to your site.

The Trust-No-Exe Dialog showing path, executable and switches. The text in the bottom line
can be customised to your site, for example "Please contact Joe Blobs ext 16 if you require access"

As Trust-no-exe will only allow executables to load from your allow list, enabling execution from
files in c:\winnt\ (or c:\windows on XP), and c:\program files\ and by using normal file permission
to restrict the write-ability of these folders, you can very quickly obtain a system which only allows
authorised programs which you have installed to be executed, while still allowing normal access (all
but execution) to other files.

On the other hand perhaps you are worried about all these PE viruses, executable Christmas/birthday
cards, screen savers etc that are coming in via email. While most of your users do not click on these
programs you are worried about security holes in your email client, either hiding extensions or embedding files
into html messages, or if the virus is so new your virus scanner has not yet got a signature for it. By using
Trust-no-exe, you can prevent users from opening executable email attachments. The popup message box can be
customised to remind users that it is company policy not to open executable files. But what happens if the
executable’s don’t have .exe or hidden extensions? How will trust-no-exe know if they are executable or data
files?

Trust-no-exe hooks into the operating systems routines for creating a process and loading it into
memory. If the operating system attempts to load any compiled code into memory ready to give it
execution as a process or thread, trust-no-exe will jump on it and prevent the code from being
loaded into memory. Therefore trust-no-one doesn’t rely on the file extension and can not be easily
fooled.

The Trust-No-Exe Control Panel Applet.

Trust-no-exe has been designed for ease of use. Out of the box, a control panel applet is installed
which allows for the configuration to be quickly modified. By default the program files and winnt/windows
directories are added which in many cases is all that is required to make a secured, yet functional
system.

New in version 3 is the ability to add a custom message. This allows you to put in a contact name and
number should your users require special access to certain files. The other unique feature of Trust-no-exe
is the file denied dialog is a single executable that is called by the trust-no-exe driver. Therefore
you can create your own dialog with company logo should the need arise. Please contact us if you would
like to explore this option. We can assist my providing a Visual C++.net or Borland C++ Builder Template.

It is just as important, if not more, to have trust-no-exe protection when logged in as an Administrator.
Trust-No-Exe protects your PC all the time regardless of what user is logged in. To install software, or run
executables from un-trusted locations, the administrator can utilise the control panel to stop the driver and
briefly interrupt filtering while the software is installed. Trust-No-Exe also protects tasks running in the
SYSTEM account.

Trust-No-Exe Version 3 now has support for installing and cloning settings to groups of computers.

Installing software and modify settings on multiple computers is never fun, yet alone efficient. With
Trust-no-exe you need only install the package on a single workstation. Once installed and appropriately
configured, you may utilise the Multiple Workstation functionality to remotely install it with your
configuration on other selected computers. All that is needed is a single click. Likewise changes to the
access list can be distributed almost instantly and with minimal fuss. Computer groups compatible
with beyondexec can be quickly
loaded, or you can effortlessly create your own using the built in computer picker and save it for later use.

Have you ever wanted to run a process such as an application installer, service pack, virus
signature update etc or shutdown a single or group of remote computers without having the
burden of installing any remote client on your target computers?

A problem that plagues Windows NT/2000/XP, is it's strict control over I/O ports. Unlike Windows
95, 98 or ME, Windows NT/2000/XP will cause an exception (Privileged Instruction) if an attempt is
made to access an I/O port that your program is not privileged to access. The PortTalk
driver allows existing programs to access selected I/O ports.