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

24년 1회차

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

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

24년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
유닉스 파일 시스템의 i-node 정보에 해당하지 않는 것은?
1소유그룹
2파일 타입
3파일명
4접근권한
정답 및 해설

파일명은 i-node가 아니라 디렉터리 엔트리에 저장되므로 i-node 정보에 해당하지 않는다.

디렉터리 엔트리는 파일명과 i-node 번호의 쌍이고, i-node에는 파일 타입, 접근권한, 소유자·소유그룹, 크기, 시간 정보, 링크 수, 데이터 블록 주소 등이 저장된다. 하드 링크로 한 i-node에 여러 이름을 붙일 수 있는 것도 이 구조 때문이다.

  • 소유그룹: i-node에 GID로 저장된다.
  • 파일 타입: 일반 파일·디렉터리·링크 등의 구분이 i-node 모드 필드에 저장된다.
  • 접근권한: 소유자·그룹·기타 권한 비트가 i-node 모드 필드에 저장된다.
문제 2
PGP의 인증에 대한 설명으로 옳지 않은 것은?
1송신자는 일방향 해시함수를 사용하여 송신 메시지의 해시 코드를 생성한다.
2송신자가 생성한 해시 코드는 송신자의 개인키를 사용하여 암호화되며, 그 결괏값이 메시지에 포함된다.
3수신자는 수신한 메시지를 송신자의 공개키로 복호화하고 해시 코드를 알아낸다.
4디지털 서명을 생성하는 데 DSS를 사용하는 것은 허용하지 않는다.
정답 및 해설

PGP는 디지털 서명 생성에 DSS를 허용하므로, DSS 사용을 허용하지 않는다는 설명이 틀렸다.

PGP 인증은 메시지의 해시 코드를 만들고 이를 송신자 개인키로 암호화해 서명으로 붙이며, 서명 알고리즘으로 RSA나 DSS를 사용할 수 있다.

  • 송신자는 일방향 해시함수로 메시지의 해시 코드를 생성한다.
  • 해시 코드를 송신자 개인키로 암호화한 결과가 메시지에 포함된다.
  • 수신자는 송신자 공개키로 서명을 복호화해 해시 코드를 얻고, 직접 계산한 해시와 비교한다.
문제 3
사용자 및 그룹 계정 정보에 대한 데이터베이스를 관리하는 윈도 인증 구성 요소는?
1LSA
2SAM
3SRM
4SID
정답 및 해설

사용자·그룹 계정 정보 데이터베이스를 관리하는 구성 요소는 SAM(Security Account Manager)이다.

SAM은 계정 정보와 패스워드 해시를 보관하고 로그인 시 입력 정보와 대조한다. 이후 SRM이 SID를 부여하고 접근 허용 여부를 결정한다.

  • LSA: 로그인 검증을 총괄하고 보안 정책을 관리하는 로컬 보안 기관이다.
  • SRM: SID 부여, 객체 접근 허용 결정, 감사 메시지 생성을 담당한다.
  • SID: 사용자·그룹을 식별하는 보안 식별자 값으로, 인증 구성 요소가 아니다.
문제 4
다음에서 설명하는 웹 취약점은?

웹 애플리케이션을 구동하는 웹 서버의 보안 설정이 취약하여 발생하는 보안 설정 오류 취약점이다. 정상적인 URL 경로 중 확인 대상 디렉터리까지만 직접 접근하여 이 취약점을 점검할 수 있다.

1SQL Injection
2디렉터리 인덱싱
3운영체제 명령어 실행
4XSS(Cross Site Scripting)
정답 및 해설

설명된 취약점은 디렉터리 인덱싱이다.

웹 서버의 디렉터리 리스팅 설정이 켜져 있으면, URL을 파일명 없이 디렉터리까지만 요청했을 때 그 안의 파일 목록이 노출된다. 웹 서버 설정 문제이므로 보안 설정 오류에 속하며, Apache에서는 Options의 Indexes를 제거해 막는다.

  • SQL Injection: 입력값으로 DB 쿼리를 조작하는 취약점으로, 서버 설정 문제가 아니다.
  • 운영체제 명령어 실행: 입력값으로 서버의 OS 명령을 실행시키는 취약점이다.
  • XSS: 사용자 브라우저에서 악성 스크립트를 실행시키는 취약점이다.
문제 5
다음 리눅스 시스템 사용자 패스워드 저장 과정의 (가)~(다)에 들어갈 내용을 바르게 연결한 것은?
1①
2②
3③
4④
정답 및 해설

(가)는 Salt, (나)는 SHA256, (다)는 /etc/shadow이다.

리눅스는 사용자 패스워드에 무작위 Salt를 덧붙인 뒤 일방향 해시 함수(SHA-256·SHA-512 등)로 변환해, 그 결과를 root만 읽을 수 있는 /etc/shadow에 저장한다. Salt 덕분에 같은 패스워드라도 저장값이 달라진다.

  • RSA·ARIA는 복호화가 가능한 암호 알고리즘으로, 패스워드 저장에 쓰는 일방향 해시가 아니다.
  • 패스워드에 더하는 값은 암호키가 아니라 Salt이다.
  • /etc/passwd는 누구나 읽을 수 있어 현재는 패스워드 해시를 저장하지 않는다.
문제 6
x86 32bit 계열 CPU의 레지스터에 대한 설명으로 옳지 않은 것은?
1EDI는 목적지 주소 값을 저장한다.
2ECX는 반복적으로 실행되는 특정 명령에 사용된다.
3CS는 프로그램에서 정의된 데이터, 상수, 작업 영역의 메모리 주소를 저장한다.
4EFLAGS는 연산 결과 및 시스템의 상태와 관련된 여러 가지 플래그 값을 저장한다.
정답 및 해설

CS는 코드 세그먼트의 시작 주소를 저장하므로, 데이터·상수·작업 영역 주소를 저장한다는 설명이 틀렸다.

프로그램에 정의된 데이터·상수·작업 영역의 주소를 가리키는 것은 DS(데이터 세그먼트) 레지스터이다.

  • EDI는 문자열 복사 등에서 목적지 주소를 저장한다.
  • ECX는 반복 명령의 횟수를 세는 카운터로 쓰인다.
  • EFLAGS는 연산 결과와 시스템 상태를 나타내는 플래그를 저장한다.
문제 7
다음에서 설명하는 공격에 대한 대응 방법으로 옳지 않은 것은?
  • 웹 서버를 기반으로 서버에 파일이 업로드되고 서버 측에서 실행되는 이러한 파일을 웹 셸(web shell)이라고 한다.
  • 공격자는 웹 서버에 업로드된 웹 셸 파일을 원격지에서 실행하여 웹 서버를 공격할 수 있다.
1업로드 파일에 대한 실행 금지
2업로드 파일에 대한 위치 격리
3업로드 가능한 파일 형식 제한
4업로드 파일명에 대한 필터링 설정
정답 및 해설

웹 셸 업로드 공격의 대응 방법으로 옳지 않은 것은 업로드 파일명에 대한 필터링 설정이다.

웹 셸 대응의 핵심은 업로드된 파일이 서버에서 실행되지 못하게 하는 것이다. 파일명 필터링만으로는 대소문자 변형·이중 확장자 등으로 쉽게 우회되어 근본 대책이 되지 못한다.

  • 업로드 파일에 대한 실행 금지: 업로드 디렉터리의 스크립트 실행 권한을 제거해 웹 셸이 동작하지 못하게 한다.
  • 업로드 파일에 대한 위치 격리: 업로드 파일을 웹 루트 밖이나 별도 서버에 저장해 URL로 직접 실행할 수 없게 한다.
  • 업로드 가능한 파일 형식 제한: 허용된 형식(화이트리스트)만 받아 스크립트 파일 업로드를 막는다.
문제 8
참조 모니터(Reference Monitor)에 대한 설명으로 옳지 않은 것은?
1모든 주체 간 상호 접근통제를 담당하는 추상적인 기계이다.
2참조 모니터 데이터베이스를 참조하여 접근통제를 수행한다.
3모든 접근 시도에 대해 시행되어야 하고 회피하는 것이 불가능해야 한다.
4보안 매개변수 설정 등과 같은 다른 보안 메커니즘과 데이터를 교환하면서 상호 작용을 한다.
정답 및 해설

참조 모니터는 주체와 주체 사이가 아니라 주체와 객체 사이의 접근을 통제하므로 설명이 틀렸다.

참조 모니터는 주체가 객체에 접근할 때마다 참조 모니터 데이터베이스(보안 정책)를 확인해 허용 여부를 결정하는 추상 기계이며, 이를 구현한 것이 보안 커널이다.

  • 참조 모니터 데이터베이스를 참조해 접근통제를 수행한다.
  • 모든 접근에 대해 시행되어야 하고 우회할 수 없어야 한다(완전성·격리성).
  • 보안 매개변수 설정 등 다른 보안 메커니즘과 데이터를 주고받으며 상호 작용한다.
문제 9
(가)에 들어갈 리눅스 메일 시스템의 구성 요소는?
  • 메일 클라이언트에서 (가) 로 메일을 보낼 때와 (가) 에서 (가) 로 메일이 중계될 때 SMTP 프로토콜을 사용한다.
  • 불특정 다수의 메일 전송 및 중계를 허용하면 공격자는 스팸 메일을 보내는 도구로 (가) 를 악용할 수 있다.
1MTA(Message Transfer Agent)
2MDA(Mail Delivery Agent)
3MUA(Mail User Agent)
4MRA(Mail Relay Agent)
정답 및 해설

(가)는 메일 전송·중계를 담당하는 MTA(Message Transfer Agent)이다.

MUA에서 MTA로 메일을 보낼 때와 MTA 간에 메일을 중계할 때 SMTP를 사용한다. 중계를 아무에게나 허용하는 오픈 릴레이 상태의 MTA는 스팸 발송에 악용된다. sendmail, postfix가 대표적인 MTA이다.

  • MDA: MTA가 받은 메일을 사용자 메일함에 전달(저장)하는 요소이다.
  • MUA: 사용자가 메일을 작성·읽는 클라이언트 프로그램이다.
문제 10
보안 취약점으로 인해 실제 발생한 취약점의 등급을 매기는 공개 프레임워크는?
1CVE
2CVSS
3CWE
4NVD
정답 및 해설

취약점의 심각도 등급을 매기는 공개 프레임워크는 CVSS(Common Vulnerability Scoring System)이다.

CVSS는 공격 벡터·복잡도·영향도 등을 평가해 0.0~10.0의 점수와 None·Low·Medium·High·Critical 같은 심각도 등급을 산출한다.

  • CVE: 공개된 개별 취약점에 붙이는 고유 식별자이다.
  • CWE: 취약점을 일으키는 소프트웨어 약점의 유형 분류 체계이다.
  • NVD: 미국 NIST가 운영하는 취약점 데이터베이스로, CVE에 CVSS 점수 등을 덧붙여 제공한다.
문제 11
(가), (나)에 들어갈 용어를 바르게 연결한 것은?
  • (가) 는 컴파일러가 프로그램의 함수를 호출할 때 ret 앞에 canary 값을 주입하고, 종료할 때 canary 값을 변조했는지 확인하여 공격을 탐지한다.
  • (나) 공격은 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점 중 데이터 형태에 대한 불명확한 정의로 인한 것이다.
(가)(나)
①스택 실드버퍼 오버플로
②스택 실드포맷 스트링
③스택 가드버퍼 오버플로
④스택 가드포맷 스트링
1①
2②
3③
4④
정답 및 해설

(가)는 스택 가드, (나)는 포맷 스트링이다.

스택 가드는 반환 주소 앞에 canary 값을 넣고 함수 종료 시 값이 바뀌었는지 확인해 스택 오버플로를 탐지한다. 포맷 스트링 공격은 printf 등에 서식 지정자를 그대로 넘기는 것처럼 데이터 형태를 불명확하게 처리해 생긴다.

  • 스택 실드는 canary가 아니라 반환 주소를 별도 안전 영역에 복사해 두었다가 함수 종료 시 비교하는 방식이다.
  • 버퍼 오버플로는 데이터 형태가 아니라 데이터 길이에 대한 불명확한 정의(경계 검사 부재)로 생긴다.
문제 12
다음에서 설명하는 인증 방법은?

사용자가 많이 가입한 웹 사이트(네이버, 구글, 페이스북 등)의 사용자 가입 정보를 이용해서 다른 웹 사이트에 별도의 가입 과정 없이 단순하게 사용자 신원을 검증하는 토큰을 제공하여 제삼자 인증 서비스를 이용할 수 있게 해 준다.

1Kerberos
2OAuth
3SSO
4DIAMETER
정답 및 해설

설명된 인증 방법은 OAuth이다.

OAuth는 사용자가 비밀번호를 제3자 서비스에 넘기지 않고, 네이버·구글 등 기존 계정의 인증 서버가 발급한 접근 토큰으로 다른 서비스를 이용하도록 권한을 위임하는 개방형 표준이다.

  • Kerberos: 티켓 기반 대칭키 인증 프로토콜로, 주로 조직 내부 네트워크에서 사용한다.
  • SSO: 한 번 인증으로 같은 조직의 여러 시스템을 이용하는 개념으로, 외부 사이트 가입 정보로 토큰을 제공하는 방식을 특정하지 않는다.
  • DIAMETER: RADIUS를 개선한 네트워크 접근용 AAA 프로토콜이다.
문제 13
클라우드 서비스 및 보안에 대한 설명으로 옳지 않은 것은?
1클라우드 환경에서의 서비스 모델은 IaaS, PaaS, SaaS로 구분할 수 있다.
2한국인터넷진흥원(KISA)에서는 클라우드 서비스의 보안성 강화를 위해 '클라우드 서비스 보안인증'을 시행하고 있다.
3대부분의 취약점은 전통적인 IT 환경의 보안 취약점과 유사하여 기존의 보안시스템을 최대한 활용하여 방어하는 것만으로도 충분하다.
4CSA(Cloud Security Alliance)에서는 심각한 클라우드 보안 위협에 대해 공유하고 있다.
정답 및 해설

클라우드 취약점이 전통적 IT 환경과 유사해 기존 보안시스템만으로 충분하다는 설명이 틀렸다.

클라우드는 가상화·멀티테넌시·API 기반 관리·책임 공유 모델 등 고유한 위협 요소가 있어, 기존 보안 체계에 더해 클라우드 특화 보안 대책이 필요하다.

  • 클라우드 서비스 모델은 IaaS, PaaS, SaaS로 구분한다.
  • KISA는 클라우드 서비스 보안인증(CSAP)을 시행하고 있다.
  • CSA는 심각한 클라우드 보안 위협을 정리해 공유하고 있다.
문제 14
신뢰 플랫폼 모듈(Trusted Platform Module)의 구성 요소로 옳지 않은 것은?
1난수 발생기
2암복호화 엔진
3RSA 키 발생기
4MD5 해시값 생성기
정답 및 해설

MD5 해시값 생성기는 TPM의 구성 요소가 아니다.

TPM은 난수 발생기, RSA 키 발생기, 암복호화(서명) 엔진, SHA 계열 해시 엔진, HMAC 엔진, 비휘발성·휘발성 메모리 등으로 구성되며, MD5는 해시 엔진으로 쓰이지 않는다.

  • 난수 발생기: 키 생성과 nonce 생성에 쓰이는 TPM 구성 요소이다.
  • 암복호화 엔진: 데이터 암호화·복호화와 서명을 수행하는 구성 요소이다.
  • RSA 키 발생기: RSA 키 쌍을 생성하는 구성 요소이다.
문제 15
syslogd 데몬에서 사용하는 다음 메시지 중 우선순위가 가장 높은 것은?
1alert
2crit
3err
4debug
정답 및 해설

제시된 메시지 가운데 우선순위가 가장 높은 것은 alert이다.

syslog 우선순위는 높은 것부터 emerg → alert → crit → err → warning → notice → info → debug 순이다.

  • crit: 치명적 오류로, alert보다 한 단계 낮다.
  • err: 일반 오류로, crit보다 낮다.
  • debug: 디버깅 정보로, 가장 낮은 우선순위이다.
문제 16
웹 취약점에 대한 설명으로 옳지 않은 것은?
1입력 값에 대한 특수문자 검증을 통해 XSS 공격에 대응할 수 있다.
2리버스 텔넷은 방화벽의 아웃바운드 정책에서 별다른 필터링을 수행하지 않는 허점을 이용한다.
3취약점이 있는 컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈이 악용되는 경우 데이터에 손실을 발생시킬 수 있다.
4CSRF는 사용자의 브라우저로 전달되는 데이터에 악성코드가 포함되어 브라우저에서 실행되면서 공격하는 기법이다.
정답 및 해설

사용자 브라우저로 전달된 데이터 속 악성코드가 브라우저에서 실행되는 것은 CSRF가 아니라 XSS에 대한 설명이다.

CSRF는 로그인한 사용자의 권한으로 공격자가 의도한 요청을 위조해 서버에 보내게 만드는 공격으로, 핵심은 스크립트 실행이 아니라 요청 위조이다.

  • 입력 값의 특수문자를 검증·치환하면 XSS 공격에 대응할 수 있다.
  • 리버스 텔넷은 방화벽이 아웃바운드 트래픽을 별로 필터링하지 않는 허점을 이용한다.
  • 취약한 컴포넌트·라이브러리·프레임워크가 악용되면 데이터 손실 등이 발생할 수 있다.
문제 17
리눅스 bash shell의 환경 변수에 대한 설명으로 옳은 것은?
1TERM은 접속 호스트 이름을 나타낸다.
2SHELL은 서브 셸을 사용할 때 서브 셸을 의미한다.
3PATH는 명령을 탐색할 경로를 의미한다.
4PWD는 현재 사용 중인 패스워드의 위치를 나타낸다.
정답 및 해설

PATH는 명령을 실행할 때 탐색할 디렉터리 경로 목록을 담는 환경 변수이다.

명령어를 경로 없이 입력하면 셸은 PATH에 콜론으로 나열된 디렉터리를 앞에서부터 차례로 찾아 실행하므로, PATH에 현재 디렉터리(.)를 앞에 두면 악성 명령 실행 위험이 생긴다.

  • TERM은 접속 호스트 이름이 아니라 사용 중인 터미널 종류를 나타낸다.
  • SHELL은 서브 셸이 아니라 로그인 셸의 경로를 나타낸다.
  • PWD는 패스워드가 아니라 현재 작업 디렉터리를 나타낸다.
문제 18
다음에서 설명하는 공격을 수행할 수 있는 도구로 옳지 않은 것은?

관리자 인증 등 정상적인 절차를 거치지 않고 시스템에 접근하기 위해 제작된 프로그램으로, 원격지에서 공격자가 몰래 정보를 수집하거나 시스템의 특정 명령을 수행하고 재구성할 수 있도록 통제한다.

1Netbus
2Schoolbus
3Nessus
4Back Orifice
정답 및 해설

설명된 공격은 백도어이며, Nessus는 백도어 도구가 아니라 취약점 점검 도구이다.

Nessus는 원격 시스템의 알려진 취약점을 스캔해 보고하는 도구로, 몰래 접근해 원격 제어하는 기능과는 목적이 다르다.

  • Netbus: 원격 제어 기능을 제공하는 대표적인 백도어 프로그램이다.
  • Schoolbus: Netbus 계열의 원격 제어 백도어 프로그램이다.
  • Back Orifice: 윈도 시스템을 원격 제어하는 백도어 프로그램이다.
문제 19
윈도 운영체제의 감사 정책에 대한 설명으로 옳지 않은 것은?
1권한 사용은 관리자 권한이 필요한 작업을 수행할 때 감사한다.
2계정 로그온 이벤트는 로컬 계정에 접근할 때 생성되는 이벤트를 감사한다.
3개체 액세스는 파일, 디렉터리, 레지스트리 키, 프린터와 같은 개체에 접근 시도나 속성 변경 등을 감사한다.
4계정 관리는 신규 사용자 및 그룹 추가, 기존 사용자 그룹 변경, 사용자 활성화 및 비활성화, 계정 패스워드 변경 등을 감사한다.
정답 및 해설

로컬 계정에 접근할 때 생성되는 이벤트는 로그온 이벤트 감사 대상이므로, 이를 계정 로그온 이벤트라고 한 설명이 틀렸다.

계정 로그온 이벤트는 도메인 컨트롤러 등에서 도메인 계정의 자격 증명을 검증할 때 생성되는 이벤트를 감사한다.

  • 권한 사용은 관리자 권한이 필요한 작업 수행을 감사한다.
  • 개체 액세스는 파일·디렉터리·레지스트리 키·프린터 등 개체에 대한 접근 시도와 속성 변경을 감사한다.
  • 계정 관리는 사용자·그룹 생성·변경, 계정 활성화·비활성화, 패스워드 변경 등을 감사한다.
문제 20
안티 리버싱 기법으로 프로그램의 실행 코드나 데이터를 압축 및 암호화하여 저장하는 기술은?
1패킹
2디컴파일
3시큐어 코딩
4안티 디버깅
정답 및 해설

실행 코드나 데이터를 압축·암호화해 저장하는 안티 리버싱 기법은 패킹이다.

패킹된 실행 파일은 실행 시 메모리에서 원래 코드로 복원되므로, 정적 분석으로는 원본 코드를 보기 어렵다. UPX, Themida 등이 대표적인 패커이다.

  • 디컴파일: 실행 파일을 고급 언어 코드로 되돌리는 리버싱 기법으로, 안티 리버싱과 반대 방향이다.
  • 시큐어 코딩: 개발 단계에서 보안 약점을 제거하는 코딩 기법이다.
  • 안티 디버깅: 디버거 사용을 탐지·방해하는 기법으로, 코드를 압축·암호화하는 것과는 다르다.
9급 국가직 정보시스템보안 기출문제모두CBT · moducbt.com
24년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
유닉스 파일 시스템의 i-node 정보에 해당하지 않는 것은?
1소유그룹
2파일 타입
3파일명
4접근권한
정답 및 해설

파일명은 i-node가 아니라 디렉터리 엔트리에 저장되므로 i-node 정보에 해당하지 않는다.

디렉터리 엔트리는 파일명과 i-node 번호의 쌍이고, i-node에는 파일 타입, 접근권한, 소유자·소유그룹, 크기, 시간 정보, 링크 수, 데이터 블록 주소 등이 저장된다. 하드 링크로 한 i-node에 여러 이름을 붙일 수 있는 것도 이 구조 때문이다.

  • 소유그룹: i-node에 GID로 저장된다.
  • 파일 타입: 일반 파일·디렉터리·링크 등의 구분이 i-node 모드 필드에 저장된다.
  • 접근권한: 소유자·그룹·기타 권한 비트가 i-node 모드 필드에 저장된다.
문제 2
PGP의 인증에 대한 설명으로 옳지 않은 것은?
1송신자는 일방향 해시함수를 사용하여 송신 메시지의 해시 코드를 생성한다.
2송신자가 생성한 해시 코드는 송신자의 개인키를 사용하여 암호화되며, 그 결괏값이 메시지에 포함된다.
3수신자는 수신한 메시지를 송신자의 공개키로 복호화하고 해시 코드를 알아낸다.
4디지털 서명을 생성하는 데 DSS를 사용하는 것은 허용하지 않는다.
정답 및 해설

PGP는 디지털 서명 생성에 DSS를 허용하므로, DSS 사용을 허용하지 않는다는 설명이 틀렸다.

PGP 인증은 메시지의 해시 코드를 만들고 이를 송신자 개인키로 암호화해 서명으로 붙이며, 서명 알고리즘으로 RSA나 DSS를 사용할 수 있다.

  • 송신자는 일방향 해시함수로 메시지의 해시 코드를 생성한다.
  • 해시 코드를 송신자 개인키로 암호화한 결과가 메시지에 포함된다.
  • 수신자는 송신자 공개키로 서명을 복호화해 해시 코드를 얻고, 직접 계산한 해시와 비교한다.
문제 3
사용자 및 그룹 계정 정보에 대한 데이터베이스를 관리하는 윈도 인증 구성 요소는?
1LSA
2SAM
3SRM
4SID
정답 및 해설

사용자·그룹 계정 정보 데이터베이스를 관리하는 구성 요소는 SAM(Security Account Manager)이다.

SAM은 계정 정보와 패스워드 해시를 보관하고 로그인 시 입력 정보와 대조한다. 이후 SRM이 SID를 부여하고 접근 허용 여부를 결정한다.

  • LSA: 로그인 검증을 총괄하고 보안 정책을 관리하는 로컬 보안 기관이다.
  • SRM: SID 부여, 객체 접근 허용 결정, 감사 메시지 생성을 담당한다.
  • SID: 사용자·그룹을 식별하는 보안 식별자 값으로, 인증 구성 요소가 아니다.
문제 4
다음에서 설명하는 웹 취약점은?

웹 애플리케이션을 구동하는 웹 서버의 보안 설정이 취약하여 발생하는 보안 설정 오류 취약점이다. 정상적인 URL 경로 중 확인 대상 디렉터리까지만 직접 접근하여 이 취약점을 점검할 수 있다.

1SQL Injection
2디렉터리 인덱싱
3운영체제 명령어 실행
4XSS(Cross Site Scripting)
정답 및 해설

설명된 취약점은 디렉터리 인덱싱이다.

웹 서버의 디렉터리 리스팅 설정이 켜져 있으면, URL을 파일명 없이 디렉터리까지만 요청했을 때 그 안의 파일 목록이 노출된다. 웹 서버 설정 문제이므로 보안 설정 오류에 속하며, Apache에서는 Options의 Indexes를 제거해 막는다.

  • SQL Injection: 입력값으로 DB 쿼리를 조작하는 취약점으로, 서버 설정 문제가 아니다.
  • 운영체제 명령어 실행: 입력값으로 서버의 OS 명령을 실행시키는 취약점이다.
  • XSS: 사용자 브라우저에서 악성 스크립트를 실행시키는 취약점이다.
문제 5
다음 리눅스 시스템 사용자 패스워드 저장 과정의 (가)~(다)에 들어갈 내용을 바르게 연결한 것은?
1①
2②
3③
4④
정답 및 해설

(가)는 Salt, (나)는 SHA256, (다)는 /etc/shadow이다.

리눅스는 사용자 패스워드에 무작위 Salt를 덧붙인 뒤 일방향 해시 함수(SHA-256·SHA-512 등)로 변환해, 그 결과를 root만 읽을 수 있는 /etc/shadow에 저장한다. Salt 덕분에 같은 패스워드라도 저장값이 달라진다.

  • RSA·ARIA는 복호화가 가능한 암호 알고리즘으로, 패스워드 저장에 쓰는 일방향 해시가 아니다.
  • 패스워드에 더하는 값은 암호키가 아니라 Salt이다.
  • /etc/passwd는 누구나 읽을 수 있어 현재는 패스워드 해시를 저장하지 않는다.
문제 6
x86 32bit 계열 CPU의 레지스터에 대한 설명으로 옳지 않은 것은?
1EDI는 목적지 주소 값을 저장한다.
2ECX는 반복적으로 실행되는 특정 명령에 사용된다.
3CS는 프로그램에서 정의된 데이터, 상수, 작업 영역의 메모리 주소를 저장한다.
4EFLAGS는 연산 결과 및 시스템의 상태와 관련된 여러 가지 플래그 값을 저장한다.
정답 및 해설

CS는 코드 세그먼트의 시작 주소를 저장하므로, 데이터·상수·작업 영역 주소를 저장한다는 설명이 틀렸다.

프로그램에 정의된 데이터·상수·작업 영역의 주소를 가리키는 것은 DS(데이터 세그먼트) 레지스터이다.

  • EDI는 문자열 복사 등에서 목적지 주소를 저장한다.
  • ECX는 반복 명령의 횟수를 세는 카운터로 쓰인다.
  • EFLAGS는 연산 결과와 시스템 상태를 나타내는 플래그를 저장한다.
문제 7
다음에서 설명하는 공격에 대한 대응 방법으로 옳지 않은 것은?
  • 웹 서버를 기반으로 서버에 파일이 업로드되고 서버 측에서 실행되는 이러한 파일을 웹 셸(web shell)이라고 한다.
  • 공격자는 웹 서버에 업로드된 웹 셸 파일을 원격지에서 실행하여 웹 서버를 공격할 수 있다.
1업로드 파일에 대한 실행 금지
2업로드 파일에 대한 위치 격리
3업로드 가능한 파일 형식 제한
4업로드 파일명에 대한 필터링 설정
정답 및 해설

웹 셸 업로드 공격의 대응 방법으로 옳지 않은 것은 업로드 파일명에 대한 필터링 설정이다.

웹 셸 대응의 핵심은 업로드된 파일이 서버에서 실행되지 못하게 하는 것이다. 파일명 필터링만으로는 대소문자 변형·이중 확장자 등으로 쉽게 우회되어 근본 대책이 되지 못한다.

  • 업로드 파일에 대한 실행 금지: 업로드 디렉터리의 스크립트 실행 권한을 제거해 웹 셸이 동작하지 못하게 한다.
  • 업로드 파일에 대한 위치 격리: 업로드 파일을 웹 루트 밖이나 별도 서버에 저장해 URL로 직접 실행할 수 없게 한다.
  • 업로드 가능한 파일 형식 제한: 허용된 형식(화이트리스트)만 받아 스크립트 파일 업로드를 막는다.
문제 8
참조 모니터(Reference Monitor)에 대한 설명으로 옳지 않은 것은?
1모든 주체 간 상호 접근통제를 담당하는 추상적인 기계이다.
2참조 모니터 데이터베이스를 참조하여 접근통제를 수행한다.
3모든 접근 시도에 대해 시행되어야 하고 회피하는 것이 불가능해야 한다.
4보안 매개변수 설정 등과 같은 다른 보안 메커니즘과 데이터를 교환하면서 상호 작용을 한다.
정답 및 해설

참조 모니터는 주체와 주체 사이가 아니라 주체와 객체 사이의 접근을 통제하므로 설명이 틀렸다.

참조 모니터는 주체가 객체에 접근할 때마다 참조 모니터 데이터베이스(보안 정책)를 확인해 허용 여부를 결정하는 추상 기계이며, 이를 구현한 것이 보안 커널이다.

  • 참조 모니터 데이터베이스를 참조해 접근통제를 수행한다.
  • 모든 접근에 대해 시행되어야 하고 우회할 수 없어야 한다(완전성·격리성).
  • 보안 매개변수 설정 등 다른 보안 메커니즘과 데이터를 주고받으며 상호 작용한다.
문제 9
(가)에 들어갈 리눅스 메일 시스템의 구성 요소는?
  • 메일 클라이언트에서 (가) 로 메일을 보낼 때와 (가) 에서 (가) 로 메일이 중계될 때 SMTP 프로토콜을 사용한다.
  • 불특정 다수의 메일 전송 및 중계를 허용하면 공격자는 스팸 메일을 보내는 도구로 (가) 를 악용할 수 있다.
1MTA(Message Transfer Agent)
2MDA(Mail Delivery Agent)
3MUA(Mail User Agent)
4MRA(Mail Relay Agent)
정답 및 해설

(가)는 메일 전송·중계를 담당하는 MTA(Message Transfer Agent)이다.

MUA에서 MTA로 메일을 보낼 때와 MTA 간에 메일을 중계할 때 SMTP를 사용한다. 중계를 아무에게나 허용하는 오픈 릴레이 상태의 MTA는 스팸 발송에 악용된다. sendmail, postfix가 대표적인 MTA이다.

  • MDA: MTA가 받은 메일을 사용자 메일함에 전달(저장)하는 요소이다.
  • MUA: 사용자가 메일을 작성·읽는 클라이언트 프로그램이다.
문제 10
보안 취약점으로 인해 실제 발생한 취약점의 등급을 매기는 공개 프레임워크는?
1CVE
2CVSS
3CWE
4NVD
정답 및 해설

취약점의 심각도 등급을 매기는 공개 프레임워크는 CVSS(Common Vulnerability Scoring System)이다.

CVSS는 공격 벡터·복잡도·영향도 등을 평가해 0.0~10.0의 점수와 None·Low·Medium·High·Critical 같은 심각도 등급을 산출한다.

  • CVE: 공개된 개별 취약점에 붙이는 고유 식별자이다.
  • CWE: 취약점을 일으키는 소프트웨어 약점의 유형 분류 체계이다.
  • NVD: 미국 NIST가 운영하는 취약점 데이터베이스로, CVE에 CVSS 점수 등을 덧붙여 제공한다.
문제 11
(가), (나)에 들어갈 용어를 바르게 연결한 것은?
  • (가) 는 컴파일러가 프로그램의 함수를 호출할 때 ret 앞에 canary 값을 주입하고, 종료할 때 canary 값을 변조했는지 확인하여 공격을 탐지한다.
  • (나) 공격은 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점 중 데이터 형태에 대한 불명확한 정의로 인한 것이다.
(가)(나)
①스택 실드버퍼 오버플로
②스택 실드포맷 스트링
③스택 가드버퍼 오버플로
④스택 가드포맷 스트링
1①
2②
3③
4④
정답 및 해설

(가)는 스택 가드, (나)는 포맷 스트링이다.

스택 가드는 반환 주소 앞에 canary 값을 넣고 함수 종료 시 값이 바뀌었는지 확인해 스택 오버플로를 탐지한다. 포맷 스트링 공격은 printf 등에 서식 지정자를 그대로 넘기는 것처럼 데이터 형태를 불명확하게 처리해 생긴다.

  • 스택 실드는 canary가 아니라 반환 주소를 별도 안전 영역에 복사해 두었다가 함수 종료 시 비교하는 방식이다.
  • 버퍼 오버플로는 데이터 형태가 아니라 데이터 길이에 대한 불명확한 정의(경계 검사 부재)로 생긴다.
문제 12
다음에서 설명하는 인증 방법은?

사용자가 많이 가입한 웹 사이트(네이버, 구글, 페이스북 등)의 사용자 가입 정보를 이용해서 다른 웹 사이트에 별도의 가입 과정 없이 단순하게 사용자 신원을 검증하는 토큰을 제공하여 제삼자 인증 서비스를 이용할 수 있게 해 준다.

1Kerberos
2OAuth
3SSO
4DIAMETER
정답 및 해설

설명된 인증 방법은 OAuth이다.

OAuth는 사용자가 비밀번호를 제3자 서비스에 넘기지 않고, 네이버·구글 등 기존 계정의 인증 서버가 발급한 접근 토큰으로 다른 서비스를 이용하도록 권한을 위임하는 개방형 표준이다.

  • Kerberos: 티켓 기반 대칭키 인증 프로토콜로, 주로 조직 내부 네트워크에서 사용한다.
  • SSO: 한 번 인증으로 같은 조직의 여러 시스템을 이용하는 개념으로, 외부 사이트 가입 정보로 토큰을 제공하는 방식을 특정하지 않는다.
  • DIAMETER: RADIUS를 개선한 네트워크 접근용 AAA 프로토콜이다.
문제 13
클라우드 서비스 및 보안에 대한 설명으로 옳지 않은 것은?
1클라우드 환경에서의 서비스 모델은 IaaS, PaaS, SaaS로 구분할 수 있다.
2한국인터넷진흥원(KISA)에서는 클라우드 서비스의 보안성 강화를 위해 '클라우드 서비스 보안인증'을 시행하고 있다.
3대부분의 취약점은 전통적인 IT 환경의 보안 취약점과 유사하여 기존의 보안시스템을 최대한 활용하여 방어하는 것만으로도 충분하다.
4CSA(Cloud Security Alliance)에서는 심각한 클라우드 보안 위협에 대해 공유하고 있다.
정답 및 해설

클라우드 취약점이 전통적 IT 환경과 유사해 기존 보안시스템만으로 충분하다는 설명이 틀렸다.

클라우드는 가상화·멀티테넌시·API 기반 관리·책임 공유 모델 등 고유한 위협 요소가 있어, 기존 보안 체계에 더해 클라우드 특화 보안 대책이 필요하다.

  • 클라우드 서비스 모델은 IaaS, PaaS, SaaS로 구분한다.
  • KISA는 클라우드 서비스 보안인증(CSAP)을 시행하고 있다.
  • CSA는 심각한 클라우드 보안 위협을 정리해 공유하고 있다.
문제 14
신뢰 플랫폼 모듈(Trusted Platform Module)의 구성 요소로 옳지 않은 것은?
1난수 발생기
2암복호화 엔진
3RSA 키 발생기
4MD5 해시값 생성기
정답 및 해설

MD5 해시값 생성기는 TPM의 구성 요소가 아니다.

TPM은 난수 발생기, RSA 키 발생기, 암복호화(서명) 엔진, SHA 계열 해시 엔진, HMAC 엔진, 비휘발성·휘발성 메모리 등으로 구성되며, MD5는 해시 엔진으로 쓰이지 않는다.

  • 난수 발생기: 키 생성과 nonce 생성에 쓰이는 TPM 구성 요소이다.
  • 암복호화 엔진: 데이터 암호화·복호화와 서명을 수행하는 구성 요소이다.
  • RSA 키 발생기: RSA 키 쌍을 생성하는 구성 요소이다.
문제 15
syslogd 데몬에서 사용하는 다음 메시지 중 우선순위가 가장 높은 것은?
1alert
2crit
3err
4debug
정답 및 해설

제시된 메시지 가운데 우선순위가 가장 높은 것은 alert이다.

syslog 우선순위는 높은 것부터 emerg → alert → crit → err → warning → notice → info → debug 순이다.

  • crit: 치명적 오류로, alert보다 한 단계 낮다.
  • err: 일반 오류로, crit보다 낮다.
  • debug: 디버깅 정보로, 가장 낮은 우선순위이다.
문제 16
웹 취약점에 대한 설명으로 옳지 않은 것은?
1입력 값에 대한 특수문자 검증을 통해 XSS 공격에 대응할 수 있다.
2리버스 텔넷은 방화벽의 아웃바운드 정책에서 별다른 필터링을 수행하지 않는 허점을 이용한다.
3취약점이 있는 컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈이 악용되는 경우 데이터에 손실을 발생시킬 수 있다.
4CSRF는 사용자의 브라우저로 전달되는 데이터에 악성코드가 포함되어 브라우저에서 실행되면서 공격하는 기법이다.
정답 및 해설

사용자 브라우저로 전달된 데이터 속 악성코드가 브라우저에서 실행되는 것은 CSRF가 아니라 XSS에 대한 설명이다.

CSRF는 로그인한 사용자의 권한으로 공격자가 의도한 요청을 위조해 서버에 보내게 만드는 공격으로, 핵심은 스크립트 실행이 아니라 요청 위조이다.

  • 입력 값의 특수문자를 검증·치환하면 XSS 공격에 대응할 수 있다.
  • 리버스 텔넷은 방화벽이 아웃바운드 트래픽을 별로 필터링하지 않는 허점을 이용한다.
  • 취약한 컴포넌트·라이브러리·프레임워크가 악용되면 데이터 손실 등이 발생할 수 있다.
문제 17
리눅스 bash shell의 환경 변수에 대한 설명으로 옳은 것은?
1TERM은 접속 호스트 이름을 나타낸다.
2SHELL은 서브 셸을 사용할 때 서브 셸을 의미한다.
3PATH는 명령을 탐색할 경로를 의미한다.
4PWD는 현재 사용 중인 패스워드의 위치를 나타낸다.
정답 및 해설

PATH는 명령을 실행할 때 탐색할 디렉터리 경로 목록을 담는 환경 변수이다.

명령어를 경로 없이 입력하면 셸은 PATH에 콜론으로 나열된 디렉터리를 앞에서부터 차례로 찾아 실행하므로, PATH에 현재 디렉터리(.)를 앞에 두면 악성 명령 실행 위험이 생긴다.

  • TERM은 접속 호스트 이름이 아니라 사용 중인 터미널 종류를 나타낸다.
  • SHELL은 서브 셸이 아니라 로그인 셸의 경로를 나타낸다.
  • PWD는 패스워드가 아니라 현재 작업 디렉터리를 나타낸다.
문제 18
다음에서 설명하는 공격을 수행할 수 있는 도구로 옳지 않은 것은?

관리자 인증 등 정상적인 절차를 거치지 않고 시스템에 접근하기 위해 제작된 프로그램으로, 원격지에서 공격자가 몰래 정보를 수집하거나 시스템의 특정 명령을 수행하고 재구성할 수 있도록 통제한다.

1Netbus
2Schoolbus
3Nessus
4Back Orifice
정답 및 해설

설명된 공격은 백도어이며, Nessus는 백도어 도구가 아니라 취약점 점검 도구이다.

Nessus는 원격 시스템의 알려진 취약점을 스캔해 보고하는 도구로, 몰래 접근해 원격 제어하는 기능과는 목적이 다르다.

  • Netbus: 원격 제어 기능을 제공하는 대표적인 백도어 프로그램이다.
  • Schoolbus: Netbus 계열의 원격 제어 백도어 프로그램이다.
  • Back Orifice: 윈도 시스템을 원격 제어하는 백도어 프로그램이다.
문제 19
윈도 운영체제의 감사 정책에 대한 설명으로 옳지 않은 것은?
1권한 사용은 관리자 권한이 필요한 작업을 수행할 때 감사한다.
2계정 로그온 이벤트는 로컬 계정에 접근할 때 생성되는 이벤트를 감사한다.
3개체 액세스는 파일, 디렉터리, 레지스트리 키, 프린터와 같은 개체에 접근 시도나 속성 변경 등을 감사한다.
4계정 관리는 신규 사용자 및 그룹 추가, 기존 사용자 그룹 변경, 사용자 활성화 및 비활성화, 계정 패스워드 변경 등을 감사한다.
정답 및 해설

로컬 계정에 접근할 때 생성되는 이벤트는 로그온 이벤트 감사 대상이므로, 이를 계정 로그온 이벤트라고 한 설명이 틀렸다.

계정 로그온 이벤트는 도메인 컨트롤러 등에서 도메인 계정의 자격 증명을 검증할 때 생성되는 이벤트를 감사한다.

  • 권한 사용은 관리자 권한이 필요한 작업 수행을 감사한다.
  • 개체 액세스는 파일·디렉터리·레지스트리 키·프린터 등 개체에 대한 접근 시도와 속성 변경을 감사한다.
  • 계정 관리는 사용자·그룹 생성·변경, 계정 활성화·비활성화, 패스워드 변경 등을 감사한다.
문제 20
안티 리버싱 기법으로 프로그램의 실행 코드나 데이터를 압축 및 암호화하여 저장하는 기술은?
1패킹
2디컴파일
3시큐어 코딩
4안티 디버깅
정답 및 해설

실행 코드나 데이터를 압축·암호화해 저장하는 안티 리버싱 기법은 패킹이다.

패킹된 실행 파일은 실행 시 메모리에서 원래 코드로 복원되므로, 정적 분석으로는 원본 코드를 보기 어렵다. UPX, Themida 등이 대표적인 패커이다.

  • 디컴파일: 실행 파일을 고급 언어 코드로 되돌리는 리버싱 기법으로, 안티 리버싱과 반대 방향이다.
  • 시큐어 코딩: 개발 단계에서 보안 약점을 제거하는 코딩 기법이다.
  • 안티 디버깅: 디버거 사용을 탐지·방해하는 기법으로, 코드를 압축·암호화하는 것과는 다르다.