[연구] 김형식 교수 연구실(보안공학연구실, SecLab), IEEE Symposium on Security and Privacy (S&P) 2024 논문 게재 승인
- 소프트웨어융합대학
- 조회수4094
- 2023-10-31
보안공학 연구실 (지도교수: 김형식, https://seclab.skku.edu)의 오상학(박사과정), 이기호(석사과정), 박선혜(석사과정) 학생과 김형식 교수가 진행한 "Poisoned ChatGPT Finds Work for Idle Hands: Exploring Developers' Coding Practices with Insecure Suggestions from Poisoned AI Models"논문이 컴퓨터 보안 분야에서 최우수 학술대회(IF=4)인 IEEE Symposium on Security and Privacy (S&P) 2024에 게재 승인되었습니다. 본 연구는 미국 테네시 대학교의 김두원 교수님과 공동 연구로 진행되었습니다.
본 논문은 ChatGPT 혹은 GitHub Copilot과 같은 AI 코딩 어시스턴트 툴에서 발생할 수 있는 공격인 포이즈닝 공격에 대한 개발자들의 인식을 분석하고, 더 나아가 실제 개발자들이 포이즈닝 공격을 접했을 때 이를 어떻게 대처하는지에 대한 개발자들의 코딩 패턴을 분석한 연구입니다. 이를 위해, 실제 소프트웨어 개발자들을 모집하여 온라인 사용자 스터디와 In-lab 스터디를 진행하였으며, In-lab 스터디에서는 일반 개발자와 보안 지식이 있는 개발자를 각각 모집하여 실험을 진행하였습니다. 주요 결과로, IntelliCode와 같은 형태의 AI 코딩 어시스턴트 툴을 사용하거나 툴이 없는 환경일 때보다, ChatGPT와 같은 형태의 툴을 사용하는 환경에서 포이즈닝 공격을 통해 취약한 코드가 개발자에서 제안되었을 때, 개발자들이 좀더 취약한 코드를 생성하는 경향을 보이는 결과를 보였습니다.
Abstract.
AI-powered coding assistant tools (e.g., ChatGPT, Copilot, and IntelliCode) have revolutionized the software engineering ecosystem. However, prior work has demonstrated that these tools are vulnerable to poisoning attacks. In a poisoning attack, an attacker intentionally injects maliciously-crafted insecure code snippets into training datasets to manipulate these tools. The poisoned tools can suggest insecure code to developers, resulting in vulnerabilities in their products that attackers can exploit. However, it is still little understood whether such poisoning attacks against the tools would be practical in real-world settings and how developers address the poisoning attacks during software development. To better understand the feasibility of poisoning attacks against AI-powered coding assistant tools, we designed two user studies: an online survey and an in-lab study. The online survey was conducted with 241 software developers. The survey results showed developers widely adopted these tools to enhance coding speed, eliminate repetition, and gain boilerplate code. However, the survey also found developers may misplace trust in these tools because they overlooked the risk of poisoning attacks. The in-lab study was conducted with 30 professional developers. The developers were asked to complete three programming tasks with a representative type of AI-powered coding assistant tool like ChatGPT or IntelliCode running on Visual Studio Code. The in-lab study results showed that developers using a poisoned ChatGPT-like tool were more prone to including insecure code than those using an IntelliCode-like tool or no tool. This demonstrates the strong influence of these tools on the security of generated code. Our study results highlight the need for education and improved coding practices to address new security issues introduced by AI-powered coding assistant tools.