[경찰간부후보생 시스템네트워크보안] 26년 1회차
경찰간부후보생 시스템네트워크보안 기출문제

26년 1회차

총 40문항 · 객관식 · A4 약 1장

1 / 1
A4정답 포함
경찰간부후보생 시스템네트워크보안 기출문제모두CBT · moducbt.com

26년 1회차

총 40문항 · 객관식 · 정답·해설 포함
문제 1
공격자가 일반 사용자 계정을 탈취하여 리눅스 시스템으로 로그인 한 후, 사용자의 이전 실행 명령어 내역을 보려고 한다. 해당 명령어로 가장 적절한 것은?
1touch
2dmesg
3history
4messages
정답 및 해설

사용자가 이전에 실행한 명령어 내역을 보여 주는 명령은 history이다.

bash 등 셸은 사용자가 입력한 명령을 홈 디렉터리의 .bash_history 같은 기록 파일에 남기며, history 명령으로 이 목록을 번호와 함께 출력한다.

  • touch: 빈 파일을 만들거나 파일의 시간 정보를 갱신하는 명령이다.
  • dmesg: 커널 링 버퍼의 부팅·장치 메시지를 출력하는 명령이다.
  • messages: 명령어가 아니라 시스템 전반의 로그가 쌓이는 로그 파일 이름이다.
문제 2
FIN Scan에 대한 설명으로 가장 적절한 것은?
1UDP에서 사용한다.
2닫힌 포트는 RST를 반환한다.
3열린 포트는 reachable을 반환한다.
4Nmap에서는 옵션 -sX를 사용한다.
정답 및 해설

FIN 스캔에서 닫힌 포트는 RST를 반환한다는 설명이 옳다.

FIN 플래그만 설정한 TCP 패킷을 보내면 열린 포트는 응답하지 않고, 닫힌 포트는 RST 패킷으로 응답한다. 이 차이로 포트 상태를 판단하는 스텔스 스캔이다.

  • UDP에서 사용한다: FIN은 TCP 제어 플래그이므로 TCP 스캔 기법이다.
  • 열린 포트는 reachable을 반환한다: 열린 포트는 아무 응답도 하지 않는다.
  • Nmap에서 -sX 옵션을 쓴다: -sX는 FIN·PSH·URG를 함께 설정하는 Xmas 스캔이고, FIN 스캔은 -sF이다.
문제 3
윈도우 레지스트리에 대한 설명으로 가장 적절하지 않은 것은?
1HKEY_USERS는 컴퓨터에 있는 사용자들의 프로파일 정보가 있다.
2HKEY_LOCAL_MACHINE은 하드웨어 구동 시 필요한 드라이버 정보가 있다.
3HKEY_CURRENT_CONFIG는 시스템 시작 시 사용하는 하드웨어 프로파일 정보가 있다.
4HKEY_CLASS_ROOT는 애플리케이션 관리자의 권한 정보가 있다.
정답 및 해설

HKEY_CLASSES_ROOT에 애플리케이션 관리자의 권한 정보가 있다는 설명이 옳지 않다.

HKEY_CLASSES_ROOT는 파일 확장자와 연결 프로그램의 관계, COM 객체 등록 정보를 담는 키로, 권한 정보를 저장하는 곳이 아니다.

  • HKEY_USERS: 컴퓨터에 있는 사용자들의 프로파일 정보를 담는다.
  • HKEY_LOCAL_MACHINE: 하드웨어·드라이버·설치 소프트웨어 등 시스템 전체 설정을 담는다.
  • HKEY_CURRENT_CONFIG: 시스템 시작 시 사용하는 현재 하드웨어 프로파일 정보를 담는다.
문제 4
공격당한 서버의 메모리 덤프 이미지로부터 은닉된 악성코드를 분석하기 위한 도구로 가장 적절한 것은?
1tcpdump
2Burp suite
3tripwire
4Volatility
정답 및 해설

메모리 덤프 이미지에서 은닉된 악성코드를 분석하는 도구는 Volatility이다.

Volatility는 대표적인 메모리 포렌식 프레임워크로, 덤프에서 프로세스 목록·네트워크 연결·주입된 코드·숨겨진 프로세스 등을 추출해 분석한다.

  • tcpdump: 네트워크 패킷을 캡처·출력하는 도구이다.
  • Burp suite: 웹 요청·응답을 가로채 점검하는 웹 프록시 도구이다.
  • tripwire: 파일의 해시를 기준값과 비교해 변조를 탐지하는 무결성 점검 도구이다.
문제 5
DNSSEC이 제공하는 기능으로 가장 적절하지 않은 것은?
1DNS 정보 무결성
2DNS 응답 정보 인증
3DNS 응답 정보 기밀성
4DNS 정보 위변조 방지
정답 및 해설

DNSSEC은 DNS 응답 정보의 기밀성을 제공하지 않는다.

DNSSEC은 DNS 레코드에 전자서명을 붙여 응답의 출처와 내용을 검증하는 기술로, 데이터를 암호화하지 않으므로 질의·응답 내용은 그대로 노출된다. 즉 무결성과 출처 인증이 목적이다.

  • DNS 정보 무결성: 서명 검증으로 내용 변경 여부를 확인한다.
  • DNS 응답 정보 인증: 신뢰 체인을 따라 응답이 정당한 영역에서 왔음을 확인한다.
  • DNS 정보 위변조 방지: 위조 응답을 검증 단계에서 걸러 캐시 포이즈닝 등을 막는다.
문제 6
WPA3 무선 LAN 보안 표준에서 기존 WPA2의 PSK
(Pre-Shared Key) 방식의 무차별 대입 공격 취약점을 방어하기 위해 도입한 인증 방식으로 가장 적절한 것은?
1WEP(Wired Equivalent Privacy)
2TKIP(Temporal Key Integrity Protocol)
3SAE(Simultaneous Authentication of Equals)
4AES-CCMP(CounterMode/CBC MAC Protocol)
정답 및 해설

WPA3가 PSK 방식의 사전·무차별 대입 취약점을 막으려고 도입한 인증 방식은 SAE이다.

SAE(Dragonfly 핸드셰이크)는 패스워드를 직접 노출하지 않는 키 교환으로, 캡처한 핸드셰이크로 오프라인 사전 공격을 할 수 없게 하고 순방향 비밀성을 제공한다.

  • WEP: 초기 무선 암호화 방식으로 취약점 때문에 폐기되었다.
  • TKIP: WEP 하드웨어에서 쓰도록 만든 WPA의 과도기 암호화 방식이다.
  • AES-CCMP: WPA2의 데이터 암호화·무결성 프로토콜로, 인증 방식이 아니다.
문제 7
다음의 YARA 룰에 대한 설명으로 가장 적절하지 않은 것은?
rule mal_a{
meta:
author = “police”
date = “2026-08-01”
description = “a 악성코드 탐지”

strings:
$mal_str1 = “VirtualAllocEx”
$mal_str2 = “WriteProcessMemory”
$mal_str3 = “cmd.exe /c” nocase
$file_header = {4D 5A}

condition:
$file_header at 0 and 2 of ($mal_str*) and ($mal_str3 > 2)
}
1파일의 시작이 MZ이다.
2strings는 텍스트 문자, 16진수, 정규표현식 모두 가능하다.
3이 YARA 룰은 파일에 포함된 문자 패턴을 탐지한다.
4문자열 중 2번째 문자인 “WriteProcessMemory”와 “cmd.exe /c”가 2번 이상 나타날 때 탐지한다.
정답 및 해설

특정 두 문자열이 각각 두 번 이상 나타날 때 탐지한다는 설명이 옳지 않다.

조건의 2 of (mal_str*)는 mal_str로 시작하는 세 문자열 가운데 아무거나 두 개가 존재하면 참이라는 뜻이지, 특정 두 문자열을 지정한 것이 아니다. 또 cmd.exe /c에 대한 비교는 그 문자열의 출현 횟수가 2보다 커야 한다는 별도 조건이다.

  • 파일의 시작이 MZ: 16진수 4D 5A는 ASCII로 MZ이고, at 0으로 파일 시작 위치를 지정했다.
  • strings 형식: 텍스트 문자열, 16진수 바이트열, 정규표현식을 모두 쓸 수 있다.
  • 문자 패턴 탐지: 이 룰은 파일 안의 문자열·바이트 패턴 일치로 악성코드를 탐지한다.
문제 8
2023년 대규모 웹 서비스들을 마비시켰던 고난도 DDoS 공격 기법으로, 단일 TCP 연결 내에서 수많은 스트림을 동시에 열고 복수의 RST_STREAM 프레임을 전송함으로써 서버의 프레임 처리 루프와 자원을 순식간에 고갈시키는 HTTP/2 프로토콜 고유의 취약점 공격으로 가장 적절한 것은?
1Rapid Reset Attack
2Smurfing Attack
3HTTP GET Flooding Attack
4CC Attack
정답 및 해설

HTTP/2에서 스트림을 열자마자 RST_STREAM으로 취소하기를 반복해 서버 자원을 고갈시키는 공격은 Rapid Reset Attack이다.

2023년 공개된 이 공격은 HTTP/2의 스트림 다중화와 즉시 취소 기능을 악용해, 동시 스트림 수 제한에 걸리지 않으면서 서버가 요청 처리를 계속 시작하게 만든다.

  • Smurfing Attack: 출발지를 피해자로 위조한 ICMP Echo 요청을 브로드캐스트해 응답을 증폭시키는 공격이다.
  • HTTP GET Flooding Attack: 정상적인 GET 요청을 대량으로 보내 웹 서버를 과부하시키는 공격이다.
  • CC Attack: Cache-Control 헤더로 캐시 사용을 막아 원 서버가 직접 요청을 처리하도록 만드는 GET 플러딩 변형이다.
문제 9
BGP 라우팅 프로토콜의 취약점을 악용한 IP 하이재킹(BGP Hijacking)을 원천적으로 차단하기 위해, 인터넷 주소 자원(IP 및 AS 번호)의 소유권을 암호학적으로 인증된 자격 증명(ROA) 형태로 발행하고 라우터가 이를 검증하도록 하는 프레임워크로 가장 적절한 것은?
1RPKI(Resource Public Key Infrastructure)
2BGPsec(Border Gateway Protocol Security)
3IPSec(Internet Protocol Security)
4DANE(DNS-based Authentication of Named Entities)
정답 및 해설

IP·AS 번호 소유권을 ROA로 인증해 라우터가 경로 출처를 검증하게 하는 프레임워크는 RPKI이다.

RPKI는 주소 자원 할당 체계에 맞춘 공개키 기반구조로, 어떤 AS가 어떤 프리픽스를 광고할 권한이 있는지 ROA로 서명해 두고 라우터가 경로 출처 유효성을 검증하게 한다.

  • BGPsec: BGP 메시지의 AS 경로 전체에 서명해 경로 경유 정보를 보호하는 확장이다.
  • IPSec: IP 계층에서 패킷 암호화·인증을 제공하는 보안 프로토콜이다.
  • DANE: DNSSEC으로 보호된 DNS 레코드에 TLS 인증서 정보를 게시해 검증하는 방식이다.
문제 10
데이터베이스 암호화의 유형 중 컬럼 암호화 방식으로 가장 적절하지 않은 것은?
1API 방식
2Plug-in 방식
3Hybrid 방식
4TDE 방식
정답 및 해설

TDE 방식은 컬럼 단위가 아니라 블록(파일) 단위 암호화 방식이다.

TDE(Transparent Data Encryption)는 DBMS 커널이 데이터 파일을 저장할 때 블록 단위로 암호화하고 읽을 때 복호화하므로 애플리케이션 수정이 필요 없다. 반면 컬럼 암호화는 특정 컬럼 값을 선택적으로 암호화한다.

  • API 방식: 애플리케이션에서 암호화 모듈을 호출해 컬럼 값을 암·복호화한다.
  • Plug-in 방식: DB 서버에 설치한 암호화 모듈이 컬럼 단위로 암·복호화를 수행한다.
  • Hybrid 방식: API 방식과 Plug-in 방식을 결합해 컬럼 단위로 적용한다.
문제 11
TCP SYN Flooding 공격 방어기법인 SYN Cookie에 대한 설명으로 가장 적절한 것은?
1서버가 SYN 수신 시 즉시 메모리를 할당한다.
2클라이언트의 ACK가 도착한 후 연결 정보를 메모리에 할당한다.
3TCP Window Size를 증가시켜 공격을 완화한다.
4TCP Sequence Number를 생성하지 않는다.
정답 및 해설

SYN Cookie는 클라이언트의 ACK가 도착한 후 연결 정보를 메모리에 할당한다.

서버는 SYN을 받아도 연결 상태를 저장하지 않고, 연결 정보를 해시해 만든 값을 초기 시퀀스 번호로 SYN-ACK에 실어 보낸다. 돌아온 ACK의 확인 번호로 쿠키를 검증한 뒤에야 연결 자원을 할당하므로 백로그 큐가 고갈되지 않는다.

  • SYN 수신 시 즉시 메모리 할당: 이것이 바로 SYN Flooding에 취약한 기존 동작이다.
  • Window Size 증가: 윈도 크기는 흐름 제어 값으로 SYN Cookie의 원리와 무관하다.
  • 시퀀스 번호 미생성: 쿠키 값 자체를 시퀀스 번호로 생성해 사용한다.
문제 12
TLS 1.3 프로토콜이 TLS 1.2에 비해 보안성과 성능을 크게 향상시킨 특징으로 가장 적절하지 않은 것은?
1서버 인증서를 포함한 모든 메시지를 SHA-224 이상으로 난독화했다.
2Static RSA와 Static DH 키 교환 방식을 퇴출하고 Forward Secrecy를 강제화했다.
3차단 및 취약성이 발견된 CBC 모드 암호화 및 SHA-1 해시 함수 사용을 금지했다.
41-RTT 핸드셰이크를 기본으로 하며, 0-RTT 모드를 지원하여 성능을 높였다.
정답 및 해설

서버 인증서를 포함한 모든 메시지를 SHA-224 이상으로 난독화했다는 설명이 옳지 않다.

TLS 1.3은 ServerHello 이후의 핸드셰이크 메시지(인증서 포함)를 AEAD 암호로 암호화해 보호한다. 해시 함수는 키 유도·무결성 확인에 쓰일 뿐 메시지를 난독화하는 수단이 아니다.

  • Static RSA·Static DH 퇴출: 임시(Ephemeral) 키 교환만 허용해 Forward Secrecy를 강제했다.
  • CBC 모드·SHA-1 금지: 취약성이 드러난 CBC 모드 암호와 SHA-1 등 약한 알고리즘을 제거했다.
  • 1-RTT와 0-RTT: 핸드셰이크 왕복을 줄인 1-RTT를 기본으로 하고 재연결 시 0-RTT를 지원한다.
문제 13
웹 서버를 대상으로 하는 DoS 공격 중, HTTP 요청 헤더의 끝을 알리는 개행 문자(\r\n\r\n)를 완전하게 전송하지 않고 \r\n만 보낸 뒤, 지속적으로 가짜 헤더 필드를 천천히 전송하여 서버의 연결 자원을 고갈시키는 공격으로 가장 적절한 것은?
1SYN Flooding Attack
2Slowloris Attack
3Hulk DoS Attack
4Hash DoS Attack
정답 및 해설

헤더 끝을 알리는 빈 줄을 보내지 않고 가짜 헤더를 천천히 이어 보내는 공격은 Slowloris Attack이다.

서버는 요청 헤더가 끝나기를 기다리며 연결을 계속 유지하므로, 적은 트래픽으로도 웹 서버의 동시 연결 자원이 고갈된다.

  • SYN Flooding Attack: TCP 3-way 핸드셰이크를 완료하지 않아 서버의 연결 대기 큐를 채우는 공격이다.
  • Hulk DoS Attack: URL을 계속 바꿔 가며 GET 요청을 대량으로 보내 차단 임계치를 피하는 공격이다.
  • Hash DoS Attack: 해시 충돌을 일으키는 파라미터를 대량으로 보내 해시 테이블 처리 부하를 일으키는 공격이다.
문제 14
중요 서버에 대한 인바운드 공격을 방어할 때, 악성 트래픽이 방화벽을 통과하여 내부망 깊숙이 들어오기 전에 ISP 또는 최상위 네트워크 경계에서 공격 트래픽을 폐기(drop)하도록 유도하는 라우팅 기반 방어 기법으로 가장 적절한 것은?
1BGP Flowspec
2RTBH Filtering
3VPC Peering
4Split Tunneling
정답 및 해설

ISP나 네트워크 경계에서 공격 대상 목적지로 가는 트래픽을 폐기하도록 경로를 조작하는 기법은 RTBH Filtering이다.

RTBH(Remotely Triggered Black Hole)는 공격 대상 주소의 경로를 BGP로 광고해 상위 라우터들이 그 트래픽을 Null 인터페이스로 보내 버리도록 유도한다. 내부망에 도달하기 전에 대량 트래픽을 걸러 내는 라우팅 기반 방어다.

  • BGP Flowspec: 출발지·포트 등 세부 조건의 필터 규칙을 BGP로 배포하는 방식으로, 경로를 블랙홀로 보내는 것과 다르다.
  • VPC Peering: 클라우드의 가상 네트워크끼리 사설 경로로 연결하는 기능이다.
  • Split Tunneling: VPN 사용 시 일부 트래픽만 터널로, 나머지는 직접 인터넷으로 보내는 설정이다.
문제 15
Zero Trust 아키텍처의 논리적 구성 요소 중, 주체와 리소스 간의 연결을 궁극적으로 정의하고 엔터프라이즈 리소스에 대한 접근 권한을 부여하거나 취소하는 핵심 '두뇌' 역할을 수행하는 구성 요소로 가장 적절한 것은?
1정책 결정 지점(PDP)
2정책 집행 지점(PEP)
3신뢰 엔진(TE)
4지속적 진단 및 완화 시스템(CDM)
정답 및 해설

접근 권한을 부여·취소하는 제로 트러스트의 두뇌 역할은 정책 결정 지점(PDP)이다.

NIST 제로 트러스트 아키텍처에서 PDP는 정책 엔진과 정책 관리자로 구성되어 주체의 접근 요청을 평가하고 허용·거부를 결정하며, 그 결과를 집행 지점에 전달한다.

  • 정책 집행 지점(PEP): PDP의 결정에 따라 실제로 연결을 열고 닫는 관문 역할을 한다.
  • 신뢰 엔진(TE): 접근 판단에 쓰일 신뢰도를 산출하는 기능으로, 스스로 연결을 허용·차단하지 않고 결정은 PDP가 내린다.
  • 지속적 진단 및 완화 시스템(CDM): 자산의 상태 정보를 수집해 PDP의 판단 근거를 제공하는 데이터 소스이다.
문제 16
SSLv3 프로토콜은 단일 계층이기보다는 2개의 계층으로 된 프로토콜이다. 상위 계층과 하위 계층으로 나눌 때 하위 계층에 해당하는 프로토콜로 가장 적절한 것은?
1Alert 프로토콜
2Record 프로토콜
3Handshake 프로토콜
4Change Cipher Spec 프로토콜
정답 및 해설

SSLv3의 하위 계층 프로토콜은 Record 프로토콜이다.

Record 프로토콜은 TCP 바로 위에서 데이터를 단편화·압축하고 MAC과 암호화를 적용해 전송한다. 그 위의 상위 계층에 Handshake, Change Cipher Spec, Alert 프로토콜이 놓인다.

  • Alert 프로토콜: 오류·경고 상황을 상대에게 알리는 상위 계층 프로토콜이다.
  • Handshake 프로토콜: 상호 인증과 암호 알고리즘·키 협상을 수행하는 상위 계층 프로토콜이다.
  • Change Cipher Spec 프로토콜: 협상된 암호 설정의 적용 시작을 알리는 상위 계층 프로토콜이다.
문제 17
IPSec의 보안 연관(Security Association)의 식별 정보로 사용되는 매개변수로 가장 적절하지 않은 것은?
1보안 매개변수 인덱스
2IP 목적지 주소
3IPSec 프로토콜 모드
4보안 프로토콜 식별자(AH 또는 ESP)
정답 및 해설

IPSec 프로토콜 모드는 보안 연관(SA)의 식별 매개변수가 아니다.

SA는 SPI, 목적지 IP 주소, 보안 프로토콜 식별자의 세 값으로 유일하게 식별된다. 터널·전송 모드는 SA가 담고 있는 속성일 뿐 식별자에 포함되지 않는다.

  • 보안 매개변수 인덱스(SPI): AH·ESP 헤더에 실려 수신 측이 해당 SA를 찾는 데 쓰인다.
  • IP 목적지 주소: SA의 종단 주소로 식별에 사용된다.
  • 보안 프로토콜 식별자: SA가 AH용인지 ESP용인지를 구분한다.
문제 18
ICMP 오류 보고 메시지 중 Type 3인 Destination unreachable 메시지의 유형을 생성하는 경우로 가장 적절하지 않은 것은?
1라우터에서 목적지로 패킷을 전송할 경로를 찾지 못한 경우
2목적지 호스트의 특정 프로토콜(protocol)을 사용할 수 없는 경우
3IP 패킷의 단편화가 필요하지만 단편화할 수 없는 경우
4특정 호스트를 목적지로 하는 경로를 재지정해야 하는 경우
정답 및 해설

특정 호스트로 가는 경로를 재지정해야 하는 경우는 Destination unreachable이 아니라 Redirect 메시지(Type 5)를 생성한다.

ICMP Type 3은 패킷을 목적지까지 전달할 수 없을 때 보내는 오류 메시지이며, 사유는 코드 값으로 구분한다.

  • 경로를 찾지 못한 경우: 네트워크 또는 호스트 도달 불가 코드로 보고된다.
  • 특정 프로토콜을 사용할 수 없는 경우: 프로토콜 도달 불가 코드로 보고된다.
  • 단편화가 필요하나 DF 비트로 단편화할 수 없는 경우: 단편화 필요 코드로 보고되며 경로 MTU 탐색에 쓰인다.
문제 19
TCP 연결 생성, TCP 연결 중단 또는 TCP 연결 종료 과정에서 사용되는 TCP 제어 플래그로 가장 적절하지 않은 것은?
1ACK
2FIN
3RST
4URG
정답 및 해설

연결 생성·중단·종료에 쓰이지 않는 플래그는 URG이다.

URG는 세그먼트 안에 긴급 데이터가 있으며 긴급 포인터 필드가 유효함을 알리는 플래그로, 연결 관리와 무관하다.

  • ACK: 3-way 핸드셰이크와 종료 과정에서 상대 세그먼트 수신을 확인한다.
  • FIN: 더 보낼 데이터가 없음을 알려 정상적으로 연결을 종료한다.
  • RST: 비정상 상황에서 연결을 즉시 중단(재설정)한다.
문제 20
SSH 프로토콜에 대한 설명으로 가장 적절하지 않은 것은?
1SSH 사용자 인증 프로토콜은 SSH 전송 계층 프로토콜의 하위 계층에서 동작한다.
2SSH 전송 계층 프로토콜은 데이터 기밀성을 제공한다.
3SSH 연결 프로토콜은 하나의 채널 상에서 여러 개의 논리적 통신 채널을 다중화한다.
4SSH가 지원하는 원격 포워딩에서는 사용자의 SSH 클라이언트가 서버의 역할을 할 수 있다.
정답 및 해설

SSH 사용자 인증 프로토콜이 전송 계층 프로토콜의 하위 계층에서 동작한다는 설명이 옳지 않다.

SSH는 맨 아래에 전송 계층 프로토콜이 서버 인증·암호화·무결성을 제공하고, 그 위에서 사용자 인증 프로토콜과 연결 프로토콜이 동작하는 구조다.

  • 전송 계층 프로토콜의 기밀성: 세션 키로 트래픽을 암호화해 기밀성을 제공한다.
  • 연결 프로토콜의 다중화: 하나의 암호화 터널 위에 여러 논리 채널을 다중화한다.
  • 원격 포워딩: 서버 쪽 포트로 들어온 연결을 클라이언트 쪽으로 넘겨, 클라이언트 측이 서비스를 제공하는 역할을 할 수 있다.
문제 21
리눅스 라우팅 테이블 설정 정보를 출력했을 때 항목 정보에 대한 설명으로 가장 적절한 것은?
1Destination에는 네트워크 IP 주소는 들어갈 수 없고 목적지 호스트 주소만 들어간다.
2Genmask가 255.255.255.255인 경우에는 목적지 호스트 식별 마스크이다.
3Gateway는 목적지로 전송하기 위한 네트워크 인터페이스 이름이다.
4UG 플래그는 해당 경로가 활성화되어 있지 않으며 게이트웨이를 사용한다는 의미이다.
정답 및 해설

Genmask가 255.255.255.255이면 단일 목적지 호스트를 식별하는 마스크라는 설명이 옳다.

모든 비트가 1인 마스크는 Destination 주소 하나와 정확히 일치하는 호스트 경로를 뜻하며, 이때 플래그에 H가 표시된다.

  • Destination: 호스트 주소뿐 아니라 네트워크 주소와 기본 경로도 들어간다.
  • Gateway: 다음 홉 게이트웨이의 주소이며, 인터페이스 이름은 Iface 항목에 표시된다.
  • UG 플래그: U는 경로가 활성화(up)되어 있다는 뜻이고 G는 게이트웨이를 거친다는 뜻이다.
문제 22
NAT 기술에 대한 설명으로 가장 적절하지 않은 것은?
1NAT 라우터의 내부 네트워크에 있는 호스트들은 사설 IP 주소들이 할당되어 있다.
2Static NAT 기술은 하나의 사설 IP 주소와 하나의 공인 IP 주소를 1:1 고정적으로 변환하는 방식이다.
3Dynamic NAT 기술은 다수의 사설 IP 주소와 소수의 공인 IP 주소를 m:n 동적으로 변환하는 방식이다.
4NAPT 기술은 포트 번호를 이용하여 하나의 사설 IP 주소를 다수의 공인 IP 주소로 변환하는 방식이다.
정답 및 해설

NAPT가 하나의 사설 IP를 다수의 공인 IP로 변환한다는 설명이 옳지 않다.

NAPT(PAT)는 포트 번호를 함께 바꿔 다수의 사설 IP를 하나의 공인 IP로 변환하는 방식이다. 연결마다 다른 포트를 배정해 내부 호스트를 구분한다.

  • 내부 호스트의 사설 IP: NAT 라우터 내부 네트워크 호스트에는 사설 IP가 할당된다.
  • Static NAT: 사설 IP 하나와 공인 IP 하나를 1:1로 고정 매핑한다.
  • Dynamic NAT: 공인 IP 풀에서 필요할 때 주소를 동적으로 할당해 변환한다.
문제 23
netstat 명령어에 대한 설명으로 가장 적절한 것은?
1-l 옵션은 프로토콜별로 모든 네트워크 통계 정보를 출력한다.
2-n 옵션은 네트워크 인터페이스별 통계 정보를 출력한다.
3-s 옵션은 연결 중이거나 연결 대기 중인 모든 소켓 정보를 출력한다.
4-r 옵션은 라우팅 테이블 정보를 출력한다.
정답 및 해설

netstat의 -r 옵션은 라우팅 테이블을 출력한다는 설명이 옳다.

netstat는 네트워크 연결·소켓·라우팅·통계를 보여 주는 명령으로, 옵션마다 출력 대상이 다르다.

  • -l 옵션: 연결 대기(LISTEN) 중인 소켓만 출력하며, 프로토콜별 통계는 -s 옵션이다.
  • -n 옵션: 주소와 포트를 이름으로 바꾸지 않고 숫자로 출력하며, 인터페이스별 통계는 -i 옵션이다.
  • -s 옵션: 프로토콜별 통계를 출력하며, 모든 소켓 정보는 -a 옵션이다.
문제 24
nmap 명령어의 옵션에 대한 설명으로 가장 적절하지 않은 것은?
1-sS 옵션은 TCP SYN 스캔을 위한 옵션이다.
2-sU 옵션은 TCP NULL 스캔을 위한 옵션이다.
3-p 옵션은 스캔할 포트 번호를 지정하는 옵션이다.
4-O 옵션은 대상 호스트의 운영체제 정보를 스캔하기 위한 옵션이다.
정답 및 해설

nmap의 -sU 옵션이 TCP NULL 스캔이라는 설명이 옳지 않다.

-sU는 UDP 스캔 옵션이며, 플래그를 하나도 설정하지 않은 패킷을 보내는 TCP NULL 스캔은 -sN 옵션이다.

  • -sS 옵션: SYN만 보내고 핸드셰이크를 완료하지 않는 TCP SYN(하프 오픈) 스캔이다.
  • -p 옵션: 스캔할 포트 번호나 범위를 지정한다.
  • -O 옵션: 응답 특성을 분석해 대상 호스트의 운영체제를 추정한다.
문제 25
방화벽과 패킷 필터링에 대한 설명으로 가장 적절하지 않은 것은?
1방화벽은 패킷의 출발지 또는 목적지의 IP 주소나 포트 번호를 보고 패킷을 필터링한다.
2방화벽에는 일반적으로 페일 세이프(fail safe) 원칙이 적용된다.
3Egress 필터링은 라우터 내부로 유입되는 패킷을 필터링한다.
4Blackhole 필터링은 패킷을 Null 인터페이스로 보내 통신이 되지 않도록 필터링한다.
정답 및 해설

Egress 필터링이 라우터 내부로 유입되는 패킷을 필터링한다는 설명이 옳지 않다.

Egress 필터링은 내부에서 외부로 나가는 패킷을 검사하는 것이고, 외부에서 내부로 들어오는 패킷을 검사하는 것은 Ingress 필터링이다.

  • IP·포트 기반 필터링: 방화벽은 출발지·목적지 IP와 포트 번호를 보고 허용·차단을 결정한다.
  • 페일 세이프 원칙: 장애가 발생하면 통신을 차단하는 안전한 상태로 동작하도록 설계한다.
  • Blackhole 필터링: 특정 패킷을 Null 인터페이스로 보내 폐기한다.
문제 26
inetd 데몬이 사용하는 inetd.conf파일의 구조 항목으로 가장 적절하지 않은 것은?
1서비스명
2소켓타입
3호스트명
4실행 경로명
정답 및 해설

inetd.conf의 구조 항목에 호스트명은 없다.

inetd.conf의 각 줄은 서비스명, 소켓 타입, 프로토콜, 대기 여부(wait/nowait), 실행 사용자, 실행 경로명, 실행 인자 순으로 구성된다. 접속 호스트 제어는 TCP Wrapper 설정 파일이 맡는다.

  • 서비스명: /etc/services에 정의된 서비스 이름을 첫 항목에 쓴다.
  • 소켓타입: stream, dgram 등 소켓 유형을 지정한다.
  • 실행 경로명: 요청 시 실행할 서버 프로그램의 경로를 지정한다.
문제 27
i-node에 있는 파일의 속성 정보로 가장 적절하지 않은 것은?
1파일의 심볼릭 링크 개수
2파일의 소유자
3파일에 대한 접근 권한
4파일의 속성을 마지막으로 변경한 시간
정답 및 해설

i-node에는 심볼릭 링크 개수가 아니라 하드 링크 개수가 저장된다.

심볼릭 링크는 별도의 i-node를 가진 독립 파일이어서 원본 i-node가 그 수를 알지 못한다. i-node는 파일 이름을 제외한 메타데이터와 데이터 블록 위치를 담는다.

  • 파일의 소유자: 소유자 UID와 그룹 GID가 저장된다.
  • 접근 권한: 파일 유형과 읽기·쓰기·실행 권한 비트가 저장된다.
  • 속성 변경 시간: 마지막 접근·수정 시간과 함께 속성 변경 시간(ctime)이 저장된다.
문제 28
리눅스 시스템에서 프로세스가 시그널(signal)을 받으면 디폴트 동작으로 프로세스가 종료하는 시그널 이름으로 가장 적절하지 않은 것은?
1SIGINT
2SIGSTOP
3SIGTERM
4SIGQUIT
정답 및 해설

SIGSTOP의 디폴트 동작은 종료가 아니라 프로세스 일시 정지이다.

SIGSTOP으로 멈춘 프로세스는 SIGCONT를 받으면 다시 실행되며, 이 시그널은 가로채거나 무시할 수 없다.

  • SIGINT: 터미널 인터럽트(Ctrl+C)로 프로세스를 종료한다.
  • SIGTERM: kill 명령의 기본 시그널로 프로세스에 종료를 요청한다.
  • SIGQUIT: 종료하면서 코어 덤프를 생성한다.
문제 29
다음에서 설명하는 FTP 공격으로 가장 적절한 것은?
○제어 채널과 데이터 채널을 다르게 사용하고 데이터 채널을 생성할 때 목적지를 확인하지 않는 FTP 설계의 구조적 취약점을 이용하는 공격이다.
○FTP 서버의 전송 목적지 주소를 임의로 지정하여 FTP 서버를 경유해 임의의 목적지로 메시지나 자료를 전송하도록 할 수 있다.
1Anonymous FTP Attack
2Brute Force Attack
3FTP Bounce Attack
4TFTP Attack
정답 및 해설

FTP 서버를 경유해 임의의 목적지로 데이터를 보내게 하는 공격은 FTP Bounce Attack이다.

공격자는 PORT 명령으로 데이터 채널의 목적지를 제3의 주소로 지정해, FTP 서버가 그 주소로 연결하도록 만든다. 이를 이용해 포트 스캔이나 우회 전송을 수행할 수 있다.

  • Anonymous FTP Attack: 익명 계정 접속을 허용한 서버의 설정 취약점을 악용하는 공격이다.
  • Brute Force Attack: 계정 비밀번호를 무차별 대입으로 추측하는 공격이다.
  • TFTP Attack: 인증 없이 파일을 주고받는 TFTP를 이용해 중요 파일을 가져가는 공격이다.
문제 30
리눅스FTP서버(vsftpd)접근제어설정방법중 TCP Wrapper를 이용하는 설정 방식의 설명으로 가장 적절하지 않은 것은?
파일 규칙 설명
1/etc/hosts. allow vsftpd:10.20.30. EXCEPT 10.20.30.40 vsftpd 서비스에 대해서 10.20.30.40 호스트 허용
2/etc/hosts. allow vsftpd: 10.20.30.11 vsftpd 서비스에 대해서 10.20.30.11 호스트 허용
3/etc/hosts. deny ALL:ALL 모든 서비스에 대해서 모든 호스트 거부
4/etc/hosts. deny vsftpd:1.2.3.4 vsftpd 서비스에 대해서 1.2.3.4 호스트 거부
정답 및 해설

10.20.30. EXCEPT 10.20.30.40 규칙을 10.20.30.40 호스트 허용으로 설명한 것이 옳지 않다.

TCP Wrapper에서 점으로 끝나는 주소는 해당 대역 전체를 뜻하고 EXCEPT는 예외를 지정하므로, 이 규칙은 10.20.30 대역은 허용하되 10.20.30.40만 제외한다는 의미다.

  • hosts.allow의 vsftpd: 10.20.30.11: vsftpd 서비스에 대해 해당 호스트를 허용한다.
  • hosts.deny의 ALL:ALL: 모든 서비스에 대해 모든 호스트를 거부하는 기본 차단 규칙이다.
  • hosts.deny의 vsftpd:1.2.3.4: vsftpd 서비스에 대해 해당 호스트를 거부한다.

판정 순서는 hosts.allow를 먼저 확인하고 일치하지 않으면 hosts.deny를 확인한다.

문제 31
다음 FTP 운영 모드에 대한 설명으로 가장 적절하지 않은 것은?

1클라이언트는 21번 포트로 접속을 시도하며, Passive 모드의 사용을 전달
2서버는 사용할 포트(3267)를 결정하여 클라이언트에게 전달
3서버의 20번 포트는 클라이언트가 알려준 두 번째 포트로 데이터 채널 생성
4서버가 ACK로 응답
정답 및 해설

패시브 모드에서는 클라이언트가 서버가 알려준 포트(3267)로 데이터 채널을 연결하므로, 서버의 포트 20이 클라이언트의 두 번째 포트로 데이터 채널을 만든다는 설명이 적절하지 않다.

서버 포트 20이 클라이언트 쪽으로 데이터 연결을 여는 것은 액티브(Active) 모드의 동작이다. 그림에서도 데이터 채널 화살표는 클라이언트 포트 5151에서 서버의 두 번째 포트 3267로 향한다.

  • 클라이언트가 명령 채널인 포트 21로 접속해 PASV 명령으로 패시브 모드 사용을 알리는 것은 첫 단계로 옳다.
  • 서버가 데이터 전송에 쓸 포트(3267)를 정해 OK 3267로 클라이언트에 알려 주는 것은 옳다.
  • 클라이언트의 데이터 채널 연결 요청에 서버가 OK(ACK)로 응답하는 것은 마지막 단계로 옳다.
문제 32
다음 ㉠∼㉢의 PGP 알고리즘 각각의 기능으로 가장 적절한 것은?
㉠ Radix-64 Conversion
㉡ IDEA, CAST, Triple-DES
㉢ RSA, DSS, RIPEMD-160

㉠ ㉡ ㉢
1기밀성 인증 호환성
2기밀성 호환성 인증
3호환성 인증 기밀성
4호환성 기밀성 인증
정답 및 해설

㉠은 호환성, ㉡은 기밀성, ㉢은 인증 기능이다.

Radix-64 변환은 암호화된 이진 데이터를 ASCII 문자로 바꿔 전자우편 시스템과의 호환성을 확보한다. IDEA·CAST·Triple-DES는 메시지를 암호화하는 대칭키 알고리즘이고, RSA·DSS와 RIPEMD-160 해시는 전자서명에 쓰여 송신자 인증을 제공한다.

  • ㉠을 기밀성으로 본 조합: Radix-64는 인코딩일 뿐 암호화가 아니다.
  • ㉡을 인증이나 호환성으로 본 조합: 대칭키 블록 암호는 내용 보호, 즉 기밀성을 담당한다.
  • ㉢을 기밀성이나 호환성으로 본 조합: 서명 알고리즘과 해시 함수는 인증·무결성을 담당한다.
문제 33
다음의 스팸메일 대응 기술로 가장 적절한 것은?

1Sender Policy Framework
2Domain Keys Identified Mail
3Spam Assassin
4Procmail
정답 및 해설

발신 도메인의 DNS에 발신 메일서버 정보를 등록해 두고 수신 서버가 이를 조회해 수신 여부를 결정하는 기술은 SPF(Sender Policy Framework)이다.

SPF는 도메인 관리자가 DNS TXT 레코드에 메일을 보낼 수 있는 서버의 IP 목록을 공개하고, 수신 메일서버가 실제 발송 서버 IP와 대조해 발신자 위조 여부를 판단한다. 그림의 정보 등록 → 메일 전송 → 발신 도메인 조회 → 수신 여부 결정 흐름과 일치한다.

  • DKIM은 발신 서버가 메일에 전자서명을 붙이고 수신 측이 DNS에 공개된 공개키로 서명을 검증하는 방식으로, 발신 서버 IP 정보를 등록·대조하는 구조가 아니다.
  • Spam Assassin은 메일 헤더·본문을 규칙과 점수로 분석해 스팸을 걸러내는 콘텐츠 필터링 도구이다.
  • Procmail은 수신된 메일을 사용자 규칙에 따라 분류·전달·처리하는 메일 처리 프로그램이다.
문제 34
/etc/mail/access 파일의 설정 제어 옵션에 대한 설명으로 가장 적절하지 않은 것은?
1RELAY - 지정한 대상의 메일 릴레이를 허용한다.
2REJECT - 거부 메시지를 보내서 지정한 대상의 메일을 모두 거부한다.
3DISCARD - 폐기 메시지를 보내서 지정한 대상의 메일을 모두 폐기한다.
4OK - 지정한 대상의 메일을 조건 없이 모두 허용한다.
정답 및 해설

DISCARD가 폐기 메시지를 보낸다는 설명이 옳지 않다.

DISCARD는 발신자에게 아무 메시지도 보내지 않고 메일을 조용히 폐기한다. 거부 메시지를 돌려보내는 것은 REJECT이다.

  • RELAY: 지정한 대상의 메일 릴레이를 허용한다.
  • REJECT: 거부 메시지를 보내며 지정한 대상의 메일을 거부한다.
  • OK: 다른 제한 규칙과 관계없이 지정한 대상의 메일을 허용한다.
문제 35
다음에서 설명하는 보안 전자 메일 프로토콜로 가장 적절한 것은?
○메일을 안전하게 전송하기 위한 프로토콜
○메시지에 대한 기밀성, 무결성, 사용자 인증, 송신 사실 부인 방지
○X.509 인증서를 통해 송신자 인증 보장
1SMTP
2S/MIME
3IMAP
4RBL
정답 및 해설

X.509 인증서로 기밀성·무결성·인증·부인 방지를 제공하는 보안 메일 프로토콜은 S/MIME이다.

S/MIME은 MIME 형식 메일에 공개키 암호와 전자서명을 적용하며, X.509 인증서 기반 PKI로 송신자를 인증한다.

  • SMTP: 메일을 전송하는 기본 프로토콜로 자체 보안 기능이 없다.
  • IMAP: 메일 서버의 메일함을 조회·관리하는 수신 프로토콜이다.
  • RBL: 스팸 발송지로 알려진 IP 목록을 실시간 조회해 메일을 차단하는 방식이다.
문제 36
다음의 SQL Injection 공격 방식의 유형으로 가장 적절한 것은?
id=1 UNION SELECT 1, username, password FROM users --
1Form SQL Injection
2Union SQL Injection
3Stored Procedure SQL Injection
4Error-based SQL Injection
정답 및 해설

UNION 연산자로 다른 테이블 조회 결과를 붙여 가져오는 방식은 Union SQL Injection이다.

원래 쿼리 뒤에 UNION SELECT를 덧붙여 users 테이블의 계정·비밀번호를 정상 결과와 함께 출력시키고, 끝의 주석 기호로 나머지 쿼리를 무력화한다.

  • Form SQL Injection: 로그인 폼 등 입력란에 조건을 항상 참으로 만드는 구문을 넣어 인증을 우회하는 방식이다.
  • Stored Procedure SQL Injection: 데이터베이스의 저장 프로시저를 악용해 명령을 실행하는 방식이다.
  • Error-based SQL Injection: 고의로 오류를 유발해 오류 메시지에 드러나는 정보를 수집하는 방식이다.
문제 37
다음 빈칸 (㉠)∼(㉢)에 들어갈 용어로 가장 적절한 것은?
○(㉠) 공격은 가장 일반적인 XSS 공격 유형으로, 단순히 게시판 또는 자료실과 같이 사용자가 글을 저장할 수 있는 부분에 정상적인 평문이 아닌 스크립트 코드를 입력하는 공격 기법이다.
○(㉡) 공격은 사용자가 악성 스크립트 코드를 포함하고 있는 악성 URL을 클릭하면 서버의 응답으로 악성 스크립트가 실행되어 사용자의 정보를 탈취하거나 리다이렉트하는 공격 기법이다.
○(㉢) 공격은 보안에 취약한 자바스크립트 코드를 이용해 사용자가 예측하지 못한 방식으로 동작하는 HTML 문서 객체 모델을 제어하는 과정에서 발생하는 공격 기법이다.

㉠ ㉡ ㉢
1Reflected XSS Stored XSS DOM based XSS
2Reflected XSS DOM based XSS Stored XSS
3Stored XSS DOM based XSS Reflected XSS
4Stored XSS Reflected XSS DOM based XSS
정답 및 해설

㉠은 Stored XSS, ㉡은 Reflected XSS, ㉢은 DOM based XSS이다.

게시판 등에 스크립트를 저장해 열람자에게 실행시키면 저장형, 악성 URL의 스크립트가 서버 응답에 그대로 반사되어 실행되면 반사형, 클라이언트 자바스크립트가 문서 객체 모델을 조작하는 과정에서 발생하면 DOM 기반이다.

  • ㉠에 Reflected XSS를 둔 조합: 서버에 저장되어 지속되는 공격은 저장형이다.
  • ㉡에 DOM based XSS나 Stored XSS를 둔 조합: 악성 URL 클릭 후 서버 응답으로 실행되는 것은 반사형이다.
  • ㉢에 Stored XSS나 Reflected XSS를 둔 조합: 서버를 거치지 않고 DOM 처리에서 발생하는 것은 DOM 기반이다.
문제 38
다음에서 설명하는 웹 애플리케이션 공격 기법으로 가장 적절한 것은?
○웹 해킹을 통해 시스템의 권한을 획득한 후 해당 시스템에 텔넷과 같이 직접 명령을 입력하고 확인할 수 있는 쉘을 획득하기 위한 방법
○해커가 자신의 시스템에서 특정 포트를 개방하고, 웹 서버에서 해당 포트로 접속함으로써 해커가 웹 서버에 대한 원격 접속을 얻는 공격 기법
1Cross Site Request Forgery
2HTTP Header Injection
3Reverse Shell
4Insecure Direct Object Reference
정답 및 해설

해커가 포트를 열어 두고 웹 서버가 그쪽으로 접속하게 해 쉘을 얻는 기법은 Reverse Shell이다.

방화벽은 대개 인바운드 접속을 막지만 아웃바운드는 허용하므로, 피해 서버가 공격자에게 역으로 접속하게 만들어 원격 명령 실행 환경을 확보한다.

  • Cross Site Request Forgery: 로그인한 사용자가 의도하지 않은 요청을 서버에 보내도록 만드는 공격이다.
  • HTTP Header Injection: 입력값에 개행 문자를 넣어 응답 헤더를 조작하는 공격이다.
  • Insecure Direct Object Reference: 파라미터의 객체 식별자를 바꿔 권한 없는 자원에 접근하는 취약점이다.
문제 39
다음의 DNS Spoofing 공격 순서를 올바르게 나열한 것으로 가장 적절한 것은?
㉠해커는 사용자의 DNS 질의를 감지하여 가짜 응답을 준비한다.
㉡사용자가 특정 도메인에 대한 DNS 질의를 보낸다.
㉢해커는 악성 DNS 서버 또는 조작된 IP 주소를 포함한 응답을 사용자에게 전송한다.
㉣사용자의 웹 브라우저는 위조된 IP 주소 또는 악성 웹 사이트로 접속된다.
1㉠→㉡→㉢→㉣
2㉡→㉠→㉢→㉣
3㉠→㉢→㉣→㉡
4㉡→㉢→㉠→㉣
정답 및 해설

DNS Spoofing은 사용자 질의 → 해커의 감지·위조 응답 준비 → 위조 응답 전송 → 위조 사이트 접속 순으로 진행된다.

공격은 사용자의 DNS 질의(㉡)가 있어야 시작되고, 해커가 이를 감지해(㉠) 정상 DNS 서버보다 먼저 위조 응답을 보내면(㉢) 사용자는 조작된 주소로 접속하게 된다(㉣). 따라서 ㉡→㉠→㉢→㉣이다.

  • ㉠으로 시작하는 순서: 질의가 없으면 해커가 감지할 대상이 없다.
  • ㉢이 ㉠보다 앞선 순서: 질의를 감지하고 응답을 준비해야 위조 응답을 보낼 수 있다.
문제 40
다음에서 설명하는 애플리케이션 보안 취약점으로 가장 적절한 것은?
○리눅스 계열 OS에서 주로 사용하는 GNU Bash 환경변수를 통해 코드 인젝션 기법으로 특정 코드를 삽입하여 실행할 수 있는 취약점이다.
○공격자가 환경변수를 조작하여 원격에서 임의의 명령을 실행할 수 있다.
1Heartbleed
2Log4j
3ShellShock
4Stuxnet
정답 및 해설

Bash 환경변수에 함수 정의 뒤 명령을 덧붙여 원격 실행을 일으키는 취약점은 ShellShock이다.

취약한 Bash는 환경변수에 담긴 함수 정의를 해석할 때 그 뒤에 이어진 명령까지 실행했다. CGI처럼 외부 입력을 환경변수로 넘기는 서비스에서 원격 명령 실행으로 이어졌다.

  • Heartbleed: OpenSSL의 하트비트 확장에서 경계 검사 누락으로 서버 메모리가 유출되는 취약점이다.
  • Log4j: 로그 문자열의 JNDI 조회 기능을 악용해 원격 코드를 실행하는 Java 로깅 라이브러리 취약점이다.
  • Stuxnet: 산업제어시스템(PLC)을 노린 악성 웜으로, Bash 취약점이 아니다.
경찰간부후보생 시스템네트워크보안 기출문제모두CBT · moducbt.com
26년 1회차
총 40문항 · 객관식 · 정답·해설 포함
문제 1
공격자가 일반 사용자 계정을 탈취하여 리눅스 시스템으로 로그인 한 후, 사용자의 이전 실행 명령어 내역을 보려고 한다. 해당 명령어로 가장 적절한 것은?
1touch
2dmesg
3history
4messages
정답 및 해설

사용자가 이전에 실행한 명령어 내역을 보여 주는 명령은 history이다.

bash 등 셸은 사용자가 입력한 명령을 홈 디렉터리의 .bash_history 같은 기록 파일에 남기며, history 명령으로 이 목록을 번호와 함께 출력한다.

  • touch: 빈 파일을 만들거나 파일의 시간 정보를 갱신하는 명령이다.
  • dmesg: 커널 링 버퍼의 부팅·장치 메시지를 출력하는 명령이다.
  • messages: 명령어가 아니라 시스템 전반의 로그가 쌓이는 로그 파일 이름이다.
문제 2
FIN Scan에 대한 설명으로 가장 적절한 것은?
1UDP에서 사용한다.
2닫힌 포트는 RST를 반환한다.
3열린 포트는 reachable을 반환한다.
4Nmap에서는 옵션 -sX를 사용한다.
정답 및 해설

FIN 스캔에서 닫힌 포트는 RST를 반환한다는 설명이 옳다.

FIN 플래그만 설정한 TCP 패킷을 보내면 열린 포트는 응답하지 않고, 닫힌 포트는 RST 패킷으로 응답한다. 이 차이로 포트 상태를 판단하는 스텔스 스캔이다.

  • UDP에서 사용한다: FIN은 TCP 제어 플래그이므로 TCP 스캔 기법이다.
  • 열린 포트는 reachable을 반환한다: 열린 포트는 아무 응답도 하지 않는다.
  • Nmap에서 -sX 옵션을 쓴다: -sX는 FIN·PSH·URG를 함께 설정하는 Xmas 스캔이고, FIN 스캔은 -sF이다.
문제 3
윈도우 레지스트리에 대한 설명으로 가장 적절하지 않은 것은?
1HKEY_USERS는 컴퓨터에 있는 사용자들의 프로파일 정보가 있다.
2HKEY_LOCAL_MACHINE은 하드웨어 구동 시 필요한 드라이버 정보가 있다.
3HKEY_CURRENT_CONFIG는 시스템 시작 시 사용하는 하드웨어 프로파일 정보가 있다.
4HKEY_CLASS_ROOT는 애플리케이션 관리자의 권한 정보가 있다.
정답 및 해설

HKEY_CLASSES_ROOT에 애플리케이션 관리자의 권한 정보가 있다는 설명이 옳지 않다.

HKEY_CLASSES_ROOT는 파일 확장자와 연결 프로그램의 관계, COM 객체 등록 정보를 담는 키로, 권한 정보를 저장하는 곳이 아니다.

  • HKEY_USERS: 컴퓨터에 있는 사용자들의 프로파일 정보를 담는다.
  • HKEY_LOCAL_MACHINE: 하드웨어·드라이버·설치 소프트웨어 등 시스템 전체 설정을 담는다.
  • HKEY_CURRENT_CONFIG: 시스템 시작 시 사용하는 현재 하드웨어 프로파일 정보를 담는다.
문제 4
공격당한 서버의 메모리 덤프 이미지로부터 은닉된 악성코드를 분석하기 위한 도구로 가장 적절한 것은?
1tcpdump
2Burp suite
3tripwire
4Volatility
정답 및 해설

메모리 덤프 이미지에서 은닉된 악성코드를 분석하는 도구는 Volatility이다.

Volatility는 대표적인 메모리 포렌식 프레임워크로, 덤프에서 프로세스 목록·네트워크 연결·주입된 코드·숨겨진 프로세스 등을 추출해 분석한다.

  • tcpdump: 네트워크 패킷을 캡처·출력하는 도구이다.
  • Burp suite: 웹 요청·응답을 가로채 점검하는 웹 프록시 도구이다.
  • tripwire: 파일의 해시를 기준값과 비교해 변조를 탐지하는 무결성 점검 도구이다.
문제 5
DNSSEC이 제공하는 기능으로 가장 적절하지 않은 것은?
1DNS 정보 무결성
2DNS 응답 정보 인증
3DNS 응답 정보 기밀성
4DNS 정보 위변조 방지
정답 및 해설

DNSSEC은 DNS 응답 정보의 기밀성을 제공하지 않는다.

DNSSEC은 DNS 레코드에 전자서명을 붙여 응답의 출처와 내용을 검증하는 기술로, 데이터를 암호화하지 않으므로 질의·응답 내용은 그대로 노출된다. 즉 무결성과 출처 인증이 목적이다.

  • DNS 정보 무결성: 서명 검증으로 내용 변경 여부를 확인한다.
  • DNS 응답 정보 인증: 신뢰 체인을 따라 응답이 정당한 영역에서 왔음을 확인한다.
  • DNS 정보 위변조 방지: 위조 응답을 검증 단계에서 걸러 캐시 포이즈닝 등을 막는다.
문제 6
WPA3 무선 LAN 보안 표준에서 기존 WPA2의 PSK
(Pre-Shared Key) 방식의 무차별 대입 공격 취약점을 방어하기 위해 도입한 인증 방식으로 가장 적절한 것은?
1WEP(Wired Equivalent Privacy)
2TKIP(Temporal Key Integrity Protocol)
3SAE(Simultaneous Authentication of Equals)
4AES-CCMP(CounterMode/CBC MAC Protocol)
정답 및 해설

WPA3가 PSK 방식의 사전·무차별 대입 취약점을 막으려고 도입한 인증 방식은 SAE이다.

SAE(Dragonfly 핸드셰이크)는 패스워드를 직접 노출하지 않는 키 교환으로, 캡처한 핸드셰이크로 오프라인 사전 공격을 할 수 없게 하고 순방향 비밀성을 제공한다.

  • WEP: 초기 무선 암호화 방식으로 취약점 때문에 폐기되었다.
  • TKIP: WEP 하드웨어에서 쓰도록 만든 WPA의 과도기 암호화 방식이다.
  • AES-CCMP: WPA2의 데이터 암호화·무결성 프로토콜로, 인증 방식이 아니다.
문제 7
다음의 YARA 룰에 대한 설명으로 가장 적절하지 않은 것은?
rule mal_a{
meta:
author = “police”
date = “2026-08-01”
description = “a 악성코드 탐지”

strings:
$mal_str1 = “VirtualAllocEx”
$mal_str2 = “WriteProcessMemory”
$mal_str3 = “cmd.exe /c” nocase
$file_header = {4D 5A}

condition:
$file_header at 0 and 2 of ($mal_str*) and ($mal_str3 > 2)
}
1파일의 시작이 MZ이다.
2strings는 텍스트 문자, 16진수, 정규표현식 모두 가능하다.
3이 YARA 룰은 파일에 포함된 문자 패턴을 탐지한다.
4문자열 중 2번째 문자인 “WriteProcessMemory”와 “cmd.exe /c”가 2번 이상 나타날 때 탐지한다.
정답 및 해설

특정 두 문자열이 각각 두 번 이상 나타날 때 탐지한다는 설명이 옳지 않다.

조건의 2 of (mal_str*)는 mal_str로 시작하는 세 문자열 가운데 아무거나 두 개가 존재하면 참이라는 뜻이지, 특정 두 문자열을 지정한 것이 아니다. 또 cmd.exe /c에 대한 비교는 그 문자열의 출현 횟수가 2보다 커야 한다는 별도 조건이다.

  • 파일의 시작이 MZ: 16진수 4D 5A는 ASCII로 MZ이고, at 0으로 파일 시작 위치를 지정했다.
  • strings 형식: 텍스트 문자열, 16진수 바이트열, 정규표현식을 모두 쓸 수 있다.
  • 문자 패턴 탐지: 이 룰은 파일 안의 문자열·바이트 패턴 일치로 악성코드를 탐지한다.
문제 8
2023년 대규모 웹 서비스들을 마비시켰던 고난도 DDoS 공격 기법으로, 단일 TCP 연결 내에서 수많은 스트림을 동시에 열고 복수의 RST_STREAM 프레임을 전송함으로써 서버의 프레임 처리 루프와 자원을 순식간에 고갈시키는 HTTP/2 프로토콜 고유의 취약점 공격으로 가장 적절한 것은?
1Rapid Reset Attack
2Smurfing Attack
3HTTP GET Flooding Attack
4CC Attack
정답 및 해설

HTTP/2에서 스트림을 열자마자 RST_STREAM으로 취소하기를 반복해 서버 자원을 고갈시키는 공격은 Rapid Reset Attack이다.

2023년 공개된 이 공격은 HTTP/2의 스트림 다중화와 즉시 취소 기능을 악용해, 동시 스트림 수 제한에 걸리지 않으면서 서버가 요청 처리를 계속 시작하게 만든다.

  • Smurfing Attack: 출발지를 피해자로 위조한 ICMP Echo 요청을 브로드캐스트해 응답을 증폭시키는 공격이다.
  • HTTP GET Flooding Attack: 정상적인 GET 요청을 대량으로 보내 웹 서버를 과부하시키는 공격이다.
  • CC Attack: Cache-Control 헤더로 캐시 사용을 막아 원 서버가 직접 요청을 처리하도록 만드는 GET 플러딩 변형이다.
문제 9
BGP 라우팅 프로토콜의 취약점을 악용한 IP 하이재킹(BGP Hijacking)을 원천적으로 차단하기 위해, 인터넷 주소 자원(IP 및 AS 번호)의 소유권을 암호학적으로 인증된 자격 증명(ROA) 형태로 발행하고 라우터가 이를 검증하도록 하는 프레임워크로 가장 적절한 것은?
1RPKI(Resource Public Key Infrastructure)
2BGPsec(Border Gateway Protocol Security)
3IPSec(Internet Protocol Security)
4DANE(DNS-based Authentication of Named Entities)
정답 및 해설

IP·AS 번호 소유권을 ROA로 인증해 라우터가 경로 출처를 검증하게 하는 프레임워크는 RPKI이다.

RPKI는 주소 자원 할당 체계에 맞춘 공개키 기반구조로, 어떤 AS가 어떤 프리픽스를 광고할 권한이 있는지 ROA로 서명해 두고 라우터가 경로 출처 유효성을 검증하게 한다.

  • BGPsec: BGP 메시지의 AS 경로 전체에 서명해 경로 경유 정보를 보호하는 확장이다.
  • IPSec: IP 계층에서 패킷 암호화·인증을 제공하는 보안 프로토콜이다.
  • DANE: DNSSEC으로 보호된 DNS 레코드에 TLS 인증서 정보를 게시해 검증하는 방식이다.
문제 10
데이터베이스 암호화의 유형 중 컬럼 암호화 방식으로 가장 적절하지 않은 것은?
1API 방식
2Plug-in 방식
3Hybrid 방식
4TDE 방식
정답 및 해설

TDE 방식은 컬럼 단위가 아니라 블록(파일) 단위 암호화 방식이다.

TDE(Transparent Data Encryption)는 DBMS 커널이 데이터 파일을 저장할 때 블록 단위로 암호화하고 읽을 때 복호화하므로 애플리케이션 수정이 필요 없다. 반면 컬럼 암호화는 특정 컬럼 값을 선택적으로 암호화한다.

  • API 방식: 애플리케이션에서 암호화 모듈을 호출해 컬럼 값을 암·복호화한다.
  • Plug-in 방식: DB 서버에 설치한 암호화 모듈이 컬럼 단위로 암·복호화를 수행한다.
  • Hybrid 방식: API 방식과 Plug-in 방식을 결합해 컬럼 단위로 적용한다.
문제 11
TCP SYN Flooding 공격 방어기법인 SYN Cookie에 대한 설명으로 가장 적절한 것은?
1서버가 SYN 수신 시 즉시 메모리를 할당한다.
2클라이언트의 ACK가 도착한 후 연결 정보를 메모리에 할당한다.
3TCP Window Size를 증가시켜 공격을 완화한다.
4TCP Sequence Number를 생성하지 않는다.
정답 및 해설

SYN Cookie는 클라이언트의 ACK가 도착한 후 연결 정보를 메모리에 할당한다.

서버는 SYN을 받아도 연결 상태를 저장하지 않고, 연결 정보를 해시해 만든 값을 초기 시퀀스 번호로 SYN-ACK에 실어 보낸다. 돌아온 ACK의 확인 번호로 쿠키를 검증한 뒤에야 연결 자원을 할당하므로 백로그 큐가 고갈되지 않는다.

  • SYN 수신 시 즉시 메모리 할당: 이것이 바로 SYN Flooding에 취약한 기존 동작이다.
  • Window Size 증가: 윈도 크기는 흐름 제어 값으로 SYN Cookie의 원리와 무관하다.
  • 시퀀스 번호 미생성: 쿠키 값 자체를 시퀀스 번호로 생성해 사용한다.
문제 12
TLS 1.3 프로토콜이 TLS 1.2에 비해 보안성과 성능을 크게 향상시킨 특징으로 가장 적절하지 않은 것은?
1서버 인증서를 포함한 모든 메시지를 SHA-224 이상으로 난독화했다.
2Static RSA와 Static DH 키 교환 방식을 퇴출하고 Forward Secrecy를 강제화했다.
3차단 및 취약성이 발견된 CBC 모드 암호화 및 SHA-1 해시 함수 사용을 금지했다.
41-RTT 핸드셰이크를 기본으로 하며, 0-RTT 모드를 지원하여 성능을 높였다.
정답 및 해설

서버 인증서를 포함한 모든 메시지를 SHA-224 이상으로 난독화했다는 설명이 옳지 않다.

TLS 1.3은 ServerHello 이후의 핸드셰이크 메시지(인증서 포함)를 AEAD 암호로 암호화해 보호한다. 해시 함수는 키 유도·무결성 확인에 쓰일 뿐 메시지를 난독화하는 수단이 아니다.

  • Static RSA·Static DH 퇴출: 임시(Ephemeral) 키 교환만 허용해 Forward Secrecy를 강제했다.
  • CBC 모드·SHA-1 금지: 취약성이 드러난 CBC 모드 암호와 SHA-1 등 약한 알고리즘을 제거했다.
  • 1-RTT와 0-RTT: 핸드셰이크 왕복을 줄인 1-RTT를 기본으로 하고 재연결 시 0-RTT를 지원한다.
문제 13
웹 서버를 대상으로 하는 DoS 공격 중, HTTP 요청 헤더의 끝을 알리는 개행 문자(\r\n\r\n)를 완전하게 전송하지 않고 \r\n만 보낸 뒤, 지속적으로 가짜 헤더 필드를 천천히 전송하여 서버의 연결 자원을 고갈시키는 공격으로 가장 적절한 것은?
1SYN Flooding Attack
2Slowloris Attack
3Hulk DoS Attack
4Hash DoS Attack
정답 및 해설

헤더 끝을 알리는 빈 줄을 보내지 않고 가짜 헤더를 천천히 이어 보내는 공격은 Slowloris Attack이다.

서버는 요청 헤더가 끝나기를 기다리며 연결을 계속 유지하므로, 적은 트래픽으로도 웹 서버의 동시 연결 자원이 고갈된다.

  • SYN Flooding Attack: TCP 3-way 핸드셰이크를 완료하지 않아 서버의 연결 대기 큐를 채우는 공격이다.
  • Hulk DoS Attack: URL을 계속 바꿔 가며 GET 요청을 대량으로 보내 차단 임계치를 피하는 공격이다.
  • Hash DoS Attack: 해시 충돌을 일으키는 파라미터를 대량으로 보내 해시 테이블 처리 부하를 일으키는 공격이다.
문제 14
중요 서버에 대한 인바운드 공격을 방어할 때, 악성 트래픽이 방화벽을 통과하여 내부망 깊숙이 들어오기 전에 ISP 또는 최상위 네트워크 경계에서 공격 트래픽을 폐기(drop)하도록 유도하는 라우팅 기반 방어 기법으로 가장 적절한 것은?
1BGP Flowspec
2RTBH Filtering
3VPC Peering
4Split Tunneling
정답 및 해설

ISP나 네트워크 경계에서 공격 대상 목적지로 가는 트래픽을 폐기하도록 경로를 조작하는 기법은 RTBH Filtering이다.

RTBH(Remotely Triggered Black Hole)는 공격 대상 주소의 경로를 BGP로 광고해 상위 라우터들이 그 트래픽을 Null 인터페이스로 보내 버리도록 유도한다. 내부망에 도달하기 전에 대량 트래픽을 걸러 내는 라우팅 기반 방어다.

  • BGP Flowspec: 출발지·포트 등 세부 조건의 필터 규칙을 BGP로 배포하는 방식으로, 경로를 블랙홀로 보내는 것과 다르다.
  • VPC Peering: 클라우드의 가상 네트워크끼리 사설 경로로 연결하는 기능이다.
  • Split Tunneling: VPN 사용 시 일부 트래픽만 터널로, 나머지는 직접 인터넷으로 보내는 설정이다.
문제 15
Zero Trust 아키텍처의 논리적 구성 요소 중, 주체와 리소스 간의 연결을 궁극적으로 정의하고 엔터프라이즈 리소스에 대한 접근 권한을 부여하거나 취소하는 핵심 '두뇌' 역할을 수행하는 구성 요소로 가장 적절한 것은?
1정책 결정 지점(PDP)
2정책 집행 지점(PEP)
3신뢰 엔진(TE)
4지속적 진단 및 완화 시스템(CDM)
정답 및 해설

접근 권한을 부여·취소하는 제로 트러스트의 두뇌 역할은 정책 결정 지점(PDP)이다.

NIST 제로 트러스트 아키텍처에서 PDP는 정책 엔진과 정책 관리자로 구성되어 주체의 접근 요청을 평가하고 허용·거부를 결정하며, 그 결과를 집행 지점에 전달한다.

  • 정책 집행 지점(PEP): PDP의 결정에 따라 실제로 연결을 열고 닫는 관문 역할을 한다.
  • 신뢰 엔진(TE): 접근 판단에 쓰일 신뢰도를 산출하는 기능으로, 스스로 연결을 허용·차단하지 않고 결정은 PDP가 내린다.
  • 지속적 진단 및 완화 시스템(CDM): 자산의 상태 정보를 수집해 PDP의 판단 근거를 제공하는 데이터 소스이다.
문제 16
SSLv3 프로토콜은 단일 계층이기보다는 2개의 계층으로 된 프로토콜이다. 상위 계층과 하위 계층으로 나눌 때 하위 계층에 해당하는 프로토콜로 가장 적절한 것은?
1Alert 프로토콜
2Record 프로토콜
3Handshake 프로토콜
4Change Cipher Spec 프로토콜
정답 및 해설

SSLv3의 하위 계층 프로토콜은 Record 프로토콜이다.

Record 프로토콜은 TCP 바로 위에서 데이터를 단편화·압축하고 MAC과 암호화를 적용해 전송한다. 그 위의 상위 계층에 Handshake, Change Cipher Spec, Alert 프로토콜이 놓인다.

  • Alert 프로토콜: 오류·경고 상황을 상대에게 알리는 상위 계층 프로토콜이다.
  • Handshake 프로토콜: 상호 인증과 암호 알고리즘·키 협상을 수행하는 상위 계층 프로토콜이다.
  • Change Cipher Spec 프로토콜: 협상된 암호 설정의 적용 시작을 알리는 상위 계층 프로토콜이다.
문제 17
IPSec의 보안 연관(Security Association)의 식별 정보로 사용되는 매개변수로 가장 적절하지 않은 것은?
1보안 매개변수 인덱스
2IP 목적지 주소
3IPSec 프로토콜 모드
4보안 프로토콜 식별자(AH 또는 ESP)
정답 및 해설

IPSec 프로토콜 모드는 보안 연관(SA)의 식별 매개변수가 아니다.

SA는 SPI, 목적지 IP 주소, 보안 프로토콜 식별자의 세 값으로 유일하게 식별된다. 터널·전송 모드는 SA가 담고 있는 속성일 뿐 식별자에 포함되지 않는다.

  • 보안 매개변수 인덱스(SPI): AH·ESP 헤더에 실려 수신 측이 해당 SA를 찾는 데 쓰인다.
  • IP 목적지 주소: SA의 종단 주소로 식별에 사용된다.
  • 보안 프로토콜 식별자: SA가 AH용인지 ESP용인지를 구분한다.
문제 18
ICMP 오류 보고 메시지 중 Type 3인 Destination unreachable 메시지의 유형을 생성하는 경우로 가장 적절하지 않은 것은?
1라우터에서 목적지로 패킷을 전송할 경로를 찾지 못한 경우
2목적지 호스트의 특정 프로토콜(protocol)을 사용할 수 없는 경우
3IP 패킷의 단편화가 필요하지만 단편화할 수 없는 경우
4특정 호스트를 목적지로 하는 경로를 재지정해야 하는 경우
정답 및 해설

특정 호스트로 가는 경로를 재지정해야 하는 경우는 Destination unreachable이 아니라 Redirect 메시지(Type 5)를 생성한다.

ICMP Type 3은 패킷을 목적지까지 전달할 수 없을 때 보내는 오류 메시지이며, 사유는 코드 값으로 구분한다.

  • 경로를 찾지 못한 경우: 네트워크 또는 호스트 도달 불가 코드로 보고된다.
  • 특정 프로토콜을 사용할 수 없는 경우: 프로토콜 도달 불가 코드로 보고된다.
  • 단편화가 필요하나 DF 비트로 단편화할 수 없는 경우: 단편화 필요 코드로 보고되며 경로 MTU 탐색에 쓰인다.
문제 19
TCP 연결 생성, TCP 연결 중단 또는 TCP 연결 종료 과정에서 사용되는 TCP 제어 플래그로 가장 적절하지 않은 것은?
1ACK
2FIN
3RST
4URG
정답 및 해설

연결 생성·중단·종료에 쓰이지 않는 플래그는 URG이다.

URG는 세그먼트 안에 긴급 데이터가 있으며 긴급 포인터 필드가 유효함을 알리는 플래그로, 연결 관리와 무관하다.

  • ACK: 3-way 핸드셰이크와 종료 과정에서 상대 세그먼트 수신을 확인한다.
  • FIN: 더 보낼 데이터가 없음을 알려 정상적으로 연결을 종료한다.
  • RST: 비정상 상황에서 연결을 즉시 중단(재설정)한다.
문제 20
SSH 프로토콜에 대한 설명으로 가장 적절하지 않은 것은?
1SSH 사용자 인증 프로토콜은 SSH 전송 계층 프로토콜의 하위 계층에서 동작한다.
2SSH 전송 계층 프로토콜은 데이터 기밀성을 제공한다.
3SSH 연결 프로토콜은 하나의 채널 상에서 여러 개의 논리적 통신 채널을 다중화한다.
4SSH가 지원하는 원격 포워딩에서는 사용자의 SSH 클라이언트가 서버의 역할을 할 수 있다.
정답 및 해설

SSH 사용자 인증 프로토콜이 전송 계층 프로토콜의 하위 계층에서 동작한다는 설명이 옳지 않다.

SSH는 맨 아래에 전송 계층 프로토콜이 서버 인증·암호화·무결성을 제공하고, 그 위에서 사용자 인증 프로토콜과 연결 프로토콜이 동작하는 구조다.

  • 전송 계층 프로토콜의 기밀성: 세션 키로 트래픽을 암호화해 기밀성을 제공한다.
  • 연결 프로토콜의 다중화: 하나의 암호화 터널 위에 여러 논리 채널을 다중화한다.
  • 원격 포워딩: 서버 쪽 포트로 들어온 연결을 클라이언트 쪽으로 넘겨, 클라이언트 측이 서비스를 제공하는 역할을 할 수 있다.
문제 21
리눅스 라우팅 테이블 설정 정보를 출력했을 때 항목 정보에 대한 설명으로 가장 적절한 것은?
1Destination에는 네트워크 IP 주소는 들어갈 수 없고 목적지 호스트 주소만 들어간다.
2Genmask가 255.255.255.255인 경우에는 목적지 호스트 식별 마스크이다.
3Gateway는 목적지로 전송하기 위한 네트워크 인터페이스 이름이다.
4UG 플래그는 해당 경로가 활성화되어 있지 않으며 게이트웨이를 사용한다는 의미이다.
정답 및 해설

Genmask가 255.255.255.255이면 단일 목적지 호스트를 식별하는 마스크라는 설명이 옳다.

모든 비트가 1인 마스크는 Destination 주소 하나와 정확히 일치하는 호스트 경로를 뜻하며, 이때 플래그에 H가 표시된다.

  • Destination: 호스트 주소뿐 아니라 네트워크 주소와 기본 경로도 들어간다.
  • Gateway: 다음 홉 게이트웨이의 주소이며, 인터페이스 이름은 Iface 항목에 표시된다.
  • UG 플래그: U는 경로가 활성화(up)되어 있다는 뜻이고 G는 게이트웨이를 거친다는 뜻이다.
문제 22
NAT 기술에 대한 설명으로 가장 적절하지 않은 것은?
1NAT 라우터의 내부 네트워크에 있는 호스트들은 사설 IP 주소들이 할당되어 있다.
2Static NAT 기술은 하나의 사설 IP 주소와 하나의 공인 IP 주소를 1:1 고정적으로 변환하는 방식이다.
3Dynamic NAT 기술은 다수의 사설 IP 주소와 소수의 공인 IP 주소를 m:n 동적으로 변환하는 방식이다.
4NAPT 기술은 포트 번호를 이용하여 하나의 사설 IP 주소를 다수의 공인 IP 주소로 변환하는 방식이다.
정답 및 해설

NAPT가 하나의 사설 IP를 다수의 공인 IP로 변환한다는 설명이 옳지 않다.

NAPT(PAT)는 포트 번호를 함께 바꿔 다수의 사설 IP를 하나의 공인 IP로 변환하는 방식이다. 연결마다 다른 포트를 배정해 내부 호스트를 구분한다.

  • 내부 호스트의 사설 IP: NAT 라우터 내부 네트워크 호스트에는 사설 IP가 할당된다.
  • Static NAT: 사설 IP 하나와 공인 IP 하나를 1:1로 고정 매핑한다.
  • Dynamic NAT: 공인 IP 풀에서 필요할 때 주소를 동적으로 할당해 변환한다.
문제 23
netstat 명령어에 대한 설명으로 가장 적절한 것은?
1-l 옵션은 프로토콜별로 모든 네트워크 통계 정보를 출력한다.
2-n 옵션은 네트워크 인터페이스별 통계 정보를 출력한다.
3-s 옵션은 연결 중이거나 연결 대기 중인 모든 소켓 정보를 출력한다.
4-r 옵션은 라우팅 테이블 정보를 출력한다.
정답 및 해설

netstat의 -r 옵션은 라우팅 테이블을 출력한다는 설명이 옳다.

netstat는 네트워크 연결·소켓·라우팅·통계를 보여 주는 명령으로, 옵션마다 출력 대상이 다르다.

  • -l 옵션: 연결 대기(LISTEN) 중인 소켓만 출력하며, 프로토콜별 통계는 -s 옵션이다.
  • -n 옵션: 주소와 포트를 이름으로 바꾸지 않고 숫자로 출력하며, 인터페이스별 통계는 -i 옵션이다.
  • -s 옵션: 프로토콜별 통계를 출력하며, 모든 소켓 정보는 -a 옵션이다.
문제 24
nmap 명령어의 옵션에 대한 설명으로 가장 적절하지 않은 것은?
1-sS 옵션은 TCP SYN 스캔을 위한 옵션이다.
2-sU 옵션은 TCP NULL 스캔을 위한 옵션이다.
3-p 옵션은 스캔할 포트 번호를 지정하는 옵션이다.
4-O 옵션은 대상 호스트의 운영체제 정보를 스캔하기 위한 옵션이다.
정답 및 해설

nmap의 -sU 옵션이 TCP NULL 스캔이라는 설명이 옳지 않다.

-sU는 UDP 스캔 옵션이며, 플래그를 하나도 설정하지 않은 패킷을 보내는 TCP NULL 스캔은 -sN 옵션이다.

  • -sS 옵션: SYN만 보내고 핸드셰이크를 완료하지 않는 TCP SYN(하프 오픈) 스캔이다.
  • -p 옵션: 스캔할 포트 번호나 범위를 지정한다.
  • -O 옵션: 응답 특성을 분석해 대상 호스트의 운영체제를 추정한다.
문제 25
방화벽과 패킷 필터링에 대한 설명으로 가장 적절하지 않은 것은?
1방화벽은 패킷의 출발지 또는 목적지의 IP 주소나 포트 번호를 보고 패킷을 필터링한다.
2방화벽에는 일반적으로 페일 세이프(fail safe) 원칙이 적용된다.
3Egress 필터링은 라우터 내부로 유입되는 패킷을 필터링한다.
4Blackhole 필터링은 패킷을 Null 인터페이스로 보내 통신이 되지 않도록 필터링한다.
정답 및 해설

Egress 필터링이 라우터 내부로 유입되는 패킷을 필터링한다는 설명이 옳지 않다.

Egress 필터링은 내부에서 외부로 나가는 패킷을 검사하는 것이고, 외부에서 내부로 들어오는 패킷을 검사하는 것은 Ingress 필터링이다.

  • IP·포트 기반 필터링: 방화벽은 출발지·목적지 IP와 포트 번호를 보고 허용·차단을 결정한다.
  • 페일 세이프 원칙: 장애가 발생하면 통신을 차단하는 안전한 상태로 동작하도록 설계한다.
  • Blackhole 필터링: 특정 패킷을 Null 인터페이스로 보내 폐기한다.
문제 26
inetd 데몬이 사용하는 inetd.conf파일의 구조 항목으로 가장 적절하지 않은 것은?
1서비스명
2소켓타입
3호스트명
4실행 경로명
정답 및 해설

inetd.conf의 구조 항목에 호스트명은 없다.

inetd.conf의 각 줄은 서비스명, 소켓 타입, 프로토콜, 대기 여부(wait/nowait), 실행 사용자, 실행 경로명, 실행 인자 순으로 구성된다. 접속 호스트 제어는 TCP Wrapper 설정 파일이 맡는다.

  • 서비스명: /etc/services에 정의된 서비스 이름을 첫 항목에 쓴다.
  • 소켓타입: stream, dgram 등 소켓 유형을 지정한다.
  • 실행 경로명: 요청 시 실행할 서버 프로그램의 경로를 지정한다.
문제 27
i-node에 있는 파일의 속성 정보로 가장 적절하지 않은 것은?
1파일의 심볼릭 링크 개수
2파일의 소유자
3파일에 대한 접근 권한
4파일의 속성을 마지막으로 변경한 시간
정답 및 해설

i-node에는 심볼릭 링크 개수가 아니라 하드 링크 개수가 저장된다.

심볼릭 링크는 별도의 i-node를 가진 독립 파일이어서 원본 i-node가 그 수를 알지 못한다. i-node는 파일 이름을 제외한 메타데이터와 데이터 블록 위치를 담는다.

  • 파일의 소유자: 소유자 UID와 그룹 GID가 저장된다.
  • 접근 권한: 파일 유형과 읽기·쓰기·실행 권한 비트가 저장된다.
  • 속성 변경 시간: 마지막 접근·수정 시간과 함께 속성 변경 시간(ctime)이 저장된다.
문제 28
리눅스 시스템에서 프로세스가 시그널(signal)을 받으면 디폴트 동작으로 프로세스가 종료하는 시그널 이름으로 가장 적절하지 않은 것은?
1SIGINT
2SIGSTOP
3SIGTERM
4SIGQUIT
정답 및 해설

SIGSTOP의 디폴트 동작은 종료가 아니라 프로세스 일시 정지이다.

SIGSTOP으로 멈춘 프로세스는 SIGCONT를 받으면 다시 실행되며, 이 시그널은 가로채거나 무시할 수 없다.

  • SIGINT: 터미널 인터럽트(Ctrl+C)로 프로세스를 종료한다.
  • SIGTERM: kill 명령의 기본 시그널로 프로세스에 종료를 요청한다.
  • SIGQUIT: 종료하면서 코어 덤프를 생성한다.
문제 29
다음에서 설명하는 FTP 공격으로 가장 적절한 것은?
○제어 채널과 데이터 채널을 다르게 사용하고 데이터 채널을 생성할 때 목적지를 확인하지 않는 FTP 설계의 구조적 취약점을 이용하는 공격이다.
○FTP 서버의 전송 목적지 주소를 임의로 지정하여 FTP 서버를 경유해 임의의 목적지로 메시지나 자료를 전송하도록 할 수 있다.
1Anonymous FTP Attack
2Brute Force Attack
3FTP Bounce Attack
4TFTP Attack
정답 및 해설

FTP 서버를 경유해 임의의 목적지로 데이터를 보내게 하는 공격은 FTP Bounce Attack이다.

공격자는 PORT 명령으로 데이터 채널의 목적지를 제3의 주소로 지정해, FTP 서버가 그 주소로 연결하도록 만든다. 이를 이용해 포트 스캔이나 우회 전송을 수행할 수 있다.

  • Anonymous FTP Attack: 익명 계정 접속을 허용한 서버의 설정 취약점을 악용하는 공격이다.
  • Brute Force Attack: 계정 비밀번호를 무차별 대입으로 추측하는 공격이다.
  • TFTP Attack: 인증 없이 파일을 주고받는 TFTP를 이용해 중요 파일을 가져가는 공격이다.
문제 30
리눅스FTP서버(vsftpd)접근제어설정방법중 TCP Wrapper를 이용하는 설정 방식의 설명으로 가장 적절하지 않은 것은?
파일 규칙 설명
1/etc/hosts. allow vsftpd:10.20.30. EXCEPT 10.20.30.40 vsftpd 서비스에 대해서 10.20.30.40 호스트 허용
2/etc/hosts. allow vsftpd: 10.20.30.11 vsftpd 서비스에 대해서 10.20.30.11 호스트 허용
3/etc/hosts. deny ALL:ALL 모든 서비스에 대해서 모든 호스트 거부
4/etc/hosts. deny vsftpd:1.2.3.4 vsftpd 서비스에 대해서 1.2.3.4 호스트 거부
정답 및 해설

10.20.30. EXCEPT 10.20.30.40 규칙을 10.20.30.40 호스트 허용으로 설명한 것이 옳지 않다.

TCP Wrapper에서 점으로 끝나는 주소는 해당 대역 전체를 뜻하고 EXCEPT는 예외를 지정하므로, 이 규칙은 10.20.30 대역은 허용하되 10.20.30.40만 제외한다는 의미다.

  • hosts.allow의 vsftpd: 10.20.30.11: vsftpd 서비스에 대해 해당 호스트를 허용한다.
  • hosts.deny의 ALL:ALL: 모든 서비스에 대해 모든 호스트를 거부하는 기본 차단 규칙이다.
  • hosts.deny의 vsftpd:1.2.3.4: vsftpd 서비스에 대해 해당 호스트를 거부한다.

판정 순서는 hosts.allow를 먼저 확인하고 일치하지 않으면 hosts.deny를 확인한다.

문제 31
다음 FTP 운영 모드에 대한 설명으로 가장 적절하지 않은 것은?

1클라이언트는 21번 포트로 접속을 시도하며, Passive 모드의 사용을 전달
2서버는 사용할 포트(3267)를 결정하여 클라이언트에게 전달
3서버의 20번 포트는 클라이언트가 알려준 두 번째 포트로 데이터 채널 생성
4서버가 ACK로 응답
정답 및 해설

패시브 모드에서는 클라이언트가 서버가 알려준 포트(3267)로 데이터 채널을 연결하므로, 서버의 포트 20이 클라이언트의 두 번째 포트로 데이터 채널을 만든다는 설명이 적절하지 않다.

서버 포트 20이 클라이언트 쪽으로 데이터 연결을 여는 것은 액티브(Active) 모드의 동작이다. 그림에서도 데이터 채널 화살표는 클라이언트 포트 5151에서 서버의 두 번째 포트 3267로 향한다.

  • 클라이언트가 명령 채널인 포트 21로 접속해 PASV 명령으로 패시브 모드 사용을 알리는 것은 첫 단계로 옳다.
  • 서버가 데이터 전송에 쓸 포트(3267)를 정해 OK 3267로 클라이언트에 알려 주는 것은 옳다.
  • 클라이언트의 데이터 채널 연결 요청에 서버가 OK(ACK)로 응답하는 것은 마지막 단계로 옳다.
문제 32
다음 ㉠∼㉢의 PGP 알고리즘 각각의 기능으로 가장 적절한 것은?
㉠ Radix-64 Conversion
㉡ IDEA, CAST, Triple-DES
㉢ RSA, DSS, RIPEMD-160

㉠ ㉡ ㉢
1기밀성 인증 호환성
2기밀성 호환성 인증
3호환성 인증 기밀성
4호환성 기밀성 인증
정답 및 해설

㉠은 호환성, ㉡은 기밀성, ㉢은 인증 기능이다.

Radix-64 변환은 암호화된 이진 데이터를 ASCII 문자로 바꿔 전자우편 시스템과의 호환성을 확보한다. IDEA·CAST·Triple-DES는 메시지를 암호화하는 대칭키 알고리즘이고, RSA·DSS와 RIPEMD-160 해시는 전자서명에 쓰여 송신자 인증을 제공한다.

  • ㉠을 기밀성으로 본 조합: Radix-64는 인코딩일 뿐 암호화가 아니다.
  • ㉡을 인증이나 호환성으로 본 조합: 대칭키 블록 암호는 내용 보호, 즉 기밀성을 담당한다.
  • ㉢을 기밀성이나 호환성으로 본 조합: 서명 알고리즘과 해시 함수는 인증·무결성을 담당한다.
문제 33
다음의 스팸메일 대응 기술로 가장 적절한 것은?

1Sender Policy Framework
2Domain Keys Identified Mail
3Spam Assassin
4Procmail
정답 및 해설

발신 도메인의 DNS에 발신 메일서버 정보를 등록해 두고 수신 서버가 이를 조회해 수신 여부를 결정하는 기술은 SPF(Sender Policy Framework)이다.

SPF는 도메인 관리자가 DNS TXT 레코드에 메일을 보낼 수 있는 서버의 IP 목록을 공개하고, 수신 메일서버가 실제 발송 서버 IP와 대조해 발신자 위조 여부를 판단한다. 그림의 정보 등록 → 메일 전송 → 발신 도메인 조회 → 수신 여부 결정 흐름과 일치한다.

  • DKIM은 발신 서버가 메일에 전자서명을 붙이고 수신 측이 DNS에 공개된 공개키로 서명을 검증하는 방식으로, 발신 서버 IP 정보를 등록·대조하는 구조가 아니다.
  • Spam Assassin은 메일 헤더·본문을 규칙과 점수로 분석해 스팸을 걸러내는 콘텐츠 필터링 도구이다.
  • Procmail은 수신된 메일을 사용자 규칙에 따라 분류·전달·처리하는 메일 처리 프로그램이다.
문제 34
/etc/mail/access 파일의 설정 제어 옵션에 대한 설명으로 가장 적절하지 않은 것은?
1RELAY - 지정한 대상의 메일 릴레이를 허용한다.
2REJECT - 거부 메시지를 보내서 지정한 대상의 메일을 모두 거부한다.
3DISCARD - 폐기 메시지를 보내서 지정한 대상의 메일을 모두 폐기한다.
4OK - 지정한 대상의 메일을 조건 없이 모두 허용한다.
정답 및 해설

DISCARD가 폐기 메시지를 보낸다는 설명이 옳지 않다.

DISCARD는 발신자에게 아무 메시지도 보내지 않고 메일을 조용히 폐기한다. 거부 메시지를 돌려보내는 것은 REJECT이다.

  • RELAY: 지정한 대상의 메일 릴레이를 허용한다.
  • REJECT: 거부 메시지를 보내며 지정한 대상의 메일을 거부한다.
  • OK: 다른 제한 규칙과 관계없이 지정한 대상의 메일을 허용한다.
문제 35
다음에서 설명하는 보안 전자 메일 프로토콜로 가장 적절한 것은?
○메일을 안전하게 전송하기 위한 프로토콜
○메시지에 대한 기밀성, 무결성, 사용자 인증, 송신 사실 부인 방지
○X.509 인증서를 통해 송신자 인증 보장
1SMTP
2S/MIME
3IMAP
4RBL
정답 및 해설

X.509 인증서로 기밀성·무결성·인증·부인 방지를 제공하는 보안 메일 프로토콜은 S/MIME이다.

S/MIME은 MIME 형식 메일에 공개키 암호와 전자서명을 적용하며, X.509 인증서 기반 PKI로 송신자를 인증한다.

  • SMTP: 메일을 전송하는 기본 프로토콜로 자체 보안 기능이 없다.
  • IMAP: 메일 서버의 메일함을 조회·관리하는 수신 프로토콜이다.
  • RBL: 스팸 발송지로 알려진 IP 목록을 실시간 조회해 메일을 차단하는 방식이다.
문제 36
다음의 SQL Injection 공격 방식의 유형으로 가장 적절한 것은?
id=1 UNION SELECT 1, username, password FROM users --
1Form SQL Injection
2Union SQL Injection
3Stored Procedure SQL Injection
4Error-based SQL Injection
정답 및 해설

UNION 연산자로 다른 테이블 조회 결과를 붙여 가져오는 방식은 Union SQL Injection이다.

원래 쿼리 뒤에 UNION SELECT를 덧붙여 users 테이블의 계정·비밀번호를 정상 결과와 함께 출력시키고, 끝의 주석 기호로 나머지 쿼리를 무력화한다.

  • Form SQL Injection: 로그인 폼 등 입력란에 조건을 항상 참으로 만드는 구문을 넣어 인증을 우회하는 방식이다.
  • Stored Procedure SQL Injection: 데이터베이스의 저장 프로시저를 악용해 명령을 실행하는 방식이다.
  • Error-based SQL Injection: 고의로 오류를 유발해 오류 메시지에 드러나는 정보를 수집하는 방식이다.
문제 37
다음 빈칸 (㉠)∼(㉢)에 들어갈 용어로 가장 적절한 것은?
○(㉠) 공격은 가장 일반적인 XSS 공격 유형으로, 단순히 게시판 또는 자료실과 같이 사용자가 글을 저장할 수 있는 부분에 정상적인 평문이 아닌 스크립트 코드를 입력하는 공격 기법이다.
○(㉡) 공격은 사용자가 악성 스크립트 코드를 포함하고 있는 악성 URL을 클릭하면 서버의 응답으로 악성 스크립트가 실행되어 사용자의 정보를 탈취하거나 리다이렉트하는 공격 기법이다.
○(㉢) 공격은 보안에 취약한 자바스크립트 코드를 이용해 사용자가 예측하지 못한 방식으로 동작하는 HTML 문서 객체 모델을 제어하는 과정에서 발생하는 공격 기법이다.

㉠ ㉡ ㉢
1Reflected XSS Stored XSS DOM based XSS
2Reflected XSS DOM based XSS Stored XSS
3Stored XSS DOM based XSS Reflected XSS
4Stored XSS Reflected XSS DOM based XSS
정답 및 해설

㉠은 Stored XSS, ㉡은 Reflected XSS, ㉢은 DOM based XSS이다.

게시판 등에 스크립트를 저장해 열람자에게 실행시키면 저장형, 악성 URL의 스크립트가 서버 응답에 그대로 반사되어 실행되면 반사형, 클라이언트 자바스크립트가 문서 객체 모델을 조작하는 과정에서 발생하면 DOM 기반이다.

  • ㉠에 Reflected XSS를 둔 조합: 서버에 저장되어 지속되는 공격은 저장형이다.
  • ㉡에 DOM based XSS나 Stored XSS를 둔 조합: 악성 URL 클릭 후 서버 응답으로 실행되는 것은 반사형이다.
  • ㉢에 Stored XSS나 Reflected XSS를 둔 조합: 서버를 거치지 않고 DOM 처리에서 발생하는 것은 DOM 기반이다.
문제 38
다음에서 설명하는 웹 애플리케이션 공격 기법으로 가장 적절한 것은?
○웹 해킹을 통해 시스템의 권한을 획득한 후 해당 시스템에 텔넷과 같이 직접 명령을 입력하고 확인할 수 있는 쉘을 획득하기 위한 방법
○해커가 자신의 시스템에서 특정 포트를 개방하고, 웹 서버에서 해당 포트로 접속함으로써 해커가 웹 서버에 대한 원격 접속을 얻는 공격 기법
1Cross Site Request Forgery
2HTTP Header Injection
3Reverse Shell
4Insecure Direct Object Reference
정답 및 해설

해커가 포트를 열어 두고 웹 서버가 그쪽으로 접속하게 해 쉘을 얻는 기법은 Reverse Shell이다.

방화벽은 대개 인바운드 접속을 막지만 아웃바운드는 허용하므로, 피해 서버가 공격자에게 역으로 접속하게 만들어 원격 명령 실행 환경을 확보한다.

  • Cross Site Request Forgery: 로그인한 사용자가 의도하지 않은 요청을 서버에 보내도록 만드는 공격이다.
  • HTTP Header Injection: 입력값에 개행 문자를 넣어 응답 헤더를 조작하는 공격이다.
  • Insecure Direct Object Reference: 파라미터의 객체 식별자를 바꿔 권한 없는 자원에 접근하는 취약점이다.
문제 39
다음의 DNS Spoofing 공격 순서를 올바르게 나열한 것으로 가장 적절한 것은?
㉠해커는 사용자의 DNS 질의를 감지하여 가짜 응답을 준비한다.
㉡사용자가 특정 도메인에 대한 DNS 질의를 보낸다.
㉢해커는 악성 DNS 서버 또는 조작된 IP 주소를 포함한 응답을 사용자에게 전송한다.
㉣사용자의 웹 브라우저는 위조된 IP 주소 또는 악성 웹 사이트로 접속된다.
1㉠→㉡→㉢→㉣
2㉡→㉠→㉢→㉣
3㉠→㉢→㉣→㉡
4㉡→㉢→㉠→㉣
정답 및 해설

DNS Spoofing은 사용자 질의 → 해커의 감지·위조 응답 준비 → 위조 응답 전송 → 위조 사이트 접속 순으로 진행된다.

공격은 사용자의 DNS 질의(㉡)가 있어야 시작되고, 해커가 이를 감지해(㉠) 정상 DNS 서버보다 먼저 위조 응답을 보내면(㉢) 사용자는 조작된 주소로 접속하게 된다(㉣). 따라서 ㉡→㉠→㉢→㉣이다.

  • ㉠으로 시작하는 순서: 질의가 없으면 해커가 감지할 대상이 없다.
  • ㉢이 ㉠보다 앞선 순서: 질의를 감지하고 응답을 준비해야 위조 응답을 보낼 수 있다.
문제 40
다음에서 설명하는 애플리케이션 보안 취약점으로 가장 적절한 것은?
○리눅스 계열 OS에서 주로 사용하는 GNU Bash 환경변수를 통해 코드 인젝션 기법으로 특정 코드를 삽입하여 실행할 수 있는 취약점이다.
○공격자가 환경변수를 조작하여 원격에서 임의의 명령을 실행할 수 있다.
1Heartbleed
2Log4j
3ShellShock
4Stuxnet
정답 및 해설

Bash 환경변수에 함수 정의 뒤 명령을 덧붙여 원격 실행을 일으키는 취약점은 ShellShock이다.

취약한 Bash는 환경변수에 담긴 함수 정의를 해석할 때 그 뒤에 이어진 명령까지 실행했다. CGI처럼 외부 입력을 환경변수로 넘기는 서비스에서 원격 명령 실행으로 이어졌다.

  • Heartbleed: OpenSSL의 하트비트 확장에서 경계 검사 누락으로 서버 메모리가 유출되는 취약점이다.
  • Log4j: 로그 문자열의 JNDI 조회 기능을 악용해 원격 코드를 실행하는 Java 로깅 라이브러리 취약점이다.
  • Stuxnet: 산업제어시스템(PLC)을 노린 악성 웜으로, Bash 취약점이 아니다.