Scriptless Timing Attacks on Web Browser Privacy
|
|
|
- Milton Montgomery
- 10 years ago
- Views:
Transcription
1 th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Scriptless Timing Attacks on Web Browser Privacy Bin Liang, Wei You, Liangkun Liu, Wenchang Shi Renmin University of China, Beijing, P. R. China {liangb, youwei, lacon, Mario Heiderich Ruhr-University Bochum, Germany Abstract The existing Web timing attack methods are heavily dependent on executing client-side scripts to measure the time. However, many techniques have been proposed to block the executions of suspicious scripts recently. This paper presents a novel timing attack method to sniff users browsing histories without executing any scripts. Our method is based on the fact that when a resource is loaded from the local cache, its rendering process should begin earlier than when it is loaded from a remote website. We leverage some Cascading Style Sheets (CSS) features to indirectly monitor the rendering of the target resource. Three practical attack vectors are developed for different attack scenarios and applied to six popular desktop and mobile browsers. The evaluation shows that our method can effectively sniff users browsing histories with very high precision. We believe that modern browsers protected by script-blocking techniques are still likely to suffer serious privacy leakage threats. Keywords-timing attack; scriptless attack; Web privacy; browsing history; I. INTRODUCTION History sniffing has received much attention in recent years [6, 8, 9, 25]. The attack allows the adversary to learn whether the user has recently visited some specific URLs by prompting him or her to visit a malicious page. Researchers have discovered that dozens of top websites used simple JavaScript tricks to inspect visitors web browsing histories [22]. According to a test of the most popular Internet websites, Janc et al. [21] point out that at least 76% of Internet users are vulnerable to history sniffing. The most widespread history sniffing attack relies on inspecting the visual style difference between the visited and unvisited links. In modern browsers, Cascading Style Sheets (CSS) [2] can be employed to make visited and unvisited links take different colors or amounts of space. Based on this, attackers can place a list of URLs that they want to inspect in a web page and set the visited links to take a different style than the unvisited ones by using CSS. When a victim opens the page, a client-side script embedded in the page will check the style of links in the list or the positions of other elements, subsequently determining whether the victim has recently visited a specific URL. For example, attackers can use CSS a:visited selector to set the font color of visited links to red and unvisited links to green. After the page has been rendered by the victim s browser, the attack script can get the color of target links via invoking some API functions, e.g., getcomputedstyle in JavaScript. If the font color of a link is red, a request can be submitted to a remote server controlled by attackers to inform them the link has been visited by the victim. Essentially, this kind of attack exploits browser bugs, e.g., [27], to extract the visited status of given links. Fortunately, these bugs are easy to fix. In 2010, Baron of Mozilla Corporation [10] proposed a solution for mitigating this kind of attack. All mainstream browsers, including Firefox, Chrome, Safari and IE, have adopted this solution. As a result, attackers cannot distinguish visited links from unvisited ones according to their styles. It can be predicted that this kind of history sniffing technique will completely disappear following the update of users browsers. The cache-based timing attack proposed by Felten and Schneider [15] is another history sniffing technique. Web browsers usually perform various forms of caching to improve performance. In general, loading a resource from a cache (visited) is faster than from the original source (unvisited). Consequently, attackers can learn whether the user has visited a web page by measuring the time that victim s browser spent on loading a specific resource embedded in the page. A script program can be used to measure the time both before and after loading a resource file to get the access latency. For example, if Bob wants to find out whether Alice has visited Charlie s website, Bob can embed a resource related to Charlie s site (such as the logo image of Charlie s homepage) and an attack script in a malicious page. The attack page can be written as shown in Fig. 1. <html> <body> <img id="logo" style="display: none" /> <script> var logoimg = document.getelementbyid("logo"); logoimg.onload = function() { var end = (new Date()).getTime(); document.location.href = " + (end - start); var start = (new Date()).getTime(); logoimg.src = " </script> </body> </html> Figure 1. A timing attack page for detecting whether Alice has visited Charlie s website /14 $ IEEE DOI /DSN
2 During the attack, Alice is prompted to visit the malicious page. When Alice views the page, the attack script is automatically run in her browser. The time required to load the logo image will be measured and reported to Bob. If the time is less than a pre-established threshold, Bob can conclude that the image exists in the cache of Alice s browser and she has recently visited Charlie s site. According to the experiments of Felten and Schneider, the accuracy of attacks can be above 90% when using a JavaScript program to measure loading time. The most critical step of this attack is to accurately measure the time the victim s browser spent on loading a specific resource. So far, these timing attack techniques are hinging on executing some of the client-side scripts, such as a JavaScript program or a Java applet. However, due to serious threats posed by client-side scripts, many defense techniques have been proposed to block the execution of suspicious scripts in users browsers in recent years, such as NoScript extension [24] for Firefox, NotScripts [7] for Chrome, JavaScript Blocker [5] for Safari, HTML5 IFrame sandbox [4], Content Security Policy (CSP) [1, 28], and various script filtering mechanisms have been integrated into web applications. Based on these techniques, the scripts in attack vectors will be heavily restricted or completely disabled in a number of attack scenarios. When these techniques are introduced to user s browser, he or she is unlikely to become a victim of script-based timing attacks. For example, it is difficult for the attackers to deploy the timing attack pages on a website that has been identified as trusted by users and recorded in their CSP whitelists. Felten and Schneider also proposed a method trying to deal with this problem in their paper [15]. It loads three URLs in the attacker s web page. The first and the third are known URLs of the attacker s site, and the second is the target URL. Then the attacker s web server can measure the times at which it receives the two hits. Subtracting these two times, the attacker can get a measure of how long the target URL took to be loaded. According to the experiment described in their paper, the attack can achieve 96.7% accuracy. However, this method can hardly be implemented today after more than ten years of ongoing browser development. The multi-threading technology has been widely used in most of popular modern browsers. That means, the URLs will be loaded concurrently and their loading times have little relationship to whether or not the second URL is cached. We repeat Felten s experiment in some modern browsers to determine whether the scriptless attack method is still effective today. According to the experiment method described in the paper [15], we launched 200 times experiments, half of which is performed when the test URL is cached and the other half when non-cached. Fig. 2 shows the distribution of times we measured for known cache hits and known cache misses in Firefox We can see very clearly that the two distributions overlap each other heavily. In fact, even under Figure 2. Distribution of access times for known cache hits and known cache misses, as measured by server-side time measurement for Firefox 19. the best condition, i.e., choosing threshold to be 35ms, the false positive rate is higher than 40%. The experiment result shows that this attack method is completely impractical now. Based on the above discussions, a natural and important question is whether the attacker can still effectively perform cache-based timing attacks to sniff the users browsing histories without executing scripts. In this paper, we want to identify and develop a new scriptless timing attack method that can be applied to modern browsers, and capable of bypassing the above defense techniques. In order to improve user experiences and provide more flexibility and control, mainstream browsers support some CSS markup features to a certain degree. Some CSS features can be used to provide dynamic page presentations based on client-side environments or page contents, and they are not dependent on JavaScript or other client-side script languages. In practice, these features make it possible for attackers to obtain users sensitive information without using scripts. For example, Heiderich et al. [18] and Zalewski [32] presented some alternatives to direct script injection that would enable page contents exfiltration. Their studies have demonstrated that attackers can successfully steal within-page content by abusing legitimate browser characteristics. Inspired by the studies of Heiderich et al., we propose a novel timing attack method, operating without executing scripts. Our approach is based on the observation that the rendering process of resources can be sensed via elaborated CSS3 [3] markups. Specifically, we employ CSS animation, scrollbar customization and media queries to monitor the rendering of the target resource indirectly rather than use scripts to observe their loading directly. Combining these components with plain HTML, we found that the start time of rendering a resource can be accurately measured. In fact, when a resource is loaded from the local cache, 113
3 its rendering process should begin earlier than when it is loaded from a remote website. As a result, attackers can learn whether a user has visited a specific resource. To demonstrate the effectiveness of our method, we develop three practical attack vectors for different attack scenarios. We have applied them to six popular desktop and mobile browsers (IE, Firefox, Chrome, Safari, Dolphin and Android built-in browser). The attack experiment results show that our attack method can effectively detect users browsing histories. In summary, this paper makes following contributions: We propose a new CSS features exploit method. In this study, CSS features are employed as a timing measure tool, not a page content extractor. Compared with previous exploit methods, we demonstrate that CSS features can be leveraged to sense out-of-page sensitive information rather than only the within-page content. We present a novel timing attack method and three practical attack vectors for stealing browsing histories without executing client-side scripts. The attack method is sophisticated enough to be applicable to modern browsers. The evaluations performed on popular browsers show that they are effective to sniff browsing histories with very high precision. We prove that modern browsers protected by scriptblocking settings or extensions are still likely to suffer serious privacy leakage threats. II. EXPLOITABLE CSS FEATURES In this section, we discuss the details of the exploitable attack components, which can be employed to bypass defense techniques aimed at script-based attacks and are applicable to modern browsers. In fact, our approach leverages some elaborated CSS3 [3] markups. CSS3 is the latest standard for CSS. All the major browsers are already supporting CSS3 features to different degrees. In practice, some of CSS features can be used to provide dynamic page presentations resulting from client-side environments or page contents. Essentially, the browser cache is also a part of client-side environment. If one such feature can sense the time of resources loading or rendering, it can be used as an indirect timing measurement tool. With a thorough analysis, we identified certain CSS3 features as these capable of providing potential ways to measure resource loading time and send requests at appropriate moments without executing any scripts. CSS Animations: With CSS3, users can create animations without executing scripts. A CSS animation can contain a set of keyframes that describe how the animated element should be rendered at a given time during the animation sequence. Furthermore, we can accurately specify how many seconds or milliseconds an animation takes to complete one cycle. Taking the style markup shown in Fig. 3 as example, it will produce an animation named scaling for a div container x and set the animation cycle time to 100 milliseconds. In addition, three keyframes are also specified for the animation. In the first keyframe, the height of x is set to 200 pixels at the beginning of the animation cycle. By 50% of the animation duration time, the height is animated to 100 pixels. At the end of the animation cycle, the height will return to 200 pixels. div.x { -webkit-animation-duration: 100ms; -webkit-animation-name: scaling { from { height: 200px; 50% { height: 100px; 100% { height: 200px; Figure 3. An example of CSS animations. CSS Scrollbar Customization: CSS markups can also be used to customize the display of scrollbars. We may use a CSS style to make the appearance of a scrollbar be automatically changed for different scrollbar states. For example, if the space of a container (e.g., a div) is not large enough to hold the embedded content (e.g., an image), one or two scrollbars will appear and their track pieces will be equally visible, as shown in Fig. 4. We can use CSS to make the background of the track piece be changed to a customized color. For Webkitbased browsers, the background property of scrollbar components can even be set with a URL for requesting a remote resource, such as an image in a website. Using the style shown in Fig. 5, the background of the vertical track piece of a div scrollbar can be changed to an image (i.e., when the increment track piece appears. Regrettably, customizing the background of a track piece with a remote resource is only supported in Webkit-based browsers. track piece track piece Figure 4. Placing an image which exceeds the width and height of the div in a div container will result in the appearance of the horizontal and vertical scrollbars. The increment and decrement track pieces of the two scrollbars will also occur. The increment track pieces are visible by default. CSS Media Queries: CSS media queries allow web developers to check against certain physical characteristics of a device before applying related styles. For 114
4 div.a::-webkit-scrollbar-track-piece :vertical:increment { background: url(" Figure 5. An example of scrollbar customization. a media type (e.g., screen), a media query can be used to check the conditions of media features such as width, height and color, resulting in applications of different style to page components for different feature conditions. As shown in Fig. 6, if the width of the current screen is equal or larger than 300 pixels, the background of the page body will be changed to a remote image. Unlike the CSS scrollbar customization, using media queries to request a remote resource is supported by almost all popular browsers. One thing should be noted: when a page is embedded in an IFrame, the size of its screen is determined by the size of the IFrame screen and (min-width: 300px){ body{ background: url(" Figure 6. An example of CSS media queries. Taking the attacker s viewpoint, we believe that CSS animations actually provide a precise timer that can be exploited to measure a period of time. Further, CSS scrollbar customization and media queries can be exploited to observe the rendering of the content embedded in a container and trigger a request to a remote machine. By leveraging these CSS features, we can launch a timing attack and bypass existing defense techniques. Our idea is to place a resource (e.g., a logo image) related to the target URL in a container as the attack object and let the browser send a request to report the starting of its rendering process by customizing the scrollbar of the container or performing a media query. Consequently, the start time of target resource rendering can be observed remotely through setting an animation to control the size of the container according to an appropriate timing distribution, or by comparing it with the rendering of some baseline resources that do not exist in the cache. Based on these observations, we developed three attack vectors for different attack scenarios. III. SCRIPTLESS TIMING ATTACKS By leveraging the exploitable features described in Section II, we propose two scriptless attack approaches for different scenarios, which can be applicable to modern browsers. A. Measurement-based Attack As mentioned previously, a cached resource s rendering process should begin earlier than for its non-cached counterpart. For a resource, a time point in the duration of the page rendering can be identified. As such, the resource can always begin to be rendered before that point when cached and always after it when it is non-cached. Having this time point, we can determine whether the resource exists in the cache by measuring the relative start time of its rendering process. As described in Section II, if the resource is placed in a container with size smaller than the size of the resource, rendering the resource will make the increment track pieces of the container scrollbars appear. Without loss of generality, we can place the logo image of target website in a div component and take it as the attack object. We denote the time of the increment track piece beginning to appear as T ch when loading the image from the cache (cache hit) and T cm when loading it from a website (cache miss) respectively. Apparently, T ch is always earlier than T cm (i.e., T ch <T cm ) under the same environment. As shown in Fig. 7, the attacker can easily choose a time point T x, such that, T ch <T x <T cm. And then, using a CSS animation, the size of the div can be set to be smaller than the size of the logo image before T x and to be larger after T x.in numerous experiments, we found that the start time of a CSS animation T as is always earlier than T ch. For convenience, we can construct a sniffing window [T as, T x ] and control the size of the div to be smaller than the size of the logo image in the window. As a result, the increment track piece will appear when the logo image is cached and will never appear when the image is not cached. Applying a scrollbar style for the increment track piece, we make sure that a request will be sent to the attack server in the sniffing window when the logo image is cached. The attacker can learn whether a user has visited the target website by examining the requests received on the server. Writing the attack page, attacker can employ a CSS animation to change the size of the div smaller than the size of logo image in the sniffing window by setting its cycle time to T x T as. Size Sniffing Window T as T ch T x T cm Page Rendering Time The size of the div container The size of the logo image Figure 7. Dynamically setting the size of the div to ensure that it can completely hold the target image only when the image is not cached. 115
5 In practice, the values of T as, T ch and T cm may vary under different network environments. The length of the sniffing window can be set as the mean of the maximum of (T ch T as ) and the minimum of (T cm T as ) under different environments. To improve accuracy, the attacker can set an appropriate sniffing window by analyzing the time distributions collected (as it will be described in Section IV). Without loss of generality, if the attacker wants to know whether the victim has visited the National Science Foundation (NSF) website ( the attack PoC page can be written as shown in Fig. 8. The NSF logo is a PNG image with the height of 71 pixels ( logo.png). In the attack page, the logo image is embedded in a div container with the height initially set to 72 pixels. Under our desktop environment, the length of the sniffing window is predetermined to 35 milliseconds by experiment. Accordingly, the height of the div will be changed to 70 pixels and returned to 72 pixels in 35 milliseconds by a CSS animation sniff animation. If the logo image is cached, the increment track piece will appear within the time window. As a result, a request will be sent to the attack server (for the URL: On the contrary, if the logo image is not cached, the increment track piece will never appear because the height of the div has already returned to 72 pixels before the rendering of the logo image. Consequently, if the attacker found the request in the attack server, he or she can conclude that the victim has recently visited NSF website. However, there is a problem that needs to be addressed when launching the above attack. When the browser wants to load a resource in a website, a Domain Name System (DNS) lookup may be performed to resolve the domain name of the website. But if the domain name resolution has been kept in the user machine s DNS cache, the browser will send the request directly, without conducting a DNS lookup. Because a DNS lookup may require expensive network communication, a noise will be introduced in timing attacks, i.e., the rendering of the image will be delayed by a potential DNS lookup. We have designed a two-step attack scheme to address this problem. In the first place, the victim s machine is forced to resolve the domain name of the attack object such that the resolution result is cached. To achieve this purpose, a specially prepared attack page, labeled as jump-page, is introduced. The page in question can automatically refresh to the attack page in a few seconds. The victim will be induced to visit the jump-page instead of the attack page. When browsing of the jump-page occurs, a request will be issued for a fake resource that does not exist in the target website. This can ensure that the DNS resolution of the domain name has been cached in the victim s machine when the timing attacks begin and nothing will be actually downloaded. For the attack page shown in Fig. 8, the attacker can easily <html> <head> <style> div.attack { height: 72px; overflow-y: auto; -webkit-animation-duration:35ms; -webkit-animation-name: sniff_animation; div.attack::-webkit-scrollbar { width: 1px; div.attack::-webkit-scrollbar-track-piece :vertical:increment { background: sniff_animation { from { height: 70px; 100% { height: 72px; </style> </head> <body> <div class="attack"> <img id="theimg" src= " /> </div> </body> </html> Figure 8. The measurement-based attack PoC page for detecting whether the victim has visited the NSF. <html> <head> <meta http-equiv="refresh" content="3;url=attack.html"/> </head> <body> <img src=" </body> </html> Figure 9. The jump-page for the attacking website shown in Fig. 8. The page will automatically redirect to the attack page (attack.html) in 3 seconds. A request for a nonexistent image (nonexistent.png) will be issued when browsing the page. construct a maliciously jump-page as shown in Fig. 9. B. Comparison-based Attack In the real world, the attacker often does not know the time distributions of the rendering process in the victim s browser. To this end, we develop a novel comparison-based attack approach, which is not dependent on precise time measurement. The basic idea of comparison-based attacks is the introduction of related resources as the timing baselines and comparing their rendering processes with that of the attack object. There are two interesting features of browsers that we can leverage to effectively perform a comparison-based attack. First, for most browsers, the cached resources will be rendered prior to non-cached ones even when they are arranged behind non-cached resources in a web page. For example, if a page contains two images, one is cached and another is non-cached, the cached one is placed behind the 116
6 non-cached. When loading the page, the browser will firstly try to load the cached image form the local cache. In other words, a non-cached object can be utilized as a comparison baseline when placed in front of the attack object. Second, there is a limit for concurrent requests to the same domain in all popular browsers. If the number of concurrent requests reaches that limit, the subsequent requests will be blocked until one of the previous requests concludes. For example, the max concurrent connections to the same domain are six for Chrome and Safari. We can leverage the feature to deliberately delay the rendering process of the attack object when it is non-cached. Surprisingly, we can choose the attack object itself as its own baseline image. We found that if the URL of the legitimate request to an image is equipped with a parameter suffix, such as?id=0001, many web servers will ignore the suffix and still return the image for the fake request. Furthermore, the image will always be re-downloaded from the remote server for every distinct suffix. Thus, we can introduce such fake object references as baselines. We performed an investigation to determine which mainstream web servers possess such characteristic. The result shows that almost all popular web servers, such as Apache, Microsoft- IIS, and Nginx, will ignore the malformed suffix and return the original image. In order to effectively identify the fact that the attack object does not exist in the cache, the number of fake object references should be no less than the max concurrent connections in the targeted browser. These fake object references will be placed in front of the attack object in the attack page. When the browser renders the page and the attack object does not exist in the cache, the browser will send the resources downloading requests one by one from the top to the bottom of the page. The request for the attack object will be blocked by the requests for fake objects. As a result, the rendering of the attack object will begin later than the fake objects. On the contrary, when the attack object is cached, the rendering process of it will begin earlier than that of the fake objects in most browsers. Eventually, the attacker needs to know whether the attack object is rendered earlier than the fake objects. We designed two attack vectors to deliver information by using CSS scrollbar customization and media queries respectively: 1) Using CSS Scrollbar Customization for Comparisonbased Attacks Using techniques similar to those described in Section III-A, the rendering of the attack object and fake objects will trigger different requests to the attack server. The attacker can examine the receipt order of these requests on the server to sniff the victim s browsing histories. For example, when attacking Chrome users, the attack page for the NSF can employ the description given in Fig. 10. Six fake image references are functioning as baselines and placed in front of the logo image in the given page. <html> <head> <style> div { height: 70px; overflow-y: auto; div::-webkit-scrollbar { width: 1px; div.baseline::-webkit-scrollbar-track-piece :vertical:increment { background: url(" div.attackobject::-webkit-scrollbar-track-piece :vertical:increment { background: url(" </style> </head> <body> /nsf_logo.png?id=oemgcg">... /nsf_logo.png?id=bvrekg"> <div class="baseline"> /nsf_logo.png?id=asodhf"> </div>... <div class="baseline"> /nsf_logo.png?id=kmhegf"> </div> <div class="attackobject"> /nsf_logo.png"> </div> </body> </html> six baseline images Figure 10. The PoC page of the comparison-based attack that uses CSS scrollbar customization. For mobile browsers, the max concurrent connections is often two, thus we can introduce only two fake image references. The suffix of their URLs can be generated randomly, ensuring that they will always be downloaded from a remote server. The height of a container is set to 70 pixels for both the logo image and fake images. When rendering these images, the browser will send the two kinds of report requests (BASELINE and TARGET) to the attack server. If the logo image did exist in the cache, the browser will load it directly and send the TARGET request immediately. But for the six fake images, the browser needs to spend more time on downloading. In this case, the order of requests to the attack server is <TARGET, BASELINE>. On the other hand, if the logo image is non-cached, the browser needs to send a request for downloading it. However, the request will blocked by the requests for the six fake images. As a result, the fake images will be rendering prior to the logo image, and the order of requests to the attack server will be <BASELINE, TARGET>. Additionally, because the rendering of a PNG or JPG image will immediately start after only a small part of it 117
7 is downloaded, the baseline image may be render earlier than the cached target image when the victim uses a highspeed network. To avoid false positives, we can introduce additional fake objects, guaranteeing that all baseline images are rendered later than the cached target image. In the following attack page, we include additional six fake objects on the top of the page body. Nevertheless, another problem remains: because the requests BASELINE and TARGET may choose different routing paths, the order of receiving them in the attack server may be different to the original order of their sending. We can leverage the limit of concurrent requests to address the problem. The attacker can use some additional resource references to control the capabilities of the channel between the victim s browser and the attacker server. <img src = " <img src = " <img src = " <img src = " <img src = " Figure 11. The large images used to occupy connections. For attacking Chrome users, five references to large JPG images can be placed on the top of the attack page to occupy five connections, as shown in Fig. 11. As a result, there is only one network channel available for sending BASELINE or TARGET requests while downloading the five large images. If the download time is long enough, a BASELINE or TARGET request will be suspended and forced to wait until another request is completed. This guarantees that a BASELINE or TARGET request sent early must also be received early. In practice, the resource download speed can also be customized in many web servers. For example, in Apache, which is the server we used in our experiments, one can limit the images download speed by loading the mod bw.dll and modifying the configuration file as: LoadModule bw_module modules/mod_bw.dll LargeFileLimit.jpg This means, for all the JPG files on this server, that if its size is larger than 1000KB, the download speed will be limited to less than 2KB/s. By lowering the download speed, the connections for downloading those large images can continue long enough to ensure that all report requests will be received in the order of sending. The above attack s PoC is very well suited for Webkitbased browsers, with the exception of Safari. Inexplicably in Safari rendering a cached image may be blocked by the concurrent network requests to the same domain. This may result in false negatives. A simple but effective solution is cutting down the number of baseline images to five (one less than the max concurrent connections of Safari). By doing so we ensure that rendering of the target image will not be blocked when it is cached. On the other hand, when the image is non-cached, the rendering process of it is hardly possible to happen prior to that of the all five baseline images. The experiment has demonstrated that the modified PoC can also be effectively applied to Safari. 2) Using CSS Media Queries for Comparison-based Attacks To widen our scope to include more major browsers, we can leverage CSS media queries to launch a comparisonbased attack. Using media queries to request a remote resource is supported by almost all popular browsers. Specifically, we employ the HTML table to combine the attack object with a media query. The target image and an IFrame container are placed in two cells of the same column in a table. When the image is rendered, the whole column will be widened to suit the image. This can make the width of the IFrame change to the same of that of the image simultaneously. By embedding a media query page in the IFrame, the rendering of the target image can be observed via querying the width of the page screen, and the attacker can be informed via requesting a remote image as the background of the page body. Having introduced baseline images and a query page in another table, the attacker can launch a comparison-based attack. For example, when attacking IE users, the attack page for NSF website can be outlined as Fig. 12 demonstrates. Similarly to the PoC shown in Fig. 10, we introduce some additional fake objects on the top of the page body to avoid false positives. <html> <body> /nsf_logo.png?id=dsflka">... /nsf_logo.png?id=krelwg"> <table> <tr><td> /nsf_logo.png?id=fkkvec"><br>... six baseline images /nsf_logo.png?id=pnhjre"><br> </td></tr> <tr><td> <iframe src="baselinequery.html" width=100% /> </td></tr> </table> <table> <tr><td> /nsf_logo.png"><br> </td></tr> <tr><td> <iframe src="targetquery.html" width=100% /> </td></tr> </table> </body> </html> Figure 12. The PoC page of the comparison-based attack that uses CSS media queries. 118
8 There are two media query pages (i.e., Baseline- Query.html and TargetQuery.html) included in the above attack page to observe the rendering of baseline images and the target image respectively. We can make the query pages send requests to the attack server when the width of the current screen is larger than the default width of the IFrame and lesser than the width of the target image. In fact, the width of the NSF logo image is 392 pixels, and the default width of the IFrame is often about 300 pixels (e.g., 302 pixels in IE 10). We can use the media queries shown in Fig. 13 to check whether the current screen width is not less than 390 pixels. When the target image or a baseline image starts to render, the width of the IFrame containers in the same column will become larger than 390 pixels. This will result in a TARGET or BASELINE request being sent out. Eventually, the attacker can learn whether the target image is cached by examining the order of these requests received on the attack server. <html> screen and (min-width: 390px){ body{ background: url(" </style> </html> (a) BaselineQuery.html <html> screen and (min-width: 390px){ body{ background: url(" </style> </html> website in this section. In fact, we also applied our attack method to some other popular websites, such as Wikipedia and The New York Times, and got similar results to the experiment for NSF. All these experiments demonstrate that our method can effectively sniff users browsing histories with very high precision. A. Measurement-based Attack The measurement-based attack can be applied to Webkitbased browsers. At first, we need to determine the length of the sniffing window. We have designed test pages to collect necessary time samples for four Webkit-based browsers operating under different environments. In a desktop computer (2G RAM, Intel Core2 Duo 2G CPU), we collected 100 (T as, T ch ) and (T as, T cm ) samples for Chrome and Safari respectively. A half of these samples is obtained on a low speed Internet connection (64K) and the other half is on a high speed connection (10M WAN). We use a modified attack page as the test page, in which the logo image rendering always made the increment track piece appear, regardless of its cached status. In practical terms, we collected these samples via recording the timelines of related events in the Developer Tools interface of browsers. As discussed in Section III, the length of the sniffing window can be set as the mean value of the maximum of (T ch T as ) and the minimum of (T cm T as ). For Chrome, the related time distribution is shown in Fig. 14. We can see that those two values are 30ms and 40ms respectively. And for Safari, as shown in Fig. 15, they are 30ms and 150ms. Fortunately, though Chrome is faster than Safari, the maximum of (T ch T as ) in Safari is still less than the minimum of (T cm T as ) in Chrome. The length of the sniffing window can be set to 35ms (i.e., the mean of 30ms and 40ms), a value suitable for both Chrome and Safari. (b) TargetQuery.html Figure 13. The media query pages. The comparison-based timing attack using CSS media queries can be applied to not only Webkit-based browsers but also to other popular browsers, such as IE and Firefox. One thing should be noticed is that there is a small limit for choosing the target image, i.e., the width of the target image may not be less than the default width of the IFrame. Otherwise, the rendering of the target image could not make the IFrame in the same column scale correspondingly. IV. EVALUATION In order to examine the effectiveness of our three attack vectors, we apply them to six popular browsers, including IE , Firefox 19.0, Chrome 26.0, Safari 5.1.4, Android built-in browser 4.2, and Dolphin Without loss of generality, we still choose the NSF website as the target Figure 14. The distribution of (T ch T as) and (T cm T as) in Chrome. We used a HTC T528w phone to collect time samples for Android built-in browser and Dolphin. Because the two 119
9 Table I TIME TEST RESULTS OF MOBILE BROWSERS. Android Built-in Window Dolphin Browser 4.2 Length Cached Non-Cached Cached No-Cached <75ms Y N Y/N N 75ms Y N Y/N N 100ms Y N Y/N N 125ms Y N Y/N N 150ms Y N Y N 175ms Y N Y N 200ms Y N Y Y/N 225ms Y N Y Y/N 300ms Y N Y Y/N 500ms Y Y/N Y Y/N >500ms Y Y/N Y Y/N Figure 15. The distribution of (T ch T as) and (T cm T as) in Safari. browsers do not provide development interfaces like desktop browsers, we cannot get the time distributions directly. In our experiments, we have employed a simple black-box method to determine the length of the sniffing window. We generated a series of test pages by expanding the length of the sniffing window from 1ms to 1000ms. Then we loaded them one by one and examined requests received on the attack server. The basic idea behind this approach is that the test page with an appropriate window length will always send a report request to the attack server when the logo image is cached and it never sends the report request otherwise. For each test page, we have tested each of the two browsers ten times when the logo image is cached or noncached respectively. Five of them have been performed on a low speed Internet connection (GPRS) and the other five on a comparatively high speed connection (Wi-Fi). The test results are shown in Table I. In the table, Y signifies that the report requests are always received in five tests, N implies they are never received, and Y/N indicates that they may or may not be received. Looking at the table, we can observe that the ideal window length is between 150ms and 175ms. Therefore, we set the length of the sniffing window to the mean of the two values, namely 163ms. Using above configuration, we launched the attack 200 times to each of the two desktop browsers with the logo image cached or non-cached respectively. Because it is difficult to perform an automatically test on a mobile phone, we launched the attack 20 times to the two mobile browsers respectively. Half of attacks have been conducted on a low speed Internet connection (64K or GPRS) and the other half on a comparatively high speed connection (10M WAN or Wi-Fi). As shown in Table II, the results of attack tests indicate that our attack pages work effectively, with only 9 false positives (1.02%) and 17 false negatives (1.93%) in 880 tests. Table II THE TEST RESULTS OF MEASUREMENT-BASED ATTACKS. Browsers Chrome 26.0 Safari Android Built-in Browser 4.2 Dolphin Cached Non-Cached Test Test Success Fail Times Times Success Fail B. Comparison-based Attack Launching the comparison-based attack, the attacker does not need to know any time distributions of client-side rendering processes. Based on the attack method described in Section III-B, we have performed the following two comparison-based attack experiments. 1) Using CSS Scrollbar Customization As in the above measurement-based attack experiments, we also launched the comparison-based attacks 200 or 20 times for each of the four Webkit-based browsers by using CSS scrollbar customization. The attack test results are shown in Table III, illustrating that our attack method can effectively sniff the browsing histories for Chrome, Safari, Android built-in browser, and Dolphin, with only 2 false positives (0.23%) in 880 tests. 2) Using CSS Media Queries With the use of media queries, the comparison-based attack can be applied to almost all popular browsers rather than only to Webkit-based browsers. Having performed this kind of attack experiment for each of the six popular browsers, including IE, Firefox, and the above four Webkitbased browsers, we have proven that this attack method can fully sniff browsing histories across different browsers with very high precision, i.e., only 3 false positives (0.18%) and 2 false negatives (0.12%) in 1680 tests. The results are highlighted in Table IV. 120
10 Table III THE TEST RESULTS OF COMPARISON-BASED ATTACKS USING CSS SCROLLBAR CUSTOMIZATION. Browsers Chrome 26.0 Safari Android Built-in Browser 4.2 Dolphin Test Times Cached Success Fail Non-Cached Test Success Times Fail Table IV THE TEST RESULTS OF COMPARISON-BASED ATTACKS USING CSS MEDIA QUERIES. Browsers Internet Explorer Firefox 19.0 Chrome 26.0 Safari Android Built-in Browser 4.2 Dolphin Test Times Cached Success Fail Non-Cached Test Success Times Fail V. COUNTERMEASURES The most straightforward countermeasure to cache-based attacks is simply to turn the caching off. This will completely prevent the attacks, but also incur an unacceptable performance penalty. In fact, nearly 60% of HTTP queries are requests for resources which are cacheable [30]. Obviously, to turn off caching is an impractical defense approach. Alternatively, Jackson et al. implemented a Firefox extension SafeCache to prevent timing attacks by enforcing a sameorigin policy on the browser cache [19]. The extension overrides the browser s default caching service such that the browser cache is partitioned and isolated for different domains. SafeCache can provide effective defense for both traditional timing attacks and scriptless timing attacks. But, unfortunately, it has not been adopted by browser vendors and is not available for more recent Firefox versions. We believe that browser vendors should adopt the technique as a built-in security feature, although it may introduce some storage overhead. Our method exploits some CSS features instead of executing scripts. By removing the support of the features in browsers, this scriptless attack can be prevented. However, abandoning such features completely may be unacceptable for web application developers and users. A possible tradeoff is to properly limit the capability of the features. For example, for CSS scrollbar customization, we can design a sameorigin policy on the container s content to block suspicious requests sent using scrollbar customizations. Specifically, the requests are allowed to issue only when they are sent to the same domains with the contents embedded in the container. Taking the attack pages in Section III as examples, if the requests triggered by the increment track pieces can only are sent to the embedded contents original website (i.e., Consequently, nothing will be leaked to the attackers. But, unfortunately, for the attacks using CSS media queries, the defense is ineffective. In fact, there is not a direct relationship between the media queries used to send request and the target resource. It is very difficult, if not impossible, to find an appropriate rule to identify the suspicious requests. Essentially, this kind of attack is relied on the fact that the browsers load non-cached resources in a certain order, i.e., the objects placed on the top of the attack page is often loaded and rendered prior to the other ones. If we can make the browsers to load non-cached resources in a random order, the false negative of comparison-based attacks may be dramatically increased. We think that a feasible mitigation technique with low overhead could be developed based on the approach. VI. DISCUSSION A natural concern is whether an image query on search engines, e.g., Google, can introduce false positives. If the target image is presented in the result page when users perform an image search, it may be stored in the cache. In fact, queries against search engines almost do not introduce false positives in our method. In general, when searching images, the sample images presented in the result pages returned from the search engine are not the original images. For example, the sample images provided by Google are the thumbnails of original images, which are generated by Google and stored on their servers. If a user doesn t view the original image, it will not be cached by the browser. Furthermore, attackers can choose some images that are hardly hit by search engines as the sniffing objects, such as the background images of web pages. Normally, the semantic relationship between the background image and the page content is very weak. In other words, even the users query images with the keywords related to the target URL, the background image is very unlikely to be touched. Older history stealing attacks exploiting browser bugs could probe tens of thousands of sites within a few minutes, but now lack effectiveness since these bugs are fixed. As a timing attack, our method inevitably takes longer time to probe a target site. However, in many cases, attackers may just need to know whether the victim has visited a limited number of sites: a site may only want to inspect 121
11 whether users have visited several competitors sites. The additional experiment shows our approach can probe dozens of URLs within a few minutes. Our attack approach is efficient enough for this kind of attack scenario. Besides, it should be noted that there may be some other browsers features which can be exploited to inspect resources loading and rendering. With more dynamic and interactive features introduced in browsers at present, we believe that more exploitable features will be available. VII. RELATED WORK History sniffing attacks have recently received significant attention. Given the users browsing histories, the attacker can cause extensive damage [20, 31]. The most widespread history sniffing technique is the CSS-based attack that leverage CSS markups to determine which websites have been visited by users in the past [14]. The attacks have proven effective and efficient. The study of Janc et al. [21] has shown that this technique can be used to detect browser history on a large scale. CSS-based history sniffing is documented as bug reports by many browsers, e.g., Bug reported in Mozilla Firefox [27]. The history stealing attacks exploiting browser bugs could probe tens of thousands of sites within a few minutes, but now lack effectiveness since these bugs are fixed. To fix these bugs, Baron of Mozilla Corporation composes a solution [10] that blocks CSS-based attacks by making the computed style APIs pretend that all links are unvisited. All mainstream browsers, including Firefox, Chrome, Safari and IE, have adopted this solution. As a result, this kind of history sniffing is no longer operational in the latest versions of these browsers. As a timing attack, our method may take longer time to probe a target site. However, in many cases, attackers may just need to know whether the victim has visited a limited number of sites: a site may only want to inspect whether users have visited several competitors. Our attack approach is efficient enough for this kind of attack scenario. Another general technique of history sniffing is defined under the umbrella of side channel attacks. These can be used to leak private information while bypassing the system s security policy. They are difficult to find and often cannot be eliminated without destroying other desirable characteristics of the system [16]. Among all the types of side channel attacks, timing attacks proposed by Felten and Schneider [15] are the ones most well-known. The attacks rely on the fact that the load time of the resource in web page can indicate whether it hits in browser cache. Because the cache is global, the thirdparty website can also acquire knowledge about whether some sources cache in browsers by measuring the load time. Similarly, Bortz and Boneh displayed how to use timing attacks to expose private information from web applications [11], and Michal presented an attack method that combines the same-origin policy with cache-based timing attacks [26]. Brewster has shown another attack approach in his study [12]. For those sites in which users likely remain logged for a long period (e.g., Facebook), some resources are usually only available for those logged-in users. If an attacker can get one of those resources URL, he or she can attempt to load it and use the JavaScript onerror event to get the error information. From these errors, it is possible to extract the information about whether or not a user is logged in certain websites. Besides utilizing page caching, some researchers also conduct history sniffing by utilizing DNS caching [17, 23] or cached cookies [15]. For example, the prefetch DNS technique allows some popular browsers, such as Firefox and Chrome, to reveal the search entry made by users [23]. As DNS cache can be shared in local network, attackers can also get its content by making queries of it [17]. In addition, timing attacks have also been used in some other domains. For example, Chen et al. have demonstrated the side-channel leaks in popular web applications based on timing attack [13]. Timing attack is by no means the only type of sidechannel attacks. Weinberg et al. discovered that attacker can utilize users webcam to sniff their browsing histories [29]. However, the attack is very difficult to exploit in practice. They also proposed an approach of stealing browsing history via user interactions. Compared with it, our method does not need the users to perform certain operations when browsing attack pages. To the best of our knowledge, all the attacks on users browsing histories really happened in recent years, including CSS-based and timing attacks, are script-based. Due to serious threats posed by client-side scripts, many defense techniques have been proposed to block the execution of suspicious scripts in user s browsers [1, 4, 5, 7, 24, 28]. Recently, Heiderich et al. put forward a new attack technique called scriptless attack [18], and Zalewski presented some alternatives to direct script injection [32]. Based on these studies, the attacker can steal sensitive page contents without executing scripts via abusing legitimate browser characteristics, such as some CSS3 features. Our research is inspired by their studies. The greatest distinction between our work and the method proposed by Heiderich et al. lies in we exploit CSS features in different ways and for different purposes. In our work, CSS features are employed as a timing measure tool, not a page content extractor. Compared with their work, we demonstrate that CSS features can be leveraged to sense out-of-page sensitive information rather than only the within-page content. VIII. CONCLUSION In this paper, we presented a new timing attack method for sniffing users browsing histories. What differentiates our approach from the existing attack methods is a non-reliance on the execution of client-side scripts and can be applicable to modern browsers. We found that three CSS features, i.e., 122
12 CSS animation, scrollbar customization, and media queries, can be exploited to monitor the rendering process of a resource. This provides an indirect but effective way to determine whether a resource exists in the browser cache. Combining these CSS features with selected standard browser features, we have developed three practical attack vectors. We examined the effectiveness for desktop and mobile computer systems by applying them to six popular browsers, including IE, Firefox, and four Webkit-based browsers in our evaluation. The experiment results show that the three attack vectors can effectively sniff users browsing histories. Especially by using media queries, the attack vector can be applied to all six popular browsers with very low false positive and false negative rates. Our research demonstrated that browsers are still suffering serious browsing histories leakage threats even when they are protected by scripts blocking tools. In the future, we will perform an elaborated investigation to reveal additional exploitable browser mechanisms. With more dynamic and interactive features introduced in browsers in present times, we have reasons to believe that more exploitable features will emerge, needing prompt identification and subsequent defense approaches. ACKNOWLEDGMENT The authors would like to thank the anonymous reviewers for their insightful comments. The work is supported by National Natural Science Foundation of China (NSFC) under grants and , and the National Science and Technology Major Project of China under grant 2012ZX REFERENCES [1] Content Security Policy, WD-CSP /. [2] CSS, [3] CSS3, [4] HTML5 IFrame Sandbox, /WD-html /the-IFrame-element.html# attr-iframe-sandbox. [5] JavaScript Blocker for Safari, toggleable.com/. [6] McDonald s, CBS, & Microsoft Mine Data from Web Ads, Class Claims, htm. [7] NotScripts for Chrome, webstore/detail/notscripts/odjhifogjcknibkahlpidmdajjpkkcfn. [8] Statement by FTC Bureau of Consumer Protection Director David Vladeck Regarding Judges Approval of Google Safari Settlement, [9] YouPorn Sued for Sniffing Browser History, cnet.com/ html. [10] D. Baron, Preventing attacks on a user s history through CSS :visited selectors, [11] A. Bortz and D. Boneh, Exposing private information by timing web applications, in WWW, 2007, pp [12] K. Brewster, Patching privacy leaks, com/patching-privacy-leaks/. [13] S. Chen, R. Wang, X. Wang, and K. Zhang, Side-channel leaks in web applications: A reality today, a challenge tomorrow, in IEEE Symposium on Security and Privacy, 2010, pp [14] A. Clover, CSS visited pages disclosure, bugtraq/2002/feb/271. [15] E. W. Felten and M. A. Schneider, Timing attacks on web privacy, in ACM Conference on Computer and Communications Security, 2000, pp [16] V. Gligor, A guide to understanding covert channel analysis of trusted systems, National Computer Security Center, Tech. Rep., [17] L. Grangeia, DNS cache snooping or snooping the cache for fun and profit, SideStep Seguranca Digitial, Tech. Rep., [18] M. Heiderich, M. Niemietz, F. Schuster, T. Holz, and J. Schwenk, Scriptless attacks: stealing the pie without touching the sill, in ACM Conference on Computer and Communications Security, 2012, pp [19] C. Jackson, A. Bortz, D. Boneh, and J. C. Mitchell, Protecting browser state from web privacy attacks, in WWW, 2006, pp [20] M. Jakobsson and S. Stamm, Invasive browser sniffing and countermeasures, in WWW, 2006, pp [21] A. Janc and L. Olejnik, Feasibility and real-world implications of web browser history detection, in Web 2.0 security and privacy conference, [22] D. Jang, R. Jhala, S. Lerner, and H. Shacham, An empirical study of privacy-violating information flows in javascript web applications, in ACM Conference on Computer and Communications Security, 2010, pp [23] S. Krishnan and F. Monrose, DNS prefetching and its privacy implications: when good things go bad, in USENIX Conference on Large-scale Exploits and Emergent Threats, [24] G. Maone, NoScript for Mozilla Firefox, mozilla.org/de/firefox/addon/722/. [25] J. R. Mayer and J. C. Mitchell, Third-party web tracking: Policy and technology, in IEEE Symposium on Security and Privacy, 2012, pp [26] Michal, Rapid history extraction through non-destructive cache timing, [27] J. Ruderman, CSS on a:visited can load an image and/or reveal if visitor been to a site, [28] S. Stamm, B. Sterne, and G. Markham, Reining in the web with content security policy, in WWW, 2010, pp [29] Z. Weinberg, E. Y. Chen, P. R. Jayaraman, and C. Jackson, I still know what you visited last summer: Leaking browsing history via user interaction and side channel attacks, in IEEE Symposium on Security and Privacy, 2011, pp [30] A. Wolman, G. M. Voelker, N. Sharma, N. Cardwell, M. Brown, T. Landray, D. Pinnel, A. R. Karlin, and H. M. Levy, Organization-based analysis of web-object sharing and caching, in USENIX Symposium on Internet Technologies and Systems, [31] G. Wondracek, T. Holz, E. Kirda, and C. Kruegel, A practical attack to de-anonymize social network users, in IEEE Symposium on Security and Privacy, 2010, pp [32] M. Zalewski, Postcards from the Post-XSS World, lcamtuf.coredump.cx/postxss/. 123
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most
Front-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
Working with RD Web Access in Windows Server 2012
Working with RD Web Access in Windows Server 2012 Introduction to RD Web Access So far in this series we have talked about how to successfully deploy and manage a Microsoft Windows Server 2012 VDI environment.
LASTLINE WHITEPAPER. Large-Scale Detection of Malicious Web Pages
LASTLINE WHITEPAPER Large-Scale Detection of Malicious Web Pages Abstract Malicious web pages that host drive-by-download exploits have become a popular means for compromising hosts on the Internet and,
Recent Advances in Web Application Security
Recent Advances in Web Application Security Author: Neelay S Shah Principal Security Consultant Foundstone Professional Services Table of Contents Introduction 3 Content Security Policy 3 Best Practices
Adobe Flash Player and Adobe AIR security
Adobe Flash Player and Adobe AIR security Both Adobe Flash Platform runtimes Flash Player and AIR include built-in security and privacy features to provide strong protection for your data and privacy,
Next Generation Clickjacking
Next Generation Clickjacking New attacks against framed web pages Black Hat Europe, 14 th April 2010 Paul Stone [email protected] Coming Up Quick Introduction to Clickjacking Four New Cross-Browser
A Practical Attack to De Anonymize Social Network Users
A Practical Attack to De Anonymize Social Network Users Gilbert Wondracek () Thorsten Holz () Engin Kirda (Institute Eurecom) Christopher Kruegel (UC Santa Barbara) http://iseclab.org 1 Attack Overview
DNS Pinning and Web Proxies
DNS Pinning and Web Proxies An NGSSoftware Insight Security Research (NISR) Publication 2007 Next Generation Security Software Ltd Abstract DNS-based attacks can be used to perform a partial breach of
Update logo and logo link on A Master. Update Date and Product on B Master
Cover Be sure to: Update META data Update logo and logo link on A Master Update Date and Product on B Master Web Performance Metrics 101 Contents Preface...3 Response Time...4 DNS Resolution Time... 4
Detecting and Exploiting XSS with Xenotix XSS Exploit Framework
Detecting and Exploiting XSS with Xenotix XSS Exploit Framework [email protected] keralacyberforce.in Introduction Cross Site Scripting or XSS vulnerabilities have been reported and exploited since 1990s.
An Insight into Cookie Security
An Insight into Cookie Security Today most websites and web based applications use cookies. Cookies are primarily used by the web server to track an authenticated user or other user specific details. This
Web Tracking for You. Gregory Fleischer
Web Tracking for You Gregory Fleischer 1 INTRODUCTION 2 Me Gregory Fleischer Senior Security Consultant at FishNet Security 3 Disclaimer Why do you hate? 4 Reasons For Tracking TradiFonal reasons for tracking
Thomas Röthlisberger IT Security Analyst [email protected]
Thomas Röthlisberger IT Security Analyst [email protected] Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch What
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Introduction Client-Side scripting involves using programming technologies to build web pages and applications that are run on the client (i.e.
WP Popup Magic User Guide
WP Popup Magic User Guide Plugin version 2.6+ Prepared by Scott Bernadot WP Popup Magic User Guide Page 1 Introduction Thank you so much for your purchase! We're excited to present you with the most magical
Protecting Browser State from Web Privacy Attacks. Collin Jackson, Andrew Bortz, Dan Boneh, John Mitchell Stanford University
Protecting Browser State from Web Privacy Attacks Collin Jackson, Andrew Bortz, Dan Boneh, John Mitchell Stanford University Context-aware Phishing Bank of America customers see: Wells Fargo customers
Citrix StoreFront. Customizing the Receiver for Web User Interface. 2012 Citrix. All rights reserved.
Citrix StoreFront Customizing the Receiver for Web User Interface 2012 Citrix. All rights reserved. Customizing the Receiver for Web User Interface Introduction Receiver for Web provides a simple mechanism
Security features of ZK Framework
1 Security features of ZK Framework This document provides a brief overview of security concerns related to JavaScript powered enterprise web application in general and how ZK built-in features secures
WEB ATTACKS AND COUNTERMEASURES
WEB ATTACKS AND COUNTERMEASURES February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in
WEB 2.0 AND SECURITY
WEB 2.0 AND SECURITY February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in part without
INSTANT MESSAGING SECURITY
INSTANT MESSAGING SECURITY February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in part
Firefox, Opera, Safari for Windows BMP file handling information leak. September 2008. Discovered by: Mateusz j00ru Jurczyk, Hispasec Labs
Firefox, Opera, Safari for Windows BMP file handling information leak September 2008 Discovered by: Mateusz j00ru Jurczyk, Hispasec Labs 1. Introduction The bitmap format implementations in Mozilla Firefox
Sizmek Features. Wallpaper. Build Guide
Features Wallpaper Build Guide Table Of Contents Overview... 3 Known Limitations... 4 Using the Wallpaper Tool... 4 Before you Begin... 4 Creating Background Transforms... 5 Creating Flash Gutters... 7
Dashboard Builder TM for Microsoft Access
Dashboard Builder TM for Microsoft Access Web Edition Application Guide Version 5.3 5.12.2014 This document is copyright 2007-2014 OpenGate Software. The information contained in this document is subject
Pwning Intranets with HTML5
Javier Marcos de Prado Juan Galiana Lara Pwning Intranets with HTML5 2009 IBM Corporation Agenda How our attack works? How we discover what is in your network? What does your infrastructure tell us for
Protecting Web Applications and Users
Protecting Web Applications and Users Technical guidance for improving web application security through implementing web browser based mitigations. Defence Signals Directorate February 2012 Contents 1
WompMobile Technical FAQ
WompMobile Technical FAQ What are the technical benefits of WompMobile? The mobile site has the same exact URL as the desktop website. The mobile site automatically and instantly syncs with the desktop
Test Run Analysis Interpretation (AI) Made Easy with OpenLoad
Test Run Analysis Interpretation (AI) Made Easy with OpenLoad OpenDemand Systems, Inc. Abstract / Executive Summary As Web applications and services become more complex, it becomes increasingly difficult
WHAT'S NEW IN SHAREPOINT 2013 WEB CONTENT MANAGEMENT
CHAPTER 1 WHAT'S NEW IN SHAREPOINT 2013 WEB CONTENT MANAGEMENT SharePoint 2013 introduces new and improved features for web content management that simplify how we design Internet sites and enhance the
Web-Application Security
Web-Application Security Kristian Beilke Arbeitsgruppe Sichere Identität Fachbereich Mathematik und Informatik Freie Universität Berlin 29. Juni 2011 Overview Web Applications SQL Injection XSS Bad Practice
Five Tips to Reduce Risk From Modern Web Threats
Five Tips to Reduce Risk From Modern Web Threats By Chris McCormack, Senior Product Marketing Manager and Chester Wisniewski, Senior Security Advisor Modern web threats can infect your network, subvert
[state of the internet] / SEO Attacks. Threat Advisory: Continuous Uptick in SEO Attacks
TLP: GREEN Issue Date: 1.12.16 Threat Advisory: Continuous Uptick in SEO Attacks Risk Factor High The Akamai Threat Research Team has identified a highly sophisticated Search Engine Optimization (SEO)
Cross Site Scripting Prevention
Project Report CS 649 : Network Security Cross Site Scripting Prevention Under Guidance of Prof. Bernard Menezes Submitted By Neelamadhav (09305045) Raju Chinthala (09305056) Kiran Akipogu (09305074) Vijaya
I Know Where You ve Been:! Geo-Inference Attacks via the Browser Cache!
I Know Where You ve Been:! Geo-Inference Attacks via the Browser Cache! Yaoqi Jia, Xinshu Dong, Zhenkai Liang, Prateek Saxena! School of Computing, National University of Singapore! Advanced Digital Sciences
Reference Guide for WebCDM Application 2013 CEICData. All rights reserved.
Reference Guide for WebCDM Application 2013 CEICData. All rights reserved. Version 1.2 Created On February 5, 2007 Last Modified August 27, 2013 Table of Contents 1 SUPPORTED BROWSERS... 3 1.1 INTERNET
Web Application Worms & Browser Insecurity
Web Application Worms & Browser Insecurity Mike Shema Welcome Background Hacking Exposed: Web Applications The Anti-Hacker Toolkit Hack Notes: Web Security Currently working at Qualys
Abusing Insecure Features of Internet Explorer
Abusing Insecure Features of Internet Explorer WHITE PAPER February 2010 Jorge Luis Alvarez Medina Security Consultant [email protected] Abusing Insecure Features of Internet Explorer Contents
We automatically generate the HTML for this as seen below. Provide the above components for the teaser.txt file.
Creative Specs Gmail Sponsored Promotions Overview The GSP creative asset will be a ZIP folder, containing four components: 1. Teaser text file 2. Teaser logo image 3. HTML file with the fully expanded
Feasibility and Real-World Implications of Web Browser History Detection
Feasibility and Real-World Implications of Web Browser History Detection Artur Janc [email protected] Lukasz Olejnik [email protected] ABSTRACT Browser history detection through the Cascading
HTTPS Inspection with Cisco CWS
White Paper HTTPS Inspection with Cisco CWS What is HTTPS? Hyper Text Transfer Protocol Secure (HTTPS) is a secure version of the Hyper Text Transfer Protocol (HTTP). It is a combination of HTTP and a
CS 558 Internet Systems and Technologies
CS 558 Internet Systems and Technologies Dimitris Deyannis [email protected] 881 Heat seeking Honeypots: Design and Experience Abstract Compromised Web servers are used to perform many malicious activities.
AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence
AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence Corey Benninger The AJAX Storage Dilemna AJAX (Asynchronous JavaScript and XML) applications are constantly looking for ways to increase
WPAD TECHNOLOGY WEAKNESSES. Sergey Rublev Expert in information security, "Positive Technologies" ([email protected])
WPAD TECHNOLOGY WEAKNESSES Sergey Rublev Expert in information security, "Positive Technologies" ([email protected]) MOSCOW 2009 CONTENTS 1 INTRODUCTION... 3 2 WPAD REVIEW... 4 2.1 PROXY AUTO CONFIGURATION
Protecting Your Organisation from Targeted Cyber Intrusion
Protecting Your Organisation from Targeted Cyber Intrusion How the 35 mitigations against targeted cyber intrusion published by Defence Signals Directorate can be implemented on the Microsoft technology
Network Security Web Security
Network Security Web Security Anna Sperotto, Ramin Sadre Design and Analysis of Communication Systems Group University of Twente, 2012 Cross Site Scripting Cross Side Scripting (XSS) XSS is a case of (HTML)
BROWSER AND SYSTEM REQUIREMENTS
BROWSER AND SYSTEM REQUIREMENTS Minimum and Recommended System Requirements To ensure that CSIU Student Information System performs seamlessly, please adhere to the requirements listed in the chart below:
Protecting Browser State from Web Privacy Attacks
Protecting Browser State from Web Privacy Attacks ABSTRACT Collin Jackson Stanford University [email protected] Dan Boneh Stanford University [email protected] Through a variety of means, including
DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES
DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES TABLE OF CONTENTS 1 Bypassing The Restrictions 3 2 Putting It into Practice 5 3 Actual Load 7 4 Detection Of The Application Version 5 Guessing A/The
Recommended Practice Case Study: Cross-Site Scripting. February 2007
Recommended Practice Case Study: Cross-Site Scripting February 2007 iii ACKNOWLEDGEMENT This document was developed for the U.S. Department of Homeland Security to provide guidance for control system cyber
SiteCelerate white paper
SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance
Workday Mobile Security FAQ
Workday Mobile Security FAQ Workday Mobile Security FAQ Contents The Workday Approach 2 Authentication 3 Session 3 Mobile Device Management (MDM) 3 Workday Applications 4 Web 4 Transport Security 5 Privacy
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not
Why HTML5 Tests the Limits of Automated Testing Solutions
Why HTML5 Tests the Limits of Automated Testing Solutions Why HTML5 Tests the Limits of Automated Testing Solutions Contents Chapter 1 Chapter 2 Chapter 3 Chapter 4 As Testing Complexity Increases, So
Customising Your Mobile Payment Pages
Corporate Gateway Customising Your Mobile Payment Pages V2.0 May 2014 Use this guide to: Understand how to customise your payment pages for mobile and tablet devices XML Direct Integration Guide > Contents
Relax Everybody: HTML5 Is Securer Than You Think
Relax Everybody: HTML5 Is Securer Than You Think Martin Johns (@datenkeller) SAP AG Session ID: ADS-W08 Session Classification: Advanced Motivation For some reason, there is a preconception that HTML5
Web Browser. Fetches/displays documents from web servers. Mosaic 1993
HTML5 and CSS3 Web Browser Fetches/displays documents from web servers Mosaic 1993 Firefox,IE,Chrome,Safari,Opera,Lynx,Mosaic,Konqueror There are standards, but wide variation in features Desktop Browser
McAfee. Firewall Enterprise. Application Note TrustedSource in McAfee. Firewall Enterprise. version 8.1.0 and earlier
Application Note TrustedSource in McAfee Firewall Enterprise McAfee version 8.1.0 and earlier Firewall Enterprise This document uses a question and answer format to explain the TrustedSource reputation
Instructions for Configuring Your Browser Settings and Online Security FAQ s. ios8 Settings for iphone and ipad app
Instructions for Configuring Your Browser Settings and Online Security FAQ s ios8 Settings for iphone and ipad app General Settings The following browser settings and plug-ins are required to properly
Coding HTML Email: Tips, Tricks and Best Practices
Before you begin reading PRINT the report out on paper. I assure you that you ll receive much more benefit from studying over the information, rather than simply browsing through it on your computer screen.
MAXA-COOKIE-MANAGER - USER MANUAL - SW-Release V 5.0 / Document Rev. 1.1
MAXA-COOKIE-MANAGER - USER MANUAL - SW-Release V 5.0 / Document Rev. 1.1 Quick Start Once installed MAXA Cookie Manager goes to work immediately to gather information about the cookies on your system and
Microsoft Dynamics CRM 2016 Interactive Service Hub User Guide
Microsoft Dynamics CRM 2016 Interactive Service Hub User Guide Microsoft Dynamics CRM Online Microsoft Dynamics CRM 2016 (on-premises) Version 1.0 The new interactive experience for customer service We
BYPASSING THE ios GATEKEEPER
BYPASSING THE ios GATEKEEPER AVI BASHAN Technology Leader Check Point Software Technologies, Ltd. OHAD BOBROV Director, Mobile Threat Prevention Check Point Software Technologies, Ltd. EXECUTIVE SUMMARY
Apple Applications > Safari 2008-10-15
Safari User Guide for Web Developers Apple Applications > Safari 2008-10-15 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,
Selecting the right cybercrime-prevention solution
IBM Software Thought Leadership White Paper Selecting the right cybercrime-prevention solution Key considerations and best practices for achieving effective, sustainable cybercrime prevention Contents
Checklist of Best Practices in Website
Checklist of Best Practices in Website An educational guide for anyone responsible for website performance and search engine optimization. Specialists in Direct & Digital Marketing Checklist of Best Practices
leveraging your Microsoft
Kanban Task Manager for SharePoint Manual Table of contents 1 INTRODUCTION... 3 1.1 LANGUAGES... 4 1.2 REQUIREMENTS... 4 2 INSTALLATION OF KANBAN TASK MANAGER... 4 2.1 INTRODUCTION... 4 2.2 INSTALL AND
SHARE THIS WHITEPAPER. Top Selection Criteria for an Anti-DDoS Solution Whitepaper
SHARE THIS WHITEPAPER Top Selection Criteria for an Anti-DDoS Solution Whitepaper Table of Contents Top Selection Criteria for an Anti-DDoS Solution...3 DDoS Attack Coverage...3 Mitigation Technology...4
Integrated Threat & Security Management.
Integrated Threat & Security Management. SOLUTION OVERVIEW Vulnerability Assessment for Web Applications Fully Automated Web Crawling and Reporting Minimal Website Training or Learning Required Most Accurate
Web Conferencing Version 8.3 Troubleshooting Guide
System Requirements General Requirements Web Conferencing Version 8.3 Troubleshooting Guide Listed below are the minimum requirements for participants accessing the web conferencing service. Systems which
A Tale of the Weaknesses of Current Client-Side XSS Filtering
Call To Arms: A Tale of the Weaknesses of Current Client-Side XSS Filtering Martin Johns, Ben Stock, Sebastian Lekies About us Martin Johns, Ben Stock, Sebastian Lekies Security Researchers at SAP, Uni
How to Monitor and Identify Website Issues. 2013, SolarWinds Worldwide, LLC. All rights reserved. Share:
How to Monitor and Identify Website Issues 2013, SolarWinds Worldwide, LLC. All rights reserved. Share: What Affects a Website s Performance Website performance issues can come from anywhere the page elements
http://alice.teaparty.wonderland.com:23054/dormouse/bio.htm
Client/Server paradigm As we know, the World Wide Web is accessed thru the use of a Web Browser, more technically known as a Web Client. 1 A Web Client makes requests of a Web Server 2, which is software
Principles of Web Design 6 th Edition. Chapter 12 Responsive Web Design
Principles of Web Design 6 th Edition Chapter 12 Responsive Web Design Objectives Recognize the need for responsive web design Use media queries to apply conditional styles Build a basic media query Create
A Java proxy for MS SQL Server Reporting Services
1 of 5 1/10/2005 9:37 PM Advertisement: Support JavaWorld, click here! January 2005 HOME FEATURED TUTORIALS COLUMNS NEWS & REVIEWS FORUM JW RESOURCES ABOUT JW A Java proxy for MS SQL Server Reporting Services
Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall.
Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall. 5401 Butler Street, Suite 200 Pittsburgh, PA 15201 +1 (412) 408 3167 www.metronomelabs.com
WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY
WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY www.alliancetechpartners.com WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY More than 70% of all websites have vulnerabilities
Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft
Finding and Preventing Cross- Site Request Forgery Tom Gallagher Security Test Lead, Microsoft Agenda Quick reminder of how HTML forms work How cross-site request forgery (CSRF) attack works Obstacles
DRIVE-BY DOWNLOAD WHAT IS DRIVE-BY DOWNLOAD? A Typical Attack Scenario
DRIVE-BY DOWNLOAD WHAT IS DRIVE-BY DOWNLOAD? Drive-by Downloads are a common technique used by attackers to silently install malware on a victim s computer. Once a target website has been weaponized with
Web Design Technology
Web Design Technology Terms Found in web design front end Found in web development back end Browsers Uses HTTP to communicate with Web Server Browser requests a html document Web Server sends a html document
Fighting Advanced Threats
Fighting Advanced Threats With FortiOS 5 Introduction In recent years, cybercriminals have repeatedly demonstrated the ability to circumvent network security and cause significant damages to enterprises.
Security starts in the head(er)
Security starts in the head(er) JavaOne 2014 Dominik Schadow bridgingit Policies are independent of framework and language response.addheader(! "Policy name",! "Policy value"! ); User agent must understand
FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED
WHITE PAPER: MOBILE WEBSITE PERFORMANCE FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED SNOOZE, YOU LOSE. TODAY S MOBILE USERS EXPECT PERFORMANCE DELIVERED FAST. For those of us who depend
Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!
Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 31 Mozilla Firefox 25 Internet Explorer 11 Opera 17 Apple Safari
Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-Party Clouds. Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage
Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-Party Clouds Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage UCSD MIT UCSD UCSD Today s talk in one slide Third-party
Preventing Abuse of Cookies Stolen by XSS
Preventing Abuse of Cookies Stolen by XSS Hiroya Takahashi Kenji Yasunaga Masahiro Mambo Kwangjo Kim KAIST Korea Heung Youl Youm Soonchunhyang University Korea Abstract Cross Site Scripting (XSS) makes
Installation and Troubleshooting Guide for SSL-VPN CONNECTIONS Access
Installation and Troubleshooting Guide for SSL-VPN CONNECTIONS Access Version 1 Revised 11/29/2007 Table of Contents Java Installation:...4 Browser Configuration:...4 Citrix Client Installation:...8 Attempting
Research on HTML5 in Web Development
Research on HTML5 in Web Development 1 Ch Rajesh, 2 K S V Krishna Srikanth 1 Department of IT, ANITS, Visakhapatnam 2 Department of IT, ANITS, Visakhapatnam Abstract HTML5 is everywhere these days. HTML5
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
Internet Explorer turns your personal computer into a publicfile Server
Internet Explorer turns your personal computer into a publicfile Server Black Hat DC 2010 Jorge Luis Alvarez Medina 1 Jorge Luis Alvarez Medina CORE Security Technologies February 2010 Outline Attack results
Index. AdWords, 182 AJAX Cart, 129 Attribution, 174
Index A AdWords, 182 AJAX Cart, 129 Attribution, 174 B BigQuery, Big Data Analysis create reports, 238 GA-BigQuery integration, 238 GA data, 241 hierarchy structure, 238 query language (see also Data selection,
Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!
Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 23 Mozilla Firefox 16 Internet Explorer 10 Internet Explorer 9
Website Security. End-to-End Application Security from the Cloud. Cloud-Based, Big Data Security Approach. Datasheet: What You Get. Why Incapsula?
Datasheet: Website Security End-to-End Application Security from the Cloud Unmatched web application security experience, enhanced by real-time big data analytics, enables Incapsula to provide best-ofbreed
The evolution of virtual endpoint security. Comparing vsentry with traditional endpoint virtualization security solutions
The evolution of virtual endpoint security Comparing vsentry with traditional endpoint virtualization security solutions Executive Summary First generation endpoint virtualization based security solutions
SESSION IDENTIFIER ARE FOR NOW, PASSWORDS ARE FOREVER
SESSION IDENTIFIER ARE FOR NOW, PASSWORDS ARE FOREVER XSS-BASED ABUSE OF BROWSER PASSWORD MANAGERS Ben Stock, Martin Johns, Sebastian Lekies Browser choices Full disclosure: Ben was an intern with Microsoft
Entrust Managed Services PKI Administrator s Quick Start Guide
Entrust Managed Services PKI Administrator s Quick Start Guide Each Managed Services PKI organization requires an administrator also known as a local registration authority (LRA) whose duty it is to manage
Performance Comparison of Database Access over the Internet - Java Servlets vs CGI. T. Andrew Yang Ralph F. Grove
Performance Comparison of Database Access over the Internet - Java Servlets vs CGI Corresponding Author: T. Andrew Yang T. Andrew Yang Ralph F. Grove [email protected] [email protected] Indiana University
StruxureWare Data Center Expert 7.2.4 Release Notes
StruxureWare Data Center Expert 7.2.4 Release Notes Table of Contents Page # Part Numbers Affected...... 1 Minimum System Requirements... 1 New Features........ 1 Issues Fixed....3 Known Issues...3 Upgrade
