comp.lang.ada
 help / color / mirror / Atom feed
From: Erich <john@peppermind.com>
Subject: Re: Arbitrary Sandbox
Date: Fri, 10 Feb 2012 03:45:15 -0800 (PST)
Date: 2012-02-10T03:45:15-08:00	[thread overview]
Message-ID: <f6871548-79d2-4d2b-806a-910b60d7140b@l14g2000vbe.googlegroups.com> (raw)
In-Reply-To: bfeb9869-9323-4ad5-bdf8-af20593734ef@q8g2000pbb.googlegroups.com

On Feb 9, 11:47 pm, Rob Shea <zzyca...@gmail.com> wrote:
> I've been handed a project, but I'm not a programmer, much less an Ada
> programmer. The idea is a Windows test station sandbox where arbitrary
> applications can be executed, but cannot make system changes or
> transmit data.

From your requirements I'd say you should care more about the host
operating system than the language. Try NetBSD or a hardened Linux
variant as a host OS and perhaps some virtualization technology on top
of that. Notice that you can use Wine on a Linux system to run most
Windows programs. Even then it will be hard to make this really
secure. You might want to consider some way to automatically reinstall
the complete system on each reboot from a read-only device. There is
already plenty of software for that, because it's used in every public
computer lab and kiosk mode application.

Or do you want to write your own software PC emulator (without
virtualization)? That would be secure and Ada could be appropriate for
it (certainly more than C#) although most existing emulators are
written in C/C++. In any case expect a lot of work.

Third, if it's about running programs written in a particular perhaps
domain-specific language at an acceptable speed, then you could
implement this in a possibly JIT-compiled language that already allows
for secure sandboxing. For example, implementations of Java,
Javascript, and Racket have such modes. However, in that case the
security of the overall solution depends on the security of the 3rd-
party application, of course, and these implementations are written in
C/C++ and likely contain exploitable bugs.

In all three cases I'm afraid I'd have to agree with the other poster
that it seems you're trying to reinvent the wheel.



  parent reply	other threads:[~2012-02-10 11:47 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09 23:47 Arbitrary Sandbox Rob Shea
2012-02-10  0:10 ` Rob Shea
2012-02-10  2:01   ` Tez
2012-02-10  2:21     ` Rob Shea
2012-02-10  2:47       ` Tez
2012-02-10  4:11         ` Shark8
2012-02-13  2:23         ` BrianG
2012-02-10  4:17       ` tmoran
2012-02-10  4:41         ` Rob Shea
2012-02-10  6:15           ` Jeffrey Carter
2012-02-10  6:18             ` Rob Shea
2012-02-10 19:39               ` Jeffrey Carter
2012-02-10  6:19           ` Thomas Løcke
2012-02-10  9:32             ` Rob Shea
2012-02-10 10:09               ` Thomas Løcke
2012-02-10 11:39                 ` Ludovic Brenta
2012-02-10 12:05           ` Brian Drummond
2012-02-11 10:32           ` Maciej Sobczak
2012-02-11 11:39             ` Dmitry A. Kazakov
2012-02-11 21:15               ` Maciej Sobczak
2012-02-11 21:38                 ` Dmitry A. Kazakov
2012-02-11 23:05                   ` Rob Shea
2012-02-13  2:10               ` Tez
2012-02-13  9:08                 ` Yannick Duchêne (Hibou57)
2012-02-13 16:28                   ` Pascal Obry
2012-02-10  9:47       ` Georg Bauhaus
2012-02-10 11:45 ` Erich [this message]
2012-02-10 11:48 ` Ludovic Brenta
2012-02-11  6:11   ` Rob Shea
2012-02-12  2:10     ` Randy Brukardt
2012-02-12  8:40       ` björn lundin
2012-02-14  0:26       ` Shark8
2012-02-15 21:07         ` Randy Brukardt
2012-02-15 22:10           ` Yannick Duchêne (Hibou57)
2012-02-18  4:47           ` Shark8
2012-02-18  8:26             ` Dmitry A. Kazakov
2012-02-18 10:45               ` Yannick Duchêne (Hibou57)
2012-02-18 11:31                 ` Dmitry A. Kazakov
2012-02-18 11:58                   ` Niklas Holsti
2012-02-18 12:57                   ` Yannick Duchêne (Hibou57)
2012-02-18 18:55                   ` Robert A Duff
2012-02-18 19:24                     ` Niklas Holsti
2012-02-18 20:06                       ` tmoran
2012-02-18 21:53                         ` Niklas Holsti
2012-02-18 22:58                           ` Robert A Duff
2012-02-19  0:47                             ` tmoran
2012-02-20 23:39                               ` Robert A Duff
2012-02-21  3:29                                 ` tmoran
2012-02-21 17:17                                 ` tmoran
2012-02-21 21:03                                   ` Robert A Duff
2012-03-06  0:52                                 ` Randy Brukardt
2012-02-20 22:52                         ` Adam Beneschan
2012-02-18 23:03                       ` BrianG
2012-02-19  8:45                     ` Dmitry A. Kazakov
2012-02-20 23:27                       ` Robert A Duff
2012-02-21  8:36                         ` Dmitry A. Kazakov
2012-02-21  9:59                           ` Simon Wright
2012-02-21 10:59                             ` Dmitry A. Kazakov
2012-02-21 17:25                           ` Robert A Duff
2012-02-21 18:53                             ` Dmitry A. Kazakov
2012-02-21 21:19                               ` Robert A Duff
2012-02-22  8:24                                 ` Dmitry A. Kazakov
2012-02-21 21:25                               ` Yannick Duchêne (Hibou57)
2012-02-22  8:26                                 ` Dmitry A. Kazakov
2012-02-21  8:47                         ` Georg Bauhaus
2012-02-21 16:58                           ` Robert A Duff
2012-03-06  1:06                         ` Randy Brukardt
2012-03-07  5:43                           ` Yannick Duchêne (Hibou57)
2012-03-07 13:05                           ` Robert A Duff
2012-03-07 19:32                             ` tmoran
2012-03-07 20:24                               ` Dmitry A. Kazakov
2012-03-08  0:50                               ` Robert A Duff
2012-03-08  1:50                                 ` tmoran
2012-03-08 11:01                                 ` Brian Drummond
2012-03-08  1:01                               ` Shark8
2012-03-08  1:33                             ` Randy Brukardt
2012-02-20 20:52             ` Tero Koskinen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox