首页 > 最新文献

2023 IEEE Security and Privacy Workshops (SPW)最新文献

英文 中文
DISV: Domain Independent Semantic Validation of Data Files 数据文件的领域独立语义验证
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00020
Ashish Kumar, B. Harris, Gang Tan
Data format specification languages such as PDF or HTML have been used extensively for exchanging structured data over the internet. While receivers of data files (e.g., PDF viewers or web browsers) perform syntax validation of files, validating deep semantic properties has not been systematically explored in practice. However, data files that violate semantic properties may cause unintended effects on receivers, such as causing them to crash or creating security breaches, as recent attacks showed. We present our tool DISV (Domain Independent Semantic Validator). It includes a declarative specification language for users to specify semantic properties of a data format. It also includes a validator that takes a data file together with a property specification and checks if the file follows the specification. We demonstrate a rich variety of properties that can be verified by our tool using eight case studies over three data formats. We also demonstrate that our tool can be used to detect advanced attacks on PDF documents.
数据格式规范语言,如PDF或HTML,已被广泛用于在互联网上交换结构化数据。虽然数据文件的接收者(例如,PDF查看器或web浏览器)执行文件的语法验证,但在实践中尚未系统地探索验证深层语义属性。然而,违反语义属性的数据文件可能会对接收器造成意想不到的影响,例如导致它们崩溃或造成安全漏洞,正如最近的攻击所显示的那样。提出了领域独立语义验证器(DISV)。它包括一种声明性规范语言,供用户指定数据格式的语义属性。它还包括一个验证器,该验证器接受数据文件和属性规范,并检查该文件是否遵循规范。我们演示了丰富多样的属性,这些属性可以通过我们的工具在三种数据格式上使用八个案例研究进行验证。我们还演示了我们的工具可用于检测对PDF文档的高级攻击。
{"title":"DISV: Domain Independent Semantic Validation of Data Files","authors":"Ashish Kumar, B. Harris, Gang Tan","doi":"10.1109/SPW59333.2023.00020","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00020","url":null,"abstract":"Data format specification languages such as PDF or HTML have been used extensively for exchanging structured data over the internet. While receivers of data files (e.g., PDF viewers or web browsers) perform syntax validation of files, validating deep semantic properties has not been systematically explored in practice. However, data files that violate semantic properties may cause unintended effects on receivers, such as causing them to crash or creating security breaches, as recent attacks showed. We present our tool DISV (Domain Independent Semantic Validator). It includes a declarative specification language for users to specify semantic properties of a data format. It also includes a validator that takes a data file together with a property specification and checks if the file follows the specification. We demonstrate a rich variety of properties that can be verified by our tool using eight case studies over three data formats. We also demonstrate that our tool can be used to detect advanced attacks on PDF documents.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"30 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114134866","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
ESPwn32: Hacking with ESP32 System-on-Chips ESPwn32:利用ESP32片上系统进行黑客攻击
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00033
Romain Cayre, Damien Cauquil, Aurélien Francillon
In this paper, we analyze the ESP32 from a wireless security perspective. We reverse engineer the hardware and software components dedicated to Bluetooth Low Energy (BLE) on the ESP32 and ANT protocol on Nordic Semiconductors' nRF chips. Exploiting this, we then implement multiple attacks on the repurposed ESP32 targeting various wireless protocols, including ones not natively supported by the chip. We make link-layer attacks on BLE (fuzzing, jamming) and cross-protocol injections, with only software modifications. We also attack proprietary protocols on commercial devices like keyboards and ANT-based sports monitoring devices. Finally, we show the ESP32 can be repurposed to interact with Zigbee or Thread devices. In summary, we show that accessing low-level, non-documented features of the ESP32 can allow, possibly compromised, devices to mount attacks across many IoT devices.
本文从无线安全的角度对ESP32进行了分析。我们在北欧半导体的nRF芯片上采用ESP32和ANT协议对专用于低功耗蓝牙(BLE)的硬件和软件组件进行逆向工程。利用这一点,我们然后对重新利用的ESP32实现针对各种无线协议的多次攻击,包括芯片不支持的无线协议。我们对BLE(模糊,干扰)和跨协议注入进行链路层攻击,仅进行软件修改。我们还攻击商业设备上的专有协议,如键盘和基于ant的运动监控设备。最后,我们展示了ESP32可以重新用于与Zigbee或Thread设备交互。总之,我们表明,访问ESP32的低级,未记录的功能可能允许(可能受到损害)设备在许多物联网设备上发起攻击。
{"title":"ESPwn32: Hacking with ESP32 System-on-Chips","authors":"Romain Cayre, Damien Cauquil, Aurélien Francillon","doi":"10.1109/SPW59333.2023.00033","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00033","url":null,"abstract":"In this paper, we analyze the ESP32 from a wireless security perspective. We reverse engineer the hardware and software components dedicated to Bluetooth Low Energy (BLE) on the ESP32 and ANT protocol on Nordic Semiconductors' nRF chips. Exploiting this, we then implement multiple attacks on the repurposed ESP32 targeting various wireless protocols, including ones not natively supported by the chip. We make link-layer attacks on BLE (fuzzing, jamming) and cross-protocol injections, with only software modifications. We also attack proprietary protocols on commercial devices like keyboards and ANT-based sports monitoring devices. Finally, we show the ESP32 can be repurposed to interact with Zigbee or Thread devices. In summary, we show that accessing low-level, non-documented features of the ESP32 can allow, possibly compromised, devices to mount attacks across many IoT devices.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132800822","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Research Report: Synthesizing Intrusion Detection System Test Data from Open-Source Attack Signatures 研究报告:基于开源攻击特征的入侵检测系统测试数据合成
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00023
Jared Chandler, Adam Wick
Intrusion Detection Systems (IDS) act as a first line of defense for network infrastructure by identifying malicious traffic and reporting it to administrators. Signature-based IDS identify this traffic by attempting to parse packets according to user-supplied rules based on well-known examples of bad traffic. However, test data can be difficult to come by (due to its sensitive nature) which makes evaluating new rules difficult. In this work we discuss the limitations of an existing SMT-based synthesis approach to automatically generating malicious network traffic. We then present a survey of how IDS rules are written in practice using an open-source corpus of over 30,000 rules and discuss a road-map towards extending the existing approach with the goal of generating security test data characterizing a broad range of threats, as well as ancillary uses assisting users in writing IDS rules and identifying IDS implementation bugs. Finally, we share early results from an evaluation of one such extension which successfully generated IDS test data for over 90% of the rules evaluated.
入侵检测系统(IDS)通过识别恶意流量并将其报告给管理员,充当网络基础设施的第一道防线。基于签名的IDS通过尝试根据用户提供的基于众所周知的错误流量示例的规则解析数据包来识别这种流量。然而,测试数据可能很难获得(由于其敏感性),这使得评估新规则变得困难。在这项工作中,我们讨论了现有的基于smt的合成方法在自动生成恶意网络流量方面的局限性。然后,我们调查了在实践中如何使用超过30,000条规则的开源语料编写IDS规则,并讨论了扩展现有方法的路线图,目标是生成具有广泛威胁特征的安全测试数据,以及辅助用途,帮助用户编写IDS规则和识别IDS实现错误。最后,我们分享了对这样一个扩展进行评估的早期结果,该扩展成功地为超过90%的被评估规则生成了IDS测试数据。
{"title":"Research Report: Synthesizing Intrusion Detection System Test Data from Open-Source Attack Signatures","authors":"Jared Chandler, Adam Wick","doi":"10.1109/SPW59333.2023.00023","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00023","url":null,"abstract":"Intrusion Detection Systems (IDS) act as a first line of defense for network infrastructure by identifying malicious traffic and reporting it to administrators. Signature-based IDS identify this traffic by attempting to parse packets according to user-supplied rules based on well-known examples of bad traffic. However, test data can be difficult to come by (due to its sensitive nature) which makes evaluating new rules difficult. In this work we discuss the limitations of an existing SMT-based synthesis approach to automatically generating malicious network traffic. We then present a survey of how IDS rules are written in practice using an open-source corpus of over 30,000 rules and discuss a road-map towards extending the existing approach with the goal of generating security test data characterizing a broad range of threats, as well as ancillary uses assisting users in writing IDS rules and identifying IDS implementation bugs. Finally, we share early results from an evaluation of one such extension which successfully generated IDS test data for over 90% of the rules evaluated.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"23 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122814351","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Scripted Henchmen: Leveraging XS-Leaks for Cross-Site Vulnerability Detection 脚本追随者:利用XS-Leaks进行跨站点漏洞检测
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00038
Tom van Goethem, Iskander Sánchez-Rola, W. Joosen
The key security principle that browsers adhere to, such as the same-origin policy and site isolation, ensure that when visiting a potentially untrusted website, the web page is loaded in an isolated environment. These security measures aim to prevent a malicious site from extracting information about cross-origin resources. However, in recent years, several techniques have been discovered that leak potentially sensitive information from responses sent by other sites. In this paper, we show that these XS-Leaks can be used to force an unwitting visitor to detect prevalent web vulnerabilities in other websites during a visit to a malicious web page. This lets an adversary leverage the computing and network resources of visitors and send malicious requests from a large variety of trustworthy IP addresses originating from residential networks. Finally, we find that currently deployed security measures are inadequate to thwart the realistic threat of cross-origin vulnerability detection.
浏览器遵循的关键安全原则(如同源策略和站点隔离)可确保在访问可能不受信任的网站时,在隔离的环境中加载网页。这些安全措施旨在防止恶意站点提取有关跨域资源的信息。然而,近年来,已经发现了几种从其他站点发送的响应中泄露潜在敏感信息的技术。在本文中,我们展示了这些XS-Leaks可以用来迫使不知情的访问者在访问恶意网页期间检测其他网站中普遍存在的web漏洞。这使得攻击者可以利用访问者的计算和网络资源,并从来自住宅网络的各种可信赖的IP地址发送恶意请求。最后,我们发现目前部署的安全措施不足以阻止跨域漏洞检测的现实威胁。
{"title":"Scripted Henchmen: Leveraging XS-Leaks for Cross-Site Vulnerability Detection","authors":"Tom van Goethem, Iskander Sánchez-Rola, W. Joosen","doi":"10.1109/SPW59333.2023.00038","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00038","url":null,"abstract":"The key security principle that browsers adhere to, such as the same-origin policy and site isolation, ensure that when visiting a potentially untrusted website, the web page is loaded in an isolated environment. These security measures aim to prevent a malicious site from extracting information about cross-origin resources. However, in recent years, several techniques have been discovered that leak potentially sensitive information from responses sent by other sites. In this paper, we show that these XS-Leaks can be used to force an unwitting visitor to detect prevalent web vulnerabilities in other websites during a visit to a malicious web page. This lets an adversary leverage the computing and network resources of visitors and send malicious requests from a large variety of trustworthy IP addresses originating from residential networks. Finally, we find that currently deployed security measures are inadequate to thwart the realistic threat of cross-origin vulnerability detection.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125875545","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Towards Simultaneous Attacks on Multiple Cellular Networks 针对多蜂窝网络的同时攻击
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00040
Alexandra Ross, Bradley Reaves
Cellular network attack research has dramatically expanded its capabilities in the last decade, but threat models routinely assume an attacker who targets a single cell with a small number of moderately-priced software defined radios. In many settings, such as mass crowd surveillance, attackers seek to gain passive or active dominance over a given area that is virtually always served by multiple cells and network operators. To do so, the only method publicly available is to naively duplicate their hardware at extensive cost. This paper presents a preliminary analysis of the feasibility of using a single software defined radio to surveil multiple networks simultaneously. Our key insight is that an attacker is often interested in only a portion of transmissions in a cell, and by design cellular transmissions are rigidly and predictably scheduled. Our system, Intercellular, rapidly schedules a single radio to tune between cells, effectively multiplexing the downlink channels of cells together. We demonstrate that radio tuning time is quite low (around 100ms), radio clocks are sufficiently stable to skip synchronization when retuning, and that even when monitoring multiple cells a radio can quite accurately count the devices served by all cells under observation. In so doing, we open new research directions advancing the efficiency and broad applicability of cellular network attacks.
蜂窝网络攻击研究在过去十年中已经显著扩展了其能力,但威胁模型通常假设攻击者使用少量价格适中的软件定义无线电瞄准单个蜂窝。在许多情况下,例如大规模人群监视,攻击者寻求在一个实际上总是由多个小区和网络运营商服务的给定区域获得被动或主动的支配地位。要做到这一点,唯一公开可用的方法就是以高昂的成本天真地复制它们的硬件。本文初步分析了使用单个软件无线电同时监视多个网络的可行性。我们的关键见解是,攻击者通常只对蜂窝中的一部分传输感兴趣,并且通过设计,蜂窝传输是严格且可预测的调度。我们的系统,Intercellular,快速调度单个无线电在小区之间进行调谐,有效地将小区的下行信道复用在一起。我们证明了无线电调谐时间相当低(约100ms),无线电时钟足够稳定,在返回时可以跳过同步,并且即使在监视多个单元时,无线电也可以相当准确地计算观察到的所有单元所服务的设备。这样做,我们开辟了新的研究方向,提高了蜂窝网络攻击的效率和广泛的适用性。
{"title":"Towards Simultaneous Attacks on Multiple Cellular Networks","authors":"Alexandra Ross, Bradley Reaves","doi":"10.1109/SPW59333.2023.00040","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00040","url":null,"abstract":"Cellular network attack research has dramatically expanded its capabilities in the last decade, but threat models routinely assume an attacker who targets a single cell with a small number of moderately-priced software defined radios. In many settings, such as mass crowd surveillance, attackers seek to gain passive or active dominance over a given area that is virtually always served by multiple cells and network operators. To do so, the only method publicly available is to naively duplicate their hardware at extensive cost. This paper presents a preliminary analysis of the feasibility of using a single software defined radio to surveil multiple networks simultaneously. Our key insight is that an attacker is often interested in only a portion of transmissions in a cell, and by design cellular transmissions are rigidly and predictably scheduled. Our system, Intercellular, rapidly schedules a single radio to tune between cells, effectively multiplexing the downlink channels of cells together. We demonstrate that radio tuning time is quite low (around 100ms), radio clocks are sufficiently stable to skip synchronization when retuning, and that even when monitoring multiple cells a radio can quite accurately count the devices served by all cells under observation. In so doing, we open new research directions advancing the efficiency and broad applicability of cellular network attacks.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127482993","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Corpus-wide Analysis of Parser Behaviors via a Format Analysis Workbench 通过格式分析工作台对解析器行为进行语料库范围的分析
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00024
Pottayil Harisanker Menon, Walt Woods
As the number of parsers written for a data format grows, the number of interpretations of that format's specification also grows. Often, these interpretations differ in subtle, hard-to-determine ways that can result in parser differentials – where one input passed to two parsing programs results in two semantically different behaviors. For example, two widely-used HTTP parsers have been shown to process packet headers differently, allowing for the exfiltration of private files. To help find, diagnose, and mitigate the risks of parser differentials, we present the Format Analysis Workbench (FAW), a collection of tools for collecting information on large numbers of parser/input interactions and analyzing those interactions to detect and explain differentials. This tool suite supports any number of file formats through a flexible configuration, allows for processing to be scaled horizontally, and can be run offline. It has been used for results including the analysis of more than 1 million PDF files and unifying parser behaviors across these files to identify a gold standard of validity across multiple parsers. The included statistical tools have been used to identify the root causes of parser rendering differentials, including mislabeled non-embedded fonts. Tools for instrumenting existing parsers are also included, such as PolyTracker, allowing for the analysis of blind spots which might be used to craft differentials for other parsers, or to exfiltrate large quantities of data. Through allowing users to characterize parser behaviors at scale against large corpuses of inputs, the FAW helps to mitigate security risks arising from parser behaviors by making it tractable to resolve examples of differentials back to their behavioral causes.
随着为数据格式编写的解析器数量的增加,对该格式规范的解释数量也会增加。通常,这些解释以微妙的、难以确定的方式存在差异,这可能导致解析器的差异——传递给两个解析程序的一个输入会导致两种语义上不同的行为。例如,两个广泛使用的HTTP解析器以不同的方式处理数据包头,从而允许对私有文件进行泄漏。为了帮助发现、诊断和减轻解析器差异的风险,我们提出了格式分析工作台(Format Analysis Workbench, FAW),这是一组工具,用于收集大量解析器/输入交互的信息,并分析这些交互以检测和解释差异。该工具套件通过灵活的配置支持任意数量的文件格式,允许横向扩展处理,并且可以脱机运行。它已被用于分析结果,包括对超过100万个PDF文件的分析和跨这些文件统一解析器行为,以确定跨多个解析器有效性的黄金标准。所包含的统计工具已用于识别解析器呈现差异的根本原因,包括错误标记的非嵌入式字体。还包括用于检测现有解析器的工具,例如PolyTracker,允许对盲点进行分析,这些盲点可能用于为其他解析器制造差异,或者泄露大量数据。通过允许用户针对大型输入语库大规模地描述解析器行为,FAW有助于减轻解析器行为引起的安全风险,因为它可以将差异示例解析回其行为原因。
{"title":"Corpus-wide Analysis of Parser Behaviors via a Format Analysis Workbench","authors":"Pottayil Harisanker Menon, Walt Woods","doi":"10.1109/SPW59333.2023.00024","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00024","url":null,"abstract":"As the number of parsers written for a data format grows, the number of interpretations of that format's specification also grows. Often, these interpretations differ in subtle, hard-to-determine ways that can result in parser differentials – where one input passed to two parsing programs results in two semantically different behaviors. For example, two widely-used HTTP parsers have been shown to process packet headers differently, allowing for the exfiltration of private files. To help find, diagnose, and mitigate the risks of parser differentials, we present the Format Analysis Workbench (FAW), a collection of tools for collecting information on large numbers of parser/input interactions and analyzing those interactions to detect and explain differentials. This tool suite supports any number of file formats through a flexible configuration, allows for processing to be scaled horizontally, and can be run offline. It has been used for results including the analysis of more than 1 million PDF files and unifying parser behaviors across these files to identify a gold standard of validity across multiple parsers. The included statistical tools have been used to identify the root causes of parser rendering differentials, including mislabeled non-embedded fonts. Tools for instrumenting existing parsers are also included, such as PolyTracker, allowing for the analysis of blind spots which might be used to craft differentials for other parsers, or to exfiltrate large quantities of data. Through allowing users to characterize parser behaviors at scale against large corpuses of inputs, the FAW helps to mitigate security risks arising from parser behaviors by making it tractable to resolve examples of differentials back to their behavioral causes.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128449436","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Divergent Representations: When Compiler Optimizations Enable Exploitation 分歧表示:当编译器优化启用利用
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00035
A. Kellas, Alan Cao, Peter Goodman, Junfeng Yang
Compiler optimizations can introduce unexpected security weaknesses in programs. In this paper, we introduce a newly discovered form of optimization-introduced security weakness that can benefit attackers, called divergent representations. We show that when divergent representations appear near vulnerabilities, they can enable attackers to create more powerful exploits. We provide a case study of a publicly disclosed SQLite CVE that becomes exploitable because of a divergent representation. We show that divergent representations are prevalent in software by searching for code patterns that may produce divergent representations, and found candidate patterns in 44 % of scanned repositories.
编译器优化可能会在程序中引入意想不到的安全漏洞。在本文中,我们介绍了一种新发现的优化引入的安全漏洞形式,它可以使攻击者受益,称为发散表示。我们表明,当不同的表示出现在漏洞附近时,它们可以使攻击者创建更强大的漏洞。我们提供了一个公开披露的SQLite CVE的案例研究,该案例由于不同的表示而变得可利用。我们通过搜索可能产生发散表示的代码模式表明,发散表示在软件中很普遍,并在44%的扫描存储库中发现了候选模式。
{"title":"Divergent Representations: When Compiler Optimizations Enable Exploitation","authors":"A. Kellas, Alan Cao, Peter Goodman, Junfeng Yang","doi":"10.1109/SPW59333.2023.00035","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00035","url":null,"abstract":"Compiler optimizations can introduce unexpected security weaknesses in programs. In this paper, we introduce a newly discovered form of optimization-introduced security weakness that can benefit attackers, called divergent representations. We show that when divergent representations appear near vulnerabilities, they can enable attackers to create more powerful exploits. We provide a case study of a publicly disclosed SQLite CVE that becomes exploitable because of a divergent representation. We show that divergent representations are prevalent in software by searching for code patterns that may produce divergent representations, and found candidate patterns in 44 % of scanned repositories.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121176995","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Emoji shellcoding in RISC-V 在RISC-V中的表情符号shell编码
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00028
Hadrien Barral, Georges-Axel Jaloyan, D. Naccache
Shellcodes are short, executable code fragments that are utilized in various attack scenarios where code execution is possible. When they are injected through the program's inputs, they may require to be validated by filters, the most common of which is a restriction on the allowed character set. This paper explains how to design RISC-V shellcodes capable of running arbitrary code whose UTF-8 representation uses only Unicode emojis. Our approach to this problem is inspired by code-reuse attacks and involves the use of small, reusable code snippets called gadgets. By chaining these gadgets together, we are able to build a shellcode that can bypass the constraints imposed by filters, making it more versatile and effective in a wider range of attack scenarios.
shellcode是短的、可执行的代码片段,在可能执行代码的各种攻击场景中使用。当它们通过程序的输入注入时,它们可能需要通过过滤器进行验证,其中最常见的是对允许的字符集的限制。本文解释了如何设计能够运行任意代码的RISC-V shellcode,其UTF-8表示仅使用Unicode表情符号。我们解决这个问题的方法受到代码重用攻击的启发,涉及到使用称为gadget的小的、可重用的代码片段。通过将这些小工具链接在一起,我们能够构建一个shellcode,它可以绕过过滤器施加的限制,使其在更广泛的攻击场景中更加通用和有效。
{"title":"Emoji shellcoding in RISC-V","authors":"Hadrien Barral, Georges-Axel Jaloyan, D. Naccache","doi":"10.1109/SPW59333.2023.00028","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00028","url":null,"abstract":"Shellcodes are short, executable code fragments that are utilized in various attack scenarios where code execution is possible. When they are injected through the program's inputs, they may require to be validated by filters, the most common of which is a restriction on the allowed character set. This paper explains how to design RISC-V shellcodes capable of running arbitrary code whose UTF-8 representation uses only Unicode emojis. Our approach to this problem is inspired by code-reuse attacks and involves the use of small, reusable code snippets called gadgets. By chaining these gadgets together, we are able to build a shellcode that can bypass the constraints imposed by filters, making it more versatile and effective in a wider range of attack scenarios.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116949528","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Go or No Go: Differential Fuzzing of Native and C Libraries Go或No Go:原生库和C库的差异模糊测试
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00036
A. Sorniotti, Michael Weissbacher, Anil Kurmus
In little more than a decade, Go has become one of the most popular programming languages in use today. It is a statically-typed, compiled language with spatial and temporal memory safety achieved by way of strong typing, automatically inserted bounds checks, and a mark-and-sweep garbage collector. Go developers can make immediate use of a large set of native libraries, whether shipped as part of the runtime or available to be imported from community code. Alternatively Go developers can directly link to C/C++ libraries which can be called from Go sources thanks to cgo functionality. Factors that go into this decision are stability, performance, and availability. As a result developers have a choice between Go native libraries or non-native code. However, today there is little understanding how to consider security implications in this decision. Our work is the first to investigate security implications of choosing between native and non-native libraries for Go programs. We first investigate to what extent popular GitHub projects make use of cgo, revealing that this choice is in fact quite popular. We then design and build a differential fuzzer that can compare native and C/C++ implementations of the same functionality. We implement the fuzzer and test its effectiveness on four popular packages (libcrypto, libpng, libssl, and libz), describing the results and highlighting their security impact. Finally, we present two real-world case studies (anti-virus evasion including the anti-virus scanner included in Gmail plus Certificate Transparency case study) and discuss how our differential fuzzer discovered implementation differences with security impact. Our work has led to changes in Golang zlib which have since shipped.
在短短十多年的时间里,Go已经成为当今最流行的编程语言之一。它是一种静态类型的编译语言,通过强类型、自动插入的边界检查和标记-清除垃圾收集器来实现空间和时间内存安全。Go开发人员可以立即使用大量的本地库,无论是作为运行时的一部分还是从社区代码中导入。另外,Go开发人员可以直接链接到C/ c++库,由于Go的功能,这些库可以从Go源代码中调用。影响这一决策的因素包括稳定性、性能和可用性。因此,开发人员可以在Go原生库或非原生代码之间做出选择。然而,目前人们对如何在此决策中考虑安全影响知之甚少。我们的工作是第一个调查在Go程序的本机和非本机库之间选择的安全影响。我们首先调查了流行的GitHub项目在多大程度上使用了go,揭示了这种选择实际上是相当流行的。然后,我们设计并构建了一个差分模糊器,可以比较本机和C/ c++实现的相同功能。我们实现了fuzzer,并在四个流行的软件包(libcrypto、libpng、libssl和libz)上测试了它的有效性,描述了结果并强调了它们对安全性的影响。最后,我们提出了两个现实世界的案例研究(反病毒逃避,包括Gmail中的反病毒扫描程序和证书透明度案例研究),并讨论了我们的差异模糊器如何发现实现差异与安全影响。我们的工作导致了Golang zlib的变化,这些变化已经发布。
{"title":"Go or No Go: Differential Fuzzing of Native and C Libraries","authors":"A. Sorniotti, Michael Weissbacher, Anil Kurmus","doi":"10.1109/SPW59333.2023.00036","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00036","url":null,"abstract":"In little more than a decade, Go has become one of the most popular programming languages in use today. It is a statically-typed, compiled language with spatial and temporal memory safety achieved by way of strong typing, automatically inserted bounds checks, and a mark-and-sweep garbage collector. Go developers can make immediate use of a large set of native libraries, whether shipped as part of the runtime or available to be imported from community code. Alternatively Go developers can directly link to C/C++ libraries which can be called from Go sources thanks to cgo functionality. Factors that go into this decision are stability, performance, and availability. As a result developers have a choice between Go native libraries or non-native code. However, today there is little understanding how to consider security implications in this decision. Our work is the first to investigate security implications of choosing between native and non-native libraries for Go programs. We first investigate to what extent popular GitHub projects make use of cgo, revealing that this choice is in fact quite popular. We then design and build a differential fuzzer that can compare native and C/C++ implementations of the same functionality. We implement the fuzzer and test its effectiveness on four popular packages (libcrypto, libpng, libssl, and libz), describing the results and highlighting their security impact. Finally, we present two real-world case studies (anti-virus evasion including the anti-virus scanner included in Gmail plus Certificate Transparency case study) and discuss how our differential fuzzer discovered implementation differences with security impact. Our work has led to changes in Golang zlib which have since shipped.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125531564","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Automatically Detecting Variability Bugs Through Hybrid Control and Data Flow Analysis 基于混合控制和数据流分析的可变性bug自动检测
Pub Date : 2023-05-01 DOI: 10.1109/SPW59333.2023.00022
Kelly Kaoudis, Henrik Brodin, E. Sultanik
Subtle bugs that only manifest in certain software configurations are notoriously difficult to correctly trace. Sometimes called Heisenbugs, these runtime variability flaws can result from invoking undefined behavior in languages like C and C++, or from compiler flaws. In this paper, we present a novel analysis technique for detecting and correctly diagnosing variability bugs' impact on a program through comparing control-affecting data flow across differently compiled program variants. Our UBet prototype dynamically derives a runtime control flow trace while tracing universal data flow for a program processing a given input, operating at a level of tracing completeness not achievable through similar dynamic instrumentation means. Sans compiler bugs or undefined behavior, every compile-time program configuration (i.e., compiler flags vary) should be semantically equivalent. Thus, any input for which a program variant produces inconsistent output indicates a variability bug. Our analysis compares control-affecting data flow traces from disagreeing program version runs to identify related input bytes and determine where in the program the processing variability originates. Though we initially demonstrate our technique on C++ variability bugs in Nitro, the American Department of Defense NITF (National Imagery Transmission Format) reference implementation parser, our approach applies equally to other programs and input types beyond NITF parsers. Finally, we sketch a path toward completing this work and refining our analysis, including evaluating parsers of other input formats.
仅在某些软件配置中出现的细微错误是非常难以正确跟踪的。这些运行时可变性缺陷有时被称为Heisenbugs,可能是由于调用C和c++等语言中未定义的行为或编译器缺陷造成的。在本文中,我们提出了一种新的分析技术,通过比较不同编译的程序变体中影响控制的数据流,来检测和正确诊断可变性错误对程序的影响。我们的UBet原型在跟踪处理给定输入的程序的通用数据流时动态派生出运行时控制流跟踪,其跟踪完整性级别是通过类似的动态仪表手段无法实现的。没有编译器错误或未定义的行为,每个编译时程序配置(即编译器标志不同)应该在语义上是等价的。因此,程序变体产生不一致输出的任何输入都表明存在可变性错误。我们的分析比较了从不一致的程序版本运行中产生的影响控制的数据流痕迹,以识别相关的输入字节,并确定程序中处理可变性的来源。虽然我们最初在Nitro(美国国防部NITF(国家图像传输格式)参考实现解析器)中的c++可变性bug上演示了我们的技术,但我们的方法同样适用于NITF解析器之外的其他程序和输入类型。最后,我们概述了完成这项工作和改进分析的路径,包括评估其他输入格式的解析器。
{"title":"Automatically Detecting Variability Bugs Through Hybrid Control and Data Flow Analysis","authors":"Kelly Kaoudis, Henrik Brodin, E. Sultanik","doi":"10.1109/SPW59333.2023.00022","DOIUrl":"https://doi.org/10.1109/SPW59333.2023.00022","url":null,"abstract":"Subtle bugs that only manifest in certain software configurations are notoriously difficult to correctly trace. Sometimes called Heisenbugs, these runtime variability flaws can result from invoking undefined behavior in languages like C and C++, or from compiler flaws. In this paper, we present a novel analysis technique for detecting and correctly diagnosing variability bugs' impact on a program through comparing control-affecting data flow across differently compiled program variants. Our UBet prototype dynamically derives a runtime control flow trace while tracing universal data flow for a program processing a given input, operating at a level of tracing completeness not achievable through similar dynamic instrumentation means. Sans compiler bugs or undefined behavior, every compile-time program configuration (i.e., compiler flags vary) should be semantically equivalent. Thus, any input for which a program variant produces inconsistent output indicates a variability bug. Our analysis compares control-affecting data flow traces from disagreeing program version runs to identify related input bytes and determine where in the program the processing variability originates. Though we initially demonstrate our technique on C++ variability bugs in Nitro, the American Department of Defense NITF (National Imagery Transmission Format) reference implementation parser, our approach applies equally to other programs and input types beyond NITF parsers. Finally, we sketch a path toward completing this work and refining our analysis, including evaluating parsers of other input formats.","PeriodicalId":308378,"journal":{"name":"2023 IEEE Security and Privacy Workshops (SPW)","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126739685","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
2023 IEEE Security and Privacy Workshops (SPW)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1