My Original Analysis
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Automated Testing Clinic Follow-Up: Capybara-Webkit Vs. Poltergeist/Phantomjs | Engineering in Focus
Automated Testing Clinic follow-up: capybara-webkit vs. polter... https://behindthefandoor.wordpress.com/2014/03/02/automated-... Engineering in Focus the Fandor engineering blog Automated Testing Clinic follow-up: capybara-webkit vs. poltergeist/PhantomJS with 2 comments In my presentation at the February Automated Testing SF meetup I (Dave Schweisguth) noted some problems with Fandor’s testing setup and that we were working to fix them. Here’s an update on our progress. The root cause of several of our problems was that some of the almost 100 @javascript scenarios in our Cucumber test suite weren’t running reliably. They failed occasionally regardless of environment, they failed more on slower CPUs (e.g. MacBook Pros only a couple of years old), when they failed they sometimes hung forever, and when we killed them they left behind webkit-server processes (we were using the capybara-webkit driver) which, if not cleaned up, would poison subsequent runs. Although we’ve gotten pretty good at fixing flaky Cucumber scenarios, we’d been stumped on this little handful. We gave up, tagged them @non_ci and excluded them from our build. But they were important scenarios, so we had to run them manually before deploying. (We weren’t going to just not run them: some of those scenarios tested our subscription process, and we would be fools to deploy a build that for all we knew wouldn’t allow new users to subscribe to Fandor!) That made our release process slower and more error-prone. It occurred to me that I could patch the patch and change our deployment process to require that the @non_ci scenarios had been run (by adding a git tag when those scenarios were run and checking for it when deploying), but before I could put that in to play a new problem appeared. -
Web Browser a C-Class Article from Wikipedia, the Free Encyclopedia
Web browser A C-class article from Wikipedia, the free encyclopedia A web browser or Internet browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content.[1] Hyperlinks present in resources enable users to easily navigate their browsers to related resources. Although browsers are primarily intended to access the World Wide Web, they can also be used to access information provided by Web servers in private networks or files in file systems. Some browsers can also be used to save information resources to file systems. Contents 1 History 2 Function 3 Features 3.1 User interface 3.2 Privacy and security 3.3 Standards support 4 See also 5 References 6 External links History Main article: History of the web browser The history of the Web browser dates back in to the late 1980s, when a variety of technologies laid the foundation for the first Web browser, WorldWideWeb, by Tim Berners-Lee in 1991. That browser brought together a variety of existing and new software and hardware technologies. Ted Nelson and Douglas Engelbart developed the concept of hypertext long before Berners-Lee and CERN. It became the core of the World Wide Web. Berners-Lee does acknowledge Engelbart's contribution. The introduction of the NCSA Mosaic Web browser in 1993 – one of the first graphical Web browsers – led to an explosion in Web use. Marc Andreessen, the leader of the Mosaic team at NCSA, soon started his own company, named Netscape, and released the Mosaic-influenced Netscape Navigator in 1994, which quickly became the world's most popular browser, accounting for 90% of all Web use at its peak (see usage share of web browsers). -
Comparing Javascript Engines
Comparing Javascript Engines Xiang Pan, Shaker Islam, Connor Schnaith Background: Drive-by Downloads 1. Visiting a malicious website 2. Executing malicious javascript 3. Spraying the heap 4. Exploiting a certain vulnerability 5. Downloading malware 6. Executing malware Background: Drive-by Downloads 1. Visiting a malicious website 2. Executing malicious javascript 3. Spraying the heap 4. Exploiting a certain vulnerability 5. Downloading malware 6. Executing malware Background: Drive-by Downloads Background: Drive-by Downloads Setup: Making the prototype null while in the prototype creates a pointer to something random in the heap. Background: Drive-by Downloads Environment: gc( ) is a function call specific to Firefox, so the attacker would want to spray the heap with an exploit specific to firefox. Background: Drive-by Downloads Obfuscation: If the browser executing the javascript it firefox,the code will proceed to the return statement. Any other browser will exit with an error due to an unrecognized call to gc( ). Background: Drive-by Downloads Download: The return will be to a random location in the heap and due to heap-spraying it will cause shell code to be executed. Background: Goal of Our Project ● The goal is to decode obfuscated scripts by triggering javascript events ● The problem is when triggering events, some errors, resulting from disparity of different engines or some other reasons, may occur and terminate the progress ● We need to find ways to eliminate the errors and Ex 1therefore generate more de-obfuscated scripts <script> function f(){ //some codes gc(); var x=unescape(‘%u4149%u1982%u90 […]’)); eval(x); } </script> Ex 2 <script type="text/javascript" src="/includes/jquery/jquery.js"></script> Project Overview - Part One ● Modify WebKit engine so that it can generate error informations. -
Integration of the Chromium Browser in the GENIVI Platform
static void _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; Integration of the Chromium /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, Browser in the GENIVI Platform "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); Jacobo Aragunde Pérez g_object_class_install_property (gobject_class, blogs.igalia.com/jaragunde F_DO_BARNACLE_PROP_CODE, ● Open Source experts and consultants ● 15 years of experience ● Important contributions to: ● Client-side web technologies: WebKit, Blink/Chromium, Servo ● Graphics & Multimedia: Mesa, GStreamer ● Compilers: V8, JavaScriptCore, SpiderMonkey, Guile ● Software-defined networking: Snabb ● ... Introduction Goals of the project ● Integrate full-featured Chromium browser in GDP ● Use Intel’s Ozone-Wayland project, most complete implementation of Wayland so far ● Get latest possible version of the browser working ● Analyze and fix multi-seat implementation, if required ● Funding: GENIVI challenge grant and Igalia contributions Elements and versions ● Chromium: latest stable release was 54 at that point ● Ozone-Wayland: latest branch supports Chromium 53 ● Meta-browser: supporting Chromium 48 ● GENIVI BSPs Rebase & integrate Chromium browser Work on meta-browser ● Simplify configuration ● Obsolete CHROMIUM_ENABLE_WAYLAND detection ● Build chromium+wayland version 53 ● Recipe was pointing to version 48 ● Required patch backport ● Fix specific build scenarios -
Achieving a Safe and Seamless User Experience Through Accessible Web Applications
Achieving a Safe and Seamless User Experience Through Accessible Web Applications Alejandro Piñeiro Iglesias 2 Topics ● Accessibility-based solutions to improve safety ● Implementation via accessibility APIs ● Applicable standards and existing support Achieving a Safe and Seamless User Experience Through Accessible Web Applications Alejandro Piñeiro | [email protected] | www.igalia.com/accessibility Accessibility-Based Solutions to Improve` Safety 4 Safety First? 9 November 2012 8 November 2012 “Off-duty officer killed, Cal Trans “Police say a distracted driver caused flagger seriously hurt in chain a head-on crash.... The driver of the reaction crash.... Cal Trans said the second truck and his passenger had to accident was likely caused by a be extricated from the vehicle by distracted driver." firefighters." 3 November 2012 31 October 2012 “Authorities say a driver distracted “An eastern Utah man was charged by his cell phone caused a head-on Wednesday with hitting and killing a crash that killed an elderly man and Vernal teenager with his car while seriously injured an elderly woman in texting behind the wheel.” central California." Achieving a Safe and Seamless User Experience Through Accessible Web Applications Alejandro Piñeiro | [email protected] | www.igalia.com/accessibility 5 "In 2010, 3092 people were killed in crashes involving a distracted driver and an estimated additional 416,000 were injured in motor vehicle crashes involving a distracted driver." U.S. National Highway Traffic Safety Administration Achieving a Safe and Seamless User Experience Through Accessible Web Applications Alejandro Piñeiro | [email protected] | www.igalia.com/accessibility 6 Hands-Free via Speech Input For: ● Users who cannot use a keyboard and/or touch screen (i.e. -
Webkit and Blink: Open Development Powering the HTML5 Revolution
WebKit and Blink: Open Development Powering the HTML5 Revolution Juan J. Sánchez LinuxCon 2013, New Orleans Myself, Igalia and WebKit Co-founder, member of the WebKit/Blink/Browsers team Igalia is an open source consultancy founded in 2001 Igalia is Top 5 contributor to upstream WebKit/Blink Working with many industry actors: tablets, phones, smart tv, set-top boxes, IVI and home automation. WebKit and Blink Juan J. Sánchez Outline The WebKit technology: goals, features, architecture, code structure, ports, webkit2, ongoing work The WebKit community: contributors, committers, reviewers, tools, events How to contribute to WebKit: bugfixing, features, new ports Blink: history, motivations for the fork, differences, status and impact in the WebKit community WebKit and Blink Juan J. Sánchez WebKit: The technology WebKit and Blink Juan J. Sánchez The WebKit project Web rendering engine (HTML, JavaScript, CSS...) The engine is the product Started as a fork of KHTML and KJS in 2001 Open Source since 2005 Among other things, it’s useful for: Web browsers Using web technologies for UI development WebKit and Blink Juan J. Sánchez Goals of the project Web Content Engine: HTML, CSS, JavaScript, DOM Open Source: BSD-style and LGPL licenses Compatibility: regression testing Standards Compliance Stability Performance Security Portability: desktop, mobile, embedded... Usability Hackability WebKit and Blink Juan J. Sánchez Goals of the project NON-goals: “It’s an engine, not a browser” “It’s an engineering project not a science project” “It’s not a bundle of maximally general and reusable code” “It’s not the solution to every problem” http://www.webkit.org/projects/goals.html WebKit and Blink Juan J. -
Hbbtv Services, Solutions and Devices at IBC 2016
HbbTV services, solutions and devices at IBC 2016 Hall 14 / Booth J13 Contact: Akim Benamara ABOX42 is a leading provider of IPTV, OTT and Hybrid-DVB SmartSTB platforms and services for network operators and service providers. At IBC 2016 ABOX42 will introduce its latest Smart STB platform M50 (available as IPTV/OTT and Hybrid version) with support of 4K/UHD and HEVC/H.265 to freely mix DVB-C, S2, T/T2 services with IPTV and OTT video delivery, as well as HBBTV and other web based applications. With ABOX42 new OTT DVB technology it is the first time possible to use HbbTV with OTT streaming in a network environment, where HbbTV is not essential part of the DVB signal. The ABOX42 Total STB Solution approach supports fast application development, short project cycles, full software lifecycle management. The additional ABOX42 OPX TV application provides a solution to deliver all essential TV services with a modern TV UI. The ABOX42 OPX SaaS & Cloud TV services allow the operator to easily deploy, manage, operate und upgrade its services in the field during the entire lifecycle. Find more information about the ABOX42 Total STB Solution at: www.abox42.com Hall 14 / Booth D14 Contact: Robert Guest ACCESS showcases its industry-leading NetFront Browser family, providing a true choice of HbbTV solutions based on Chromium or Webkit engines. Embedded browser Software Development Kits (SDKs) are available for HbbTV 1.5 and HbbTV 2.0, enabling the provision of companion applications, second screen experiences and multiscreen solutions. The NetFront solutions portfolio also supports DLNA, remote user interface (RUI), and VidiPath for the provision of premium services, plus browser based encrypted media extensions (EME) for HTML5 based services. -
How to Implement AAA Game UI in HTML and Javascript
How to Implement AAA Game UI in HTML and JavaScript Yee Cheng Chin Senior Software Engineer, Electronic Arts / Maxis Who am I? ● 7 years at Maxis What this talk is about 1. Why HTML*? 2. Maxis’ UI, based on HTML. Shipped with SimCity 3. Tips and gotchas What this talk is not about ● Building web games in HTML5. This is specific to using HTML to build just the UI component for a large native game. ● Emscripten / asm.js ● How to build generic web pages. Maxis’ journey in UI tech ● UTFWin ● Custom built solution, didn’t fit all our needs, hard to animate, hook up. Maxis’ journey in UI tech ● Scaleform / Flash ● Relies on external license, reliant on Flash. ● Non-mergeable binary data format ● Potential issues with ActionScript performance ● Flash as a general technology was slowly losing support from major players like Apple SimCity and UI ● Start of SimCity development, needed a new UI system ● Vision of combined web and client interfaces, with shared components between web and in-game UI ● Easy to update and integrate web content SimCity and UI ● Web-based UI using EA WebKit, and custom- built JavaScript layer. ● Investigated other options as well ● For engine, at the time didn’t find anything better, and EA WebKit was starting to get traction. ● For building web pages, couldn’t find good WYSIWYG editor, built it ourselves. What this talk is about 1. Why HTML*? 2. Maxis’ UI, based on HTML. Shipped with SimCity 3. Tips and gotchas Why HTML? ● Existing tech ● WebKit, Blink, Gecko, etc. ● Inspector/Debugger Why HTML? ● Fast reloading. -
A Multi-Year Quest for the Best Web Test ACT I History of Debugging Protocols 2012 St
A multi-year quest for the best web test ACT I History of Debugging Protocols 2012 St. Petersburg 2012: Chrome DevTools Team 2012: Chrome DevTools Team 2012: Chrome DevTools Team 2012: Web Inspector Protocol 2012: Web Inspector Protocol Web Inspector protocol 2013: Chrome Forked WebKit! 2013: Chrome DevTools Protocol 2015: Chrome DevTools Protocol - 273 methods - 98 events - Used by IDEs for debugging - Used by Chrome Driver internally 2015 San Francisco 2015 San Francisco 2015 San Francisco 2015: V8 Debugging 2015: V8 Debugging 2015: V8 Debugging 2015: V8 Debugging ~1.5 years of work! 2015: V8 Debugging 2016: node.js debugging! 2017: Chrome Headless 2017: Chrome Headless 2017: Chrome Headless 2017: Puppeteer 2017: Cross-Browser Puppeteer 2018: puppeteer-firefox “Juggler” protocol 2018: puppeteer-firefox “Juggler” protocol 2019: puppeteer-firefox Remote Debugging Protocols Web Inspector protocol (2009 - ...) Chrome DevTools protocol (2013 - ...) Juggler “Juggler” protocol (2018 - ...) ACT II Browser vs Browser Engine Browser Browser Browser Browser Engine Browser Browser Engine Browser Engines 2020 Chromium (2008 – ...) WebKit (1998 – ...) Gecko (1997 – ...) Browser Engines 2020 Chromium (2008 – ...) Trident (1997 - 2014) WebKit (1998 – ...) EdgeHTML (2014 – 2018) Gecko (1997 – ...) Browser Engines Market Share 2020 Market Share Dynamics 2020 Market Share Dynamics 2020 Web Testing = 3 Browser Engines Chrome / Chromium Safari / WebKit Firefox / Gecko ACT III Web Testing Drama Web Testing Web Testing Web Testing Web Testing + headless Web Testing + headless Web Testing DOES NOT EXIST * + headless Problem #1: WebKit Headful ❌ Headless ❌ ❌ ❌ Problem #1: WebKit Headful ❌ Headless ❌ ❌ ❌ Problem #2: Automation Technology WebDriver Chrome DevTools Protocol WebInspector protocol Juggler protocol Problem #2: Automation Technology Permissions, Geolocation, ServiceWorkers, Network, …. WebDriver Chrome DevTools Protocol WebInspector protocol Juggler protocol Problem #2: Automation Technology Permissions, Geolocation, ServiceWorkers, Network, …. -
IFIP AICT 404, Pp
Identifying Success Factors for the Mozilla Project Robert Viseur1,2 1 University of Mons (FPMs), Rue de Houdain, 9, B-7000 Mons, Belgium [email protected] 2 CETIC, Rue des Frères Wright, 29/3, B-6041 Charleroi, Belgium [email protected] Abstract. The publication of the Netscape source code under free software li- cense and the launch of the Mozilla project constitute a pioneering initiative in the field of free and open source software. However, five years after the publi- cation came years of decline. The market shares rose again after 2004 with the lighter Firefox browser. We propose a case study covering the period from 1998 to 2012. We identify the factors that explain the evolution of the Mozilla project. Our study deepens different success factors identified in the literature. It is based on authors' experience as well as the abundant literature dedicated to the Netscape company and the Mozilla project. It particularly highlights the im- portance of the source code complexity, its modularity, the responsibility as- signment and the existence of an organisational sponsorship. 1 Introduction After the launch of the GNU project in 1984 and the emergence of Linux in 1991, the Mozilla project was probably one of the most important events in the field of free and open source software at the end of the nineteenth century (Viseur, 2011). It was a pioneering initiative in the release of proprietary software, while commercial involvement in the development of free and open source software has accelerated over the last ten years (Fitzgerald, 2006). Netscape was the initiator. -
The Security Architecture of the Chromium Browser
The Security Architecture of the Chromium Browser Adam Barth∗ Collin Jackson∗ UC Berkeley Stanford University Charles Reis∗ Google Chrome Team University of Washington Google Inc. ABSTRACT There have been a number of research proposals for mod- Most current web browsers employ a monolithic architec- ular browser architectures [8, 27, 5, 7] that contain multiple ture that combines \the user" and \the web" into a single protection domains. Like Chromium's architecture, these protection domain. An attacker who exploits an arbitrary proposals aim to provide security against an attacker who code execution vulnerability in such a browser can steal sen- can exploit an unpatched vulnerability. Unlike Chromium's sitive files or install malware. In this paper, we present the architecture, these proposals trade off compatibility with ex- security architecture of Chromium, the open-source browser isting web sites to provide architectural isolation between upon which Google Chrome is built. Chromium has two web sites or even individual pages. The browser's secu- modules in separate protection domains: a browser kernel, rity policy, known as the \same-origin policy," is complex which interacts with the operating system, and a rendering and can make such fine-grained isolation difficult to achieve engine, which runs with restricted privileges in a sandbox. without disrupting existing sites. Users, however, demand This architecture helps mitigate high-severity attacks with- compatibility because a web browser is only as useful as the out sacrificing compatibility with existing web sites. We sites that it can render. To be successful, a modular browser define a threat model for browser exploits and evaluate how architecture must support the entire web platform in addi- the architecture would have mitigated past vulnerabilities. -
Driving and Virtualizing Control Systems: the Open Source Approach Used in Whiterabbit
Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez Academia-Industry Matching event on Technology of Controls for Accelerators and Detectors November 2013 Agenda Knowing Igalia The value of the Open Source approach Open Source approach in WhiteRabbit A walk on technical details and demo Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez What is Igalia? Open Source Company 40 engineers and hackers working around the globe Hacking upstream in different technologies and communities kernel (Linux) virtualization (QEMU/KVM) browsers/multimedia (WebKit, Blink, GStreamer...) compilers (V8, JavaScriptCore...) UI (GTK+,...) documents (Evince, LibreOffice...) distros (Debian, Tizen...) automotive/IVI 13 years old now! www.igalia.com Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez Partnering Linux Foundation www.linuxfoundation.org/news- media/announcements/2011/04/igalia-joins-linux- foundation W3C www.igalia.com/nc/igalia-247/news/item/igalia-joins- the-world-wide-web-consortium Tizen Association www.igalia.com/nc/igalia-247/news/item/igalia-joins- the-tizen-association-partner-program/ ... Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez What services and solutions provides Igalia? We are experts in Open Source