PE Notes · 보안
시큐어 코딩
SDLC에 보안을 심는 개발보안과, 인젝션·XSS·버퍼·경쟁조건을 구현 단계에서 막는 시큐어 코딩, SAST·DAST 비교를 한 줄로 잇습니다.
출시 뒤에 구멍을 메우는 비용은 설계에서 고치는 비용보다 훨씬 큽니다. 방화벽 바깥에서 들어오는 요청이 쿼리와 메모리에 그대로 붙으면, 주변 통제는 의미가 얇아집니다. SW 개발보안은 수명주기 전체에 보안을 넣고, 은 구현 칸의 이름입니다.
수명주기와 약점 유형
요구에서 보안 스토리를 적고, 설계에서 위협 모델을 그리며, 구현에서 입력과 암호와 에러를 닫고, 테스트에서 동적 공격을 넣고, 운영에서 패치와 CVE를 쫓습니다. 국내 공공 개발은 행정 지침의 약점 목록을 진단 기준으로 씁니다.
| 유형 | 대표 |
|---|---|
| 입력 검증 | , , 명령 삽입, 경로 조작 |
| 보안 기능 | 약한 해시, 하드코딩 비밀 |
| 시간·상태 | 경쟁 |
| 에러 | 스택 흔적 외부 노출 |
| 코드 품질 | |
| 캡슐화 | 디버그 정보, 잘못된 접근 |
| API 오용 | 길이 검사 없는 복사 함수 |
최소 권한과 심층 방어는 설계 문장이고, 파라미터 바인딩과 출력 인코딩은 그 문장의 코드입니다.
구현에서 닫기
인젝션은 문자열 연결 대신 바인딩입니다. XSS는 출력 맥락에 맞는 이스케이프입니다. 버퍼는 길이 한도와 종료 문자입니다. TOCTOU는 검사와 사용 사이에 파일이 바뀌지 않게 원자 연산으로 붙입니다.
| 약점 | 잘못된 습관 | 닫는 습관 |
|---|---|---|
| SQL 인젝션 | 입력 연결 | Prepared Statement |
| XSS | 원문 HTML 삽입 | 엔티티 인코딩, 템플릿 자동 이스케이프 |
| 버퍼 | 무한 복사 | 한도 함수, 안전한 문자열 |
| TOCTOU | access 후 open | 열고 핸들로 검증 |
| 비밀 | 소스의 패스워드 | 금고, 회전 |
| 에러 | 내부 경로 노출 | 공통 오류, 서버 로그만 상세 |
웹 Top 10의 SSRF·CSRF가 요청의 방향을 다면, 시큐어 코딩은 그 요청이 쿼리와 메모리에 닿는 지점을 닫습니다.
테스트와 공급망
는 코드를 실행하지 않고 보고, 는 떠 있는 앱에 공격을 보냅니다. IAST는 실행 중 내부를 계측합니다. CI에 세 가지와 구성 분석(SCA), SBOM이 붙으면 개발 보안이 파이프라인이 됩니다.
| 비교축 | SAST | DAST | IAST |
|---|---|---|---|
| 방식 | 정적 코드 | 외부 공격 | 런타임 계측 |
| 시점 | 커밋·CI | 테스트·스테이징 | 테스트 |
| 소스 필요 | 있다 | 없다 | 보통 없다 |
| 강점 | 인젝션, 하드코딩 | 인증·세션 | 실제 도달 경로 |
| 오탐 | 높은 편 | 낮은 편 | 낮은 편 |
샌드박스와 화이트박스 토픽이 분석 시점을 가르면, SAST가 화이트박스 쪽에 가깝습니다. 패키지 혼동과 알려진 CVE는 공급망 보안의 코딩 인접 칸입니다.
기술사 답안 포인트
관련 용어
관련 토픽
보안
OWASP Top 10, SSRF·CSRF, SOAR·SIEM
웹 10대 위협 목록에서 SSRF와 CSRF를 요청 주체로 가르고, SIEM의 탐지·상관과 SOAR의 플레이북 자동 대응이 어떻게 이어지는지 정리합니다.
보안
샌드박스와 화이트박스
격리 실행으로 행동을 보는 샌드박스와 내부를 열어 보는 화이트박스를 분석·암호 구현 두 축으로 비교하고, 우회와 키 추출 한계를 같은 표에 올립니다.
보안
공급망 보안
업데이트·오픈소스·MSP를 타고 들어오는 공급망 위협을 SBOM·SCA·SLSA로 막고, 납품물과 빌드까지 믿지 않는 제로트러스트 적용을 같은 표에 올립니다.