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

17년 1회차

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

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

17년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
사용자와 시스템 또는 시스템 간의 활성화된 접속을 관리하는 시스템 보안 기능은?
1계정과 패스워드 관리
2세션 관리
3파일 관리
4로그 관리
정답 및 해설

사용자와 시스템, 또는 시스템 상호 간에 활성화된 접속(연결)을 식별·유지·종료하는 보안 기능은 세션 관리이다.

세션 관리는 접속이 살아 있는 동안 연결 상태를 추적하고 유휴 시간 초과나 비정상 종료 시 세션을 끊어 세션 하이재킹 같은 위협을 막는다.

  • 계정과 패스워드를 다루는 기능은 사용자 식별·인증 정보를 설정·보관하는 것으로 활성 접속 자체를 관리하지 않는다.
  • 파일을 다루는 기능은 파일의 생성·접근 권한을 통제하며 접속 연결과는 무관하다.
  • 로그를 다루는 기능은 발생한 사건을 기록·보존하는 사후 추적 기능으로 진행 중인 접속을 제어하지 않는다.
문제 2
쿠키(cookie)에 대한 설명으로 옳지 않은 것은?
1쿠키에 저장되는 내용은 각각의 웹사이트 별로 다를 수 있다.
2쇼핑몰 사이트에서 장바구니 시스템을 이용할 때 쿠키 정보를 이용한다.
3쿠키는 바이러스를 스스로 전파한다.
4쿠키를 이용하면 사용자들의 특정 사이트 방문 여부 확인이 가능하다.
정답 및 해설

쿠키는 서버가 브라우저에 저장하는 작은 텍스트 데이터일 뿐이어서 스스로 실행되거나 바이러스처럼 자가 전파할 수 없으므로, 쿠키가 바이러스를 스스로 전파한다는 설명이 옳지 않다.

쿠키는 상태를 유지하지 못하는 HTTP를 보완해 방문 기록과 설정을 저장하는 용도로 쓰인다.

  • 저장되는 내용이 사이트마다 다를 수 있다는 설명은 쿠키가 도메인별로 따로 설정·저장되므로 옳다.
  • 쇼핑몰 장바구니에 쿠키 정보를 쓴다는 설명은 로그인 없이도 담은 상품을 유지하는 대표적 용례이므로 옳다.
  • 특정 사이트 방문 여부 확인이 가능하다는 설명은 쿠키에 방문 흔적이 남으므로 옳다.
문제 3
웹 애플리케이션에 대한 보안 취약점을 이용한 공격으로 옳지 않은 것은?
1Shoulder Surfing
2Cross Site Scripting
3SQL Injection
4Cross Site Request Forgery
정답 및 해설

어깨너머로 입력을 훔쳐보는 Shoulder Surfing은 사회공학적·물리적 관찰 기법으로 웹 애플리케이션의 보안 취약점을 이용한 공격이 아니다.

나머지는 모두 웹 애플리케이션 계층의 취약점을 노리는 공격이다.

  • 스크립트를 피해자 브라우저에서 실행시키는 공격(Cross Site Scripting)은 웹 입력 검증 미흡을 악용한다.
  • 질의문에 악성 SQL을 끼워 넣는 공격(SQL Injection)은 데이터베이스 연동 취약점을 악용한다.
  • 이용자 권한으로 위조 요청을 보내는 공격(Cross Site Request Forgery)은 웹 세션·요청 검증 취약점을 악용한다.
문제 4
FTP 서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 FTP 공격 유형은?
1FTP Bounce 공격
2Land 공격
3TFTP 공격
4Smurf 공격
정답 및 해설

FTP의 PORT 명령이 지정하는 데이터 전송 목적지를 서버가 검증하지 않는 설계 결함을 악용해 제3의 호스트로 데이터를 보내게 하는 공격이 FTP Bounce 공격이다.

이를 이용하면 포트 스캔이나 접근 통제 우회를 FTP 서버를 경유해 수행할 수 있다.

  • 출발지와 목적지를 동일하게 위조한 패킷을 보내는 공격(Land)은 FTP 설계 결함과 무관하다.
  • 인증 없는 간이 파일 전송 프로토콜의 특성을 노리는 공격(TFTP)은 목적지 미검증 문제와 다르다.
  • 브로드캐스트로 ICMP 응답을 유발해 대상을 마비시키는 공격(Smurf)은 증폭형 서비스 거부로 성격이 다르다.
문제 5
웹 취약점 중 디렉터리 탐색을 차단하기 위해 사용자 입력 문자열에 필터링을 적용하는 특수 문자는?
1$
2/
3--
4>
정답 및 해설

디렉터리 탐색(경로 조작) 공격은 상위 경로를 가리키는 문자열을 넣어 허용 범위 밖 파일에 접근하므로, 입력값에서 슬래시(/) 같은 경로 구분자를 필터링해 차단한다.

나머지 문자는 디렉터리 탐색 차단과 직접 관련이 없다.

  • 달러 기호는 변수 치환이나 명령 삽입과 관련된 문자로 경로 구분과 무관하다.
  • 하이픈 두 개는 주로 SQL 주석에 쓰이는 문자로 디렉터리 탐색과 무관하다.
  • 꺾쇠(부등호)는 스크립트 삽입(XSS) 필터링 대상으로 경로 구분과 무관하다.
문제 6
리눅스 시스템에서 /etc/shadow 파일 내용에 대한 설명으로 옳지 않은 것은?
testuser:㉠Ep6mckrOLChF:㉡12818:0:㉢99999:5:㉣7:0:12842
1㉠-암호화된 패스워드
2㉡-최근 패스워드 바꾼 날
3㉢-현재 패스워드의 유효기간
4㉣-패스워드 만료 전 유저에게 바꿀 것을 경고하는 기간
정답 및 해설

/etc/shadow에서 비밀번호 만료 전 변경을 경고하는 기간을 나타내는 필드는 값 5가 든 자리인데, 값 7이 든 자리는 비밀번호 만료 후 계정이 비활성화되기까지의 기간이므로 값 7을 경고 기간이라고 설명한 것이 옳지 않다.

각 필드는 콜론으로 구분되어 로그인명 다음부터 순서가 정해져 있다.

  • 암호화된 패스워드라고 설명한 자리는 로그인명 다음의 해시 문자열이므로 옳다.
  • 최근 패스워드를 바꾼 날이라고 설명한 자리는 기준일로부터의 경과 일수(12818)이므로 옳다.
  • 현재 패스워드의 유효기간이라고 설명한 자리는 최대 사용 일수(99999)이므로 옳다.
문제 7
사용자의 계정명, 로그인한 시간, 로그아웃한 시간, 터미널 번호나 IP주소를 출력하는 유닉스 시스템 명령어는?
1last
2lastcomm
3acctcom
4chown
정답 및 해설

로그인한 사용자의 계정명, 로그인·로그아웃 시각, 터미널 또는 IP 주소를 보여 주는 명령은 last로, wtmp 로그를 읽어 접속 이력을 출력한다.

나머지 명령은 접속 이력 출력과 용도가 다르다.

  • lastcomm은 실행된 명령의 기록(프로세스 어카운팅)을 보여 주는 명령이다.
  • acctcom도 프로세스 어카운팅 정보를 조회하는 명령으로 접속 이력과 다르다.
  • chown은 파일의 소유자를 변경하는 명령으로 로그 조회와 무관하다.
문제 8
다음에서 설명하는 보안 공격은?

유닉스 시스템에서 관리자 권한으로 실행되는 프로그램 중간에 임시 파일을 만드는 프로세스가 있을 경우 임시 파일 이름의 심볼릭 링크(Symbolic link) 파일을 생성하고, 이 프로세스 실행 중에 끼어들어 그 임시 파일을 전혀 엉뚱한 파일과 연결하여 악의적인 행동을 수행하도록 하는 공격이다.

1Fingerprinting 공격
2Race Condition 공격
3Session Hijacking 공격
4Heartbleed 공격
정답 및 해설

관리자 권한 프로그램이 임시 파일을 만드는 시점과 사용하는 시점 사이의 시간차를 노려 그 틈에 심볼릭 링크로 엉뚱한 파일을 연결하는 공격은 Race Condition(경쟁 조건) 공격이다.

검사 시점과 사용 시점이 어긋나는 TOCTOU 문제를 이용하며 임시 파일을 안전하게 생성하지 않으면 발생한다.

  • 운영체제·서비스의 특징으로 대상을 식별하는 기법(Fingerprinting)은 시간차 악용과 다르다.
  • 세션을 가로채 인증된 연결을 탈취하는 공격(Session Hijacking)은 심볼릭 링크 경쟁과 다르다.
  • TLS 하트비트 확장의 메모리 과다 응답 취약점(Heartbleed)은 임시 파일 경쟁과 무관하다.
문제 9
<보기 1>의 리눅스 패킷 필터링 요청 정책에 따른 <보기 2>의 ㉠∼㉢에 들어갈 iptables의 명령어를 바르게 연결한 것은? (순서대로 ㉠, ㉡, ㉢)
<보기 1>

INPUT 체인에 입력 인터페이스가 eth0이고, 도착지가 192.168.10.100이고, 프로토콜은 tcp이며, 도착 포트는 80인 패킷은 버리는 정책을 추가

<보기 2>
iptables -A INPUT -i eth0 ( ㉠ ) 192.168.10.10 ( ㉡ ) tcp ( ㉢ ) 80 -j DROP
1--ip, -proc, -p
2--ip, -p, --port
3-d, -proc, --dport
4-d, -p, --dport
정답 및 해설

도착지 IP를 지정하는 -d, 프로토콜을 지정하는 -p, 목적지 포트를 지정하는 --dport 순으로 채워야 요청한 정책이 완성된다.

특정 도착지·프로토콜·포트의 패킷을 버리는 규칙이므로 각 조건을 지정하는 옵션이 차례로 필요하다.

  • 도착지 주소 자리에는 목적지 IP를 지정하는 -d가 와야 하며 인터페이스나 포트 옵션은 맞지 않는다.
  • 프로토콜 자리에는 tcp를 지정하는 -p가 와야 하며 -proc 같은 옵션은 존재하지 않는다.
  • 포트 자리에는 목적지 포트를 지정하는 --dport가 와야 하며 단순 -p나 --port로는 목적지 포트를 지정할 수 없다.
문제 10
유닉스 시스템에 기록되는 로그파일에 대한 설명을 바르게 연결한 것은? (순서대로 (가), (나), (다))
  • (가) 시스템에 로그인한 모든 사용자가 수행한 프로그램에 대한 정보를 기록
  • (나) 사용자의 로그인, 로그아웃 시간과 시스템의 종료 시간, 시작 시간을 기록
  • (다) FTP 접속을 기록
1wtmp, pacct, loginlog
2wtmp, loginlog, xferlog
3pacct, loginlog, wtmp
4pacct, wtmp, xferlog
정답 및 해설

사용자가 실행한 프로그램을 기록하는 것은 pacct, 로그인·로그아웃과 시스템 종료·시작을 기록하는 것은 wtmp, FTP 접속을 기록하는 것은 xferlog이다.

각 로그는 기록 대상이 뚜렷이 구분된다.

  • 수행한 프로그램 정보를 남기는 설명에는 프로세스 어카운팅 로그(pacct)가 대응한다.
  • 로그인·로그아웃과 부팅·종료 시각을 남기는 설명에는 wtmp가 대응한다.
  • FTP 접속을 남기는 설명에는 xferlog가 대응한다.
문제 11
다음에서 설명하는 공격방법은?
  • 버퍼 오버플로우 공격과 유사하며 C언어가 생기면서부터 존재했지만, 발견에 많은 시간이 소요되었다.
  • 데이터의 형태와 길이에 대한 불명확한 정의로 인한 공격이다.
1Reverse Telnet
2Hypervisor
3Format String
4RootKit
정답 및 해설

C 언어 출력 함수에서 형식 지정자 처리의 불명확성을 악용해 메모리를 읽거나 쓰는 공격은 포맷 스트링(Format String) 공격이다.

버퍼 오버플로우처럼 메모리를 훼손할 수 있어 유사하지만 사용자 입력이 형식 문자열로 그대로 쓰일 때 발생한다.

  • 방화벽을 우회하려 외부로 셸 연결을 역방향으로 맺는 기법(Reverse Telnet)은 메모리 취약점 공격이 아니다.
  • 가상 머신을 관리하는 소프트웨어 계층(Hypervisor)은 공격 기법 자체가 아니다.
  • 침입 후 흔적을 숨기고 재접속 통로를 심는 도구 모음(RootKit)은 형식 문자열 결함과 다르다.
문제 12
유닉스 시스템의 디렉터리별 역할에 대한 설명을 바르게 연결한 것은? (순서대로 (가), (나), (다))
  • (가) 시스템의 환경 설정 및 주요 설정 파일을 담고 있다.
  • (나) 기본적으로 실행 가능한 파일을 담고 있다.
  • (다) 각 사용자의 작업 디렉터리를 담고 있다.
1/bin, /home, /etc
2/home, /etc, /bin
3/etc, /bin, /home
4/bin, /etc, /home
정답 및 해설

환경·주요 설정 파일을 담는 곳은 /etc, 기본 실행 파일을 담는 곳은 /bin, 각 사용자의 작업 디렉터리를 담는 곳은 /home이다.

디렉터리마다 저장하는 파일의 성격이 구분된다.

  • 설정 파일을 담는다는 설명에는 /etc가 대응한다.
  • 실행 가능한 파일을 담는다는 설명에는 /bin이 대응한다.
  • 사용자별 작업 공간을 담는다는 설명에는 /home이 대응한다.
문제 13
윈도우즈 시스템 명령창에서 netstat -an 명령을 수행한 결과의 일부이다. 구동 중인 서비스로 옳지 않은 것은?
프로토콜로컬주소외부주소상태
TCP0.0.0.0:210.0.0.0:0LISTENING
TCP0.0.0.0:250.0.0.0:0LISTENING
TCP0.0.0.0:800.0.0.0:0LISTENING
1FTP
2Telnet
3SMTP
4HTTP
정답 및 해설

결과에서 열린 포트는 21, 25, 80만 LISTENING 상태이므로 각각 FTP, SMTP, HTTP가 구동 중이고, 포트 23을 사용하는 Telnet은 목록에 없어 구동 중인 서비스가 아니다.

표에 나타난 포트는 각각 잘 알려진 서비스에 대응한다.

  • 포트 21이 열려 있으므로 FTP는 구동 중이다.
  • 포트 25가 열려 있으므로 SMTP는 구동 중이다.
  • 포트 80이 열려 있으므로 HTTP는 구동 중이다.
문제 14
OWASP(Open Web Application Security Project)에서 발표한 2013년 Mobile Security Project Top 10의 위협 요소로 옳지 않은 것은?
1안전하지 않은 세션처리(Improper Session Handling)
2취약한 권한 및 인증(Poor Authorization and Authentication)
3안전하지 않은 데이터 저장(InSecure Data Storage)
4서버 측 인젝션(Server Side Injection)
정답 및 해설

OWASP 2013 모바일 보안 Top 10에는 클라이언트 측 인젝션(Client Side Injection)이 포함되며, 서버 측 인젝션(Server Side Injection)이라는 항목은 존재하지 않으므로 이것이 위협 요소로 옳지 않다.

나머지는 모두 해당 목록에 포함된 모바일 위협이다.

  • 안전하지 않은 세션 처리(Improper Session Handling)는 목록에 포함된 항목이다.
  • 취약한 권한 및 인증(Poor Authorization and Authentication)은 목록에 포함된 항목이다.
  • 안전하지 않은 데이터 저장(Insecure Data Storage)은 목록에 포함된 항목이다.
문제 15
리눅스 시스템의 umask 값에 따라 생성된 파일의 접근 권한이 ‘-rw-r-----’일 때, 기본 접근 권한을 설정하는 umask 값은?
1200
2260
3026
4620
정답 및 해설

파일 기본 권한 바탕값 666에서 umask 비트를 꺼 -rw-r-----(640)를 얻으려면 umask 값은 026이어야 한다.

자릿수별로 보면 소유자는 6을 그대로 두므로 umask 0, 그룹은 rw(6)에서 쓰기를 없애 r(4)로 만들어야 하므로 umask 2, 기타는 rw(6)를 모두 없애 0으로 만들어야 하므로 umask 6이다.

세 자리를 모으면 026이 되며 다른 값들은 이 권한을 만들지 못한다.

문제 16
윈도우즈 시스템이 동작하기 위한 프로세스와 그에 대한 설명을 바르게 연결한 것은? (순서대로 (가), (나), (다))
  • (가) Winlogon 서비스에 대한 필요한 인증 프로세스를 담당한다.
  • (나) 사용자 세션을 시작하는 기능을 담당한다.
  • (다) 사용자가 미리 지정한 시간에 작업을 실행시키는 작업 스케줄을 담당한다.
1smss.exe, mstask.exe, lsass.exe
2smss.exe, lsass.exe, mstask.exe
3lsass.exe, mstask.exe, lsass.exe
4lsass.exe, smss.exe, mstask.exe
정답 및 해설

Winlogon의 인증을 담당하는 것은 lsass.exe, 사용자 세션을 시작하는 것은 smss.exe, 예약된 시간에 작업을 실행하는 스케줄러는 mstask.exe이다.

세 프로세스는 각각 인증, 세션 시작, 작업 스케줄로 역할이 나뉜다.

  • 인증 처리를 설명한 항목에는 로컬 보안 인증 프로세스(lsass.exe)가 대응한다.
  • 사용자 세션 시작을 설명한 항목에는 세션 관리자(smss.exe)가 대응한다.
  • 예약 작업 실행을 설명한 항목에는 작업 스케줄러(mstask.exe)가 대응한다.
문제 17
버퍼 오버플로우 공격의 대응방법 중 스택에서 실행 권한을 제거해 스택에 로드된 공격자의 공격 코드가 실행될 수 없도록 하는 방법은?
1Stack Guard
2Non-Executable Stack
3Stack Shield
4ASLR(Address Space Layout Randomization)
정답 및 해설

스택 메모리 영역에서 실행 권한을 제거해 스택에 올라온 공격 코드가 실행되지 못하게 하는 방어 기법은 Non-Executable Stack(NX)이다.

나머지는 스택을 보호하는 방식이 다르다.

  • 복귀 주소 앞에 카나리 값을 두어 변조를 탐지하는 기법(Stack Guard)은 실행 권한 제거와 다르다.
  • 복귀 주소를 별도 영역에 보관·비교해 무결성을 검증하는 기법(Stack Shield)은 실행 권한 제거와 다르다.
  • 메모리 배치를 무작위화해 주소 예측을 어렵게 하는 기법(ASLR)은 실행 권한 제거와 다르다.
문제 18
전자우편서비스 관련 프로토콜에 대한 설명으로 옳지 않은 것은?
1SMTP(Simple Mail Transfer Protocol)는 송신자의 메일 서버로부터 수신자의 메일 서버로 메시지 전송을 담당한다.
2MIME(Multipurpose Internet Mail Extension)은 SMTP를 확장하여 오디오, 비디오, 응용 프로그램, 기타 여러 종류의 데이터 파일을 주고받을 수 있다.
3Secure/MIME은 MIME 데이터를 전자서명과 암호화 기술을 이용하여 암호화, 인증, 메시지 무결성, 송신처 부인방지 등을 제공한다.
4IMAP(Internet Message Access Protocol)은 POP3와 다르게 SMTP 프로토콜을 의존하지 않고, 이메일의 원본을 서버에서 삭제한다.
정답 및 해설

IMAP은 메일을 서버에 그대로 보관하면서 여러 기기에서 접근하게 하는 프로토콜이므로, 원본을 서버에서 삭제한다는 설명이 옳지 않다(받아 온 뒤 서버에서 지우는 방식은 POP3의 기본 동작이다).

나머지 설명은 모두 옳다.

  • SMTP가 송신자 메일 서버에서 수신자 메일 서버로 메시지 전송을 담당한다는 설명은 옳다.
  • MIME이 SMTP를 확장해 오디오·비디오·응용 프로그램 등 다양한 데이터를 주고받게 한다는 설명은 옳다.
  • S/MIME이 전자서명과 암호화로 암호화·인증·무결성·송신처 부인방지를 제공한다는 설명은 옳다.
문제 19
디지털 포렌식에서 데이터베이스에 있는 대량의 숫자 정보의 무결성 및 정확성을 확인하기 위해 수행하는 분석 방법은?
1스니퍼 운용
2MRTG(Multi Router Traffic Grapher)
3CAATs(Computer Assisted Auditing Techniques)
4네트워크 로그 서버 분석
정답 및 해설

데이터베이스의 대량 수치 데이터의 무결성과 정확성을 검증하기 위해 쓰는 분석 방법은 컴퓨터 이용 감사 기법(CAATs)이다.

나머지는 수치 데이터 감사와 목적이 다르다.

  • 패킷을 가로채 들여다보는 도구(스니퍼)는 네트워크 트래픽 수집용으로 데이터 정확성 감사와 다르다.
  • 라우터 트래픽을 그래프로 보여 주는 도구(MRTG)는 회선 사용량 모니터링용이다.
  • 네트워크 로그 서버 분석은 접속·이벤트 기록 추적으로 수치 무결성 검증과 다르다.
문제 20
Cross Site Scripting(XSS) 공격유형에 해당하지 않는 것은?
1Reflash XSS 공격
2Reflected XSS 공격
3DOM(Document Object Model) 기반 XSS 공격
4Stored XSS 공격
정답 및 해설

XSS 공격 유형은 반사형(Reflected), 저장형(Stored), DOM 기반으로 나뉘며, Reflash XSS라는 유형은 존재하지 않으므로 이것이 XSS 유형에 해당하지 않는 것이다.

나머지는 모두 실제 XSS 유형이다.

  • 요청에 담긴 스크립트가 응답에 즉시 반사되어 실행되는 유형(Reflected XSS)은 실제 유형이다.
  • 문서 객체 모델을 조작해 클라이언트에서 실행되는 유형(DOM 기반 XSS)은 실제 유형이다.
  • 악성 스크립트가 서버에 저장되었다가 실행되는 유형(Stored XSS)은 실제 유형이다.
9급 국가직 정보시스템보안 기출문제모두CBT · moducbt.com
17년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
사용자와 시스템 또는 시스템 간의 활성화된 접속을 관리하는 시스템 보안 기능은?
1계정과 패스워드 관리
2세션 관리
3파일 관리
4로그 관리
정답 및 해설

사용자와 시스템, 또는 시스템 상호 간에 활성화된 접속(연결)을 식별·유지·종료하는 보안 기능은 세션 관리이다.

세션 관리는 접속이 살아 있는 동안 연결 상태를 추적하고 유휴 시간 초과나 비정상 종료 시 세션을 끊어 세션 하이재킹 같은 위협을 막는다.

  • 계정과 패스워드를 다루는 기능은 사용자 식별·인증 정보를 설정·보관하는 것으로 활성 접속 자체를 관리하지 않는다.
  • 파일을 다루는 기능은 파일의 생성·접근 권한을 통제하며 접속 연결과는 무관하다.
  • 로그를 다루는 기능은 발생한 사건을 기록·보존하는 사후 추적 기능으로 진행 중인 접속을 제어하지 않는다.
문제 2
쿠키(cookie)에 대한 설명으로 옳지 않은 것은?
1쿠키에 저장되는 내용은 각각의 웹사이트 별로 다를 수 있다.
2쇼핑몰 사이트에서 장바구니 시스템을 이용할 때 쿠키 정보를 이용한다.
3쿠키는 바이러스를 스스로 전파한다.
4쿠키를 이용하면 사용자들의 특정 사이트 방문 여부 확인이 가능하다.
정답 및 해설

쿠키는 서버가 브라우저에 저장하는 작은 텍스트 데이터일 뿐이어서 스스로 실행되거나 바이러스처럼 자가 전파할 수 없으므로, 쿠키가 바이러스를 스스로 전파한다는 설명이 옳지 않다.

쿠키는 상태를 유지하지 못하는 HTTP를 보완해 방문 기록과 설정을 저장하는 용도로 쓰인다.

  • 저장되는 내용이 사이트마다 다를 수 있다는 설명은 쿠키가 도메인별로 따로 설정·저장되므로 옳다.
  • 쇼핑몰 장바구니에 쿠키 정보를 쓴다는 설명은 로그인 없이도 담은 상품을 유지하는 대표적 용례이므로 옳다.
  • 특정 사이트 방문 여부 확인이 가능하다는 설명은 쿠키에 방문 흔적이 남으므로 옳다.
문제 3
웹 애플리케이션에 대한 보안 취약점을 이용한 공격으로 옳지 않은 것은?
1Shoulder Surfing
2Cross Site Scripting
3SQL Injection
4Cross Site Request Forgery
정답 및 해설

어깨너머로 입력을 훔쳐보는 Shoulder Surfing은 사회공학적·물리적 관찰 기법으로 웹 애플리케이션의 보안 취약점을 이용한 공격이 아니다.

나머지는 모두 웹 애플리케이션 계층의 취약점을 노리는 공격이다.

  • 스크립트를 피해자 브라우저에서 실행시키는 공격(Cross Site Scripting)은 웹 입력 검증 미흡을 악용한다.
  • 질의문에 악성 SQL을 끼워 넣는 공격(SQL Injection)은 데이터베이스 연동 취약점을 악용한다.
  • 이용자 권한으로 위조 요청을 보내는 공격(Cross Site Request Forgery)은 웹 세션·요청 검증 취약점을 악용한다.
문제 4
FTP 서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 FTP 공격 유형은?
1FTP Bounce 공격
2Land 공격
3TFTP 공격
4Smurf 공격
정답 및 해설

FTP의 PORT 명령이 지정하는 데이터 전송 목적지를 서버가 검증하지 않는 설계 결함을 악용해 제3의 호스트로 데이터를 보내게 하는 공격이 FTP Bounce 공격이다.

이를 이용하면 포트 스캔이나 접근 통제 우회를 FTP 서버를 경유해 수행할 수 있다.

  • 출발지와 목적지를 동일하게 위조한 패킷을 보내는 공격(Land)은 FTP 설계 결함과 무관하다.
  • 인증 없는 간이 파일 전송 프로토콜의 특성을 노리는 공격(TFTP)은 목적지 미검증 문제와 다르다.
  • 브로드캐스트로 ICMP 응답을 유발해 대상을 마비시키는 공격(Smurf)은 증폭형 서비스 거부로 성격이 다르다.
문제 5
웹 취약점 중 디렉터리 탐색을 차단하기 위해 사용자 입력 문자열에 필터링을 적용하는 특수 문자는?
1$
2/
3--
4>
정답 및 해설

디렉터리 탐색(경로 조작) 공격은 상위 경로를 가리키는 문자열을 넣어 허용 범위 밖 파일에 접근하므로, 입력값에서 슬래시(/) 같은 경로 구분자를 필터링해 차단한다.

나머지 문자는 디렉터리 탐색 차단과 직접 관련이 없다.

  • 달러 기호는 변수 치환이나 명령 삽입과 관련된 문자로 경로 구분과 무관하다.
  • 하이픈 두 개는 주로 SQL 주석에 쓰이는 문자로 디렉터리 탐색과 무관하다.
  • 꺾쇠(부등호)는 스크립트 삽입(XSS) 필터링 대상으로 경로 구분과 무관하다.
문제 6
리눅스 시스템에서 /etc/shadow 파일 내용에 대한 설명으로 옳지 않은 것은?
testuser:㉠Ep6mckrOLChF:㉡12818:0:㉢99999:5:㉣7:0:12842
1㉠-암호화된 패스워드
2㉡-최근 패스워드 바꾼 날
3㉢-현재 패스워드의 유효기간
4㉣-패스워드 만료 전 유저에게 바꿀 것을 경고하는 기간
정답 및 해설

/etc/shadow에서 비밀번호 만료 전 변경을 경고하는 기간을 나타내는 필드는 값 5가 든 자리인데, 값 7이 든 자리는 비밀번호 만료 후 계정이 비활성화되기까지의 기간이므로 값 7을 경고 기간이라고 설명한 것이 옳지 않다.

각 필드는 콜론으로 구분되어 로그인명 다음부터 순서가 정해져 있다.

  • 암호화된 패스워드라고 설명한 자리는 로그인명 다음의 해시 문자열이므로 옳다.
  • 최근 패스워드를 바꾼 날이라고 설명한 자리는 기준일로부터의 경과 일수(12818)이므로 옳다.
  • 현재 패스워드의 유효기간이라고 설명한 자리는 최대 사용 일수(99999)이므로 옳다.
문제 7
사용자의 계정명, 로그인한 시간, 로그아웃한 시간, 터미널 번호나 IP주소를 출력하는 유닉스 시스템 명령어는?
1last
2lastcomm
3acctcom
4chown
정답 및 해설

로그인한 사용자의 계정명, 로그인·로그아웃 시각, 터미널 또는 IP 주소를 보여 주는 명령은 last로, wtmp 로그를 읽어 접속 이력을 출력한다.

나머지 명령은 접속 이력 출력과 용도가 다르다.

  • lastcomm은 실행된 명령의 기록(프로세스 어카운팅)을 보여 주는 명령이다.
  • acctcom도 프로세스 어카운팅 정보를 조회하는 명령으로 접속 이력과 다르다.
  • chown은 파일의 소유자를 변경하는 명령으로 로그 조회와 무관하다.
문제 8
다음에서 설명하는 보안 공격은?

유닉스 시스템에서 관리자 권한으로 실행되는 프로그램 중간에 임시 파일을 만드는 프로세스가 있을 경우 임시 파일 이름의 심볼릭 링크(Symbolic link) 파일을 생성하고, 이 프로세스 실행 중에 끼어들어 그 임시 파일을 전혀 엉뚱한 파일과 연결하여 악의적인 행동을 수행하도록 하는 공격이다.

1Fingerprinting 공격
2Race Condition 공격
3Session Hijacking 공격
4Heartbleed 공격
정답 및 해설

관리자 권한 프로그램이 임시 파일을 만드는 시점과 사용하는 시점 사이의 시간차를 노려 그 틈에 심볼릭 링크로 엉뚱한 파일을 연결하는 공격은 Race Condition(경쟁 조건) 공격이다.

검사 시점과 사용 시점이 어긋나는 TOCTOU 문제를 이용하며 임시 파일을 안전하게 생성하지 않으면 발생한다.

  • 운영체제·서비스의 특징으로 대상을 식별하는 기법(Fingerprinting)은 시간차 악용과 다르다.
  • 세션을 가로채 인증된 연결을 탈취하는 공격(Session Hijacking)은 심볼릭 링크 경쟁과 다르다.
  • TLS 하트비트 확장의 메모리 과다 응답 취약점(Heartbleed)은 임시 파일 경쟁과 무관하다.
문제 9
<보기 1>의 리눅스 패킷 필터링 요청 정책에 따른 <보기 2>의 ㉠∼㉢에 들어갈 iptables의 명령어를 바르게 연결한 것은? (순서대로 ㉠, ㉡, ㉢)
<보기 1>

INPUT 체인에 입력 인터페이스가 eth0이고, 도착지가 192.168.10.100이고, 프로토콜은 tcp이며, 도착 포트는 80인 패킷은 버리는 정책을 추가

<보기 2>
iptables -A INPUT -i eth0 ( ㉠ ) 192.168.10.10 ( ㉡ ) tcp ( ㉢ ) 80 -j DROP
1--ip, -proc, -p
2--ip, -p, --port
3-d, -proc, --dport
4-d, -p, --dport
정답 및 해설

도착지 IP를 지정하는 -d, 프로토콜을 지정하는 -p, 목적지 포트를 지정하는 --dport 순으로 채워야 요청한 정책이 완성된다.

특정 도착지·프로토콜·포트의 패킷을 버리는 규칙이므로 각 조건을 지정하는 옵션이 차례로 필요하다.

  • 도착지 주소 자리에는 목적지 IP를 지정하는 -d가 와야 하며 인터페이스나 포트 옵션은 맞지 않는다.
  • 프로토콜 자리에는 tcp를 지정하는 -p가 와야 하며 -proc 같은 옵션은 존재하지 않는다.
  • 포트 자리에는 목적지 포트를 지정하는 --dport가 와야 하며 단순 -p나 --port로는 목적지 포트를 지정할 수 없다.
문제 10
유닉스 시스템에 기록되는 로그파일에 대한 설명을 바르게 연결한 것은? (순서대로 (가), (나), (다))
  • (가) 시스템에 로그인한 모든 사용자가 수행한 프로그램에 대한 정보를 기록
  • (나) 사용자의 로그인, 로그아웃 시간과 시스템의 종료 시간, 시작 시간을 기록
  • (다) FTP 접속을 기록
1wtmp, pacct, loginlog
2wtmp, loginlog, xferlog
3pacct, loginlog, wtmp
4pacct, wtmp, xferlog
정답 및 해설

사용자가 실행한 프로그램을 기록하는 것은 pacct, 로그인·로그아웃과 시스템 종료·시작을 기록하는 것은 wtmp, FTP 접속을 기록하는 것은 xferlog이다.

각 로그는 기록 대상이 뚜렷이 구분된다.

  • 수행한 프로그램 정보를 남기는 설명에는 프로세스 어카운팅 로그(pacct)가 대응한다.
  • 로그인·로그아웃과 부팅·종료 시각을 남기는 설명에는 wtmp가 대응한다.
  • FTP 접속을 남기는 설명에는 xferlog가 대응한다.
문제 11
다음에서 설명하는 공격방법은?
  • 버퍼 오버플로우 공격과 유사하며 C언어가 생기면서부터 존재했지만, 발견에 많은 시간이 소요되었다.
  • 데이터의 형태와 길이에 대한 불명확한 정의로 인한 공격이다.
1Reverse Telnet
2Hypervisor
3Format String
4RootKit
정답 및 해설

C 언어 출력 함수에서 형식 지정자 처리의 불명확성을 악용해 메모리를 읽거나 쓰는 공격은 포맷 스트링(Format String) 공격이다.

버퍼 오버플로우처럼 메모리를 훼손할 수 있어 유사하지만 사용자 입력이 형식 문자열로 그대로 쓰일 때 발생한다.

  • 방화벽을 우회하려 외부로 셸 연결을 역방향으로 맺는 기법(Reverse Telnet)은 메모리 취약점 공격이 아니다.
  • 가상 머신을 관리하는 소프트웨어 계층(Hypervisor)은 공격 기법 자체가 아니다.
  • 침입 후 흔적을 숨기고 재접속 통로를 심는 도구 모음(RootKit)은 형식 문자열 결함과 다르다.
문제 12
유닉스 시스템의 디렉터리별 역할에 대한 설명을 바르게 연결한 것은? (순서대로 (가), (나), (다))
  • (가) 시스템의 환경 설정 및 주요 설정 파일을 담고 있다.
  • (나) 기본적으로 실행 가능한 파일을 담고 있다.
  • (다) 각 사용자의 작업 디렉터리를 담고 있다.
1/bin, /home, /etc
2/home, /etc, /bin
3/etc, /bin, /home
4/bin, /etc, /home
정답 및 해설

환경·주요 설정 파일을 담는 곳은 /etc, 기본 실행 파일을 담는 곳은 /bin, 각 사용자의 작업 디렉터리를 담는 곳은 /home이다.

디렉터리마다 저장하는 파일의 성격이 구분된다.

  • 설정 파일을 담는다는 설명에는 /etc가 대응한다.
  • 실행 가능한 파일을 담는다는 설명에는 /bin이 대응한다.
  • 사용자별 작업 공간을 담는다는 설명에는 /home이 대응한다.
문제 13
윈도우즈 시스템 명령창에서 netstat -an 명령을 수행한 결과의 일부이다. 구동 중인 서비스로 옳지 않은 것은?
프로토콜로컬주소외부주소상태
TCP0.0.0.0:210.0.0.0:0LISTENING
TCP0.0.0.0:250.0.0.0:0LISTENING
TCP0.0.0.0:800.0.0.0:0LISTENING
1FTP
2Telnet
3SMTP
4HTTP
정답 및 해설

결과에서 열린 포트는 21, 25, 80만 LISTENING 상태이므로 각각 FTP, SMTP, HTTP가 구동 중이고, 포트 23을 사용하는 Telnet은 목록에 없어 구동 중인 서비스가 아니다.

표에 나타난 포트는 각각 잘 알려진 서비스에 대응한다.

  • 포트 21이 열려 있으므로 FTP는 구동 중이다.
  • 포트 25가 열려 있으므로 SMTP는 구동 중이다.
  • 포트 80이 열려 있으므로 HTTP는 구동 중이다.
문제 14
OWASP(Open Web Application Security Project)에서 발표한 2013년 Mobile Security Project Top 10의 위협 요소로 옳지 않은 것은?
1안전하지 않은 세션처리(Improper Session Handling)
2취약한 권한 및 인증(Poor Authorization and Authentication)
3안전하지 않은 데이터 저장(InSecure Data Storage)
4서버 측 인젝션(Server Side Injection)
정답 및 해설

OWASP 2013 모바일 보안 Top 10에는 클라이언트 측 인젝션(Client Side Injection)이 포함되며, 서버 측 인젝션(Server Side Injection)이라는 항목은 존재하지 않으므로 이것이 위협 요소로 옳지 않다.

나머지는 모두 해당 목록에 포함된 모바일 위협이다.

  • 안전하지 않은 세션 처리(Improper Session Handling)는 목록에 포함된 항목이다.
  • 취약한 권한 및 인증(Poor Authorization and Authentication)은 목록에 포함된 항목이다.
  • 안전하지 않은 데이터 저장(Insecure Data Storage)은 목록에 포함된 항목이다.
문제 15
리눅스 시스템의 umask 값에 따라 생성된 파일의 접근 권한이 ‘-rw-r-----’일 때, 기본 접근 권한을 설정하는 umask 값은?
1200
2260
3026
4620
정답 및 해설

파일 기본 권한 바탕값 666에서 umask 비트를 꺼 -rw-r-----(640)를 얻으려면 umask 값은 026이어야 한다.

자릿수별로 보면 소유자는 6을 그대로 두므로 umask 0, 그룹은 rw(6)에서 쓰기를 없애 r(4)로 만들어야 하므로 umask 2, 기타는 rw(6)를 모두 없애 0으로 만들어야 하므로 umask 6이다.

세 자리를 모으면 026이 되며 다른 값들은 이 권한을 만들지 못한다.

문제 16
윈도우즈 시스템이 동작하기 위한 프로세스와 그에 대한 설명을 바르게 연결한 것은? (순서대로 (가), (나), (다))
  • (가) Winlogon 서비스에 대한 필요한 인증 프로세스를 담당한다.
  • (나) 사용자 세션을 시작하는 기능을 담당한다.
  • (다) 사용자가 미리 지정한 시간에 작업을 실행시키는 작업 스케줄을 담당한다.
1smss.exe, mstask.exe, lsass.exe
2smss.exe, lsass.exe, mstask.exe
3lsass.exe, mstask.exe, lsass.exe
4lsass.exe, smss.exe, mstask.exe
정답 및 해설

Winlogon의 인증을 담당하는 것은 lsass.exe, 사용자 세션을 시작하는 것은 smss.exe, 예약된 시간에 작업을 실행하는 스케줄러는 mstask.exe이다.

세 프로세스는 각각 인증, 세션 시작, 작업 스케줄로 역할이 나뉜다.

  • 인증 처리를 설명한 항목에는 로컬 보안 인증 프로세스(lsass.exe)가 대응한다.
  • 사용자 세션 시작을 설명한 항목에는 세션 관리자(smss.exe)가 대응한다.
  • 예약 작업 실행을 설명한 항목에는 작업 스케줄러(mstask.exe)가 대응한다.
문제 17
버퍼 오버플로우 공격의 대응방법 중 스택에서 실행 권한을 제거해 스택에 로드된 공격자의 공격 코드가 실행될 수 없도록 하는 방법은?
1Stack Guard
2Non-Executable Stack
3Stack Shield
4ASLR(Address Space Layout Randomization)
정답 및 해설

스택 메모리 영역에서 실행 권한을 제거해 스택에 올라온 공격 코드가 실행되지 못하게 하는 방어 기법은 Non-Executable Stack(NX)이다.

나머지는 스택을 보호하는 방식이 다르다.

  • 복귀 주소 앞에 카나리 값을 두어 변조를 탐지하는 기법(Stack Guard)은 실행 권한 제거와 다르다.
  • 복귀 주소를 별도 영역에 보관·비교해 무결성을 검증하는 기법(Stack Shield)은 실행 권한 제거와 다르다.
  • 메모리 배치를 무작위화해 주소 예측을 어렵게 하는 기법(ASLR)은 실행 권한 제거와 다르다.
문제 18
전자우편서비스 관련 프로토콜에 대한 설명으로 옳지 않은 것은?
1SMTP(Simple Mail Transfer Protocol)는 송신자의 메일 서버로부터 수신자의 메일 서버로 메시지 전송을 담당한다.
2MIME(Multipurpose Internet Mail Extension)은 SMTP를 확장하여 오디오, 비디오, 응용 프로그램, 기타 여러 종류의 데이터 파일을 주고받을 수 있다.
3Secure/MIME은 MIME 데이터를 전자서명과 암호화 기술을 이용하여 암호화, 인증, 메시지 무결성, 송신처 부인방지 등을 제공한다.
4IMAP(Internet Message Access Protocol)은 POP3와 다르게 SMTP 프로토콜을 의존하지 않고, 이메일의 원본을 서버에서 삭제한다.
정답 및 해설

IMAP은 메일을 서버에 그대로 보관하면서 여러 기기에서 접근하게 하는 프로토콜이므로, 원본을 서버에서 삭제한다는 설명이 옳지 않다(받아 온 뒤 서버에서 지우는 방식은 POP3의 기본 동작이다).

나머지 설명은 모두 옳다.

  • SMTP가 송신자 메일 서버에서 수신자 메일 서버로 메시지 전송을 담당한다는 설명은 옳다.
  • MIME이 SMTP를 확장해 오디오·비디오·응용 프로그램 등 다양한 데이터를 주고받게 한다는 설명은 옳다.
  • S/MIME이 전자서명과 암호화로 암호화·인증·무결성·송신처 부인방지를 제공한다는 설명은 옳다.
문제 19
디지털 포렌식에서 데이터베이스에 있는 대량의 숫자 정보의 무결성 및 정확성을 확인하기 위해 수행하는 분석 방법은?
1스니퍼 운용
2MRTG(Multi Router Traffic Grapher)
3CAATs(Computer Assisted Auditing Techniques)
4네트워크 로그 서버 분석
정답 및 해설

데이터베이스의 대량 수치 데이터의 무결성과 정확성을 검증하기 위해 쓰는 분석 방법은 컴퓨터 이용 감사 기법(CAATs)이다.

나머지는 수치 데이터 감사와 목적이 다르다.

  • 패킷을 가로채 들여다보는 도구(스니퍼)는 네트워크 트래픽 수집용으로 데이터 정확성 감사와 다르다.
  • 라우터 트래픽을 그래프로 보여 주는 도구(MRTG)는 회선 사용량 모니터링용이다.
  • 네트워크 로그 서버 분석은 접속·이벤트 기록 추적으로 수치 무결성 검증과 다르다.
문제 20
Cross Site Scripting(XSS) 공격유형에 해당하지 않는 것은?
1Reflash XSS 공격
2Reflected XSS 공격
3DOM(Document Object Model) 기반 XSS 공격
4Stored XSS 공격
정답 및 해설

XSS 공격 유형은 반사형(Reflected), 저장형(Stored), DOM 기반으로 나뉘며, Reflash XSS라는 유형은 존재하지 않으므로 이것이 XSS 유형에 해당하지 않는 것이다.

나머지는 모두 실제 XSS 유형이다.

  • 요청에 담긴 스크립트가 응답에 즉시 반사되어 실행되는 유형(Reflected XSS)은 실제 유형이다.
  • 문서 객체 모델을 조작해 클라이언트에서 실행되는 유형(DOM 기반 XSS)은 실제 유형이다.
  • 악성 스크립트가 서버에 저장되었다가 실행되는 유형(Stored XSS)은 실제 유형이다.