본문 바로가기
홈 카탈로그 진단 항목 전체 ap-northeast-2 · 3820-1174-9265
클라우드 관리체계 보안 취약점 평가기준 (퍼블릭 클라우드) / 7. IT도입・개발・유지보수 관리 / 7.5 프로그램 통제절차 수립

PISM-060실행 코드 무결성 검증 절차 운용 여부

위험도 5 기술적 보안 Lambda 평가 구분: 스크립트
인가되지 않은 실행 코드가 포함되지 않도록, 서명 기능을 활용한 가상자원 실행 코드의 무결성 검증 절차를 구축하여 운용하고 있는지 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인

방법 1AWS Management Console 경로

Lambda → 함수 → 대상 함수 선택 → 구성 → 코드 서명에서 코드 서명 구성 확인
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 CLI(방법 2) 로 증적을 남기는 편이 재현성이 높습니다.

방법 2AWS CLI 진단

아래 명령을 눌러 실행하거나, 직접 입력해 보세요. 응답은 실제 AWS CLI 출력 형식을 따릅니다.
$ aws sts get-caller-identity { "UserId": "AIDA4XQ7N2VZK3RJTPLWE", "Account": "382011749265", "Arn": "arn:aws:iam::382011749265:user/audit-readonly" } 진단 계정으로 로그인되었습니다. 아래 명령을 실행해 점검을 시작하세요.

판정이 환경은 양호합니까, 취약합니까?

평가기준의 판단 근거는 명령 출력입니다. 먼저 위에서 명령을 실행해 출력을 확인하세요.

🛠️ 조치 방법

AWS Signer 로 서명 프로파일을 만들고, 코드 서명 구성을 함수에 연결해 서명되지 않은 코드의 배포를 거부하도록 합니다. 정책을 Warn 이 아니라 Enforce 로 두는 것이 핵심입니다.
# 1) 서명 프로파일 생성 $ aws signer put-signing-profile --profile-name FinLambdaSigner \ --platform-id AWSLambda-SHA384-ECDSA \ --signature-validity-period 'value=12,type=MONTHS' # 2) 코드 서명 구성 — 미서명/만료 시 배포 거부 $ aws lambda create-code-signing-config \ --description "fin prod lambda signing" \ --allowed-publishers SigningProfileVersionArns=\ "arn:aws:signer:ap-northeast-2:382011749265:/signing-profiles/FinLambdaSigner/9tKpQ3mZ" \ --code-signing-policies UntrustedArtifactOnDeployment=<span class="hl">Enforce</span> # → CodeSigningConfigArn: arn:aws:lambda:ap-northeast-2:382011749265:code-signing-config:csc-0a71f # 3) 함수에 연결 $ aws lambda put-function-code-signing-config \ --function-name fin-settlement-batch \ --code-signing-config-arn arn:aws:lambda:ap-northeast-2:382011749265:code-signing-config:csc-0a71f # 4) 개발자 역할에서 직접 배포 권한 회수 — 파이프라인 역할만 허용 $ aws iam put-role-policy --role-name fin-developer \ --policy-name deny-direct-deploy --policy-document '{ "Version":"2012-10-17", "Statement":[{"Effect":"Deny", "Action":["lambda:UpdateFunctionCode","lambda:UpdateFunctionConfiguration"], "Resource":"*"}]}'

📐 IaC 로 고정하기

콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
resource "aws_signer_signing_profile" "lambda" { platform_id = "AWSLambda-SHA384-ECDSA" name_prefix = "FinLambdaSigner" signature_validity_period { value = 12 type = "MONTHS" } } resource "aws_lambda_code_signing_config" "prod" { allowed_publishers { signing_profile_version_arns = [aws_signer_signing_profile.lambda.version_arn] } policies { untrusted_artifact_on_deployment = "Enforce" } # Warn 아님 } resource "aws_lambda_function" "settlement" { code_signing_config_arn = aws_lambda_code_signing_config.prod.arn }
주의 — 코드 서명 정책의 기본값은 Warn 입니다. Warn 은 경고만 남기고 배포를 허용하므로 실질적 통제가 아닙니다. 반드시 Enforce 로 두세요. 또한 Lambda 레이어도 서명 대상입니다 — 함수만 서명하고 레이어를 놓치면 레이어 경유로 임의 코드가 들어옵니다. 컨테이너 이미지 기반 Lambda 는 Signer 가 아니라 ECR 이미지 서명(Notation/Cosign) 으로 별도 처리해야 합니다.

📋 평가항목 정보

평가항목 IDPISM-060
구분기술적 보안
통제분야7. IT도입・개발・유지보수 관리
통제구분(대)7.5 프로그램 통제절차 수립
평가항목실행 코드 무결성 검증 절차 운용 여부
위험도5
평가 구분 (AWS)스크립트
상세설명인가되지 않은 실행 코드가 포함되지 않도록, 서명 기능을 활용한 가상자원 실행 코드의 무결성 검증 절차를 구축하여 운용하고 있는지 점검합니다.

📎 확인 자료 (증적)

  • 함수별 get-function-code-signing-config 출력
  • get-code-signing-config 의 UntrustedArtifactOnDeployment 값 (Enforce 여부)
  • AWS Signer 서명 프로파일 및 유효기간
  • 미서명 코드 배포가 거부되는 검증 결과
  • 운영 배포 권한 보유 주체 목록 (파이프라인 역할로 한정되었는지)
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.

🏦 금융 관점

전자금융감독규정은 프로그램 변경 통제를 요구합니다 — 인가된 절차를 거친 코드만 운영에 반영되어야 합니다. 클라우드 서버리스 환경에서는 서버에 접속할 일이 없어 이 통제가 누락되기 쉬운데, 코드 서명이 그 자리를 대신합니다. 정산·FDS 처럼 금전에 직접 영향을 주는 함수일수록 Enforce 가 필수입니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다. 계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다. 실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.