기술은 단순히 사용하는 것에서 그치는 것이 아니라, 지키는 것 또한 중요하다고 생각이 들었다.
이번 글에서는 클라우드 보안의 주요 동향과 대응 방안에 대해 정리해보고자 한다.
클라우드 동향: Cloud-Native로의 전환
현대 클라우드는 Cloud-Enabled에서 Cloud-Native로 진화하고 있다.
Cloud-Native는 Container와 Continuous Delivery 를 기반으로 클라우드의 장점을 극대화하려는 접근 방식이다.
따라서 Cloud 공급자는 Cloud-Native에 적합한 서비스를 지속 개발/향상하고 있다.
1. 컨테이너 기반 아키텍처로 바뀌었다.
Container와 Kubernetes를 활용하여 시스템의 이식성과 확장성을 극대화한다.
이로 인해 여러 환경에서 동일한 애플리케이션을 효율적으로 배포하고 있다.
2. CI/CD
Cloud-Native 환경에서는 DevOps 관행과 자동화된 배포 프로세스를 통해 빠르고 안정적인 애플리케이션 배포가 가능하다.
3. Micro Service
단일 애플리케이션을 독립적인 마이크로서비스로 분리하여 유연성과 민첩성을 제공한다.
클라우드 환경에서의 보안
클라우드는 아래와 마찬가지로 Server가 있는것과 없는것(Serverless)로 구분할 수 있다.
FaaS도 마찬가지로 Serverless라고 보면 된다.
밑에 하드웨어나 OS는 제공해주는 클라우드 업체 (ex. AWS, GCP)등 보안을 관리해주기 때문에 사용자는 보안에 대해 신경쓰지 않아도 되지만 그 위에 부분은 다른 사용자가 직접적으로 접근할 수 있는 컨테이너나 웹의 콘솔이 있기 때문에 취약점이 있다.
즉, 대부분의 Serverless 애플리케이션은 API 호출을 기반으로 동작하며, 이는 인증 및 권한 관리 취약점을 노출시킬 수 있는 것이다.
IaaS 환경에서는 사용자가 클라우드 인프라를 직접 제어할 수 있기 때문에 보안 책임이 클라우드 제공자와 사용자 간에 분담된다. 이를 관리하기 위해 CWPP가 필수적이다. CWPP는 클라우드 환경에서 워크로드의 가시성과 보호를 제공하며, 워크로드 수준의 방화벽, 실시간 위협 탐지, 이상 행동 분석 등의 기능을 지원한다.
아래는 정말 기본적이게 지켜야 할 것들이다. !!!
DevOps와 오픈소스 연관성
뎁옵스와 오픈소스는 뗄레야 뗄 수 없는 관계이다.
당연히 비즈니스 로직은 자체 개발을 해야 하는 게 맞지만, 라이브러리나 패키지 매니저는 분명 오픈소스일 수 밖에 없다.
만약 해커가 작은 함수에 작은 취약점을 심어놨다면 그 함수를 타고타고 갈 수 있다. 오픈소스 의존성이 증가할수록 취약점이 포함될 가능성도 높아진다. 공격자가 오픈소스 라이브러리의 작은 코드에 취약점을 삽입하면, 이를 통해 대규모 침해 사고로 이어질 수 있다.
오픈소스는 위험하다!! 그래서 당연히 뎁옵스를 도입하고 유지하는 것에 대해서 취약점이라는 리스크가 있기 때문에 기업은 당연히 고민하고 해결해야 할 문제이다.
예를 들어서.. npm와 같은 패키지 매니저는 오픈소스 라이브러리를 관리하고 설치하는 데 사용되지만, 하위 종속성의 취약점을 완벽히 파악하지 못하면 보안 리스크를 초래할 수 있다. npm 패키지의 메인 라이브러리는 안전할지라도, 그 라이브러리가 의존하는 하위 종속성에 취약점이 있을 가능성이 크다. !!
그래서 이것을 위해 SCA와 SBOM이 필요하다.
SBOM과 SCA 도입
오픈소스 보안을 강화하기 위해 SBOM(Software Bill of Materials)과 SCA(Software Composition Analysis)를 도입해야 하는 것을 고려해야 한다.
- SBOM:
소프트웨어의 모든 구성 요소를 투명하게 기록하여 어떤 오픈소스가 사용되었는지 명확히 파악할 수 있다. 이를 통해 취약점 추적과 라이선스 준수 여부를 관리할 수 있다. - SCA:
오픈소스 코드의 출처와 취약점을 분석하며, 자동화 도구(Snyk, Black Duck 등)를 통해 CI/CD 파이프라인에 통합하여 개발 단계에서 문제를 사전에 해결할 수 있다.
CI/CD 파이프라인은 소프트웨어 개발과 배포 프로세스를 자동화하는 체계이며, 여기에 보안을 연동하여 DevSecOps를 구현해야 한다.
SCA 도구를 CI/CD 단계에 삽입하여 코드 Push 시점부터 자동으로 보안 검사를 수행할 수 있다.
오늘날의 클라우드 환경은 빠른 개발 주기를 요구하며, 이에 따라 오픈소스 사용이 필수적이다. 하지만 오픈소스의 잠재적 리스크를 관리하지 않으면 심각한 보안 사고로 이어질 수 있다,, 🥹
SBOM과 SCA는 이러한 리스크를 사전에 방지하고, CI/CD 파이프라인에 보안 자동화를 구현함으로써 안전한 개발을 실현하는 데 핵심적인 역할을 한다. 클라우드 보안의 핵심은 예방과 자동화가 아닐까.
아직 한국에서는 적극적으로 SBOM에 대해서 적극적으로 도입을 하지 않고 있지만 클라우드 환경이 커질 수록 꼭 필요한 기술이라고 생각한다.
'개발 노트 > Security' 카테고리의 다른 글
ASM(공격표면관리)로 클라우드 자산 확인해보기 (2) | 2025.01.25 |
---|