솔직히 말해서, 소프트웨어 개발자들이 반드시 가장 포괄적인 교육을 받는 것은 아닙니다. 그래서 그들은 때때로 인간보다 더 빠른 속도로 일해야 한다는 압박감을 느끼며, 안전하지 않은 코드를 작성하기도 합니다. 이제 AI 시대에 접어들면서, 개발자들은 코드 스니펫을 더 빠르게 생성해 주는 도구에 더 많이 의존하고 있으며, 그들—사실은 우리 모두—은 사람이 직접 작성한 코드보다 그런 도구가 생성한 코드를 더 신뢰하는 경향이 있습니다.
그러한 속도와 신뢰는 앱 보안에 있어 좋은 조합이 아닙니다.
의 대규모 언어 모델(LLM) 및 생성형 AI(GenAI) 덕분에 코드 개발 속도가 빨라지면서, 취약점 발생 속도도 함께 가속화되고 있으며, 이는 현재 보안 테스트, 취약점 수정 및 스마트 AI 거버넌스에 수많은 새로운 과제를 야기하고 있습니다.
블랙햇 USA 2024이 다가오면서 가장 기대되는 세션 중 하나는 “: HAL에서 HALT까지: GenAI 코딩 시대에 스카이넷의 형제들을 저지하기"”로, 애플리케이션 보안 분야의 저명한 리더이자 베라코드(Veracode)의 공동 창립자인 크리스 와이소팔(Chris Wysopal, )이 발표할 예정입니다.
블랙햇 USA 2024이 열리기 직전 진행된 단독 브리핑에서, ‘ ’의 담당자인 은 Wysopal과 만나 그가 세션에서 다룰 주요 주제에 대해 이야기를 나누었습니다. 다음은 이번 대화를 통해 얻은 주요 통찰 사항들로, 참가자들이 생성형 AI와 사이버 보안의 융합에 대해 무엇을 배울 수 있을지 미리 엿볼 수 있게 해줍니다.
이 인터뷰는 분량과 이해도를 높이기 위해 약간 편집되었습니다.
귀하의 블랙햇 세션에서는 의 HAL 와 의 스카이넷 등, AI와 관련된 할리우드 영화 중 가장 악명 높은 장면들을 언급하고 있습니다. 아놀드 슈워제네거가 우리 사무실에 들이닥치지 않는 한, 과연 우리에게 얼마나 큰 변화가 찾아올 것이라고 생각하시나요?
이번 세션의 목적은 LLM으로 생성된 코드가 오늘날 LLM의 가장 주요한 활용 사례 중 하나일 가능성이 높다는 점에 대해 논의하는 것입니다. 점점 성장하고 있으며 놀라울 정도로 큰 잠재력을 지니고 있습니다. 이는 소프트웨어 개발 방식을 바꿔 놓을 것입니다.
”LLM으로 생성된 코드는 아마도 오늘날 LLM의 가장 큰 활용 분야 중 하나일 것입니다. 이 분야는 성장하고 있으며 놀라울 정도로 큰 잠재력을 지니고 있습니다.”
애플리케이션 보안 분야에서 25 년 넘게 일해 온 저로서는, 이것이 소프트웨어 개발에 있어 엄청난 변화라고 생각합니다. 일반적으로 소프트웨어 개발에 변경 사항이 생기면 애플리케이션 보안에도 변화가 따릅니다. 자, 이번 강연은 생성형 AI, 즉 생성된 코드가 애플리케이션 보안을 어떻게 변화시킬지에 대해 다룰 것입니다.
[함께 읽어보세요: 미루는 습관이 있는 사람을 위한 ‘Black Hat USA 2024 ’ 가이드 – 그리고 나중에 시청하는 방법]
LLM이 생성한 코드가 사람이 작성한 코드만큼 보안상 취약할 수 있다고 언급하셨습니다. ChatGPT나 Microsoft Copilot과 같은 도구에 의존하는 기업들에게 이는 어떤 의미를 갖게 될까요?
스탠퍼드, 우한대학교, 카네기멜론대학교에서 이 문제를 다룬 몇 가지 연구가 있는데, 이 연구들은 기본적으로 이러한 대규모 언어 모델(LLM)이 생성하는 코드가 사람이 작성한 코드만큼이나 보안상 취약하다는 사실을 밝혀냈다. 쓰레기를 넣으면 쓰레기가 나온다. 무언가를 하는 방법을 한 가지 방식으로 배웠다면, 아마도 그 방식대로 하게 될 것입니다. 그러니까, 그게 일종의 기본 출발점이라고 할 수 있겠네요. 그러면, 음, 이걸 어떻게 해야 할까?
기업들은 어떻게 GenAI를 활용하여 이점을 얻는 동시에 안전한 소프트웨어 개발을 보장할 수 있을까요?
[코드 작성 방법을] 파운데이션 모델에 학습시키는 대신, 해당 모델을 미세 조정하고 어떤 코드가 잘못된 예인지에 대한 사례를 제공할 수 있습니다. 만약 이런 형편없는 코드를 보고 ‘제대로 된 코드를 작성하라’는 지시를 받았다면, 바로 이것이 제대로 된 코드일 것입니다.
“[파운데이션 모델을] 코드 작성 방법에 대해 훈련시키는 대신, 파인 튜닝을 통해 잘못된 코드가 어떤 모습인지 보여주는 예시를 제공할 수 있습니다.”
저희가 해결책 중 하나로 생각하는 것은, 의 ChatGPT(), Code Llama, 의 Copilot()을 적극적으로 활용하는 것입니다. 왜냐하면 이 도구들은 다양한 프로그래밍 언어와 코딩 문제에 대해 각기 다른 유형의 코드를 작성하는 방법에 관한 최고의 지식을 갖추고 있기 때문입니다. 그리고 개발자들이 취약점이 있는 코드를 작성하고 있다는 사실을 무시하듯이, 이 코드가 취약점이 있는 코드를 작성하고 있다는 사실도 무시해 버리세요. 솔직히 말해서, 여러분이 그들을 그렇게 강도 높은 보안 코딩 교육에 보내고 있는 것도 아니기 때문에, 그들이 항상 훌륭한 보안 코드를 작성하는 것은 아닙니다. 그 말은 사실상 “우리 개발자들이 보안에 취약한 코드를 작성하고 있다는 걸 알고 있다”는 뜻이군요.
따라서 여전히 에서 보안 문제를 확인해야 하며, 보안 문제를 해결해야 합니다.
AI가 주도하는 이 코딩 시대에서 인간의 전문성이 수행하는 역할이 어떻게 변화해 나갈 것으로 보십니까? 수동 코드 검토와 보안 테스트는 여전히 필요한가?
사람이 개발한 코드에서는 우리가 고칠 수 있는 것보다 더 많은 문제를 발견하는 문제가 이미 존재하고 있잖아요, 그렇죠? 그러니까 보안 부채가 점점 늘어나고 있는 셈이죠. 자동화 도구()를 통해 발견된 모든 문제를 해결하기 위해 이미 충분한 자원을 투입하지 않고 계십니다.
그게 바로 우리가 출발점으로 삼고 있는 문제입니다. 그리고 이제 우리는 보안 수준은 사실상 그대로 유지한 채 더 많은 코드를 더 빠르게 작성함으로써 그 문제를 더욱 악화시킬 것입니다. 설령 품질이 두 배로 좋아지고, 취약점 밀도가 절반으로 줄어들더라도, 개발자 한 명당 실행하는 코드의 양이 세 배나 된다면 결국 더 큰 문제에 직면하게 될 것입니다. 따라서 개발 과정에서 LLM을 사용함으로써 더 많은 취약점을 발생시키고 있는 셈입니다.
그렇기 때문에, CI/CD 파이프라인 에서 문제를 찾아낼 수 있는 빠른 도구가 필요할 뿐만 아니라, 문제를 해결할 수 있는 빠른 도구도 필요합니다.
[함께 읽어보세요: AI 사이버 보안에 대한 종합 가이드 – 이점, 위험 및 보상]
AI 모델에서 재귀적 학습의 가능성과 지식의 퇴화에 대해 언급하셨습니다. 이 문제와 사이버 보안에 미치는 영향에 대해 좀 더 자세히 설명해 주실 수 있나요?
네, 이 문제가 점점 사람들의 우려를 자아내고 있네요. AI가 생성한 콘텐츠를 통해 학습할 때 지식에 퇴행적인 영향이 발생하는데, 이는 에서 볼 수 있듯이,에서 설명된 대로 그 ‘환각’을 배우게 되기 때문입니다. 그러니까 요점은, 현재 작성되는 코드의 대부분이 대규모 언어 모델(LLM)에 의해 작성된다면 어떨까 하는 것입니다. 그리고 우리 모두 알다시피, 그 LLM들은 때때로 실수를 하기도 하죠. 그것이 향후 학습하게 될 차세대 코드에는 문제가 되지 않을까요?
“마음껏 ChatGPT, Code Llama, Copilot 등을 사용하세요… 그리고 그 도구들이 취약점이 있는 코드를 작성한다는 사실은 무시하세요. [왜냐하면] 어차피 보안 문제를 테스트해야 하고, 보안 문제를 수정해야 하기 때문이죠.”
있잖아요, 그 차세대 대규모 언어 모델(LLM) 말인데요. 3년 후, 그 모델이 학습을 할 때, 아마도 전 세계 LLM들이 작성하는 코드의 10%를 바탕으로 학습하게 될까요? 그리고 그 수치가 증가하기 시작할까요? 어쩌면 언젠가는 우리가 거의 항상 LLM을 이용해 코드를 작성하게 될 것이고, 사람의 개입은 거의 없을지도 모릅니다. LLM이 다른 LLM으로부터 학습하고 있다면, 즉 우리가 단지 다른 LLM의 출력 결과로부터 배우고 있다는 뜻이라면, 그게 무슨 의미일까요?
우리는 이것이 지식에 어떻게 퇴행적인 영향을 미치는지 이제 막 이해하기 시작했으며, 향후 LLM을 훈련시킬 때 해당 코드가 사용되지 않도록 LLM이 생성한 코드에 표시를 해야 할 수도 있습니다. 대충 그런 거지.
코딩에 GenAI를 사용할 때, 특히 코드 출처 표기 및 저작권 문제와 관련하여 어떤 윤리적 문제가 제기될 수 있나요?
이 문제는 ‘ ’ 뉴욕타임스 기사( )나 사라 실버먼의 책에서 보았던 것과 똑같은 문제입니다. 그녀는 어디에서도 공연한 적이 없는 농담들을 책에 실었다는 이유로 소송을 제기하고 있습니다. 그건 그냥 책에 나온 내용이었는데, ChatGPT가 “이거에 대한 농담 좀 써 줘” 같은 요청에 응답할 때 그 책에 나온 농담들을 그대로 사용하고 있더라고요.
그러니 이건 단순히 제 콘텐츠와 저작권이 있는 제 콘텐츠를 사용하고 있다는 게 분명합니다. 그러니까 코드에서는 확실히 그런 일이 일어나고 있는 거죠.
[관련 기사: CISO(정보보안책임자)와 AI에 전폭적으로 투자하는 기업 경영진들을 불안하게 만드는 또 다른 법적 난제 – 그리고 이를 피하는 방법]
이 시스템이 학습에 사용한 코드의 대부분은 의 GPL(일반 공중 사용 허가서) 에 따른 코드입니다. 따라서 출처 표기가 필요하며, 일부 경우에는 GPL 3 에 따라 해당 라이선스를 포함하는 경우 소프트웨어의 소스 코드를 공개해야 합니다. 네, 맞아요. 이 부분에 대해서는 아직 판례가 없는 건 사실이지만, 변호사들이 이 문제를 매우 우려하고 있다는 점은 말씀드릴 수 있습니다. 변호사들은 코드 스니펫 분석을 통해 코드를 분석하여 오픈 소스 코드와 일치하는지 확인하고 있는데, 만약 일치하는 코드 블록의 규모가 충분히 크다면 이는 저작권 침해로 간주될 수 있습니다. 말하자면, 절대 침해해서는 안 되는 코드 한 줄 같은 거죠. 하지만 그게 하나의 루틴이라면… 수업 전체에 해당한다면, 그건 분명히 저작권 침해입니다.
인터뷰를 마무리하며, 블랙햇에서 가장 기대되는 점은 무엇이며, 참석자들이 귀하의 세션을 통해 무엇을 얻어가길 바라시나요?
제가 정말로 말하고 싶은 것은, 생성형 AI가 코딩에 막대한 영향을 미치고 있다는 점입니다. 가 클라우드로 이전한 것 이나 그와 유사한 사례와 마찬가지로, 이는 애플리케이션에 있어 근본적인 변화이며, 앞으로 이러한 변화가 소프트웨어 보안에 어떤 영향을 미칠지 고민해야 합니다.
상황이 더 악화되지 않도록 적절한 절차를 마련해야 합니다. 자동 수정 기능처럼요 – 제 생각엔 그거 괜찮은 것 같아요. 우리의 임무는, 아시다시피, 우리가 은행( )이든 소프트웨어 회사()이든 상관없이, 우리가 출시하는 모든 소프트웨어가 안전하도록 보장하는 것이며, 생성형 AI로 인해 보안성이 저하된다면 이에 대한 대응책을 마련해야 합니다. 그것이 제가 전하고 싶은 핵심 메시지입니다.
BLACK HAT USA 2024에서 자세히 알아보기
Black Hat USA 2024에서 사이버 보안 분야의 선도적인 전문가 중 한 분의 강연을 듣고, AI와 애플리케이션 보안의 미래에 대한 토론에 참여할 수 있는 이 기회를 놓치지 마세요. 에서 열린 크리스 와이소팔(Chris Wysopal)의 세션 ‘Black Hat USA 2024: ’은 모든 IT 전문가와 AI 보안의 주요 장애물에 대한 더 깊은 통찰력을 얻고자 하는 기업 리더들에게 꼭 참석해야 할 세션입니다.
- 세션: HAL에서 HALT로: 생성형 AI 코딩 시대에 스카이넷의 형제들을 저지하기
- 날짜: 수요일, 8월 7일
- 시간: 1:30 - 오후 2:10 PT
- 위치: 오션사이드 A, 2층

