Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Modula 3 > how can I disab...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 1 Topic 125 of 148
Post > Topic >>

how can I disable UNSAFE and <*EXTERNAL*> ?

by derick.eddington@[EMAIL PROTECTED] Dec 9, 2005 at 06:25 AM

Hi,

I'm exploring using CM3 as a platform for hosting untrusted programs
under capability-secure confinement (kind of like SPIN).  The
type-safety, disallowing of unsafe features, encapsulation by exported
interfaces / hidden implementations and opaque types of Modula-3, and
the configuring of m3build to use a custom 'pkg' directory to only
allow imports from a subset of the standard interfaces and from custom
capability-secure interfaces I'll provide, go a long way towards
providing a platform for compiling any untrusted Modula-3 source-code
with assurance that it can only do safe things and only use the
interfaces provided to it.  However, I need a way to prohibit UNSAFE
and <*EXTERNAL*> (because it provides access to the
supposed-to-be-inaccessible libraries programs are necessarilly linked
with) from being available to untrusted code; and I need a way for
untrusted packages to specify their building without using
quake/m3makefile because quake/m3makefile provide access to the
filesystem and exec.  To deal with the quake/m3makefile issue I think
I'm going to design a simple Modula-3 interface that each untrusted
package will implement which is then used to generate a safe/confined
m3makefile.  To deal with UNSAFE and <*EXTERNAL*> I could make my own
source-code pre-processor that checks that they aren't used, but I'd
rather the compiler has switches that make it refuse to compile sources
that use them.  What I'm getting at is, is there already some way to do
this with CM3? like by using some -Xn@[EMAIL PROTECTED]
 to cm3 (I can't find
documentation on these -Xn@[EMAIL PROTECTED]
's anywhere)?  And, if these issues are
handled, are there any other ways that untrusted code could get around
being restricted to the set of interfaces I provide it?

Thanks for any feedback,
--Derick Eddington




 1 Posts in Topic:
how can I disable UNSAFE and <*EXTERNAL*> ?
derick.eddington@[EMAIL P  2005-12-09 06:25:44 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed May 14 6:00:29 CDT 2008.