[Info-vax] OpenVMS Security (was: Re: Problem with Filezilla connecting to OpenVMS)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Dec 11 19:25:16 EST 2018


On 2018-12-11 18:40:14 +0000, Dave Froble said:

> Our users require SYSLCK.  On VAX it was simple, for me.  On Alpha it 
> was much harder, for me.  Ok, Dave's a dummy.  It was still much harder 
> for me.

OpenVMS is incredibly clunky, here.  Its handling of this and similar 
cases is woefully dated, and entirely brute-force.

> So, there is a UWSS, installed with privs, on every user system.  Can 
> it be a security issue?  I don't know.  I will admit that just about 
> anything could ultimately be a security issue.
> 
> First point, there are users with privs, and they can, and do, install 
> images with privs.  It happens.

The OpenVMS privilege design is somewhere between problematic and 
archaic.  Maybe VSI gets around to adding app-specific entitlements for 
signed apps, and provisioning-related support, and gets away from 
system-wide entitlements.  But that's several years out, at the 
earliest.  This akin to how OpenVMS resource and subsystem identifiers 
allowed apps to avoid needing heavy privileges, sandboxing and 
entitlements avoid needing privileges and help to isolate the access 
granted for other system-wide activities.  Not a panacea, but does 
increase the difficulty of exploitation.  Sandboxing and entitlements 
and provisioning and distributed app and system management are most of 
the foundation of a viable app container system, too.

Related reading:
https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html#//apple_ref/doc/uid/TP40011183 


What little (and old) OpenVMS app design doc suggests app isolation 
across processes here, too.  None too well, though.  And with some big 
gaps in what's available.  Some other operating systems provide 
mechanisms specifically intended to provide and simplify that 
isolation, too.

Entitlements are akin to OpenVMS identifiers that grant what would 
otherwise be privileged access to specific objects, though these 
entitlements grant access to specific operations and APIs and services, 
and these entitlements can be packaged directly with the apps and 
automatically granted to specific applications at app install and 
without resorting to an INSTALL-like process or end-user interactions 
in site-local startup files.  And the ability to digitally sign the app 
bundles against modifications, something that OpenVMS has long lacked 
outside of the install-time secure-delivery context with PCSI and 
VMSINSTAL.

> Second point, which you just don't seem to get.  One does what one has 
> to do to get the job done.  Without that, YOU DON'T EXIST!  It's just 
> that simple.

We all understand your point here, David.  Apps gotta app, or 
management gets cranky.

Downside of what's currently available on OpenVMS is that overhauling 
existing apps and of writing new apps securely can be somewhere between 
difficult and arcane on OpenVMS, and mistakes here can mean 
app-specific and sometimes system-wide vulnerabilities.

Many existing apps will only get security upgrades after code reviews 
or after breaches.  Which might well be approximately never, too.  Or 
at least not until the credit card and other financial data and 
passwords start showing up on the carding forums.

> So, can there be security issues?  Yes, there can, and most likely are. 
>   We do what we can.  Expect more, if you wish to do so.  Doesn't mean 
> you're being rational.  Doesn't mean you're going to get any 
> satisfaction.

You've just described how various operating systems and applications 
got themselves into trouble, too.  These compromises get accreted.  
That's part of computing, and part of installed bases.   But the 
addition of new paths leading away from the needs for these messes and 
these compromises is important for the mid- and longer-term success of 
the apps and the environment.

OpenVMS just isn't very good at creating secure apps.   What do I mean 
by this?  Well, I *dare* anybody reading here to write a secure OpenVMS 
client-server demo app using TLS, with both the client and the server 
cryptographically verifying the peer against interception, with 
encrypted network connection on, using commercial certs.  No tunnels 
and no VPNs for the client-server, and no IPsec requirements.  TLS 
only.  I *dare* you.  I'll be considerate here and not require the use 
of current TLS support (which doesn't yet exist on OpenVMS), nor will I 
require a secure distribution for the commercial root CA storage, nor 
will I expect you to write this app using Fortran, BASIC or COBOL. Nor 
will I expect you to achieve that with DECnet.  Nor will I require the 
use of the why-is-this-still-around CDSA. And this particular area 
isn't the only part of OpenVMS security and OpenVMS app development 
more generally that's stuck pre-millennial.

VSI advertising would be best closer to security self-effacement, and 
further from the current security self-immolation strategy, pending a 
whole lot of work to make OpenVMS more competitive.

TL;DR: your app needs SYSLCK because OpenVMS doesn't have a way to 
target the specific access without resorting to privileges directly or 
via UWSS or ilk.  The UWSS is often the best available approach for 
these requirements, but it's far from the best approach.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list