The problem with trying this as a “security” mechanism is how accurately
you validate the caller. I can think of several ways to bypass the
trivial techniques, and give you scenarios where more elaborate mechanisms
fail to allow legitimate users to access it. Why does a device even
/need/ protection-by-hack when there is a documented, supported
protection-by-ACL mechanism already in place.
I used to be active in another newsgroup, where, on a weekly basis,
soebody would present a p-baked idea (p==0.5 is half-baked) for p
typically < 0.1 and someti es less than 0.05. So my first reaction when
someone tries to propose some “security” mechanism, the chances that its
design is deeply flawed tend to be arbitrarily close to 1.0. The “I only
want this device accessed by program X” seems to be one of the common
designs. With more than 20 years of Windows experience, I cannot figure
out how to write such a filter driver, because every scheme based on
program name is trivial to defeat or too restrictive to work correctly in
real environments.
There ARE reliable techniques; a secure-key-exchange mechanism initiated
by the app can work, but you need to uderstand some cryptography to
understand how to do this right. But any question that starts “How can I
get the caller…” can only end badly. Perhaps it is because I used to
teach courses on how to crack Windows, to DoD security types, that I
understand all the ways these low-p-designs can fail. I would suggest
either using ACLs, or use suitably powerful cryptographic key exchange.
The best key exchange would be implemented by putting the secure key in
the device itself.
Knowing the caller is not only irrelevant, it is a broken idea from the
start.
joe
Pete, appreciated for the useful tricks given, I will implement it on
Windows 2000.
Don, I am using it to control only dedicated host is granted to open
certain document extensions.
From your statement,
“mistakes people make if they are trying to use this as a security
check…”
may I know what kind of mistake is that ? any link or reference will do
:o)
NTFSD is sponsored by OSR
OSR is hiring!! Info at http://www.osr.com/careers
For our schedule of debugging and file system seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer