CHERI: a Hybrid Capability-System Architecture for Scalable Software Compartmentalization

Total Page:16

File Type:pdf, Size:1020Kb

CHERI: a Hybrid Capability-System Architecture for Scalable Software Compartmentalization CHERI: A Hybrid Capability-System Architecture for Scalable Software Compartmentalization Robert N. M. Watson∗, Jonathan Woodruff∗, Peter G. Neumanny, Simon W. Moore∗, Jonathan Andersonz, David Chisnall∗, Nirav Davey, Brooks Davisy, Khilan Gudka∗, Ben Lauriex, Steven J. Murdoch{, Robert Norton∗, Michael Roe∗, Stacey Son∗, Munraj Vadera∗ ∗University of Cambridge, ySRI International, zMemorial University, xGoogle UK Ltd., {University College London Abstract—CHERI extends a conventional RISC Instruction- In prior papers, we have described Capability Hardware Set Architecture, compiler, and operating system to support Enhanced RISC Instructions (CHERI), a set of incrementally fine-grained, capability-based memory protection to mitigate adoptable architectural extensions for scalable, in-address- memory-related vulnerabilities in C-language TCBs. We describe space memory protection that mitigates exploits via a hybrid how CHERI capabilities can also underpin a hardware-software capability-system model [54], [57], [15]. CHERI supplements object-capability model for application compartmentalization the conventional Memory Management Unit (MMU) support- that can mitigate broader classes of attack. Prototyped as an extension to the open-source 64-bit BERI RISC FPGA soft- ing virtual-memory-based processes with a capability copro- core processor, FreeBSD operating system, and LLVM compiler, cessor to implement fine-grained, compiler-directed memory we demonstrate multiple orders-of-magnitude improvement in protection. In this paper, we describe how CHERI can also scalability, simplified programmability, and resulting tangible act as the foundation for an object-capability model able security benefits as compared to compartmentalization based on to support orders of magnitude greater compartmentalization pure Memory-Management Unit (MMU) designs. We evaluate performance, and hence granularity, than current designs. incrementally deployable CHERI-based compartmentalization using several real-world UNIX libraries and applications. As with MMU-based systems, CHERI can enforce strong isolation and controlled memory sharing, two prerequisites for compartmentalization, albeit with markedly different scal- I. INTRODUCTION ability and programming properties. We use capabilities to Vulnerability mitigation is a key tenet of contemporary build a hardware-software domain-transition mechanism and computer-system design. Deployed systems commonly em- programming model suitable for safe communication between ploy two approaches: exploit mitigation (which targets attack- mutually distrusting software. We extend our CHERI ISA and vector characteristics such as remote code injection [46]), and processor prototype with sealed capabilities and hardware- software compartmentalization (which limits privileges and accelerated object invocation, and extend the CHERI software further attack surfaces available to attackers [25], [41], [27], stack (LLVM compiler [30] and FreeBSD OS [33]) with a [53]). Exploit mitigation relies on knowledge of specific attack domain-transition calling convention and a userspace object- vectors and avoids application-level source-code modification; capability model. While our approach learns from prior capa- for example, stack canaries transparently detect attempts to bility systems, such as HYDRA [58] and the M-Machine [13], overwrite return addresses. However, these techniques are our focus is on hybridization: how to incrementally deploy often probabilistic and subject to an arms race as attack and CHERI within current C-language TCBs with source-code defense co-evolve. In contrast, compartmentalization requires and binary compatibility. We have targeted the most security- structural changes to programs: applications are decomposed critical TCBs (e.g., privileged software) and also the most vul- into isolated components that are granted selected access to nerable (e.g., compression libraries) while avoiding disruption system and application resources, limiting the rights leaked to to the remainder of the software stack. In this paper, we: attackers. Unlike exploit mitigation, compartmentalization can provide protection against yet unknown exploit techniques. The • Describe a novel hardware-software capability-system two approaches are complementary and often used together architecture supporting incrementally adoptable, fine- – e.g., OpenSSH [41] and Chromium [42] are frequently grained compartmentalization for C-language TCBs. compiled with both stack protection and sandboxing. • Explore the architecture’s practical implications through a fully functional hardware-software prototype based on Unfortunately, these techniques must be retrofitted onto a 64-bit FPGA soft-core RISC processor, compiler, OS, consensus hardware and software models that deemphasize and example applications. (To facilitate reproducibility, security. This imposes detrimental performance, additional we have open-sourced our hardware and software.) complexity, and programmability problems as stronger protec- • Demonstrate an effective and incrementally adoptable tion is layered over weaker substrates. This tendency is clearest hybrid MMU-capability model for compartmentalization, at the lowest levels of the stack: widely used CPUs provide clean composition with OS features such as virtual mem- little support for fine-grained memory protection, and exhibit ory, C-language object capabilities, library compartmen- poor compartmentalization scalability. As a result, countless talization, and an orders-of-magnitude performance gain. research papers explore ways to reintroduce omitted protection • Evaluate the security, complexity, programmability, and features through program transformation. There is little recent performance impacts of the approach, paying particular work in the area of hardware-software approaches, despite attention to compatibility concerns that have not been the a pressing need for vulnerability mitigation in C-language subject of prior capability-system research. Trusted Computing Bases (TCBs) such as language runtimes and web browsers, which are neither easily proven correct nor Throughout, we consider tradeoffs in the hardware- easily replaced with type-safe alternatives. software design space, and their impact on software structure. MMU-based OSes Hybrid capability/MMU OSes Pure capability OSes MMU-based virtual address spaces zlib libssl libssl libpng zlibzlib libssl libssl libpnglibpng zlibzlib libssllibssl class1 class1 libssl class2 ABI wrapper ABI wrapper Pure-capability ABI wrapper Legacy Fetch uses Hybrid Netsurf links Fetch command-line Netsurf Fetch can still use class3 pure-capability zlib against legacy and class2 HTTP client web browser legacy code in via an ABI wrapper pure-capability code compartments Capability-based Address-space executive Address-space executive Address-space executive unikernel OS + Capability-based FreeBSD kernel applications FreeBSD kernel single-address-space + CHERI support for userspace capabilities Address-space executive OS and applications Hypervisor / Separation Kernel Hypervisor / Separation Kernel MMU-based virtual address spaces + CHERI support for guest capabilities Address-space executive CHERI CPU CHERI CPU CHERI CPU ‘Legacy’ code compiled against a RISC ISA ‘Pure-capability’ code uses CHERI capabilities for all C pointers Regular linkage ‘Hybrid’ code uses RISC pointers or source-code annotated CHERI capabilities Per-address-space memory-management and capability executive Compartment boundary Fig. 1. While the CHERI ISA can support a spectrum of hardware-software architectures, from conventional MMU-based virtualization and OS process models to single address-space capability systems, we focus on hybridization opportunities that allow elements of both approaches to be combined. II. APPROACH Conventional UNIX process Capsicum logical application main loop Process with Capability-mode process The CHERI hardware-software architecture enhances vul- ambient authority vulnerable vulnerable nerability mitigation through two capability-based techniques compression main loop compression aimed at user-level C-language TCBs: logic logic • Memory capabilities, described in prior papers, are Kernel Kernel implemented by the ISA [57] and compiler [15], provid- Selected rights delegated to ing an incrementally deployable replacement for pointers sandbox via capabilities within address spaces, mitigating memory-based exploits. • Object capabilities, the focus of this paper, are im- Fig. 2. Software compartmentalization decomposes applications into isolated plemented by the operating system over the memory- components, limiting rights leaked to successful attackers. capability foundation, providing scalable, and likewise incrementally adoptable, software compartmentalization. We accept this adversary model, but observe that modest Capability systems are hardware, software, or distributed extensions to the CheriBSD class loader would also allow it systems designed to implement the principle of least privi- to tolerate a malicious software supply chain. We begin by lege [17], [43]. Capabilities are unforgeable tokens of authority briefly introducing capability-based compartmentalization and granting rights to objects in the system; they can be selectively the CHERI ISA. delegated between constrained programs to enforce security policies. While pure capability systems allow access to objects Capability-system concepts have proved useful in imple- only via capabilities, CHERI is a hybrid capability system menting
Recommended publications
  • Valorizzazione E Promozione Del Volontariato”, Art
    REGIONE PIEMONTE BU44 31/10/2012 Comunicato della Direzione Politiche sociali e politiche per la famiglia della Regione Piemonte L.R. n. 38/1994 “Valorizzazione e promozione del volontariato”, art. 4, c. 5, - Pubblicazione del registro del volontariato”. La presente pubblicazione si articola per Province. L’elenco, per comodità di consultazione, è ordinato per settore di intervento, la sezione regionale degli organismi di coordinamento e collegamento è collocata dopo le sezioni provinciali. La pubblicazione contiene i dati forniti dagli uffici provinciali, che ne assicurano la validità, ed è aggiornata e fa fede alla data del 31 luglio 2012. Allegato PROVINCIA DI ALESSANDRIA ATTIVITA' DATA SEZIONE DENOMINAZIONE/INDIRIZZO LEGALE RECAPITO SPEDIZIONE TELEFONO FAX E-MAIL/SITO INTERNET PREVALENTE ISCRIZIONE A.V. AIUTIAMOCI A VIVERE ONLUS C/O C.D.R. SRL ASSISTENZA 1 - SOCIO- VIA MONTEVERDE, 22 VIA A. GALEAZZO, 7 RICOVERATI IN ASSISTENZIALE ACQUI TERME 15011 15011 ACQUI TERME (AL) 0144-324996 0144-356596 www.aiutiamociavivere.it OSPEDALE 25/06/2003 ALESSANDRIA MISSIONARIA 1 - SOCIO- VIA VESCOVADO, 3 VIA VESCOVADO, 3 ASSISTENZIALE ALESSANDRIA 15121 15121 ALESSANDRIA (AL) 0131-512222 0131-444897 [email protected] SOSTEGNO FAMILIARE 27/09/2002 ALLEANZE PER L'AUTISMO VIA PAOLO SACCO, 16 1 - SOCIO- VIA PAOLO SACCO, 16 C/O GRIMALDI ASSISTENZIALE ALESSANDRIA 15121 15121 ALESSANDRIA (AL) 0131-347683 - SOSTEGNO FAMILIARE 13/09/2005 ALT 76 - ASSOCIAZIONE LOTTA ALLE TOSSICODIPENDENZE 1 - SOCIO- VIA DEL CARMINE, 8 VIA DEL CARMINE, 8 ASCOLTO ASSISTENZIALE CASALE MONFERRATO 15033 15033 CASALE MONFERRATO (AL) 0142-461519 0142-435751 [email protected] TELEFONICO 24/09/2002 C/O ISTITUTO SUORE AMICI MADRE BELTRAMI IMMACOLATINE 1 - SOCIO- VIA TORTONA, 27 VIA TORTONA, 27 ACCOGLIENZA ASSISTENZIALE ALESSANDRIA 15100 15100 ALESSANDRIA (AL) - - RESIDENZIALE 04/08/2000 AQUERO 1 - SOCIO- VIA PLANA, 49 VIA PLANA, 49 SOSTEGNO PERSONE ASSISTENZIALE ALESSANDRIA 15121 15121 ALESSANDRIA (AL) 0131-441080 - [email protected] IN DIFFICOLTA' 12/11/2004 ASSOC.
    [Show full text]
  • Learning Raspbian
    Learning Raspbian Get up and running with Raspbian and make the most out of your Raspberry Pi William Harrington BIRMINGHAM - MUMBAI Learning Raspbian Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: February 2015 Production reference: 1190215 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78439-219-2 www.packtpub.com Cover image by William Harrington ([email protected]) Credits Author Project Coordinator William Harrington Aboli Ambardekar Reviewers Proofreaders Robin David Simran Bhogal Özen Özkaya Safis Editing Nicola Pisanti Paul Hindle Commissioning Editor Indexer Amarabha Banerjee Rekha Nair Acquisition Editor Graphics Neha Nagwekar Sheetal Aute Content Development Editor Production Coordinator Ritika Singh Komal Ramchandani Technical Editor Cover Work Mitali Somaiya Komal Ramchandani Copy Editors Dipti Kapadia Vikrant Phadke Rashmi Sawant About the Author William Harrington lives and works at his family's cattle station, Olga Downs, in northwest Queensland, Australia.
    [Show full text]
  • Giant List of Web Browsers
    Giant List of Web Browsers The majority of the world uses a default or big tech browsers but there are many alternatives out there which may be a better choice. Take a look through our list & see if there is something you like the look of. All links open in new windows. Caveat emptor old friend & happy surfing. 1. 32bit https://www.electrasoft.com/32bw.htm 2. 360 Security https://browser.360.cn/se/en.html 3. Avant http://www.avantbrowser.com 4. Avast/SafeZone https://www.avast.com/en-us/secure-browser 5. Basilisk https://www.basilisk-browser.org 6. Bento https://bentobrowser.com 7. Bitty http://www.bitty.com 8. Blisk https://blisk.io 9. Brave https://brave.com 10. BriskBard https://www.briskbard.com 11. Chrome https://www.google.com/chrome 12. Chromium https://www.chromium.org/Home 13. Citrio http://citrio.com 14. Cliqz https://cliqz.com 15. C?c C?c https://coccoc.com 16. Comodo IceDragon https://www.comodo.com/home/browsers-toolbars/icedragon-browser.php 17. Comodo Dragon https://www.comodo.com/home/browsers-toolbars/browser.php 18. Coowon http://coowon.com 19. Crusta https://sourceforge.net/projects/crustabrowser 20. Dillo https://www.dillo.org 21. Dolphin http://dolphin.com 22. Dooble https://textbrowser.github.io/dooble 23. Edge https://www.microsoft.com/en-us/windows/microsoft-edge 24. ELinks http://elinks.or.cz 25. Epic https://www.epicbrowser.com 26. Epiphany https://projects-old.gnome.org/epiphany 27. Falkon https://www.falkon.org 28. Firefox https://www.mozilla.org/en-US/firefox/new 29.
    [Show full text]
  • Why Websites Can Change Without Warning
    Why Websites Can Change Without Warning WHY WOULD MY WEBSITE LOOK DIFFERENT WITHOUT NOTICE? HISTORY: Your website is a series of files & databases. Websites used to be “static” because ​ there were only a few ways to view them. Now we have a complex system, and telling your webmaster what device, operating system and browser is crucial, here’s why: TERMINOLOGY: You have a desktop or mobile “device”. Desktop computers and mobile ​ ​ ​ devices have “operating systems” which are software. To see your website, you’ll pull up a ​ ​ ​ ​ “browser” which is also software, to surf the Internet. Your website is a series of files that ​ ​ needs to be 100% compatible with all devices, operating systems and browsers. Your website is built on WordPress and gets a weekly check up (sometimes more often) to ​ ​ ​ see if any changes have occured. Your site could also be attacked with bad files, links, spam, comments and other annoying internet pests! Or other components will suddenly need updating which is nothing out of the ordinary. WHAT DOES IT LOOK LIKE IF SOMETHING HAS CHANGED? Any update to the following can make your website look differently: There are 85 operating ​ systems (OS) that can update (without warning). And any of the most popular roughly 7 ​ ​ ​ browsers also update regularly which can affect your site visually and other ways. (Lists below) ​ Now, with an OS or browser update, your site’s 18 website components likely will need ​ ​ updating too. Once website updates are implemented, there are currently about 21 mobile ​ devices, and 141 desktop devices that need to be viewed for compatibility.
    [Show full text]
  • Raspberry Pi
    Raspberry Pi i Raspberry Pi About the Tutorial Raspberry Pi, developed by Raspberry Pi Foundation in association with Broadcom, is a series of small single-board computers and perhaps the most inspiring computer available today. From the moment you see the shiny green circuit board of Raspberry Pi, it invites you to tinker with it, play with it, start programming, and create your own software with it. Earlier, the Raspberry Pi was used to teach basic computer science in schools but later, because of its low cost and open design, the model became far more popular than anticipated. Audience This tutorial will be useful for people of all ages especially students who want to take their first step in computer science. The reader can be a beginner or an advanced learner. Prerequisites The readers must have basic knowledge about Linux and Python programming language. They should also be aware of the basics of electronic circuits. Copyright & Disclaimer Copyright 2021 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial.
    [Show full text]
  • Army Manual on Civil Affairs Operations
    FM 3-05.40 (FM 41-10) Civil Affairs Operations September 2006 DISTRIBUTION RESTRICTION: Distribution authorized to U.S. Government agencies and their contractors only to protect technical or operational information from automatic dissemination under the International Exchange Program or by other means. This determination was made on 20 December 2005. Other requests for this document must be referred to Commander, United States Army John F. Kennedy Special Warfare Center and School, ATTN: AOJK-DTD-CA, Fort Bragg, NC 28310-5000. DESTRUCTION NOTICE: Destroy by any method that will prevent disclosure of contents or reconstruction of the document. FOREIGN DISCLOSURE RESTRICTION (FD 6): This publication has been reviewed by the product developers in coordination with the United States Army John F. Kennedy Special Warfare Center and School foreign disclosure authority. This product is releasable to students from foreign countries on a case-by-case basis only. Headquarters, Department of the Army *FM 3-05.40 (FM 41-10) Field Manual Headquarters No. 3-05.40 (FM 41-10) Department of the Army Washington, DC, 29 September 2006 Civil Affairs Operations Contents Page PREFACE ..............................................................................................................v Chapter 1 INTRODUCTION TO CIVIL AFFAIRS............................................................... 1-1 Civil Affairs Forces Mission and Key Definitions ................................................ 1-1 Civil Affairs Overview.........................................................................................
    [Show full text]
  • TROGUARD: Context-Aware ProtecOn Against Web-Based Socially Engineered Trojans
    TROGUARD: Context-Aware Protec6on Against Web-Based Socially Engineered Trojans Rui Han, Alejandro Mesa, University of Miami Mihai Christodorescu, QualComm Research Saman Zonouz, Rutgers University Mo#va#on • Waterfall screen saver Trojan 2 Mac OS threats Rank Name Percentage 1 Trojan.OSX.FakeCo.a 52% 2 Trojan-DownloaDer.OSX.Jahlav.d 8% 3 Trojan-DownloaDer.OSX.Flashfake.aI 7% 4 Trojan-DownloaDer.OSX.FavDonw.c 5% 5 Trojan-DownloaDer.OSX.FavDonw.a 2% 6 Trojan-DownloaDer.OSX.Flashfake.ab 2% 7 Trojan-FakeAV.OSX.Defma.gen 2% 8 Trojan-FakeAV.OSX.Defma.f 1% 9 Exploit.OSX.Smid.b 1% 10 Trojan-DownloaDer.OSX.Flashfake.af 1% McAfee an6virus solu6on: hVp:www.securelist.com 3 Example Malwares Malware Descripons Plaorm TrojanClicker.VB Trojan socially Windows engineered as adobe .395 flash update and Mac OS X Trojan or Adware socially Windows, Mac Faked An6-Virus engineered as an6-virus so]ware OS X, and Linux Malware socially Android Opfake Browser engineered as Opera Browser Legi6mate applicaons Mac OS X and WireLuker socially engineered with ad-wares and Trojan iOS 4 ContribUons • Answer the ques6on: “Is this program doing what I expected it to do?” • Bridge the seman6c gap between func6onality classes and low level behaviors • Built on 100 Linux app profiles • High detec6on rate on 50 Trojan apps 5 TROGUARD ArchItectUre TROGUARD Offline Dynamic Application Functionality Application Functionality Functionality Class Profile Database Feature Tracing Generation Extraction Application Functionality Profile Database Online Inference of Download Perceived
    [Show full text]
  • PWC Gr8 Gals@Technology June 23, 2015 Browsers and Email
    PWC Gr8 Gals@Technology June 23, 2015 Browsers and Email PWC Gr8 Gals@Technology 2015-16 meeting topics. Location: West Lafayette Library 1:30-3PM, except where noted. Meeting date: 4th Tuesdays Topic June 23 at DANL Organization meeting: review program ideas, gauge interest/need. Topic: Browsers and Email Best practices on their use. July 28 – at Best Buy Update at Best Buy before the store opens. Topics: Update on Smart TVs, tablets/smart phones, health &fitness wearable technology. 8:15-10 AM August 25 Topic: Backup, Security, Software to use, or do you use the cloud? September 22 Photos: uploading, managing, printing, view on TV October 27 Ideas for holiday gifts. Tech for kids Apps for various devices. November 24 No meeting December 22 No meeting January 26 What did you get for holiday gifts…..and now what do you do with it!! Practice for Feb. Webinar. February 23 Webinar….so we don’t have to go out in the cold? TV’s, music, FaceTime, Skype March 22 – (Scott away) Yet to be determined: See what Tippecanoe Library can do….. April 26 Help session. Schedule a time with Scott to go over specific issues. May 24 (Memorial Day 30th) Plan for 2016-17 year Phones….cells….house over cell…voip…. Ideas: How many browsers do I need? Or what is the best browser to use? What are the really good search engines (like Google)? What mapping systems are best? Email. What should I be using? Back up practices/software; security How to remember passwords. What are the dangers of buying things online, and is PayPal the most secure way to pay? How do I know what I need in computing devices? Software…where is it going? Computer resident or cloud.
    [Show full text]
  • Comparative Analysis of Different Operating Systems for a Raspberry Pi
    National Conference on Innovative Trends in Science and Engineering (NC-ITSE'16) ISSN: 2321-8169 Volume: 4 Issue: 7 341 - 344 ___________________________________________________________________________________________________________________ Comparative Analysis of Different Operating Systems for a Raspberry Pi Prabodh S. Nimat1 Amit S. Kakad2 Deepavali P. Patil3 Dept. of CSE Dept. of ENTC Dept. of CSE MGICOET, Shegaon MGICOET, Shegaon MGICOET, Shegaon [email protected] [email protected] [email protected] Nitish B. Bhawarkar4 Swapnil A. Tale Dept. of ENTC Dept. of ENTC MGICOET, Shegaon MGICOET, Shegaon [email protected] [email protected] Abstract- In this paper we will take a look at different operating system for Raspberry Pi set up so you can try it and start using it for the variety of purposes. Raspberry Pi is small but powerful credit card sized little computer, but before doing anything awesome, you need to configure Raspberry Pi kit and install an operating system. Without an operating system Raspberry Pi is just a piece of silicon, fiberglass, and a few other semiconductor materials. This paper shed the light on different operating systems available for Raspberry Pi. We are going to compare them based on their emergent features, that makes them different than other Many from the available lists of operating systems, each one of them are segregated based on their applications, features and specifications. We have taken the 8 different operating system on our radar most use for Raspberry PiincludingRaspbian, Pidora, ArchLinux, OSMC, RetroPie, RISC OS, Firefox OS and Kali Linux. This paper focuses on the which operating system is capable and useful for particular needs and purposes.
    [Show full text]
  • Schlanke Webbrowser Unter Linux
    Surfen auf alten PCs und Single-Boardern: Schlanke Webbrowser unter Linux Surfen auf alten PCs und Single-Boardern: Schlanke Webbrowser unter Linux Axel Beckert <[email protected]> 04/14/16 Surfen auf alten PCs und Single-Boardern: Schlanke Webbrowser unter Linux Motivation Firefox und Chromium/Chrome brauchen heutzutage RAM gigabyte-weise: http://www.commitstrip.com/en/scumbag-chrome Auch webkit-basierte Browser sind nicht besonders sparsam mit Ressourcen. Soll man alte PCs wegwerfen, nur weil die bekannten Webbrowser zu viel Ressourcen brauchen? Ist surfen auf ’nem Raspberry Pi 1 Modell A (256 MB RAM) unmöglich? Surfen auf alten PCs und Single-Boardern: Schlanke Webbrowser unter Linux Ressourcen-freundliche Webbrowser Unter X11 I Netsurf I Dillo I Links 2 Auf der Konsole mit Framebuffer I Netsurf I Links 2 Im Text-Modus I Links 2 I W3m (X11-Support nur zur Anzeige von Bildern) I Lynx I ELinks I Netrik Surfen auf alten PCs und Single-Boardern: Schlanke Webbrowser unter Linux Netsurf I Plattenplatz: 4 MB I RAM-Verbrauch: 104 MB I Framebuffer-Unterstützung, aber buggy I GTK I CSS 2.1 I JavaScript (experimentell; muss explizit eingeschaltet werden) I Kann als einziger grafischer Browser im Feld Punycode (Umlaut-Domains) I Tabs I Eingebauter Adblocker (optional) I Primäre Plattform: RISC OS (z.B. auf dem Raspberry Pi) I Auch für BeOS, AmigaOS und MacOS X. I aktiv entwickelt I http://www.netsurf-browser.org/ Surfen auf alten PCs und Single-Boardern: Schlanke Webbrowser unter Linux Dillo I Plattenplatz: 1,3 MB I RAM-Verbrauch: 27 MB I FLTK (Fast and Light Toolkit) I CSS (unvollständig) I Kann kein Punycode (Umlaut-Domains) I Tabs I Konfiguration primär über Datei .dillorc I Anzeige, wieviele Bilder bereits geladen bzw.
    [Show full text]
  • Jessamyn West
    Firefox & free tools Jessamyn West <librarian.net/talks/njla2009> hi. my name is jessamyn west, and I am a pragmatist. I know you can’t open source everything. I want an open source car. I can’t have that. I want open source downloadable audiobooks but my library has overdrive. the handout thing If it’s Googleable, I will not link it. librarian.net/talks/njla2009 Free as in... kittens freedom beer there’s a get what you pay for aspect too, that I won’t talk too much about. Purity is noble, but unrealistic. That said... it’s a pretty awesome time to be into open source browsers... are there other open source browsers? yes. Amaya, Camino, Chromium, Dillo, Elinks, Epiphany, Flock, Galeon, GNU IceCat, K- Meleon, Konqueror, Links, Lynx, Mozilla Firefox, NetSurf, SeaMonkey, Shiira, WorldWideWeb, w3m these are all open source they are all also free. Free as you know doesn't always mean you don't pay for it, but if you don't get the “free” thing by now, my overexplanation is not going to help. it is the user who is free. Amaya, Camino, Chromium, Dillo, Elinks, Epiphany, Flock, Galeon, GNU IceCat, K- Meleon, Konqueror, Links, Lynx, Mozilla Firefox, NetSurf, SeaMonkey, Shiira, WorldWideWeb, w3m Let’s look more specifically.... You have Mac and Windows users? These are the cross- platform browsers. Amaya, Camino, Chromium, Dillo, Elinks, Epiphany, Flock, Galeon, GNU IceCat, K- Meleon, Konqueror, Links, Lynx, Mozilla Firefox, NetSurf, SeaMonkey, Shiira, WorldWideWeb, w3m Oh you like graphics? These are text only.... Amaya, Camino, Chromium, Dillo, Elinks, Epiphany, Flock, Galeon, GNU IceCat, K- Meleon, Konqueror, Links, Lynx, Mozilla Firefox, NetSurf, SeaMonkey, Shiira, WorldWideWeb, w3m and what’s seamonkey? remember netscape? Then this might make you nostalgic..
    [Show full text]
  • Porting a Web Browser to Amigaos3
    Porting a Web Browser to AmigaOS3 4th Year Internship Report June, 6th – August 28th 2016 Polytech MONTPELLIER Dylan LEVY 2014-2017 Promotion 4th Year Computer Science & Management Dpt. Internship Tutor Polytech Tutor Yann-Gaël GUEHENEUC Vincent BERRY Associate Professor Professor, Researcher Ptidej Team LIRMM Internship done in the Computer Science and Software Engineering Department at École Polytechnique de Montréal (PolyMtl), 2900 boul. Édouard-Montpetit, Montréal, Postal Code H3T 1J4, Québec, Canada Content Acknowledgements ..................................................................................................................................................................................................................................................... 1 People .......................................................................................................................................................................................................................................................................... 1 Institutions ................................................................................................................................................................................................................................................................. 1 Introduction ....................................................................................................................................................................................................................................................................
    [Show full text]