IT Study/보안 및 프라이버시
🔐 서버리스 환경(Lambda 등)의 보안 취약점 및 대응 전략
cs_bot
2025. 4. 21. 13:59
1. 서버리스 컴퓨팅 개요
- 서버리스(Serverless) 컴퓨팅은 개발자가 인프라 관리 없이 코드 실행에 집중할 수 있도록 하는 클라우드 실행 모델임
- 대표적인 구현체로 AWS Lambda, Azure Functions, Google Cloud Functions 등이 있으며, 이벤트 기반 실행과 짧은 수명 특성을 가짐
- 운영체제, 서버 유지보수, 스케일링 등의 작업은 클라우드 제공자가 담당함
2. 서버리스 아키텍처의 특성
- Ephemeral Execution: 코드가 짧은 시간 동안 실행되며 상태를 저장하지 않음
- Event-driven Triggering: HTTP 요청, 메시지 큐, 데이터베이스 변경 등 다양한 이벤트에 의해 자동 실행됨
- Function as a Service (FaaS) 기반의 독립 함수 구성
- Third-party Integration과 API 중심 통신 구조
- Auto-scaling 및 pay-per-use 모델 채택으로 리소스 효율성 향상
3. 서버리스 환경의 보안 취약점
3.1 함수 실행 단위의 공격 노출
- 함수는 외부 이벤트에 의해 실행되므로, 악의적 입력에 취약
- 무차별 공격이나 취약한 API 입력값 조작에 쉽게 노출됨
3.2 이벤트 소스 및 권한 오용
- Lambda가 연결된 리소스(S3, DynamoDB 등)의 IAM Role 권한 과다 설정 시 공격자가 이를 악용해 lateral movement 가능
- 최소 권한 원칙 미준수로 내부 시스템 접근 가능성 증가
3.3 패키지 종속성 및 서드파티 라이브러리 취약점
- NPM, PyPI 등 외부 의존성 사용 증가로 인해 공급망 공격(Supply Chain Attack) 위험 증가
- 보안 업데이트가 누락된 라이브러리로 인해 취약점 내재화 발생 가능
3.4 로컬 상태 저장 불가에 따른 보안 로깅 한계
- Stateless 특성으로 인해 디버깅, 포렌식, 지속적인 모니터링에 어려움 존재
- 전통적인 로그 수집 방식(예: syslog) 부적용
3.5 DoS 및 리소스 과다 소모 공격
- 반복적 이벤트 유발을 통한 비용 유발형 공격(Billing DoS) 가능
- Concurrency Limit을 넘겨 서비스 전체 영향 가능성 존재
3.6 보안 경계의 불명확성
- Multi-tenant 환경에서 클라우드 제공자의 보안 미흡 시, 함수 간 경계 우회 가능성 존재
- Side-channel 공격을 통해 다른 사용자 정보 유출 우려
4. 서버리스 보안 대응 전략
4.1 최소 권한 기반의 IAM 정책 설계
- Lambda 함수마다 별도의 Role 부여
- 리소스별 접근 범위와 액션을 명확히 지정
- 정책 검토 및 주기적 정비 수행
4.2 입력 검증 및 API 보안 강화
- Web Application Firewall(WAF) 및 API Gateway를 통한 전방 필터링 적용
- 정규식 및 JSON schema 등으로 유효성 검사 철저 수행
- OpenAPI 스펙 기반 자동 검증 체계 도입 고려
4.3 외부 의존성 관리 체계 강화
- Dependency Scanning 도구(Snyk, npm audit, pip-audit 등)로 보안 취약 라이브러리 탐지
- CI/CD 파이프라인에 보안 검사 자동화 통합
- 최소한의 라이브러리 사용과 정기적 업데이트 유지
4.4 보안 로깅 및 모니터링 체계 확보
- CloudTrail, CloudWatch, X-Ray 등 클라우드 기본 로깅 도구 활용
- Lambda 함수 내 Audit log 직접 생성 후 외부 저장소(S3, ELK 등)에 저장
- 함수 호출 기록 및 이상 행위 탐지 알림 체계 구축
4.5 호출 제한 및 비용 제어 설정
- Concurrency Limit, Throttle 설정으로 무한 호출 방지
- Billing Alarm을 통한 과금 폭증 조기 탐지
- API Gateway에서 Rate Limiting 및 사용자 인증 체계 구성
4.6 함수 무결성 검증 및 배포 보호
- 코드 서명(Code Signing)을 통한 배포 이미지 위변조 방지
- 버전 관리 및 Canary 배포를 통한 안전한 롤아웃 적용
- IAM 권한 분리로 배포자와 실행자의 권한 구분
5. 서버리스 보안 프레임워크 및 도구
구분 | 도구 | 주요 기능 |
---|---|---|
분석 | AWS Trusted Advisor | 권한 과다 분석 및 보안 권고 |
감시 | AWS CloudTrail / Azure Monitor | 함수 호출 추적 및 이상 탐지 |
보호 | AWS WAF / API Gateway | 입력값 보호 및 인증 기능 제공 |
검증 | Snyk, Checkov, Semgrep | IaC 및 코드 수준 보안 검사 |
관리 | AWS IAM Access Analyzer | 역할 간 과도한 권한 탐지 |
6. 결론 및 제언
- 서버리스는 보안 경계가 모호하고 실행 단위가 작기 때문에 보안의 새로운 접근 방식 요구됨
- 기존 인프라 기반 보안 방식에서 탈피하여, 코드 중심의 마이크로 단위 보안 체계 구축 필요
- DevSecOps 기반으로 CI/CD와 보안의 통합 수행 권장됨
- Zero Trust Architecture, 최소 권한 원칙, 공급망 보안 관점의 보안 적용 확대 필요