GH GambleHub

취약성 스캔 및 패치

간단한 요약

취약성 관리는 지속적인주기입니다. 탐지 → 위험 평가 → 제거 (패치/마이그레이션/설정) → 검증 → 보고. 스캐닝 기술 (SCA/SAST/DAST/IAST/Cloud/Container) 은 신호를 제공하며 컨텍스트 (노출, 권한, 데이터, EPSS, 익스플로잇) 가 우선 순위를 결정합니다. 목표는 자동화, 카나리아 계산 및 명확한 SLO를 사용하여 비즈니스 다운 타임없이 실제 위험을 줄이는 것입니다.


스캔 분류법

SCA (소프트웨어 구성 분석): 종속성/라이센스 분석; 라이브러리에서 CVE 발견, SBOM.
조립 전에 기본 코드의 SAST- 정적 분석.
DAST: 동적 블랙 박스 대 실행 서비스.
IAST: 인앱 센서 (테스트 중) -FP가 적고 컨텍스트가 더 깊습니다.
컨테이너/OS 스캔: 이미지 (기본 이미지, 패키지), 호스트 (커널/패키지/구성), CIS 벤치 마크.
Cloud/Infra (CSPM/KSPM): 클라우드/K8s 오해 (IAM, 네트워크, 암호화, 공개 버킷).
비밀 스캔: 리포지토리 및 이미지에서 키/토큰이 누출됩니다.
이진/아티팩트 스캔: 수집 된 아티팩트 (서명, 취약점) 검증.


위험 모델 및 우선 순위

점수 = CVSS v3. x (기본) × EPSS (착취 확률) × 컨텍스트 (노출, 데이터, 권한, 보상 조치).

문맥 요인:
  • 인터넷/내부에 노출, WAF/mSL/격리가 있습니다.
  • 데이터: PII/금융/비밀.
  • 프로세스/노드 권한, 측면 이동 전위.
  • 공공 악용/대량 공격, 규정 준수 요구 사항의 가용성.

CVSS 벡터 예: 'CVSS: 3. 1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H '→ 비판; 서비스가 공개적이고 보상 조치가없는 경우-P1.

SLO 임계 값 (예):
  • P1 (크리티컬, 운영): 수정하십시오. 48 시간.
  • P2 (높음): 7 일 정도 수정하십시오.
  • P3 (평균): 10 일 30 일을 수정하십시오.
  • P4 (낮음/알림): 계획/백 로그.

취약성 관리 수명주기

1. 자산 인벤토리: 서비스, 이미지, 클러스터, OS, 패키지, 종속성, 버전.
2. 예약 및 이벤트 스캔: 커밋, 빌드, 덤프, 일일/주간 창.
3. 심사: 중복 제거, 정규화 (CVE → 티켓), 소유자에게 매핑.
4. 문맥 별 우선 순위: CVSS/EPSS + 노출/데이터.
5. 치료: 패치/종속성 업데이트/구성 하드 닝/가상 패치 (WAF).
6. 검증: 재조정, 테스트, 카나리아.
7. 보고: 폐쇄 지표, 취약점 연령, SLO 준수.
8. 수업: 템플릿 수정 (기본 이미지, Helm 차트), 미래 정책.


CI/CD에 통합

단계 PR: SAST + SCA + 비밀 스캔; P1/P2 또는 응용 프로그램 요구 사항에 의한 "브레이크 빌드".
빌드 단계에서: 이미지 스캔, SBOM 생성 (CycloneDX/SPDX), 아티팩트 서명 (cosign).
배포시: 입학 정책 단계-' 중요한/높은 '취약점이있는 이미지와 서명되지 않은/SBOM 이미지 금지.
단계 후: 준비 및 부분 생산에 대한 DAST/IAST (안전한 프로파일).

예: Renovate/Dependabot (조각)

json
{
"extends": ["config:recommended"],
"vulnerabilityAlerts": { "enabled": true },
"packageRules": [
{ "matchUpdateTypes": ["minor","patch"], "automerge": true },
{ "matchManagers": ["dockerfile"], "enabled": true }
]
}

입학 정책 (Kubernetes, OPA/Gatekeeper-단순화)

rego package policy.vuln

deny[msg] {
input.image.vuln.critical > 0 msg:= sprintf("Image %s has critical vulns", [input.image.name])
}

deny[msg] {
input.image.sbom == false msg:= sprintf("Image %s without SBOM", [input.image.name])
}

패치 관리 (고정 자산, 컨테이너, K8)

자동차 (Linux/Windows)

패치 창: P1을위한 일반 창 + 비상 특수 창.
전략: 카나리아 5-10% 노드를 먼저 한 다음 물결을 일으 킵니다.
자동 배포: Ansible/WSUS/Intune/SSM; 제약 조건 점검 및 롤백.
가동 중지 시간을 최소화하기 위해 커널 라이브 패치 (가능한 경우).
서비스 재시작: K8 노드의 관리 배수/코르 돈, 우아한 종료.

컨테이너

불변의 접근 방식: 런타임에서 "적절한 업그레이드" 가 아님; 업데이트 된 기반으로 이미지를 다시 작성합

기본 이미지: 정기적으로 황금 이미지 (알파인/데비안/디스트로리스) 를 업데이트하고 버전을 수정합니다 (다이제스트).
다단계 어셈블리: 표면을 최소화합니다 (빌드 툴 제거).
사전 배포 스캔-중요한 CVE가있는 이미지 블록.

쿠 베르네 테스/서비스 메쉬

제어 비행기: 적시에 사소한 릴리스, CVE k8s/etcd/containerd 폐쇄.
노드 OS/컨테이너 런타임: 예약 된 업데이트, 버전 호환성.
Mesh/Ingress: Envoy/Istio/NGINX 버전이 중요합니다 (종종 파서/NTTR3의 CVE).
입학 정책: 금지 ': 최신', 서명 요구 사항, 취약성 제한.


가상 패치 및 보상 조치

패치가 빨리 불가능한 경우:
  • WAF/WAAP: 특정 종점에 대한 서명/양성 모델.
  • 기능 플래그: 취약한 기능을 사용하지 않습니다.
  • 네트워크 ACL/mSL/IP 허용 목록: 취약한 서비스에 대한 액세스를 제한합니다.
  • 강경 설정: 권한, 샌드 박스, 읽기 전용 FS, 위험한 모듈 비활성화.
  • TTL 토큰/키 감소, 비밀 회전.

위험 수락

정당화, 보상 조치, 제거를위한 SLA, 개정 날짜가 포함 된 티켓은 예외로 발행됩니다.
"임시 위험 수락" 으로보고하고 월별 검토에 포함하십시오.


관찰 및 지표

기술:
  • MTTP (Mean Time To Patch) P1/P2/P3.
  • 스캔이 적용되는 자산 점유율 (%).
  • 공개 취약점 시대 (p50/p90), 백 로그 번 다운.
  • SBOM 및 서명이있는 이미지의 비율.
비즈니스/SLO:
  • 마감일까지 SLO 완료 (예: 95% P1
  • 가동 시간에 미치는 영향 (패치 사고 수).
  • 동일한 CVE의 반복 감지 (템플릿의 품질 수정).

플레이 북 (약칭)

P1: 공공 서비스의 중요한 RCE

1. WAF 규칙/위스 패치 활성화

2. 무단 소스에 대한 액세스를 차단합니다 (해당되는 경우).
3. 긴급 이미지 재구성/OS 패치, → 웨이브 카나리아.
4. 반복되는 DAST/원격 측정 검사, 오류 모니터링.
5. 사고 후: 기본 이미지/Helm 차트의 수정 사항을 수정하고 CI에 테스트를 추가하십시오.

비밀 유출 (인증):

1. 비밀/키의 즉각적인 회전, 토큰의 취소.

2. 사용 흔적을 찾아 엔드 포인트를 제한합니다.

3. 비밀에 대한 리포/이미지 스캔, 사전 커밋 스캐너 구현.


아티팩트의 예

1) 핫 취약점에 대한 SQL 보고서

sql
SELECT service, cve, cvss, epss, exposed, has_exploit, created_at,
PRIORITY(exposed, has_exploit, cvss, epss) AS prio
FROM vuln_findings
WHERE status = 'open' AND (cvss >= 8.0 OR has_exploit = true)
ORDER BY prio DESC, created_at ASC;

2) 입학 정책 (Kyverno, 중요한 취약성 차단)

yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata:
name: block-critical-vulns spec:
validationFailureAction: Enforce rules:
- name: image-must-have-no-critical match: { resources: { kinds: ["Pod"] } }
validate:
message: "Image contains critical vulnerabilities"
pattern:
metadata:
annotations:
vuln.scanner/critical: "0"

3) SBOM 생성 및 서명 (메이크 파일 조각)

make sbom:
cyclonedx create --output sbom.json sign:
cosign sign --key cosign.key $(IMAGE_DIGEST)

iGaming/fintech의 특성

고위험 지역: 결제 게이트웨이, 지불 백픽스, 사기 방지, PII/PAN 처리-P1/P2 우선 순위 패치.
서비스 창: 토너먼트/프로모션, 따뜻한 캐시, 저부하 지역의 카나리아와의 조정.
규제 (PCI DSS/GDPR): 취약점, 증거 (스크린 샷/보고서), CHD 영역 세분화, 암호화 수정 일정.
파트너 통합: 웹 후크에는 다양한 SDK/클라이언트, 필수 SCA 및 HMAC/mTLS가 필요합니다.


일반적인 실수

"모든 것을 스캔하십시오-아무것도 고치지 마십시오": 소유자와 SLO 없

문맥 (노출, EPSS, 데이터) 이없는 CVSS에만 초점을 맞추십시오.
이미지를 재구성하는 대신 컨테이너 런타임에 패치하십시오.
카나리아/롤백 계획 부족.
클라우드/K8의 오해를 무시하십시오 (종종 CVE보다 더 중요합니다).
SBOM/서명 없음-공급망.


구현 로드맵

1. 자산 및 소유자 목록; 서비스/이미지의 통합 등록.
2. 스캐너 스택: SCA/SAST/DAST/컨테이너/클라우드 + 비밀 스캔; CI/CD에 통합.
3. SLO 및 우선 순위 정책: CVSS + EPSS + 컨텍스트; 티켓 템플릿.
4. 입학/코드 정책: 중요한 취약점 금지, SBOM/서명 요구 사항.
5. 패치 프로세스: 창, 카나리아, 롤백; 마이너/패치 버전의 자동 조종 장치.
6. 보고 및 지표: MTTP, 적용 범위, 연령; 매주 위험 검토.
7. 정기적 인 연습: 중요한 CVE 시뮬레이션, 플레이 북 검증 및 롤백.


결과

성숙한 취약성 관리는 일회성 "정리" 가 아닌 프로세스입니다. 자동 감지, 컨텍스트 우선 순위 지정, 카나리아/롤백을 통한 부드러운 패치, prod 입구의 코드 정책 및 투명한 실행 지표. 기본 이미지와 패턴의 잠금 장치를 고정하면 반복 위험을 줄이고 공격 표면을 일정하게 제어 할 수 있습니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.