Please use this identifier to cite or link to this item: https://hdl.handle.net/10216/90394
Author(s): Pedro Cardoso Lessa e Silva
Title: Cross-Browser Rendering using Headless Server-Side Browsers
Issue Date: 2016-07-05
Abstract: Nowadays many different browsers are used to navigate the Web, ranging from the most well known, Internet Explorer, Chrome, Safari or Firefox to less well known browsers such as Opera. These browsers are typically proprietary to the companies they belong to, hence, differing in their operations, of particular interest to this dissertation, the processing of HTML, CSS and JavaScript files which leads to the generation of different web pages, resulting in slightly different user experiences. In order to homogenize the differences between browsers, the idea of cross browser testing and rendering has become a topic of research. Cross browser rendering is the ability to generate a user interface also known as a web page, according to the browser specified. This way developers may test with more ease how their code behaves under different execution environments. However this technology can be used for more than enabling a web developer to test their code, it can also be used to detect security breaches. As the Internet becomes an ever-growing, relevant de facto tool in communication flow for a wide range of areas, from entertainment to banking, it also becomes the target medium for cyber attacks to occur. Amongst the most harmful cyber attack in existence, of particular interest to this thesis are Client-side Injection attacks. One of the ways in which these types of attacks can be detected is by checking whether a webpages source code somehow varies from a "clean" version provided by the web host, which has undergone no local modifications. By leveraging cross browser rendering, it becomes possible to minimize errors in malicious code detection algorithms by eliminating the rendering differences inherent to each particular browser. As such, this dissertation intends to provide the basis for a tool which allows the identification and categorisation of differences between client-side web pages and the original server code which are considered harmless.
Description: Hoje em dia são usados variados browsers para navegar pela Web, desde os mais conhecidos, Internet Explorer, Google Chrome, Safari ou Mozilla Firefox incluindo browsers menos conhecidos tal como o Opera. Estes browsers são tipicamente pedaços de software proprietários pertencentes às empresas que os criaram, e como tal, variam no seu funcionamento, de interesse para esta tese, no processamento de ficheiros HTML, CSS e Javascript que leva à geração de paginas web diferentes resultando em experiências de utilizadores também diferentes. De forma a homogeneizar as diferenças entre browsers, a ideia de testar e renderizar páginas de forma cross browser foi proposta e têm sido alvo de investigação e desenvolvimento. Renderização cross browser é a capacidade de gerar uma interface gráfica também conhecida como uma página web, de acordo com o browser em uso. Desta forma, desenvolvedores de web podem testar com mais facilidade de que forma o seu código se comporta em diferentes ambientes de execução. No entanto esta tecnologia pode ser usada para mais do que permitir um desenvolvedor de web testar o seu código, também pode ser usado para detectar falhas de seguranças. À medida que a internet cresce e se torna um dos meios de comunicação mais pertinentes para um grande leque de áreas, desde o entretenimento à banca, torna-se também o meio onde ataques informáticos ocorrem cada vez mais. Entre os ataques cibernéticos mais prejudiciais, o mais pertinente e de particular interesse para esta dissertação são os ataques de injecção de código do lado do cliente. Uma das maneiras para detectar estes tipos de ataques é por verificar se o código fonte de uma página web varia de alguma forma com a versão "limpa" fornecido pelo dono do site, onde nenhuma modificação local foi efectuada. Ao fazer uso de renderizações cross browser, torna-se possível minimizar os erros de algoritmos de detecção de código malicioso ao eliminar diferenças de renderização inerentes a cada browser especifico. Como tal, esta dissertação pretende fornecer a base para o desenvolvimento de uma ferramenta que permita a identificação e categorização das diferenças entre páginas web renderizadas do lado do cliente e o código original do servidor do site que são consideradas inofensivas.
Subject: Engenharia electrotécnica, electrónica e informática
Electrical engineering, Electronic engineering, Information engineering
Scientific areas: Ciências da engenharia e tecnologias::Engenharia electrotécnica, electrónica e informática
Engineering and technology::Electrical engineering, Electronic engineering, Information engineering
DOI: 10.34626/h51v-vy92
TID identifier: 201316242
URI: https://hdl.handle.net/10216/90394
Document Type: Dissertação
Rights: openAccess
Appears in Collections:FEUP - Dissertação

Files in This Item:
File Description SizeFormat 
144363.pdfCross-Browser Rendering using Headless Server-Side Browsers1.19 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.