Demo Data from SIGIR 2026 / reviewers in the wild / expert
Alexandros Kapravelos
dblp:22/1459
· DBLP profile ↗
41ranked-venue papers
4as first author
23since 2021 · last 2026
0000-0002-8839-8521ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 31 · 4 first-author · 17 since 2021Databases, data management, data science and information retrieval · 5 · 4 since 2021Applied, interdisciplinary, general and emerging computing · 5 · 4 since 2021Computer networks · 3Software engineering, systems software and programming languages · 2 · 2 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Network and information security
31 papers |
Web and mobile security · 44% Privacy and data protection · 29% Systems and software security · 20% | |
| Software engineering, system software, and programming languages
12 papers |
Software maintenance and evolution · 54% Program analysis · 31% Empirical software engineering · 13% |
Topics — the 30 heaviest of 53, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Web and mobile security › browser security
browser extension security |
1.9 | 4 | 2024 | WRIT: Web Request Integrity and Attestation Against Malicious Browser Extensions · IEEE Trans. Dependable Secur. Comput. 2024 You've Changed: Detecting Malicious Browser Extensions through their Update Deltas · CCS 2020 Unnecessarily Identifiable: Quantifying the fingerprintability of browser extensions due to bloat · WWW 2019 |
Privacy and data protection › web tracking
browser fingerprinting |
1.7 | 4 | 2023 | Automatic Discovery of Emerging Browser Fingerprinting Techniques · WWW 2023 Fingerprinting in Style: Detecting Browser Extensions via Injected Style Sheets · USENIX Security Symposium 2021 Unnecessarily Identifiable: Quantifying the fingerprintability of browser extensions due to bloat · WWW 2019 |
Systems and software security
software supply chain security |
1.5 | 3 | 2025 | ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions · USENIX Security Symposium 2023 Characterizing the Security of Github CI Workflows · USENIX Security Symposium 2022 An Empirical Study on Reproducible Packaging in Open-Source Ecosystems · ICSE 2025 |
Web and mobile security
phishing |
1.3 | 2 | 2024 | On SMS Phishing Tactics and Infrastructure · SP 2024 CrawlPhish: Large-scale Analysis of Client-side Cloaking Techniques in Phishing · SP 2021 |
Software maintenance and evolution
software ecosystems |
1.1 | 2 | 2025 | An Empirical Study on Reproducible Packaging in Open-Source Ecosystems · ICSE 2025 ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions · USENIX Security Symposium 2023 |
Web and mobile security › mobile application security
web-view security |
1.0 | 1 | 2026 | Cross-Boundary Mobile Tracking: Exploring Java-to-JavaScript Information Diffusion in WebViews · NDSS 2026 |
Program analysis
static analysis |
1.0 | 1 | 2026 | COSSETER: GitHub Actions Permission Reduction Using Demand-Driven Static Analysis · SP 2026 |
Web and mobile security
javascript security |
0.9 | 1 | 2025 | Same Script, Different Behavior: Characterizing Divergent JavaScript Execution Across Different Device Platforms · CCS 2025 |
Software maintenance and evolution › build systems
build reproducibility |
0.9 | 1 | 2025 | An Empirical Study on Reproducible Packaging in Open-Source Ecosystems · ICSE 2025 |
Empirical software engineering
mining software repositories |
0.9 | 1 | 2025 | Same Script, Different Behavior: Characterizing Divergent JavaScript Execution Across Different Device Platforms · CCS 2025 |
Software maintenance and evolution › software supply chain
software supply chain security |
0.9 | 1 | 2025 | Research Directions in Software Supply Chain Security · ACM Trans. Softw. Eng. Methodol. 2025 |
Privacy and data protection
web tracking |
0.8 | 3 | 2021 | Cookie Swap Party: Abusing First-Party Cookies for Web Tracking · WWW 2021 Cookieless Monster: Exploring the Ecosystem of Web-Based Device Fingerprinting · IEEE Symposium on Security and Privacy 2013 Fingerprinting in Style: Detecting Browser Extensions via Injected Style Sheets · USENIX Security Symposium 2021 |
Web and mobile security › web security
javascript engine security |
0.8 | 1 | 2024 | FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniques · USENIX Security Symposium 2024 |
Program analysis › static analysis › taint analysis
static taint analysis |
0.7 | 1 | 2023 | ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions · USENIX Security Symposium 2023 |
Web and mobile security
browser security |
0.7 | 3 | 2024 | VisibleV8: In-browser Monitoring of JavaScript in the Wild · Internet Measurement Conference 2019 FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniques · USENIX Security Symposium 2024 Cookieless Monster: Exploring the Ecosystem of Web-Based Device Fingerprinting · IEEE Symposium on Security and Privacy 2013 |
Privacy and data protection › web tracking
third-party tracking |
0.6 | 1 | 2022 | Measuring the Privacy vs. Compatibility Trade-off in Preventing Third-Party Stateful Tracking · WWW 2022 |
Privacy and data protection › web privacy
browser privacy |
0.5 | 1 | 2021 | Cookie Swap Party: Abusing First-Party Cookies for Web Tracking · WWW 2021 |
Privacy and data protection › web tracking
cookie tracking |
0.5 | 1 | 2021 | Cookie Swap Party: Abusing First-Party Cookies for Web Tracking · WWW 2021 |
Systems and software security › vulnerability discovery
fuzzing |
0.5 | 1 | 2021 | Favocado: Fuzzing the Binding Code of JavaScript Engines Using Semantically Correct Test Cases · NDSS 2021 |
Web and mobile security
phishing detection |
0.5 | 1 | 2021 | CrawlPhish: Large-scale Analysis of Client-side Cloaking Techniques in Phishing · SP 2021 |
Systems and software security
vulnerability discovery |
0.5 | 1 | 2021 | Favocado: Fuzzing the Binding Code of JavaScript Engines Using Semantically Correct Test Cases · NDSS 2021 |
Privacy and data protection › web privacy
web privacy measurement |
0.5 | 1 | 2021 | Towards Realistic and ReproducibleWeb Crawl Measurements · WWW 2021 |
Web and mobile security › malicious advertising
malicious advertisement detection |
0.4 | 2 | 2016 | Cloak of Visibility: Detecting When Machines Browse a Different Web · IEEE Symposium on Security and Privacy 2016 The Dark Alleys of Madison Avenue: Understanding Malicious Advertisements · Internet Measurement Conference 2014 |
Privacy and data protection › online tracking
user tracking |
0.4 | 2 | 2019 | Unnecessarily Identifiable: Quantifying the fingerprintability of browser extensions due to bloat · WWW 2019 Cookieless Monster: Exploring the Ecosystem of Web-Based Device Fingerprinting · IEEE Symposium on Security and Privacy 2013 |
Web and mobile security › browser security
browser extension fingerprinting |
0.4 | 1 | 2019 | Everyone is Different: Client-side Diversification for Defending Against Extension Fingerprinting · USENIX Security Symposium 2019 |
Web and mobile security
web security |
0.4 | 1 | 2019 | VisibleV8: In-browser Monitoring of JavaScript in the Wild · Internet Measurement Conference 2019 |
Privacy and data protection
information leakage |
0.3 | 1 | 2018 | Mystique: Uncovering Information Leakage from Browser Extensions · CCS 2018 |
Privacy and data protection › differential privacy › privacy auditing
privacy leak detection |
0.3 | 1 | 2018 | Mystique: Uncovering Information Leakage from Browser Extensions · CCS 2018 |
Systems and software security › information flow tracking
taint analysis |
0.3 | 1 | 2018 | Mystique: Uncovering Information Leakage from Browser Extensions · CCS 2018 |
Authentication and access control
access control |
0.3 | 1 | 2026 | COSSETER: GitHub Actions Permission Reduction Using Demand-Driven Static Analysis · SP 2026 |
Methods — techniques the papers use, named apart from their topics
static analysis · 2.3dynamic analysis · 2.0clustering · 1.2fuzzing · 1.2large-scale measurement · 0.9forced execution · 0.8certificate transparency analysis · 0.8attestation protocol · 0.8HTML5 features · 0.8breakage estimation · 0.6user study · 0.5semantically correct test case generation · 0.5browser configuration analysis · 0.5automated crawling · 0.5v8 engine modification · 0.4dynamic instrumentation · 0.4taint analysis · 0.3static dataflow analysis · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Cross-Boundary Mobile Tracking: Exploring Java-to-JavaScript Information Diffusion in WebViews
Sohom Datta, Michalis Diamantaris, Ahsan Zafar, Junhua Su, Anupam Das 0001, Iasonas Polakis, Alexandros Kapravelos |
NDSS | 7 |
| 2026 | COSSETER: GitHub Actions Permission Reduction Using Demand-Driven Static Analysis
Greg Tystahl, Jonah Ghebremichael, Siddharth Muralee, Sourag Cherupattamoolayil, Antonio Bianchi, Aravind Machiry, Alexandros Kapravelos, William Enck |
SP | 7 |
| 2025 | Same Script, Different Behavior: Characterizing Divergent JavaScript Execution Across Different Device Platforms
Ahsan Zafar, Junhua Su, Sohom Datta, Alexandros Kapravelos, Anupam Das 0001 |
CCS | 4 |
| 2025 | An Empirical Study on Reproducible Packaging in Open-Source EcosystemsabstractThe integrity of software builds is fundamental to the security of the software supply chain. While Thompson first raised the potential for attacks on build infrastructure in 1984, limited attention has been given to build integrity in the past 40 years, enabling recent attacks on SolarWinds, event-stream, and xz. The best-known defense against build system attacks is creating reproducible builds; however, achieving them can be complex for both technical and social reasons and thus is often viewed as impractical to obtain. In this paper, we analyze reproducibility of builds in a novel context: reusable components distributed as packages in six popular software ecosystems (npm, Maven, PyPI, Go, RubyGems, and Cargo). Our quantitative study on a representative sample of 4000 packages in each ecosystem raises concerns: Rates of reproducible builds vary widely between ecosystems, with some ecosystems having all packages reproducible whereas others have reproducibility issues in nearly every package. However, upon deeper investigation, we identified that with relatively straightforward infrastructure configuration and patching of build tools, we can achieve very high rates of reproducible builds in all studied ecosystems. We conclude that if the ecosystems adopt our suggestions, the build process of published packages can be independently confirmed for nearly all packages without individual developer actions, and doing so will prevent significant future software supply chain attacks. Giacomo Benedetti, Oreofe Solarin, Courtney Miller, Greg Tystahl, William Enck, Christian Kästner, Alexandros Kapravelos, Alessio Merlo, Luca Verderame |
ICSE | 7 |
| 2025 | Research Directions in Software Supply Chain SecurityabstractReusable software libraries, frameworks, and components, such as those provided by open source ecosystems and third-party suppliers, accelerate digital innovation. However, recent years have shown almost exponential growth in attackers leveraging these software artifacts to launch software supply chain attacks. Past well-known software supply chain attacks include the SolarWinds, log4j, and xz utils incidents. Supply chain attacks are considered to have three major attack vectors: through vulnerabilities and malware accidentally or intentionally injected into open source and third-party dependencies/components/containers ; by infiltrating the build infrastructure during the build and deployment processes; and through targeted techniques aimed at the humans involved in software development, such as through social engineering. Plummeting trust in the software supply chain could decelerate digital innovation if the software industry reduces its use of open source and third-party artifacts to reduce risks. This article contains perspectives and knowledge obtained from intentional outreach with practitioners to understand their practical challenges and from extensive research efforts. We then provide an overview of current research efforts to secure the software supply chain. Finally, we propose a future research agenda to close software supply chain attack vectors and support the software industry. Laurie A. Williams, Giacomo Benedetti, Sivana Hamer, Ranindya Paramitha, Imranur Rahman, Mahzabin Tamanna, Greg Tystahl, Nusrat Zahan, Patrick Morrison, Yasemin Acar, Michel Cukier, Christian Kästner, Alexandros Kapravelos, Dominik Wermke, William Enck |
ACM Trans. Softw. Eng. Methodol. | 13 |
| 2024 | Automated Generation of Behavioral Signatures for Malicious Web Campaigns
Shaown Sarker, William Melicher, Oleksii Starov, Anupam Das 0001, Alexandros Kapravelos |
ISC (2) | 5 |
| 2024 | JSHint: Revealing API Usage to Improve Detection of Malicious JavaScript
Shaown Sarker, Kasimir Schulz, Aleksandr Nahapetyan, Anupam Das 0001, Alexandros Kapravelos |
ISC (2) | 5 |
| 2024 | UntrustIDE: Exploiting Weaknesses in VS Code Extensions
Elizabeth Lin, Igibek Koishybayev, Trevor Dunlap, William Enck, Alexandros Kapravelos |
NDSS | 5 |
| 2024 | On SMS Phishing Tactics and InfrastructureabstractIn 2022, the Anti-Phishing Working Group reported a 70% increase in SMS and voice phishing attacks. Hard data on SMS phishing is hard to come by, as are insights into how SMS phishers operate. Lack of visibility prevents law enforcement, regulators, providers, and researchers from understanding and confronting this growing problem. In this paper, we present the results of extracting phishing messages from over 200 million SMS messages posted over several years on 11 public SMS gateways on the web. From this dataset we identify 67,991 phishing messages, link them together into 35,128 campaigns based on sharing near-identical content, then identify related campaigns that share infrastructure to identify over 600 distinct SMS phishing operations. This expansive vantage point enables us to determine that SMS phishers use commodity cloud and web infrastructure in addition to self-hosted URL shorteners, their infrastructure is often visible days or weeks on certificate transparency logs earlier than their messages, and they reuse existing phishing kits from other phishing modalities. We are also the first to examine in-place network defenses and identify the public forums where abuse facilitators advertise openly. These methods and findings provide industry and researchers new directions to explore to combat the growing problem of SMS phishing. Aleksandr Nahapetyan, Sathvik Prasad, Kevin Childs, Adam Oest, Yeganeh Ladwig, Alexandros Kapravelos, Bradley Reaves |
SP | 6 |
| 2024 | FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniques
Nikolaos Pantelaios, Alexandros Kapravelos |
USENIX Security Symposium | 2 |
| 2024 | WRIT: Web Request Integrity and Attestation Against Malicious Browser ExtensionsabstractThe powerful capabilities of modern browsers have pushed the web application logic to the user side, in order to minimize latency, increase scalability of the service and improve users’ quality of experience. What is more, browsers provide a rich toolchest for browser extensions to provide additional functionality, but at the same time enable them to become a powerful vehicle for malicious actors. Such actors may spy, phish or fraud users, thus making the user's browser untrusted for the web servers. In this article, we present WRIT, a practical framework that enables websites to protect critical functionality from abuse in the presence of malicious extensions. In WRIT, the integrity of outgoing web requests is attested and verified to ensure they were triggered by a user's action and not automatically generated by a malicious browser extension. WRIT is immediately applicable by leveraging existing HTML5 and other native browser features and does not require any modification of the browser. Performance results of our prototype show that it adds a negligible 7.29 ms latency to sensitive user-triggered actions (e.g., post message). Giorgos Vasiliadis, Apostolos Karampelas, Alexandros Shevtsov, Panagiotis Papadopoulos, Sotiris Ioannidis, Alexandros Kapravelos |
IEEE Trans. Dependable Secur. Comput. | 6 |
| 2023 | ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions
Siddharth Muralee, Igibek Koishybayev, Aleksandr Nahapetyan, Greg Tystahl, Bradley Reaves, Antonio Bianchi, William Enck, Alexandros Kapravelos, Aravind Machiry |
USENIX Security Symposium | 8 |
| 2023 | Automatic Discovery of Emerging Browser Fingerprinting TechniquesabstractWith the progression of modern browsers, online tracking has become the most concerning issue for preserving privacy on the web. As major browser vendors plan to or already ban third-party cookies, trackers have to shift towards browser fingerprinting by incorporating novel browser APIs into their tracking arsenal. Understanding how new browser APIs are abused in browser fingerprinting techniques is a significant step toward ensuring protection from online tracking. Junhua Su, Alexandros Kapravelos |
WWW | 2 |
| 2022 | SoK: Workerounds - Categorizing Service Worker Attacks and MitigationsabstractService Workers (SWs) are a powerful feature at the core of Progressive Web Apps, namely web applications that can continue to function when the user's device is offline and that have access to device sensors and capabilities previously accessible only by native applications. During the past few years, researchers have found a number of ways in which SWs may be abused to achieve different malicious purposes. For instance, SWs may be abused to build a web-based botnet, launch DDoS attacks, or perform cryptomining; they may be hijacked to create persistent cross-site scripting (XSS) attacks; they may be leveraged in the context of side-channel attacks to compromise users' privacy; or they may be abused for phishing or social engineering attacks using web push notifications-based malvertising. In this paper, we reproduce and analyze known attack vectors related to SWs and explore new abuse paths that have not previously been considered. We systematize the attacks into different categories, and then analyze whether, how, and estimate when these attacks have been published and mitigated by different browser vendors. Then, we discuss a number of open SW security problems that are currently unmitigated, and propose SW behavior monitoring approaches and new browser policies that we believe should be implemented by browsers to further improve SW security. Furthermore, we implement a proof-of-concept version of several policies in the Chromium code base, and also measure the behavior of SWs used by highly popular web applications with respect to these new policies. Our measurements show that it should be feasible to implement and enforce stricter SW security policies without a significant impact on most legitimate production SWs. Karthika Subramani, Jordan Jueckstock, Alexandros Kapravelos, Roberto Perdisci |
EuroS&P | 3 |
| 2022 | Characterizing the Security of Github CI Workflows
Igibek Koishybayev, Aleksandr Nahapetyan, Raima Zachariah, Siddharth Muralee, Bradley Reaves, Alexandros Kapravelos, Aravind Machiry |
USENIX Security Symposium | 6 |
| 2022 | Measuring the Privacy vs. Compatibility Trade-off in Preventing Third-Party Stateful TrackingabstractDespite active privacy research on sophisticated web tracking techniques (e.g., fingerprinting, cache collusion, bounce tracking, CNAME cloaking), most tracking on the web is basic “stateful” tracking enabled by classical browser storage policies sharing per-site storage across all HTTP contexts. Alternative, privacy-preserving storage policies, especially for third-party contexts, have been proposed and even deployed, but these can break websites that presume traditional, non-partitioned storage. Such breakage discourages privacy-preserving experimentation, cementing the dismal status quo. Our work measures the privacy vs. compatibility trade-offs of representative third-party storage policies to enable design of browsers that are both compatible and privacy respecting. Our contributions include web-scale measurements of page behaviors under multiple third-party storage policies inspired by production browsers. We define metrics for measuring aggregate effects on web privacy and compatibility, including a novel system for quantitatively estimating aggregate website breakage under different policies. We find that making third-party storage partitioned by first-party, and lifetimes by site-session achieves the best privacy and compatibility trade-off. We provide complete measurement datasets and storage policy implementations. Jordan Jueckstock, Peter Snyder, Shaown Sarker, Alexandros Kapravelos, Benjamin Livshits |
WWW | 4 |
| 2021 | Browserprint: an Analysis of the Impact of Browser Features on Fingerprintability and Web Privacy
Seyed Ali Akhavani, Jordan Jueckstock, Junhua Su, Alexandros Kapravelos, Engin Kirda, Long Lu |
ISC | 4 |
| 2021 | Favocado: Fuzzing the Binding Code of JavaScript Engines Using Semantically Correct Test Cases
Sung Ta Dinh, Haehyun Cho, Kyle Martin, Adam Oest, Kyle Zeng, Alexandros Kapravelos, Gail-Joon Ahn, Tiffany Bao, Ruoyu Wang 0001, Adam Doupé, Yan Shoshitaishvili |
NDSS | 6 |
| 2021 | Detecting Filter List Evasion with Event-Loop-Turn Granularity JavaScript SignaturesabstractContent blocking is an important part of a per-formant, user-serving, privacy respecting web. Current content blockers work by building trust labels over URLs. While useful, this approach has many well understood shortcomings. Attackers may avoid detection by changing URLs or domains, bundling unwanted code with benign code, or inlining code in pages.The common flaw in existing approaches is that they evaluate code based on its delivery mechanism, not its behavior. In this work we address this problem by building a system for generating signatures of the privacy-and-security relevant behavior of executed JavaScript. Our system uses as the unit of analysis each script’s behavior during each turn on the JavaScript event loop. Focusing on event loop turns allows us to build highly identifying signatures for JavaScript code that are robust against code obfuscation, code bundling, URL modification, and other common evasions, as well as handle unique aspects of web applications.This work makes the following contributions to the problem of measuring and improving content blocking on the web: First, we design and implement a novel system to build per-event-loop-turn signatures of JavaScript behavior through deep instrumentation of the Blink and V8 runtimes. Second, we apply these signatures to measure how much privacy-and-security harming code is missed by current content blockers, by using EasyList and EasyPrivacy as ground truth and finding scripts that have the same privacy and security harming patterns. We build 1,995,444 signatures of privacy-and-security relevant behaviors from 11,212 unique scripts blocked by filter lists, and find 3,589 unique scripts hosting known harmful code, but missed by filter lists, affecting 12.48% of websites measured. Third, we provide a taxonomy of ways scripts avoid detection and quantify the occurrence of each. Finally, we present defenses against these evasions, in the form of filter list additions where possible, and through a proposed, signature based system in other cases.As part of this work, we share the implementation of our signature-generation system, the data gathered by applying that system to the Alexa 100K, and 586 AdBlock Plus compatible filter list rules to block instances of currently blocked code being moved to new URLs. Peter Snyder, Benjamin Livshits, Alexandros Kapravelos |
SP | 4 |
| 2021 | CrawlPhish: Large-scale Analysis of Client-side Cloaking Techniques in PhishingabstractPhishing is a critical threat to Internet users. Although an extensive ecosystem serves to protect users, phishing websites are growing in sophistication, and they can slip past the ecosystem’s detection systems—and subsequently cause real-world damage—with the help of evasion techniques. Sophisticated client-side evasion techniques, known as cloaking, leverage JavaScript to enable complex interactions between potential victims and the phishing website, and can thus be particularly effective in slowing or entirely preventing automated mitigations. Yet, neither the prevalence nor the impact of client-side cloaking has been studied.In this paper, we present CrawlPhish, a framework for automatically detecting and categorizing client-side cloaking used by known phishing websites. We deploy CrawlPhish over 14 months between 2018 and 2019 to collect and thoroughly analyze a dataset of 112,005 phishing websites in the wild. By adapting state-of-the-art static and dynamic code analysis, we find that 35,067 of these websites have 1,128 distinct implementations of client-side cloaking techniques. Moreover, we find that attackers’ use of cloaking grew from 23.32% initially to 33.70% by the end of our data collection period. Detection of cloaking by our framework exhibited low false-positive and false-negative rates of 1.45% and 1.75%, respectively. We analyze the semantics of the techniques we detected and propose a taxonomy of eight types of evasion across three high-level categories: User Interaction, Fingerprinting, and Bot Behavior.Using 150 artificial phishing websites, we empirically show that each category of evasion technique is effective in avoiding browser-based phishing detection (a key ecosystem defense). Additionally, through a user study, we verify that the techniques generally do not discourage victim visits. Therefore, we propose ways in which our methodology can be used to not only improve the ecosystem’s ability to mitigate phishing websites with client-side cloaking, but also continuously identify emerging cloaking techniques as they are launched by attackers. Adam Oest, Haehyun Cho, RC Johnson, Brad Wardman, Shaown Sarker, Alexandros Kapravelos, Tiffany Bao, Ruoyu Wang 0001, Yan Shoshitaishvili, Adam Doupé, Gail-Joon Ahn |
SP | 8 |
| 2021 | Fingerprinting in Style: Detecting Browser Extensions via Injected Style Sheets
Pierre Laperdrix, Oleksii Starov, Alexandros Kapravelos, Nick Nikiforakis |
USENIX Security Symposium | 4 |
| 2021 | Cookie Swap Party: Abusing First-Party Cookies for Web TrackingabstractAs a step towards protecting user privacy, most web browsers perform some form of third-party HTTP cookie blocking or periodic deletion by default, while users typically have the option to select even stricter blocking policies. As a result, web trackers have shifted their efforts to work around these restrictions and retain or even improve the extent of their tracking capability. Panagiotis Ilia, Michalis Polychronakis, Alexandros Kapravelos |
WWW | 4 |
| 2021 | Towards Realistic and ReproducibleWeb Crawl MeasurementsabstractAccurate web measurement is critical for understanding and improving security and privacy online. Such measurements implicitly assume that automated crawls generalize to typical web user experience. But anecdotal evidence suggests the web behaves differently when seen via well-known measurement endpoints or measurement automation frameworks, for various reasons. Our work improves the state of web privacy and security by investigating how key measurements differ when using naive crawling tool defaults vs. careful attempts to match “real” users across the Tranco top 25k web domains. We find web privacy and security measurements significantly affected by vantage point and browser configuration. We conclude that unless researchers ensure their web measurement tools match real world user experience, the research community is likely missing important signals systematically. For example, we find browser configuration alone causing shifts in 19% of known ad and tracking domains encountered and altering the loading frequency of up to 10% of distinct JavaScript code units executed. We find network vantage point having similar, though less dramatic, effects on the same web metrics. To ensure reproducibility, we carefully document our methodology and publish both our code and collected data. Jordan Jueckstock, Shaown Sarker, Peter Snyder, Aidan Beggs, Panagiotis Papadopoulos, Matteo Varvello, Benjamin Livshits, Alexandros Kapravelos |
WWW | 8 |
| 2020 | You've Changed: Detecting Malicious Browser Extensions through their Update DeltasabstractIn this paper, we conduct the largest to-date analysis of browser extensions, by investigating 922,684 different extension versions collected in the past six years, and using this data to discover malicious versions of extensions. We propose a two-stage system that first identifies malicious extensions based on anomalous extension ratings and locates the code that was added to a benign extension in order to make it malicious. We encode these code deltas according to the APIs that they abuse and search our historical dataset for other similar deltas of extensions which have not yet been flagged, neither by users nor by Chrome's Web Store. We were able to discover 143 malicious extensions belonging to 21 malicious clusters, exhibiting a wide range of abuse, from history stealing and ad injection, to the hijacking of new tabs and search engines. Our results show that our proposed techniques operate in an abuse-agnostic way and can identify malicious extensions that are evading detection. Nikolaos Pantelaios, Nick Nikiforakis, Alexandros Kapravelos |
CCS | 3 |
| 2020 | Hiding in Plain Site: Detecting JavaScript Obfuscation through Concealed Browser API UsageabstractIn this paper, we perform a large-scale measurement study of JavaScript obfuscation of browser APIs in the wild. We rely on a simple, but powerful observation: if dynamic analysis of a script's behavior (specifically, how it interacts with browser APIs) reveals browser API feature usage that cannot be reconciled with static analysis of the script's source code, then that behavior is obfuscated. To quantify and test this observation, we create a hybrid analysis platform using instrumented Chromium to log all browser API accesses by the scripts executed when a user visits a page. We filter the API access traces from our dynamic analysis through a static analysis tool that we developed in order to quantify how much and what kind of functionality is hidden on the web. When applying this methodology across the Alexa top 100k domains, we discover that 95.90% of the domains we successfully visited contain at least one script which invokes APIs that cannot be resolved from static analysis. We observe that eval is no longer the prominent obfuscation method on the web and we uncover families of novel obfuscation techniques that no longer rely on the use of eval. Shaown Sarker, Jordan Jueckstock, Alexandros Kapravelos |
Internet Measurement Conference | 3 |
| 2020 | Mininode: Reducing the Attack Surface of Node.js Applications
Igibek Koishybayev, Alexandros Kapravelos |
RAID | 2 |
| 2019 | Wild Extensions: Discovering and Analyzing Unlisted Chrome Extensions
Aidan Beggs, Alexandros Kapravelos |
DIMVA | 2 |
| 2019 | VisibleV8: In-browser Monitoring of JavaScript in the WildabstractModern web security and privacy research depends on accurate measurement of an often evasive and hostile web. No longer just a network of static, hyperlinked documents, the modern web is alive with JavaScript (JS) loaded from third parties of unknown trustworthiness. Dynamic analysis of potentially hostile JS currently presents a cruel dilemma: use heavyweight in-browser solutions that prove impossible to maintain, or use lightweight inline JS solutions that are detectable by evasive JS and which cannot match the scope of coverage provided by in-browser systems. We present VisibleV8, a dynamic analysis framework hosted inside V8, the JS engine of the Chrome browser, that logs native function or property accesses during any JS execution. At less than 600 lines (only 67 of which modify V8's existing behavior), our patches are lightweight and have been maintained from Chrome versions 63 through 72 without difficulty. VV8 consistently outperforms equivalent inline instrumentation, and it intercepts accesses impossible to instrument inline. This comprehensive coverage allows us to isolate and identify 46 JavaScript namespace artifacts used by JS code in the wild to detect automated browsing platforms and to discover that 29% of the Alexa top 50k sites load content which actively probes these artifacts. Jordan Jueckstock, Alexandros Kapravelos |
Internet Measurement Conference | 2 |
| 2019 | Everyone is Different: Client-side Diversification for Defending Against Extension Fingerprinting
Erik Trickel, Oleksii Starov, Alexandros Kapravelos, Nick Nikiforakis, Adam Doupé |
USENIX Security Symposium | 3 |
| 2019 | Unnecessarily Identifiable: Quantifying the fingerprintability of browser extensions due to bloatabstractIn this paper, we investigate to what extent the page modifications that make browser extensions fingerprintable are necessary for their operation. We characterize page modifications that are completely unnecessary for the extension's functionality as extension bloat. By analyzing 58,034 extensions from the Google Chrome store, we discovered that 5.7% of them were unnecessarily identifiable because of extension bloat. To protect users against unnecessary extension fingerprinting due to bloat, we describe the design and implementation of an in-browser mechanism that provides coarse-grained access control for extensions on all websites. The proposed mechanism and its built-in policies, does not only protect users from fingerprinting, but also offers additional protection against malicious extensions exfiltrating user data from sensitive websites. Oleksii Starov, Pierre Laperdrix, Alexandros Kapravelos, Nick Nikiforakis |
WWW | 3 |
| 2018 | Mystique: Uncovering Information Leakage from Browser ExtensionsabstractBrowser extensions are small JavaScript, CSS and HTML programs that run inside the browser with special privileges. These programs, often written by third parties, operate on the pages that the browser is visiting, giving the user a programmatic way to configure the browser. The privacy implications that arise by allowing privileged third-party code to execute inside the users' browser are not well understood. In this paper, we develop a taint analysis framework for browser extensions and use it to perform a large scale study of extensions in regard to their privacy practices. We first present a hybrid approach to traditional taint analysis: by leveraging the fact that extension source code is available to the runtime JavaScript engine, we implement as well as enhance traditional taint analysis using information gathered from static data flow and control-flow analysis of the JavaScript source code. Based on this, we further modify the Chromium browser to support taint tracking for extensions. We analyzed 178,893 extensions crawled from the Chrome Web Store between September 2016 and March 2018, as well as a separate set of all available extensions (2,790 in total) for the Opera browser at the time of analysis. From these, our analysis flagged 3,868 (2.13%) extensions as potentially leaking privacy-sensitive information. The top 10 most popular Chrome extensions that we confirmed to be leaking privacy-sensitive information have more than 60 million users combined. We ran the analysis on a local Kubernetes cluster and were able to finish within a month, demonstrating the feasibility of our approach for large-scale analysis of browser extensions. At the same time, our results emphasize the threat browser extensions pose to user privacy, and the need for countermeasures to safeguard against misbehaving extensions that abuse their privileges. Alexandros Kapravelos |
CCS | 2 |
| 2016 | Cloak of Visibility: Detecting When Machines Browse a Different WebabstractThe contentious battle between web services and miscreants involved in blackhat search engine optimization and malicious advertisements has driven the underground to develop increasingly sophisticated techniques that hide the true nature of malicious sites. These web cloaking techniques hinder the effectiveness of security crawlers and potentially expose Internet users to harmful content. In this work, we study the spectrum of blackhat cloaking techniques that target browser, network, or contextual cues to detect organic visitors. As a starting point, we investigate the capabilities of ten prominent cloaking services marketed within the underground. This includes a first look at multiple IP blacklists that contain over 50 million addresses tied to the top five search engines and tens of anti-virus and security crawlers. We use our findings to develop an anti-cloaking system that detects split-view content returned to two or more distinct browsing profiles with an accuracy of 95.5% and a false positive rate of 0.9% when tested on a labeled dataset of 94,946 URLs. We apply our system to an unlabeled set of 135,577 search and advertisement URLs keyed on high-risk terms (e.g., luxury products, weight loss supplements) to characterize the prevalence of threats in the wild and expose variations in cloaking techniques across traffic sources. Our study provides the first broad perspective of cloaking as it affects Google Search and Google Ads and underscores the minimum capabilities necessary of security crawlers to bypass the state of the art in mobile, rDNS, and IP cloaking. Luca Invernizzi, Kurt Thomas, Alexandros Kapravelos, Oxana Comanescu, Jean-Michel Picod, Elie Bursztein |
IEEE Symposium on Security and Privacy | 3 |
| 2015 | Ad Injection at Scale: Assessing Deceptive Advertisement ModificationsabstractToday, web injection manifests in many forms, but fundamentally occurs when malicious and unwanted actors tamper directly with browser sessions for their own profit. In this work we illuminate the scope and negative impact of one of these forms, ad injection, in which users have ads imposed on them in addition to, or different from, those that websites originally sent them. We develop a multi-staged pipeline that identifies ad injection in the wild and captures its distribution and revenue chains. We find that ad injection has entrenched itself as a cross-browser monetization platform impacting more than 5% of unique daily IP addresses accessing Google -- tens of millions of users around the globe. Injected ads arrive on a client's machine through multiple vectors: our measurements identify 50,870 Chrome extensions and 34,407 Windows binaries, 38% and 17% of which are explicitly malicious. A small number of software developers support the vast majority of these injectors who in turn syndicate from the larger ad ecosystem. We have contacted the Chrome Web Store and the advertisers targeted by ad injectors to alert each of the deceptive practices involved. Kurt Thomas, Elie Bursztein, Chris Grier, Grant Ho, Nav Jagpal, Alexandros Kapravelos, Damon McCoy, Antonio Nappa, Vern Paxson, Paul Pearce, Niels Provos, Moheeb Abu Rajab |
IEEE Symposium on Security and Privacy | 6 |
| 2014 | PExy: The Other Side of Exploit Kits
Giancarlo De Maio, Alexandros Kapravelos, Yan Shoshitaishvili, Christopher Krügel, Giovanni Vigna |
DIMVA | 2 |
| 2014 | The Dark Alleys of Madison Avenue: Understanding Malicious AdvertisementsabstractOnline advertising drives the economy of the World Wide Web. Modern websites of any size and popularity include advertisements to monetize visits from their users. To this end, they assign an area of their web page to an advertising company (so called ad exchange) that will use it to display promotional content. By doing this, the website owner implicitly trusts that the advertising company will offer legitimate content and it will not put the site's visitors at risk of falling victims of malware campaigns and other scams. Apostolis Zarras, Alexandros Kapravelos, Gianluca Stringhini, Thorsten Holz, Christopher Krügel, Giovanni Vigna |
Internet Measurement Conference | 2 |
| 2014 | Hulk: Eliciting Malicious Behavior in Browser Extensions
Alexandros Kapravelos, Chris Grier, Neha Chachra, Christopher Krügel, Giovanni Vigna, Vern Paxson |
USENIX Security Symposium | 1 |
| 2013 | Cookieless Monster: Exploring the Ecosystem of Web-Based Device FingerprintingabstractThe web has become an essential part of our society and is currently the main medium of information delivery. Billions of users browse the web on a daily basis, and there are single websites that have reached over one billion user accounts. In this environment, the ability to track users and their online habits can be very lucrative for advertising companies, yet very intrusive for the privacy of users. In this paper, we examine how web-based device fingerprinting currently works on the Internet. By analyzing the code of three popular browser-fingerprinting code providers, we reveal the techniques that allow websites to track users without the need of client-side identifiers. Among these techniques, we show how current commercial fingerprinting approaches use questionable practices, such as the circumvention of HTTP proxies to discover a user's real IP address and the installation of intrusive browser plugins. At the same time, we show how fragile the browser ecosystem is against fingerprinting through the use of novel browser-identifying techniques. With so many different vendors involved in browser development, we demonstrate how one can use diversions in the browsers' implementation to distinguish successfully not only the browser-family, but also specific major and minor versions. Browser extensions that help users spoof the user-agent of their browsers are also evaluated. We show that current commercial approaches can bypass the extensions, and, in addition, take advantage of their shortcomings by using them as additional fingerprinting features. Nick Nikiforakis, Alexandros Kapravelos, Wouter Joosen, Christopher Krügel, Frank Piessens, Giovanni Vigna |
IEEE Symposium on Security and Privacy | 2 |
| 2013 | Revolver: An Automated Approach to the Detection of Evasive Web-based Malware
Alexandros Kapravelos, Yan Shoshitaishvili, Marco Cova, Christopher Krügel, Giovanni Vigna |
USENIX Security Symposium | 1 |
| 2012 | You are what you include: large-scale evaluation of remote javascript inclusionsabstractJavaScript is used by web developers to enhance the interactivity of their sites, offload work to the users' browsers and improve their sites' responsiveness and user-friendliness, making web pages feel and behave like traditional desktop applications. An important feature of JavaScript, is the ability to combine multiple libraries from local and remote sources into the same page, under the same namespace. While this enables the creation of more advanced web applications, it also allows for a malicious JavaScript provider to steal data from other scripts and from the page itself. Today, when developers include remote JavaScript libraries, they trust that the remote providers will not abuse the power bestowed upon them. Nick Nikiforakis, Luca Invernizzi, Alexandros Kapravelos, Steven Van Acker, Wouter Joosen, Christopher Krügel, Frank Piessens, Giovanni Vigna |
CCS | 3 |
| 2011 | Escape from Monkey Island: Evading High-Interaction Honeyclients
Alexandros Kapravelos, Marco Cova, Christopher Krügel, Giovanni Vigna |
DIMVA | 1 |
| 2010 | D(e|i)aling with VoIP: Robust Prevention of DIAL Attacks
Alexandros Kapravelos, Iasonas Polakis, Elias Athanasopoulos, Sotiris Ioannidis, Evangelos P. Markatos |
ESORICS | 1 |