Cloudflare의 theNet

AI는 취약점을 찾을 수 있을까요?

보안에 있어 AI가 양날의 검인 이유

좋든 나쁘든, AI는 취약점 발견에 적합할 수 있습니다

인공지능(AI)이 발전함에 따라 조직과 정부에서는 최고의 애플리케이션을 찾기 위해 노력하고 있습니다. ChatGPT와 기타 대규모 언어 모델(LLM)이 미디어의 관심을 끌었지만, AI의 잠재적 용도는 텍스트 생성보다 훨씬 더 광범위합니다. 그 용도 중 하나가 보안입니다. 특히, 소프트웨어 취약점을 파악하는 반복적인 대규모 작업에 적합합니다.

그러나 AI가 보안을 개선할지 악화시킬지는 누가, 무엇을, 어떤 목적으로 취약점 식별을 수행하느냐에 따라 달라집니다.


피할 수 없는 취약점의 실체

소프트웨어의 일부 결함은 본질적으로는 해롭지 않습니다. 그러나 취약점이라고 하는 일부 결함은 누군가 이 결함을 악용하여 시스템 내에서 발판을 마련하면 손상으로 이어질 수 있습니다. 사이버 보안 업무의 상당 부분은 이러한 취약점을 식별하고 패치하는 데 집중되어 있습니다.

악용된 취약점이 침해로 이어지는 사례는 너무 많아 일일이 열거하기 힘들지만, 주목할 만한 사건의 몇 가지 예를 들면 다음과 같습니다.

취약점 악용의 결과는 데이터 유출부터 조직의 시스템을 정지시키는 랜섬웨어 감염에 이르기까지 재앙을 초래할 수 있습니다. 조직에서는 이러한 사고를 방지하기 위해 최대한 신속하게 취약점을 파악하고 패치를 적용해야 합니다.


자동화된 취약점 발견

복잡한 소프트웨어 프로그램을 분석하여 실수를 찾는 것은 반복적인 작업으로, 자동화에 적합할 것처럼 보입니다. 저명한 기술 전문가인 Bruce Schneier는 다음과 같이 이야기합니다. "코드를 한 줄 한 줄 살펴보는 것은 컴퓨터가 잘할 수 있는 지루한 문제일 뿐입니다. 컴퓨터에게 취약점이 어떤 모습인지 알려줄 수만 있다면요."

실제로 머신 러닝(AI 기능의 하위 집합)은 코드의 잠재적 취약점을 찾는 데 오랫동안 사용되어 왔습니다. 예를 들어, GitHub에는 코드의 보안 취약점을 식별하는 코드 스캔 기능에 머신 러닝이 포함되어 있습니다. 물론 이러한 접근 방식은 때때로 긍정 오류를 발생시키기도 하지만, 수동 분석과 함께 사용하면 잘 훈련된 머신 러닝 모델을 통해 취약점 식별을 가속화할 수 있습니다.

인공 지능이 비약적으로 발전함에 따라 이 기술을 교육시켜 취약점을 더 효과적으로 찾아낼 가능성이 생겼습니다. 실제로 2023년 미국 방위고등연구계획국(DARPA)에서는 '보안을 위한 지능형 도구의 세대(INGOTS)'라는 프로그램을 발표했습니다. (DARPA는 특히 인터넷의 전신인 ARPANET을 만든 기관입니다).

이 프로그램은 "프로그램 분석과 인공 지능에 기반한 새로운 기술"을 사용하여 "취약점을 측정함으로써 공격자가 취약점을 악용하기 전에 심각도가 높고 연쇄적인 취약점을 식별하고 수정하는 것이 목표"입니다. INGOTS는 "웹 브라우저, 모바일 운영 체제 등의 복잡한 최신 시스템"에서 취약점을 찾습니다.

하지만 AI가 실제로 취약점을 찾는 데 능할까요? DARPA에서는 이를 알아내는 것을 목표로 하고 있지만, 아직은 다소 탐색하는 단계에 머물러 있습니다.


AI와 인간 해커의 비교: AI가 취약점을 찾아낼 수 있을까요?

2016년에 DARPA에서 개최한 "사이버 그랜드 챌린지"에서 7개 팀의 엔지니어가 자율 AI 해킹 프로그램을 만든 후 디지털 게임인 "깃발 뺏기(Capture the Flag)"에서 대결했습니다. 이 게임의 목적은 자동화된 프로그램이 보안 시스템을 얼마나 잘 해킹할 수 있는지 알아보는 것이었습니다. 몇 시간 후, 카네기 멜론의 한 팀에서 설계한 프로그램 "Mayhem"이 이 챌린지에서 우승했습니다.

마침 근처에서 DEF CON 2016 컨퍼런스가 열리고 있었고, "Mayhem"은 인간 해커와 대결하는 DEF CON의 깃발 뺏기 게임에 초대되었습니다. Mayhem은 상당한 점수 차이로 최하위를 기록했습니다.

그 이후로 AI는 많은 발전을 이루었고, 연구원들은 취약점 발견을 위한 머신 러닝 모델을 계속 발표하고 있습니다. 그러나 최신 머신 러닝 모델로 조사한 소프트웨어도 여전히 사람이 검토해야 긍정 오류 또는 부정 오류를 피할 수 있습니다.

AI가 취약점을 찾아낼 있다는 사실은 부인할 수 없습니다. 그러나 인간 침투 테스트는 여전히 그 입지를 유지하고 있는 것으로 보입니다. 이는 향후 AI가 더욱 강력해짐에 따라 바뀔 수 있습니다.


AI가 취약점을 패치할 수 있을까요?

취약점을 패치하려면 결함을 수정하는 코드를 작성해야 합니다. AI 도구는 분명히 코드를 작성할 수 있습니다. 하지만 그러려면 인간인 사용자가 직접 생성한 특정 프롬프트가 필요합니다.

INGOTS조차도 취약점 해결을 위해 자동화된 프로세스에 전적으로 의존하지 않으며, "심각도가 높은 취약점을 수정하기 위해 사람의 개입을 원활하게 허용하는 컴퓨터-인간 파이프라인을 만드는 것"을 목표로 합니다.

하지만 동일한 주의 사항이 적용됩니다. AI가 더욱 발전함에 따라 향후에는 패치를 빠르고 효율적으로 생성할 수 있게 될 것입니다.


다른 측면: 공격자의 취약점 사냥

어떤 도구나 기술이 널리 사용 가능할 경우 한쪽에서는 이를 공격으로부터 시스템을 방어하는 데 사용하고, 다른 한쪽에서는 이를 공격에 사용하는 것은 불가피한 일입니다.

AI가 소프트웨어의 취약점을 효과적으로 찾아내어 패치할 수 있다면, 공격자들은 패치가 적용되기 전에 이러한 취약점을 찾아내어 익스플로잇을 마련하는 데 AI를 사용할 것이 분명합니다.

모든 사이버 공격자가 그러한 리소스에 액세스할 수 있는 것은 아닙니다. 하지만 액세스할 수 있는 공격자는 AI가 발견한 취약점이나 마련한 익스플로잇을 다크웹에서 가장 높은 가격을 제시한 사람에게 판매하는 데 아무런 거리낌이 없을 것입니다. 맬웨어 작성자는 이미 도구에 AI를 통합하고 있으며, AI가 발전함에 따라 앞으로도 계속 그렇게 할 것입니다.

합법적인 소프트웨어 개발자와 악의적인 공격자 간에 취약점이 거의 즉각적으로 파악되어 악용되거나(희망하건대) 그만큼 빨리 패치되는 등 AI 기반의 군비 경쟁이 확대될 가능성이 있습니다.

물론 공격자들은 이미 코드를 샅샅이 뒤져 아직 발견되지 않은 취약점을 찾고 있습니다. 그러한 "zero-day" 취약점은 발견자가 시스템 해킹을 위해 사용하거나 지하 시장에서 높은 가격에 판매할 수 있는 아주 가치가 높은 취약점입니다. AI를 악의적으로 사용하면 게임 판도가 바뀔 수 있지만, 이는 여전히 오래된 게임입니다.


AI가 취약점 익스플로잇을 작성할 수 있을까요?

패치 작성과 마찬가지로 이 작업도 가능하지만 그 과정에서는 여전히 사람의 안내가 필요합니다. 따라서 공격자들이 직접 코드를 작성하는 대신 익스플로잇 키트를 구매하는 경우가 많으므로 실제로 공격자들의 수고를 줄여 주지는 못할 수도 있습니다.

10년 또는 5년 후에도 그 답은 달라질 수 있으며, 보안 담당자는 시스템을 노리는 완전 자동화된 취약점 공격의 파고에 대비해야 합니다.


Zero Trust를 통한 취약점 익스플로잇에 대한 미래 보장

모든 네트워크는 손상에 취약하며, 실제로 충분한 시간과 의지가 있는 공격자가 있다면 손상은 피할 수 없습니다.

AI가 시스템 보안을 원하는 측에 새로운 취약점을 발견할 기회를 열어주더라도, 공격자도 동일한 방법을 사용하여 취약점을 먼저 찾거나 적어도 패치가 적용되기 전에 찾으려고 노력할 것입니다. AI는 방어자의 경우에도 공격자의 경우에도 또 다른 도구가 되고 있습니다.

미래 지향적인 조직에서는 보안이 실패하고 데이터가 위험에 처해 있으며 공격자가 이미 네트워크 내부에 있을 수 있다는 등 손상이 발생했다는 가정에서 출발합니다.

이러한 조직에서는 외부에 대한 보안이 항상 완벽하게 작동하는 것은 아니라고 가정하고 네트워크를 마이크로세분화하여 악의적인 공격자가 이미 접속한 세그먼트 이상으로 도달 범위를 넓혀갈 수 없도록 합니다. 선박에서 유출 확산을 방지하기 위해 별도의 방수 구획으로 봉인하는 방법을 상상해 보세요. 이상적으로는 보안팀에서도 이와 동일한 접근 방식을 사용하여 공격을 차단할 수 있습니다.

이 접근 방식을 "Zero Trust"라고 부르며, 이 철학이 점점 더 많이 채택되는 데에는 강력한 이유가 있습니다. AI 도구가 익스플로잇을 확대할 수 있게 되면서 Zero Trust는 이러한 익스플로잇이 네트워크의 작은 구석에 국한되어 공격자가 실제 피해를 입힐 수 있는 충분한 발판을 확보하지 못하도록 하는 데 도움이 될 수 있습니다.

취약점 익스플로잇 발견이 가속화될 수 있지만, Zero Trust는 가장 희망적인 경로를 제시합니다. 또한 Cloudflare는 보안 웹 게이트웨이, DNS 필터링, 데이터 손실 방지(DLP) 등의 Zero Trust 기술을 통합 대시보드가 있는 단일 플랫폼으로 통합하는 유일한 벤더로, 전 세계 곳곳에 상호 접속 위치가 있는 플랫폼입니다. Cloudflare 네트워크의 분산된 특성 덕분에 사용자 경험에 대기 시간을 추가하지 않고도 클라우드 및 온프레미스 앱 전반에 걸쳐 세분화된 기본 거부 액세스 제어를 적용할 수 있습니다.

실제로 Cloudflare에서는 공격으로부터 자체 네트워크와 직원을 보호하기 위해 Zero Trust 접근 방식을 택하고 있습니다. 조직에서도 동일한 접근 방식을 택할 수 있도록 Cloudflare에서 지원하는 방법을 자세히 알아보세요.

이 글은 오늘날의 기술 의사 결정자에게 영향을 주는 최신 동향 및 주제에 대한 시리즈 중 일부입니다.



이 주제에 관해 자세히 알아보세요.

Zero Trust 아키텍처로의 로드맵 백서에서 Zero Trust에 대해 자세히 알아보세요.


핵심 사항

이 글을 읽고 나면 다음을 이해할 수 있습니다.

  • AI가 취약점을 찾는 데 적합한 이유와 몇 가지 주의 사항

  • 보안 전투의 양측이 자동화를 사용하여 취약점을 악용하거나 패치하는 방법

  • 손상되었음을 가정하는 것이 가장 안전한 접근 방식인 이유


관련 자료


가장 인기있는 인터넷 인사이트에 대한 월간 요약을 받아보세요!