# [[Security Core Practices (보안 핵심 프랙티스)|Security Core Practices (보안 핵심 프랙티스]]

## 📌 Brief Summary
보안 핵심 프랙티스는 소프트웨어 개발 수명 주기(SDLC) 전반에 걸쳐 자산의 무결성을 보호하고 위협을 선제적으로 차단하기 위한 필수 활동들의 모음입니다. 보안 점검을 초기 단계로 앞당기는 **시프트 레프트(Shift-Left)** 전략을 중심으로, 잠재적 공격 경로를 분석하는 **위협 모델링(Threat Modeling)**, 최소 권한 원칙(Least Privilege) 준수, 그리고 시크릿 및 취약점 탐지 자동화를 통해 제품 자체에 보안을 내재화(Built-in)하는 것을 목표로 합니다 [1, 4].

## 📖 Core Content
*   **시프트 레프트 보안 (Shift-Left Security):**
    *   **조기 통합:** 보안 테스트를 SDLC의 후반부가 아닌 코드 작성 및 PR 단계에서 수행하여 수정 비용을 최소화합니다 [1, 6].
    *   **자동화 게이트:** CI/CD 파이프라인에 SAST, IAST, SCA 도구를 통합하여 취약한 코드가 병합되는 것을 원천 차단합니다 [8, 11].
*   **위협 모델링 (Threat Modeling):**
    *   **설계 기반 분석:** 코드가 작성되기 전 시스템의 데이터 흐름과 신뢰 경계를 파악하여 발생 가능한 보안 위협을 미리 식별하고 방어 전략을 수립합니다 [46].
*   **비밀 정보 관리 및 탐지 (Secret Management):**
    *   **하드코딩 금지:** API 키, 토큰, 비밀번호 등 민감 정보는 절대 소스 코드에 포함하지 않으며, Vault와 같은 전용 관리 시스템을 사용합니다 [4].
    *   **시크릿 스캐닝:** 기계적인 시크릿 탐지 도구를 통해 커밋 및 PR 단계에서 유출 여부를 전수 검사합니다 [20].
*   **보안 원칙 및 실무:**
    *   **최소 권한 원칙 (Least Privilege):** 사용자나 시스템 모듈에 작업 수행에 필요한 최소한의 권한만 부여하여 침해 발생 시 피해를 최소화합니다.
    *   **시큐어 코딩 프랙티스:** 입력값 검증, 출력 인코딩, 파라미터화된 쿼리 사용 등 CWE 및 OWASP 기준의 코딩 표준을 준수합니다.
    *   **IAST (Interactive Application Security Testing):** 애플리케이션 실행 중 내부 동작을 분석하여 정적 분석(SAST)이 놓치기 쉬운 런타임 취약점을 정밀하게 탐지합니다.

## ⚖️ Trade-offs & Caveats
*   **자동화의 한계:** SAST/IAST 도구는 속도는 빠르지만 비즈니스 로직상의 권한 우회나 복잡한 설계 결함은 놓칠 수 있습니다. 반드시 인간의 수동 보안 리뷰와 병행되어야 합니다 [13, 14].
*   **개발 속도와 보안의 균형:** 모든 변경에 엄격한 보안 게이트를 적용하면 배포 주기가 늦어질 수 있습니다. '위험 기반(Risk-based)' 접근을 통해 고위험 모듈에 검증 리소스를 집중해야 합니다.
*   **오탐에 의한 피로도:** 자동화 도구의 잘못된 경고는 개발자의 몰입을 방해하므로 지속적인 룰셋 튜닝이 필수적입니다 [11].

## 🔗 Knowledge Connections

### Related Concepts
*   **[[SDLC & SSDLC (소프트웨어 개발 생명주기)|SDLC & SSDLC]]**: 보안 프랙티스가 실제로 통합되어 동작하는 전체 개발 프로세스 프레임워크입니다.
*   **[[Secure Code Review (보안 중심 코드 리뷰)|Secure Code Review]]**: 시프트 레프트 전략이 인간의 통찰과 결합되어 실현되는 구체적인 검토 활동입니다.
*   **SAST & IAST**: 소스 코드와 런타임 환경에서 취약점을 자동으로 찾아내는 기술적 수단입니다.
*   **[[OWASP Top 10|OWASP Top 10]]**: 보안 프랙티스를 통해 우선적으로 방어해야 할 웹 애플리케이션의 치명적 위협 목록입니다.

### Deeper Research Questions
*   시프트 레프트 보안 도입 시 '배포 리드 타임(Lead Time)' 증가를 최소화하면서도 자동화 도구의 탐지 정확도를 높이기 위한 머신러닝 기반 필터링 기법은 무엇인가?
*   IAST 도구를 운영 환경이 아닌 '테스트 파이프라인' 내에 구축하여 성능 저하 없이 런타임 보안 데이터를 수집하는 최적의 아키텍처는 무엇인가?
*   '권한 최소 부여' 원칙을 클라우드 인프라(IaC) 레벨에서 자동으로 검증하고 과잉 권한을 시각화해주는 거버넌스 도구의 효용성은 어느 정도인가?
*   소스 코드에서 이미 유출된 시크릿을 탐지했을 때, 단순 삭제를 넘어 유효성 무효화(Revocation)와 키 로테이션을 자동화하는 '보안 사고 대응 워크플로우'는 어떻게 설계하는가?
*   AI가 생성한 보안 패치 코드가 새로운 논리적 결함이나 성능 병목을 유발하지 않는지 검증하기 위한 '보안 패치 리뷰' 체크리스트는 어떻게 구성해야 하는가?

### Practical Application Contexts
*   **Implementation:** PR 생성 시 CI/CD 파이프라인에 시크릿 스캐너와 SAST 도구를 연동하여 보안 취약점을 자동 점검합니다 [45].
*   **System Design:** 설계 단계부터 위협 모델링을 수행하여 데이터 흐름의 신뢰 경계를 명확히 정의하고 보안 로직을 내재화합니다 [46].
*   **Operation / Maintenance:** 런타임 모니터링과 IAST 데이터를 결합하여 프로덕션 환경의 실질적인 공격 표면을 지속적으로 관리합니다 [47].
*   **Learning Path:** 시니어가 리뷰를 통해 주니어의 보안 실수를 교정해줌으로써 팀 전체의 보안 역량을 상향 평준화하는 멘토링 기회로 활용합니다 [48].
*   **My Project Relevance:** 'OWASP Top 10' 및 '시크릿 유출 방지'를 코드 리뷰 필수 체크리스트로 편입하여 보안 기술 부채를 원천 차단합니다 [49].

### Adjacent Topics
*   **[[DevSecOps|DevSecOps]]**: 보안 프랙티스를 문화와 기술 전 영역에 끊김 없이 통합하는 거시적 방법론입니다.
*   **Software Supply Chain Security**: 소스 코드를 넘어 외부 의존성 및 빌드 파이프라인 전체의 무결성을 확보하는 전략입니다.

---
*Last updated: 2026-05-02*
