이번 글의 세 문항은 공개 기출문제의 원문을 재현하지 않은 창작 문제다. 정답과 해설은 게시 시점에 확인한 OWASP 및 국가법령정보센터의 공식·1차 자료를 바탕으로 작성했다.

문제 1 — SQL 인젝션 방어

문제

웹 애플리케이션에서 SQL 인젝션 위험을 줄이는 방법으로 가장 적절한 것은?

선택지

  1. 사용자 입력을 SQL 문자열에 직접 이어 붙인 뒤 특수문자 몇 개만 제거한다.
  2. 서버 측에서 준비된 문장과 파라미터 바인딩을 사용해 SQL 구조와 값을 분리한다.
  3. 클라이언트에서만 입력값을 검증하면 서버의 쿼리 작성 방식은 중요하지 않다.
  4. 데이터베이스 계정에 모든 테이블의 관리자 권한을 부여한다.

정답

2번

해설

OWASP는 준비된 문장(파라미터화된 쿼리)을 사용해 SQL 구조를 데이터 값과 분리하라고 안내한다. 파라미터로 바인딩된 값은 SQL 구문이 아니라 데이터로 처리된다. 서버 측 구현에서 문자열 연결을 피하고, 피해 제한을 위해 최소 권한도 함께 적용해야 한다. [1]

오답 포인트

클라이언트 검증은 우회될 수 있으므로 단독 방어가 아니다. 단순한 블랙리스트 치환도 우회 가능성이 있고, 파라미터화된 쿼리를 쓰더라도 과도한 DB 권한은 피해를 키운다.

출처 또는 검증 근거

[1] OWASP, SQL Injection Prevention Cheat Sheet, https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

문제 2 — 개인정보 유출 통지·신고

문제

현행 개인정보 보호법 체계에서 개인정보 유출등을 알게 된 개인정보처리자의 조치로 옳은 것은?

선택지

  1. 내부 조사가 모두 끝날 때까지 정보주체 통지와 신고를 무기한 미룬다.
  2. 법령상 요건과 기한에 따라 정보주체에게 통지하고, 해당하는 경우 보호위원회 또는 전문기관에 신고한다.
  3. 유출 항목과 경위는 알리지 않고 비밀번호 변경만 안내한다.
  4. 유출 사실을 인지했더라도 외부 신고는 항상 금지된다.

정답

2번

해설

개인정보 보호법 제34조는 개인정보 유출등을 알게 된 경우 정보주체에 유출 항목, 시점과 경위, 피해 최소화 방법, 대응조치 및 피해구제 절차 등을 통지하도록 한다. 법령상 신고 대상에 해당하면 보호위원회 또는 전문기관에 신고해야 하며, 시행령은 일정한 경우 72시간 이내 신고·통지 기준을 둔다. [2][3]

오답 포인트

“조사 완료 후 통지”는 법정 통지·신고 의무를 무기한 늦추는 근거가 아니다. 적용 여부와 세부 기한은 유출 유형·규모 등 현행 법령 요건을 확인해야 하며, 모든 사건을 같은 방식으로 단정해서도 안 된다.

출처 또는 검증 근거

[2] 국가법령정보센터, 「개인정보 보호법」 제34조, https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EB%B2%95/ [3] 국가법령정보센터, 「개인정보 보호법 시행령」 제39조·제40조, https://law.go.kr/lsInfoP.do?lsId=011468

문제 3 — 깨끗한 백업과 복구

문제

랜섬웨어 사고 후 복구 단계의 조치로 가장 적절한 것은?

선택지

  1. 감염이 확인된 시스템의 현재 파일을 검증 없이 백업본으로 취급해 즉시 복원한다.
  2. 사고 범위와 원인을 확인하고, 신뢰할 수 있는 깨끗한 백업·시스템으로 복구하며 취약점과 자격증명을 함께 정비한다.
  3. 복구 속도를 위해 로그와 증거를 모두 삭제한다.
  4. 공격 경로를 차단하지 않은 채 모든 시스템을 네트워크에 다시 연결한다.

정답

2번

해설

NIST 사고대응 지침은 복구 시 깨끗한 백업으로 시스템을 복원하거나 재구축하고, 패치·비밀번호 변경·경계 보안 강화 등을 수행할 수 있다고 설명한다. 복구 전에는 봉쇄와 영향 범위 확인, 증거 보존을 병행해야 재감염과 원인 미확정 상태를 줄일 수 있다. [4]

오답 포인트

백업이 존재한다는 사실만으로 안전한 복구가 보장되지 않는다. 백업의 무결성·시점·복구 가능성을 확인하고, 공격자가 남긴 지속성이나 훔친 자격증명도 함께 처리해야 한다.

출처 또는 검증 근거

[4] NIST, SP 800-61, Computer Security Incident Handling Guide, https://csrc.nist.gov/pubs/sp/800/61/final