Designing for Extensibility and Planning for Conflict

Total Page:16

File Type:pdf, Size:1020Kb

Designing for Extensibility and Planning for Conflict Designing for Extensibility and Planning for Conflict: Experiments in Web-Browser Design Benjamin S. Lerner A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy University of Washington 2011 Program Authorized to Offer Degree: UW Computer Science & Engineering University of Washington Graduate School This is to certify that I have examined this copy of a doctoral dissertation by Benjamin S. Lerner and have found that it is complete and satisfactory in all respects, and that any and all revisions required by the final examining committee have been made. Chair of the Supervisory Committee: Daniel Grossman Reading Committee: Daniel Grossman Steven Gribble John Zahorjan Date: In presenting this dissertation in partial fulfillment of the requirements for the doctoral degree at the University of Washington, I agree that the Library shall make its copies freely available for inspection. I further agree that extensive copying of this dissertation is allowable only for scholarly purposes, consistent with “fair use” as prescribed in the U.S. Copyright Law. Requests for copying or reproduction of this dissertation may be referred to Proquest Information and Learning, 300 North Zeeb Road, Ann Arbor, MI 48106-1346, 1-800-521-0600, to whom the author has granted “the right to reproduce and sell (a) copies of the manuscript in microform and/or (b) printed copies of the manuscript made from microform.” Signature Date University of Washington Abstract Designing for Extensibility and Planning for Conflict: Experiments in Web-Browser Design Benjamin S. Lerner Chair of the Supervisory Committee: Associate Professor Daniel Grossman UW Computer Science & Engineering The past few years have seen a growing trend in application development toward “web ap- plications”, a fuzzy category of programs that currently (but not necessarily) run within web browsers, that rely heavily on network servers for data storage, and that are developed and de- ployed differently from traditional desktop applications. Where (typical) traditional applications are compiled pieces of code, written in arbitrary languages, that implement both an application’s user interface and its functionality, web apps by contrast are written in three interpreted languages: HTML to define the structure or content of the UI, CSS to define the appearance, and JavaScript (JS) to define the behavior. These three languages feel nothing alike, and are used for different facets of the applications. The last decade has also seen the rise of Mozilla Firefox, a web browser whose UI and func- tionality are themselves written in (dialects of) HTML, CSS, and JS, making Firefox one of the first fully-fledged web apps. Part of Firefox’s appeal is its strong support for extensions, which are downloadable, third-party pieces of code (i.e., not written by Mozilla or with Mozilla’s coopera- tion) that enhance the browser with additional functionality or customizations. Firefox extensions are wildly popular: over six thousand distinct extensions have been downloaded over 2.5 billion times [193], and all major browser vendors have added varying degrees of support for extensions to their own products. Crucially, these extensions are also written in HTML, CSS, and JS: writing an extension feels fundamentally similar to writing a web page or web app. Thanks to the dynamic, interpreted nature of these three languages, it is mostly straightforward to incorporate the contents of an extension into the existing browser. There are, however, some caveats. Not all programs are equally amenable to post-hoc extension, and there are currently no guarantees that multiple extensions do not conflict, destabilizing each other or the base browser. In this dissertation, I aim to provide better support for rich extensibility for web apps. In particular, I claim that Language-specific extension mechanisms are needed for each of HTML, CSS, and JS, and such mechanisms are needed for building useful diagnostic tools to address inter-extension conflicts. To support this thesis, I first present C3, the “Cloud Computing Client”, an implementation of the HTML/CSS/JS platform architected explicitly to support experimentation with extensibility. I then define two such extension mechanisms for HTML and for JS: overlays and aspects, respectively. I develop conflict analyses for HTML overlays, and evaluate them on a sample of Firefox extensions. Conflict analyses for JS are sketched, and extension mechanisms for CSS are left for future work. TABLE OF CONTENTS Page List of Figures . vi Chapter 1: Introduction . 1 1.1 From browsers to platforms . 1 1.2 Positioning extensions . 3 1.2.1 The case for extensions . 6 1.2.2 Designing for power, flexibility and stability . 7 1.3 Contrasting two extension models . 8 1.3.1 Extending the user interface . 8 1.3.2 Extending the functionality . 9 1.4 Proposed support for improving extensions . 11 1.4.1 Necessary platform support . 12 1.4.2 Code extension via aspects . 13 1.4.3 ui extension via semantic overlays . 14 1.4.4 Enforcing security policies . 16 1.5 Summary . 16 Chapter 2: Defining an extension model . 17 2.1 Defining extensibility . 17 2.2 Extensibility in web platforms . 17 2.2.1 The extension development model . 18 2.2.2 The platform level . 19 2.2.3 The webapp level . 20 2.3 Extension mechanisms in existing browsers . 21 2.4 Defining extension models . 25 2.5 Aspect-oriented programming . 26 2.5.1 Language design . 28 2.5.2 Safe aop idioms . 28 2.5.3 Conflict detection among aspects . 30 2.6 Operating systems and other platforms . 31 2.6.1 Static os extensions: Aspects and code management . 32 2.6.2 The Exokernel approach: Composable, pervasive but coarse . 33 2.6.3 The SPIN approach: fine-grained and wide . 34 i 2.6.4 The Singularity approach: Fine-grained, not too wide or narrow . 35 2.6.5 Other platforms . 37 2.7 Feature specification . 39 2.7.1 Logic choice . 40 2.7.2 Termination conditions . 40 2.7.3 Modular checking . 41 2.7.4 Reified features . 42 2.8 Security monitors . 43 2.8.1 Theoretical results . 44 2.8.2 Safety properties and beyond . 45 2.9 Contrasting the web platform with related work . 46 2.10 Summary . 48 Chapter 3: Browser architecture choices for extensibility . 49 3.1 Introduction . 49 3.1.1 Addressing a broader need . 50 3.1.2 Contributions . 51 3.2 C3 architecture and design choices . 51 3.2.1 Pieces of an HTML platform . 52 3.2.2 Modularity . 53 3.2.3 Implementing JS objects . 53 3.2.4 dom implementation . 56 3.2.5 The HTML parser . 60 3.2.6 Computing visual structure . 60 3.2.7 The browser kernel and window proxies . 61 3.2.8 Accommodating privileged ui ........................... 62 3.2.9 Threading architecture . 63 The dom/JS thread(s) . 63 The layout thread(s) . 64 The ui thread . 64 3.3 C3 Extension points . 65 3.3.1 HTML parsing/document construction . 66 3.3.2 JS execution . 70 3.3.3 CSS and layout . 71 3.4 Evaluation . 73 3.4.1 Performance . 73 3.4.2 Expressiveness . 73 XML3D: Extending HTML, CSS and layout . 74 Maverick: Extensions to the global scope . 74 RePriv: Extensions hosting extensions . 75 ii 3.4.3 Other extension models . 75 Shadow doms .................................... 75 Extensions to application ui ............................ 76 Extensions to scripts . 77 3.4.4 Security considerations . 78 3.5 Future work . 78 3.6 Summary . 79 Chapter 4: JS aspects . 81 4.1 Introduction . 81 4.1.1 Aspects for JavaScript . 81 4.1.2 Outline . 82 4.2 Extensible Web-Programming Examples . 83 4.2.1 Reformatting messages in Gmail.
Recommended publications
  • Using Emergent Team Structure to Focus Collaboration
    Using Emergent Team Structure to Focus Collaboration by Shawn Minto B.Sc, The University of British Columbia, 2005 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF Master of Science The Faculty of Graduate Studies (Computer Science) The University Of British Columbia January 30, 2007 © Shawn Minto 2007 ii Abstract To build successful complex software systems, developers must collaborate with each other to solve issues. To facilitate this collaboration specialized tools are being integrated into development environments. Although these tools facilitate collaboration, they do not foster it. The problem is that the tools require the developers to maintain a list of other developers with whom they may wish to communicate. In any given situation, it is the developer who must determine who within this list has expertise for the specific situation. Unless the team is small and static, maintaining the knowledge about who is expert in particular parts of the system is difficult. As many organizations are beginning to use agile development and distributed software practices, which result in teams with dynamic membership, maintaining this knowledge is impossible. This thesis investigates whether emergent team structure can be used to support collaboration amongst software developers. The membership of an emergent team is determined from analysis of software artifacts. We first show that emergent teams exist within a particular open-source software project, the Eclipse integrated development environment. We then present a tool called Emergent Expertise Locator (EEL) that uses emergent team information to propose experts to a developer within their development environment as the developer works. We validated this approach to support collaboration by applying our ap• proach to historical data gathered from the Eclipse project, Firefox and Bugzilla and comparing the results to an existing heuristic for recommending experts that produces a list of experts based on the revision history of individual files.
    [Show full text]
  • Mozilla Firefox Lower Version Free Download Firefox Release Notes
    mozilla firefox lower version free download Firefox Release Notes. Release Notes tell you what’s new in Firefox. As always, we welcome your feedback. You can also file a bug in Bugzilla or see the system requirements of this release. Download Firefox — English (US) Your system may not meet the requirements for Firefox, but you can try one of these versions: Download Firefox — English (US) Download Firefox Download Firefox Download Firefox Download Firefox Download Firefox Download Firefox Download Firefox Download Firefox Firefox for Android Firefox for iOS. December 1, 2014. We'd also like to extend a special thank you to all of the new Mozillians who contributed to this release of Firefox! Default search engine changed to Yandex for Belarusian, Kazakh, and Russian locales. Improved search bar (en-US only) Firefox Hello real-time communication client. Easily switch themes/personas directly in the Customizing mode. Wikipedia search now uses HTTPS for secure searching (en-US only) Recover from a locked Firefox process in the "Firefox is already running" dialog on Windows. Fixed. CSS transitions start correctly when started at the same time as changes to display, position, overflow, and similar properties. Fullscreen video on Mac disables display sleep, and dimming, during playback. Various Yosemite visual fixes (see bug 1040250) Changed. Proprietary window.crypto properties/functions re-enabled (to be removed in Firefox 35) Firefox signed by Apple OS X version 2 signature. Developer. WebIDE: Create, edit, and test a new Web application from your browser. Highlight all nodes that match a given selector in the Style Editor and the Inspector's Rules panel.
    [Show full text]
  • Firefox “Eklenti”Leri Nedir?
    İ İ TMMOB ELEKTRİK MÜHENDİSLERİ ODASI ANKARA ŞUBESİ HABER 2007/5 BÜLTEN . grubunun farklı farklı Özür dilemeyi bırakın sizinle işverenin her hakkı sonuna . yerlerden sizi sıkıştırarak aynı bir dakika ya da devam edin kadar savunulurken metinler anda birden fazla işle uğraşıp gibi anlamları olan jestlerle çalışan aleyhine kötüye . uğraşamadığınızı denemesi bile iletişim kurmaz. Odadaki kullanılabilecek yığınla . kişilik testleri ya da dil koltuklar bile sizden daha maddeyle doludur, “gelenek . sınavları kadar sıradan anlamlıdır. Böyle bir süre ve göreneklere aykırı olabiliyor. Ne de olsa iş uğraşırsınız. Kalkıp gideyim davranış???”. Kendilerini . arayan yığınla insan var, dersiniz, abuk sabuk bir sınav yüzüstü bırakan, şöyle zarar Firefox “eklenti”leri nedir? . psikoloji konusunda mı bu da dersiniz, telefon veren böyle kötü işler yapan . yetkinlikleri kesinlikle tartışılır görüşmelerinden birinde eski çalışanlarından dem . olan insanlar bile size bu nerdeyse ağzı açılmadık vurarak açıklarlar yöntemleri uygulamaya küfürler kullanarak bir iş sözleşmeleri de. Peki, sizin . kalkabilir. Sizin entelektüel ya arkadaşını aşağılar. Siz yeter teminatınız, sizin sunduğunuz . da teknik kapasitenizin hiçbir artık bu kadarı, burayı zaman, emek ve çabanın . anlamı yok, siz iş arıyorsunuz, terketmek lazım derken karşılığı? Üstelik bir iş bulmuş bu durumda yalnızca kedinin telefonu kapatır ve sizi kovar. olmanız her zaman güzel . eline düşmüş olan faresiniz Anlamazsınız, daha en başta haber olmayabiliyorken. ve onlar en iyi fareyi seçme başladığınız lafı bile Mesleki anlamda size hiç bir . hakkına sahipler. bitirmemişsinizdir. Haddinizi şey katmayan bir işte çalışıp Elektrik-Elektronik Mühendisi Ömürhan SOYSAL . aşıp bu yaptığının ne anlama (başta belirtilen iş tanımına EMO Ankara Şubesi Örgütlenme Sekreteri Olası patron adaylarınızın iş geldiğini sorduğunuzda ”İşim uymak gibi bir zorunluluk [email protected] .
    [Show full text]
  • Brief Intro to Firebug Firebug at a Glance
    Brief Intro to Firebug Firebug at a glance • One of the most popular web debugging tool with a collec6on of powerful tools to edit, debug and monitor HTML, CSS and JavaScript, etc. • Many rich features: • Inspect, Log, Profile • Debug, Analyze, Layout How to install • Get firebug: • Open Firefox, and go to hp://geirebug.com/ • Click Install Firebug, and follow the instruc6ons • Ways to launch Firebug • F12, or Firebug Buon • Right click an element on the page and inspect it with Firebug Firebug Panels • Console: An interac6ve JavaScript Console • HTML: HTML View • CSS: CSS View • Script: JavaScript Debugger • DOM: A list of DOM proper6es (defaults to window object) • Net: HTTP traffic monitoring • Cookies: Cookie View Tasks for HTML Panel • Open twiLer.com and log in with your account. Ac6vate Firebug. • Tasks with HTML Panel • 1. Which <div> tag corresponds to the navigaon bar at the top of the page? • 2. Change the text “Messages” in the navigaon bar to “Tweets” • 3. Find out which <div> tag corresponds to the dashboard which is the le` column of the page. Can you change the width of the dashboard to 200px? • 4. Try to figure out the URL of your profile picture at the top le` corner of the home page, and use this URL to open this picture in a new tab. • 5. Change your name next to your profile picture to something else, and change the text colour to blue. Inspect HTTP Traffic • Open twiLer.com and log in with your account. Ac6vate Firebug. • Tasks with Net Panel • 1. Which request takes the longest 6me to load? • 2.
    [Show full text]
  • Browser Wars
    Uppsala universitet Inst. för informationsvetenskap Browser Wars Kampen om webbläsarmarknaden Andreas Högström, Emil Pettersson Kurs: Examensarbete Nivå: C Termin: VT-10 Datum: 2010-06-07 Handledare: Anneli Edman "Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of read- ing a document written on another computer, another word processor, or another network" - Sir Timothy John Berners-Lee, grundare av World Wide Web Consortium, Technology Review juli 1996 Innehållsförteckning Abstract ...................................................................................................................................... 1 Sammanfattning ......................................................................................................................... 2 1 Inledning .................................................................................................................................. 3 1.1 Bakgrund .............................................................................................................................. 3 1.2 Syfte ..................................................................................................................................... 3 1.3 Frågeställningar .................................................................................................................... 3 1.4 Avgränsningar .....................................................................................................................
    [Show full text]
  • Comodo System Cleaner Version 3.0
    Comodo System Cleaner Version 3.0 User Guide Version 3.0.122010 Versi Comodo Security Solutions 525 Washington Blvd. Jersey City, NJ 07310 Comodo System Cleaner - User Guide Table of Contents 1.Comodo System-Cleaner - Introduction ............................................................................................................ 3 1.1.System Requirements...........................................................................................................................................5 1.2.Installing Comodo System-Cleaner........................................................................................................................5 1.3.Starting Comodo System-Cleaner..........................................................................................................................9 1.4.The Main Interface...............................................................................................................................................9 1.5.The Summary Area.............................................................................................................................................11 1.6.Understanding Profiles.......................................................................................................................................12 2.Registry Cleaner............................................................................................................................................. 15 2.1.Clean.................................................................................................................................................................16
    [Show full text]
  • SA4VBE08KN/12 Philips MP4 Player with Fullsound™
    Philips GoGEAR MP4 player with FullSound™ Vibe 8GB* SA4VBE08KN Feel the vibes of sensational sound Small, colorful and entertaining The colored Philips GoGEAR Vibe MP4 player SA4VBE08KN comes with FullSound to bring music and videos to life, and Songbird to synchronize music and enjoy entertainment. SafeSound protects your ears and FastCharge offers quick charging. Superb quality sound • Fullsound™ to bring your MP3 music to life • SafeSound for maximum music enjoyment without hearing damage Complements your life • 4.6 cm/1.8" full color screen for easy, intuitive browsing • Soft and smooth finish for easy comfort and handling • Enjoy up to 20 hours of music or 4 hours of video playback Easy and intuitive • Philips Songbird: one simple program to discover, play, sync • LikeMusic for playlists of songs that sound great together • Quick 5-minute charge for 90 minutes of play • Folder view to organize and view media files like on your PC MP4 player with FullSound™ SA4VBE08KN/12 Vibe 8GB* Highlights FullSound™ level or allow SafeSound to automatically Philips Songbird regulate the volume for you – no need to fiddle with any settings. In addition, SafeSound provides daily and weekly overviews of your sound exposure so you can take better charge of your hearing health. 4.6 cm/1.8" full color screen Philips' innovative FullSound technology One simple, easy-to-use program that comes faithfully restores sonic details to compressed with your GoGear player, Philips Songbird lets MP3 music, dramatically enriching and you discover and play all your media, and sync enhancing it, so you can experience CD music it seamlessly with your Philips GoGear.
    [Show full text]
  • HTTP Cookie - Wikipedia, the Free Encyclopedia 14/05/2014
    HTTP cookie - Wikipedia, the free encyclopedia 14/05/2014 Create account Log in Article Talk Read Edit View history Search HTTP cookie From Wikipedia, the free encyclopedia Navigation A cookie, also known as an HTTP cookie, web cookie, or browser HTTP Main page cookie, is a small piece of data sent from a website and stored in a Persistence · Compression · HTTPS · Contents user's web browser while the user is browsing that website. Every time Request methods Featured content the user loads the website, the browser sends the cookie back to the OPTIONS · GET · HEAD · POST · PUT · Current events server to notify the website of the user's previous activity.[1] Cookies DELETE · TRACE · CONNECT · PATCH · Random article Donate to Wikipedia were designed to be a reliable mechanism for websites to remember Header fields Wikimedia Shop stateful information (such as items in a shopping cart) or to record the Cookie · ETag · Location · HTTP referer · DNT user's browsing activity (including clicking particular buttons, logging in, · X-Forwarded-For · Interaction or recording which pages were visited by the user as far back as months Status codes or years ago). 301 Moved Permanently · 302 Found · Help 303 See Other · 403 Forbidden · About Wikipedia Although cookies cannot carry viruses, and cannot install malware on 404 Not Found · [2] Community portal the host computer, tracking cookies and especially third-party v · t · e · Recent changes tracking cookies are commonly used as ways to compile long-term Contact page records of individuals' browsing histories—a potential privacy concern that prompted European[3] and U.S.
    [Show full text]
  • (Hardening) De Navegadores Web Más Utilizados
    UNIVERSIDAD DON BOSCO VICERRECTORÍA DE ESTUDIOS DE POSTGRADO TRABAJO DE GRADUACIÓN Endurecimiento (Hardening) de navegadores web más utilizados. Caso práctico: Implementación de navegadores endurecidos (Microsoft Internet Explorer, Mozilla Firefox y Google Chrome) en un paquete integrado para Microsoft Windows. PARA OPTAR AL GRADO DE: MAESTRO EN SEGURIDAD Y GESTION DEL RIESGO INFORMATICO ASESOR: Mg. JOSÉ MAURICIO FLORES AVILÉS PRESENTADO POR: ERICK ALFREDO FLORES AGUILAR Antiguo Cuscatlán, La Libertad, El Salvador, Centroamérica Febrero de 2015 AGRADECIMIENTOS A Dios Todopoderoso, por regalarme vida, salud y determinación para alcanzar un objetivo más en mi vida. A mi amada esposa, que me acompaño durante toda mi carrera, apoyó y comprendió mi dedicación de tiempo y esfuerzo a este proyecto y nunca dudó que lo concluiría con bien. A mis padres y hermana, que siempre han sido mis pilares y me enseñaron que lo mejor que te pueden regalar en la vida es una buena educación. A mis compañeros de trabajo, que mediante su esfuerzo extraordinario me han permitido contar con el tiempo necesario para dedicar mucho más tiempo a la consecución de esta meta. A mis amigos de los que siempre he tenido una palabra de aliento cuando la he necesitado. A mi supervisor y compañeros de la Escuela de Computación de la Universidad de Queens por facilitarme espacio, recursos, tiempo e información valiosa para la elaboración de este trabajo. A mi asesor de tesis, al director del programa de maestría y mis compañeros de la carrera, que durante estos dos años me han ayudado a lograr esta meta tan importante. Erick Alfredo Flores Aguilar INDICE I.
    [Show full text]
  • Google Chrome OS VS Distribuciones GNU/Linux 18
    1Google Chrome OS Universidad Católica “Nuestra Señora de la Asunción” Facultad de Ciencias y Tecnología Departamento de Ingeniería Electrónica e Informática TAI 2 Chrome OS Fernando Cardozo [email protected] Mat:51300 Prof: Ing Juan Urraza Asunción – Paraguay 2010 2Google Chrome OS Índice Introducción 4 Un nuevo modelo 5 Kernel 6 Arquitectura del software 6 El sistema en sí y los servicios 7 El navegador y el administrador de ventanas 8 Sistema de archivos 8 Diagrama del proceso de booteo 9 Requerimientos del hardware 10 Seguridad en el Chrome OS 10 Interfaz del usuario 11 Pestaña de aplicaciones 12 Panel 13 Multiples ventanas 14 Como se sincroniza Chrome en la nube 15 Google Cloud Printing 16 Chromoting 17 Chrome OS vs Windows 18 Google Chrome OS VS Distribuciones GNU/Linux 18 Cuestionamientos 19 Cuestionamientos 20 Proyectos similares 21 3Google Chrome OS Proyectos similares 22 Anexo 23 Conclusión 24 Referencias 25 4Google Chrome OS Introducción Google Chrome OS es un proyecto llevado a cabo por la compañía Google para desarrollar un sistema operativo basado en web. A través de su blog oficial, Google anunció el 7 de julio de 2009 que Google Chrome OS será un sistema realizado con base en código abierto (Núcleo Linux) y orientado inicialmente para mini portátiles, estando disponible en el segundo semestre de 2010. Funcionará sobre microprocesadores con tecnología x86 o ARM.. La compañía Google ha declarado que el código fuente del proyecto Google Chrome OS fue liberado a finales de 2009. Aunque el sistema se basa en un kernel Linux, tendrá un gestor de ventanas propio de Google.
    [Show full text]
  • Security Distributed and Networking Systems (507 Pages)
    Security in ................................ i Distri buted and /Networking.. .. Systems, . .. .... SERIES IN COMPUTER AND NETWORK SECURITY Series Editors: Yi Pan (Georgia State Univ., USA) and Yang Xiao (Univ. of Alabama, USA) Published: Vol. 1: Security in Distributed and Networking Systems eds. Xiao Yang et al. Forthcoming: Vol. 2: Trust and Security in Collaborative Computing by Zou Xukai et al. Steven - Security Distributed.pmd 2 5/25/2007, 1:58 PM Computer and Network Security Vol. 1 Security in i Distri buted and /Networking . Systems Editors Yang Xiao University of Alabama, USA Yi Pan Georgia State University, USA World Scientific N E W J E R S E Y • L O N D O N • S I N G A P O R E • B E I J I N G • S H A N G H A I • H O N G K O N G • TA I P E I • C H E N N A I Published by World Scientific Publishing Co. Pte. Ltd. 5 Toh Tuck Link, Singapore 596224 USA office: 27 Warren Street, Suite 401-402, Hackensack, NJ 07601 UK office: 57 Shelton Street, Covent Garden, London WC2H 9HE British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. SECURITY IN DISTRIBUTED AND NETWORKING SYSTEMS Series in Computer and Network Security — Vol. 1 Copyright © 2007 by World Scientific Publishing Co. Pte. Ltd. All rights reserved. This book, or parts thereof, may not be reproduced in any form or by any means, electronic or mechanical, including photocopying, recording or any information storage and retrieval system now known or to be invented, without written permission from the Publisher.
    [Show full text]
  • C3priv Centro De Competências Em Cibersegurança E Privacidade Da Universidade Do Porto
    C3Priv Centro de Competências em Cibersegurança e Privacidade da Universidade do Porto C3Priv C3Priv Centro de Competências em Cibersegurança e Privacidade da Universidade do Porto Índice Motivação....................................................................................................................................4 Pen C3Piv.........................................................................................................................................4 Porquê aplicações portáteis?......................................................................................................5 Porquê open-source?..................................................................................................................5 De que forma devolvemos o controlo ao utilizador?..................................................................5 Conteúdos do C3Priv....................................................................................................................7 Aplicações escolhidas.......................................................................................................................7 7-Zip.............................................................................................................................................7 ClamWin......................................................................................................................................7 Evince..........................................................................................................................................7
    [Show full text]