EsseOS: Haskell-based tailored services for the cloud.
K. Stengel, F. Schmaus, и R. Kapitza. Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware, New York, NY, USA, Association for Computing Machinery, (2013)
DOI: 10.1145/2541583.2541587
Аннотация
Cloud computing offers a pay-per-use model and elasticity for hosted applications. The latter demands for decomposing an application into services, where each of them is executed by dedicated virtual machines. Typically, off-the-self operating systems (e.g., Linux) and managed runtime support (e.g., Java) are utilized thereby causing an unnecessary huge code base, resulting in a rather large attack surface.To address these problems, we present EsseOS, a platform for tailoring services as well as their associated runtime environment. EsseOS aims at reducing the attack surface by adapting the entire software stack that runs in a virtual machine to capture only the functionally essentially needed. This is achieved by following a clean-slate approach leveraging the advantages of Haskell, a functional programming language. We structure our software to be reconfigurable to remove unnecessary parts while still ensuring correct interaction between features by relying on Haskell's advanced type system. Initial results indicate an order of magnitude smaller code base for a tailored version of both Memcached and its execution environment compared to the original C-based version running on top of Linux.
%0 Conference Paper
%1 conf/middleware/StengelSK13
%A Stengel, Klaus
%A Schmaus, Florian
%A Kapitza, Rüdiger
%B Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware
%C New York, NY, USA
%D 2013
%E Ferreira, Paulo
%E Veiga, Luís
%I Association for Computing Machinery
%K Haskell cloud_computing functional_programming operating_systems security software_tailoring
%R 10.1145/2541583.2541587
%T EsseOS: Haskell-based tailored services for the cloud.
%U https://doi.org/10.1145/2541583.2541587
%X Cloud computing offers a pay-per-use model and elasticity for hosted applications. The latter demands for decomposing an application into services, where each of them is executed by dedicated virtual machines. Typically, off-the-self operating systems (e.g., Linux) and managed runtime support (e.g., Java) are utilized thereby causing an unnecessary huge code base, resulting in a rather large attack surface.To address these problems, we present EsseOS, a platform for tailoring services as well as their associated runtime environment. EsseOS aims at reducing the attack surface by adapting the entire software stack that runs in a virtual machine to capture only the functionally essentially needed. This is achieved by following a clean-slate approach leveraging the advantages of Haskell, a functional programming language. We structure our software to be reconfigurable to remove unnecessary parts while still ensuring correct interaction between features by relying on Haskell's advanced type system. Initial results indicate an order of magnitude smaller code base for a tailored version of both Memcached and its execution environment compared to the original C-based version running on top of Linux.
%@ 9781450325530
@inproceedings{conf/middleware/StengelSK13,
abstract = {Cloud computing offers a pay-per-use model and elasticity for hosted applications. The latter demands for decomposing an application into services, where each of them is executed by dedicated virtual machines. Typically, off-the-self operating systems (e.g., Linux) and managed runtime support (e.g., Java) are utilized thereby causing an unnecessary huge code base, resulting in a rather large attack surface.To address these problems, we present EsseOS, a platform for tailoring services as well as their associated runtime environment. EsseOS aims at reducing the attack surface by adapting the entire software stack that runs in a virtual machine to capture only the functionally essentially needed. This is achieved by following a clean-slate approach leveraging the advantages of Haskell, a functional programming language. We structure our software to be reconfigurable to remove unnecessary parts while still ensuring correct interaction between features by relying on Haskell's advanced type system. Initial results indicate an order of magnitude smaller code base for a tailored version of both Memcached and its execution environment compared to the original C-based version running on top of Linux.},
added-at = {2021-04-19T19:53:25.000+0200},
address = {New York, NY, USA},
articleno = {4},
author = {Stengel, Klaus and Schmaus, Florian and Kapitza, Rüdiger},
biburl = {https://www.bibsonomy.org/bibtex/2c1e181cf0e439abf24fa1fec2c450e5c/flow},
booktitle = {Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware},
doi = {10.1145/2541583.2541587},
editor = {Ferreira, Paulo and Veiga, Luís},
interhash = {bf5b223a0aab69a3de391ab6a99bcc95},
intrahash = {c1e181cf0e439abf24fa1fec2c450e5c},
isbn = {9781450325530},
keywords = {Haskell cloud_computing functional_programming operating_systems security software_tailoring},
location = {Beijing, China},
numpages = {6},
publisher = {Association for Computing Machinery},
series = {ARM '13},
timestamp = {2021-04-19T20:37:08.000+0200},
title = {EsseOS: Haskell-based tailored services for the cloud.},
url = {https://doi.org/10.1145/2541583.2541587},
year = 2013
}