애플리케이션 보안의 출제 포인트
정보보안기사에서 애플리케이션 보안은 웹 취약점을 중심으로 출제됩니다. OWASP Top 10에 포함된 취약점들, 특히 인젝션, XSS, CSRF는 개념과 대응 방안을 세트로 외워야 합니다. 공격 원리를 알면 대응 방안도 자연스럽게 도출됩니다.
【기출 토픽 1】 SQL 인젝션 (SQL Injection)
기출 문제 예시: 로그인 폼 ID 입력란에 항상 참이 되는 조건문(싱글쿼터 OR 1=1 형태)을 입력해 인증을 우회하는 취약점은?
- ① XSS (Cross-Site Scripting)
- ② SQL 인젝션 ✅
- ③ CSRF (Cross-Site Request Forgery)
- ④ 디렉토리 트래버설
해설: SQL 인젝션은 사용자 입력값이 SQL 쿼리에 그대로 삽입될 때 발생합니다. WHERE 조건이 항상 참이 되도록 조작하면 인증 우회가 가능합니다.
대응 방안:
- PreparedStatement(매개변수화 쿼리) 사용 — 가장 효과적
- 입력값 유효성 검증 및 특수문자 이스케이프
- 최소 권한 DB 계정 사용
- WAF(웹 애플리케이션 방화벽) 적용
【기출 토픽 2】 XSS (Cross-Site Scripting)
기출 문제 예시: 공격자가 악성 스크립트를 웹 서버 DB에 저장해두고, 피해자가 게시물을 조회할 때 스크립트가 실행되는 XSS 유형은?
- ① 반사형(Reflected) XSS
- ② 저장형(Stored/Persistent) XSS ✅
- ③ DOM 기반 XSS
- ④ 블라인드 XSS
해설: 반사형은 URL 파라미터로 악성 스크립트 즉시 실행, 저장형은 DB에 저장 후 조회 시 실행, DOM 기반은 서버를 거치지 않고 클라이언트 DOM 조작으로 실행됩니다.
대응 방안: 출력 인코딩(HTML 특수문자 변환), CSP(Content Security Policy) 설정, HttpOnly 쿠키 설정
【기출 토픽 3】 CSRF (Cross-Site Request Forgery)
기출 문제 예시: 인증된 사용자의 의도와 무관하게 공격자가 원하는 요청을 서버에 전송하도록 유도하는 공격은?
- ① SQL 인젝션
- ② XSS
- ③ CSRF ✅
- ④ 클릭재킹
해설: CSRF는 사용자가 인증된 상태를 악용합니다. 로그인된 사용자가 악성 링크를 클릭하면, 사용자의 세션 쿠키를 이용해 은행 이체 등의 요청이 자동 전송됩니다.
대응 방안: CSRF 토큰 사용(요청마다 고유 토큰 검증), SameSite 쿠키 속성 설정, Referer 헤더 검증
【기출 토픽 4】 디렉토리 트래버설과 파일 업로드 취약점
기출 문제 예시: URL에 상위 디렉토리 이동 문자열(점점슬래시 반복)을 입력하여 허가되지 않은 파일에 접근하는 공격은?
- ① 파일 인클루전
- ② 디렉토리 트래버설 ✅
- ③ 커맨드 인젝션
- ④ XXE 인젝션
해설: 디렉토리 트래버설은 상위 경로 이동 문자를 반복 사용해 웹 루트 디렉토리를 벗어나 시스템 파일에 접근합니다. 대응: 입력값의 경로 문자 필터링, 절대 경로 사용, 파일 접근 권한 최소화.
OWASP Top 10 핵심 암기
OWASP Top 10은 정보보안기사 보안 관리 파트에서도 연계 출제됩니다. A01 취약한 접근 제어, A02 암호화 실패, A03 인젝션, A04 안전하지 않은 설계, A05 보안 설정 오류 순으로 중요도가 높습니다. 각 항목의 의미와 대표 취약점을 연결 지어 암기하세요.
애플리케이션 보안 최종 정리
웹 취약점은 공격 방식과 대응 방안을 세트로 암기하는 것이 핵심입니다. SQL 인젝션은 PreparedStatement, XSS는 출력 인코딩, CSRF는 토큰이 각각의 핵심 키워드입니다. OWASP Top 10 전체 목록도 숙지해두면 보안 관리 파트 문제에서도 도움이 됩니다.