On the Structure and Characteristics of User Agent String

On the Structure and Characteristics of User Agent String

On the Structure and Characteristics of User Agent String Jeff Kline Aaron Cahn comScore, Inc. comScore, Inc. [email protected] [email protected] Paul Barford Joel Sommers University of Wisconsin-Madison Colgate University comScore, Inc. [email protected] [email protected] ABSTRACT ACM Reference Format: User agent (UA) strings transmitted during HTTP transactions Jeff Kline, Aaron Cahn, Paul Barford, and Joel Sommers. 2017. On the Struc- convey client system configuration details to ensure that content ture and Characteristics of User Agent String. In Proceedings of IMC ’17, London, United Kingdom, November 1–3, 2017, 7 pages. returned by a server is appropriate for the requesting host. As https://doi.org/10.1145/3131365.3131406 such, analysis of UA strings and their structure offers a unique per- spective on active client systems in the Internet and when tracked longitudinally, offers a perspective on the nature of system and 1 INTRODUCTION configuration dynamics. In this paper, we describe our study of The diversity of client system configurations (defined in terms of UA string characteristics. Our work is based on analyzing a unique hardware, operating system and applications that access content) corpus of over 1B UA strings collected over a period of 2 years by in the Internet presents significant challenges for application and comScore. We begin by analyzing the general characteristics of content service providers. The key challenge is that content must UA strings, focusing on the most prevalent strings and dynamic be delivered in formats that are specifically designed for different behaviors. We identify the top 10 most popular User Agents, which types of clients in order to provide the best user experience. Con- account for 26% of total daily volume. These strings describe the tent providers often have complex regression test environments expected instances of popular platforms such as Microsoft, Apple to ensure their pages render and behave correctly on different plat- and Google. We then report on the characteristics of low-volume forms [9, 20]. However, the primary mechanism for ensuring that UA strings, which has important implications for unique device content is delivered in the optimal format is the user agent string identification. We show that this class of user agent generates the (UA), which is transmitted by clients as part of a request for content. overwhelming majority of traffic, with between 2M and 10Min- UAs are used by a variety of Internet applications (e.g., web, stances observed each day. We show that the distribution of UA crawlers, mobile apps, etc.) for content negotiation, but we restrict strings has temporal dependence and we show the distribution our focus in this paper to their use in the web1. The basic format measured depends on the type of content served. Finally, we report for a web UA is “one or more product identifiers, each followed by on two large-scale UA anomalies characterized by web browsers zero or more comments” in a format like product[/version] [22]. sending false and misleading UAs in their web requests. The intent of the UA is to provide sufficient detail about a client system to enable a server to transmit content in the appropriate CCS CONCEPTS format and for debugging interoperability problems [18, 22]. As has been observed in prior studies (e.g., [11]), however, UAs themselves • Information systems → Web log analysis; Traffic analysis; are a compelling source of information about client systems in the Data mining; • Software and its engineering → Context specific Internet writ large. languages; In this paper, we describe our study of UA characteristics. The goal of our work is to provide a new perspective on UAs that will be KEYWORDS useful for content service providers and other entities that utilize User Agent Strings, Character Entropy Matrix, Internet Measure- UAs, to provide a perspective to the research community on Inter- ment net client diversity and dynamics, and to provide a perspective that can inform other potential uses of UAs such as client fingerprint- ing [11, 12]. Our work is based on analyzing a unique corpus of 2 Permission to make digital or hard copies of all or part of this work for personal or over 1B UA strings collected over a period of 2 years by comScore . classroom use is granted without fee provided that copies are not made or distributed Data collection at comScore is enabled by the placement of tags for profit or commercial advantage and that copies bear this notice and the full citation on partner web pages that are activated when clients access those on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, pages. Prior studies (e.g. [8]) have found that comScore tags are to post on servers or to redistribute to lists, requires prior specific permission and/or a among the most prevalent third-party tag deployments across the fee. Request permissions from [email protected]. Internet. UAs are captured by comScore servers on tag activation. IMC ’17, November 1–3, 2017, London, United Kingdom © 2017 Association for Computing Machinery. 1Technically, applications such as web browsers are the user agents. In this paper, our ACM ISBN 978-1-4503-5118-8/17/11...$15.00 use of the term UA refers to user agent strings transmitted by web browsers. https://doi.org/10.1145/3131365.3131406 2We plan to make a subset of this data available to the community on publication. IMC ’17, November 1–3, 2017, London, United Kingdom Jeff Kline, Aaron Cahn, Paul Barford, and Joel Sommers To conduct our study, we built a UA processing and analysis in- When executed by a web browser, this code instructs the browser frastructure. Similar to other studies of large data sets, our process- to make an HTTP request to comScore’s measurement domain ing infrastructure is primarily Hadoop-based. The unique aspect of which, in turn, logs each request. The data comScore collects in- our work includes developing a UA parsing capability that is robust cludes the cookie, referrer, UA, a timestamp, and other information to both standard measurement errors (corrupted characters, etc.) pertinent to comScore’s business. comScore has clear and strict and non-standard UA formats. Categorization and volume counts of guidelines concerning the use and the protection of personally- historical UAs relied on an archive of UA descriptors that comScore identifiable information. maintains. The daily volume of HTTP requests ingested by comScore is Our analysis begins by considering the basic characteristics of O(50B). Since its mission concerns reporting about online behaviors, our UA data from both time-series and entropy-based perspectives. comScore also maintains several repositories of high-level histor- We find that UAs collected for our study exhibit variability on ical information about the traffic it observes. These repositories multiple time scales. On daily time scales, our analysis indicates include high-level summary information about UAs. comScore also how users shift between devices over the course of a day, and maintains a code-base that categorizes user agents by manufacturer, between weekdays and the weekend. On longer timescales, we see device type, browser type and so on. clear indications of occasional hardware and software updates. The Our data processing systems are a hybrid combination of Apache entropy-based representation provides a characterwise measure of Hadoop MapReduce tasks and Greenplum (a variant of Postgres) the diversity within the space of UA strings over time. Based on SQL queries. this representation, we find that there is structure within the space of strings and show that changes within the UAs distribution tend 3 GENERAL CHARACTERISTICS to be step-wise, not smooth. A fundamental task of web log analysis is the generation of aggre- The next step in our analysis considers characteristics of both gated statistics over browser, device type and operating system. high- and low-volume strings. We find that the most prevalent UAs Typically such statistics are derived from the UA. To help in this comprise only 26% of all traffic. We also find that the rank-frequency effort, the HTTP standard describes general features about the distribution of UAs exhibits a power-law-like structure. Finally, we structure and information that belongs within the UA string [22, observe O(1M) unique UAs on a daily basis. We describe sources §5.5.3]. Despite this recommendation, we report below that the of diversity within the UA space and show that the prevalance space of user agents within a typical web log are, in fact, a loosely- of mobile browser apps and developer error are also contributing structured, very dynamic and extremely diverse set of strings. In factors. short, using the UA as the basis for web traffic categorization isa The final aspect of our analysis considers anomalous character- complex endeavor. istics of strings. We report on two instances where high-volume In this section, we focus our discussion around four challenges UA strings are inaccurate or unexpected in significant ways. For faced by processes that categorize UAs: coverage of the space, ef- example, we find evidence of various anomalous events in our data fective partitioning of the space, validation of the categorization including spurious appearances of a large volume (O(100M)/day) of process itself, and coping with the constant evolution of browsers, outdated UAs, which we diagnose as a software misconfiguration. device types and to a lesser extent, operating systems. In summary, the primary contribution of this paper is in charac- We begin by describing the problem of covering the space. A terizing UA strings. Our results on multiscale UA dynamics have consistent feature that we observe, and which we discuss in the implications for content providers.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 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