Análise Dos Riscos De Segurança Testes De Penetração a Aplicações Web

Total Page:16

File Type:pdf, Size:1020Kb

Análise Dos Riscos De Segurança Testes De Penetração a Aplicações Web Universidade do Minho Escola de Engenharia Manuel Francisco Mendes Gonçalves HTML5 - Análise dos Riscos de Segurança Testes de Penetração a Aplicações Web Junho de 2014 Universidade do Minho Escola de Engenharia Manuel Francisco Mendes Gonçalves HTML5 - Análise dos Riscos de Segurança Testes de Penetração a Aplicações Web Dissertação de Mestrado Mestrado em Engenharia Informática Trabalho realizado sob orientação de Professor Doutor António Nestor Ribeiro Junho de 2014 \Everytihng should be made as simple as possible, but not simpler" (Albert Einstein) Agradecimentos Em primeiro lugar gostaria de agradecer `aminha fam´ıliapor todo o suporte disponibilizado e por terem oferecido todas as condi¸c~oespara ter chegado ate aqui. Gostaria ainda de agradecer a todos os meus amigos, em especial `aMarisa Rebelo por todo o incentivo. Um especial obrigado `amaincheck e ao Jo~aoRibeiro, pelo tema proposto, pela oportunidade e por toda a disponibilidade apresentada. Finalmente, quero agradecer ao meu orientador pela oportunidade e por toda a paci^enciae suporte apresentados, assim como por me ajudar a concluir este fim de ciclo do meu percurso acad´emico. iv Abstract The new version of HTML, offers impressive enhancements to develop rich web applications. But coupled with new features they always come new security issues that need to be analyzed and covered. Prior to HTML5 already existed certain security threats that affecting the web applications (such as SQLInjection, XSS, CSRF, etc.), and that gain a new poten- tial due to the new HTML features. This study focuses specifically on the analysis of these well known threats, together with the analysis of the security risks asso- ciated with the new features of HTML5, as well as, the presentation of mitigation rules. Additionally are presented a set of modules for detecting HTML5 vulnerabilities in web applications, caused by inadequate use of HTML5 during the development phase. This set of modules corresponds to an extension added to a Black Box Web Application Security Scanner well known called ZAP, which is owned by OWASP. This also implied the adding of some HTML5 features to the Wave ZAP web application, also owned by OWASP, with the intent to perform penetration tests against it, in order to test these new ZAP modules. v Resumo A nova vers~aodo HTML tr´asmelhorias significativas relativamente `aconstru¸c~aode aplica¸c~oesweb mais ricas. Contudo, com as novas funcionalidades v^emacoplados a elas sempre novos riscos de seguran¸caque precisam ser analisados e colmatados. Anteriormente ao HTML5 j´aexistiam determinadas amea¸casde seguran¸caque afetavam as aplica¸c~oesweb (tais como SQLInjection, XSS, CSRF, etc), e que ganham um novo potencial devido aos novos recursos do HTML. Este estudo foca precisamente a an´alisedessas amea¸casbem conhecidas, em conjunto com a an´alisedos riscos de seguran¸caassociados `asnovas funcionalidades do HTML5, assim como `aapresenta¸c~aode regras para atenua¸c~aodas mesmas. Adicionalmente s~aoapresentados um conjunto de m´odulospara dete¸c~aode vulnerabilidades HTML5 em aplica¸c~oes web. As quais s~aooriginadas devido `a m´autiliza¸c~aodo HTML5 durante a fase de desenvolvimento. Esse conjunto de m´oduloscorresponde a uma extens~aoadicionada a um Black Box Web Application Security Scanner bem conhecido da OWASP designado ZAP. Isso implicou adicionar tamb´emalgumas funcionalidades HTML5 a uma aplica¸c~ao web tamb´emda OWASP designada Wave ZAP, cujo objetivo ´eser utilizada para realizar testes de penetra¸c~aoa fim de testar esses novos m´odulos do ZAP. vi Conte´udo Agradecimentos iv Abstractv Resumo vi Lista de Figuras xi Lista de Listagens xiii Lista de Tabelas xv 1 Introdu¸c~ao1 1.1 Conceitos de Seguran¸ca.........................1 1.2 Motiva¸c~ao................................2 1.3 Caso de estudo.............................4 1.4 Objetivos................................5 1.5 Organiza¸c~aodo documento.......................6 2 Abordagens de Testes de Seguran¸ca7 2.1 Introdu¸c~ao................................7 2.2 Teste White Box............................9 2.3 Teste Black Box............................. 11 2.4 Teste Gray Box............................. 13 2.5 S´ıntese.................................. 14 3 Estrutura do BB-WASS 15 3.1 Introdu¸c~ao................................ 15 3.2 Crawling ................................. 17 3.3 Constru¸c~aodo Ataque e Submiss~ao.................. 18 3.4 An´alisedas Respostas......................... 18 3.5 S´ıntese.................................. 19 4 Amea¸casde Seguran¸caem Aplica¸c~oesWeb 21 4.1 Introdu¸c~ao................................ 21 4.2 Inje¸c~ao.................................. 22 vii Conte´udo 4.2.1 SQL Injection.......................... 23 4.2.2 Exemplo............................. 24 4.2.3 Preven¸c~aode SQL Injection.................. 26 4.3 Cross-Site Scripting (XSS)....................... 27 4.3.1 Exemplo............................. 29 4.3.2 Preven¸c~aode Cross-site Scripting............... 30 4.4 Broken Authentication and Session Management........... 31 4.4.1 Preven¸c~aode Broken Authentication and Session Management 32 4.5 Insecure Direct Object References................... 33 4.5.1 Preven¸c~aode Insecure Direct Object References....... 33 4.6 Cross-Site Request Forgery....................... 34 4.6.1 Preven¸c~aode Cross-Site Request Forgery........... 35 4.7 S´ıntese.................................. 36 5 Trabalhos Relacionados 39 5.1 Estado da Arte............................. 39 6 Quest~oesde Seguran¸caIntr´ınsecasao HTML5 45 6.1 Introdu¸c~ao................................ 45 6.2 Novas Funcionalidades do HTML5................... 46 6.3 Suporte dos Browsers para HTML5.................. 48 6.4 Riscos de Seguran¸cado HTML5.................... 50 6.4.1 Cross-Origin Resource Sharing................. 50 6.4.1.1 Riscos de Seguran¸ca................. 52 6.4.1.2 Atenua¸c~ao....................... 54 6.4.2 Web Storage e Indexed Database............... 55 6.4.2.1 Riscos de Seguran¸ca................. 57 6.4.2.2 Atenua¸c~ao....................... 58 6.4.3 Offline Web Application.................... 59 6.4.3.1 Riscos de Seguran¸ca................. 60 6.4.3.2 Atenua¸c~ao....................... 61 6.4.4 Web Messaging......................... 61 6.4.4.1 Riscos de Seguran¸ca................. 63 6.4.4.2 Atenua¸c~ao....................... 65 6.4.5 Custom Scheme and Content Handlers............ 66 6.4.5.1 Riscos de Seguran¸ca................. 66 6.4.5.2 Atenua¸c~ao....................... 67 6.4.6 Web Sockets........................... 67 6.4.6.1 Riscos de Seguran¸ca................. 68 6.4.6.2 Atenua¸c~ao....................... 69 6.5 Outras Caracter´ısticasde Seguran¸cado HTML5........... 70 6.5.1 Web Workers.......................... 71 6.5.2 Novos elementos, atributos e CSS............... 72 6.5.3 Iframe Sandboxing....................... 73 viii Conte´udo 6.5.4 Server-Sent Events....................... 75 6.5.5 Notifica¸c~oesWeb........................ 75 6.5.6 Drag and Drop API....................... 76 6.5.7 Canvas.............................. 78 6.6 Assegurar a Seguran¸cade Aplica¸c~oesHTML5............ 79 6.6.1 Guias de Seguran¸cae Regras de Preven¸c~ao.......... 79 6.6.2 Utilizar os pr´opriosRecursos HTML5............. 79 6.6.3 Valida¸c~aode Input....................... 80 6.6.3.1 AntiSamy....................... 80 6.6.4 Utilizar Web Application Firewalls.............. 81 6.7 S´ıntese.................................. 82 7 Extens~aoao ZAP 83 7.1 Introdu¸c~ao................................ 83 7.2 Website vulner´avel html5vuln..................... 84 7.2.1 Design.............................. 84 7.2.2 Vulnerabilidades........................ 84 7.3 M´odulosAdicionados.......................... 86 7.3.1 Cross-Origin Resource Sharing................. 86 7.3.2 Web Storage........................... 89 7.3.3 Web Messaging......................... 92 7.3.4 Custom Scheme and Content Handlers............ 94 7.3.5 Web Sockets........................... 95 7.3.6 Novas Variantes de XSS.................... 96 7.4 Testes de Dete¸c~ao............................ 97 8 Conclus~aoe Trabalho Futuro 101 8.1 Conclus~ao................................ 101 8.2 Trabalho Futuro............................. 103 Ap^endices 107 Ap^endiceA Informa¸c~aoAdicional Sobre o HTML5 107 A.1 Controlo de Acesso baseado no Cabe¸calhode Origem........ 107 A.2 Offline Web Application........................ 108 A.2.1 Ficheiro Cache Manifest.................... 108 A.2.2 Comportamento do UA quando a Cache ´eEliminada.... 109 A.3 Informa¸c~oes sobre o Atributo sandbox ................. 109 Ap^endiceB Cen´ariosde Ataque 111 B.1 CORS.................................. 111 B.1.1 Recolha de Informa¸c~ao..................... 111 B.1.2 Estabelecimento de uma Shell remota............. 112 B.2 Web Storage............................... 114 ix Conte´udo B.2.1 Hijaking da Sess~ao....................... 114 B.2.2 Rastreamento do utilizador.................. 115 B.3 Web Sockets API............................ 115 B.3.1 Shell remota........................... 115 B.3.2 Botnets baseados na web.................... 116 B.3.3 Scanning de portas....................... 117 Bibliografia 120 x Lista de Figuras 4.1 Ataque do tipo Reflected XSS [Gal´anet al., 2010].......... 28 4.2 Ataque do tipo Stored XSS [Gal´anet al., 2010]............ 28 4.3 Exemplo de um ataque "Reflected XSS"com uma script estrangeira [Hamada, 2012]............................. 30 4.4 Exemplo de um ataque "Stored XSS"que transfere um Cookie [Ha- mada, 2012]............................... 30
Recommended publications
  • Amazon Silk Developer Guide Amazon Silk Developer Guide
    Amazon Silk Developer Guide Amazon Silk Developer Guide Amazon Silk: Developer Guide Copyright © 2015 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. The following are trademarks of Amazon Web Services, Inc.: Amazon, Amazon Web Services Design, AWS, Amazon CloudFront, AWS CloudTrail, AWS CodeDeploy, Amazon Cognito, Amazon DevPay, DynamoDB, ElastiCache, Amazon EC2, Amazon Elastic Compute Cloud, Amazon Glacier, Amazon Kinesis, Kindle, Kindle Fire, AWS Marketplace Design, Mechanical Turk, Amazon Redshift, Amazon Route 53, Amazon S3, Amazon VPC, and Amazon WorkDocs. In addition, Amazon.com graphics, logos, page headers, button icons, scripts, and service names are trademarks, or trade dress of Amazon in the U.S. and/or other countries. Amazon©s trademarks and trade dress may not be used in connection with any product or service that is not Amazon©s, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. AWS documentation posted on the Alpha server is for internal testing and review purposes only. It is not intended for external customers. Amazon Silk Developer Guide Table of Contents What Is Amazon Silk? .................................................................................................................... 1 Split Browser Architecture ......................................................................................................
    [Show full text]
  • Lucas Edi Cordeiro De Brito
    UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA UNIDADE ACADÊMICA DE SISTEMAS E COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO LUCAS EDI CORDEIRO DE BRITO ANÁLISE COMPARATIVA ENTRE WEBASSEMBLY E JAVASCRIPT COMO ALVOS DE COMPILAÇÃO CAMPINA GRANDE ­ PB 2019 LUCAS EDI CORDEIRO DE BRITO ANÁLISE COMPARATIVA ENTRE WEBASSEMBLY E JAVASCRIPT COMO ALVOS DE COMPILAÇÃO Trabalho de Conclusão Curso apresentado ao Curso Bacharelado em Ciência da Computação do Centro de Engenharia Elétrica e Informática da Universidade Federal de Campina Grande, como requisito parcial para obtenção do título de Bacharel em Ciência da Computação. Orientador: Professor Dr. Matheus Gaudencio do Rêgo. CAMPINA GRANDE ­ PB 2019 B862a Brito, Lucas Edi Cordeiro de. Análise comparativa entre WebAssembly e JavaScript como alvos de compilação. / Lucas Edi Cordeiro de Brito. – 2019. 11 f. Orientador: Prof. Dr. Matheus Gaudencio do Rêgo Trabalho de Conclusão de Curso - Artigo (Curso de Bacharelado em Ciência da Computação) - Universidade Federal de Campina Grande; Centro de Engenharia Elétrica e Informática. 1. WebAssembly. 2. JavaScript. 3. Emscripten. 4. Asm.js - Mozila. 5. Navegadores web. 6. Linguagem de programação - web. 7. Aplicativos web – linguagem de programação. I. Rêgo, Matheus Gaudencio do. II. Título. CDU:004(045) Elaboração da Ficha Catalográfica: Johnny Rodrigues Barbosa Bibliotecário-Documentalista CRB-15/626 LUCAS EDI CORDEIRO DE BRITO ANÁLISE COMPARATIVA ENTRE WEBASSEMBLY E JAVASCRIPT COMO ALVOS DE COMPILAÇÃO Trabalho de Conclusão Curso apresentado ao Curso Bacharelado em Ciência da Computação do Centro de Engenharia Elétrica e Informática da Universidade Federal de Campina Grande, como requisito parcial para obtenção do título de Bacharel em Ciência da Computação.
    [Show full text]
  • Security Considerations Around the Usage of Client-Side Storage Apis
    Security considerations around the usage of client-side storage APIs Stefano Belloro (BBC) Alexios Mylonas (Bournemouth University) Technical Report No. BUCSR-2018-01 January 12 2018 ABSTRACT Web Storage, Indexed Database API and Web SQL Database are primitives that allow web browsers to store information in the client in a much more advanced way compared to other techniques such as HTTP Cookies. They were originally introduced with the goal of enhancing the capabilities of websites, however, they are often exploited as a way of tracking users across multiple sessions and websites. This work is divided in two parts. First, it quantifies the usage of these three primitives in the context of user tracking. This is done by performing a large-scale analysis on the usage of these techniques in the wild. The results highlight that code snippets belonging to those primitives can be found in tracking scripts at a surprising high rate, suggesting that user tracking is a major use case of these technologies. The second part reviews of the effectiveness of the removal of client-side storage data in modern browsers. A web application, built for specifically for this study, is used to highlight that it is often extremely hard, if not impossible, for users to remove personal data stored using the three primitives considered. This finding has significant implications, because those techniques are often uses as vector for cookie resurrection. CONTENTS Abstract ........................................................................................................................
    [Show full text]
  • CTA Specification, CTA-5000) and W3C (As a Final Community Group Report), by Agreement Between the Two Organizations
    CCTTAA SSppeecciiffiiccaattiioonn Web Application Video Ecosystem – Web Media API Snapshot 2017 CTA-5000 December 2017 NOTICE Consumer Technology Association (CTA)™ Standards, Bulletins and other technical publications are designed to serve the public interest through eliminating misunderstandings between manufacturers and purchasers, facilitating interchangeability and improvement of products, and assisting the purchaser in selecting and obtaining with minimum delay the proper product for his particular need. Existence of such Standards, Bulletins and other technical publications shall not in any respect preclude any member or nonmember of the Consumer Technology Association from manufacturing or selling products not conforming to such Standards, Bulletins or other technical publications, nor shall the existence of such Standards, Bulletins and other technical publications preclude their voluntary use by those other than Consumer Technology Association members, whether the document is to be used either domestically or internationally. WAVE Specifications are developed under the WAVE Rules of Procedure, which can be accessed at the WAVE public home page (https://cta.tech/Research-Standards/Standards- Documents/WAVE-Project/WAVE-Project.aspx) WAVE Specifications are adopted by the Consumer Technology Association in accordance with clause 5.4 of the WAVE Rules of Procedures regarding patent policy. By such action, the Consumer Technology Association does not assume any liability to any patent owner, nor does it assume any obligation whatever to parties adopting the Standard, Bulletin or other technical publication. This document does not purport to address all safety problems associated with its use or all applicable regulatory requirements. It is the responsibility of the user of this document to establish appropriate safety and health practices and to determine the applicability of regulatory limitations before its use.
    [Show full text]
  • Insights Into Webassembly: Compilation Performance and Shared Code Caching in Node.Js
    Insights into WebAssembly: Compilation Performance and Shared Code Caching in Node.js Tobias Nießen Michael Dawson Faculty of Computer Science IBM Runtime Technologies University of New Brunswick IBM Canada [email protected] [email protected] Panos Patros Kenneth B. Kent Software Engineering Faculty of Computer Science University of Waikato University of New Brunswick [email protected] [email protected] ABSTRACT high-level languages, the WebAssembly instruction set is closely re- Alongside JavaScript, V8 and Node.js have become essential com- lated to actual instruction sets of modern processors, since the initial ponents of contemporary web and cloud applications. With the WebAssembly specification does not contain high-level concepts addition of WebAssembly to the web, developers finally have a fast such as objects or garbage collection [8]. Because of the similarity of platform for performance-critical code. However, this addition also the WebAssembly instruction set to physical processor instruction introduces new challenges to client and server applications. New sets, many existing “low-level” languages can already be compiled application architectures, such as serverless computing, require to WebAssembly, including C, C++, and Rust. instantaneous performance without long startup times. In this pa- WebAssembly also features an interesting combination of secu- per, we investigate the performance of WebAssembly compilation rity properties. By design, WebAssembly can only interact with its in V8 and Node.js, and present the design and implementation of host environment through an application-specific interface. There a multi-process shared code cache for Node.js applications. We is no built-in concept of system calls, but they can be implemented demonstrate how such a cache can significantly increase applica- through explicitly imported functions.
    [Show full text]
  • Universal High-Performance Applications with Webassembly
    ISSN:0975-9646 Jebreel Alamari et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 11 (6) , 2020, 102-106 Universal High-Performance Applications with WebAssembly Jebreel Alamari C.Edward Chow Computer Science Department Computer Science Department University of Colorado at University of Colorado at Colorado Springs Colorado Springs [email protected] [email protected] Abstract— Building and maintaining applications is an Browsers do not stop at that point. They try to run that code expensive operation. According to Kinvey report, building an efficiently and at a high speed. Since JavaScript is the main enterprise level mobile application costs about $270k. programming language for computation in the browsers, Supporting multiple platforms and operating systems is the after the failure of Java Applets [6], it became feasible to driving cost of the development process. In this paper we optimize browser engines to run JavaScript code faster. investigate the possibility of using web browsers as computation containers that allow code to run independently from the One of inaccurate ideas about JavaScript is that it is slow, underlying operating system. Progressive Web Applications and it is only good to do form processing with some fun became popular in the recent years, however their performance animation in the web page. Sure, JavaScript can do all that, still worries developers. Therefore, in this paper we concentrate but nowadays it can do much more. on the performance aspect of web applications. Even though it is still considered a loosely typed language Keywords— (web applications, universal applications, web with an interpreter, its performance has dramatically browsers, web assembly, JavaScript, WebAssembly) improved [7].
    [Show full text]
  • Using Indexeddb with a Spatial Database
    Linköpings Universitet | Institutionen för Datavetenskap Examenarbete, 16 hp | Innovativ Programmering Vårterminen 2018 | LIU-IDA/LITH-EX-G--18/049--SE Using IndexedDB with a spatial database Ludvig Eriksson Handledare: Erik Berglund Examinator: Anders Fröberg Linköping University SE-581 83 Linköping 013-28 10 00, www.liu.se Using IndexedDB with a spatial database Ludvig Eriksson Linköping University Norrköping, Sweden [email protected] ABSTRACT In addition to having the advantage for the user of requiring Web technologies are becoming increasingly useful with a lower effort to visit, PWAs also have other advantages new features and the gap to native apps is narrowing. over mobile apps for the developers. With them you don’t Recently, IndexedDB was added to the web standard to have to maintain separate code bases for different device provide large scale storage solutions directly in the types, screen sizes or operating systems. This can be both browser. Is it performant enough to be used with a spatial economically more desirable and require fewer resources database? In this study, such a system is developed for for companies that are building systems for mobile Foran Sverige AB and we learn that IndexedDB indeed can platforms. be used for this purpose. Even storage demanding Motivation geospatial applications can be developed as a multi- Foran Sverige AB develops systems for gathering, platform system with a single codebase, all while analyzing and presentation of forestry and nature data3. broadening the possible audience reach by avoiding an app When clients are out in the field, often the mobile reception installation process. isn’t optimal and load times can be unreasonably slow, if Author Keywords present at all.
    [Show full text]
  • Aplicação Web Para Dispositivos Móveis Com Inputs De Nova Geração
    Aplicação web para dispositivos móveis com inputs de nova geração Protótipo de aplicação web, na área da cultura, que fornece pontos de interesse baseados na localização do utilizador, simpli!cando a sua utilização em movimento VÍTOR ÂNGELO MAGALHÃES MARINHO Licenciado em Artes Plásticas - Escultura - pela Faculdade de Belas Artes da Universidade do Porto DISSERTAÇÃO SUBMETIDA PARA SATISFAÇÃO PARCIAL DOS REQUISITOS DO GRAU DE MESTRE EM MULTIMÉDIA Realizada sob orientação do Professor Doutor José Miguel Santos Araújo Carvalhais Fonseca, Faculdade de Belas Artes da Universidade do Porto Porto, setembro de 2011 II Em memória do Fidalgo “Life is what happens to you While you're busy making other plans” (John Lennon) III IV Agradecimentos Quero agradecer primeiro de tudo aos meus pais por estarem sempre ao meu lado e desta vez não foi exceção, o seu incentivo, apoio, carinho, amizade, energia e paciência foram incríveis. À minha irmã por ouvir os meus desabafos, pela paciência, pelos conselhos e por todo o seu apoio. Sem eles, tudo teria sido muito mais difícil. Ao Prof. Dr. Miguel Carvalhais, por ter aceite participar neste desa!o tendo em conta todas as particularidades que envolviam este projeto. Agradeço a sua orientação, aconselhamento, disponibilidade, respostas céleres, sugestões, críticas construtivas e partilha dos seus conhecimentos nas diversas áreas. Não poderia deixar de referir ainda, o Prof. Dr. Carlos Oliveira pelos seus conselhos e ajuda numa fase inicial. Gostaria igualmente de agradecer, à Filipa Almeida, ao João Angélico e à Maria Van Zeller pelos seus conselhos iniciais. Ao Carlos Fernandes e Fernando Mesquita pela ajuda em dois momentos.
    [Show full text]
  • 03-Html5-Bostonweb.Pdf
    Introduction to HTML5 Michael(tm) Smith [email protected] http://people.w3.org/mike sideshowbarker on Twitter, etc. I work for the W3C in Japan, based at Keio University near Tokyo My official W3C title is: Special Missions Subsection Junior Interim Floor Manager Where to start learning about HTML5? HTML5 differences from HTML4 http://w3.org/TR/html5-diff/ Tutorials and how-to guidance Dive into HTML5 http://diveintohtml5.org/ The HTML5 Doctors http://html5doctor.com/ Alternative authoring references HTML5 (Author Edition) http://dev.w3.org/html5/ spec-author-view HTML5: The Markup Language http://dev.w3.org/html5/ markup HTML5 differences • Syntax simplifications • MathML and SVG integration • New elements/attributes added • Removed old elements/attributes • Added new APIs for scripting Syntax simplifications <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd"> <!doctype html> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta charset="Shift_JIS"> New elements • <video> & <audio> (no plugins) • <canvas> (scriptable image) • <ruby> (annotations) • <article>, <section>, <header> • <details>, <progress>, more... New attributes • draggable (drag-and-drop) • contenteditable (editable pages) • spellcheck (catch spelling errors) • new form attributes (for client- side validation, plus new form controls such as date picker, etc.) Elements and attributes removed or obsoleted • <frame>, <frameset> • <a name> • more... New APIs for scripting • API for <video> & <audio> • 2D drawing API for <canvas> • getElementsByClassName() • innerHTML • more... HTML design principles http://w3.org/TR/html-design-principles/ HTML design principles • Support existing content • Ensure interoperability • Precisely define UA behavior • Handle errors (non-draconian) • Evolution not revolution Important point: HTML5 includes XHTML Frequently Asked Questions (FAQ) about the future of XHTML http://w3.org/2009/06/xhtml-faq.html About error handling..
    [Show full text]
  • Amazon Silk User Guide Amazon Silk User Guide
    Amazon Silk User Guide Amazon Silk User Guide Amazon Silk: User Guide Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. Amazon Silk User Guide Table of Contents What is Amazon Silk? ......................................................................................................................... 1 Silk on Fire Tablet ...................................................................................................................... 1 Silk on Fire TV ........................................................................................................................... 1 Silk on Echo Show ..................................................................................................................... 2 Getting Started with Amazon Silk ........................................................................................................ 5 Are You an Amazon Silk User? ..................................................................................................... 5 Are You a Site Owner? ...............................................................................................................
    [Show full text]
  • Most Websites Don't Need to Vibrate: a Cost–Benefit Approach To
    Most Websites Don’t Need to Vibrate: A Cost–Benefit Approach to Improving Browser Security Peter Snyder Cynthia Taylor Chris Kanich University Of Illinois at Chicago University Of Illinois at Chicago University Of Illinois at Chicago [email protected] [email protected] [email protected] ABSTRACT Firefox OS, have expanded the Web API tremendously. Modern Modern web browsers have accrued an incredibly broad set of browsers have, for example, gained the ability to detect changes features since being invented for hypermedia dissemination in in ambient light levels [58], perform complex audio synthesis [14], 1990. Many of these features benefit users by enabling new types enforce digital rights management systems [25], cause vibrations of web applications. However, some features also bring risk to in enabled devices [36], and create peer to peer networks [11]. users’ privacy and security, whether through implementation error, While the web has picked up new capabilities, the security model unexpected composition, or unintended use. Currently there is underlying the Web API has remained largely unchanged. All web- no general methodology for weighing these costs and benefits. sites have access to nearly all browser capabilities. Unintended in- Restricting access to only the features which are necessary for formation leaks caused by these capabilities have been leveraged by delivering desired functionality on a given website would allow attackers in several ways: for instance, WebGL and Canvas allowed users to enforce the principle of lease privilege on use of the myriad Cao et al. to construct resilient cross-browser fingerprints [21], and APIs present in the modern web browser. Gras et al.
    [Show full text]
  • The Current Status of HTML5 Technology and Standard The
    The current status of HTML5 technology and standard HTML5 관련 최근 주요업계 동향은 ? 22 HTML5 vs (Flash vs Silverlight) 33 44 <Source: http://www.apple.com/ipad/ready-for-ipad/ > <Source: http://www.apple.com/html5/ > 55 66 <Source: http://mashable.com/2010/05/07/google-reader- adds-html5-support/> 77 <Source: http://www.computerworld.com/s/article/print/9178558/Google_to_use_HTML5_i n_Gmail?taxonomyName=App+Development&taxonomyId=11 > 88 Google to use HTML5 in Gmail Speed is a feature Goal is to get Gmail to load in under a second Offline support HTML5's database standards New features downloadurl: a new data transfer protocol HTML6 ??? Code size 443,000 lines of JavaScript 978,000 lines with comments 99 Google I/O Conference Chrome Web Store an existing web app a serverless app 1010 Google I/O Conference HTML5 Tweetdeck App 11 11 Google I/O Conference WebM Project 12 12 <Source: http://www.html5rocks.com/> 13 13 < Source: http://thenextweb.com/apps/2010/03/04/internet-explorer-9-html5-c ompatible-microsoft-joining-antiflash-movement/ > 1414 IE9 : HTML5와 GPU <Source: IE9 : HTML5와 GPU 발표자료 (황리건) > 15 15 MS IE9 Preview #3까지 출시 HTML5 비디오/오디오와 SVG 지원 예정 GPU 활용한 랜더링 기능 지원 IE9 공식 버전은 언제 출시 ??? HTML5를 지원하는 모바일 브라우저 로드맵은 ??? 1616 17 17 H.264: 31% ( Q2/09 ) 66% ( Q1/10 ) Flash : 69% ( Q2/09 ) 26% ( Q1/10 ) <Source: Encoding.com via TechCrunch> 1818 HTML5 표준 개요 및 특징은? 19 19 HTML Timeline 20 20 [ Source : Appleinsider ] What is HTML5 ? Structure and Semantic APIs 2121 HTML Design Principles <Source: http://www.w3.org/TR/html-design-principles/ > 22 22 Document Representations (문서 표현) HTML 5 XHTML 5 Document application/xhtml+xml text/html DOM The DOCTYPE <!DOCTYPE html> Just 15 character HTML5 doc !!! Case-insensitive Backwards compatibility How about Google page ? Is it based on the HTML5 ? 2424 HTML5 Basic Structure Common structures Differentiation & Style.
    [Show full text]