보안팀이 가장 많이 지적한 기능 기획 실수 TOP 5
서비스 론칭 전 기획서 한 장, 그 안에 보안 구멍이 숨어 있을 수 있습니다. 이 글에서는 보안팀 리포트와 실무 경험을 바탕으로 기획 단계에서 자주 놓치는 보안 실수 5가지를 정리하고, 즉시 적용 가능한 해결법과 체크리스트를 제공합니다.
기획이 안전하면 개발은 단단해진다. 작은 설계 결함이 큰 사고로 연결됩니다.
요약 체크리스트 (핵심 5항)
- 로그인·인증 정책(비밀번호, MFA, 세션 만료) 명시
- API 접근 권한(스코프·토큰 수명) 정의
- 관리자 권한 분리 및 권한별 권한 목록 기재
- 로그·모니터링 항목(무슨 이벤트를, 어디에 저장할지) 설계
- 개인정보 흐름도(수집·저장·삭제·취급자) 문서화
1️⃣ 로그인·회원가입 설계의 함정
문제: UX 개선을 우선하면서 비밀번호 최소 정책, 재사용 제한, 비밀번호 변경 주기, MFA 여부를 명시하지 않음.
사례: SNS 연동 로그인만 기재하고 이메일 기반 2차 인증 요구사항을 누락. 결과: 계정 하이재킹 가능성 증가.
해결: 기획서에 인증 흐름(회원가입→인증→세션 관리)과 예외 시나리오(비밀번호 분실, 차단 정책)를 추가하세요. MFA 적용 기준과 적용 대상도 명확히 합니다.
2️⃣ API 연동 시 접근 권한 설계 누락
문제: 내부·외부 API 호출에 대해 어떤 권한(scope)이 필요한지, 토큰 수명과 회전 정책을 기재하지 않음.
사례: 외부 파트너 연동 API를 단일 키로 열어두어 키 유출 시 전체 데이터 노출 위험 발생.
기획 단계에서 각 API별 권한 범위(scope), 권한 획득 절차, 토큰 수명 및 재발급 정책을 표로 기재하세요. 예: Authorization: Bearer <access_token> (scope:read:user)
3️⃣ 관리자 페이지 권한 분리 미흡
문제: 관리자·운영·CS 계정을 구분하지 않고 동일 권한을 부여함.
사례: CS 직원에게 환불·환불 취소 권한을 줘서 실수로 대규모 환불이 발생.
기능 기획서에 역할(Role)별 행동 가능한 항목(권한 리스트)을 명시하세요. 최소 권한 원칙(least privilege)을 적용하고, 권한 변경 로그를 남기도록 설계합니다.
4️⃣ 로그·모니터링 항목 누락
문제: 어떤 이벤트를 기록할지, 보관 기간, 접근 제어를 기재하지 않음.
사례: 비정상 로그인 탐지 로그가 없어서 침해 사고 원인 추적 불가.
기획서에 필수 로그 항목(인증 실패, 권한 변경, 민감 데이터 접근 등), 로그 보관 기간 및 조회 권한을 표로 작성하세요.
5️⃣ 개인정보 처리 흐름도 미정의
문제: 개인정보가 어디서 수집되고, 어떻게 저장되며, 누가 접근하는지 설계에 포함되지 않음.
사례: 민감 정보가 암호화되지 않은 채 저장되어 규제 위반 및 신뢰도 하락 발생.
데이터 흐름도(Data Flow Diagram)를 기획서에 포함하고, 암호화·익명화 정책, 데이터 보존·파기 절차를 명시하세요.
빠르게 붙여넣는 요약표
| 항목 | 기획서에 포함할 내용 |
|---|---|
| 인증 | 비밀번호 정책, MFA, 세션 만료, 비밀번호 재설정 플로우 |
| API | 스코프, 토큰 수명, 호출 주체(내부/외부), 에러 처리 |
| 권한 | 역할별 권한 리스트, 권한 변경 절차, 권한 로그 |
| 로그 | 필수 이벤트, 보관 기간, 접근 권한 |
| 개인정보 | 수집 목적, 저장 위치, 암호화·파기 정책, 처리자 |
