패치 적용 런닝머신: 기존 애플리케이션 보안으로는 더 이상 충분하지 않은 이유

업데이트 개념

드미트리 Nogaev/iStock/Getty 이미지 플러스

ZDNET을 팔로우하세요: 우리를 선호 소스로 추가하세요 Google에서.


ZDNET의 주요 시사점

  • 지속적인 배포로 인해 기존 보안 모델이 쓸모없다고 느껴집니다.
  • 취약점 백로그는 개발 팀을 압도합니다.
  • 애플리케이션 보안은 코드 생성 쪽으로 이동해야 합니다.

나는 런닝머신에서 운동하는 동안 항상 그것이 희미하게 사기를 저하시키는 것을 발견했습니다. 당신은 계속해서 쿵쿵쿵쿵거리지만 아무데도 도달하지 못합니다. 많은 노력이 필요합니다. 당신은 항상 약간의 땀을 흘리지만 궁극적으로는 성취감이 부족하다고 느낍니다. 이 느낌은 다음날 다시 해야 할 때 더욱 강화됩니다.

여러 면에서 애플리케이션 보안은 런닝머신과 같습니다. 코딩이 완료되면 보안팀(또는 고객)은 결함을 찾아냅니다. 스캔 도구는 또한 결함을 찾아내며 끝이 보이지 않는 보고서를 생성하는 경우가 많습니다. 코더는 자신이 작성한 내용을 다시 배우고, 버그를 찾고, 패치하고, 수정 사항을 릴리스하기 위해 끊임없이 새로운 개발에서 제외됩니다.

또한: IT 관리자의 77%는 AI 에이전트가 통제 불능이라고 말합니다. 이를 제어하는 ​​5가지 방법

그러나 런닝머신에서와 마찬가지로 새로운 코드, 새로운 종속성, 새로운 취약점이 나타날 때 주기가 반복됩니다. 물론 그렇게 될 것이기 때문입니다.

이러한 실망스러운 프로세스를 흔히 찾기 및 수정 주기라고 합니다. 보안 및 QA 팀은 취약점 스캐너와 침투 테스트를 사용합니다. 문제가 발견되면 개발자는 버그 보고서를 바탕으로 작업하고 분류 대기열을 설정하며 때로는 문제 해결 스프린트에 시간을 할애합니다.

찾기 및 수정은 개발 전략이라기보다는 배송 코드에 대한 대응적 대응입니다. 희망은 보안 결함(실제로 모든 결함)을 출시 후 식별하고 수정할 수 있지만 심각한 피해를 입히기 전이나 고객이 갈퀴와 횃불을 들고 방문하기 전에 신뢰할 수 있는 코드를 요구하는 것입니다.

일부 보안 결함은 오래된 코드에서 너무 깊게 발견되어 이를 수정하는 것이 실용적이지 않습니다. 코드 변경 후의 코드 변경은 이미 흔들리고 손상된 기반 위에 계층화되었습니다. 근본 원인을 찾으려면 모든 것을 분해해야 하며, 이는 의심할 여지 없이 훨씬 더 많은 문제를 일으킬 것입니다.

또한: 데이터 리더 5명에게 AI를 사용하여 자동화하고 통합의 악몽을 종식시키는 방법에 대해 물었습니다.

여기서 또 다른 전통적이지만 차선책인 방어 및 연기가 시작됩니다. 프로그래머와 보안 팀은 깊게 자리 잡은 취약한 코드를 수정하는 대신 주변에 보호벽을 추가합니다. 방화벽, 런타임 보호, 모니터링, 보상 제어, 세분화, 액세스 제한 및 긴급 완화는 모두 노출을 다소 줄이는 반면 기본 애플리케이션 약점은 해결되지 않은 상태로 유지됩니다.

하지만 최소한 어느 정도의 방어는 이루어지고 있죠, 그렇죠? 오른쪽?

여기에 문제가 있습니다. 찾아 고치고 방어하고 연기하는 관행은 결코 완전히 사라지지 않을 것입니다. 우리의 모범 사례가 아무리 좋아도 인생은 길을 찾을 것입니다. 항상 예상치 못한 동작이 발생합니다. 대규모 언어 모델의 비결정적 특성을 고려할 때 AI 시대에는 그러한 가능성이 더욱 사실입니다.

또한: 사이버 보안 전문가 중 거의 절반이 그만두고 싶어합니다. 그 이유는 다음과 같습니다.

찾기 및 수정, 방어 및 연기 방식으로는 더 이상 충분하지 않습니다. 소프트웨어 개발은 ​​너무 빠르게 진행됩니다. 특히 개발자가 더 많은 AI 지원을 사용하여 기계 속도에 맞춰 새 버전과 새로운 기능을 만들어내기 때문에 더욱 그렇습니다.

더 빠른 릴리스, 더 느린 수정

예전에는 소프트웨어가 업데이트와 새 버전을 주기적으로 제공하는 경우가 있었습니다. 1년에 한 번씩 대규모 릴리스가 출시되었습니다. 업데이트는 아마도 분기에 한 번일 것입니다. 그러나 이제 CI/CD(지속적 통합/지속적 배포)에서는 작동 단어가 “지속적”입니다.

모든 조정, 모든 스프린트, 모든 버그 수정, 모든 종속성 업데이트, 모든 클라우드 구성 변경, 모든 새로운 API 통합 및 모든 AI 지원 코딩 세션은 기존 보안 팀이 검토할 수 있는 것보다 더 빠르게 문제를 해결하고 새로운 보안 문제를 일으킬 수 있습니다.

또한: 이 4가지 중요한 AI 취약점은 방어자가 대응할 수 있는 것보다 더 빠르게 악용되고 있습니다.

그리고 그 초점은 완화를 고려하지도 않습니다. AI 지원 여부에 관계없이 보안 팀이 코드를 검토할 때 수정이 필요한 수백 또는 수천 개의 문제가 드러나는 경우가 많습니다. 개발자가 현실적으로 해결할 수 있는 것보다 문제가 더 빨리 발견되고 있습니다.

더 나쁜 것은 대부분의 수정 사항으로 인해 개발자가 혁신과 새로운 코드 개발에서 멀어지게 되어 고통스럽고 생산성을 저하시키는 컨텍스트 전환이 발생한다는 것입니다. 그렇기 때문에 대부분의 소프트웨어에는 정기적으로 우선 순위를 지정하고, 우선 순위를 다시 지정하고, 수락하고, 연기하거나 무시해야 하는 해결되지 않은 문제와 취약점이 대기열에 있습니다.

보안 플랫폼 제공업체인 Edgescan에 따르면 네트워크 문제를 해결하는 데 평균 54일이 소요됩니다. 웹 앱을 수정하는 데 거의 75일이 걸립니다. 문제는 대기업에서 더 심각하다. Edgescan의 분석에 따르면 대기업 취약점의 45%는 1년 후에도 수정되지 않은 상태로 남아 있습니다.

이 상황은 좋지 않습니다. 소프트웨어는 사용자에게 문제를 일으킬 수 있습니다. 이 취약점은 공격자, 봇, 범죄 집단에 의해 악용될 수 있습니다. 알려졌으나 패치가 적용되지 않은 취약점은 너무 유명해서 이에 대한 정보가 시스템 침입을 원하는 다른 사람들에게 판매됩니다.

또한: 가장 큰 AI 위협은 내부에서 발생합니다 – 조직을 방어하는 12가지 방법

위반과 관련하여 Verizon의 2025년 데이터 위반 사고 보고서에 따르면 위협 ​​행위자의 20%가 코드 취약점을 통해 시스템에 대한 초기 액세스 권한을 얻은 것으로 나타났습니다. 이는 전년도보다 34% 증가한 수치입니다. 다른 두 가지 주요 액세스 방법은 자격 증명 도용(22%)과 피싱 공격(16%)이었습니다.

즉, 패치 취약점으로 인해 모든 침해 공격의 20%가 차단되었을 수 있지만 성공은 그렇게 간단하지 않습니다.

이 문제를 뒷받침하는 또 다른 통계가 있습니다. 보안 분석 회사인 VulnCheck에 따르면 “KEV의 32.1%가 CVE가 발행된 당일 또는 그 이전에 악용 증거가 있었는데, 이는 2024년 23.6%에서 증가한 수치입니다.”

즉, 악의적인 사람들은 취약점에 대해 알고 있었고, KEV는 공급업체가 수정해야 한다는 사실을 알기 전에 알려진 악용 취약점을 나타냅니다. CVE(Common Vulnerability and Exposure)는 알려진 취약점의 해결 방법을 알리고 추적하는 데 자주 사용되는 메커니즘입니다.

기본적으로 VulnCheck 통계에 따르면 모든 취약점의 거의 1/3이 악의적인 행위자의 손에 있으며 취약점을 수정할 수 있는 개발자가 이를 발견하기도 전에 적극적으로 악용되고 있다고 보고되었습니다.

패치를 더 빨리 할 수는 없습니다.

불행하게도 우리는 개발자들에게 향상된 속도나 생산성으로 코드를 패치하라고 요구할 수는 없습니다. 인간 코더의 물리적 한계, 심지어 성능은 향상되었지만 AI 대군주의 실질적인 한계를 넘어서는 실질적인 문제가 있습니다.

엔터프라이즈 시스템에는 종속성, 가동 시간 요구 사항, 변경 제어 보드, 규제 제약, 고객 약속, 취약한 통합 및 취약한 코드를 소유하지 않을 수 있는 팀이 있습니다.

또한: AI를 출시하시나요? 비즈니스에서 실수할 수 없는 5가지 보안 전술과 그 이유

소규모 시스템은 제어할 수 없는 구성 요소나 요소에 의존할 수 있습니다. 예를 들어, 이번 주 어느 날 아침에 일어났더니 기존 웹 사이트 중 5개가 더 이상 작동하지 않는 것을 발견했습니다. 해당 사이트는 완벽하게 작동하고 있었습니다. 그것들은 적어도 7년 동안 수정되지 않았습니다.

호스팅 운영자가 경고 없이 중요한 소프트웨어 시스템의 버전을 변경했고, 내 사용자 정의 코드 중 일부가 작동을 멈췄습니다. 내 코드가 수행한 작업의 속도를 다시 파악하고 추적하고 수정하는 데 며칠이 걸렸습니다. 그리고 그것은 OpenAI Codex의 도움으로 이루어졌습니다.

다음으로 우선순위 피로 문제가 있습니다. 모든 취약점이 중요하다고 판단되면 중요한 것은 아무것도 없는 것과 같습니다. 해야 할 일 목록의 우선순위를 정했는데, 그 중 최우선 과제가 30개 있다는 것을 깨달은 날이 있었나요? 고개를 끄덕이는 모습이 보입니다. 그 시점에서는 그저 압도적일 뿐 아무런 문제도 눈에 띄지 않습니다.

또한: AI가 사이버 보안을 쓸모없게 만들까요, 아니면 실리콘 밸리가 다시 조립하고 있습니까?

AI 기반 취약성 스캔도 문제를 해결하는 데 도움이 되지 않습니다. Anthropic Mythos와 같은 뛰어난 도구나 Claude Security 또는 Codex Security와 같은 더 접근하기 쉬운 도구로는 실제로 문제를 해결할 수 없습니다. 결과로 가득 찬 대시보드는 제어된 것처럼 보일 수 있으며, 기본 엔지니어링 관행은 계속해서 동일한 결함 범주를 생성합니다.

이 시점에서 IT 운영자는 네트워크 또는 애플리케이션 방화벽, 침입 탐지 및 방지 시스템, 엔드포인트 탐지 및 대응, 네트워크 세분화, 속도 제한, 로깅 및 모니터링, 런타임 애플리케이션 자체 보호 또는 가상 패치와 같은 도구를 사용하여 방어 및 연기 접근 방식을 시도하는 경우가 많습니다.

이러한 “보상 통제”는 때때로 필수적이지만 근본 원인을 해결하기 위한 영구적인 대체 수단이 될 수 있습니다. 보안 도구의 기반으로 취약한 소프트웨어를 둘러싸는 것은 근본적인 문제인 취약한 코드를 해결하지 못하기 때문에 이러한 관행은 위험합니다.

사후 패치는 안전하지 않을 뿐만 아니라 비용도 많이 듭니다. 예, 때로는 필요합니다(예를 들어 당시 표준을 사용하여 한 줄의 코드를 작성한 지 10년이 지났을 때 훨씬 나중에 나온 OS 릴리스에서 코드가 깨졌습니다). 그러나 원래 코드가 개발되는 동안 방어적으로 코딩하고 수정하는 것은 릴리스 후 수정 사항을 식별, 분류, 패치 적용, 검증, 배포 및 모니터링하는 것보다 훨씬 시간이 많이 걸리고 고통스럽습니다.

현대 개발로 인해 위험 방정식이 바뀌었습니다.

모든 사람이 서로 다른 관점을 갖고 있기 때문에 “현대적인 개발” 관행이 언제 시작되었는지 정확히 파악하기는 어렵습니다. 그러나 디스크에 업데이트를 제공하는 것에서 클라우드 중심 서비스를 구축하는 것으로 전환하면서 개발 수명 주기가 바뀌었다고 말하는 것이 타당합니다. 그러다가 지난 몇 년 동안 AI 지원 개발이 변혁적인 힘이 되면서 관행이 다시 바뀌었습니다.

사실은 소프트웨어 개발에 대한 우리의 접근 방식이 ~이다 찾아 고치는 것이 세상의 방식이던 시절과는 다르다. 이제 애플리케이션 위험은 설계 선택, 코딩 방식, 종속성 선택, 비밀 처리, ID 제어, 빌드 파이프라인, 배포 구성, 런타임 노출 등 전체 소프트웨어 수명주기에 만연해 있습니다.

또한: 기업 AI 에이전트가 궁극적인 내부자 위협이 될 수 있는 이유

지난 1년 동안 제가 논의한 것처럼 AI는 출시 일정을 근본적으로 변경하고 일정을 가속화하며 일정을 축소했습니다. 불행하게도 이러한 속도 증가는 코드 생성과 보안 검토 사이의 격차를 더 넓힐 수 있습니다. 오히려 코드를 만드는 시간이 줄어들면서 생성되는 코드의 양이 늘어났습니다.

반면에 테스트 시간은 줄어들지 않았습니다. 저는 Claude Code에서 약 4개월 동안 Mac 앱 작업을 해왔습니다. 실제 코드 작성 과정은 각 세션마다 약 20분 정도 소요됩니다. 하지만 내 코드는 정교한 문서 구문 분석을 위해 온디바이스 AI를 사용하기 때문에 각 세션마다 테스트하는 데 몇 시간이 걸립니다.

코딩 시간이 단순한 반올림 오류로 줄어들었는데, 이제는 테스트 시간이 개발 시간의 대부분을 차지합니다. 하지만 초기 코드 작성 과정에 AI가 없었다면, 무슨 일이 일어날 때마다 이 프로젝트를 완료할 시간이 없었을 것입니다.

또한: 실제적이고 신뢰할 수 있는 제품을 빠르게 출시하는 데 사용하는 7가지 AI 코딩 기술

중요한 문제는 AI가 생성한 코드가 반드시 보안 코드는 아니라는 점입니다. AI 모니터링 회사인 Snyk는 개발자의 56.4%가 AI 생성 코드에서 보안 문제를 자주 경험했으며, 80%는 조직의 AI 코드 보안 정책을 무시하거나 우회했다고 보고했습니다.

애플리케이션 보안이 시작되는 위치 변경

이 기사에서 우리는 소프트웨어 생산이 가속화됨에 따라 어떤 일이 일어나는지 살펴보았습니다. 그러나 보안은 여전히 ​​다운스트림 문제로 남아 있습니다. 즉, 런닝머신의 속도가 빨라집니다. 코드가 많다는 것은 문제가 더 많다는 뜻이며, 개발자가 다시 수정하는 것보다 더 빨리 문제를 발견할 수 있다는 의미입니다.

분명히 말하면 우리는 찾아 고치거나 방어하고 연기하는 관행을 결코 포기할 수 없습니다. 일이 일어납니다. 우리는 항상 스캐닝, 패치 적용, 모니터링 및 런타임 방어를 어느 정도 사용해야 합니다. 그러나 이러한 관행은 2차 안전망으로 전환되어야 합니다.

취약점 백로그가 조직에서 관리 가능한 프로세스나 끝없는 대기열처럼 느껴지나요? 아래 댓글을 통해 알려주세요.


소셜 미디어에서 저의 일상적인 프로젝트 업데이트를 팔로우하실 수 있습니다. 주간 업데이트 뉴스레터를 구독하고 Twitter/X에서 저를 팔로우하세요. @DavidGewirtzFacebook(Facebook.com/DavidGewirtz), Instagram(Instagram.com/DavidGewirtz), Bluesky(@DavidGewirtz.com), YouTube(YouTube.com/DavidGewirtzTV).

자세한 정보 확인

완벽 가이드 보기

관련 기사

댓글 남기기