Skip to main content

Showing 1–34 of 34 results for author: Natella, R

  1. arXiv:2407.04442  [pdf, other

    cs.CR

    GoSurf: Identifying Software Supply Chain Attack Vectors in Go

    Authors: Carmine Cesarano, Vivi Andersson, Roberto Natella, Martin Monperrus

    Abstract: In Go, the widespread adoption of open-source software has led to a flourishing ecosystem of third-party dependencies, which are often integrated into critical systems. However, the reuse of dependencies introduces significant supply chain security risks, as a single compromised package can have cascading impacts. Existing supply chain attack taxonomies overlook language-specific features that can… ▽ More

    Submitted 5 July, 2024; originally announced July 2024.

  2. arXiv:2407.00125  [pdf, other

    cs.SE cs.AI cs.DC

    A Survey on Failure Analysis and Fault Injection in AI Systems

    Authors: Guangba Yu, Gou Tan, Haojia Huang, Zhenyu Zhang, Pengfei Chen, Roberto Natella, Zibin Zheng

    Abstract: The rapid advancement of Artificial Intelligence (AI) has led to its integration into various areas, especially with Large Language Models (LLMs) significantly enhancing capabilities in Artificial Intelligence Generated Content (AIGC). However, the complexity of AI systems has also exposed their vulnerabilities, necessitating robust methods for failure analysis (FA) and fault injection (FI) to ens… ▽ More

    Submitted 27 June, 2024; originally announced July 2024.

  3. arXiv:2404.12893  [pdf, other

    cs.CR cs.SE

    The Power of Words: Generating PowerShell Attacks from Natural Language

    Authors: Pietro Liguori, Christian Marescalco, Roberto Natella, Vittorio Orbinato, Luciano Pianese

    Abstract: As the Windows OS stands out as one of the most targeted systems, the PowerShell language has become a key tool for malicious actors and cybersecurity professionals (e.g., for penetration testing). This work explores an uncharted domain in AI code generation by automatically generating offensive PowerShell code from natural language descriptions using Neural Machine Translation (NMT). For training… ▽ More

    Submitted 19 April, 2024; originally announced April 2024.

    Comments: 18th USENIX WOOT Conference on Offensive Technologies, GitHub Repo: https://github.com/dessertlab/powershell-offensive-code-generation

  4. AI Code Generators for Security: Friend or Foe?

    Authors: Roberto Natella, Pietro Liguori, Cristina Improta, Bojan Cukic, Domenico Cotroneo

    Abstract: Recent advances of artificial intelligence (AI) code generators are opening new opportunities in software security research, including misuse by malicious actors. We review use cases for AI code generators for security and introduce an evaluation benchmark.

    Submitted 2 February, 2024; originally announced February 2024.

    Comments: Dataset available at: https://github.com/dessertlab/violent-python

    Journal ref: IEEE Security & Privacy, Early Access, February 2024

  5. arXiv:2401.05961  [pdf, other

    cs.CR

    Securing an Application Layer Gateway: An Industrial Case Study

    Authors: Carmine Cesarano, Roberto Natella

    Abstract: Application Layer Gateways (ALGs) play a crucial role in securing critical systems, including railways, industrial automation, and defense applications, by segmenting networks at different levels of criticality. However, they require rigorous security testing to prevent software vulnerabilities, not only at the network level but also at the application layer (e.g., deep traffic inspection componen… ▽ More

    Submitted 11 January, 2024; originally announced January 2024.

  6. Laccolith: Hypervisor-Based Adversary Emulation with Anti-Detection

    Authors: Vittorio Orbinato, Marco Carlo Feliciano, Domenico Cotroneo, Roberto Natella

    Abstract: Advanced Persistent Threats (APTs) represent the most threatening form of attack nowadays since they can stay undetected for a long time. Adversary emulation is a proactive approach for preparing against these attacks. However, adversary emulation tools lack the anti-detection abilities of APTs. We introduce Laccolith, a hypervisor-based solution for adversary emulation with anti-detection to fill… ▽ More

    Submitted 29 April, 2024; v1 submitted 14 November, 2023; originally announced November 2023.

  7. Automating the Correctness Assessment of AI-generated Code for Security Contexts

    Authors: Domenico Cotroneo, Alessio Foggia, Cristina Improta, Pietro Liguori, Roberto Natella

    Abstract: Evaluating the correctness of code generated by AI is a challenging open problem. In this paper, we propose a fully automated method, named ACCA, to evaluate the correctness of AI-generated code for security purposes. The method uses symbolic execution to assess whether the AI-generated code behaves as a reference implementation. We use ACCA to assess four state-of-the-art models trained to genera… ▽ More

    Submitted 8 June, 2024; v1 submitted 28 October, 2023; originally announced October 2023.

  8. Vulnerabilities in AI Code Generators: Exploring Targeted Data Poisoning Attacks

    Authors: Domenico Cotroneo, Cristina Improta, Pietro Liguori, Roberto Natella

    Abstract: AI-based code generators have become pivotal in assisting developers in writing software starting from natural language (NL). However, they are trained on large amounts of data, often collected from unsanitized online sources (e.g., GitHub, HuggingFace). As a consequence, AI models become an easy target for data poisoning, i.e., an attack that injects malicious samples into the training data to ge… ▽ More

    Submitted 9 February, 2024; v1 submitted 4 August, 2023; originally announced August 2023.

    Comments: Accepted for publication at the International Conference on Program Comprehension 2024

  9. arXiv:2306.05079  [pdf, other

    cs.LG cs.CL cs.CR

    Enhancing Robustness of AI Offensive Code Generators via Data Augmentation

    Authors: Cristina Improta, Pietro Liguori, Roberto Natella, Bojan Cukic, Domenico Cotroneo

    Abstract: In this work, we present a method to add perturbations to the code descriptions to create new inputs in natural language (NL) from well-intentioned developers that diverge from the original ones due to the use of new words or because they miss part of them. The goal is to analyze how and to what extent perturbations affect the performance of AI code generators in the context of security-oriented c… ▽ More

    Submitted 1 October, 2023; v1 submitted 8 June, 2023; originally announced June 2023.

  10. Run-time Failure Detection via Non-intrusive Event Analysis in a Large-Scale Cloud Computing Platform

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella

    Abstract: Cloud computing systems fail in complex and unforeseen ways due to unexpected combinations of events and interactions among hardware and software components. These failures are especially problematic when they are silent, i.e., not accompanied by any explicit failure notification, hindering the timely detection and recovery. In this work, we propose an approach to run-time failure detection tailor… ▽ More

    Submitted 18 January, 2023; originally announced January 2023.

    Comments: Paper accepted for publication in The Journal of Systems and Software

  11. Who Evaluates the Evaluators? On Automatic Metrics for Assessing AI-based Offensive Code Generators

    Authors: Pietro Liguori, Cristina Improta, Roberto Natella, Bojan Cukic, Domenico Cotroneo

    Abstract: AI-based code generators are an emerging solution for automatically writing programs starting from descriptions in natural language, by using deep neural networks (Neural Machine Translation, NMT). In particular, code generators have been used for ethical hacking and offensive security testing by generating proof-of-concept attacks. Unfortunately, the evaluation of code generators still faces seve… ▽ More

    Submitted 13 April, 2023; v1 submitted 12 December, 2022; originally announced December 2022.

  12. arXiv:2208.14109  [pdf, other

    cs.DC

    On Temporal Isolation Assessment in Virtualized Railway Signaling as a Service Systems

    Authors: Domenico Cotroneo, Luigi De Simone, Roberto Natella

    Abstract: Railway signaling systems provide numerous critical functions at different safety level, to correctly implement the entire transport ecosystem. Today, we are witnessing the increasing use of the cloud and virtualization technologies in such mixed-criticality systems, with the main goal of reducing costs, improving reliability, while providing orchestration capabilities. Unfortunately, virtualizati… ▽ More

    Submitted 30 August, 2022; originally announced August 2022.

    Comments: 5 pages, The Twentieth International Workshop on Assurance in Distributed Systems and Networks (ADSN 2022)

  13. A Latency-driven Availability Assessment for Multi-Tenant Service Chains

    Authors: Luigi De Simone, Mario Di Mauro, Roberto Natella, Fabio Postiglione

    Abstract: Nowadays, most telecommunication services adhere to the Service Function Chain (SFC) paradigm, where network functions are implemented via software. In particular, container virtualization is becoming a popular approach to deploy network functions and to enable resource slicing among several tenants. The resulting infrastructure is a complex system composed by a huge amount of containers implement… ▽ More

    Submitted 26 August, 2022; originally announced August 2022.

  14. arXiv:2208.12144  [pdf, other

    cs.CR cs.CL cs.LG

    Automatic Mapping of Unstructured Cyber Threat Intelligence: An Experimental Study

    Authors: Vittorio Orbinato, Mariarosaria Barbaraci, Roberto Natella, Domenico Cotroneo

    Abstract: Proactive approaches to security, such as adversary emulation, leverage information about threat actors and their techniques (Cyber Threat Intelligence, CTI). However, most CTI still comes in unstructured forms (i.e., natural language), such as incident reports and leaked documents. To support proactive security efforts, we present an experimental study on the automatic classification of unstructu… ▽ More

    Submitted 25 August, 2022; originally announced August 2022.

    Comments: 2022 IEEE 33rd International Symposium on Software Reliability Engineering (ISSRE)

  15. arXiv:2203.15319  [pdf, ps, other

    cs.CL cs.LG cs.SE

    Can NMT Understand Me? Towards Perturbation-based Evaluation of NMT Models for Code Generation

    Authors: Pietro Liguori, Cristina Improta, Simona De Vivo, Roberto Natella, Bojan Cukic, Domenico Cotroneo

    Abstract: Neural Machine Translation (NMT) has reached a level of maturity to be recognized as the premier method for the translation between different languages and aroused interest in different research areas, including software engineering. A key step to validate the robustness of the NMT models consists in evaluating the performance of the models on adversarial inputs, i.e., inputs obtained from the ori… ▽ More

    Submitted 30 March, 2022; v1 submitted 29 March, 2022; originally announced March 2022.

    Comments: Paper accepted for publication in the proceedings of The 1st Intl. Workshop on Natural Language-based Software Engineering (NLBSE) to be held with ICSE 2022

  16. Can We Generate Shellcodes via Natural Language? An Empirical Study

    Authors: Pietro Liguori, Erfan Al-Hossami, Domenico Cotroneo, Roberto Natella, Bojan Cukic, Samira Shaikh

    Abstract: Writing software exploits is an important practice for offensive security analysts to investigate and prevent attacks. In particular, shellcodes are especially time-consuming and a technical challenge, as they are written in assembly language. In this work, we address the task of automatically generating shellcodes, starting purely from descriptions in natural language, by proposing an approach ba… ▽ More

    Submitted 8 February, 2022; originally announced February 2022.

    Comments: 33 pages, 5 figures, 9 tables. To be published in Automated Software Engineering journal

  17. arXiv:2201.07521  [pdf, other

    cs.SE

    ThorFI: A Novel Approach for Network Fault Injection as a Service

    Authors: Domenico Cotroneo, Luigi De Simone, Roberto Natella

    Abstract: In this work, we present a novel fault injection solution (ThorFI) for virtual networks in cloud computing infrastructures. ThorFI is designed to provide non-intrusive fault injection capabilities for a cloud tenant, and to isolate injections from interfering with other tenants on the infrastructure. We present the solution in the context of the OpenStack cloud management platform, and release thi… ▽ More

    Submitted 20 January, 2022; v1 submitted 19 January, 2022; originally announced January 2022.

    Comments: 21 pages, accepted for publication in Elsevier Journal of Networking and Computer Applications

  18. Software Micro-Rejuvenation for Android Mobile Systems

    Authors: Domenico Cotroneo, Luigi De Simone, Roberto Natella, Roberto Pietrantuono, Stefano Russo

    Abstract: Software aging -- the phenomenon affecting many long-running systems, causing performance degradation or an increasing failure rate over mission time, and eventually leading to failure - is known to affect mobile devices and their operating systems, too. Software rejuvenation -- the technique typically used to counteract aging -- may compromise the user's perception of availability and reliability… ▽ More

    Submitted 13 December, 2021; originally announced December 2021.

    Comments: Accepted for publication in Elsevier Journal of Systems and Software

  19. StateAFL: Greybox Fuzzing for Stateful Network Servers

    Authors: Roberto Natella

    Abstract: Fuzzing network servers is a technical challenge, since the behavior of the target server depends on its state over a sequence of multiple messages. Existing solutions are costly and difficult to use, as they rely on manually-customized artifacts such as protocol models, protocol parsers, and learning frameworks. The aim of this work is to develop a greybox fuzzer (StateaAFL) for network servers t… ▽ More

    Submitted 4 October, 2022; v1 submitted 12 October, 2021; originally announced October 2021.

    Comments: The tool is available at https://github.com/stateafl/stateafl

    Journal ref: Empir Software Eng 27, 191 (2022)

  20. EVIL: Exploiting Software via Natural Language

    Authors: Pietro Liguori, Erfan Al-Hossami, Vittorio Orbinato, Roberto Natella, Samira Shaikh, Domenico Cotroneo, Bojan Cukic

    Abstract: Writing exploits for security assessment is a challenging task. The writer needs to master programming and obfuscation techniques to develop a successful exploit. To make the task easier, we propose an approach (EVIL) to automatically generate exploits in assembly/Python language from descriptions in natural language. The approach leverages Neural Machine Translation (NMT) techniques and a dataset… ▽ More

    Submitted 1 September, 2021; originally announced September 2021.

    Comments: Paper accepted at the 32nd International Symposium on Software Reliability Engineering (ISSRE 2021)

  21. Enhancing the Analysis of Software Failures in Cloud Computing Systems with Deep Learning

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella

    Abstract: Identifying the failure modes of cloud computing systems is a difficult and time-consuming task, due to the growing complexity of such systems, and the large volume and noisiness of failure data. This paper presents a novel approach for analyzing failure data from cloud systems, in order to relieve human analysts from manually fine-tuning the data for feature engineering. The approach leverages De… ▽ More

    Submitted 29 June, 2021; originally announced June 2021.

    Comments: Paper accepted to the Journal of Systems and Software on June 28th, 2021

  22. Timing Covert Channel Analysis of the VxWorks MILS Embedded Hypervisor under the Common Criteria Security Certification

    Authors: Domenico Cotroneo, Luigi De Simone, Roberto Natella

    Abstract: Virtualization technology is nowadays adopted in security-critical embedded systems to achieve higher performance and more design flexibility. However, it also comes with new security threats, where attackers leverage timing covert channels to exfiltrate sensitive information from a partition using a trojan. This paper presents a novel approach for the experimental assessment of timing covert ch… ▽ More

    Submitted 28 April, 2021; originally announced April 2021.

    Comments: To appear on Computers & Security

  23. Shellcode_IA32: A Dataset for Automatic Shellcode Generation

    Authors: Pietro Liguori, Erfan Al-Hossami, Domenico Cotroneo, Roberto Natella, Bojan Cukic, Samira Shaikh

    Abstract: We take the first step to address the task of automatically generating shellcodes, i.e., small pieces of code used as a payload in the exploitation of a software vulnerability, starting from natural language comments. We assemble and release a novel dataset (Shellcode_IA32), consisting of challenging but common assembly instructions with their natural language descriptions. We experiment with stan… ▽ More

    Submitted 18 March, 2022; v1 submitted 27 April, 2021; originally announced April 2021.

    Comments: Paper accepted to NLP4Prog Workshop 2021 co-located with ACL-IJCNLP 2021. Extended journal version of this work has been published in the Automated Software Engineering journal, Volume 29, Article no. 30, March 2022, DOI: 10.1007/s10515-022-00331-3

  24. arXiv:2101.05102  [pdf, other

    cs.CR cs.NI cs.SE

    ProFuzzBench: A Benchmark for Stateful Protocol Fuzzing

    Authors: Roberto Natella, Van-Thuan Pham

    Abstract: We present a new benchmark (ProFuzzBench) for stateful fuzzing of network protocols. The benchmark includes a suite of representative open-source network servers for popular protocols, and tools to automate experimentation. We discuss challenges and potential directions for future research based on this benchmark.

    Submitted 13 January, 2021; originally announced January 2021.

    Comments: The source code of ProFuzzBench is available online on GitHub at: https://github.com/profuzzbench/profuzzbench

  25. Towards Runtime Verification via Event Stream Processing in Cloud Computing Infrastructures

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella, Angela Scibelli

    Abstract: Software bugs in cloud management systems often cause erratic behavior, hindering detection, and recovery of failures. As a consequence, the failures are not timely detected and notified, and can silently propagate through the system. To face these issues, we propose a lightweight approach to runtime verification, for monitoring and failure detection of cloud computing systems. We performed a prel… ▽ More

    Submitted 13 October, 2020; originally announced October 2020.

    Comments: International Workshop on Artificial Intelligence for IT Operations, 14 December 2020

  26. Fault Injection Analytics: A Novel Approach to Discover Failure Modes in Cloud-Computing Systems

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella

    Abstract: Cloud computing systems fail in complex and unexpected ways due to unexpected combinations of events and interactions between hardware and software components. Fault injection is an effective means to bring out these failures in a controlled environment. However, fault injection experiments produce massive amounts of data, and manually analyzing these data is inefficient and error-prone, as the an… ▽ More

    Submitted 30 September, 2020; originally announced October 2020.

    Comments: IEEE Transactions on Dependable and Secure Computing; 16 pages. arXiv admin note: text overlap with arXiv:1908.11640

  27. arXiv:2008.06943  [pdf, other

    cs.SE

    Dependability Evaluation of Middleware Technology for Large-scale Distributed Caching

    Authors: Domenico Cotroneo, Roberto Natella, Stefano Rosiello

    Abstract: Distributed caching systems (e.g., Memcached) are widely used by service providers to satisfy accesses by millions of concurrent clients. Given their large-scale, modern distributed systems rely on a middleware layer to manage caching nodes, to make applications easier to develop, and to apply load balancing and replication strategies. In this work, we performed a dependability evaluation of three… ▽ More

    Submitted 18 August, 2020; v1 submitted 16 August, 2020; originally announced August 2020.

    Comments: 2020 IEEE 31st International Symposium on Software Reliability Engineering (ISSRE 2020)

  28. arXiv:2005.11523  [pdf, other

    cs.SE cs.PF

    A Comprehensive Study on Software Aging across Android Versions and Vendors

    Authors: Domenico Cotroneo, Antonio Ken Iannillo, Roberto Natella, Roberto Pietrantuono

    Abstract: This paper analyzes the phenomenon of software aging - namely, the gradual performance degradation and resource exhaustion in the long run - in the Android OS. The study intends to highlight if, and to what extent, devices from different vendors, under various usage conditions and configurations, are affected by software aging and which parts of the system are the main contributors. The results de… ▽ More

    Submitted 23 May, 2020; originally announced May 2020.

  29. ProFIPy: Programmable Software Fault Injection as-a-Service

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella

    Abstract: In this paper, we present a new fault injection tool (ProFIPy) for Python software. The tool is designed to be programmable, in order to enable users to specify their software fault model, using a domain-specific language (DSL) for fault injection. Moreover, to achieve better usability, ProFIPy is provided as software-as-a-service and supports the user through the configuration of the faultload an… ▽ More

    Submitted 11 May, 2020; originally announced May 2020.

    Comments: 50th IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2020)

  30. Dependability Assessment of the Android OS through Fault Injection

    Authors: Domenico Cotroneo, Antonio Ken Iannillo, Roberto Natella, Stefano Rosiello

    Abstract: The reliability of mobile devices is a challenge for vendors, since the mobile software stack has significantly grown in complexity. In this paper, we study how to assess the impact of faults on the quality of user experience in the Android mobile OS through fault injection. We first address the problem of identifying a realistic fault model for the Android OS, by providing to developers a set of… ▽ More

    Submitted 7 December, 2019; originally announced December 2019.

    Journal ref: IEEE Transactions on Reliability, 2019

  31. Enhancing Failure Propagation Analysis in Cloud Computing Systems

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella, Nematollah Bidokhti

    Abstract: In order to plan for failure recovery, the designers of cloud systems need to understand how their system can potentially fail. Unfortunately, analyzing the failure behavior of such systems can be very difficult and time-consuming, due to the large volume of events, non-determinism, and reuse of third-party components. To address these issues, we propose a novel approach that joins fault injection… ▽ More

    Submitted 30 August, 2019; originally announced August 2019.

    Comments: 12 pages, The 30th International Symposium on Software Reliability Engineering (ISSRE 2019)

  32. arXiv:1908.11297  [pdf, other

    cs.SE

    Analyzing the Context of Bug-Fixing Changes in the OpenStack Cloud Computing Platform

    Authors: Domenico Cotroneo, Luigi De Simone, Antonio Ken Iannillo, Roberto Natella, Stefano Rosiello, Nematollah Bidokhti

    Abstract: Many research areas in software engineering, such as mutation testing, automatic repair, fault localization, and fault injection, rely on empirical knowledge about recurring bug-fixing code changes. Previous studies in this field focus on what has been changed due to bug-fixes, such as in terms of code edit actions. However, such studies did not consider where the bug-fix change was made (i.e., th… ▽ More

    Submitted 29 August, 2019; originally announced August 2019.

    Comments: 14 pages, The 30th International Symposium on Software Reliability Engineering (ISSRE 2019)

  33. How Bad Can a Bug Get? An Empirical Analysis of Software Failures in the OpenStack Cloud Computing Platform

    Authors: Domenico Cotroneo, Luigi De Simone, Pietro Liguori, Roberto Natella, Nematollah Bidokhti

    Abstract: Cloud management systems provide abstractions and APIs for programmatically configuring cloud infrastructures. Unfortunately, residual software bugs in these systems can potentially lead to high-severity failures, such as prolonged outages and data losses. In this paper, we investigate the impact of failures in the context widespread OpenStack cloud management system, by performing fault injection… ▽ More

    Submitted 9 July, 2019; originally announced July 2019.

    Comments: 12 pages, ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE '19)

    Journal ref: ESEC/FSE 2019 Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering Pages 200-211

  34. Evolutionary Fuzzing of Android OS Vendor System Services

    Authors: Domenico Cotroneo, Antonio Ken Iannillo, Roberto Natella

    Abstract: Android devices are shipped in several flavors by more than 100 manufacturer partners, which extend the Android "vanilla" OS with new system services, and modify the existing ones. These proprietary extensions expose Android devices to reliability and security issues. In this paper, we propose a coverage-guided fuzzing platform (Chizpurfle) based on evolutionary algorithms to test proprietary Andr… ▽ More

    Submitted 3 June, 2019; originally announced June 2019.