애플리케이션 보안, DevOps & SecOps 관점에서 살펴보기

애플리케이션 보안 은 어렵고, 올바르게 수행하는 것은 더욱 어렵습니다. 만약 쉽고 간단했다면, 잘못된 보안으로 인한 침해 사례로 인해 경영진들이 징역형을 받지 않았을 것입니다! 오늘날의 디지털 중심 세계에서, 현대적인 애플리케이션을 사이버보안 위협으로부터 안전하게 보호하는 것은 기업들이 극복해야 할 가장 시급한 과제 중 하나가 되었습니다.

기업들은 공격자들을 물리치기 위해 지속적인 노력을 기울이고 있습니다.

그러나 확률은 낮습니다:

매일 뉴스에 새로운 정보 유출 사례가 나와서, 기업 리더들은 보안을 더 잘 우선시하고 필요로 하고 있습니다.

그렇다면, 이미 모든 사람들이 애플리케이션 보안 을 진행하고 있다면, 왜 그중 소수만이 제대로 하고 있는 걸까요?

목차

1. 디지털 파괴로 인한 새로운 애플리케이션 보안 문제
2. 안전한 DevOps를 달성하기 위해 고군분투하는 조직
3. 위대한 DevOps-SecOps 분할
4. 속도와 보안을 제공하기 위한 격차 해소
5. 최신 애플리케이션 보안은 DevOps를 무료로 설정해야 합니다.

1. 디지털 파괴로 인한 새로운 애플리케이션 보안 문제

지난 10년 동안 애플리케이션 개발은 점점 더 까다로워지는 비즈니스 기대에 부응하여 엄청난 변화를 겪었습니다. 조직의 절반 이상이 이제 애플리케이션 없이는 운영할 수 없다고 주장합니다. 또 다른 67%는 IT 및 비즈니스 프로세스 최적화와 같은 디지털 혁신 노력이 신제품 및 서비스의 출시 속도를 향상시킨다고 생각합니다.

이러한 결과로 인해 개발팀들은 클라우드 컴퓨팅과 마이크로서비스와 같은 고급 기술을 사용하며, DevOps 원칙과 결합하여 혁신적으로 빠르게 진행하고 경쟁력을 유지하려고 합니다. 이러한 노력은 점점 더 혼잡해지는 시장에서 경쟁하고자 하는 목표를 달성하는 데 도움이 되고 있습니다.

하지만 대부분의 경우와 마찬가지로, 이러한 발전에는 대가가 따릅니다. DevOps의 빠른 속도는 보안팀들이 속도를 따라잡고 적절한 보안 가드레일을 설치하는 것을 어렵게 만들었습니다. 전통적인 보안 관행은 이제 민첩한 소프트웨어 개발의 빠른 출시 주기와 잘 어울리지 않습니다. 예를 들어, 아마존은 2015년에도 연간 5천만 개의 제품 배포를 이루었습니다. 이는 초당 약 하나의 출시를 의미합니다.

개발 속도가 보안팀이 구성 설정을 체크하고, 취약점을 검사하는 속도를 빨리 따라잡을 수 없다는 것은 놀라운 일이 아닙니다. 특히 현재 개발자가 보안 전문가를 500 대 1로 압도하는 상환을 고려하면 더욱 그렇습니다.

게다가, 현대적인 애플리케이션 환경은 거의 무한한 공격 대상을 의미합니다. 87%의 기업이 현재 멀티 클라우드를 사용하며, 대부분은 여러 애플리케이션 아키텍처와 인프라에서 일관된 보안을 제공하는 데 어려움을 겪고 있습니다. 여기에는 오류를 범할 여유가 없습니다 – 조직은 매번 공격을 막아야 하며, 그렇지 않으면 침해사고, 공개적 수치심, 혹은 수십억 달러의 피해를 감수해야 할 수 있습니다. 악의적인 행위자들은 한 번만 성공하면 승리할 수 있습니다.

유지하고, 그것을 안전하게 수행해야 한다는 압박으로 인해, DevOps를 DevSecOps로 서서히 재편하는 것이 진행되고 있습니다. 여기서 보안은 소프트웨어 개발 수명 주기의 초기에 “shifted left” 되며, 용량이 더 유연하고 변화에 열려있는 단계에서 도입됩니다. 다시 말해, 보안은 프로세스와 도구에 내장되어 일반적인 결함처럼 문제점을 찾고 더 효율적으로 해결할 수 있도록 합니다.

2. 안전한 DevOps를 달성하기 위해 고군분투하는 조직

다른 사람에게 DevSecOps에 대해 설명해달라고 요청하면 다음 답변 중 하나를 얻을 수 있습니다.

  • “DevOps에 보안 제공”
  • “코드로서의 보안(Security as code)”
  • “모두가 IT 보안을 책임진다”

보안 관행을 개발 초기에 더 빨리 통합해야 한다는 필요성을 이해하는 것과 실제로 이를 실행하는 것은 매우 다릅니다. 실제로 DevSecOps는 훨씬 더 세밀한 접근 방식을 필요로 합니다. 대부분의 기업들은 DevSecOps의 의도를 이해하고 있지만, 어떻게 실제로 실행해야 하는지에 대해서는 여전히 불확실합니다. 실제로 소프트웨어 개발 수명 주기 전반에 걸쳐 보안을 완전히 통합하는 기업은 단 14%에 불과합니다.

최근 연구 결과에 따르면, 65%의 보안팀이 shifting left하고 있다고 보고했지만, 그 중 다시 말해 필요한 스캔을 수행하는 기업은 5분의 1에도 미치지 않습니다. 동일한 보고서는 대부분의 보안팀이 마이크로서비스, API, 클라우드 네이티브/서버리스와 같은 첨단 애플리케이션 기술을 모니터링하고 보호하기 위한 프로세스가 마련되어 있지 않다고 시사하고 있습니다.

이러한 가시성 부족으로 인해 보안 조직은 제품이 운영 중에 문제가 발생할 때 맹목적으로 대응해야 합니다. 또한 개발 주기의 나중 단계에서 취약점을 발견할수록 수정 비용이 더 많이 들어갑니다. IBM System Science Institute의 연구에 따르면 초기 설계 단계에서 발견된 결함과 비교하여 구현 중에 발견된 결함을 수정하는 데 드는 비용은 6배, 프로덕션에서 발견된 결함은 100배입니다.

더욱 충격적인 것은 거의 절반의 기업들이 압박적인 기한을 충족시키기 위해 의도적으로 취약한 애플리케이션을 배포한다고 인정하고 있다는 점입니다.

모든 사람들이 안전한 애플리케이션을 원할 수 있지만, 더 빠르고 더 자주 배포하는 것을 선호하기 위해 준수와 애플리케이션 보안 검사는 종종 무시되거나 의도적으로 회피되는 것으로 나타납니다.

3. 위대한 DevOps-SecOps 분할

가장 중요한 문제 중 하나는 과거에 자리 잡은 오래된 인식입니다.

과거의 격리된, 워터폴 방식의 세계에서는 팀들이 서로 독립적으로 작업하며, 각각의 단계 간에 규칙적으로 예정된 배포가 필요했습니다. 보안 운영(SecOps)팀은 종종 개발과 출시 프로세스의 마지막 단계에서만 보안 기능을 도입하여 지연을 초래했습니다. 그리고 시간이 지나면서 더 민첩한 개발 관행을 수용하기 위해 팀 간 협업이 개선되어 왔지만, 개발과 보안팀은 여전히 서로 다른 핵심 목표를 추구하기 때문에 조직의 불일치와 불가피한 마찰을 일으킨다는 사실은 남아있습니다.

DevOps SecOps 애플리케이션 안

DevOps가 SecOps를 보는 방법 및 그 반대의 경우

기술 전문가의 48%는 보안이 소프트웨어를 신속하게 제공하는 능력에 대한 주요 제약이라고 생각합니다.

반면에, SecOps 및 애플리케이션 보안 팀은 취약점, 잠재적 위험 및 가능한 규정 준수 문제를 식별하기 위해 철저한 테스트에 초점을 맞추고 있습니다. 그들은 개발자들이 특히 애플리케이션 스택에서 그림자 IT의 영향으로 더 자유롭게 작동하고 있다고 느끼며, 그들은 개발자들이 전속 속도로 전진할 때 늦추기 어려운 상황에 직면하고 있습니다.

DevSecOps에 보안(Sec)을 성공적으로 통합하기 위해서는 이러한 오래된 문화적 편견을 변화시키는 것이 중요합니다. 애플리케이션 보안 을 받아들이는 필요성을 강조하고, 팀에 적절한 도구와 자동화를 제공하여 전체 조직을 늦추지 않으면서 더 스마트한 결정을 내리도록 해야 합니다. 본질적으로, DevOps와 보안팀은 모두 높은 품질과 적시에 제공되는 제품을 목표로 하고 있습니다. 그들의 차이점은 이를 측정하고 정의하는 방식에 있습니다.

사실은 개발이 곧 느려지지 않을 것이라는 것입니다. 현재 개발자들의 38%는 월간 또는 그 이상 빠른 속도로 배포하고 있으며, 컨테이너의 54%는 5분 이내에 종료됩니다. 보안을 코드에 붙여넣는 독립적인 요소로 보내는 것이 아니라, End-to-End 포함되어야 하는 핵심 기능 대신 보안을 코드에 연결된 별도의 엔터티로 계속 보는 것은 프로세스 속도를 늦추고 효율성을 감소시킬 뿐입니다.

그 어느 때보다 지금은 애플리케이션 보안 이 DevOps에 적용되는 방식을 혁신할 때입니다.

4. 속도와 보안을 제공하기 위한 격차 해소

앱 보안에 대한 핵심 질문은 다음과 같습니다. DevOps팀과 애플리케이션 보안팀의 협업을 더 쉽게 만드는 것은 무엇입니까? 빌트인 보안은 실제로 어떤 모습입니까?

DvoOps 보안을 개선하려는 조직의 경우 집중해야 할 몇 가지 핵심 사항은 다음과 같습니다.

보안을 최대한 자동화하십시오.
자동화를 사용하여 CI/CD 파이프라인에 직접 내장할 수 있는 보안 솔루션에 투자하십시오. 이를 통해 애플리케이션 보안을 위해 많은 개발 속도를 희생하지 않고도 앱을 더 쉽게 보호할 수 있습니다. 정적 코드 분석, 동적 분석 및 펜 테스트와 같은 기술을 채택하면 위험이 줄어들고 개발자에게 잠재적인 문제를 알립니다. 모든 보안 문제를 스스로 처리할 수 있는 보안 전문가가 충분하지 않으므로 가능한 한 자동화를 사용하십시오.

게이트가 아닌 가드레일로 보안을 구축하십시오.
보안이 게이트가 아닌 가드 레일이 되도록 적절한 지침과 도구를 제공하십시오. 예를 들어 DevOps팀이 템플릿 정책에 액세스할 수 있도록 하면 불필요한 개발 시간을 추가하지 않고도 처음부터 애플리케이션을 보안 요구 사항에 맞게 조정할 수 있습니다. 애플리케이션 및 보안 정책도 CI/CD 파이프라인의 일부로 테스트할 수 있으므로 다른 기능 사양과 마찬가지로 확인됩니다. 요컨대 개발자에게 적절한 보안 제어가 적용된 애플리케이션을 만들고 테스트하는 데 필요한 모든 것을 제공하는 것이 중요합니다. 개발자가 애플리케이션 보안 및 셀프 서비스 규정 준수를 보다 잘 이해함으로써 조직의 취약성과 위험을 줄일 수 있습니다. 개발자는 항상 더 빨리 운전하기를 원하므로 안전하게 속도를 낼 수 있도록 합니다.

보다 적극적인 책임을 가능하게 하는 추상 보안.
일반 개발자는 모든 최신 애플리케이션 보안 환경 동향을 최신 상태로 유지하는 데 필요한 전문 지식 수준을 기대할 수 없습니다. 프로그래밍 기술을 최신 상태로 유지하는 데 충분한 문제가 있습니다. CI/CD 피드백 루프 내에서 단순하고 이해하기 쉬운 인사이트를 제공하는 솔루션을 선택하여 복잡성을 줄이고 개발자의 구매를 쉽게 확보하세요.

보안을 적응 가능하고 확장 가능하며 안정적으로 만드십시오.
최신 및 분산 환경을 포함한 모든 환경에 대해 일관되고 중앙 집중화된 셀프 서비스 보안을 제공하는 솔루션으로 애플리케이션을 보호하십시오. 예를 들어 AI 기반 보안 정책 엔진은 CI/CD 방법론으로 인한 애플리케이션의 빠른 변화를 지원하는 데 필요한 적응성을 가능하게 하는 한 가지 방법입니다. 최신 공격에 대응하여 보안 정책을 조정하고 종속성을 식별할 수 있으면 위험을 더 쉽게 평가하고 더 빠르게 조치를 취할 수 있습니다.

5. 최신 애플리케이션 보안 은 DevOps를 무료로 설정해야 합니다.

프로세스가 끝날 때 애플리케이션 보안 을 간단하게 추가할 수 있는 시대는 지났습니다. 오늘날 세계에서 통합 보안은 모든 DevOps 구현의 일반적인 부분이 되어야 합니다. 애플리케이션 보안 을 마찰 없이 적응 가능하게 만들면 개발팀이 두려움 없이 앞서 나갈 수 있습니다. 처리해야 하는 고통스러운 추가 단계 대신 최신 애플리케이션 보안 은 조직이 비즈니스 목표를 달성하고 더 높은 수준으로 안내할 수 있는 강력한 지원 시스템이 될 수 있습니다.

애플리케이션 보안 환경이 어떻게 변화하고 있고 이에 대해 무엇을 할 수 있는지 자세히 알아보려면 무료 O’Reilly ebook인 웹 애플리케이션 보안 을 다운로드하십시오.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.

아래 뉴스레터를 구독하고 NGINX의 최신 정보들을 빠르게 전달받아보세요.