finding revlet limits in a controlled environment
Phil Davis
revdev at pdslabs.net
Tue Dec 8 11:28:57 EST 2009
I'm answering my own question - see below. Maybe it will answer
questions that come up in your world.
Phil
Phil Davis wrote:
> Hello -
>
> My client wants to sell revlet-based software to his customers in a
> large US govt agency. If they are able to download & install the
> revweb plugin, we don't know what limitations to a revlet's
> capabilities might be enforced by IT in their computing environment.
> To answer this question, we've built a web site his customers can use
> in their world that steps them through a series of revlets that each
> try different kinds of activity. The activities include:
>
> * load the plugin and do nothing
> * create, read, rename, delete a file on the local HD
> * get a web URL (google.com)
> * run a shell command ("dir" or "ls")
> * create, delete a stack in memory; get a stackfile from a web server
> * print to their printer
>
> Those are all the tests so far. The test web site emails the revlet
> test results back to me.
>
> Now my question:
> Are we testing the right things? If not, what else should we test for?
>
Here's a response from an off-list, non-Rev-user, IT network security
friend of mine:
> As for what apps can/can't do in any, or large enterprise sized
> environments, is going to depend on several things... you can be
> assured of one thing: federal systems, and even state organizations,
> are getting locked down tighter and tighter all the time. Local
> installation is probably going to have to go thru if the app is a
> local install that will probably be the most difficult to get running
> 'vanilla' in anyone's environment with the level of security and
> access controls put on local systems and lock down of the registry.
>
> Here's what you can probably count on:
> 1) full read/write from and to the users' My Document and temp space.
> 2) outbound connections on port 80 and 443 (SSL v3 or TLS)
> 3) no inbound connections allowed
> 4) be prepared to illustrate the application/web tool security from a
> security scanner report (Nessus is a great open source tool that is
> kept up to date for vulnerabilities and provides risk mitigation
> instructions).
> 5) If the app/tool wants any elevated privileges and it will be run by
> the general user, probably is not going to be approved.
> 6) Every organization has (or not) its own security posture and
> policies. Those organizations with CISSP (Certified Information
> Systems Security Professional) don't always mean they are technical
> and may have to pass the review/approval down to frontline
> administrators with specific security skills. I've seen managers
> without any technical, let alone systems security expertise, get the
> CISSP cert and throw it around like they're the best thing since
> sliced bread....(all you have to do is mentions something about ports,
> proxy or routing and they will glass over like deer in the
> headlights)....
> 7) Don't expect any organization to give you their security policy.
> Their first and best answer will usually be 'no'. This is where your
> application design and specific requirements listed out will be
> helpful - they should be able to identify those items that work within
> their security and those that do not.
>
> One thing that should be considered are those organizations that are,
> have or will be utilizing virtualization such as terminal services,
> VMware or Citrix. These environments will be controlling the users'
> systems from services and resources on core servers or clusters. In
> these cases, even more restrictions may exist than normally exists on
> standard desktop environments. Virtual environments are at increased
> risk for implementation of apps/tools on a system that could crash the
> host and impact many users or resources.
>
> Speaking of desktops...the difference between desktop OS can vary. XP,
> Vista and now Windows 7 have different levels of access control and
> permissions. The enterprise is going to control these systems through
> their SMS or SUS services and global policies may restrict some of the
> things the application wants to do. Also be aware that more
> restrictive environments, such as the federal organizations, may be
> utilizing IDS/IPS (intrusion detection/prevention) clients that report
> to centralized management systems. Automated deployment of a tool in
> these high security environments could trigger risk alarms and create
> some confusion.
>
> I think the best thing is to be very specific about what types of
> files are written or read, the level of access each needs, the port
> calls/requests (ephemeral ports included), etc. The basics of the
> software design including those elements listed previously would be
> beneficial for those organizations that will require a security review
> and/or change control management decisions.
>
> The Nessus scanner is the one I used in the federal government and was
> the basis for directing an enterprise security management platform
> around which we developed an open source based tool for managing risk
> identification, mitigation and audit. It runs great on a Linux
> platform and has a ton of flexibility. The default settings will
> generate passive scans, though you can turn up the heat and do full on
> pen testing with it. The results it spits out are clear and easily
> understood. Most all come with a link that specifies the patch/fix
> required to clear the mitigation. Its vulnerability database is
> populated by the large white hat community. Rarely does it give false
> positives and they are generally corrected within a months time by
> Tenable. Its been a couple years since I built a Nessus scanner but
> the steps are pretty clear and easy for most anyone to do who can run
> any of the popular Linux distros.
>
> http://www.nessus.org/nessus/
>
> For those possible clients in the federal community, be prepared to
> wait for approvals...they typically have a hurry up and wait attitude.
--
Phil Davis
PDS Labs
Professional Software Development
http://pdslabs.net
More information about the use-livecode
mailing list