Skip to main content

Showing 1–20 of 20 results for author: Liguori, P

Searching in archive cs. Search in all archives.
.
  1. 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

  2. arXiv:2404.07548  [pdf, other

    cs.SE

    DeVAIC: A Tool for Security Assessment of AI-generated Code

    Authors: Domenico Cotroneo, Roberta De Luca, Pietro Liguori

    Abstract: Context: AI code generators are revolutionizing code writing and software development, but their training on large datasets, including potentially untrusted source code, raises security concerns. Furthermore, these generators can produce incomplete code snippets that are challenging to evaluate using current solutions. Objective: This research work introduces DeVAIC (Detection of Vulnerabilities i… ▽ More

    Submitted 11 April, 2024; originally announced April 2024.

  3. arXiv:2404.07491  [pdf, other

    cs.SE

    Neural Fault Injection: Generating Software Faults from Natural Language

    Authors: Domenico Cotroneo, Pietro Liguori

    Abstract: Traditional software fault injection methods, while foundational, face limitations in adequately representing real-world faults, offering customization, and requiring significant manual effort and expertise. This paper introduces a novel methodology that harnesses the capabilities of Large Language Models (LLMs) augmented with Reinforcement Learning from Human Feedback (RLHF) to overcome these cha… ▽ More

    Submitted 11 April, 2024; originally announced April 2024.

    Comments: 2024 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks - Disrupt

  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. 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.

  6. 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

  7. 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.

  8. 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

  9. 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.

  10. 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

  11. 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

  12. 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)

  13. 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

  14. 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

  15. arXiv:2102.10709  [pdf, other

    cs.RO eess.SY

    Design, Integration and Sea Trials of 3D Printed Unmanned Aerial Vehicle and Unmanned Surface Vehicle for Cooperative Missions

    Authors: Hanlin Niu, Ze Ji, Pietro Liguori, Hujun Yin, Joaquin Carrasco

    Abstract: In recent years, Unmanned Surface Vehicles (USV) have been extensively deployed for maritime applications. However, USV has a limited detection range with sensor installed at the same elevation with the targets. In this research, we propose a cooperative Unmanned Aerial Vehicle - Unmanned Surface Vehicle (UAV-USV) platform to improve the detection range of USV. A floatable and waterproof UAV is de… ▽ More

    Submitted 22 February, 2021; v1 submitted 21 February, 2021; originally announced February 2021.

  16. 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

  17. 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

  18. 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)

  19. 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)

  20. 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