Review of Generative AI Methods in Cybersecurity
Cyber Threat Intelligence (CTI)
사이버 공격 예시))
Offensive Cyber Operations (OCO) code
automated hacking -
PentestGPT(https://arxiv.org/abs/2308.06782
PentestGPT: An LLM-empowered Automatic Penetration Testing Tool
Penetration testing, a crucial industrial practice for ensuring system security, has traditionally resisted automation due to the extensive expertise required by human professionals. Large Language Models (LLMs) have shown significant advancements in vario
arxiv.org
An LLM-empowered Automatic Penetration Testing Tool
), GP(en)T(ester), Pentest Reporter https://chatgpt.com/g/g-zQfyABDUJ-gp-en-t-ester
ChatGPT - GP(en)T(ester)
A cybersec assistant for pentesting guidance.
chatgpt.com
위의가 건설적인 사례엿다면 (penetration test를 위한)
WolfGPT, XXXGPT, and WormGPT 등은 진짜 해킹을 위한 파인튜닝된 LLM
If fine-tuned to identify vulnerabilities, craft exploitation strategies, and execute those strategies, these models could potentially pose significant threats to cybersecurity
phishing emails -
https://arxiv.org/abs/2309.10463
Exploring the Dark Side of AI: Advanced Phishing Attack Design and Deployment Using ChatGPT
This paper explores the possibility of using ChatGPT to develop advanced phishing attacks and automate their large-scale deployment. We make ChatGPT generate the following parts of a phishing attack: i) cloning a targeted website, ii) integrating code for
arxiv.org
Advanced Phishing Attack Design and Deployment Using ChatGP
- 웹사이트 클로닝 (Website Cloning): 기존 웹사이트를 복제하여 동일하거나 유사한 웹사이트를 만드는 과정.
- 자격 증명 탈취 코드 통합 (Credential Theft Code Integration): 사용자 이름, 비밀번호 등의 자격 증명을 탈취하기 위한 악성 코드를 웹사이트에 통합하는 것.
- 코드 난독화 (Code Obfuscation): 소스 코드를 읽기 어렵게 변형하여 악의적인 코드나 중요한 로직을 숨기는 기법.
- 자동 배포 (Automated Deployment): 코드를 자동으로 서버에 배포하고 설정하는 과정.
- 도메인 등록 (Domain Registration): 웹사이트를 호스팅할 도메인 이름을 등록하는 절차.
- 리버스 프록시 통합 (Reverse Proxy Integration): 클라이언트 요청을 여러 서버에 분산시키거나 특정 서버로 전달하기 위해 리버스 프록시를 설정하고 통합하는 과정
social engineering - 사용자가 개인정보 혹은 보안관련 행위를 하게 만듦
creating attack payloads -
GPT-4의 현재 능력을 검토한 결과, 페이로드 생성 및 이를 PDF에 삽입하는 작업(예: 리버스 프록시를 사용하는 경우)에 있어 높은 숙련도를 확인했습니다(그림 10). 다음은 GPT-4가 성공적으로 페이로드 코드를 생성하는 데 사용한 프레임워크와 그 주요 기능을 요약한 것입니다:
- Veil-Framework: 일반적인 안티바이러스 솔루션을 우회하는 페이로드를 생성하는 도구입니다.
- TheFatRat: exe, apk 등 다양한 형태의 악성코드를 생성할 수 있는 포괄적인 도구로, 인기 있는 페이로드 생성기와 함께 악성코드를 컴파일합니다.
- Pupy: Windows, Linux, macOS, Android를 지원하는 오픈 소스 크로스 플랫폼 원격 관리 및 포스트 익스플로잇 도구입니다.
- Shellter: 네이티브 Windows 응용 프로그램에 셸코드를 삽입하는 동적 셸코드 주입 도구입니다.
- Powersploit: 침투 테스터가 다양한 평가 단계에서 도움을 받을 수 있도록 설계된 Microsoft PowerShell 모듈 모음입니다.
- Metasploit: 일반적으로 침투 테스트 및 보안 연구에서 사용되는 익스플로잇 코드를 개발, 테스트 및 구현하는 데 사용되는 정교한 오픈 소스 프레임워크입니다.
creating malware
Gupta 등[32]은 DAN 탈옥을 이용하여 잠재적인 랜섬웨어 코드 예제를 얻을 수 있었다고 언급했습니다. 우리는 [48]에 설명된 모든 기존 DAN 기술을 테스트했습니다. 우리의 연구 당시, 이러한 기술은 더 이상 작동하지 않았기 때문에 [32]에서 언급된 WannaCry, Ryuk, REvil, Locky의 샘플을 재현할 수 없었습니다. 그러나 우리는 기본적인 코드 난독화 기법(예: 이름 변경 및 제어 흐름 평탄화)을 적용하여 그림 11에 표시된 교육용 랜섬웨어 코드를 생성했습니다. ChatGPT는 사이버 보안 커뮤니티로부터 상당한 주목을 받았고, 이로 인해 강력한 필터가 구현되었습니다. 그럼에도 불구하고, 중국의 01.ai[49]와 같은 다른 모델들이 악성 코드 생성을 악용할 가능성을 줄이는 데 있어 동일한 기회를 가질 것이라고는 할 수 없습니다.
MITRE 전략은 사이버 보안에서 위협을 식별하고 대응하는 데 사용되는 주요 프레임워크입니다. MITRE는 미국의 비영리 기관으로, 주로 두 가지 주요 프로젝트인 MITRE ATT&CK와 MITRE CVE를 통해 사이버 보안 분야에서 널리 알려져잇다
- MITRE ATT&CK:
- 목적: 사이버 공격자가 사용하는 전술과 기법을 체계적으로 문서화한 지식 기반입니다.
- 구성:
- 전술 (Tactics): 공격자가 달성하고자 하는 높은 수준의 목표 (예: 초기 접근, 지속성 유지, 권한 상승 등).
- 기법 (Techniques): 공격자가 전술을 달성하기 위해 사용하는 구체적인 방법 (예: 피싱, 취약점 악용, 자격 증명 덤핑 등).
- 절차 (Procedures): 공격자들이 기술을 실행하는 세부적인 방법.
- 활용: 조직은 MITRE ATT&CK를 사용하여 공격 표면을 분석하고, 침해 탐지와 대응 계획을 수립하며, 보안 훈련과 모의 침투 테스트를 수행합니다.
- MITRE CVE (Common Vulnerabilities and Exposures):
- 목적: 공개적으로 알려진 소프트웨어 취약점을 식별하고, 고유한 CVE ID를 부여하여 일관된 참조를 제공합니다.
- 구성:
- CVE ID: 각 취약점에 할당된 고유 식별자.
- 취약점 정보: 취약점의 상세 설명, 영향을 받는 시스템, 해결 방법 등에 대한 정보.
- 활용: 보안 전문가와 소프트웨어 개발자는 CVE 목록을 참조하여 시스템의 취약점을 파악하고 패치 또는 완화 조치를 수행합니다.
Cybersecurity Reporting
https://arxiv.org/abs/2310.02655
AGIR: Automating Cyber Threat Intelligence Reporting with Natural Language Generation
Cyber Threat Intelligence (CTI) reporting is pivotal in contemporary risk management strategies. As the volume of CTI reports continues to surge, the demand for automated tools to streamline report generation becomes increasingly apparent. While Natural La
arxiv.org
4.4 안전한 코드 생성 및 감지
사이버 보안을 위한 코드 분석에서 머신 러닝의 활용 최근 NLP의 발전은 ChatGPT 및 GPT-4와 같은 강력한 언어 모델을 포함한 GPT 시리즈의 등장을 이끌어냈습니다. 전통적으로 SAST는 정적 코드 분석(SCA)을 사용하여 잠재적인 보안 취약점을 감지하는 방법입니다. 우리는 SAST나 GPT가 취약성 윈도우(vulnerability window)를 줄이는 데 더 효율적일 수 있는지 여부에 관심이 있습니다. 취약성 윈도우는 가장 취약한 시스템이 패치를 적용하는 시간에서 익스플로잇이 활성화되는 시간을 뺀 기간으로 정의됩니다.( when the most vulnerable systems apply the patch minus the time an exploit becomes active )
일부 국가에서는 중국과 같이 제로데이에 대한 보고를 금지하는 법률이 있으며
제로데이(Zero-Day)란 소프트웨어 또는 하드웨어의 보안 취약점이 발견된 후 이를 해결하기 위한 패치가 배포되기 전에, 즉 벤더가 그 취약점을 인지하고 패치를 내놓기 전에, 해당 취약점을 악용하는 공격을 의미합니다. 이 용어는 두 가지 주요 의미를 가지고 있습니다
패치(Patch)
패치는 소프트웨어의 결함이나 버그, 보안 취약점을 수정하기 위해 배포되는 소프트웨어 업데이트입니다. 패치는 다음과 같은 다양한 문제를 해결하는 데 사용됩니다:
- 버그 수정: 소프트웨어의 오류나 결함을 수정합니다.
- 보안 취약점 수정: 발견된 보안 문제를 해결하여 해커가 시스템에 침입하거나 데이터를 탈취하는 것을 방지합니다.
- 기능 향상: 소프트웨어의 성능을 개선하거나 새로운 기능을 추가합니다.
- 호환성 문제 해결: 다른 소프트웨어나 하드웨어와의 호환성을 개선합니다.
패치는 일반적으로 소프트웨어 제작사가 공식적으로 배포하며, 사용자들은 이를 설치하여 소프트웨어를 최신 상태로 유지하고 보안을 강화할 수 있습니다.
벤더(Vendor)
벤더는 특정 제품이나 서비스를 제공하는 회사나 단체를 의미합니다. 소프트웨어 산업에서 벤더는 소프트웨어를 개발하고 판매하는 회사를 지칭합니다. 예를 들어, Microsoft는 Windows 운영 체제와 Office 소프트웨어의 벤더입니다. 벤더는 다음과 같은 역할을 수행합니다:
- 소프트웨어 개발: 제품을 설계하고 코드를 작성하며 테스트합니다.
- 제품 배포: 개발된 소프트웨어를 시장에 출시하고 판매합니다.
- 지원 및 유지 보수: 고객에게 기술 지원을 제공하고 소프트웨어 업데이트 및 패치를 배포합니다.
- 보안 관리: 보안 취약점을 모니터링하고 이를 해결하기 위한 패치를 제공합니다.
벤더는 소프트웨어의 품질과 보안을 유지하기 위해 지속적으로 제품을 개선하고 관리하는 책임이 있습니다
Tianfu Cup과 같은 대회는 제로데이를 체계적으로 찾아내기 위한 노력으로, 제로데이 발견이 계속해서 증가하고 있습니다【65】. 따라서, 특히 취약성 확인이 검증되지 않으면 이 조건이 제 때 충족되지 않을 수 있습니다. 제로데이가 중요한 인프라에 사용되면 넓은 취약성 윈도우가 국가 안보를 위협합니다. DARPA는 이러한 위협을 극복하는 데 도움이 될 중요한 과제(AIxCC)를 도입했습니다【66】. 더욱이, 이 주제는 BSI 연구의 일부와 관련이 있으며【67, 68】, 사이버 보안 버그를 위한 소프트웨어 테스트의 두 가지 주요 분류를 정의할 수 있습니다:
- SAST: 종종 화이트 박스 테스트라고 불리며, 소스 코드를 분석하는 알고리즘과 기술의 집합입니다. 개발 중 숨겨진 오류나 불량 소스 코드와 같은 취약점을 감지하기 위해 런타임 환경이 아닌 자동으로 작동합니다.
- 동적 애플리케이션 보안 테스트(DAST): 반대 접근 방식을 따르며 프로그램이 실행되는 동안 분석합니다. 각 코드 줄을 확인할 때 변수의 값으로 함수를 호출하고 가능한 분기 시나리오를 추측합니다. 현재, GPT-4 및 기타 LLM은 런타임 내에서 코드가 실행되어야 하므로 DAST 기능을 제공할 수 없으며, 이를 위해 많은 배포 고려 사항이 필요합니다.
4.5 Vulnerability Detection and Repair
https://arxiv.org/pdf/2305.12138 등[70]의 연구 요약
Wei Ma 등은 ChatGPT가 코드 및 문서 생성과 같은 소프트웨어 공학(SE) 작업에서 인상적인 잠재력을 보여주지만, SE의 높은 신뢰성 요구 사항을 고려할 때 해석 가능성 부족이 우려된다고 지적했습니다. 그들은 상세한 연구를 통해 SE에 필요한 AI의 핵심 기술을 구문 이해, 정적 동작 이해, 동적 동작 이해로 분류했습니다. C, Java, Python, Solidity와 같은 언어를 아우르는 평가에서 ChatGPT는 구문 이해(추상 구문 트리 파서와 유사)에 뛰어나지만 동적 의미를 이해하는 데 어려움을 겪는 것으로 나타났습니다. 또한 ChatGPT는 환각에 취약하므로 SE의 신뢰성을 위해 그 출력물을 검증해야 한다고 강조하며, LLM에서 생성된 코드가 구문적으로는 맞지만 잠재적으로 취약할 수 있다고 언급했습니다.
https://arxiv.org/pdf/2308.00245 등[71]의 연구 요약
Haonan Li 등은 소프트웨어 버그 식별을 위한 정적 분석에서 정밀도와 확장성을 균형 있게 유지하는 과제를 논의했습니다. LLM이 코드 이해 및 디버깅에 잠재력을 보이지만, 복잡한 버그 논리를 처리하는 데는 한계가 있음을 지적했습니다. 연구자들은 LLM을 정적 분석을 보완하는 도구로 사용할 것을 제안했습니다. 그들의 연구는 정적 분석 도구와 LLM을 결합하여 사용 초기화 전 사용(UBI) 버그를 해결하는 자동화 시스템인 LLift를 소개했습니다. 다양한 도전 과제에도 불구하고 LLift는 실제 UBI 버그에서 높은 정밀도(50%)와 재현율(100%)을 보였으며, 리눅스 커널에서 13개의 새로운 UBI 버그를 발견하는 데 성공했습니다.
https://arxiv.org/pdf/2307.02192 등[72]의 연구 요약
Norbert Tihani 등은 GPT-3.5-turbo가 생성한 112,000개의 C 프로그램과 취약성 분류를 포함하는 FormAI 데이터셋을 소개했습니다. 이 프로그램들은 네트워크 관리 및 암호화와 같은 복잡한 작업부터 문자열 작업과 같은 간단한 작업에 이르기까지 다양합니다. 각 프로그램은 식별된 취약성의 유형, 줄 번호 및 취약한 기능을 표시하여 레이블이 지정되었습니다. 정확한 취약성 감지를 위해 Efficient SMT-based Bounded Model Checker (ESBMC)가 사용되었습니다. 이 방법은 모델 검증 및 제약 프로그래밍과 같은 기술을 활용하여 프로그램의 안전성을 분석합니다. 각 취약성은 해당하는 공통 취약성 분류(CWE) 번호를 참조합니다.
Mark 등[73]의 연구 요약 - 2021년 데이터셋
GitHub 데이터를 사용하여 코드 생성을 연구한 Mark 등은 Codex를 소개했으며, 이는 GPT 언어 모델의 중요한 발전입니다. GitHub Copilot은 이 개선된 모델을 기반으로 작동합니다. HumanEval 데이터셋을 사용한 평가에서 Codex는 28.8%의 성공률을 기록했습니다. GPT-J는 11.4%, GPT-3는 0%의 성공률을 보였습니다. 특히 문제당 100개의 샘플을 제공할 경우 성공률이 70.2%로 증가했습니다. 이러한 긍정적인 결과에도 불구하고, Codex는 여전히 복잡한 문서 설명 및 변수 바인딩 절차에서 어려움을 겪고 있습니다. 이 기사는 이러한 강력한 코드 생성 기술의 안전성, 보안성 및 재정적 영향과 같은 더 넓은 의미를 논의합니다.
https://arxiv.org/pdf/2304.07232 등[74]의 연구 요약
기술 평가에서 Cheshkov 등은 ChatGPT 및 GPT-3 모델이 다른 코드 기반 작업에서 성공적이지만, 특정 도전 과제에서는 더미 분류기와 성능이 동일하다고 발견했습니다. GitHub 리포지토리에서 소스된 Java 파일 데이터셋을 사용한 연구는 이러한 모델의 현재 취약성 탐지 도메인 한계를 강조했습니다. 그러나 연구진은 GPT-4와 같은 모델이 향후 연구를 통해 취약성 탐지 분야에 중요한 기여를 할 수 있을 것으로 낙관하고 있습니다.
Xin Liu 등[75]의 연구 요약
Xin Liu 등은 취약성 설명 매핑(VDM) 작업에서 ChatGPT의 잠재력을 조사한 종합 연구를 수행했습니다. VDM은 취약성을 CWE 및 MITRE ATT&CK 기법 분류에 효율적으로 매핑하는 데 중요합니다. 연구 결과, ChatGPT는 고품질의 공개 데이터로 작업할 때 취약성에서 CWE로 매핑하는 작업에서 인간 전문가의 능력에 근접했지만, 공개 데이터 품질이 낮을 때는 취약성에서 ATT&CK로 매핑하는 작업에서 성능이 저하되었습니다. 결국 Xin Liu 등은 ChatGPT가 유망한 성과를 보였지만, 전문 보안 엔지니어의 중요한 전문 지식을 대체할 수는 없으며, 폐쇄형 LLM이 VDM 작업의 결정적인 해결책이 아니라고 주장했습니다.
safe code development
threat intelligence
cyberattack detection
yandexgpt
해킹사례
XiaoIce
Microsoft’s chatbot Tay
MIT’s Norman 싸이코패스gpt
https://ieeexplore.ieee.org/document/10427923
building honeypots, improving code security, abuse in malware development, investigating vulnerabilities, spreading misinformation, cyberattacks on industrial systems, modifying the cyber threat environment, modifying cybersecurity techniques, and evolution of humancentric training.