보안 코딩 이란
안전한 코드 작성 관행
보안 코딩은 공격과 취약점에 강한 코드를 작성하기 위한 관행과 원칙의 집합입니다.
핵심 원칙
- 모든 입력 데이터 검증
- 최소 권한 원칙
- 심층 방어
- 안전한 기본값
- 안전하게 실패하기
주요 취약점 (OWASP Top 10)
- SQL 인젝션
- 크로스 사이트 스크립팅 (XSS)
- 인증 결함
- 민감한 데이터 노출
- XML 외부 엔티티 (XXE)
보안 코드 관행
- 매개변수화된 데이터베이스 쿼리
- 출력 이스케이프
- 안전한 비밀번호 저장 (bcrypt, Argon2)
- 모든 곳에서 HTTPS
- 콘텐츠 보안 정책 (CSP)
도구
- SAST (정적 분석): SonarQube, Checkmarx
- DAST (동적 분석): OWASP ZAP, Burp Suite
- 의존성 스캐닝: Snyk, Dependabot
- 보안 중심 코드 리뷰
장점
- 침해 위험 감소
- 표준 준수 (PCI DSS, HIPAA)
- 취약점 수정 비용 절감
- 회사 평판 보호