[9급 국가직 정보시스템보안] 25년 1회차
9급 국가직 정보시스템보안 기출문제

25년 1회차

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

1 / 1
A4정답 포함
9급 국가직 정보시스템보안 기출문제모두CBT · moducbt.com

25년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
취약점에 대한 보안 패치가 나오지 않은 시점에서 이루어지는 공격을 의미하는 것은?
1제로데이(Zero-day)
2사회공학(Social Engineering)
3분산 서비스 거부(DDoS)
4무차별 대입(Brute Force)
정답 및 해설

보안 패치가 나오기 전에 이루어지는 공격은 제로데이(Zero-day) 공격이다.

취약점이 공개되거나 발견된 뒤 패치가 배포되기까지의 공백 기간을 노리므로, 시그니처 기반 탐지로는 막기 어렵고 행위 기반 탐지나 가상 패치 등으로 대응한다.

  • 사회공학: 기술적 취약점이 아니라 사람의 심리·신뢰를 이용해 정보를 빼내는 공격이다.
  • 분산 서비스 거부(DDoS): 다수의 감염 시스템으로 대상의 자원을 고갈시키는 공격이다.
  • 무차별 대입: 가능한 모든 값을 대입해 패스워드 등을 알아내는 공격이다.
문제 2
침입자에게 거짓 자원을 실제 자원처럼 보이도록 하여 공격을 유도하고, 침입자에 대한 정보를 얻기 위한 시스템은?
1IPS
2DMZ
3Firewall
4Honeypot
정답 및 해설

거짓 자원을 실제처럼 보이게 해 공격을 유도하고 침입자 정보를 수집하는 시스템은 허니팟(Honeypot)이다.

허니팟은 정상 사용자가 접근할 이유가 없으므로 접근 자체가 의심 행위가 되며, 공격자의 수법과 도구를 관찰·기록하는 데 쓰인다.

  • IPS: 트래픽을 검사해 침입을 실시간으로 차단하는 시스템이다.
  • DMZ: 외부에 공개하는 서버를 내부망과 분리해 두는 네트워크 구간이다.
  • Firewall: 정책에 따라 트래픽을 허용·차단하는 접근통제 장비이다.
문제 3
다음에서 설명하는 공격은?

게시판이나 이메일 등에 악의적인 스크립트를 삽입하여 게시글이나 이메일을 읽는 사용자의 쿠키를 탈취하는 공격 기법이다.

1XSS
2SQL Injection
3DNS Spoofing
4IP Spoofing
정답 및 해설

설명된 공격은 XSS(Cross Site Scripting)이다.

게시글·이메일에 삽입된 스크립트가 이를 읽는 사용자의 브라우저에서 실행되어 쿠키(세션 정보)를 공격자에게 전송하는 것이 XSS의 전형적인 피해이다.

  • SQL Injection: 입력값으로 DB 쿼리를 조작하는 공격으로, 사용자 브라우저에서 실행되지 않는다.
  • DNS Spoofing: DNS 응답을 위조해 사용자를 가짜 사이트로 유도하는 공격이다.
  • IP Spoofing: 출발지 IP 주소를 위조해 신뢰 관계를 악용하는 공격이다.
문제 4
리눅스 커널의 부팅 과정에서 발생하는 로그를 확인할 수 있는 명령어는?
1cron
2dmesg
3wtmp
4sulog
정답 및 해설

커널 부팅 과정의 로그를 확인하는 명령어는 dmesg이다.

dmesg는 커널 링 버퍼에 쌓인 메시지를 출력해 부팅 시 장치 인식, 드라이버 적재, 하드웨어 오류 등을 확인하게 해 준다.

  • cron: 작업을 주기적으로 실행하는 스케줄링 데몬이다.
  • wtmp: 로그인·로그아웃·재부팅 이력을 담은 로그 파일로, last 명령으로 확인한다.
  • sulog: su 명령 사용 기록을 담은 로그 파일이다.
문제 5
다음에서 설명하는 암호 알고리즘은?

국내의 국가보안기술연구소 주도로 학계, 연구소, 정부기관 등의 암호 전문가들이 공동 개발한 암호화 알고리즘으로 KS인증을 획득하였다.

1ARIA
2DES
3SEED
4IDEA
정답 및 해설

설명된 암호 알고리즘은 ARIA이다.

ARIA는 국가보안기술연구소(NSRI) 주도로 학계·연구소·정부기관이 함께 개발한 128비트 블록 암호로, KS 표준으로 제정되었다.

  • DES: 미국 IBM이 개발해 미국 표준으로 채택된 블록 암호이다.
  • SEED: 한국인터넷진흥원(KISA) 주도로 개발된 국산 블록 암호로, 국가보안기술연구소 주도 개발이 아니다.
  • IDEA: 스위스에서 개발되어 PGP 등에 쓰인 블록 암호이다.
문제 6
리버스 엔지니어링 기법에 해당하는 것은?
1난독화
2언패킹
3디지털 서명
4안티 디버깅
정답 및 해설

리버스 엔지니어링 기법에 해당하는 것은 언패킹이다.

언패킹은 압축·암호화된 실행 파일을 원래 코드로 복원해 분석할 수 있게 만드는 작업으로, 분석자가 수행하는 리버싱 기법이다. 나머지는 모두 분석을 막는 안티 리버싱 쪽 기법이거나 무관한 기술이다.

  • 난독화: 코드를 이해하기 어렵게 변형하는 안티 리버싱 기법이다.
  • 디지털 서명: 코드의 출처와 무결성을 확인하는 기술로, 리버싱 기법이 아니다.
  • 안티 디버깅: 디버거 사용을 탐지·방해하는 안티 리버싱 기법이다.
문제 7
다음에서 설명하는 공격은?

소유자가 root이고 SetUID 비트를 가진 프로세스가 생성한 임시 파일의 처리가 완료되기 전에 공격자의 프로세스가 동일한 이름의 심볼릭 링크 파일을 생성하여 root 소유의 파일 내용을 수정하는 공격 기법이다.

1Race Condition
2Format String
3Heap Overflow
4Stack Overflow
정답 및 해설

설명된 공격은 Race Condition(경쟁 조건) 공격이다.

SetUID root 프로그램이 임시 파일을 확인하고 사용하는 시간 차이를 노려, 그 사이에 같은 이름의 심볼릭 링크를 만들어 root 권한으로 원하는 파일(예: /etc/passwd)을 수정하게 만든다.

  • Format String: 서식 지정자를 그대로 넘겨 메모리를 읽거나 쓰는 공격이다.
  • Heap Overflow: 힙 영역 버퍼를 넘치게 해 인접 데이터를 덮어쓰는 공격이다.
  • Stack Overflow: 스택 버퍼를 넘치게 해 반환 주소 등을 덮어쓰는 공격이다.
문제 8
리눅스에서 파일 시스템의 상태를 점검하고, 문제가 있을 때 복구하는 기능을 가진 명령어는?
1fdisk
2df
3fsck
4fstab
정답 및 해설

파일 시스템 상태를 점검하고 문제를 복구하는 명령어는 fsck이다.

fsck(file system check)는 슈퍼블록, i-node, 디렉터리 구조의 불일치를 검사·수리하며, 점검 대상 파일 시스템은 마운트 해제 상태에서 실행하는 것이 원칙이다.

  • fdisk: 디스크 파티션을 생성·삭제·조회하는 명령어이다.
  • df: 파일 시스템별 디스크 사용량을 보여 주는 명령어이다.
  • fstab: 부팅 시 마운트할 파일 시스템을 정의한 설정 파일(/etc/fstab)로, 명령어가 아니다.
문제 9
다음 리눅스 시스템의 '/etc/passwd' 파일 내용에 대한 설명으로 옳지 않은 것은?
root:x:0:0:root:/root:/bin/bash
1계정명은 'root'이다.
2패스워드는 'x'이다.
3홈 디렉터리는 '/root'이다.
4기본 shell 설정은 'bash'이다.
정답 및 해설

두 번째 필드의 x는 실제 패스워드가 아니라 패스워드가 /etc/shadow에 저장되어 있음을 나타내는 표시이므로, 패스워드가 'x'라는 설명이 틀렸다.

/etc/passwd 필드는 계정명:패스워드 표시:UID:GID:설명:홈 디렉터리:로그인 셸 순서이다.

  • 첫 번째 필드에 따라 계정명은 root이다.
  • 여섯 번째 필드에 따라 홈 디렉터리는 /root이다.
  • 일곱 번째 필드 /bin/bash에 따라 기본 셸은 bash이다.
문제 10
2021년에 발표된 OWASP Top 10의 항목 중, 서버가 적절한 검증 절차를 거치지 않은 요청을 처리하여, 접근통제를 우회하는 방식으로 서버의 내부 데이터가 탈취될 수 있는 취약점은?
1XXE
2SSRF
3Cryptographic Failures
4Insufficient Logging & Monitoring
정답 및 해설

서버가 검증 없이 요청을 처리해 접근통제를 우회하고 내부 데이터가 탈취되는 취약점은 SSRF(Server-Side Request Forgery)이다.

SSRF는 공격자가 조작한 URL로 서버가 대신 내부 요청을 보내게 만들어, 외부에서 직접 접근할 수 없는 내부 시스템·메타데이터에 접근하는 공격이다. OWASP Top 10 2021에서 A10으로 새로 추가되었다.

  • XXE: XML 외부 엔티티 처리를 악용하는 취약점으로, 2021판에서는 Security Misconfiguration에 통합되었다.
  • Cryptographic Failures: 암호화 미적용이나 취약한 암호 사용으로 민감 데이터가 노출되는 항목이다.
  • Insufficient Logging & Monitoring: 2017판 항목명으로, 로깅·모니터링 부족을 다룬다.
문제 11
HTTP 상태 코드에 대한 설명으로 옳지 않은 것은?
1301 : Moved Permanently
2304 : Not Modified
3401 : Unauthorized
4405 : Request Entity Too Large
정답 및 해설

405는 Method Not Allowed이므로 Request Entity Too Large라고 한 짝이 틀렸다.

405는 요청 메소드가 해당 자원에서 허용되지 않을 때의 응답이고, 요청 본문이 너무 큰 경우는 413(Request Entity Too Large, 현재 명칭은 Content Too Large)이다.

  • 301 Moved Permanently: 요청 자원이 영구적으로 다른 URL로 이동했음을 뜻한다.
  • 304 Not Modified: 캐시된 자원이 변경되지 않았음을 뜻한다.
  • 401 Unauthorized: 인증이 필요하거나 인증에 실패했음을 뜻한다.
문제 12
삽입된 악성 스크립트를 통해 사용자가 인지하지 못하는 상태에서 사용자의 권한으로 서버에 공격자가 의도한 요청을 하는 공격은?
1Slowloris
2CSRF
3Heartbleed
4DNS Cache Poisoning
정답 및 해설

사용자 모르게 사용자의 권한으로 공격자가 의도한 요청을 서버에 보내게 하는 공격은 CSRF이다.

피해자가 로그인한 상태에서 악성 스크립트가 담긴 페이지를 열면 브라우저가 세션 쿠키를 포함한 위조 요청을 보내고, 서버는 이를 정상 요청으로 처리한다.

  • Slowloris: HTTP 헤더를 아주 느리게 보내 연결을 오래 점유하는 서비스 거부 공격이다.
  • Heartbleed: OpenSSL Heartbeat 구현 결함으로 서버 메모리 내용을 유출하는 취약점이다.
  • DNS Cache Poisoning: DNS 캐시에 위조 응답을 심어 사용자를 가짜 주소로 유도하는 공격이다.
문제 13
TLS에 속한 프로토콜 중 세션을 활성 상태로 유지하는 목적으로 사용하는 것은?
1Alert Protocol
2Connection Protocol
3Heartbeat Protocol
4Application Data Protocol
정답 및 해설

세션을 활성 상태로 유지하는 목적의 TLS 프로토콜은 Heartbeat Protocol이다.

Heartbeat는 데이터가 오가지 않는 동안에도 상대가 살아 있는지 확인하는 keep-alive 메시지를 주고받으며, OpenSSL의 구현 결함이 Heartbleed 취약점으로 알려졌다.

  • Alert Protocol: 오류나 연결 종료 등 경고 상황을 상대에게 알린다.
  • Connection Protocol: TLS의 하위 프로토콜이 아니다. TLS는 Handshake·Change Cipher Spec·Alert·Heartbeat·Record 등으로 구성된다.
  • Application Data Protocol: 응용 계층 데이터를 실어 나르는 용도로, 세션 유지 목적이 아니다.
문제 14
프로세스에서 사용하는 메모리 영역의 위치를 랜덤하게 배치하는 기법은?
1X.509
2PAM
3ASLR
4ASBR
정답 및 해설

메모리 영역의 위치를 무작위로 배치하는 기법은 ASLR(Address Space Layout Randomization)이다.

스택·힙·라이브러리 주소를 실행할 때마다 바꿔, 버퍼 오버플로 공격에서 공격자가 점프할 주소를 예측하기 어렵게 만든다.

  • X.509: 공개키 인증서의 형식 표준이다.
  • PAM: 리눅스에서 인증 방식을 모듈로 교체·조합할 수 있게 하는 플러그형 인증 모듈이다.
  • ASBR: 메모리 주소 무작위화 기법의 명칭이 아니다.
문제 15
다음에서 설명하는 윈도 운영체제의 레지스트리 루트키는?

현재 시스템에 로그온하고 있는 사용자에 대한 구성 정보를 저장한다.

1HKEY_CLASSES_ROOT
2HKEY_CURRENT_USER
3HKEY_LOCAL_MACHINE
4HKEY_CURRENT_CONFIG
정답 및 해설

현재 로그온한 사용자의 구성 정보를 저장하는 루트키는 HKEY_CURRENT_USER이다.

HKCU는 바탕화면·제어판 설정 등 로그온 사용자별 정보를 담으며, 실제로는 HKEY_USERS 아래 해당 사용자 SID 키에 연결된 것이다.

  • HKEY_CLASSES_ROOT: 파일 확장자 연결과 COM 객체 등록 정보를 저장한다.
  • HKEY_LOCAL_MACHINE: 하드웨어·소프트웨어 등 시스템 전체에 적용되는 설정을 저장한다.
  • HKEY_CURRENT_CONFIG: 현재 사용 중인 하드웨어 프로필 정보를 저장한다.
문제 16
PGP에 대한 설명으로 옳지 않은 것은?
1IETF에 의해 개발되었다.
2전자 서명을 통해 인증을 제공한다.
3ZIP 알고리즘으로 압축을 제공한다.
4대칭 키 암호를 통해 기밀성을 제공한다.
정답 및 해설

PGP는 IETF가 아니라 필 짐머만(Phil Zimmermann)이 개발했으므로 설명이 틀렸다.

IETF는 이후 PGP를 바탕으로 OpenPGP 표준을 정했을 뿐이다. 반면 PEM은 IETF가 개발한 메일 보안 표준이다.

  • PGP는 메시지 해시를 송신자 개인키로 서명하는 전자 서명으로 인증을 제공한다.
  • PGP는 서명 후 ZIP 알고리즘으로 메시지를 압축한다.
  • PGP는 일회용 세션키로 대칭 키 암호화해 기밀성을 제공하고, 세션키는 수신자 공개키로 암호화한다.
문제 17
nmap 명령어의 옵션에 대한 설명으로 옳지 않은 것은?
1-O 옵션은 운영체제를 확인한다.
2-R 옵션은 RPC 스캔을 실시한다.
3-n 옵션은 DNS Lookup을 하지 않는다.
4-v 옵션은 스캔 결과를 상세하게 출력한다.
정답 및 해설

nmap의 -R 옵션은 RPC 스캔이 아니라 모든 대상에 대해 역방향 DNS 조회를 수행하는 옵션이다.

RPC 스캔은 -sR 옵션으로 수행했으며(현재는 -sV 버전 탐지에 통합), -R은 -n과 반대로 이름 해석을 항상 하도록 지정한다.

  • -O 옵션은 TCP/IP 스택 지문으로 운영체제를 확인한다.
  • -n 옵션은 DNS 이름 해석(Lookup)을 하지 않는다.
  • -v 옵션은 스캔 진행 상황과 결과를 상세하게 출력한다.
문제 18
(가), (나)에 들어갈 내용을 바르게 연결한 것은?

TCP 포트 번호 (가) 을 사용하는 (나) 을/를 통해, 사용자는 전자우편 서버에 메일 박스 생성, 삭제 및 이름 변경이 가능하다.

(가)(나)
①110SMTP
②143SMTP
③110IMAP
④143IMAP
1①
2②
3③
4④
정답 및 해설

(가)는 143, (나)는 IMAP이다.

IMAP은 메일을 서버에 둔 채 관리하는 프로토콜로, 서버의 메일 박스를 생성(CREATE)·삭제(DELETE)·이름 변경(RENAME)할 수 있으며 TCP 포트 143을 사용한다.

  • 포트 110은 POP3가 사용하는 포트로, POP3는 메일을 내려받는 기능 위주라 서버 메일 박스 관리 기능이 없다.
  • SMTP는 메일 송신·중계 프로토콜(포트 25)로, 메일 박스를 관리하지 않는다.
문제 19
빈칸에 들어갈 내용은?

프로그램을 실행시키기 위한 가상의 메모리 공간이 할당되면, 할당된 메모리 공간은 여러 영역으로 나뉘어 관리된다. 그중 (   )은 프로세스 로직이 실행되는 데 필요한 파라미터, 지역변수, 반환 주소 등이 저장된다.

1텍스트 영역
2힙 영역
3스택 영역
4데이터 영역
정답 및 해설

빈칸에 들어갈 영역은 스택 영역이다.

함수가 호출될 때마다 스택에 파라미터, 반환 주소, 이전 프레임 포인터, 지역변수로 이루어진 스택 프레임이 쌓이고, 함수가 끝나면 해제된다. 반환 주소가 있기 때문에 스택 버퍼 오버플로의 공격 대상이 된다.

  • 텍스트 영역: 실행할 기계어 코드가 저장되는 영역이다.
  • 힙 영역: 실행 중 동적으로 할당되는 메모리 영역이다.
  • 데이터 영역: 전역·정적 변수가 저장되는 영역이다.
문제 20
다음 명령을 수행한 후 '/directory'에 부여된 권한은?
chmod 1111 /directory
1Read
2SetGID
3SetUID
4Sticky Bit
정답 및 해설

chmod 1111을 수행하면 /directory에는 Sticky Bit가 부여된다.

네 자리 8진수의 맨 앞자리는 특수 권한으로 SetUID=4, SetGID=2, Sticky Bit=1이다.
1111 → 특수 권한 1(Sticky Bit) + 일반 권한 111(--x--x--x)
결과 표시: d--x--x--t

  • Read: 일반 권한 111은 소유자·그룹·기타 모두 실행(x)만 있고 읽기(r)는 없다.
  • SetGID: 맨 앞자리가 2(또는 2를 포함한 값)일 때 부여된다.
  • SetUID: 맨 앞자리가 4(또는 4를 포함한 값)일 때 부여된다.
9급 국가직 정보시스템보안 기출문제모두CBT · moducbt.com
25년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
취약점에 대한 보안 패치가 나오지 않은 시점에서 이루어지는 공격을 의미하는 것은?
1제로데이(Zero-day)
2사회공학(Social Engineering)
3분산 서비스 거부(DDoS)
4무차별 대입(Brute Force)
정답 및 해설

보안 패치가 나오기 전에 이루어지는 공격은 제로데이(Zero-day) 공격이다.

취약점이 공개되거나 발견된 뒤 패치가 배포되기까지의 공백 기간을 노리므로, 시그니처 기반 탐지로는 막기 어렵고 행위 기반 탐지나 가상 패치 등으로 대응한다.

  • 사회공학: 기술적 취약점이 아니라 사람의 심리·신뢰를 이용해 정보를 빼내는 공격이다.
  • 분산 서비스 거부(DDoS): 다수의 감염 시스템으로 대상의 자원을 고갈시키는 공격이다.
  • 무차별 대입: 가능한 모든 값을 대입해 패스워드 등을 알아내는 공격이다.
문제 2
침입자에게 거짓 자원을 실제 자원처럼 보이도록 하여 공격을 유도하고, 침입자에 대한 정보를 얻기 위한 시스템은?
1IPS
2DMZ
3Firewall
4Honeypot
정답 및 해설

거짓 자원을 실제처럼 보이게 해 공격을 유도하고 침입자 정보를 수집하는 시스템은 허니팟(Honeypot)이다.

허니팟은 정상 사용자가 접근할 이유가 없으므로 접근 자체가 의심 행위가 되며, 공격자의 수법과 도구를 관찰·기록하는 데 쓰인다.

  • IPS: 트래픽을 검사해 침입을 실시간으로 차단하는 시스템이다.
  • DMZ: 외부에 공개하는 서버를 내부망과 분리해 두는 네트워크 구간이다.
  • Firewall: 정책에 따라 트래픽을 허용·차단하는 접근통제 장비이다.
문제 3
다음에서 설명하는 공격은?

게시판이나 이메일 등에 악의적인 스크립트를 삽입하여 게시글이나 이메일을 읽는 사용자의 쿠키를 탈취하는 공격 기법이다.

1XSS
2SQL Injection
3DNS Spoofing
4IP Spoofing
정답 및 해설

설명된 공격은 XSS(Cross Site Scripting)이다.

게시글·이메일에 삽입된 스크립트가 이를 읽는 사용자의 브라우저에서 실행되어 쿠키(세션 정보)를 공격자에게 전송하는 것이 XSS의 전형적인 피해이다.

  • SQL Injection: 입력값으로 DB 쿼리를 조작하는 공격으로, 사용자 브라우저에서 실행되지 않는다.
  • DNS Spoofing: DNS 응답을 위조해 사용자를 가짜 사이트로 유도하는 공격이다.
  • IP Spoofing: 출발지 IP 주소를 위조해 신뢰 관계를 악용하는 공격이다.
문제 4
리눅스 커널의 부팅 과정에서 발생하는 로그를 확인할 수 있는 명령어는?
1cron
2dmesg
3wtmp
4sulog
정답 및 해설

커널 부팅 과정의 로그를 확인하는 명령어는 dmesg이다.

dmesg는 커널 링 버퍼에 쌓인 메시지를 출력해 부팅 시 장치 인식, 드라이버 적재, 하드웨어 오류 등을 확인하게 해 준다.

  • cron: 작업을 주기적으로 실행하는 스케줄링 데몬이다.
  • wtmp: 로그인·로그아웃·재부팅 이력을 담은 로그 파일로, last 명령으로 확인한다.
  • sulog: su 명령 사용 기록을 담은 로그 파일이다.
문제 5
다음에서 설명하는 암호 알고리즘은?

국내의 국가보안기술연구소 주도로 학계, 연구소, 정부기관 등의 암호 전문가들이 공동 개발한 암호화 알고리즘으로 KS인증을 획득하였다.

1ARIA
2DES
3SEED
4IDEA
정답 및 해설

설명된 암호 알고리즘은 ARIA이다.

ARIA는 국가보안기술연구소(NSRI) 주도로 학계·연구소·정부기관이 함께 개발한 128비트 블록 암호로, KS 표준으로 제정되었다.

  • DES: 미국 IBM이 개발해 미국 표준으로 채택된 블록 암호이다.
  • SEED: 한국인터넷진흥원(KISA) 주도로 개발된 국산 블록 암호로, 국가보안기술연구소 주도 개발이 아니다.
  • IDEA: 스위스에서 개발되어 PGP 등에 쓰인 블록 암호이다.
문제 6
리버스 엔지니어링 기법에 해당하는 것은?
1난독화
2언패킹
3디지털 서명
4안티 디버깅
정답 및 해설

리버스 엔지니어링 기법에 해당하는 것은 언패킹이다.

언패킹은 압축·암호화된 실행 파일을 원래 코드로 복원해 분석할 수 있게 만드는 작업으로, 분석자가 수행하는 리버싱 기법이다. 나머지는 모두 분석을 막는 안티 리버싱 쪽 기법이거나 무관한 기술이다.

  • 난독화: 코드를 이해하기 어렵게 변형하는 안티 리버싱 기법이다.
  • 디지털 서명: 코드의 출처와 무결성을 확인하는 기술로, 리버싱 기법이 아니다.
  • 안티 디버깅: 디버거 사용을 탐지·방해하는 안티 리버싱 기법이다.
문제 7
다음에서 설명하는 공격은?

소유자가 root이고 SetUID 비트를 가진 프로세스가 생성한 임시 파일의 처리가 완료되기 전에 공격자의 프로세스가 동일한 이름의 심볼릭 링크 파일을 생성하여 root 소유의 파일 내용을 수정하는 공격 기법이다.

1Race Condition
2Format String
3Heap Overflow
4Stack Overflow
정답 및 해설

설명된 공격은 Race Condition(경쟁 조건) 공격이다.

SetUID root 프로그램이 임시 파일을 확인하고 사용하는 시간 차이를 노려, 그 사이에 같은 이름의 심볼릭 링크를 만들어 root 권한으로 원하는 파일(예: /etc/passwd)을 수정하게 만든다.

  • Format String: 서식 지정자를 그대로 넘겨 메모리를 읽거나 쓰는 공격이다.
  • Heap Overflow: 힙 영역 버퍼를 넘치게 해 인접 데이터를 덮어쓰는 공격이다.
  • Stack Overflow: 스택 버퍼를 넘치게 해 반환 주소 등을 덮어쓰는 공격이다.
문제 8
리눅스에서 파일 시스템의 상태를 점검하고, 문제가 있을 때 복구하는 기능을 가진 명령어는?
1fdisk
2df
3fsck
4fstab
정답 및 해설

파일 시스템 상태를 점검하고 문제를 복구하는 명령어는 fsck이다.

fsck(file system check)는 슈퍼블록, i-node, 디렉터리 구조의 불일치를 검사·수리하며, 점검 대상 파일 시스템은 마운트 해제 상태에서 실행하는 것이 원칙이다.

  • fdisk: 디스크 파티션을 생성·삭제·조회하는 명령어이다.
  • df: 파일 시스템별 디스크 사용량을 보여 주는 명령어이다.
  • fstab: 부팅 시 마운트할 파일 시스템을 정의한 설정 파일(/etc/fstab)로, 명령어가 아니다.
문제 9
다음 리눅스 시스템의 '/etc/passwd' 파일 내용에 대한 설명으로 옳지 않은 것은?
root:x:0:0:root:/root:/bin/bash
1계정명은 'root'이다.
2패스워드는 'x'이다.
3홈 디렉터리는 '/root'이다.
4기본 shell 설정은 'bash'이다.
정답 및 해설

두 번째 필드의 x는 실제 패스워드가 아니라 패스워드가 /etc/shadow에 저장되어 있음을 나타내는 표시이므로, 패스워드가 'x'라는 설명이 틀렸다.

/etc/passwd 필드는 계정명:패스워드 표시:UID:GID:설명:홈 디렉터리:로그인 셸 순서이다.

  • 첫 번째 필드에 따라 계정명은 root이다.
  • 여섯 번째 필드에 따라 홈 디렉터리는 /root이다.
  • 일곱 번째 필드 /bin/bash에 따라 기본 셸은 bash이다.
문제 10
2021년에 발표된 OWASP Top 10의 항목 중, 서버가 적절한 검증 절차를 거치지 않은 요청을 처리하여, 접근통제를 우회하는 방식으로 서버의 내부 데이터가 탈취될 수 있는 취약점은?
1XXE
2SSRF
3Cryptographic Failures
4Insufficient Logging & Monitoring
정답 및 해설

서버가 검증 없이 요청을 처리해 접근통제를 우회하고 내부 데이터가 탈취되는 취약점은 SSRF(Server-Side Request Forgery)이다.

SSRF는 공격자가 조작한 URL로 서버가 대신 내부 요청을 보내게 만들어, 외부에서 직접 접근할 수 없는 내부 시스템·메타데이터에 접근하는 공격이다. OWASP Top 10 2021에서 A10으로 새로 추가되었다.

  • XXE: XML 외부 엔티티 처리를 악용하는 취약점으로, 2021판에서는 Security Misconfiguration에 통합되었다.
  • Cryptographic Failures: 암호화 미적용이나 취약한 암호 사용으로 민감 데이터가 노출되는 항목이다.
  • Insufficient Logging & Monitoring: 2017판 항목명으로, 로깅·모니터링 부족을 다룬다.
문제 11
HTTP 상태 코드에 대한 설명으로 옳지 않은 것은?
1301 : Moved Permanently
2304 : Not Modified
3401 : Unauthorized
4405 : Request Entity Too Large
정답 및 해설

405는 Method Not Allowed이므로 Request Entity Too Large라고 한 짝이 틀렸다.

405는 요청 메소드가 해당 자원에서 허용되지 않을 때의 응답이고, 요청 본문이 너무 큰 경우는 413(Request Entity Too Large, 현재 명칭은 Content Too Large)이다.

  • 301 Moved Permanently: 요청 자원이 영구적으로 다른 URL로 이동했음을 뜻한다.
  • 304 Not Modified: 캐시된 자원이 변경되지 않았음을 뜻한다.
  • 401 Unauthorized: 인증이 필요하거나 인증에 실패했음을 뜻한다.
문제 12
삽입된 악성 스크립트를 통해 사용자가 인지하지 못하는 상태에서 사용자의 권한으로 서버에 공격자가 의도한 요청을 하는 공격은?
1Slowloris
2CSRF
3Heartbleed
4DNS Cache Poisoning
정답 및 해설

사용자 모르게 사용자의 권한으로 공격자가 의도한 요청을 서버에 보내게 하는 공격은 CSRF이다.

피해자가 로그인한 상태에서 악성 스크립트가 담긴 페이지를 열면 브라우저가 세션 쿠키를 포함한 위조 요청을 보내고, 서버는 이를 정상 요청으로 처리한다.

  • Slowloris: HTTP 헤더를 아주 느리게 보내 연결을 오래 점유하는 서비스 거부 공격이다.
  • Heartbleed: OpenSSL Heartbeat 구현 결함으로 서버 메모리 내용을 유출하는 취약점이다.
  • DNS Cache Poisoning: DNS 캐시에 위조 응답을 심어 사용자를 가짜 주소로 유도하는 공격이다.
문제 13
TLS에 속한 프로토콜 중 세션을 활성 상태로 유지하는 목적으로 사용하는 것은?
1Alert Protocol
2Connection Protocol
3Heartbeat Protocol
4Application Data Protocol
정답 및 해설

세션을 활성 상태로 유지하는 목적의 TLS 프로토콜은 Heartbeat Protocol이다.

Heartbeat는 데이터가 오가지 않는 동안에도 상대가 살아 있는지 확인하는 keep-alive 메시지를 주고받으며, OpenSSL의 구현 결함이 Heartbleed 취약점으로 알려졌다.

  • Alert Protocol: 오류나 연결 종료 등 경고 상황을 상대에게 알린다.
  • Connection Protocol: TLS의 하위 프로토콜이 아니다. TLS는 Handshake·Change Cipher Spec·Alert·Heartbeat·Record 등으로 구성된다.
  • Application Data Protocol: 응용 계층 데이터를 실어 나르는 용도로, 세션 유지 목적이 아니다.
문제 14
프로세스에서 사용하는 메모리 영역의 위치를 랜덤하게 배치하는 기법은?
1X.509
2PAM
3ASLR
4ASBR
정답 및 해설

메모리 영역의 위치를 무작위로 배치하는 기법은 ASLR(Address Space Layout Randomization)이다.

스택·힙·라이브러리 주소를 실행할 때마다 바꿔, 버퍼 오버플로 공격에서 공격자가 점프할 주소를 예측하기 어렵게 만든다.

  • X.509: 공개키 인증서의 형식 표준이다.
  • PAM: 리눅스에서 인증 방식을 모듈로 교체·조합할 수 있게 하는 플러그형 인증 모듈이다.
  • ASBR: 메모리 주소 무작위화 기법의 명칭이 아니다.
문제 15
다음에서 설명하는 윈도 운영체제의 레지스트리 루트키는?

현재 시스템에 로그온하고 있는 사용자에 대한 구성 정보를 저장한다.

1HKEY_CLASSES_ROOT
2HKEY_CURRENT_USER
3HKEY_LOCAL_MACHINE
4HKEY_CURRENT_CONFIG
정답 및 해설

현재 로그온한 사용자의 구성 정보를 저장하는 루트키는 HKEY_CURRENT_USER이다.

HKCU는 바탕화면·제어판 설정 등 로그온 사용자별 정보를 담으며, 실제로는 HKEY_USERS 아래 해당 사용자 SID 키에 연결된 것이다.

  • HKEY_CLASSES_ROOT: 파일 확장자 연결과 COM 객체 등록 정보를 저장한다.
  • HKEY_LOCAL_MACHINE: 하드웨어·소프트웨어 등 시스템 전체에 적용되는 설정을 저장한다.
  • HKEY_CURRENT_CONFIG: 현재 사용 중인 하드웨어 프로필 정보를 저장한다.
문제 16
PGP에 대한 설명으로 옳지 않은 것은?
1IETF에 의해 개발되었다.
2전자 서명을 통해 인증을 제공한다.
3ZIP 알고리즘으로 압축을 제공한다.
4대칭 키 암호를 통해 기밀성을 제공한다.
정답 및 해설

PGP는 IETF가 아니라 필 짐머만(Phil Zimmermann)이 개발했으므로 설명이 틀렸다.

IETF는 이후 PGP를 바탕으로 OpenPGP 표준을 정했을 뿐이다. 반면 PEM은 IETF가 개발한 메일 보안 표준이다.

  • PGP는 메시지 해시를 송신자 개인키로 서명하는 전자 서명으로 인증을 제공한다.
  • PGP는 서명 후 ZIP 알고리즘으로 메시지를 압축한다.
  • PGP는 일회용 세션키로 대칭 키 암호화해 기밀성을 제공하고, 세션키는 수신자 공개키로 암호화한다.
문제 17
nmap 명령어의 옵션에 대한 설명으로 옳지 않은 것은?
1-O 옵션은 운영체제를 확인한다.
2-R 옵션은 RPC 스캔을 실시한다.
3-n 옵션은 DNS Lookup을 하지 않는다.
4-v 옵션은 스캔 결과를 상세하게 출력한다.
정답 및 해설

nmap의 -R 옵션은 RPC 스캔이 아니라 모든 대상에 대해 역방향 DNS 조회를 수행하는 옵션이다.

RPC 스캔은 -sR 옵션으로 수행했으며(현재는 -sV 버전 탐지에 통합), -R은 -n과 반대로 이름 해석을 항상 하도록 지정한다.

  • -O 옵션은 TCP/IP 스택 지문으로 운영체제를 확인한다.
  • -n 옵션은 DNS 이름 해석(Lookup)을 하지 않는다.
  • -v 옵션은 스캔 진행 상황과 결과를 상세하게 출력한다.
문제 18
(가), (나)에 들어갈 내용을 바르게 연결한 것은?

TCP 포트 번호 (가) 을 사용하는 (나) 을/를 통해, 사용자는 전자우편 서버에 메일 박스 생성, 삭제 및 이름 변경이 가능하다.

(가)(나)
①110SMTP
②143SMTP
③110IMAP
④143IMAP
1①
2②
3③
4④
정답 및 해설

(가)는 143, (나)는 IMAP이다.

IMAP은 메일을 서버에 둔 채 관리하는 프로토콜로, 서버의 메일 박스를 생성(CREATE)·삭제(DELETE)·이름 변경(RENAME)할 수 있으며 TCP 포트 143을 사용한다.

  • 포트 110은 POP3가 사용하는 포트로, POP3는 메일을 내려받는 기능 위주라 서버 메일 박스 관리 기능이 없다.
  • SMTP는 메일 송신·중계 프로토콜(포트 25)로, 메일 박스를 관리하지 않는다.
문제 19
빈칸에 들어갈 내용은?

프로그램을 실행시키기 위한 가상의 메모리 공간이 할당되면, 할당된 메모리 공간은 여러 영역으로 나뉘어 관리된다. 그중 (   )은 프로세스 로직이 실행되는 데 필요한 파라미터, 지역변수, 반환 주소 등이 저장된다.

1텍스트 영역
2힙 영역
3스택 영역
4데이터 영역
정답 및 해설

빈칸에 들어갈 영역은 스택 영역이다.

함수가 호출될 때마다 스택에 파라미터, 반환 주소, 이전 프레임 포인터, 지역변수로 이루어진 스택 프레임이 쌓이고, 함수가 끝나면 해제된다. 반환 주소가 있기 때문에 스택 버퍼 오버플로의 공격 대상이 된다.

  • 텍스트 영역: 실행할 기계어 코드가 저장되는 영역이다.
  • 힙 영역: 실행 중 동적으로 할당되는 메모리 영역이다.
  • 데이터 영역: 전역·정적 변수가 저장되는 영역이다.
문제 20
다음 명령을 수행한 후 '/directory'에 부여된 권한은?
chmod 1111 /directory
1Read
2SetGID
3SetUID
4Sticky Bit
정답 및 해설

chmod 1111을 수행하면 /directory에는 Sticky Bit가 부여된다.

네 자리 8진수의 맨 앞자리는 특수 권한으로 SetUID=4, SetGID=2, Sticky Bit=1이다.
1111 → 특수 권한 1(Sticky Bit) + 일반 권한 111(--x--x--x)
결과 표시: d--x--x--t

  • Read: 일반 권한 111은 소유자·그룹·기타 모두 실행(x)만 있고 읽기(r)는 없다.
  • SetGID: 맨 앞자리가 2(또는 2를 포함한 값)일 때 부여된다.
  • SetUID: 맨 앞자리가 4(또는 4를 포함한 값)일 때 부여된다.