Gray Computing: A Framework for Distributed Computing with Web Browsers
Pan, Yao
:
2017-11-28
Abstract
Websites routinely distribute small amounts of work to visitors’ browsers in order to validate forms, render animations, and perform other computations. Website visitors implicitly perform computational work for the website owner without knowing exactly what type of work their browsers will perform. The line between what computational tasks should or should not be offloaded to the visitor's browser is not clear cut and creates a blurred boundary, which we term gray computing. In this dissertation, we explore ways to harness the huge idle computing power while people are browsing websites to build a large-scale distributed computing engine with website visitors' browsers. This dissertation provides a comprehensive analysis of the architecture, JavaScript performance, client volatility and heterogeneity, security, cost effectiveness, user experience, and other issues of gray computing. Several real-world applications are examined and gray computing is shown to be cost effective for a number of complex tasks ranging from computer vision to bioinformatics to cryptology. The risk to misuse gray computing has also been assessed. It is possible for attackers to embed JavaScript codes in the web pages delivered to users to gain access to the processing power on their machines. We show that current ad networks, such as Google AdWords, allow attackers to perform browser resource stealing attack by displaying ads that launch Web Worker tasks. Our empirical results show that browser resource stealing attack can be attractive to an adversary for DDoS attack, distributed password cracking or cryptocurrency mining compared to cloud computing or rented botnets.