8장 : 실전 문제풀이와 모의고사
상황형·로그형 집중훈련
이번 절은 실기에서 특히 어려운 상황형·로그형 문제를 집중적으로 다룹니다.
이번 절은 실기에서 특히 어려운 상황형·로그형 문제를 집중적으로 다룹니다.
지금까지는 개념과 답안 문장을 많이 외웠습니다.
이번 절에서는 그 지식을 실제 문제처럼 적용합니다.
시스템 로그 분석
웹 로그 분석
네트워크 공격 상황 분석
개인정보 유출 상황 분석
침해사고 대응 시나리오
BCP/DRP 장애 상황
권한관리 문제 상황
수탁자 관리 문제 상황공통 채점 기준 안내
이 절의 채점 표현은 다음 용어로 통일합니다.
모범답안: 실제 답안으로 쓸 수 있는 예시 문장
채점 키워드: 로그와 상황에서 반드시 잡아야 할 핵심 근거
부분점 기준: 식별, 근거, 조치, 재발 방지별 점수 기준
감점 포인트: 공격명 오판, 근거 누락, 대응 누락 등 감점 요소
답안 구조: 상황형·로그형 답안을 구성하는 순서상황형·로그형은 공격명이나 문제명만 맞히는 방식이 아니라, 로그 근거와 즉시 조치, 재발 방지를 함께 제시해야 안정적으로 득점합니다.
상황형 문제 풀이 원칙
상황형 문제는 보통 이렇게 나옵니다.
다음 로그 또는 상황을 보고 의심되는 공격을 쓰고 대응 방안을 설명하시오.이때 답안은 아래 구조로 쓰면 안정적입니다.
1. 의심되는 공격 또는 문제를 식별한다.
2. 그렇게 판단한 근거를 로그나 상황에서 찾는다.
3. 즉시 조치와 근본 대응 방안을 나누어 쓴다.
4. 필요하면 증거 보존, 보고, 재발 방지를 포함한다.답안 문장 구조는 이렇게 잡으세요.
해당 상황은 ○○로 의심할 수 있다.
그 근거는 △△ 로그 또는 행위가 확인되기 때문이다.
대응 방안으로는 □□를 수행하고, 추가로 ◇◇를 점검해야 한다.
재발 방지를 위해 ☆☆를 적용해야 한다.로그형 문제에서 먼저 볼 것
로그형 문제는 무작정 읽으면 어렵습니다.
항상 아래 순서로 봅니다.
누가
언제
어디서
무엇을
어떻게
얼마나 반복했는가
그 결과가 무엇인가| 항목 | 확인 내용 |
|---|---|
| 출발지 IP | 공격자 또는 의심 접속 위치 |
| 계정 | 어떤 계정이 사용되었는가 |
| 시간 | 근무시간 외, 짧은 시간 반복 여부 |
| URL·명령 | 어떤 기능 또는 자원에 접근했는가 |
| 파라미터 | SQL, 스크립트, 파일명, 객체 ID 조작 여부 |
| 상태코드 | 200, 403, 404, 500 등 |
| User-Agent | 자동화 도구, 비정상 클라이언트 |
| 요청량 | 대량 요청, 반복 시도 |
| 결과 | 로그인 성공, DB 조회, 파일 실행, 권한 변경 |
상태코드 빠른 해석
웹 로그에서 상태코드는 중요합니다.
| 코드 | 의미 | 보안 해석 |
|---|---|---|
| 200 | 성공 | 공격 요청이 처리되었을 가능성 |
| 301/302 | 리다이렉션 | 로그인 우회·피싱 흐름 확인 |
| 400 | 잘못된 요청 | 비정상 입력 가능 |
| 401 | 인증 필요 | 인증 실패 또는 미인증 접근 |
| 403 | 권한 없음 | 권한 우회 시도 가능 |
| 404 | 없음 | 스캐닝, 경로 탐색 가능 |
| 500 | 서버 오류 | SQL 오류, 서버 오류 유발 가능 |
특히 자주 나오는 조합은 다음입니다.
SQL 키워드 + 500 증가 = SQL Injection 의심
객체 ID 순차 변경 + 200 = IDOR 의심
업로드 후 파일 URL 접근 + 200 = 웹셸 실행 의심
403 반복 = 권한 우회 시도 가능
404 반복 = 디렉터리·취약 파일 스캔 가능상황형·로그형 실전 문제
상황형 문제 1 — 퇴사자 계정 접속
문제
다음 상황에서 의심되는 문제와 대응 방안을 쓰시오.
퇴사한 직원의 VPN 계정이 삭제되지 않았다.
퇴사 후 3일 뒤 해외 IP에서 해당 계정으로 VPN 로그인에 성공했다.
로그인 후 내부 파일 서버와 개인정보처리시스템에 접근한 기록이 있다.정답 방향
퇴사자 계정 미회수
접근권한 관리 미흡
비인가 접근
계정 탈취 가능성
개인정보 유출 가능성모범답안
퇴사자 VPN 계정이 회수되지 않은 상태에서 해외 IP로 로그인하고 내부 파일 서버와 개인정보처리시스템에 접근했으므로 비인가 접근 또는 계정 탈취로 의심할 수 있다. 해당 계정을 즉시 비활성화하고 세션을 차단한 뒤, VPN 로그, 파일 서버 접근 로그, 개인정보처리시스템 접속기록을 분석하여 열람·다운로드된 자료와 개인정보 범위를 확인해야 한다. 재발 방지를 위해 퇴직 시 계정·권한·출입권한 회수 절차를 강화하고, 정기 권한 점검과 MFA, 이상 로그인 탐지를 적용해야 한다.채점 키워드
퇴사자 계정 미회수
계정 비활성화
접속 로그 분석
개인정보 접근 범위 확인
권한 회수 절차 개선
MFA부분점 기준
퇴사자 계정 미회수 또는 비인가 접근으로 식별하면 기본점
해외 IP 로그인과 내부 파일 서버·개인정보처리시스템 접근 기록을 근거로 쓰면 핵심점
계정 비활성화, 세션 차단, 로그 분석, 개인정보 접근 범위 확인 중 3개 이상을 쓰면 고득점
정기 권한 점검, MFA, 이상 로그인 탐지를 재발 방지로 쓰면 가점감점 포인트
퇴사자 계정이라는 핵심 원인을 누락하고 단순 해외 접속으로만 쓰면 감점
계정 차단만 쓰고 개인정보 접근 범위 확인을 빠뜨리면 감점
퇴직 시 권한 회수 절차 개선을 쓰지 않으면 감점상황형 문제 2 — 의심 프로세스와 외부 통신
문제
다음 로그를 보고 의심되는 문제와 대응 방안을 쓰시오.
process: /tmp/.cache/update
user: root
parent process: /bin/sh
remote: 203.0.113.77:4444
CPU usage: 87%
created: 03:12 AM정답 방향
악성 프로세스
백도어
루트 권한 악성코드
C2 통신 가능성/tmp 하위 숨김 경로
root 권한 실행
외부 의심 IP와 통신
새벽 시간 실행
비정상 CPU 사용모범답안
/tmp 하위 숨김 경로에서 root 권한 프로세스가 실행되고 외부 IP와 비정상 포트로 통신하며 CPU 사용량이 높으므로 악성 프로세스 또는 백도어로 의심할 수 있다. 해당 시스템을 네트워크에서 격리하고 프로세스, 실행 파일, 네트워크 연결, 계정, 로그, 메모리 정보를 보존·분석해야 한다. 이후 악성 파일과 자동 실행 항목을 제거하고 침입 경로를 확인하여 취약점 패치, 계정 비밀번호 변경, 권한 점검, 보안관제 룰 개선을 수행해야 한다.채점 키워드
악성 프로세스 의심
격리
증거 보존
네트워크 연결 분석
악성 파일 제거
침입 경로 확인
재발 방지부분점 기준
악성 프로세스 또는 백도어로 식별하면 기본점
/tmp 하위 숨김 경로, root 권한, 외부 IP 통신, 비정상 CPU 사용 중 3개 이상을 근거로 쓰면 핵심점
네트워크 격리와 프로세스·파일·로그·메모리 보존을 쓰면 고득점
침입 경로 확인과 패치, 계정 점검, 보안관제 룰 개선을 재발 방지로 쓰면 가점감점 포인트
CPU 사용량이 높다는 이유만으로 성능 장애로만 판단하면 감점
프로세스 종료나 파일 삭제만 쓰고 증거 보존을 누락하면 감점
root 권한 실행과 외부 통신 정황을 근거로 제시하지 않으면 감점상황형 문제 3 — 백업본 권한 문제
문제
중요 DB 백업 파일이 운영 서버의 공유 폴더에 저장되어 있다.
해당 공유 폴더는 모든 서버 계정에 쓰기 권한이 있다.
최근 랜섬웨어 감염으로 운영 데이터와 백업 파일이 모두 암호화되었다.의심 문제
백업 보안관리 미흡
백업본 접근통제 미흡
운영망과 백업본 미분리
랜섬웨어 복구 실패 위험모범답안
백업 파일이 운영 서버의 공유 폴더에 저장되어 있고 모든 계정에 쓰기 권한이 있어 랜섬웨어 감염 시 백업본까지 암호화된 것으로 볼 수 있다. 백업본은 운영 데이터와 분리하여 오프라인 또는 원격지에 보관하고, 접근권한을 최소화하며 암호화와 무결성 검증을 적용해야 한다. 또한 정기적인 복구 테스트를 통해 실제 복구 가능성을 확인하고, 백업 이력과 보관 정책을 관리해야 한다.채점 키워드
백업 분리
접근통제
오프라인 백업
원격지 백업
복구 테스트
무결성 검증상황형 문제 4 — SQL Injection 의심 로그
문제
다음 웹 로그를 보고 의심되는 공격과 대응 방안을 쓰시오.
GET /search?keyword=' OR '1'='1 HTTP/1.1 500
GET /search?keyword=test' UNION SELECT username,password FROM users-- HTTP/1.1 500
GET /search?keyword=admin' ORDER BY 5-- HTTP/1.1 500
source IP: 198.51.100.23의심 공격
SQL Injection근거
' OR '1'='1
UNION SELECT
ORDER BY
주석 기호
500 오류모범답안
검색 파라미터에 OR 조건, UNION SELECT, ORDER BY, 주석 기호 등 SQL Injection 공격에 사용되는 문자열이 포함되어 있고 500 오류가 반복되므로 SQL Injection 시도로 의심할 수 있다. 웹 로그와 DB 로그를 분석하여 공격 IP, 요청 URL, 실행된 쿼리, DB 오류, 정보 유출 여부를 확인해야 한다. 대응 방안으로 Prepared Statement 적용, 입력값 검증, DB 권한 최소화, 오류 메시지 노출 제한, WAF 탐지 정책 적용, 비정상 요청 차단을 수행해야 한다.채점 키워드
SQL Injection 식별
로그 근거 제시
Prepared Statement
입력값 검증
DB 권한 최소화
오류 메시지 제한
WAF부분점 기준
공격명을 SQL Injection으로 식별하면 기본점
' OR '1'='1, UNION SELECT, ORDER BY, 500 오류 중 2개 이상을 근거로 쓰면 핵심점
Prepared Statement, 입력값 검증, DB 권한 최소화, 오류 메시지 제한 중 3개 이상을 대응으로 쓰면 고득점
로그·DB 조회 결과를 확인하여 유출 여부를 분석한다고 쓰면 가점감점 포인트
SQL 키워드를 근거로 제시하지 않고 공격명만 쓰면 감점
WAF만 적용한다고 쓰고 애플리케이션 쿼리 수정 대책을 누락하면 감점
500 오류를 단순 장애로만 해석하고 공격 시도를 놓치면 감점상황형 문제 5 — Stored XSS
문제
게시판 댓글에 입력된 스크립트가 DB에 저장되었다.
이후 해당 게시글을 조회한 여러 사용자의 브라우저에서 동일 스크립트가 실행되었다.
일부 사용자의 세션 쿠키가 외부 서버로 전송된 정황이 있다.의심 공격
Stored XSS모범답안
악성 스크립트가 댓글에 저장된 뒤 게시글을 조회한 여러 사용자 브라우저에서 반복 실행되었으므로 Stored XSS로 의심할 수 있다. 세션 쿠키 외부 전송 정황이 있으므로 피해 사용자 범위와 세션 탈취 여부를 확인하고, 저장된 악성 댓글을 제거해야 한다. 대응 방안으로 출력값 인코딩, 입력값 검증, 위험 HTML 제한, CSP 적용, HttpOnly·Secure 쿠키 설정, 세션 재발급과 로그 분석을 수행해야 한다.채점 키워드
Stored XSS
서버 저장
브라우저 실행
쿠키 탈취
출력값 인코딩
CSP
HttpOnly부분점 기준
Stored XSS로 식별하면 기본점
댓글에 저장된 스크립트가 여러 사용자 브라우저에서 실행된다는 근거를 쓰면 핵심점
저장된 악성 콘텐츠 제거, 피해 세션 확인, 세션 재발급 중 2개 이상을 즉시 조치로 쓰면 가점
출력값 인코딩, CSP, HttpOnly·Secure 쿠키 등 재발 방지를 쓰면 고득점감점 포인트
Reflected XSS와 혼동하여 요청 파라미터 반사만 설명하면 감점
입력값 검증만 쓰고 출력값 인코딩을 누락하면 감점
쿠키 탈취 정황이 있는데 세션 조치를 쓰지 않으면 감점상황형 문제 6 — CSRF
문제
사용자가 쇼핑몰에 로그인한 상태에서 외부 이벤트 페이지를 방문했다.
이후 본인이 요청하지 않은 배송지 변경 요청이 쇼핑몰 서버에 전송되어 정상 처리되었다.
해당 요청에는 CSRF Token이 없었고, Referer는 외부 도메인이었다.의심 공격
CSRF모범답안
사용자가 로그인된 상태에서 외부 사이트 방문 후 의도하지 않은 배송지 변경 요청이 처리되었고 CSRF Token이 없으며 Referer가 외부 도메인이므로 CSRF 공격으로 의심할 수 있다. 상태 변경 요청에는 예측 불가능한 CSRF Token을 포함하여 서버에서 검증하고, SameSite 쿠키, Origin/Referer 검증, 중요 기능 재인증을 적용해야 한다. 또한 배송지 변경과 같은 상태 변경 기능은 GET 방식으로 처리하지 않고 서버 측 권한 검증과 로그 모니터링을 수행해야 한다.채점 키워드
로그인 상태 악용
원치 않는 요청
CSRF Token
SameSite
Origin/Referer
재인증답안 구조
공격 식별: CSRF
근거: 로그인 상태, 외부 페이지 방문, 의도하지 않은 상태 변경, Token 부재, 외부 Referer
즉시 조치: 관련 요청 로그와 변경 이력 확인, 피해 계정 조치
재발 방지: CSRF Token, SameSite, Origin/Referer 검증, 중요 기능 재인증감점 포인트
악성 스크립트 실행 문제로만 설명하면 XSS와 혼동한 답안으로 감점
GET/POST 방식만 언급하고 서버 측 Token 검증을 빠뜨리면 감점
상태 변경 요청이라는 점을 쓰지 않으면 감점상황형 문제 7 — 웹셸 업로드
문제
다음 로그를 보고 의심되는 공격과 대응 방안을 쓰시오.
POST /upload HTTP/1.1 200
filename=profile.jpg
Content-Type=image/jpeg
GET /uploads/profile.jpg?cmd=id HTTP/1.1 200
GET /uploads/profile.jpg?cmd=whoami HTTP/1.1 200의심 공격
파일 업로드 취약점
웹셸 업로드근거
이미지 파일명
cmd 파라미터
업로드 후 URL 직접 접근
명령 실행 의심모범답안
이미지 파일로 업로드된 파일에 cmd 파라미터를 붙여 접근하고 명령 실행 형태의 요청이 성공했으므로 웹셸 업로드로 의심할 수 있다. 해당 파일을 격리하고 웹 서버 로그, 업로드 이력, 파일 내용, 실행 권한, 명령 실행 결과를 분석해야 한다. 대응 방안으로 허용 확장자 방식, MIME Type과 파일 시그니처 검증, 파일명 난수화, 웹 루트 외부 저장, 업로드 디렉터리 실행 권한 제거, 악성코드 검사를 적용해야 한다.채점 키워드
웹셸
cmd 파라미터
파일 격리
시그니처 검증
웹 루트 외부 저장
실행 권한 제거부분점 기준
웹셸 업로드 또는 파일 업로드 취약점으로 식별하면 기본점
업로드 후 동일 파일 URL에 cmd 파라미터로 접근한 점을 근거로 쓰면 핵심점
파일 격리, 파일 내용 분석, 실행 권한 확인, 명령 실행 범위 확인 중 2개 이상을 쓰면 가점
시그니처 검증, 웹 루트 외부 저장, 실행 권한 제거를 대응으로 쓰면 고득점감점 포인트
파일명이 jpg라는 이유만으로 정상 이미지라고 판단하면 감점
확장자 차단만 쓰고 파일 내용 검증과 실행 권한 제거를 누락하면 감점
업로드 파일 삭제만 쓰고 침해 범위 분석을 빠뜨리면 감점상황형 문제 8 — IDOR
문제
GET /api/orders/100 HTTP/1.1 200
user: kim
GET /api/orders/101 HTTP/1.1 200
user: kim
GET /api/orders/102 HTTP/1.1 200
user: kim분석 결과, 101번과 102번 주문은 다른 사용자의 주문이었다.
의심 취약점
IDOR
BOLA
객체 수준 권한 검증 실패모범답안
사용자가 주문번호와 같은 객체 식별자를 순차적으로 변경하여 타인의 주문정보를 조회했으므로 IDOR 또는 BOLA 취약점으로 볼 수 있다. 서버는 요청된 주문이 인증된 사용자의 소유인지 매 요청마다 검증해야 하며, 권한 없는 요청은 403으로 차단해야 한다. 또한 순차 ID 접근 시도를 탐지하도록 API 로그를 모니터링하고, 필요 시 예측 어려운 식별자 사용과 Rate Limiting을 보조 대책으로 적용할 수 있다.채점 키워드
객체 식별자 조작
타인 자원 접근
서버 측 소유자 검증
403 차단
로그 모니터링부분점 기준
IDOR 또는 BOLA로 식별하면 기본점
주문번호를 순차 변경해 타인 주문을 200 응답으로 조회한 근거를 쓰면 핵심점
서버 측 소유자 검증과 권한 없는 요청 403 차단을 쓰면 고득점
Rate Limiting이나 예측 어려운 식별자는 보조 대책으로 쓰면 가점감점 포인트
로그인 여부만 확인하면 된다고 쓰면 감점
UUID 사용만 대응으로 쓰고 서버 측 권한 검증을 누락하면 큰 감점
타인 자원 접근이라는 피해를 쓰지 않으면 감점상황형 문제 9 — Mass Assignment
문제
PATCH /api/users/me
{
"name": "kim",
"email": "kim@example.com",
"role": "admin",
"point": 999999
}처리 후 일반 사용자에게 관리자 권한과 비정상 포인트가 부여되었다.
의심 취약점
Mass Assignment모범답안
클라이언트가 보낸 role과 point 필드가 서버 객체에 그대로 반영되어 관리자 권한과 비정상 포인트가 부여되었으므로 Mass Assignment 취약점으로 볼 수 있다. 서버는 클라이언트 요청의 모든 필드를 자동 매핑하지 말고 허용된 필드만 명시적으로 반영해야 한다. 역할, 권한, 포인트, 가격, 상태값과 같은 중요 값은 서버 측 정책과 권한 검증에 따라 결정해야 한다.채점 키워드
자동 매핑
role=admin
허용 필드만 반영
중요 값 서버 결정상황형 문제 10 — JWT 민감정보 노출
문제
다음은 디코딩된 JWT Payload이다.
{
"userId": "user01",
"name": "Kim",
"role": "user",
"residentNumber": "900101-1234567",
"password": "Pass1234",
"exp": 1893456000
}문제점
JWT Payload에 민감정보 저장
비밀번호 포함
주민등록번호 포함
긴 만료시간 가능성모범답안
JWT Payload는 쉽게 디코딩될 수 있으므로 주민등록번호와 비밀번호 같은 민감정보를 저장하면 안 된다. JWT에는 최소한의 식별 정보와 필요한 클레임만 포함하고, 비밀번호는 절대 포함하지 않으며 중요 개인정보는 서버 측 안전한 저장소에서 관리해야 한다. 또한 서명 검증, 짧은 만료시간, HTTPS 전송, 토큰 폐기·재발급 정책, 권한 클레임 검증을 적용해야 한다.채점 키워드
Payload 디코딩 가능
민감정보 저장 금지
비밀번호 금지
만료시간
서명 검증
HTTPS상황형 문제 11 — ARP Spoofing
문제
사용자 PC의 ARP 테이블에서 기본 게이트웨이 IP의 MAC 주소가 반복적으로 변경된다.
동일 네트워크의 다른 PC에서도 같은 현상이 발생한다.
일부 사용자의 HTTP 로그인 정보가 외부로 유출된 정황이 있다.의심 공격
ARP Spoofing
MITM
스니핑모범답안
기본 게이트웨이 IP에 대한 MAC 주소가 반복적으로 변경되고 여러 PC에서 같은 현상이 발생하므로 ARP Spoofing으로 의심할 수 있다. 공격자는 피해자 트래픽을 자신에게 유도하여 스니핑이나 중간자 공격을 수행할 수 있으므로 의심 단말을 격리하고 ARP 테이블, 스위치 로그, 네트워크 패킷을 분석해야 한다. 대응 방안으로 Dynamic ARP Inspection, DHCP Snooping, 정적 ARP, 네트워크 분리, HTTPS 등 암호화 통신을 적용해야 한다.상황형 문제 12 — SYN Flooding
문제
웹 서버에 SYN 패킷이 급증했다.
SYN_RECV 상태의 연결이 대량으로 쌓이고 정상 사용자의 접속이 지연된다.의심 공격
SYN Flooding모범답안
SYN 패킷이 급증하고 SYN_RECV 상태가 대량으로 발생하며 정상 접속이 지연되므로 SYN Flooding 공격으로 의심할 수 있다. 이는 TCP 3-Way Handshake 과정에서 최종 ACK를 보내지 않아 서버의 연결 대기 자원을 고갈시키는 공격이다. 대응 방안으로 SYN Cookie, 연결 대기 큐와 타임아웃 조정, SYN 요청 Rate Limiting, 방화벽·IPS 탐지, DDoS 방어 서비스 연계를 적용해야 한다.상황형 문제 13 — 보안관제 상관분석
문제
다음 이벤트가 10분 안에 순서대로 발생했다.
1. 해외 IP에서 VPN 로그인 성공
2. 관리자 페이지 접속 성공
3. 개인정보 DB 대량 조회
4. 대용량 파일 외부 전송의심 문제
계정 탈취
관리자 권한 오남용
개인정보 유출 가능성모범답안
해외 IP에서 VPN 로그인 후 관리자 페이지 접속, 개인정보 DB 대량 조회, 대용량 외부 전송이 연속 발생했으므로 계정 탈취와 개인정보 유출 가능성을 의심할 수 있다. 해당 계정의 세션을 차단하고 계정을 잠금 처리한 뒤, VPN·관리자·DB·파일전송 로그를 상관분석하여 조회·반출된 데이터 범위를 확인해야 한다. 재발 방지를 위해 MFA, 접근 IP 제한, 관리자 권한 점검, 이상행위 탐지 룰, 대량 조회·반출 통제를 강화해야 한다.채점 키워드
계정 탈취 의심
개인정보 유출 가능성
이벤트 순서 상관분석
세션 차단·계정 잠금
조회·반출 범위 확인
MFA와 이상행위 탐지감점 포인트
각 로그를 개별 이벤트로만 보고 연속된 공격 흐름을 설명하지 않으면 감점
계정 잠금만 쓰고 DB 조회·파일 전송 범위 확인을 누락하면 감점
재발 방지에서 관리자 권한 점검이나 대량 반출 통제를 빠뜨리면 감점상황형 문제 14 — 운영 변경관리 미흡
문제
운영 방화벽 정책이 승인 없이 변경되었다.
변경 후 결제 서비스 접속이 차단되었다.
변경 요청서, 영향 분석, 롤백 계획, 적용 이력이 없다.의심 문제
변경관리 미흡
무단 변경
업무 장애 유발모범답안
운영 방화벽 정책이 승인 없이 변경되고 결제 서비스 장애가 발생했으며 변경 요청서와 롤백 계획도 없으므로 변경관리 절차가 미흡한 상황이다. 변경 전에는 변경 요청, 영향 분석, 승인, 테스트, 백업과 롤백 계획을 수립해야 하고, 변경 후에는 정상 동작 검증과 변경 이력 기록을 수행해야 한다. 현재는 정책을 이전 상태로 복구하고 장애 영향 범위와 원인을 분석한 뒤 재발 방지를 위해 변경관리 절차를 강화해야 한다.상황형 문제 15 — 취약점 즉시 조치 불가
문제
취약점 진단에서 인터넷에 노출된 서버의 고위험 취약점이 발견되었다.
하지만 업무 중단 우려로 즉시 패치를 적용하기 어렵다.대응 방향
위험도 평가
예외 승인
임시 보완대책
패치 일정 수립
잔여위험 관리모범답안
고위험 취약점이 발견되었으나 즉시 패치가 어렵다면 위험 수준과 자산 중요도를 평가하고 책임자의 예외 승인을 받아야 한다. 패치 전까지 방화벽·WAF·IPS 정책 강화, 접근 IP 제한, 취약 서비스 임시 중지, 모니터링 강화 같은 보완대책을 적용해야 한다. 이후 가능한 일정에 따라 패치를 적용하고 재점검으로 조치 완료 여부를 확인하며 잔여위험을 관리해야 한다.상황형 문제 16 — 개인정보 유출 의심
문제
고객 DB에서 평소보다 50배 많은 조회가 발생했다.
조회 계정은 외주업체 유지보수 계정이다.
대량 조회 직후 외부 파일 전송 로그가 확인되었다.의심 문제
개인정보 유출 가능성
외주 계정 오남용
수탁자 관리 미흡모범답안
외주업체 유지보수 계정으로 고객 DB 대량 조회가 발생하고 직후 외부 파일 전송이 확인되었으므로 개인정보 유출 가능성을 의심할 수 있다. 해당 계정과 세션을 차단하고 DB 조회 로그, 파일 전송 로그, 접속 IP, 조회 항목과 정보주체 수를 분석해야 한다. 유출 여부와 범위를 확인한 뒤 정보주체 통지와 관계기관 신고 요건을 검토하고, 외주 계정 최소권한, 작업 승인, 접속기록 점검, 수탁자 관리·감독을 강화해야 한다.채점 키워드
개인정보 유출 의심
외주 계정 오남용
계정·세션 차단
조회 항목과 정보주체 수 확인
통지·신고 요건 검토
수탁자 관리·감독 강화부분점 기준
고객 DB 대량 조회와 외부 파일 전송을 연결해 유출 가능성을 쓰면 핵심점
조회 항목, 정보주체 수, 접속 IP, 전송 파일을 분석 대상으로 쓰면 가점
통지·신고 검토와 수탁자 관리 개선을 모두 쓰면 고득점감점 포인트
외주업체 계정이라는 특성을 무시하고 내부 직원 사고처럼만 쓰면 감점
유출 범위 확인 없이 신고만 쓰면 감점
최소권한, 작업 승인, 접속기록 점검 등 재발 방지를 누락하면 감점상황형 문제 17 — BCP/DRP 미흡
문제
데이터센터 정전으로 핵심 업무 시스템이 중단되었다.
BIA에서는 해당 업무 RTO가 2시간으로 정의되어 있었지만,
실제 복구에는 12시간이 걸렸다.의심 문제
RTO 미충족
DRP 실효성 부족
복구훈련 미흡모범답안
핵심 업무의 RTO가 2시간인데 실제 복구가 12시간 걸렸다면 업무영향분석 결과와 재해복구계획이 실제 복구 능력과 맞지 않은 것이다. 복구 지연 원인을 분석하고 DRP 절차, 백업, 이중화, 재해복구센터, 담당자 역할, 비상연락망을 점검해야 한다. 또한 정기적인 복구훈련을 통해 RTO 충족 여부를 검증하고 필요한 인프라와 절차를 개선해야 한다.상황형 문제 18 — 수탁자 목적 외 이용
문제
콜센터 수탁업체가 고객 상담 업무를 위해 제공받은 개인정보를 자체 이벤트 홍보 문자 발송에 사용했다.의심 문제
수탁자 목적 외 이용
위탁 관리 미흡
개인정보보호 위반 가능성모범답안
콜센터 수탁업체가 상담 업무 목적을 넘어 자체 이벤트 홍보에 고객 개인정보를 사용했으므로 수탁자의 목적 외 이용으로 볼 수 있다. 위탁자는 해당 행위를 즉시 중단시키고 처리 내역과 발송 대상, 정보 항목, 피해 가능성을 확인해야 한다. 재발 방지를 위해 위탁계약의 목적 외 이용 금지, 보안교육, 수탁자 점검, 재위탁 통제, 사고 통보와 손해배상 조항을 강화해야 한다.상황형 문제 19 — 로그 원본 훼손
문제
침해사고 분석 중 담당자가 웹 로그 원본 파일을 직접 열어 일부 내용을 수정한 뒤 저장했다.
수정 전 해시값은 계산하지 않았다.의심 문제
증거 훼손
무결성 검증 실패
포렌식 절차 미흡모범답안
침해사고 분석 중 원본 웹 로그를 직접 수정하고 사전 해시값도 계산하지 않았으므로 증거 무결성이 훼손된 상황이다. 사고 증거는 원본을 보존하고 복제본을 생성하여 분석해야 하며, 수집 시점의 해시값을 계산해 변조 여부를 검증해야 한다. 또한 수집자, 수집 시각, 보관 위치, 인수인계 이력을 기록하여 증거 연계성을 유지해야 한다.상황형 문제 20 — 개인정보 파기 미흡
문제
회원 탈퇴 후 3년이 지난 고객의 개인정보가 운영 DB에 그대로 남아 있다.
해당 정보에는 이름, 전화번호, 주소, 주문내역이 포함되어 있다.의심 문제
개인정보 보유기간 초과
파기 미흡
목적 달성 후 불필요 개인정보 보관모범답안
회원 탈퇴 후 보유기간이 경과한 개인정보가 운영 DB에 남아 있으므로 개인정보 파기 절차가 미흡한 상황이다. 보유기간 경과 또는 처리 목적 달성으로 불필요해진 개인정보는 지체 없이 파기해야 하며, 전자파일과 DB 데이터는 복구 불가능한 방식으로 삭제해야 한다. 파기 대상, 일시, 방법, 담당자를 기록하고 법령상 보관이 필요한 정보는 별도 분리 보관해야 한다.상황형 문제 답안 작성 공식
상황형 문제는 아래 공식으로 답하세요.
① 의심되는 공격 또는 관리 미흡 사항을 한 문장으로 식별한다.
② 로그나 상황에서 근거를 2개 이상 제시한다.
③ 즉시 조치를 쓴다.
④ 근본 대책과 재발 방지를 쓴다.해당 상황은 SQL Injection 시도로 의심할 수 있다.
그 근거는 검색 파라미터에 SQL 키워드와 특수문자가 반복되고 500 오류가 증가했기 때문이다.
즉시 웹·DB 로그를 분석하고 공격 IP와 취약 URL을 차단해야 한다.
재발 방지를 위해 Prepared Statement, 입력값 검증, 오류 메시지 제한, DB 권한 최소화, WAF 정책을 적용해야 한다.핵심 요약
| 유형 | 핵심 판단 |
|---|---|
| 퇴사자 계정 접속 | 권한 회수 미흡, 비인가 접근 |
| /tmp 숨김 프로세스 | 악성코드, 백도어 |
| SQL 키워드 + 500 | SQL Injection |
| 댓글 스크립트 반복 실행 | Stored XSS |
| 로그인 상태 원치 않는 요청 | CSRF |
| 업로드 후 cmd 실행 | 웹셸 |
| 객체 ID 변경 후 타인 정보 | IDOR |
| role=admin 반영 | Mass Assignment |
| SYN_RECV 급증 | SYN Flooding |
| 해외 VPN + DB 대량 조회 | 계정 탈취·정보 유출 |
| RTO 초과 | DRP 실효성 부족 |
| RPO 미충족 | 백업 전략 미흡 |
| 원본 로그 수정 | 증거 훼손 |
| 보유기간 지난 개인정보 | 파기 미흡 |
| 수탁자 자체 마케팅 | 목적 외 이용 |
반드시 외울 문장
상황형 문제는 의심되는 공격 또는 문제를 식별하고, 로그나 상황에서 근거를 제시한 뒤, 즉시 조치와 재발 방지 대책을 함께 써야 한다.
SQL 키워드와 특수문자가 파라미터에 반복되고 500 오류가 증가하면 SQL Injection 시도로 의심할 수 있다.
게시판 댓글에 저장된 스크립트가 여러 사용자 브라우저에서 실행되면 Stored XSS로 의심할 수 있다.
로그인된 사용자가 외부 사이트 방문 후 원치 않는 상태 변경 요청을 보내면 CSRF로 의심할 수 있다.
업로드된 파일에 cmd 파라미터를 붙여 접근하고 명령 실행이 확인되면 웹셸 업로드로 의심할 수 있다.
객체 식별자를 바꾸어 타인의 정보가 조회되면 IDOR 또는 BOLA 취약점으로 볼 수 있다.
클라이언트가 보낸 role, price, point 같은 필드가 그대로 반영되면 Mass Assignment 취약점으로 볼 수 있다.
침해사고 증거는 원본을 보존하고 복제본으로 분석하며, 해시값과 인수인계 이력을 통해 무결성과 증거 연계성을 유지해야 한다.
RTO를 초과해 복구되었다면 재해복구계획의 실효성이 부족한 것이고, RPO보다 오래된 백업만 존재한다면 백업 전략이 업무 요구사항을 충족하지 못한 것이다.
수탁자가 위탁받은 업무 범위를 넘어 개인정보를 자체 목적으로 사용하면 목적 외 이용으로 볼 수 있으며, 위탁자는 계약과 감독을 강화해야 한다.연습 과제
이번 과제는 상황형·로그형 답안 작성입니다.
각 문제에 대해 아래 형식으로 답하세요.
의심되는 문제:
판단 근거:
즉시 조치:
재발 방지:A. 시스템 로그형
1. 퇴사자 계정으로 새벽 3시에 VPN 접속이 성공했고, 이후 파일 서버에서 대량 다운로드가 발생했다.
2. /var/tmp/.sys/update 파일이 root 권한으로 실행 중이며 외부 IP 203.0.113.10과 지속 통신한다.
3. 중요 백업 파일이 운영 공유 폴더에 있고 모든 계정에 쓰기 권한이 부여되어 있다.
4. 시스템 로그에서 sudo 실패가 짧은 시간에 수백 건 발생했고, 이후 관리자 권한 획득 로그가 확인되었다.B. 웹 로그형
5. 검색 파라미터에 UNION SELECT, ORDER BY, '-- 문자열이 반복되고 500 오류가 증가했다.
6. 게시판 댓글에 저장된 스크립트가 여러 사용자 브라우저에서 실행되었다.
7. 로그인된 사용자가 외부 사이트 방문 후 원치 않는 비밀번호 변경 요청을 보냈고 CSRF Token은 없었다.
8. 업로드된 image.jpg 파일에 ?cmd=whoami 요청을 보내자 200 응답이 발생했다.
9. /api/users/100, /api/users/101, /api/users/102 요청이 모두 200으로 응답되었고 다른 사용자 정보가 포함되어 있었다.
10. 회원정보 수정 요청 Body에 role=admin 값을 추가하자 관리자 권한이 부여되었다.C. 네트워크 로그형
11. 여러 PC의 ARP 테이블에서 기본 게이트웨이 MAC 주소가 반복적으로 변경되었다.
12. SYN 패킷이 급증하고 SYN_RECV 상태가 대량으로 발생했다.
13. 정상 도메인 접속 시 평소와 다른 IP로 연결되고 가짜 로그인 페이지가 표시되었다.
14. 다수 국가 IP에서 동일 URL로 GET 요청이 급증하고 DB 부하가 증가했다.D. 관리·법규 상황형
15. 결제 시스템 RTO는 2시간인데 실제 복구에 10시간이 걸렸다.
16. 결제 DB RPO는 5분인데 백업은 하루 1회만 수행되고 있었다.
17. 개인정보 유출 정황이 있으나 유출 항목과 정보주체 수가 아직 파악되지 않았다.
18. 침해사고 분석 중 담당자가 원본 로그를 직접 수정하고 저장했다.
19. 수탁업체가 위탁받은 고객 정보를 자체 마케팅에 사용했다.
20. 회원 탈퇴 후 보유기간이 지난 개인정보가 운영 DB에 남아 있었다.상황형 채점표
공통 부분점 기준
| 항목 | 배점 | 부분점 기준 |
|---|---|---|
| 문제 식별 | 25% | 공격명, 취약점, 관리 미흡 사항을 정확히 지적 |
| 판단 근거 | 25% | 로그, 증상, 시간, 계정, 요청값 등 근거 제시 |
| 즉시 조치 | 25% | 차단, 격리, 계정 잠금, 권한 회수, 증거 보존 등 |
| 재발 방지 | 25% | 정책·절차·기술통제·모니터링·교육 개선 |
문제별 채점 키워드
| 번호 | 핵심 포인트 |
|---|---|
| 1 | 퇴사자 계정, VPN 접속, 대량 다운로드, 권한 회수 미흡 |
| 2 | 숨김 경로, root 실행, 외부 통신, 악성코드·백도어 |
| 3 | 백업 파일 권한 과다, 랜섬웨어·변조 위험 |
| 4 | sudo 실패 급증, 계정 공격, 관리자 권한 탈취 가능성 |
| 5 | UNION SELECT, 500 오류, SQL Injection |
| 6 | 저장된 스크립트, 다수 사용자 실행, Stored XSS |
| 7 | 로그인 상태 악용, CSRF Token 부재, CSRF |
| 8 | 업로드 파일 명령 실행, 웹셸 |
| 9 | 객체 ID 변경, 타인 정보 조회, IDOR/BOLA |
| 10 | role=admin, 서버 검증 부재, Mass Assignment |
| 11 | 게이트웨이 MAC 변조, ARP Spoofing |
| 12 | SYN 급증, SYN_RECV 대량, SYN Flooding |
| 13 | 가짜 로그인 페이지, DNS Spoofing 또는 Cache Poisoning |
| 14 | 다수 국가 IP, 동일 URL, HTTP Flooding |
| 15 | RTO 초과, DRP 실효성 부족 |
| 16 | RPO 미충족, 백업 주기 부적정 |
| 17 | 개인정보 유출 정황, 항목·규모·경위 확인 필요 |
| 18 | 원본 로그 수정, 증거 훼손 |
| 19 | 수탁자 목적 외 이용, 위탁관리 미흡 |
| 20 | 보유기간 경과 개인정보, 파기 미흡 |
감점 포인트
공격명만 쓰고 로그 근거를 쓰지 않으면 감점.
즉시 조치만 쓰고 재발 방지를 누락하면 감점.
개인정보 상황에서 통지·신고 검토를 단정하거나 아예 누락하면 감점.
증거 훼손 문제에서 원본 보존과 해시값 산출을 누락하면 감점.
BCP/DRP 문제에서 RTO/RPO와 백업·복구 테스트를 연결하지 않으면 감점.