C. 인프라 보안
시행일: 2026년 3월 12일
요약: ProgramGarden은 Google Cloud 기반의 컨테이너 인프라를 통해 사용자별 격리된 실행 환경을 제공합니다. 모든 워크플로우는 독립된 전용 서버에서 실행되며, 코드 실행 샌드박스, 네트워크 정책, 서버 생명주기 관리를 통해 안전한 서비스 환경을 유지합니다.
1. 사용자별 독립 실행 환경
1. 사용자별 전용 서버
ProgramGarden은 각 사용자의 워크플로우를 독립된 전용 서버에서 실행합니다. 하나의 사용자가 다른 사용자의 실행 환경에 접근하거나 영향을 미칠 수 없도록 물리적으로 격리됩니다.
2. 서버 생명주기 관리
전용 관리 시스템이 사용자 서버의 전체 생명주기를 관리합니다:
- 생성: 워크플로우 실행 요청 시 사용자 전용 서버를 동적으로 생성
- 종료: 워크플로우 완료 또는 사용자 요청 시 서버 정상 종료
- 강제 종료: 구독 만료, 환불, 약관 위반 등의 사유 발생 시 서버 즉시 강제 종료
- 자동 정리: 비활성 상태가 지속되는 서버는 리소스 효율화를 위해 자동으로 정리
3. 리소스 제한
각 서버에는 CPU, 메모리 등의 리소스 제한이 설정되어 있어, 하나의 서버가 과도한 리소스를 점유하여 다른 사용자에게 영향을 미치는 것을 방지합니다.
2. 네트워크 정책
1. 보안 게이트웨이를 통한 요청 라우팅
외부에서 클라우드 서버 내부의 사용자 실행 환경으로 직접 접근하는 것은 불가능합니다. 모든 요청은 전용 보안 게이트웨이를 경유하여 인증 및 권한 검증을 거친 후 적절한 서버로 라우팅됩니다.
2. 사설 네트워크 통신
클라우드 서버의 모든 서비스는 외부와 격리된 사설 네트워크 내부에서 운영됩니다. 서비스 간 통신은 사설 네트워크를 통해 이루어지며, 외부 인터넷에 직접 노출되지 않습니다.
3. 서비스 간 인증
내부 서비스 간 통신에는 Google 인증 토큰 기반 인증이 적용됩니다. 승인된 서비스만이 내부 API에 접근할 수 있으며, 토큰이 없거나 유효하지 않은 요청은 자동으로 거부됩니다.
3. 코드 실행 격리 (Sandbox)
1. 코드 실행 샌드박스
AI 서비스에서 사용자의 코드를 실행해야 하는 경우, 격리된 샌드박스 환경에서 실행됩니다. 이 샌드박스는:
- 시스템 자원에 대한 접근이 제한됩니다.
- 네트워크 접근이 통제됩니다.
- 실행 시간 및 메모리 사용량에 제한이 설정됩니다.
- 실행 완료 후 환경이 초기화됩니다.
2. 악성 코드 방지
업로드되거나 생성된 코드가 시스템에 해를 끼치지 않도록, 위험한 시스템 호출 및 라이브러리 사용이 제한됩니다. 암호화폐 채굴, DDoS 공격, 파일 시스템 조작 등의 악용 시도는 탐지 및 차단됩니다.
4. 로컬 실행 보안 (Personal Local Server)
1. 로컬 전용 접근
사용자 로컬 머신에서 실행되는 Personal Local Server는 사용자의 컴퓨터 내부에서만 접근 가능하도록 설정됩니다. 외부 네트워크에서의 접근이 원천적으로 차단되며, 동일 머신 내에서만 통신이 가능합니다.
2. 인증 토큰 검증
로컬 서버에 대한 모든 요청은 Google 인증 토큰으로 인증됩니다. 유효하지 않은 토큰이 포함된 요청은 즉시 거부되며, 토큰은 Google의 공개 키를 통해 검증됩니다.
3. 사용자 책임
로컬 실행 환경의 보안(운영체제 업데이트, 방화벽 설정, 악성코드 방지 등)은 사용자의 책임입니다. 로컬 환경에서 발생하는 보안 사고에 대해 회사는 책임을 지지 않습니다.
5. 컨테이너 이미지 보안
1. 이미지 관리
서비스에서 사용하는 컨테이너 이미지는 보안이 검증된 프라이빗 이미지 저장소에서 관리되며, 승인된 이미지만 서버에 배포할 수 있습니다.
2. 정기 업데이트
보안 패치 및 취약점 수정을 위해 컨테이너 이미지는 정기적으로 업데이트됩니다.