지난 주에 저희는 블로그 업계 전반의 보안 취약성에 대응하여 Couchbase 데이터 플랫폼 보안에 대한 권장 사항을 제공합니다. 저희는 패치된 OS 바이너리로 인한 잠재적인 성능 영향을 계속 분석했으며, 이 블로그 게시물에 자세한 평가 내용이 담겨 있습니다.

이전 블로그에서 언급했듯이 이러한 공격이 가능하려면 공격자가 피해 프로세스와 동일한 호스트 및 프로세서에서 악성 프로세스를 실행할 수 있어야 합니다. 제어된 프로덕션 환경에서는 실행 중인 애플리케이션에 대한 제한이 있기 때문에 이 공격이 발생할 위험은 낮습니다.

머신에 대한 액세스를 제어할 수 있는 경우 필요하지 않을 수 있습니다(해당되는 경우)를 사용하여 완화 기능을 활성화하고 성능 저하가 발생하지 않도록 커널 매개변수를 설정할 수 있습니다.

영향 분석

이러한 공격을 완화하기 위해 현재 사용 가능한 바이너리로 OS를 패치하면 CPU 사용률이 증가할 수 있습니다. 예를 들어, 테스트 중 한 번은 CPU 사용량이 약 20% 증가했습니다. (버킷 통계를 확인하려면 웹 콘솔 모니터링 페이지에서 확인하세요.)

 

성능에 미치는 영향을 평가하기 위해 다음 테스트를 실행했습니다.

  • 시나리오 'A' - 카우치베이스 클러스터는 프로덕션 배포를 위한 추가 용량으로 충분한 크기입니다.
  • 시나리오 'B' - 카우치베이스 클러스터는 기존 부하를 처리할 수 있는 적절한 크기이지만 추가 용량을 사용할 수 없습니다.

워크로드

혼합 워크로드(읽기/쓰기 50/50)의 YCSB 워크로드 A.

시나리오 A

4노드, 버킷 2개, 인텔 프로세서 E5-2630 v4(하이퍼스레드 코어 20개, 64GB RAM), Couchbase 클러스터에서 YCSB 워크로드 A 실행.

패치를 적용하지 않은 'CentOS 7 커널'과 적용했을 때의 성능을 비교했습니다. 3.10.0-514.2.2' 및 'CentOS 7 커널 3.10.0.693.11.6' 버전으로 패치했습니다.  

결과 - 아래 그래프는 다음을 보여줍니다. CPU 사용률 는 패치된 머신에서 약 30% 증가했습니다. 그러나 성능에 미치는 영향은 처리량 그리고 지연 시간 는 5% 미만이었습니다. 이 머신들은 추가 CPU 용량을 늘릴 수 있었기 때문입니다.

 

 

패치되지 않음 - CentOS 7 커널 3.10.0-514.2.2 (in μs) 패치 - CentOS 7 커널 3.10.0-693.11.6 (in μs)
읽기 지연 시간 평균 187 196
95위 213 228
99위 1,497 1,525
쓰기 지연 시간 평균 209 219
95위 236 254
99위 1,583 1,606

시나리오 B

카우치베이스 클러스터에서 YCSB 워크로드 A 실행 - 3노드, 버킷 1개, 인텔 프로세서 E5-2680 v3(12코어, 64GB RAM).

결과: 아래 그래프는 다음을 보여줍니다. 처리량 그리고 지연 시간 이 영향을 받는 이유는 패치된 컴퓨터에서 CPU가 최대 사용률에 가깝게 실행되고 있기 때문입니다.

 

 

패치되지 않음 - CentOS 7 커널 3.10.0-514.2.2 (in μs) 패치 - CentOS 7 커널 3.10.0-693.11.6 (μs 단위)
읽기 지연 시간 평균 847 1,318
95위 2,627 4,093
99위 7,207 9,167
쓰기 지연 시간 평균 879 1,352
95위 2,703 4,163
99위 7,315 9,271

결론

처리량 및 지연 시간에 미치는 영향을 최소화하기 위해 OS 패치를 적용하기 전에 카우치베이스 클러스터의 크기를 다시 평가하여 추가 CPU 용량을 확보하는 것이 좋습니다.

작성자

게시자 Anil Kumar, 제품 관리 이사, Couchbase 클라우드 네이티브 데이터베이스

Anil Kumar는 Couchbase의 제품 관리 이사입니다. Anil은 19년 이상 엔터프라이즈 소프트웨어 및 클라우드 서비스를 비롯한 다양한 영역에서 소프트웨어 제품을 구축하는 데 경력을 쌓아왔습니다. 그는 고객, 파트너, 개발자, 분석가들과 함께 제품 전략과 비전을 전파하는 등 Couchbase Server, Couchbase Cloud, Kubernetes 제품군을 책임지는 실무형 제품 리더입니다. Couchbase에 입사하기 전에는 Microsoft 레드몬드에서 수년간 근무했습니다. Anil은 캐나다 토론토 대학교에서 컴퓨터 공학 석사 학위를, 인도 비스베바라야 공과대학교에서 정보 기술 학사 학위를 받았습니다.

댓글 남기기