Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-13 Thread Nick Thompson
Dear FRIAM, 

 

I apologize for this REPLY TO ALL error.  I was actually reaching out to Owen 
about an old private argument concerning what was appropriate for FRIAM.  I 
hope you all will forgive me.  

 

Nick 

 

Nicholas S. Thompson

Emeritus Professor of Psychology and Biology

Clark University

 http://home.earthlink.net/~nickthompson/naturaldesigns/ 
http://home.earthlink.net/~nickthompson/naturaldesigns/

 

From: Nick Thompson [mailto:nickthomp...@earthlink.net] 
Sent: Tuesday, August 11, 2015 9:58 PM
To: 'The Friday Morning Applied Complexity Coffee Group' friam@redfish.com
Subject: RE: [FRIAM] [EXTERNAL] Re: unikernels?

 

Hi Owen, 

 

How’s your summer. 

 

I note that not only can glen and company participate in a conversation with me 
that bores the living crap out of you, but they can also participate in a 
conversation with you that bores the living crap out of me.  But I am not 
threatening to pick up my marbles and go home.  

 

I think it’s in the nature of things.  They are multitalented bores.  
Polybores, we might call them.  I guess being a polybore is the other side of 
being a polymath.  

 

Nick 

 

Nicholas S. Thompson

Emeritus Professor of Psychology and Biology

Clark University

 http://home.earthlink.net/~nickthompson/naturaldesigns/ 
http://home.earthlink.net/~nickthompson/naturaldesigns/

 

From: Friam [mailto:friam-boun...@redfish.com] On Behalf Of Owen Densmore
Sent: Tuesday, August 11, 2015 7:41 PM
To: The Friday Morning Applied Complexity Coffee Group friam@redfish.com
Subject: Re: [FRIAM] [EXTERNAL] Re: unikernels?

 

Thanks! Fascinating.

 

   -- Owen

 

On Tue, Aug 11, 2015 at 4:37 PM, Parks, Raymond rcpa...@sandia.gov 
mailto:rcpa...@sandia.gov  wrote:

  The original articles/blogs are from the U of Cambridge Xen folks and a 
somewhat buzzword lovin' sysadmin.  The current trend in using someone else's 
computer (SEC, more commonly called cloud) is LInux containers and docker.  The 
articles predict that the future is unikernels.  A unikernel is application 
specific, like containers, but in the form of a monolithic VM that includes the 
specific application and necessary kernel services for that app.  At least two 
of the current unikernel projects use functional languages - OCaml and Haskell. 
 The Xen model is for a developer to specify the kernel services they need, 
develop the application code, develop the configuration code, and the whole 
thing gets turned into a monolithic VM that runs in the Xen hypervisor.  In 
theory, this makes for greater efficiency and less chance of the tail wagging 
the dog.  By that latter, I mean that one of the major issues in securing 
computer systems of systems is that one gets all of a system one includes (i.e 
DNS Bind) even though one uses one small feature.   That means all of the 
vulnerabilities as well as all the features that are not used.

 

  As I said in a previous post, this is a reinvention (for hypervisors) of IBM 
VM and CSM - the latter being a minimalist kernel with, usually, a single 
application.

 

  The downside of monolithic VMs is that any change requires a complete rebuild 
of the VM - even minor configuration changes that are the equivalent of 
environment variables.  In a SEC environment, for example, adding a static or 
CDN to the list of sources for a web server will require a rebuild.  
Alternatively, of course, one could simply allow the web-server unikernel to 
invoke scripts from any web-site recursively - but then an attacker simply 
inserts an advertisement that invokes malware and we're no better off than 
before.

 

The idea of unikernels is not bad nor is it new - but the benefits will 
probably not be as great as the current promises.  The UX will not be different 
for the end-user although it might be somewhat better for the content provider.

 

  It's not clear to me that the visionaries have thought about this outside of 
the WWW.  For example, I recently read an article about how NetFlix worked hard 
to be able to provide streaming video with SSL encryption.  They started with 
their standard server and added SSL - the performance hit made that 
impractical.  Eventually, they found a configuration of VMs and infrastructure 
that made the performance hit acceptable.  A unikernel that only served 
SSL-encrypted video would be more efficient than their current VMs running a 
general-purpose OS plus video streaming software.  But configuration changes 
(newly added caching locations, links that are down, et cetera) would be the 
bane of a unikernel NetFlix.  Each time BGP reports a change, either the video 
streaming unikernel would need to be rebuilt or there would need to be another 
layer of unikernel that dispatches requests to the video streaming unikernel 
VMs.  But that dispatcher would either need to be reconfigured or there would 
need to be another unikernel that tracks network connectivity changes and 
informs the dispatcher - and now we still have

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Marcus Daniels
OK.  But there are 2 types of commands (that may not crash): 1) those that are 
ill-formed and 2) those that are well-formed but not expected/predicted by the 
developers.  Ill-formed commands that still don't crash may have partial 
effects, right?  For example, in a lazy language, if the ill-formed part occurs 
later in the expression, then the well-formed first part is still executed.  In 
the context of a deployable that is configured (constrained to a sub-region of 
it's possible behavior), we need some way of ensuring the crispness of the 
boundary: these commands are allowed, these other one's are not.

Could these be loopholes in strong but non-strict languages?

The usual problem that occurs in non-strict languages are thunk leaks.I 
plan to plan to plan to plan ... to do something.. Delayed failure can 
occur too, but for me it is much less common then, say, ad-hoc type handling in 
a dynamically-typed language.   

I think it just comes down to the degree to which the developer articulates the 
constraints on the context as types, and then whether the language has the 
property of really enforcing those types.Also there's the problem of what 
happens when the developer just can't get across what they want in the types.  
Either because they can't be bothered or because the type system isn't 
versatile enough.  

I think these security issues come down to limitations in human attention.  
Tools and languages can help with that, but obsessiveness is needed too.  

Marcus


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread glen ep ropella


OK.  But what I'm still missing is this:  if unikernels are more domain- and/or 
task-specific, then the dev environment will branch, perhaps quite a bit.  I.e. 
one dev environment for many deployables.  We end up with not just the original 
(false?) dichotomy between config and compiled, but meta-config and, perhaps, 
meta-compiled.  And that may even have multiple layers, meta-meta.

So, while I agree pwning the devop role allows the attacker to infect the deployables, the attacks 
have to be sophisticated enough to survive that branching to eventually achieve the attacker's 
objective.  I.e. closeness in terms of automation doesn't necessarily mean 
closeness in terms of total cost of attack.

It just seems that the more objective-specific the deployable(s), the less 
likely a hacked devops process will give the desired result.  I'd expect a lot 
more failed integration/deployment attempts if my devops process was modified.

But this is all too abstract, of course.  The devil is in the particulars.


On 08/11/2015 01:13 PM, Parks, Raymond wrote:

   I would expect the dev environment to be closer if not actually in the same 
hypervisor.  It's almost like the web-site we once attacked by using the java 
compiler on the web-site's computer sytem to modify the code in the web-site.  
Right now, with devops, the dev environment is probably not in the 
cloud/hypervisor.  And, for unikernels that may also be true.  But to deploy 
quickly in both devops and unikernel, there has to be a direct channel from dev 
to cloud.

   In more traditional environments, there's a dev server in a separate space, 
a testing server in its own environment (sometimes shared with production but 
not touching production data), and a production server.  While traditional 
environments don't always follow the process well, in theory the flow is 
developers develop on a development network with the dev server, roll their 
system into the testing server which runs alongside the production server with 
a copy of the production data and processing real or test transactions, and 
finally install the tested version on the production server.  From my 
standpoint, that means I can attack the production server directly or the 
development server on a separate network.  There has to be connectivity, but 
it's likely to be filtered, if only to prevent the development server from 
affecting the production environment.

   In devops and in future unikernel systems, the pace of change is, of 
necessity, much faster and the three roles are collapsed into one VM.  The VM 
image is modified in place, given a new name so that rollback is possible, and 
the management software is told to use the new image instead of the old.

   One of the principles of cyberwarfare (as formulated in our paper of that 
name) is that some entity, somewhere, has the privileges to do whatever the 
attacker wants to do and the attacker's goal is to become that entity.  In the 
case of devops and unikernel, that entity is the developer(s) who make(s) the 
changes to the VM.  In traditional environments, the attacker might need to 
assume the privileges of several entities.


--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Nick Thompson
Hi Owen, 

 

How’s your summer. 

 

I note that not only can glen and company participate in a conversation with me 
that bores the living crap out of you, but they can also participate in a 
conversation with you that bores the living crap out of me.  But I am not 
threatening to pick up my marbles and go home.  

 

I think it’s in the nature of things.  They are multitalented bores.  
Polybores, we might call them.  I guess being a polybore is the other side of 
being a polymath.  

 

Nick 

 

Nicholas S. Thompson

Emeritus Professor of Psychology and Biology

Clark University

 http://home.earthlink.net/~nickthompson/naturaldesigns/ 
http://home.earthlink.net/~nickthompson/naturaldesigns/

 

From: Friam [mailto:friam-boun...@redfish.com] On Behalf Of Owen Densmore
Sent: Tuesday, August 11, 2015 7:41 PM
To: The Friday Morning Applied Complexity Coffee Group friam@redfish.com
Subject: Re: [FRIAM] [EXTERNAL] Re: unikernels?

 

Thanks! Fascinating.

 

   -- Owen

 

On Tue, Aug 11, 2015 at 4:37 PM, Parks, Raymond rcpa...@sandia.gov 
mailto:rcpa...@sandia.gov  wrote:

  The original articles/blogs are from the U of Cambridge Xen folks and a 
somewhat buzzword lovin' sysadmin.  The current trend in using someone else's 
computer (SEC, more commonly called cloud) is LInux containers and docker.  The 
articles predict that the future is unikernels.  A unikernel is application 
specific, like containers, but in the form of a monolithic VM that includes the 
specific application and necessary kernel services for that app.  At least two 
of the current unikernel projects use functional languages - OCaml and Haskell. 
 The Xen model is for a developer to specify the kernel services they need, 
develop the application code, develop the configuration code, and the whole 
thing gets turned into a monolithic VM that runs in the Xen hypervisor.  In 
theory, this makes for greater efficiency and less chance of the tail wagging 
the dog.  By that latter, I mean that one of the major issues in securing 
computer systems of systems is that one gets all of a system one includes (i.e 
DNS Bind) even though one uses one small feature.   That means all of the 
vulnerabilities as well as all the features that are not used.

 

  As I said in a previous post, this is a reinvention (for hypervisors) of IBM 
VM and CSM - the latter being a minimalist kernel with, usually, a single 
application.

 

  The downside of monolithic VMs is that any change requires a complete rebuild 
of the VM - even minor configuration changes that are the equivalent of 
environment variables.  In a SEC environment, for example, adding a static or 
CDN to the list of sources for a web server will require a rebuild.  
Alternatively, of course, one could simply allow the web-server unikernel to 
invoke scripts from any web-site recursively - but then an attacker simply 
inserts an advertisement that invokes malware and we're no better off than 
before.

 

The idea of unikernels is not bad nor is it new - but the benefits will 
probably not be as great as the current promises.  The UX will not be different 
for the end-user although it might be somewhat better for the content provider.

 

  It's not clear to me that the visionaries have thought about this outside of 
the WWW.  For example, I recently read an article about how NetFlix worked hard 
to be able to provide streaming video with SSL encryption.  They started with 
their standard server and added SSL - the performance hit made that 
impractical.  Eventually, they found a configuration of VMs and infrastructure 
that made the performance hit acceptable.  A unikernel that only served 
SSL-encrypted video would be more efficient than their current VMs running a 
general-purpose OS plus video streaming software.  But configuration changes 
(newly added caching locations, links that are down, et cetera) would be the 
bane of a unikernel NetFlix.  Each time BGP reports a change, either the video 
streaming unikernel would need to be rebuilt or there would need to be another 
layer of unikernel that dispatches requests to the video streaming unikernel 
VMs.  But that dispatcher would either need to be reconfigured or there would 
need to be another unikernel that tracks network connectivity changes and 
informs the dispatcher - and now we still have configuration changes and a 
complex system of unikernels that exist to make it possible.

 

  The Internet is a dynamic system that constantly changes - and any system 
that uses the Internet needs to adapt to constant change.  The two ways to do 
that with unikernels are to have the meta on meta layers I imagine in the 
previous paragraph or to change the VM unikernels on the fly so the user will 
eventually get directed to a correctly configured unikernel.  That latter means 
there will be performance hits - how bad those will be is TBD.

 

Ray Parks
Consilient Heuristician/IDART Old-Timer
V: 505-844-4024 tel:505-844-4024   M: 505-238-9359 tel

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Marcus Daniels
But this isn't just about virtual machines.  It's about using type-safe 
languages so that hardware protection mechanisms are simply not needed.By 
virtue of it compiling at all, it can be shown to be safe to run.

From: Friam [mailto:friam-boun...@redfish.com] On Behalf Of Parks, Raymond
Sent: Tuesday, August 11, 2015 1:07 PM
To: The Friday Morning Applied Complexity Coffee Group
Subject: Re: [FRIAM] [EXTERNAL] Re: unikernels?

And, like so many trends in computers, we return to the past.  This time, to VM 
and CMS.

Ray Parks
Consilient Heuristician/IDART Old-Timer
V: 505-844-4024  M: 505-238-9359  P: 505-951-6084
NIPR: rcpa...@sandia.govmailto:rcpa...@sandia.gov
SIPR: rcpar...@sandia.doe.sgov.govmailto:rcpar...@sandia.doe.sgov.gov (send 
NIPR reminder)
JWICS: dopa...@doe.ic.govmailto:dopa...@doe.ic.gov (send NIPR reminder)


On Aug 11, 2015, at 11:38 AM, Marcus Daniels wrote:


And don't  overlook the fine work done in the Northwest..

http://galois.com/project/halvm/

..and in fact going back some time..

http://www-spin.cs.washington.edu/

-Original Message-
From: Friam [mailto:friam-boun...@redfish.com] On Behalf Of glen ep ropella
Sent: Tuesday, August 11, 2015 11:32 AM
To: Complexity Coffee Group
Subject: [FRIAM] unikernels?


Life in a Post-Container World and Why Linux Will Play a Diminished Role 
http://thenewstack.io/life-post-container-world/

Unikernels: Rise of the Virtual Library Operating System
http://queue.acm.org/detail.cfm?id=2566628

Luckily, Marcus introduced me to ocaml a long time ago, otherwise I'd feel even 
more out of touch than I already do.

--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College to unsubscribe 
http://redfish.com/mailman/listinfo/friam_redfish.com


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Parks, Raymond
And, like so many trends in computers, we return to the past.  This time, to VM 
and CMS.

Ray Parks
Consilient Heuristician/IDART Old-Timer
V: 505-844-4024  M: 505-238-9359  P: 505-951-6084
NIPR: rcpa...@sandia.govmailto:rcpa...@sandia.gov
SIPR: rcpar...@sandia.doe.sgov.govmailto:rcpar...@sandia.doe.sgov.gov (send 
NIPR reminder)
JWICS: dopa...@doe.ic.govmailto:dopa...@doe.ic.gov (send NIPR reminder)



On Aug 11, 2015, at 11:38 AM, Marcus Daniels wrote:

And don't  overlook the fine work done in the Northwest..

http://galois.com/project/halvm/

..and in fact going back some time..

http://www-spin.cs.washington.edu/

-Original Message-
From: Friam [mailto:friam-boun...@redfish.com] On Behalf Of glen ep ropella
Sent: Tuesday, August 11, 2015 11:32 AM
To: Complexity Coffee Group
Subject: [FRIAM] unikernels?


Life in a Post-Container World and Why Linux Will Play a Diminished Role 
http://thenewstack.io/life-post-container-world/

Unikernels: Rise of the Virtual Library Operating System
http://queue.acm.org/detail.cfm?id=2566628

Luckily, Marcus introduced me to ocaml a long time ago, otherwise I'd feel even 
more out of touch than I already do.

--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College to unsubscribe 
http://redfish.com/mailman/listinfo/friam_redfish.com


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Parks, Raymond
  The security improvements of unikernels may be overstated.

  Look at the announcement, last week, of installing malware on LTE/3G modems 
built into laptops and tablets [1].  As Rich Murray pointed out in his comment 
on the subject in SANS Newsbites - these modems are a thing, an appliance, in 
the Internet of Things.  The ability to fix these things is necessary to the 
developers of the things.

  Unikernels, with configuration baked in, will have similiar needs.  In the 
case of unikernels, editing of configuration inputs and recompiling/linking 
will be required instead of a manufacturer's backdoor to update firmware.  The 
development environment to make those configuration changes must be virtually 
close to the hypervisor runtime environment of the unikernel.  That means the 
development environment will be a target.

  Of course, the real target will be the unikernel VMs that are poorly 
configured.  The unikernel is the ultimate reaction to the exploit - but it 
does nothing for attacks that simply use the system as designed to do the 
attacker's bidding.

[1] 
http://www.computerworld.com/article/2968274/security/internal-lte3g-modems-can-be-hacked-to-help-malware-survive-os-reinstalls.html

Ray Parks
Consilient Heuristician/IDART Old-Timer
V: 505-844-4024  M: 505-238-9359  P: 505-951-6084


On Aug 11, 2015, at 1:06 PM, Parks, Raymond wrote:

 And, like so many trends in computers, we return to the past.  This time, to 
 VM and CMS.
 
 Ray Parks
 Consilient Heuristician/IDART Old-Timer
 V: 505-844-4024  M: 505-238-9359  P: 505-951-6084
 NIPR: rcpa...@sandia.gov
 SIPR: rcpar...@sandia.doe.sgov.gov (send NIPR reminder)
 JWICS: dopa...@doe.ic.gov (send NIPR reminder)
 
 
 
 On Aug 11, 2015, at 11:38 AM, Marcus Daniels wrote:
 
 And don't  overlook the fine work done in the Northwest..
 
 http://galois.com/project/halvm/
 
 ..and in fact going back some time..
 
 http://www-spin.cs.washington.edu/
 
 -Original Message-
 From: Friam [mailto:friam-boun...@redfish.com] On Behalf Of glen ep ropella
 Sent: Tuesday, August 11, 2015 11:32 AM
 To: Complexity Coffee Group
 Subject: [FRIAM] unikernels?
 
 
 Life in a Post-Container World and Why Linux Will Play a Diminished Role 
 http://thenewstack.io/life-post-container-world/
 
 Unikernels: Rise of the Virtual Library Operating System
 http://queue.acm.org/detail.cfm?id=2566628
 
 Luckily, Marcus introduced me to ocaml a long time ago, otherwise I'd feel 
 even more out of touch than I already do.
 
 --
 glen ep ropella -- 971-255-2847
 
 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College to unsubscribe 
 http://redfish.com/mailman/listinfo/friam_redfish.com
 
 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College
 to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com
 
 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College
 to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com



smime.p7s
Description: S/MIME cryptographic signature

FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread glen ep ropella


If I understand what you're saying, you're still admitting that the attack has to happen at a 
greater distance from the target, right?  Even if the dev env is virtually 
close, it's still at least 1 step removed from the deployed thing.

On 08/11/2015 12:28 PM, Parks, Raymond wrote:

   The security improvements of unikernels may be overstated.

   Look at the announcement, last week, of installing malware on LTE/3G modems 
built into laptops and tablets [1].  As Rich Murray pointed out in his comment 
on the subject in SANS Newsbites - these modems are a thing, an appliance, in 
the Internet of Things.  The ability to fix these things is necessary to the 
developers of the things.

   Unikernels, with configuration baked in, will have similiar needs.  In the 
case of unikernels, editing of configuration inputs and recompiling/linking 
will be required instead of a manufacturer's backdoor to update firmware.  The 
development environment to make those configuration changes must be virtually 
close to the hypervisor runtime environment of the unikernel.  That means the 
development environment will be a target.

   Of course, the real target will be the unikernel VMs that are poorly 
configured.  The unikernel is the ultimate reaction to the exploit - but it 
does nothing for attacks that simply use the system as designed to do the 
attacker's bidding.

[1] 
http://www.computerworld.com/article/2968274/security/internal-lte3g-modems-can-be-hacked-to-help-malware-survive-os-reinstalls.html


--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread glen

On 08/11/2015 12:21 PM, Marcus Daniels wrote:

But this isn't just about virtual machines.  It's about using type-safe 
languages so that hardware protection mechanisms are simply not needed.By 
virtue of it compiling at all, it can be shown to be safe to run.



On 08/11/2015 10:32 AM, glen ep ropella wrote:

Unikernels: Rise of the Virtual Library Operating System
http://queue.acm.org/detail.cfm?id=2566628


What I found most interesting was this blurb:


Configuration is a considerable overhead in managing the deployment of a large 
cloud-hosted service. The traditional split between the compiled (code) and 
interpreted (configuration) is unnecessary with unikernel compilation. 
Application configuration is code—perhaps in an embedded domain-specific 
language—and the compiler can analyze and optimize across the whole unikernel.


This (false?) dichotomy keeps arising in almost every conversation I have.  And 
I don't yet have a trunk/root conception of how they all fit together.  But my 
intuition tells me they fit together.  Some recent examples:

o open-ended evolution (and/or evolution of evolution), broached at ECAL -- the 
answer I kept giving, that nobody really responded to, includes self-hosted 
languages (simple circularity) and cycles in hosting (L_0 hosts L_1 which then 
hosts L_0).

o families of models, as opposed to those well- or over-fitted to a given 
context -- here I'm talking mostly about mathematical vs. agent-based (or other 
discrete or hybrid) biological models, but it relates to any domain-specificity.

o the gen-phen map, polyphenism and neutrality/degeneracy -- the context being the 
importance of the developmental (configuration/interpretation) path from 
gene(compiled)-phene and, again, any circularity due to downward causation.


--
glen ep ropella -- 971-255-2847

--
⇔ glen


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Parks, Raymond
  I would expect the dev environment to be closer if not actually in the same 
hypervisor.  It's almost like the web-site we once attacked by using the java 
compiler on the web-site's computer sytem to modify the code in the web-site.  
Right now, with devops, the dev environment is probably not in the 
cloud/hypervisor.  And, for unikernels that may also be true.  But to deploy 
quickly in both devops and unikernel, there has to be a direct channel from dev 
to cloud.

  In more traditional environments, there's a dev server in a separate space, a 
testing server in its own environment (sometimes shared with production but not 
touching production data), and a production server.  While traditional 
environments don't always follow the process well, in theory the flow is 
developers develop on a development network with the dev server, roll their 
system into the testing server which runs alongside the production server with 
a copy of the production data and processing real or test transactions, and 
finally install the tested version on the production server.  From my 
standpoint, that means I can attack the production server directly or the 
development server on a separate network.  There has to be connectivity, but 
it's likely to be filtered, if only to prevent the development server from 
affecting the production environment.

  In devops and in future unikernel systems, the pace of change is, of 
necessity, much faster and the three roles are collapsed into one VM.  The VM 
image is modified in place, given a new name so that rollback is possible, and 
the management software is told to use the new image instead of the old.

  One of the principles of cyberwarfare (as formulated in our paper of that 
name) is that some entity, somewhere, has the privileges to do whatever the 
attacker wants to do and the attacker's goal is to become that entity.  In the 
case of devops and unikernel, that entity is the developer(s) who make(s) the 
changes to the VM.  In traditional environments, the attacker might need to 
assume the privileges of several entities.

Ray Parks
Consilient Heuristician/IDART Old-Timer
V: 505-844-4024  M: 505-238-9359  P: 505-951-6084


On Aug 11, 2015, at 1:50 PM, glen ep ropella wrote:

 
 If I understand what you're saying, you're still admitting that the attack 
 has to happen at a greater distance from the target, right?  Even if the 
 dev env is virtually close, it's still at least 1 step removed from the 
 deployed thing.
 
 On 08/11/2015 12:28 PM, Parks, Raymond wrote:
   The security improvements of unikernels may be overstated.
 
   Look at the announcement, last week, of installing malware on LTE/3G 
 modems built into laptops and tablets [1].  As Rich Murray pointed out in 
 his comment on the subject in SANS Newsbites - these modems are a thing, an 
 appliance, in the Internet of Things.  The ability to fix these things is 
 necessary to the developers of the things.
 
   Unikernels, with configuration baked in, will have similiar needs.  In the 
 case of unikernels, editing of configuration inputs and recompiling/linking 
 will be required instead of a manufacturer's backdoor to update firmware.  
 The development environment to make those configuration changes must be 
 virtually close to the hypervisor runtime environment of the unikernel.  
 That means the development environment will be a target.
 
   Of course, the real target will be the unikernel VMs that are poorly 
 configured.  The unikernel is the ultimate reaction to the exploit - but it 
 does nothing for attacks that simply use the system as designed to do the 
 attacker's bidding.
 
 [1] 
 http://www.computerworld.com/article/2968274/security/internal-lte3g-modems-can-be-hacked-to-help-malware-survive-os-reinstalls.html
 
 -- 
 glen ep ropella -- 971-255-2847
 
 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College
 to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com



smime.p7s
Description: S/MIME cryptographic signature

FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Marcus Daniels
Glen writes:

o open-ended evolution (and/or evolution of evolution), broached at ECAL -- 
the answer I kept giving, that nobody really responded to, includes self-hosted 
languages (simple circularity) and cycles in hosting (L_0 hosts L_1 which then 
hosts L_0).

Let's say a device managing a SCSI disk drive.  A Unikernel based on a strongly 
typed language would ensure that illegal or poorly formed SCSI command blocks 
simply could not be formed.Whether or not a L_1 language hosts a L_0 with a 
similar virtual device doesn't matter, there's still no way to bypass the 
typing in the L_0 implementation.  In a language like C, it is trivial matter 
to bypass typing.  It's just best-effort by the developer.

Marcus

FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread glen ep ropella

On 08/11/2015 12:21 PM, Marcus Daniels wrote:

But this isn't just about virtual machines.  It's about using type-safe 
languages so that hardware protection mechanisms are simply not needed.By 
virtue of it compiling at all, it can be shown to be safe to run.



On 08/11/2015 10:32 AM, glen ep ropella wrote:

Unikernels: Rise of the Virtual Library Operating System
http://queue.acm.org/detail.cfm?id=2566628


What I found most interesting was this blurb:


Configuration is a considerable overhead in managing the deployment of a large 
cloud-hosted service. The traditional split between the compiled (code) and 
interpreted (configuration) is unnecessary with unikernel compilation. 
Application configuration is code—perhaps in an embedded domain-specific 
language—and the compiler can analyze and optimize across the whole unikernel.


This (false?) dichotomy keeps arising in almost every conversation I have.  And 
I don't yet have a trunk/root conception of how they all fit together.  But my 
intuition tells me they fit together.  Some recent examples:

o open-ended evolution (and/or evolution of evolution), broached at ECAL -- the 
answer I kept giving, that nobody really responded to, includes self-hosted 
languages (simple circularity) and cycles in hosting (L_0 hosts L_1 which then 
hosts L_0).

o families of models, as opposed to those well- or over-fitted to a given 
context -- here I'm talking mostly about mathematical vs. agent-based (or other 
discrete or hybrid) biological models, but it relates to any domain-specificity.

o the gen-phen map, polyphenism and neutrality/degeneracy -- the context being the 
importance of the developmental (configuration/interpretation) path from 
gene(compiled)-phene and, again, any circularity due to downward causation.


--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread glen

On 08/11/2015 01:18 PM, Marcus Daniels wrote:

Let's say a device managing a SCSI disk drive.  A Unikernel based on a strongly 
typed language would ensure that illegal or poorly formed SCSI command blocks 
simply could not be formed.Whether or not a L_1 language hosts a L_0 with a 
similar virtual device doesn't matter, there's still no way to bypass the 
typing in the L_0 implementation.  In a language like C, it is trivial matter 
to bypass typing.  It's just best-effort by the developer.


OK.  But there are 2 types of commands (that may not crash): 1) those that are 
ill-formed and 2) those that are well-formed but not expected/predicted by the 
developers.  Ill-formed commands that still don't crash may have partial 
effects, right?  For example, in a lazy language, if the ill-formed part occurs 
later in the expression, then the well-formed first part is still executed.  In 
the context of a deployable that is configured (constrained to a sub-region of 
it's possible behavior), we need some way of ensuring the crispness of the 
boundary: these commands are allowed, these other one's are not.

Could these be loopholes in strong but non-strict languages?

--
⇔ glen


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Owen Densmore
Thanks! Fascinating.

   -- Owen

On Tue, Aug 11, 2015 at 4:37 PM, Parks, Raymond rcpa...@sandia.gov wrote:

   The original articles/blogs are from the U of Cambridge Xen folks and a
 somewhat buzzword lovin' sysadmin.  The current trend in using someone
 else's computer (SEC, more commonly called cloud) is LInux containers and
 docker.  The articles predict that the future is unikernels.  A unikernel
 is application specific, like containers, but in the form of a monolithic
 VM that includes the specific application and necessary kernel services for
 that app.  At least two of the current unikernel projects use functional
 languages - OCaml and Haskell.  The Xen model is for a developer to specify
 the kernel services they need, develop the application code, develop the
 configuration code, and the whole thing gets turned into a monolithic VM
 that runs in the Xen hypervisor.  In theory, this makes for greater
 efficiency and less chance of the tail wagging the dog.  By that latter, I
 mean that one of the major issues in securing computer systems of systems
 is that one gets all of a system one includes (i.e DNS Bind) even though
 one uses one small feature.   That means all of the vulnerabilities as well
 as all the features that are not used.

   As I said in a previous post, this is a reinvention (for hypervisors) of
 IBM VM and CSM - the latter being a minimalist kernel with, usually, a
 single application.

   The downside of monolithic VMs is that any change requires a complete
 rebuild of the VM - even minor configuration changes that are the
 equivalent of environment variables.  In a SEC environment, for example,
 adding a static or CDN to the list of sources for a web server will require
 a rebuild.  Alternatively, of course, one could simply allow the web-server
 unikernel to invoke scripts from any web-site recursively - but then an
 attacker simply inserts an advertisement that invokes malware and we're no
 better off than before.

 The idea of unikernels is not bad nor is it new - but the benefits will
 probably not be as great as the current promises.  The UX will not be
 different for the end-user although it might be somewhat better for the
 content provider.

   It's not clear to me that the visionaries have thought about this
 outside of the WWW.  For example, I recently read an article about how
 NetFlix worked hard to be able to provide streaming video with SSL
 encryption.  They started with their standard server and added SSL - the
 performance hit made that impractical.  Eventually, they found a
 configuration of VMs and infrastructure that made the performance hit
 acceptable.  A unikernel that only served SSL-encrypted video would be more
 efficient than their current VMs running a general-purpose OS plus video
 streaming software.  But configuration changes (newly added caching
 locations, links that are down, et cetera) would be the bane of a unikernel
 NetFlix.  Each time BGP reports a change, either the video streaming
 unikernel would need to be rebuilt or there would need to be another layer
 of unikernel that dispatches requests to the video streaming unikernel
 VMs.  But that dispatcher would either need to be reconfigured or there
 would need to be another unikernel that tracks network connectivity changes
 and informs the dispatcher - and now we still have configuration changes
 and a complex system of unikernels that exist to make it possible.

   The Internet is a dynamic system that constantly changes - and any
 system that uses the Internet needs to adapt to constant change.  The two
 ways to do that with unikernels are to have the meta on meta layers I
 imagine in the previous paragraph or to change the VM unikernels on the fly
 so the user will eventually get directed to a correctly configured
 unikernel.  That latter means there will be performance hits - how bad
 those will be is TBD.

 Ray Parks
 Consilient Heuristician/IDART Old-Timer
 V: 505-844-4024  M: 505-238-9359  P: 505-951-6084


 On Aug 11, 2015, at 3:25 PM, Owen Densmore wrote:

 I'm so outta this conversation!

 Could one of us give a brief explanation of unikernels and the related
 tech being discussed?

 On Tue, Aug 11, 2015 at 2:49 PM, glen ep ropella g...@tempusdictum.com
 wrote:


 OK.  But what I'm still missing is this:  if unikernels are more domain-
 and/or task-specific, then the dev environment will branch, perhaps quite a
 bit.  I.e. one dev environment for many deployables.  We end up with not
 just the original (false?) dichotomy between config and compiled, but
 meta-config and, perhaps, meta-compiled.  And that may even have multiple
 layers, meta-meta.

 So, while I agree pwning the devop role allows the attacker to infect the
 deployables, the attacks have to be sophisticated enough to survive that
 branching to eventually achieve the attacker's objective.  I.e. closeness
 in terms of automation doesn't necessarily mean closeness in terms of
 total cost of attack.

 It just seems 

Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread Marcus Daniels
s/abuse/use/

For about the last 30 years or so, I've been dealing with various sorts of 
sysadmins who care more about control and ease of administration than they do 
about making sure the systems are flexible and powerful.For me, bare on the 
hardware unikernels would be about building the system around apps rather than 
the other way around.   But it is not just security concerns or technical 
limitations that prevent this from happening..
 

From: Friam friam-boun...@redfish.com on behalf of glen ep ropella 
g...@tempusdictum.com
Sent: Tuesday, August 11, 2015 5:56 PM
To: The Friday Morning Applied Complexity Coffee Group
Subject: Re: [FRIAM] [EXTERNAL] Re:  unikernels?

Well, of course, I'm actually looking for the inverse problem: what is the 
minimum hole we need to see interesting abuse, e.g. whole new ecosystems of 
behavior.  It seems like strongly typed, lazy (not just non-strict) eval 
languages capable of higher order logic are the right platform for finding 
minimal holes of maximal interestingness.

On 08/11/2015 02:05 PM, Marcus Daniels wrote:
 The usual problem that occurs in non-strict languages are thunk leaks.I 
 plan to plan to plan to plan ... to do something.. Delayed failure can 
 occur too, but for me it is much less common then, say, ad-hoc type handling 
 in a dynamically-typed language.

 I think it just comes down to the degree to which the developer articulates 
 the constraints on the context as types, and then whether the language has 
 the property of really enforcing those types.Also there's the problem of 
 what happens when the developer just can't get across what they want in the 
 types.  Either because they can't be bothered or because the type system 
 isn't versatile enough.

 I think these security issues come down to limitations in human attention.  
 Tools and languages can help with that, but obsessiveness is needed too.

--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com


Re: [FRIAM] [EXTERNAL] Re: unikernels?

2015-08-11 Thread glen ep ropella


Well, of course, I'm actually looking for the inverse problem: what is the 
minimum hole we need to see interesting abuse, e.g. whole new ecosystems of 
behavior.  It seems like strongly typed, lazy (not just non-strict) eval 
languages capable of higher order logic are the right platform for finding 
minimal holes of maximal interestingness.

On 08/11/2015 02:05 PM, Marcus Daniels wrote:

The usual problem that occurs in non-strict languages are thunk leaks.I 
plan to plan to plan to plan ... to do something.. Delayed failure can 
occur too, but for me it is much less common then, say, ad-hoc type handling in 
a dynamically-typed language.

I think it just comes down to the degree to which the developer articulates the 
constraints on the context as types, and then whether the language has the 
property of really enforcing those types.Also there's the problem of what 
happens when the developer just can't get across what they want in the types.  
Either because they can't be bothered or because the type system isn't 
versatile enough.

I think these security issues come down to limitations in human attention.  
Tools and languages can help with that, but obsessiveness is needed too.


--
glen ep ropella -- 971-255-2847


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com