Home 기술 문서 보다 빠른 보안 규칙으로 애플리케이션 성능 향상
Applications

보다 빠른 보안 규칙으로 애플리케이션 성능 향상

About The Author

Outline

점점 더 많은 애플리케이션 개발 팀이 워크플로우에 보안을 통합함에 따라 애플리케이션 파이프라인, 워크플로우 및 성능 측면에서 보안이 애플리케이션에 미치는 영향을 검토하고 있습니다.

규정 준수 요구 사항으로 인해 웹 애플리케이션 및 API 보호(WAAP)는 일반적으로 애플리케이션 스택에 구축됩니다. 하지만 조직이 워크로드를 클라우드로 이전하고 애플리케이션 패브릭에 보안을 내장하기 시작함에 따라 WAAP의 역할은 진화하고 있습니다. 조직에는 변화하는 클라우드 아키텍처와 증가하는 보안 위협에 맞춰 확장하고 적응할 수 있는 WAAP 플랫폼이 필요합니다.

이 글에서는 WAAP 엔진, 특히 해당 엔진과 함께 사용하도록 특별히 제작된 규칙 집합을 클라우드 워크플로우로 확장하고 웹 애플리케이션의 성능을 향상시키는 동시에 온라인 위협으로부터 강력한 보호 기능을 유지하는 방법에 대해 살펴보겠습니다.‍

WAAP 엔진과 WAAP 엔진의 ruleset‍

WAAP는 응용 프로그램 스택 및 네트워크 보안 프로그램의 중요한 부분이어야 합니다. 기존에는 WAAP가 애플리케이션 개발과 분리되어 있었으며 애플리케이션 외부에 위치한 보안 계층으로 간주되었습니다. 그러나 현대의 WAAP 아키텍처와 툴은 SecOps가 CI/CD 프로세스에 따라 DevOps와 협력하는 데 도움을 주었으며, 여기에는 애플리케이션 개발에 따른 규칙 생성 및 테스트가 포함됩니다. 애플리케이션 인프라를 통과하는 트래픽을 분석하는 데 적절히 사용될 경우 WAAP 엔진과 규칙 집합은 분석이 얼마나 빨리 완료되고 감사 및 차단 결정이 전체 애플리케이션 아키텍처의 일부로서 얼마나 잘 수행되는지에 중요한 역할을 합니다.

자동차의 엔진, 컴퓨터 및 드라이브트레인과 마찬가지로 WAAP 엔진, 규칙 집합 및 보호되는 응용 프로그램은 함께 작동하도록 설계되고 최적화되어야 합니다. 자동차 제조업체는 엔진을 거품으로 설계하지 않습니다. 차량의 나머지 프레임과 부품이 전체적으로 최고의 성능과 효율에 도달하도록 최적화되어야 합니다. WAAP 엔진과 규칙 집합에 대해서도 마찬가지입니다. 이러한 변수를 고려하지 않는 WAAP는 과부하 및 과부하가 발생하여 웹 애플리케이션의 성능과 사용자 환경이 저하될 수 있습니다.‍

WAAP 워크로드를 줄여 속도와 effectiveness‍

Edgio WAAP는 오픈 소스, 산업 및 독점 서명을 조합하여 규칙 집합에 정보를 제공합니다. 각 서명이 전체 규칙 집합의 성능에 미치는 영향을 신중하게 평가합니다.

WAAP 엔진을 설계하고 최적화하면서 오픈 소스 및 업계 규칙 집합을 수정 없이 수집하고 소비함으로써 트래픽이 회선을 통과할 때 거의 모든 규칙을 분석해야 한다는 것을 알게 되었습니다. 이 모델은 WAAP 사이에서 상당히 일반적이며 트래픽에 어떤 일이 발생하는지 “쉽게”볼 수 있습니다. 또한 트래픽과 관련된 위험을 평가하기 위해 WAAP가 모든 규칙을 실행하도록 강제합니다. 이로 인해 WAAP에 불필요하게 과중한 워크로드가 발생하며 규칙 집합이 커짐에 따라 더욱 악화됩니다.

물론, 항상 속도에 관한 것은 아닙니다. WAAP의 핵심 요소는 트래픽과 관련된 위험(손상)과 보상(성공적인 트랜잭션)을 결정하고 트래픽을 악성, 의심 또는 무해한 것으로 플래그할지 여부를 결정하는 기능입니다. WAAP는 팀에 경고(감사/경고 모드)를 보내고 트래픽이 너무 위험하다고 판단되는 경우(프로덕션/차단 모드) 트래픽을 차단하거나 다시 라우팅합니다.

이러한 분석은 수집된 오픈 소스 및 업계 규칙 집합을 검토할 때 더 큰 과제가 됩니다. 시장에서 가능한 모든 WAAP 엔진에 대해 속도와 효율성을 염두에 두고 제작된 것은 아닙니다. 이것은 그들이 나쁘다는 것을 의미하는 것이 아니라 단지 그들이 위험을 먼저 생각하고 성과를 나중으로 남겨두는 것을 의미합니다. 즉, 개선의 여지가 있습니다.

완전성과 정확성을 위해 만들어진 규칙 집합을 먼저 사용하면 많은 WAAP는 분석 중인 트래픽을 두 모드(감사 및 블록)에서 모두 처리할 수 없으므로 InfoSec 팀이 모드를 선택해야 합니다. 즉, 감사 모드에서 시작하여 프로덕션 모드로 전환하거나 실제 테스트가 거의 또는 전혀 없는 프로덕션 모드로 직접 전환하여 놓친 위협과 오탐에 노출됩니다.‍

Edgio의 WAAP 개선 방법 rulesets‍

규칙 집합에 대한 오픈 소스 OWASP ModSecurity 모델은 WAAP 규칙 집합을 개발하고 구현할 수 있는 표준적이고 일관된 방식을 제공합니다. 이를 보완하기 위해 OWASP는 이 모델을 따르는 WAAP에 의해 수집될 수 있는 업계 일반 규칙 집합을 제공합니다.

그러나 우리 팀은 규칙 집합을 구현하면서 완전하고 정확하면서도 인제스트되는 규칙 집합이 실제로 WAAP 엔진을 지연시키고 있음을 깨달았습니다. 그래서 팀은 규칙 집합이 어떻게 구성되고 처리되는지를 조사하기로 결정했습니다. WAAP 관리자가 놀라지 않을 수 없는 사실은 많은 규칙이 동일한 데이터를 반복적으로 통과하여 WAAP를 통과하는 트래픽의 위험성을 판단하는 데 필요한 검사를 순환한다는 것입니다.

일부 프로토콜 시행 규칙은 매우 간단하며 규칙 집합 생태계 내에서 “살아있을”필요가 없습니다. 이를 해결하기 위해 먼저 OWASP 규칙 집합을 ModSecurity가 아닌 형식으로 WAAP 엔진에 직접 구현하여 효과적으로 줄이는 규칙 집합을 개발했습니다. 이를 통해 조기 실행이 가능하고 탐지가 빨라집니다.

다음으로 요청 본문을 분석하는 규칙을 지정했습니다. 규칙에서 동일한 표현식을 다시 계산하는 성능 오버헤드를 완화하는 캐싱 계층을 구축했습니다. XML 형식 본문의 예를 들어 OWASP CRS 규칙 집합에서 “xml:/*”라는 표현이 몇 번 나타나는지 검색해 캐싱 계층 없이 단일 요청을 처리할 때 XPath가 재계산될 수 있는 횟수를 확인했습니다. 이 숫자는 매우 중요합니다.

마지막으로, 많은 매크로 확장/문자열 대체 및 명시적 검색이 발생하는 경우 규칙 집합에서 이러한 규칙을 식별하여 제거하고 가능한 경우 정규식(Rx) 연산자 대신 해시맵 조회 및 구문 일치(pm) 연산자와 같은 더 나은 조회 및 검색 알고리즘을 엔진에 구현했습니다.

규칙 집합 구조를 다르게 적용함으로써 WAAP 엔진은 더 빠른 데이터 구조와 JSON과 같은 개방형 표준 형식을 사용하며, 구성과 실행 속도가 더 빨라졌습니다. 이는 속도뿐만 아니라 정확도에서도 더 나은 성능을 제공합니다.

  • 낮은 오탐률: Edgio는 정확성이 유지되도록 규칙 집합을 배열하고 제어합니다.
  • 향상된 엔진 성능: Edgio WAAP 엔진은 엔진에 과부하를 방지하는 방식으로 규칙 집합을 실행합니다.

예를 들어, OWASP IP 차단 목록 정책 규칙의 경우 ModSecurity 엔진은 잘못된 IP 목록을 찾는 자체 “MSC_TREE” 알고리즘을 사용합니다. 또는 Edgio WAAP 엔진은 상당히 빠른 다른 알고리즘을 사용합니다. 다음 테스트 결과는 Edgio WAAP가 ModSecurity에 대해 어떻게 수행되는지 보여줍니다. ModSecurity는 대규모 IP 목록에서 백만 개의 쿼리를 수행할 때 약 200ms ~ 500ms 대기 시간을 추가합니다. Edgio WAAP는 자사 네트워크를 통해 하루 약 10B 건의 요청을 처리합니다. 이 작은 숫자는 큰 규모에서 매우 중요합니다.

경고 방지 및 트레이드오프 차단

또한 WAAP 엔진과 규칙 집합의 조합이 향상됨에 따라 조직은 더 빠른 성능을 얻을 수 있으며 이중 모드(블록 모드 및 감사 모드 모두)에서 WAAP를 실행할 수 있습니다. 이를 통해 보안 운영 팀은 감사/경고 모드에서 프로덕션 트래픽에 대한 새 규칙을 실험하고 규칙 집합을 WAAP에서 차단 모드로 승격하기 전에 규칙을 미세 조정할 수 있습니다.

고도로 사용자 정의 된 Edgio 규칙 집합을 사용하면 관리자가 모든 곳에서 슬라이스 및 주사위를 수행하고 듀얼 모드에서 규칙 집합을 실행할 수 있습니다. 여러 설정에 동일한 규칙이 적용되어 관리자가 성능에 영향을 주지 않으면서 두 번 실행할 수 있습니다. 지능형 엔진 및 규칙 집합 구현 덕분에 이러한 규칙을 두 번 실행할 수 있습니다.

여기서 얻을 수 있는 가치는 WAAP 관리 팀을 넘어 확장됩니다. 많은 Edgio 고객들이 DevOps 라이프사이클에 이 옵션을 통합하여 비즈니스, 엔지니어링 팀 및 IT 보안 팀이 운영 차단 모드에 적용하기 전에 감사 모드에서 규칙을 협업하고 테스트할 수 있도록 합니다.

이 2단계 프로세스를 통해 IT 보안 팀은 방화벽 구성 변경 사항을 활성화하기 전에 검토할 수 있으며, 팀이 실제 프로덕션 트래픽에 대한 변경 사항을 테스트할 데이터를 갖출 수 있으므로 규칙 집합이 프로덕션에 배치된 후 오탐률을 줄일 수 있습니다. 규칙 집합이 검증되면 몇 초 내에 업데이트된 구성이 배포됩니다. 필요한 경우 몇 분 이내에 롤백이 가능합니다. 이는 의미 있는 규칙 집합 시험을 훨씬 더 현실적이고, 역동적이며, 영향력 있고, 효과적이며, 비즈니스 목표를 뒷받침합니다.

Edgio 듀얼 WAF 모드 접근 방식은 성능을 더욱 향상시킵니다. 지능형 규칙 집합은 알려진 악성 트래픽을 신속하게 차단하여 WAF에 여유 공간을 제공함으로써 지속적으로 표시되는 나머지 트래픽을 처리할 수 있도록 합니다. 따라서 관리자는 예측 가시성을 확보하는 데 더 많은 시간을 할애할 수 있습니다. 즉, 프로덕션 사이트에 배포하기 전에 감사 모드를 통해 애플리케이션의 사물을 확인할 수 있습니다.

예측할 수 없는 워크로드에 적응하면서도 보안성이 뛰어난 아키텍처를 제공할 수 있는 애플리케이션 스택이 비즈니스에 필요한 경우 WAAP 엔진 및 규칙 집합 설계를 고려해 보십시오. 이러한 요소를 최적화하면 웹 애플리케이션의 성능을 향상시킬 수 있습니다.

Edgio WAAP 지능형 엔진 및 규칙 집합으로 웹 애플리케이션을 빠르고 정확하게 보호할 수 있는 방법에 대해 자세히 알아보려면 지금 바로 연결하십시오.