41 |
FUZZING HARD-TO-COVER CODEHui Peng (10746420) 06 May 2021 (has links)
<div>Fuzzing is a simple yet effect approach to discover bugs by repeatedly testing the target system using randomly generated inputs. In this thesis, we identify several limitations in state-of-the-art fuzzing techniques: (1) the coverage wall issue , fuzzer-generated inputs cannot bypass complex sanity checks in the target programs and are unable to cover code paths protected by such checks; (2) inability to adapt to interfaces to inject fuzzer-generated inputs, one important example of such interface is the software/hardware interface between drivers and their devices; (3) dependency on code coverage feedback, this dependency makes it hard to apply fuzzing to targets where code coverage collection is challenging (due to proprietary components or special software design).</div><div><br></div><div><div>To address the coverage wall issue, we propose T-Fuzz, a novel approach to overcome the issue from a different angle: by removing sanity checks in the target program. T-Fuzz leverages a coverage-guided fuzzer to generate inputs. Whenever the coverage wall is reached, a light-weight, dynamic tracing based technique detects the input checks that the fuzzer-generated inputs fail. These checks are then removed from the target program. Fuzzing then continues on the transformed program, allowing the code protected by the removed checks to be triggered and potential bugs discovered. Fuzzing transformed programs to find bugs poses two challenges: (1) removal of checks leads to over-approximation and false positives, and (2) even for true bugs, the crashing input on the transformed program may not trigger the bug in the original program. As an auxiliary post-processing step, T-Fuzz leverages a symbolic execution-based approach to filter out false positives and reproduce true bugs in the original program.</div></div><div><br></div><div><div>By transforming the program as well as mutating the input, T-Fuzz covers more code and finds more true bugs than any existing technique. We have evaluated T-Fuzz on the DARPA Cyber Grand Challenge dataset, LAVA-M dataset and 4 real-world programs (pngfix, tiffinfo, magick and pdftohtml). For the CGC dataset, T-Fuzz finds bugs in 166 binaries, Driller in 121, and AFL in 105. In addition, we found 4 new bugs in previously-fuzzed programs and libraries.</div></div><div><br></div><div><div>To address the inability to adapt to inferfaces, we propose USBFuzz. We target the USB interface, fuzzing the software/hardware barrier. USBFuzz uses device emulation</div><div>to inject fuzzer-generated input to drivers under test, and applies coverage-guided fuzzing to device drivers if code coverage collection is supported from the kernel. In its core, USBFuzz emulates an special USB device that provides data to the device driver (when it performs IO operations). This allows us to fuzz the input space of drivers from the device’s perspective, an angle that is difficult to achieve with real hardware. USBFuzz discovered 53 bugs in Linux (out of which 37 are new, and 36 are memory bugs of high security impact, potentially allowing arbitrary read or write in the kernel address space), one bug in FreeBSD, four bugs (resulting in Blue Screens of Death) in Windows and three bugs (two causing an unplanned restart, one freezing the system) in MacOS.</div></div><div><br></div><div><div>To break the dependency on code coverage feedback, we propose WebGLFuzzer. To fuzz the WebGL interface (a set of JavaScript APIs in browsers allowing high performance graphics rendering taking advantage of GPU acceleration on the device), where code coverage collection is challenging, we introduce WebGLFuzzer, which internally uses a log guided fuzzing technique. WebGLFuzzer is not dependent on code coverage feedback, but instead, makes use of the log messages emitted by browsers to guide its input mutation. Compared with coverage guided fuzzing, our log guided fuzzing technique is able to perform more meaningful mutation under the guidance of the log message. To this end, WebGLFuzzer uses static analysis to identify which argument to mutate or which API call to insert to the current program to fix the internal WebGL program state given a log message emitted by the browser. WebGLFuzzer is under evaluation and so far, it has found 6 bugs, one of which is able to freeze the X-Server.</div></div>
|
42 |
Technical Feasibility Study for Implementing and Visualizing Diving Tracks in 3D in a Web PlatformHeinemann, Jakob January 2014 (has links)
This thesis describes how positional data gathered from a diving device can be visualized in a regular browser on mobile as well as stationary devices utilizing built-in connections to the GPU with OpenGL. In this work a platform and a visualization prototype are designed, implemented and evaluated. The results show that WebGL is available to most platforms but notably not on devices running iOS. The web browser can be used for implementing advanced functionality but the performance on the handheld devices needs to be improved. The thesis discusses and proposes a design for getting more enjoyment out of diving based on the observations of the implementation and suggests an entertaining social platform for adventures. / Detta examensarbete visar hur positionsdata inhämtade med ett dykredskap kan visualiseras i en webbläsare på såväl mobila enheter som på stationära datorer med hjälp av nyttjande av inbyggd koppling till GPU med OpenGL. I detta arbete designas, implementeras och utvärderas en plattform och en visualiseringsprototyp. Resultatet visar att WebGL finns tillgängligt på de flesta plattformarna, men värt att notera inte på enheter som kör iOS. Webläsaren kan användas för att implementera avancerad funktionalitet men prestandan behöver förbättras. Arbetet diskuterar och föreslår en design för att få ut mer glädje av dykupplevelser genom observationer av en implementerad prototyp och föreslår ett engagerande system för socialt samarbete kring äventyrsupplevelser.
|
43 |
Počítačová hra demonstrující 3D vizualizační možnosti dnešních internetových prohlížečů / A Demonstration Computer Game Showing 3D Visualization Capabilities of Contemporary Internet BrowsersPagáč, Jakub January 2021 (has links)
This thesis describes the process of creation of a game for web browsers using Babylon.js framework. It also touches on subjects of 3D graphics on the web, 3D animation and structure of web applications. Game itself is created using Typescript language and it is shared using a Node.js module as its web server. It is a fighting game for two players, where their characters fight using martial arts.
|
44 |
Zobrazení 3D scény ve webovém prohlížeči / 3D Graphics in Web BrowserKuželová, Ludmila January 2012 (has links)
The thesis deals with the creation of a three-dimensional virtual view with the use of the new WebGL standard in combination with O3D javascript framework. The result is freely available web application which generates a virtual tour of sent series of photographs. Afterwards, the photographs are processed by the server, which on the basis of found corresponding points creates 3D scene. The application is based on a freeware application Bundler [40] which is used for identifying 3D points in uploaded photographs and related cameras (the places from which the photographs were taken). Bundler outputs are processed by Jetty web server with the use of Java script. At this point, all data required for the creation of a view are gathered. The display of the final result is then realized via HTML5, CSS, WebGL and Javascript using O3D.
|
45 |
Zobrazení volumetrických dat ve webovém prohlížeči / Rendering Volumetric Data in Web BrowserFisla, Jakub January 2016 (has links)
This thesis discusses rendering capabilities of web browsers of accelerated 3D scene rendering. It specifically deals with direct volumetric medical data visualization. It focuses on the usage of ray casting algorithm, its quality and its realistic rendering options. One of the goals was to create an application that demonstrates the ability to render three-dimensional volume data in a web browser using WebGL. The application is written in JavaSript and its 3D rendering core uses the Three.js library.
|
46 |
Building High-performing Web Rendering of Large Data SetsBurwall, William January 2023 (has links)
Interactive visualization is an essential tool for data analysis. Cloud-based data analysis software must handle growing data sets without relying on powerful end-user hardware. This thesis explores and tests various methods to speed up primarily time series plots of large data sets on the web for the biotechnology research company Sartorius. To increase rendering speed, I focused on two main approaches: downsampling and hardware acceleration. To find which sampling algorithms suit Sartorius's needs, I implemented multiple alternatives and compared them quantitatively and qualitatively. The results show that downsampling increases or eliminates data set size limits and that test users favored algorithms maintaining local outliers. With hardware acceleration that substantially increased the amount of simultaneously rendered points for more detailed representations, these methods pave the way for efficient visualization of large data sets on the web.
|
47 |
Investigación industrial en técnicas avanzadas de modelado por computador para la adaptación del diseño de calzado al paradigma de la Industria 4.0Calabuig-Barbero, Eduardo 11 June 2024 (has links)
La Industria 4.0 ha permitido la explotación de los avances tecnológicos recientes, integrando todos los elementos de fabricación y sistemas de hibridación del mundo físico. Para ello incorpora habilitadores digitales como la robótica colaborativa, impresión 3D o el Internet de las Cosas entre otros. En los sectores industriales, esto ha favorecido la mejora de la eficiencia de sus procesos, la reducción de los costes de fabricación y del impacto medioambiental. También ayudan a una fabricación más flexible, facilitando la adaptación a los nuevos requerimientos del mercado. Este hecho, es especialmente relevante en industrias dinámicas y manufactureras como el sector del calzado. A pesar del carácter tradicional y manufacturero de la industria del calzado, cada vez está más extendido el uso de la tecnología en sus procesos. Concretamente, la tecnología CAD se aplica desde hace años en la industria del calzado, sobre todo para procesos de diseño y producción. Esto ha permitido un avance significativo en la automatización de procesos de fabricación, por ejemplo, con el uso de las máquinas de corte automático. Hoy en día, con la evolución de la tecnología y, en concreto, con la de los entornos 3D para la representación de geometría CAD, ya es posible visualizar un modelo virtual del producto con un alto nivel de realismo. La investigación industrial realizada en INESCOP está centrada en necesidades concretas detectadas en la industria. INESCOP tiene un conocimiento profundo del sector del calzado y mantiene una estrecha relación con las empresas que lo forman. Gracias a esto, es posible conocer de primera mano las necesidades de la industria, trabajar en soluciones que ayuden a la flexibilidad de la producción, el ahorro de tiempos y costes en el desarrollo de los productos, pero que requieran de una inversión lo más reducida posible y adaptable a la particularidad de los procesos y productos del sector. Soluciones que aporten un valor añadido en los procesos de la empresa y les ayude a su mejora competitiva. Bajo este marco de innovación y tecnología, se ha llevado a cabo la investigación industrial en la que se ha trabajado en el desarrollo de un modelo computacional para la representación virtual de geometrías 3D de calzado compatible con entornos de base tecnológica diferente. El modelo propuesto adapta las diferentes características de los entornos OpenGL y WebGL y hace posible una visualización idéntica de una escena CAD 3D, además basándose en una potente metodología que consigue imitar con un alto nivel de realismo el comportamiento de la luz, brillos y sombras del mundo físico (técnica PBR, Physically Based Rendedering). Ahondando en la representación óptima y optimizada de geometría CAD en estos entornos tridimensionales, también se ha trabajado en la mejora y optimización de la información geométrica de los modelos CAD que se utilizan en estos entornos de representación. Para ello, en la presente tesis se expone la implementación y prueba de los principales métodos de remallado quad y su validez para la aplicación en el calzado. Con el fin de facilitar el uso de estas geometrías en operaciones de diseño y modelado, y para conseguir la optimización y organización de la información que permita la explotación de los entornos de bajas prestaciones. Además, se resuelve una de las deficiencias que presentan estos métodos de remallado quad, que es la pérdida de información inherente a la geometría, como por ejemplo las coordenadas de textura. Esta información es primordial para la representación virtual del modelo CAD y para su utilización en posteriores procesos industriales.
|
48 |
Adaptive rendering of celestial bodies in WebGLZeitler, Jonas January 2015 (has links)
This report covers theory and comparison of techniques for rendering massive scale 3D geospa- tial planet data in a web browser. It also presents implementation details of a few of these tech- niques in WebGL and Javascript, using the Three.js [1] 3D library. The thesis project is part of the implementation of Unitea, a web based education platform for interactive astronomy visualizations. Unitea is a derivative of Uniview, which is a fulldome interactive simulation of the universe. A major part of this thesis is dedicated to the implementa- tion of Hierarchical Level of Detail (HLOD) modules for Three.js based on the theory presented by T. Ulrich [2] and later generalized by Cozzi and Ring [3]. HLOD techniques are dynamic level of detail algorithms that represent the surface of objects as accurately as possible from a certain viewing angle. By using space partitioning tree-structures, view based error metrics and culling techniques detailed representations of the objects (in this case planets) can be efficiently rendered in real-time. The modules developed provide a general-purpose library for rendering planets (or other spher- ical objects) with dynamic level of detail in Three.js. The library also features connections to online web map services (WMS) and tile services.
|
49 |
Zobrazení 3D scény ve webovém prohlížeči / Displaying 3D Graphics in Web BrowserSychra, Tomáš January 2013 (has links)
This thesis discusses possibilities of accelerated 3D scene displaying in a Web browser. In more detail, it deals with WebGL standard and its use in real applications. An application for visualization of volumetric medical data based on JavaScript, WebGL and Three.js library was designed and implemented. Image data are loaded from Google Drive cloud storage. An important part of the application is 3D visualization of the volumetric data based on volume rendering technique called Ray-casting.
|
Page generated in 0.1606 seconds