Browser Fingerprinting Using Combinatorial Sequence Testing

Browser Fingerprinting Using Combinatorial Sequence Testing

Browser Fingerprinting using Combinatorial Sequence Testing Bernhard Garn Dimitris E. Simos Stefan Zauner SBA Research SBA Research FH Campus Wien Vienna, Austria Vienna, Austria Vienna, Austria [email protected] [email protected] [email protected] Rick Kuhn Raghu Kacker NIST NIST Gaithersburg, MD, USA Gaithersburg, MD, USA [email protected] [email protected] ABSTRACT eforts usually lead to security advisories where users are then In this paper, we propose an approach for browser fngerprinting asked to update the afected software to a version for which this using their behavior during the TLS 1.2 handshake with a server. vulnerability has been resolved. From an ofensive or penetration Using combinatorial methods, we created test sets consisting of testing position, a list of pairs consisting of a software-vulnerability TLS server-side messages as sequences that are sent to the client combination provides the means for planning concrete penetra- as server responses during the TLS handshake. We created an ap- tion tests on systems. A prerequisite to this step is, however, that propriate abstract model of the TLS handshake protocol and used sufcient knowledge is available about the target system so that a it to map browser behavior to a feature vector and use them to detailed software version-vulnerabilities list can be used efectively. derive a distinguisher. We evaluate our approach with a case study In such a hypothetical scenario, the process likely begins with a re- showing that combinatorial properties have an impact on browsers’ connaissance phase to determine the exact versions of the software behavior. that is running on the target system. To this end, in this paper, we employ a combinatorial sequence testing technique in a black-box KEYWORDS testing approach tailored to fngerprint software in use. Specif- cally, we assume the role of a classical web server where users combinatorial testing, security testing, browser fngerprinting of that service want to connect with a secure connection (HTTP ACM Reference Format: over TLS 1:2 [1]). Our idea is that by responding with certain TLS Bernhard Garn, Dimitris E. Simos, Stefan Zauner, Rick Kuhn, and Raghu handshake messages (on some connection attempts), the resulting Kacker. 2019. Browser Fingerprinting using Combinatorial Sequence Test- error messages (if any are sent) can be used to uniquely identify ing. In Proceedings of Hot Topics in the Science of Security: Symposium the used browser. After a successful fngerprinting of the browser, and Bootcamp (HoTSoS ’19). ACM, New York, NY, USA, 8 pages. https: //doi.org/10.1145/nnnnnnn.nnnnnnn the next attack steps can be planned with the precise knowledge of the browser version in use on the target. We would like to note that 1 INTRODUCTION it is possible to create a database of browser behavior depending on TLS sequences independent from any specifc target and most The security and threat landscape of the computer systems of to- importantly, in advance, and that it can be continuously updated day can be viewed from a macroscopic and a microscopic point to have it available for later usage. of view. Both views are essential, independent and infuence each Over the last couple of years, there has been a trend to ofer more other. In this work, we focus on fngerprinting Internet browsers by and more content over HTTPS, for a variety of reasons. Apart from analyzing their behavior when they are processing non-standard the previously described use case, browser fngerprinting might be response messages from a server. These non-standard messages used in a variety of scenarios, like identifying users or obtaining are derived using combinatorial methods and no other means are information about the type and version of a browser in order to used in the fngerprinting approach. Browsers, a type of end-user deliver suitable malware. software which is paramount, constitute the central piece of soft- Our approach maps the behavior of browsers to feature vectors, ware by which computing power and the Internet are consumed upon which we base our classifcation. The resulting analysis on on a variety of mobile and classic devices. A lot of efort is spent to the obtained partitions of all considered browsers can be regarded annotate vulnerabilities found not only with the specifc software as a way to quantify and reason about the similarities in observed where the vulnerability was discovered, but to also determine all browser behavior. other software that is also afected. In a defensive position, these Permission to make digital or hard copies of part or all of this work for personal or Contribution. In particular, this paper makes the following con- classroom use is granted without fee provided that copies are not made or distributed for proft or commercial advantage and that copies bear this notice and the full citation tributions: on the frst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). • Proposes certain combinatorial sequences as test cases for HoTSoS ’19, April 2–3, 2019, Nashville, TN, USA fngerprinting browser behavior; © 2019 Copyright held by the owner/author(s). ACM ISBN 978-x-xxxx-xxxx-x/YY/MM. • Presents experimental results of a case study demonstrating https://doi.org/10.1145/nnnnnnn.nnnnnnn our approach; HoTSoS ’19, April 2–3, 2019, Nashville, TN, USA Garn et al. This paper is structured as follows. In Section 2 we discuss related Table 1: All 3-event sequences of 6 events. work. We present our approach to fngerprinting of browsers using combinatorial methods in Section 3 and describe our developed Test Sequence testing framework in Section 4. In Section 5 we describe the setup 1 a b c d e f of our case study and analyze the obtained results in Section 6. Last, 2 f e d c b a Section 7 concludes the paper. 3 d e f a b c 4 c b a f e d 5 b f a d c e 2 RELATED WORK 6 e c d a f b Approaches for browser fngerprinting often rely on properties 7 a e f c b d exposed by the browser about itself and the underlying operating 8 d b c f e a system. The authors of [5] followed this approach, and in [16] this 9 c e a d b f methodology was strengthened by additionally considering browser 10 f b d a e c plug-ins. In [2], the authors focused on fngerprinting scripts. Another line of research uses not only properties, but also ca- pabilities of browsers for developing fngerprinting approaches. A For example, with six events, a;b; c; d; e; f , one subset of three fngerprinting technique based on the onscreen dimension of font events is fa; c; eg, which can be arranged in six possible permuta- 1 �6 glyphs was presented in [7]. The rendering of 3D scenes together tions. There are 3 = 20 sets of three events, and each can be with text rendering in a web page on an HTML5 <canvas> element arranged in 3! = 6 orders. Using only 10 tests, it is possible to was used in [12] to base a fngerprinting method upon it. Other include all 3-way orders of these six events, as shown in Table 1. browser capabilities have also been used to create fngerprinting It can be shown that, for a given value of t, the number of tests approaches [22]. required to cover all t-way orders grows with log S. For the case In [13], the underlying JavaScript engine was used to devise a where t = 2; N = 2 for all values of S, i.e., testing 2-way sequences fngerprinting approach. The correlation between feature combina- never requires more than two tests, regardless of the number of tions and identifcation accuracy has been considered in [20]. events. In [17], the authors used planning with combinatorial methods Sequence covering arrays have been used in a variety of testing for providing test cases for testing diferent TLS implementations. applications, including industrial control systems [4], web applica- tions [10], cryptographic hash functions [11], and laptop utilities [9]. They can be constructed using a simple greedy algorithm ap- 3 COMBINATORIAL METHODS FOR proach [9], although search and logic based strategies have been used as well [6],[8]. Greedy algorithms are generally faster, while FINGERPRINTING other approaches may produce slightly smaller test arrays. To our In this section, we detail how combinatorial methods arising in knowledge, they have not been used for device fngerprinting or the feld of discrete mathematics in conjunction with an abstract other applications outside of conventional software testing. modelling methodology can be used to create test sequences that enable fngerprinting of browsers. First, we describe the combina- SCA generation. We implemented the algorithm given in [9] in torial structures employed in this paper, and then we present our the Python 2 programming language [15]. It takes as input the modelling methodology and how the constructed sequences can number of events n and the desired interaction strength t and be used for testing. While combinatorial methods have been used returns a SCA for the specifed confguration over the alphabet in the past in the context of combinatorial security testing [18], in f0;:::; n − 1g. The sizes of the SCAs that this program generated this paper combinatorial methods are used for the frst time as the are given in Table 2. underlying means to create a fngerprinting approach. SCA verifcation. Test sequences used in this work were verifed for coverage using the Combinatorial Sequence Coverage Measure- ment (CSCM) tool [23],[24]. CSCM was designed to allow testers to 3.1 Sequence Covering Arrays evaluate the sequence coverage of test sets that have not necessarily Sequence covering arrays (SCAs) [9],[3] are matrices designed to been generated to cover sequences.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us