코드 서명 탐색
코드 서명은 민감한 애플리케이션 구성 데이터 및 스크립트를 사용하기 전에 유효성을 검사하여 보안을 개선하는 데 도움이 될 수 있습니다.
코드 서명은 데이터에 대한 디지털 서명을 생성하며, 나중에 이를 확인하여 데이터의 진위 및 무결성을 확인합니다. 코드 서명은 의 ServiceNow 볼트구성요소로 사용이 허가된 모듈입니다.
코드 서명은 수행 중인 작업의 의도를 선언하고 자원이나 기록이 의도한 목적에 사용될 수 있는지 여부를 확인합니다. 코드 서명을 용이하게 하기 위해 (KMF)는 핵심 관리 프레임워크 디지털 서명에 디지털 인증서와 산업 표준 비대칭 암호화를 사용합니다. 플랫폼 및 인프라 측에서 내부적으로 코드 서명을 사용합니다. 코드 서명은 지정된 메타데이터 테이블에 있는 특정 테이블 또는 기록 하위 집합의 콘텐츠에 서명하는 방법을 제공합니다. |
코드 서명은 신뢰할 수 있는 인스턴스와 보호된 인스턴스 사이에 보안 Circle of Trust (COT)을 사용하여 권한이 있고 안전한 인스턴스만 코드 서명 기능에 액세스할 수 있도록 합니다.
사용 케이스
다음은 코드 서명에 대한 몇 가지 일반적인 사용 사례입니다.
- 무단 코드 변경 방지: 승인된 스크립트, 통합 및 워크플로우만 인스턴스에 배포되도록 합니다. 이렇게 하면 악의적이거나 우발적인 변경으로부터 인스턴스가 보호되어 운영 위험과 비용이 줄어듭니다.
- 보안 MID Server 및 Integration Hub 운영: 무단 또는 변조된 ECC 큐 레코드가 MID Server 또는 통합 허브. 이를 통해 ServiceNow와 외부 시스템 간의 보안 통합이 유지됩니다.
- 신뢰서클 구축: 신뢰할 수 있는 인스턴스와 보호된 인스턴스 간에 신뢰서클을 설정합니다. 이렇게 하면 다른 보안 조치가 손상되더라도 보호된 인스턴스에서 실행되는 코드의 무결성은 그대로 유지됩니다.
- 보안 플러그인 배포: 인스턴스에 설치된 플러그인의 진위 여부를 확인하여 외부 공급업체 플러그인에서 악의적이거나 변조된 코드가 유입되지 않도록 방지합니다.
- 보안 소프트웨어 개발 수명 주기(SDLC): 코드 서명을 SDLC에 통합하여 서명 및 테스트된 코드만 개발에서 보호된 인스턴스로 이동되도록 합니다.
다음은 Circle of Trust가 악의적인 공격을 방지할 수 있는 방법의 예입니다.
공격자가 레코드 집합에 대한 액세스 권한을 획득하고 고객의 보호된 인스턴스에서 SQL(구조적 쿼리 언어) 문을 수정한다고 가정해 보겠습니다. MID 서버는 데이터 소스 요청을 탐지하고 악의적인 SQL 변경을 실행하여 잠재적으로 상태를 손상시킵니다. 그러나 시스템 관리자는 CoT(Circle of Trust)를 구현하여 다음과 같은 시나리오의 취약성을 효과적으로 완화할 수 있습니다.
- 관리자는 신뢰할 수 있는 인스턴스에서 데이터 소스를 업데이트하고 통합 기록에 디지털 서명합니다.
- 업데이트된 데이터는 신뢰할 수 있는 인스턴스에서 보호된 인스턴스로 안전하게 푸시됩니다.
- 악의적인 액터가 악성 SQL 쿼리로 보호된 인스턴스를 업데이트하려고 시도합니다.
- MID 서버가 악성 데이터 소스 요청을 식별합니다.
- 유효한 디지털 서명이 없어 요청이 거부되었습니다.
- 고객의 보호된 인스턴스로 다시 전송되어 디지털 서명 문제를 알리고 추가 조치가 필요하지 않음을 확인합니다.
코드 서명 확인 및 작업
유효한 구성이 있는 모든 메타데이터 테이블은 com.glide.code_signing(코드 서명 메타데이터 플러그인)을 사용하여 빌드 시 서명됩니다. 테이블에 서명하도록 선택하면 보안 관리자 역할을 가진 관리 사용자가 코드 서명 암호화 작업에 액세스할 수 있습니다.
- 업데이트 세트에 서명합니다.
- 대량 서명 기록입니다.
- 대량 서명 첨부 파일.
- 업데이트 세트 서명
- 이 작업은 업데이트 세트의 서명 구성과 일치하는 기록에 서명합니다. 또한 이 작업은 모든 새 서명 기록과 확인 인증서를 업데이트 세트에 추가합니다.
그림 1. 업데이트 세트에 대한 KMF 서명 기록 - 대량 서명 기록
이 작업은 특정 메타데이터 테이블에 적용된 서명 구성과 일치하는 모든 기록에 서명합니다.
- 첨부 파일에 대량 서명
- 이 작업은 지정된 서명 구성과 일치하는 테이블에 첨부된 모든 첨부 파일 기록에 서명합니다.
그림 2. 기록을 대량 서명하기 위한 암호화 작업