2018년 1월 3일, 구글의 프로젝트 제로 팀은 다른 여러 대학 연구자들과 함께 다음을 수행했습니다. 몇 가지 보안 문제를 확인했습니다. 마이크로프로세서에서 성능 향상을 위해 사용되는 최적화 기법인 추측 실행을 사용합니다.
카우치베이스는 최근 공개된 멜트다운 및 스펙터와 같은 프로세서/OS 취약점 클래스에 대해 알고 있습니다. 이러한 취약점은 Intel, AMD, ARM을 포함한 최신 프로세서 및 운영 체제에 영향을 미칩니다. 이 문서에서는 이러한 종류의 취약점이 Couchbase와 같은 사용자 공간 애플리케이션에 어떤 영향을 미칠 수 있는지 설명합니다..
취약성 평가
투기적 실행과 관련된 두 가지 변종 취약점이 발견되었습니다. 이 취약점을 통해 공격자는 사이드 채널을 통해 커널 또는 다른 프로세스에서 기밀 정보를 유출할 수 있습니다.
멜트다운 는 비정상적인 실행의 부작용을 악용하여 사용자 애플리케이션과 운영 체제 간의 격리를 깨고 애플리케이션이 시스템 메모리뿐만 아니라 다른 애플리케이션의 메모리에도 액세스할 수 있도록 합니다.
스펙터 는 추측 실행의 취약점을 악용하여 애플리케이션 간의 격리를 깨고, 한 애플리케이션이 다른 애플리케이션과 연결된 메모리에 액세스하여 사이드 채널을 통해 유출될 수 있도록 합니다.
공격에 성공하면 공격 대상 피해자와 동일한 호스트 및 프로세서에서 악성 프로세스를 실행합니다. 따라서 해당되는 경우, 기계에 대한 접근을 통제하고 물리적 기계 보안을 강화하면 이러한 공격에 대한 효과적인 일시적 방어책이 될 수 있습니다.
이러한 취약점을 완전히 완화하려면 운영 체제에 최신 커널 수정 패치를 적용해야 합니다. 또한 이러한 패치를 활성화하고 프로세서 펌웨어를 업데이트해야 할 수도 있습니다. 보호를 보장하기 위해 카우치베이스는 고객이 하드웨어 및 OS 공급업체에 구체적인 조치에 대해 문의할 것을 강력히 권장합니다.
스택 보안
사용자 공간에서 실행되는 다른 애플리케이션과 마찬가지로 Couchbase 및 기타 데이터베이스 기술도 이러한 취약점의 영향을 받을 수 있습니다.
다음 표는 카우치베이스가 실행되는 환경에 따라 고객이 수행해야 할 작업을 간략하게 설명합니다. 카우치베이스는 고객이 프로덕션 환경에 배포하기 전에 일반적인 절차를 사용하여 새 바이너리의 유효성을 검사하여 수정 사항을 배포할 것을 권장합니다.
| 시나리오 설명 | 카우치베이스 권장 사항 |
|---|---|
|
Couchbase is run on bare metal (no virtual machines). And no other untrusted application logic (application tier) is run on the same machine |
1. Apply Linux/Windows OS patches 2. Consult with your Linux/Windows OS vendor about whether and how to enable the firmware changes. (참조는 아래 참조) |
| 카우치베이스는 퍼블릭 호스팅 환경의 가상 머신에서 실행됩니다. |
On each of the supported cloud providers (AWS, Azure & GCP) we are in the process of updating pre-configured images to include the latest OS patched version. Customers not using those pre-configured images should refer to cloud providers for guidance on applying OS patches. |
| Couchbase는 프라이빗 호스팅 환경의 가상 머신에서 실행됩니다. |
1. Apply Linux/Windows OS patches 2. Consult with your Linux/Windows OS vendor about whether and how to enable the firmware changes. Additionally, we recommend isolating Couchbase Server on dedicated physical hardware. (참조는 아래 참조) |
|
Couchbase is run in a physical or virtual machine NOT isolated from other application logic running on the same machine |
1. Apply Linux/Windows OS patches 2. Consult with your Linux/Windows OS vendor about whether and how to enable the firmware changes. We recommend restricting the use of or blocking untrusted code from executing on the machine. (참조는 아래 참조) |
성능 자문
카우치베이스는 패치된 바이너리에 대한 성능을 계속 평가하고 있습니다. 멜트다운 OS 커널 패치는 OS 커널 메모리 누수를 방지합니다. 그러나 프로세서와 상호 작용하는 방식이 변경되어 성능이 저하될 수도 있습니다.
성능 저하는 워크로드에 따라 크게 달라지며(인텔의 초기 보고서와 일치), 프로덕션 배포 전에 사용자 환경에서 테스트할 것을 Couchbase는 권장합니다. 또한 필요한 경우 추가 부하를 감당하기 위해 더 강력한 CPU 시스템으로 이동해야 할 수도 있습니다.
참조
- AWS - https://aws.amazon.com/security/security-bulletins/AWS-2018-013/
- Microsoft Windows - https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
- MAC OS - https://support.apple.com/en-us/HT208394
- Red Hat Enterprise Linux - https://access.redhat.com/security/vulnerabilities/speculativeexecution
- 우분투 리눅스 - https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown
- Debian Linux - https://security-tracker.debian.org/tracker/CVE-2017-5754
- SuSE Linux - https://www.suse.com/c/suse-addresses-meltdown-spectre-vulnerabilities
문의하기
이 문제에 대해 상담이 필요한 경우 다음 연락처로 문의하세요. support@couchbase.com.