AI 혁신의 혜택을 누리려면 안전한 코드부터 시작해야 합니다.

게시일: Apr 09, 2024
으로 Secure Code Warrior
사례 연구

AI 혁신의 혜택을 누리려면 안전한 코드부터 시작해야 합니다.

게시일: Apr 09, 2024
으로 Secure Code Warrior
리소스 보기
리소스 보기

소프트웨어 개발자들은 코드를 작성하는 데 생성형 인공 지능(AI)을 사용할 준비가 되어 있으며, 대체로 긍정적인 결과를 얻었습니다. 그러나 그들이 위험한 게임을 하고 있다는 징후도 많이 있습니다.

GitHub의 최근 설문조사에 따르면 미국 개발자의 90% 이상이 AI 코딩 도구를 사용하고 있으며, 그 이유로 빠른 완료 시간, 빠른 인시던트 해결, 보다 협업적인 환경 등의 이점을 꼽았습니다. AI 도구를 사용하면 개발자는 일상적인 업무에서 벗어나 회사에 도움이 되는 더 창의적인 작업에 집중할 수 있으며, 부수적으로 업무상 번아웃의 가능성도 줄어듭니다.

그러나 연구 결과에 따르면 AI 도구는 코드를 작성할 때 결함을 유발하는 경향이 있는 것으로 나타났습니다. Snyk의 설문조사에 따르면 응답자의 75.8%가 AI 코드가 사람의 코드보다 더 안전하다고 답했지만, 56.4%는 AI가 때때로 코딩 문제를 일으킨다는 사실을 인정했습니다. 놀랍게도 응답자의 80%는 개발 중에 AI 코드 보안 정책을 우회한다고 답했습니다.

2022년 11월 OpenAI의 ChatGPT가 출시된 이후, 다른 많은 분야에서와 마찬가지로 금융 서비스의 코드 개발 프로세스 전반에 걸쳐 제너레이티브 AI 모델의 사용이 빠른 속도로 확산되고 있습니다. GitHub Copilot, OpenAI Codex 등 다른 모델들이 빠르게 등장하는 것을 보면 제너레이티브 AI가 무엇을 할 수 있고 어떤 영향을 미칠 수 있는지는 이제 겨우 표면적으로 드러난 것일 뿐입니다. 그러나 이러한 영향력을 긍정적으로 활용하기 위해서는 생성 AI가 생성하는 코드가 안전한지 확인해야 합니다.

코딩 버그는 빠르게 확산될 수 있습니다.

인간 개발자가 만들었든 AI 모델이 만들었든 코드에는 어느 정도의 오류가 포함될 수밖에 없습니다. 고도로 분산된 클라우드 기반 컴퓨팅 환경에서 계속 증가하는 수요를 충족하기 위해 AI가 코드 개발을 가속화하는 데 도움을 주면서 잘못된 코드가 발견되기 전에 널리 전파될 가능성이 높아질 수 있습니다. 

코드 작성 훈련을 받는 AI 모델은 다양한 작업을 수행하는 수천 개의 코드 예제를 수집한 다음, 이러한 예제를 바탕으로 자신만의 코드를 만들 수 있습니다. 그러나 작동 중인 샘플에 원래 사람이 만든 것이든 다른 AI가 만든 것이든 결함이나 취약점이 포함되어 있는 경우 모델은 이러한 결함을 새로운 환경으로 옮길 수 있습니다. 

AI 모델이 사용 중인 코드의 결함을 안정적으로 인식하지 못한다는 연구 결과를 고려할 때, 결함 및 취약성의 확산에 대한 기본 방어 기능은 거의 없습니다. AI는 코딩 과정에서 실수를 할 뿐만 아니라, 자신이 만든 소프트웨어를 사용하는 회사가 성공적으로 침해당하는 등의 형태로 취약점이 확인될 때까지 자신과 다른 출처의 실수를 반복할 것입니다.

코딩 결함의 확산에 대한 진정한 방어책은 인간과 AI 모델이 함께 일하는 것입니다. 인간 개발자는 AI 코드 작성을 감독하고 안전하지 않은 코딩 관행과 취약한 코드에 대한 견제 역할을 해야 합니다. 그러나 이를 위해서는 개발자가 안전한 코드 작성 모범 사례에 대한 철저한 교육을 받아 AI의 코딩 실수를 식별하고 신속하게 수정할 수 있어야 합니다.

AI 코드 생성 및 수정의 과제

ChatGPT와 같은 대규모 언어 모델(LLM)의 갑작스러운 폭발적인 증가는 양날의 검과도 같았습니다. 한편으로 기업과 일반 사용자들은 시간이 많이 걸리거나 번거롭거나 어려운 업무를 처리하는 데 AI를 사용함으로써 엄청난 생산성 향상을 경험했습니다. 다른 한편으로는 AI를 맹목적으로 믿고 업무를 처리할 때 어떤 일이 일어날 수 있는지에 대한 수많은 사례가 있었습니다.

AI 모델은 눈에 띄는 실수를 저지르고, 편견을 드러내며, 황당한 환각을 일으켰습니다. 대부분의 경우 문제의 근원은 부적절하거나 무책임한 학습 데이터였습니다. 모든 AI 모델은 학습한 데이터만큼만 성능이 향상되므로 학습 데이터를 포괄적이고 신중하게 검증하는 것이 중요합니다. 하지만 그럼에도 불구하고 실수가 발생할 수 있습니다.

코딩에 AI를 사용할 때에도 동일한 장애물이 많이 있습니다. AI로 생성된 코드에는 사이트 간 스크립팅 및 코드 삽입에 대한 취약성, 프롬프트 인젝션과 같은 AI 및 머신러닝(ML) 전용 공격과 같은 다양한 결함이 있는 것으로 나타났습니다. 또한 AI 모델은 프로세스가 투명하지 않기 때문에 보안팀이나 개발팀이 AI가 어떻게 결론에 도달하는지 볼 수 없기 때문에 블랙박스처럼 작동합니다. 결과적으로 모델은 동일한 실수를 계속해서 반복할 수 있습니다. 코드 작성에 영향을 미칠 수 있는 동일한 단점은 코드 수정 및 규정 준수 요건 충족을 위해 AI를 사용할 때도 마찬가지입니다. 

AI 모델에 의해 결함이 생성되거나 반복될 가능성은 이제 LLM이 자체적으로 상위 10가지 취약점에 대한 OWASP(오픈 웹 애플리케이션 보안 프로젝트) 목록을 보유할 정도로 커졌습니다.

개발자와 AI가 협력하여 안전한 코드를 만들 수 있습니다.

AI로 생성된 코드의 잠재적 결함에 대한 우려로 인해 일부 조직에서는 잠시나마 기술 도입을 주저할 수 있습니다. 하지만 AI 개발자가 계속해서 모델을 혁신하고 개선해 나간다면 잠재적인 이점은 무시하기에는 너무 큽니다. 우선 금융 서비스 업계는 지니를 다시 병 속에 넣지 않을 것입니다. 은행과 금융 서비스 회사는 이미 기술 중심적이며, 항상 경쟁 우위를 확보하기 위해 노력하는 분야에서 사업을 운영하고 있습니다. 

핵심은 위험을 최소화하는 방식으로 AI 모델을 구현하는 것입니다. 즉, 보안을 인식하고 보안 코딩 모범 사례에 대한 철저한 교육을 받은 개발자가 직접 보안 코드를 작성하고 AI 모델이 생성하는 코드를 면밀히 모니터링할 수 있어야 합니다. AI 엔진과 인간 개발자가 긴밀한 파트너십을 통해 협력하고 개발자가 최종 결정권을 갖도록 함으로써 기업은 생산성과 효율성을 향상하는 동시에 보안을 개선하고 위험을 제한하며 규정 준수를 보장하는 이점을 누릴 수 있습니다. 

시큐어 코딩이 금융 서비스 회사의 성공, 보안 및 수익 보장에 어떻게 도움이 되는지에 대한 종합적인 개요는 새로 공개된 Secure Code Warrior 가이드에서 확인할 수 있습니다: 금융 서비스의 보안 트렌드에 대한 최고의 가이드입니다.

사이버 보안에 대한 자세한 내용은 Secure Code Warrior 블로그 페이지에서 사이버 보안과 점점 더 위험해지는 위협 환경에 대한 자세한 인사이트를 확인하고 혁신적인 기술과 교육을 활용하여 조직과 고객을 더 잘 보호할 수 있는 방법에 대해 알아보세요.

리소스 보기
리소스 보기

저자

Secure Code Warrior

Secure Code Warrior 는 개발자에게 안전하게 코딩할 수 있는 기술을 제공하여 보안 중심의 개발자 문화를 구축합니다. Atlassian의 대표적인 애자일( Learning Platform )은 관련 기술 기반 경로, 실습( missions) 및 상황에 맞는 도구를 제공하여 개발자가 빠르게 기술을 배우고, 구축하고, 적용하여 보안 코드를 빠르게 작성할 수 있도록 지원합니다.

더 알고 싶으신가요?

블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.

Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.

블로그 보기
더 알고 싶으신가요?

개발자 중심 보안에 대한 최신 연구 보기

광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.

리소스 허브

AI 혁신의 혜택을 누리려면 안전한 코드부터 시작해야 합니다.

게시일: Apr 09, 2024
으로 Secure Code Warrior

소프트웨어 개발자들은 코드를 작성하는 데 생성형 인공 지능(AI)을 사용할 준비가 되어 있으며, 대체로 긍정적인 결과를 얻었습니다. 그러나 그들이 위험한 게임을 하고 있다는 징후도 많이 있습니다.

GitHub의 최근 설문조사에 따르면 미국 개발자의 90% 이상이 AI 코딩 도구를 사용하고 있으며, 그 이유로 빠른 완료 시간, 빠른 인시던트 해결, 보다 협업적인 환경 등의 이점을 꼽았습니다. AI 도구를 사용하면 개발자는 일상적인 업무에서 벗어나 회사에 도움이 되는 더 창의적인 작업에 집중할 수 있으며, 부수적으로 업무상 번아웃의 가능성도 줄어듭니다.

그러나 연구 결과에 따르면 AI 도구는 코드를 작성할 때 결함을 유발하는 경향이 있는 것으로 나타났습니다. Snyk의 설문조사에 따르면 응답자의 75.8%가 AI 코드가 사람의 코드보다 더 안전하다고 답했지만, 56.4%는 AI가 때때로 코딩 문제를 일으킨다는 사실을 인정했습니다. 놀랍게도 응답자의 80%는 개발 중에 AI 코드 보안 정책을 우회한다고 답했습니다.

2022년 11월 OpenAI의 ChatGPT가 출시된 이후, 다른 많은 분야에서와 마찬가지로 금융 서비스의 코드 개발 프로세스 전반에 걸쳐 제너레이티브 AI 모델의 사용이 빠른 속도로 확산되고 있습니다. GitHub Copilot, OpenAI Codex 등 다른 모델들이 빠르게 등장하는 것을 보면 제너레이티브 AI가 무엇을 할 수 있고 어떤 영향을 미칠 수 있는지는 이제 겨우 표면적으로 드러난 것일 뿐입니다. 그러나 이러한 영향력을 긍정적으로 활용하기 위해서는 생성 AI가 생성하는 코드가 안전한지 확인해야 합니다.

코딩 버그는 빠르게 확산될 수 있습니다.

인간 개발자가 만들었든 AI 모델이 만들었든 코드에는 어느 정도의 오류가 포함될 수밖에 없습니다. 고도로 분산된 클라우드 기반 컴퓨팅 환경에서 계속 증가하는 수요를 충족하기 위해 AI가 코드 개발을 가속화하는 데 도움을 주면서 잘못된 코드가 발견되기 전에 널리 전파될 가능성이 높아질 수 있습니다. 

코드 작성 훈련을 받는 AI 모델은 다양한 작업을 수행하는 수천 개의 코드 예제를 수집한 다음, 이러한 예제를 바탕으로 자신만의 코드를 만들 수 있습니다. 그러나 작동 중인 샘플에 원래 사람이 만든 것이든 다른 AI가 만든 것이든 결함이나 취약점이 포함되어 있는 경우 모델은 이러한 결함을 새로운 환경으로 옮길 수 있습니다. 

AI 모델이 사용 중인 코드의 결함을 안정적으로 인식하지 못한다는 연구 결과를 고려할 때, 결함 및 취약성의 확산에 대한 기본 방어 기능은 거의 없습니다. AI는 코딩 과정에서 실수를 할 뿐만 아니라, 자신이 만든 소프트웨어를 사용하는 회사가 성공적으로 침해당하는 등의 형태로 취약점이 확인될 때까지 자신과 다른 출처의 실수를 반복할 것입니다.

코딩 결함의 확산에 대한 진정한 방어책은 인간과 AI 모델이 함께 일하는 것입니다. 인간 개발자는 AI 코드 작성을 감독하고 안전하지 않은 코딩 관행과 취약한 코드에 대한 견제 역할을 해야 합니다. 그러나 이를 위해서는 개발자가 안전한 코드 작성 모범 사례에 대한 철저한 교육을 받아 AI의 코딩 실수를 식별하고 신속하게 수정할 수 있어야 합니다.

AI 코드 생성 및 수정의 과제

ChatGPT와 같은 대규모 언어 모델(LLM)의 갑작스러운 폭발적인 증가는 양날의 검과도 같았습니다. 한편으로 기업과 일반 사용자들은 시간이 많이 걸리거나 번거롭거나 어려운 업무를 처리하는 데 AI를 사용함으로써 엄청난 생산성 향상을 경험했습니다. 다른 한편으로는 AI를 맹목적으로 믿고 업무를 처리할 때 어떤 일이 일어날 수 있는지에 대한 수많은 사례가 있었습니다.

AI 모델은 눈에 띄는 실수를 저지르고, 편견을 드러내며, 황당한 환각을 일으켰습니다. 대부분의 경우 문제의 근원은 부적절하거나 무책임한 학습 데이터였습니다. 모든 AI 모델은 학습한 데이터만큼만 성능이 향상되므로 학습 데이터를 포괄적이고 신중하게 검증하는 것이 중요합니다. 하지만 그럼에도 불구하고 실수가 발생할 수 있습니다.

코딩에 AI를 사용할 때에도 동일한 장애물이 많이 있습니다. AI로 생성된 코드에는 사이트 간 스크립팅 및 코드 삽입에 대한 취약성, 프롬프트 인젝션과 같은 AI 및 머신러닝(ML) 전용 공격과 같은 다양한 결함이 있는 것으로 나타났습니다. 또한 AI 모델은 프로세스가 투명하지 않기 때문에 보안팀이나 개발팀이 AI가 어떻게 결론에 도달하는지 볼 수 없기 때문에 블랙박스처럼 작동합니다. 결과적으로 모델은 동일한 실수를 계속해서 반복할 수 있습니다. 코드 작성에 영향을 미칠 수 있는 동일한 단점은 코드 수정 및 규정 준수 요건 충족을 위해 AI를 사용할 때도 마찬가지입니다. 

AI 모델에 의해 결함이 생성되거나 반복될 가능성은 이제 LLM이 자체적으로 상위 10가지 취약점에 대한 OWASP(오픈 웹 애플리케이션 보안 프로젝트) 목록을 보유할 정도로 커졌습니다.

개발자와 AI가 협력하여 안전한 코드를 만들 수 있습니다.

AI로 생성된 코드의 잠재적 결함에 대한 우려로 인해 일부 조직에서는 잠시나마 기술 도입을 주저할 수 있습니다. 하지만 AI 개발자가 계속해서 모델을 혁신하고 개선해 나간다면 잠재적인 이점은 무시하기에는 너무 큽니다. 우선 금융 서비스 업계는 지니를 다시 병 속에 넣지 않을 것입니다. 은행과 금융 서비스 회사는 이미 기술 중심적이며, 항상 경쟁 우위를 확보하기 위해 노력하는 분야에서 사업을 운영하고 있습니다. 

핵심은 위험을 최소화하는 방식으로 AI 모델을 구현하는 것입니다. 즉, 보안을 인식하고 보안 코딩 모범 사례에 대한 철저한 교육을 받은 개발자가 직접 보안 코드를 작성하고 AI 모델이 생성하는 코드를 면밀히 모니터링할 수 있어야 합니다. AI 엔진과 인간 개발자가 긴밀한 파트너십을 통해 협력하고 개발자가 최종 결정권을 갖도록 함으로써 기업은 생산성과 효율성을 향상하는 동시에 보안을 개선하고 위험을 제한하며 규정 준수를 보장하는 이점을 누릴 수 있습니다. 

시큐어 코딩이 금융 서비스 회사의 성공, 보안 및 수익 보장에 어떻게 도움이 되는지에 대한 종합적인 개요는 새로 공개된 Secure Code Warrior 가이드에서 확인할 수 있습니다: 금융 서비스의 보안 트렌드에 대한 최고의 가이드입니다.

사이버 보안에 대한 자세한 내용은 Secure Code Warrior 블로그 페이지에서 사이버 보안과 점점 더 위험해지는 위협 환경에 대한 자세한 인사이트를 확인하고 혁신적인 기술과 교육을 활용하여 조직과 고객을 더 잘 보호할 수 있는 방법에 대해 알아보세요.

우리는 당신에게 우리의 제품 및 / 또는 관련 보안 코딩 주제에 대한 정보를 보낼 수있는 귀하의 허가를 바랍니다. 우리는 항상 최대한의주의를 기울여 귀하의 개인 정보를 취급 할 것이며 마케팅 목적으로 다른 회사에 판매하지 않을 것입니다.

전송
양식을 제출하려면 '분석' 쿠키를 활성화하세요. 완료되면 언제든지 다시 비활성화할 수 있습니다.