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

16년 1회차

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

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

16년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
모바일 운영체제인 iOS와 안드로이드의 보안 체계에 대한 설명 으로 옳지 않은 것은?
1iOS는 모든 앱에 대한 코드 무결성 점검을 수행하여 설치를 제한한다.
2iOS와 안드로이드 모두 프로그램의 실행 권한이 일반 사용자에게 있다.
3iOS는 애플의 CA를 통하여 앱을 서명 및 배포하고, 안드로이드는 개발자가 서명 및 배포한다.
4보안 통제권이 iOS는 애플에 있고, 안드로이드는 개발자나 사용자에게 있다.
정답 및 해설

틀린 설명은 iOS와 안드로이드 모두 실행 권한이 일반 사용자에게 있다는 진술이다.

정보보안 교재의 iOS·안드로이드 보안 비교에서 프로그램 실행 권한은 iOS가 관리자, 안드로이드가 일반 사용자로 서로 다르게 분류되므로 "모두 일반 사용자"라는 진술은 성립하지 않는다.

  • iOS가 모든 앱의 코드 무결성을 점검해 설치를 제한한다는 설명은 옳다.
  • iOS는 애플 CA 서명으로 배포하고 안드로이드는 개발자가 스스로 서명해 배포한다는 설명은 옳다.
  • 보안 통제권이 iOS는 애플에, 안드로이드는 개발자나 사용자에게 있다는 설명은 옳다.
문제 2
시스템 접근을 허락받은 후에 그 시스템의 어떤 기능 또는 서비스를 이용할 수 있도록 필요한 권한을 부여하는 것은?
1식별(identification)
2인증(authentication)
3인가(authorization)
4평가(evaluation)
정답 및 해설

접근이 허락된 주체에게 기능·서비스를 이용할 권한을 부여하는 것은 인가(authorization)이다.

접근통제는 식별 → 인증 → 인가 순으로 진행되며, 인가는 신원이 확인된 뒤 무엇을 할 수 있는지를 결정하는 단계다.

  • 식별은 사용자가 자신이 누구인지 밝히는(ID 제시) 단계다.
  • 인증은 제시한 신원이 진짜인지 패스워드·인증서 등으로 확인하는 단계다.
  • 평가는 접근통제의 권한 부여 단계를 가리키는 용어가 아니다.
문제 3
컴퓨터 기반 사회공학적 공격기법에 해당하지 않는 것은?
1피싱(phishing)
2파밍(pharming)
3스미싱(smishing)
4스푸핑(spoofing)
정답 및 해설

사회공학적 공격기법에 해당하지 않는 것은 스푸핑(spoofing)이다.

스푸핑은 IP·MAC·DNS 주소 등을 위조해 다른 시스템으로 가장하는 기술적 위장 공격으로, 사람의 심리를 속이는 사회공학과 구분된다.

  • 피싱은 금융기관 등을 사칭한 메일·사이트로 사용자를 속여 정보를 입력하게 한다.
  • 파밍은 사용자가 정상 주소로 접속해도 위조 사이트로 유도해 정보를 빼낸다.
  • 스미싱은 문자메시지(SMS) 속 링크로 사용자를 속여 악성 앱 설치나 소액결제를 유도한다.
문제 4
다음의 명령어를 실행한 파일의 접근 권한으로 옳은 것은?
chmod 751 test.c
1-rwxr-x--x
2-rwxrw---x
3-rwxr-x---
4-rw-r-----
정답 및 해설

chmod 751 을 적용한 결과는 -rwxr-x--x이다.

8진수 각 자리를 r=4, w=2, x=1 비트로 나눈다.
소유자 7 = 4+2+1 → rwx
그룹 5 = 4+1 → r-x
기타 1 = 1 → --x

  • -rwxrw---x 는 그룹이 6(rw-), 기타가 1이므로 761 에 해당한다.
  • -rwxr-x--- 는 기타가 0이므로 750 에 해당한다.
  • -rw-r----- 는 640에 해당한다.
문제 5
FTP 보안에 대한 설명으로 옳지 않은 것은?
1임의의 계정으로 로그인 시도를 반복적으로 수행하여 사용자 계정의 패스워드를 유추할 수 있는 취약점이 있다.
2사용자 인증정보 유출 방지를 위한 보안 대책으로 SCP, SFTP, FTPS 등이 있다.
3익명 FTP는 모든 사용자에게 동일한 사용자 아이디와 유효한 사용자 이메일 주소를 패스워드로 요구한다.
4FTP 보안 대책으로 반드시 서비스 사용이 필요하지 않은 경우 FTP 서비스 사용을 금지하는 것이 좋다.
정답 및 해설

틀린 설명은 익명 FTP가 유효한 사용자 이메일 주소를 패스워드로 요구한다는 진술이다.

익명 FTP는 anonymous 같은 공용 계정으로 누구나 접속하게 하는 서비스로, 패스워드 자리에 이메일을 적도록 안내하는 것은 관례일 뿐 유효한 주소를 요구하거나 검증하지 않는다.

  • 임의 계정으로 로그인을 반복 시도해 패스워드를 유추하는 무차별 대입 취약점이 있다는 설명은 옳다.
  • 평문 인증정보 유출을 막는 대책으로 SCP·SFTP·FTPS 가 있다는 설명은 옳다.
  • 꼭 필요하지 않으면 FTP 서비스를 사용하지 않는 것이 좋다는 설명은 옳다.
문제 6
SSL 프로토콜 스택에 포함되지 않는 것은?
1handshake 프로토콜
2alert 프로토콜
3record 프로토콜
4user authentication 프로토콜
정답 및 해설

SSL 프로토콜 스택에 없는 것은 user authentication 프로토콜이다.

SSL은 하위의 Record 프로토콜 위에 Handshake·Change Cipher Spec·Alert 프로토콜이 놓인 구조다.

  • handshake 프로토콜은 암호 알고리즘 협상과 키 교환, 서버(필요시 클라이언트) 인증을 수행한다.
  • alert 프로토콜은 오류나 경고 메시지를 상대에게 전달한다.
  • record 프로토콜은 상위 데이터를 단편화·압축·MAC 부가·암호화해 전송한다.
문제 7
전자우편의 보안성 향상을 위해 개발된 것이 아닌 것은?
1SMTP
2PGP
3S/MIME
4PEM
정답 및 해설

전자우편 보안을 위해 개발된 것이 아닌 것은 SMTP이다.

SMTP는 메일을 전송하는 기본 프로토콜로, 자체적으로 암호화·전자서명 기능이 없다.

  • PGP는 전자서명과 암호화로 메일의 기밀성·무결성·인증을 제공한다.
  • S/MIME 은 MIME 메시지에 인증서 기반 서명과 암호화를 적용한다.
  • PEM 은 IETF가 제안한 메일 보안 표준으로 기밀성·인증·무결성을 제공한다.
문제 8
일반적으로 이메일 형식으로 전달되며, 이메일 혹은 게시판 등에 거짓정보나 소문 등을 실어 사용자를 겁주거나 속이는 것은?
1혹스(Hoax)
2트로이 목마(Trojan horse)
3백도어(Backdoor)
4스파이웨어(Spyware)
정답 및 해설

거짓 정보나 소문을 메일·게시판에 퍼뜨려 사용자를 겁주거나 속이는 것은 혹스(Hoax)이다.

혹스는 실제 악성코드가 아니라 "바이러스가 있으니 이 파일을 지워라" 같은 거짓 경고로 사용자를 속여 스스로 피해를 내게 한다.

  • 트로이 목마는 정상 프로그램으로 위장해 악의적 기능을 수행하는 악성코드다.
  • 백도어는 정상 인증을 우회해 시스템에 접근하는 비밀 통로다.
  • 스파이웨어는 사용자 몰래 정보를 수집해 외부로 보내는 프로그램이다.
문제 9
클라이언트 측에서 웹사이트에 접속할 때 발생하는 HTTP 에러코드와 이의 원인을 설명한 것으로 옳지 않은 것은?
1401 Unauthorized :특정 웹사이트에 접속하기 위해 정확한 사용자 아이디와 암호를 입력하여야 하는데, 잘못된 정보를 입력하였을 경우
2403 Forbidden :다른 요청이나 서버의 구성과 충돌이 발생할 경우
3404 Not Found : URL이나 링크가 변경되어 요청한 주소의 페이지가 없을 경우
4414 Request-URI Too Long :요청에 사용된 URL이 서버가 감당할 수 없을 만큼 너무 길 경우
정답 및 해설

틀린 설명은 403 Forbidden을 다른 요청이나 서버 구성과의 충돌로 설명한 것이다.

403은 서버가 요청을 이해했지만 접근 권한이 없어 거부하는 경우이고, 요청이 리소스 상태와 충돌하는 경우는 409 Conflict 에 해당한다.

  • 401 Unauthorized 는 인증 정보가 없거나 잘못된 경우로 옳다.
  • 404 Not Found 는 요청한 주소의 리소스가 없는 경우로 옳다.
  • 414 Request-URI Too Long 은 요청 URI가 서버가 처리할 수 없을 만큼 긴 경우로 옳다.
문제 10
다음에서 설명하는 윈도우 NTFS 파일시스템의 구조는?

모든 파일 및 디렉터리에 대한 정보가 저장된다. 즉, 정보는 파일 내용들을 정의하는 속성들의 집합으로 구성된다.

1PBS
2MFT
3시스템 파일
4백업 수퍼 블록
정답 및 해설

설명에 해당하는 NTFS 구조는 MFT(Master File Table)이다.

MFT는 볼륨의 모든 파일·디렉터리마다 엔트리를 두고, 파일 이름·시간 정보·데이터 등을 속성(attribute)의 집합으로 저장한다.

  • PBS(파티션 부트 섹터)는 볼륨 앞부분에서 부트 코드와 볼륨 정보를 담는다.
  • 시스템 파일은 NTFS가 내부 관리용으로 두는 메타데이터 파일들을 가리키며, 모든 파일 정보를 담는 표 자체가 아니다.
  • 백업 수퍼 블록은 유닉스 계열 파일시스템(ext 등)의 구조다.
문제 11
<보기 1>의 상황과 개인정보의 안전한 전달을 위해 제공되어야 할 <보기 2>의 정보보호서비스를 바르게 연결한 것은? (순서대로 ㄱ, ㄴ, ㄷ, ㄹ)

<보기 1>

  • ㄱ. 갑은 송신하는 개인정보를 도청당하는 일이 없이 을에게 전달하기 원한다.
  • ㄴ. 갑은 송신하는 개인정보가 조작당하는 일이 없이 을에게 전달되기 원한다.
  • ㄷ. 갑은 통신 상대의 웹 서버가 진짜 을의 서버라는 것을 확인하고 싶다.
  • ㄹ. 갑은 을의 서버에 적절한 시간에 접속하여 정상적으로 요청된 내용을 수행하고 싶다.

<보기 2>

  • A. 기밀성
  • B. 무결성
  • C. 인증
  • D. 가용성
1A, B, C, D
2A, D, C, B
3B, A, C, D
4B, A, D, C
정답 및 해설

ㄱ~ㄹ에 맞는 서비스는 차례로 기밀성, 무결성, 인증, 가용성이다.

각 상황이 막으려는 위협(노출·변조·위장·서비스 방해)을 정보보호의 핵심 서비스에 대응시키면 된다.

  • 도청당하지 않기를 원하는 ㄱ은 내용 노출을 막는 기밀성이다.
  • 조작당하지 않기를 원하는 ㄴ은 변조를 막는 무결성이다.
  • 상대 서버가 진짜 을의 서버인지 확인하려는 ㄷ은 인증이다.
  • 필요한 때에 접속해 정상적으로 서비스를 받으려는 ㄹ은 가용성이다.
문제 12
운영체제에서 제공하는 파일 및 디렉터리 관리에 대한 설명으로 옳지 않은 것은?
1윈도우즈 NT 계열의 운영체제는 파일과 디렉터리에 대한 접근 제어를 통제하기 위하여 NTFS를 사용한다.
2윈도우즈 NTFS는 모든 권한, 수정, 읽기 및 실행, 폴더내용보기, 읽기, 쓰기와 같은 6가지 권한을 설정하여 운영한다.
3유닉스 계열은 파일이나 디렉터리 등의 자원에 대한 접근 제어를 위해 소유권과 접근 권한을 할당한다.
4유닉스 계열에서는 ‘etc/passwd’ 파일이나 ‘shadow’ 파일의 읽기 및 쓰기 권한을 일반 사용자에게 부여해도 안전하다.
정답 및 해설

틀린 설명은 passwd·shadow 파일의 쓰기 권한을 일반 사용자에게 주어도 안전하다는 진술이다.

/etc/passwd 는 쓰기를 root 만 갖게 하고, 패스워드 해시가 담긴 /etc/shadow 는 일반 사용자에게 읽기조차 허용하지 않아야 한다. 쓰기를 허용하면 계정 추가나 UID 0 변조로 관리자 권한을 탈취당한다.

  • 윈도우즈 NT 계열이 NTFS로 파일·디렉터리 접근을 통제한다는 설명은 옳다.
  • NTFS가 모든 권한·수정·읽기 및 실행·폴더 내용 보기·읽기·쓰기의 여섯 가지 권한을 둔다는 설명은 옳다.
  • 유닉스 계열이 소유권과 접근 권한으로 자원 접근을 통제한다는 설명은 옳다.
문제 13
패스워드 공격에 대한 설명으로 옳지 않은 것은?
1사용자의 패스워드는 암호화하여 저장하는 것이 안전하다.
2패스워드를 알아내기 위하여 사용자의 신원이나 주변 정보로 패스워드를 알아내는 사회공학적 방법이 있다.
3Brute force 공격은 사용자가 패스워드를 입력할 때 가로채는 공격이다.
4Crypt() 함수를 이용하여 패스워드를 추측할 수 있다.
정답 및 해설

틀린 설명은 Brute force 공격이 입력하는 패스워드를 가로채는 공격이라는 진술이다.

Brute force(무차별 대입) 공격은 가능한 모든 문자 조합을 차례로 대입해 패스워드를 찾는 방식이며, 입력 중 가로채기는 스니핑·키로깅에 해당한다.

  • 패스워드를 암호화(해시)해 저장하는 것이 안전하다는 설명은 옳다.
  • 사용자의 신원·주변 정보로 추측하는 사회공학적 방법이 있다는 설명은 옳다.
  • 후보 단어를 crypt() 함수로 변환해 저장된 값과 비교하는 방식으로 패스워드를 추측할 수 있다는 설명은 옳다.
문제 14
보안이 취약한 웹 게시판이 저장 XSS 공격을 받았다고 가정했을 때, 이를 해결하기 위한 방법으로 가장 적절한 것은?
1가상 사설망을 통해서만 사용자 게시판에 접근하도록 한다.
2접근 권한을 설정하여 허가된 사용자만 글을 올릴 수 있게한다.
3사용자 게시글 속에 있는 악성 스크립트 코드를 찾아서 제거한다.
4SSL을 사용하여 사용자가 게시글을 올릴 수 있게 한다.
정답 및 해설

저장 XSS에 가장 적절한 대책은 게시글 속 악성 스크립트 코드를 찾아 제거하는 것이다.

저장 XSS는 게시글에 심어 둔 스크립트가 열람자의 브라우저에서 실행되는 공격이므로, 입력·출력 시 스크립트를 필터링하거나 무력화해야 근본적으로 막힌다.

  • 가상 사설망 접속으로 제한해도 저장된 스크립트는 그대로 실행된다.
  • 허가된 사용자만 글을 쓰게 해도 그 사용자가 스크립트를 넣으면 막지 못한다.
  • SSL은 전송 구간만 암호화할 뿐 게시글 내용의 스크립트를 걸러내지 않는다.
문제 15
괄호 안에 들어갈 웹의 취약점은?

( )는(은) 불특정 다수를 대상으로 로그인된 사용자가 자신의 의도와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록, 송금) 등을 하게 만드는 공격이다.

1명령 삽입 취약점
2XSS 취약점
3디렉터리 리스팅 취약점
4CSRF 취약점
정답 및 해설

괄호에 들어갈 취약점은 CSRF(사이트 간 요청 위조)이다.

단서는 로그인된 사용자가 자기 의도와 무관하게 수정·삭제·등록·송금 요청을 보내게 된다는 점으로, 사용자의 인증된 권한으로 요청을 위조하는 공격이다.

  • 명령 삽입 취약점은 입력값에 운영체제 명령을 섞어 서버에서 실행시키는 공격이다.
  • XSS 취약점은 악성 스크립트를 사용자 브라우저에서 실행시켜 쿠키 탈취 등을 노리는 공격이다.
  • 디렉터리 리스팅 취약점은 웹 서버가 디렉터리의 파일 목록을 그대로 노출하는 설정 결함이다.
문제 16
다음은 스택 버퍼 오버플로우 공격을 효과적으로 방어하기 위한 스택 보호 메커니즘을 서술한 것이다. ㉠∼㉢에 들어갈 말을 바르게 연결한 것은? (순서대로 ㉠, ㉡, ㉢)

스택가드(stackguard)는 가장 잘 알려진 보호 메커니즘 중 하나이다. 이것은 GCC 컴파일러의 확장 버전으로 추가의 함수 진입과 종료 코드를 삽입한다. 추가되는 함수 진입 코드는 지역변수를 위한 공간을 할당하기 전에 이전 ( ㉠ ) 주소 앞에 ( ㉡ ) 값을 기록한다. 추가되는 함수 종료 코드는 이전 ( ㉠ )를 복원하고 제어를 ( ㉢ )로 이동하는 보통의 함수 종료 연산을 수행하기 전에 ( ㉡ ) 값이 변경되었는지를 검사한다. 전통적인 스택 버퍼 오버플로우 시도는 이전 ( ㉠ )와 ( ㉢ )를 변경하기 위해 ( ㉡ ) 값을 바꾸어야 하는데, 만약 변경되었다면 프로그램을 종료하게 된다.

1스택포인터, 반환주소, 카나리아(canary)
2스택포인터, 카나리아(canary), 반환주소
3프레임 포인터, 카나리아(canary), 반환주소
4프레임 포인터, 반환주소, 스택포인터
정답 및 해설

㉠~㉢에는 차례로 프레임 포인터, 카나리아(canary), 반환주소가 들어간다.

스택가드는 지역변수 공간과 저장된 이전 프레임 포인터·반환주소 사이에 카나리아 값을 넣어 두고, 함수가 반환주소로 돌아가기 전에 그 값이 바뀌었는지 검사한다.

  • 함수 종료 시 복원되는 "이전 ㉠"은 호출자의 스택 프레임 기준인 프레임 포인터이며, 스택포인터가 아니다.
  • 함수 종료 후 제어가 이동하는 ㉢은 반환주소이고, 그 앞을 덮어쓰려면 반드시 ㉡ 카나리아를 지나야 하므로 변조가 탐지된다.
문제 17
응용 보안에 대한 설명으로 옳지 않은 것은?
1HTTPS는 웹 브라우저와 웹 서버 간의 안전한 통신을 구현하기 위해 HTTP와 SSL을 결합한 것이다.
2SET는 웹 보안을 위하여 메시지 기밀성은 제공되지만, 메시지 무결성은 제공되지 않는다.
3공개키기반구조(PKI)는 전자서명, 전자상거래 등이 안전하게 구현되기 위하여 구축되어야 할 기반 기술이다.
4스팸메일의 문제점은 인터넷망을 통해 무차별로 전송되어 원하지 않는 사람이 읽거나 처리하는 데 많은 시간과 비용을 낭비하게 된다는 것이다.
정답 및 해설

틀린 설명은 SET가 메시지 무결성을 제공하지 않는다는 진술이다.

SET는 전자서명(이중서명)과 해시를 이용해 기밀성뿐 아니라 무결성·인증·부인방지까지 제공하는 전자상거래 보안 프로토콜이다.

  • HTTPS가 HTTP와 SSL을 결합해 브라우저와 서버 간 안전한 통신을 구현한다는 설명은 옳다.
  • PKI가 전자서명·전자상거래의 기반 기술이라는 설명은 옳다.
  • 스팸메일이 무차별 전송되어 수신자의 시간과 비용을 낭비시킨다는 설명은 옳다.
문제 18
트립와이어(tripwire)에 대한 설명으로 옳지 않은 것은?
1파일의 무결성을 검사하는 도구이며, 해쉬 알고리즘을 이용하여 시스템에 존재하는 파일에 관한 정보를 데이터베이스화 한다.
2해커의 침입으로 인한 시스템 파일이나 디렉터리의 변경을 쉽게 검출할 수 있도록 도와준다.
3데이터베이스에 저장된 해쉬 결과 값과 현재 파일의 해쉬결과 값을 비교하여 무결성 여부를 판단한다.
4트립와이어의 데이터베이스에는 파일의 해쉬 결과 값이 저장되어 있어서 물리적 보안 대책이 필요 없다.
정답 및 해설

틀린 설명은 트립와이어 데이터베이스에 물리적 보안 대책이 필요 없다는 진술이다.

공격자가 기준 데이터베이스를 변조하면 변경을 검출하지 못하므로, 데이터베이스는 읽기 전용 매체 보관 등으로 별도 보호해야 한다.

  • 해시로 파일 정보를 데이터베이스화하는 무결성 검사 도구라는 설명은 옳다.
  • 침입으로 인한 파일·디렉터리 변경을 쉽게 검출하게 돕는다는 설명은 옳다.
  • 저장된 해시값과 현재 해시값을 비교해 무결성을 판단한다는 설명은 옳다.
문제 19
괄호 안에 들어갈 말로 옳은 것은?

운영체제의 구조는 이중 모드(dual mode)로 되어 있는데, 이는 사용자 모드(user mode)와 커널 모드(kernel mode, 또는 운영체제 실행 모드)이다. 이 중 사용자 모드는 특권 명령어를 사용할 수 없으며, 이러한 경우에 사용자 프로세스는 운영체제에게 도움을 요청하게 되는데, 이를 ( )(이)라 한다. 즉, ( )는(은) 실행 중인 프로그램과 운영체제 사이에 인터페이스를 제공하는 것이다.

1시스템 관리(system management)
2시스템 호출(system call)
3프로세스 관리(process management)
4스케줄링(scheduling)
정답 및 해설

괄호에 들어갈 말은 시스템 호출(system call)이다.

사용자 모드 프로세스는 특권 명령을 직접 실행할 수 없으므로, 시스템 호출로 커널 모드로 전환해 운영체제가 대신 수행하게 한다. 이것이 실행 중인 프로그램과 운영체제 사이의 인터페이스다.

  • 시스템 관리는 운영체제가 자원을 관리하는 일반적 기능을 뜻하며, 프로세스가 커널에 요청하는 인터페이스가 아니다.
  • 프로세스 관리는 프로세스의 생성·종료·동기화 등을 다루는 운영체제 기능이다.
  • 스케줄링은 CPU를 어느 프로세스에 할당할지 정하는 기능이다.
문제 20
코드 보안과 관련된 설명으로 옳지 않은 것은?
1버퍼 오버플로우 공격은 데이터 길이에 대한 불명확한 정의를 이용한 공격이다.
2gets()는 버퍼 오버플로우 공격에 취약하지 않은 함수이다.
3포맷 스트링 공격은 데이터 형태에 대한 불명확한 정의로 발생한다.
4버퍼 오버플로우 공격 방어 방법으로는 공격에 취약한 함수를 사용하지 않거나 최신 운영체제를 사용하는 것 등이 있다.
정답 및 해설

틀린 설명은 gets()가 버퍼 오버플로우에 취약하지 않다는 진술이다.

gets()는 입력 길이를 검사하지 않고 버퍼에 복사하므로 대표적인 취약 함수이며, 길이를 지정하는 fgets() 로 대체해야 한다.

  • 버퍼 오버플로우가 데이터 길이에 대한 불명확한 정의를 이용한다는 설명은 옳다.
  • 포맷 스트링 공격이 데이터 형태에 대한 불명확한 정의로 발생한다는 설명은 옳다.
  • 취약 함수를 쓰지 않거나 최신 운영체제를 쓰는 것이 방어 방법이라는 설명은 옳다.
9급 국가직 정보시스템보안 기출문제모두CBT · moducbt.com
16년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
모바일 운영체제인 iOS와 안드로이드의 보안 체계에 대한 설명 으로 옳지 않은 것은?
1iOS는 모든 앱에 대한 코드 무결성 점검을 수행하여 설치를 제한한다.
2iOS와 안드로이드 모두 프로그램의 실행 권한이 일반 사용자에게 있다.
3iOS는 애플의 CA를 통하여 앱을 서명 및 배포하고, 안드로이드는 개발자가 서명 및 배포한다.
4보안 통제권이 iOS는 애플에 있고, 안드로이드는 개발자나 사용자에게 있다.
정답 및 해설

틀린 설명은 iOS와 안드로이드 모두 실행 권한이 일반 사용자에게 있다는 진술이다.

정보보안 교재의 iOS·안드로이드 보안 비교에서 프로그램 실행 권한은 iOS가 관리자, 안드로이드가 일반 사용자로 서로 다르게 분류되므로 "모두 일반 사용자"라는 진술은 성립하지 않는다.

  • iOS가 모든 앱의 코드 무결성을 점검해 설치를 제한한다는 설명은 옳다.
  • iOS는 애플 CA 서명으로 배포하고 안드로이드는 개발자가 스스로 서명해 배포한다는 설명은 옳다.
  • 보안 통제권이 iOS는 애플에, 안드로이드는 개발자나 사용자에게 있다는 설명은 옳다.
문제 2
시스템 접근을 허락받은 후에 그 시스템의 어떤 기능 또는 서비스를 이용할 수 있도록 필요한 권한을 부여하는 것은?
1식별(identification)
2인증(authentication)
3인가(authorization)
4평가(evaluation)
정답 및 해설

접근이 허락된 주체에게 기능·서비스를 이용할 권한을 부여하는 것은 인가(authorization)이다.

접근통제는 식별 → 인증 → 인가 순으로 진행되며, 인가는 신원이 확인된 뒤 무엇을 할 수 있는지를 결정하는 단계다.

  • 식별은 사용자가 자신이 누구인지 밝히는(ID 제시) 단계다.
  • 인증은 제시한 신원이 진짜인지 패스워드·인증서 등으로 확인하는 단계다.
  • 평가는 접근통제의 권한 부여 단계를 가리키는 용어가 아니다.
문제 3
컴퓨터 기반 사회공학적 공격기법에 해당하지 않는 것은?
1피싱(phishing)
2파밍(pharming)
3스미싱(smishing)
4스푸핑(spoofing)
정답 및 해설

사회공학적 공격기법에 해당하지 않는 것은 스푸핑(spoofing)이다.

스푸핑은 IP·MAC·DNS 주소 등을 위조해 다른 시스템으로 가장하는 기술적 위장 공격으로, 사람의 심리를 속이는 사회공학과 구분된다.

  • 피싱은 금융기관 등을 사칭한 메일·사이트로 사용자를 속여 정보를 입력하게 한다.
  • 파밍은 사용자가 정상 주소로 접속해도 위조 사이트로 유도해 정보를 빼낸다.
  • 스미싱은 문자메시지(SMS) 속 링크로 사용자를 속여 악성 앱 설치나 소액결제를 유도한다.
문제 4
다음의 명령어를 실행한 파일의 접근 권한으로 옳은 것은?
chmod 751 test.c
1-rwxr-x--x
2-rwxrw---x
3-rwxr-x---
4-rw-r-----
정답 및 해설

chmod 751 을 적용한 결과는 -rwxr-x--x이다.

8진수 각 자리를 r=4, w=2, x=1 비트로 나눈다.
소유자 7 = 4+2+1 → rwx
그룹 5 = 4+1 → r-x
기타 1 = 1 → --x

  • -rwxrw---x 는 그룹이 6(rw-), 기타가 1이므로 761 에 해당한다.
  • -rwxr-x--- 는 기타가 0이므로 750 에 해당한다.
  • -rw-r----- 는 640에 해당한다.
문제 5
FTP 보안에 대한 설명으로 옳지 않은 것은?
1임의의 계정으로 로그인 시도를 반복적으로 수행하여 사용자 계정의 패스워드를 유추할 수 있는 취약점이 있다.
2사용자 인증정보 유출 방지를 위한 보안 대책으로 SCP, SFTP, FTPS 등이 있다.
3익명 FTP는 모든 사용자에게 동일한 사용자 아이디와 유효한 사용자 이메일 주소를 패스워드로 요구한다.
4FTP 보안 대책으로 반드시 서비스 사용이 필요하지 않은 경우 FTP 서비스 사용을 금지하는 것이 좋다.
정답 및 해설

틀린 설명은 익명 FTP가 유효한 사용자 이메일 주소를 패스워드로 요구한다는 진술이다.

익명 FTP는 anonymous 같은 공용 계정으로 누구나 접속하게 하는 서비스로, 패스워드 자리에 이메일을 적도록 안내하는 것은 관례일 뿐 유효한 주소를 요구하거나 검증하지 않는다.

  • 임의 계정으로 로그인을 반복 시도해 패스워드를 유추하는 무차별 대입 취약점이 있다는 설명은 옳다.
  • 평문 인증정보 유출을 막는 대책으로 SCP·SFTP·FTPS 가 있다는 설명은 옳다.
  • 꼭 필요하지 않으면 FTP 서비스를 사용하지 않는 것이 좋다는 설명은 옳다.
문제 6
SSL 프로토콜 스택에 포함되지 않는 것은?
1handshake 프로토콜
2alert 프로토콜
3record 프로토콜
4user authentication 프로토콜
정답 및 해설

SSL 프로토콜 스택에 없는 것은 user authentication 프로토콜이다.

SSL은 하위의 Record 프로토콜 위에 Handshake·Change Cipher Spec·Alert 프로토콜이 놓인 구조다.

  • handshake 프로토콜은 암호 알고리즘 협상과 키 교환, 서버(필요시 클라이언트) 인증을 수행한다.
  • alert 프로토콜은 오류나 경고 메시지를 상대에게 전달한다.
  • record 프로토콜은 상위 데이터를 단편화·압축·MAC 부가·암호화해 전송한다.
문제 7
전자우편의 보안성 향상을 위해 개발된 것이 아닌 것은?
1SMTP
2PGP
3S/MIME
4PEM
정답 및 해설

전자우편 보안을 위해 개발된 것이 아닌 것은 SMTP이다.

SMTP는 메일을 전송하는 기본 프로토콜로, 자체적으로 암호화·전자서명 기능이 없다.

  • PGP는 전자서명과 암호화로 메일의 기밀성·무결성·인증을 제공한다.
  • S/MIME 은 MIME 메시지에 인증서 기반 서명과 암호화를 적용한다.
  • PEM 은 IETF가 제안한 메일 보안 표준으로 기밀성·인증·무결성을 제공한다.
문제 8
일반적으로 이메일 형식으로 전달되며, 이메일 혹은 게시판 등에 거짓정보나 소문 등을 실어 사용자를 겁주거나 속이는 것은?
1혹스(Hoax)
2트로이 목마(Trojan horse)
3백도어(Backdoor)
4스파이웨어(Spyware)
정답 및 해설

거짓 정보나 소문을 메일·게시판에 퍼뜨려 사용자를 겁주거나 속이는 것은 혹스(Hoax)이다.

혹스는 실제 악성코드가 아니라 "바이러스가 있으니 이 파일을 지워라" 같은 거짓 경고로 사용자를 속여 스스로 피해를 내게 한다.

  • 트로이 목마는 정상 프로그램으로 위장해 악의적 기능을 수행하는 악성코드다.
  • 백도어는 정상 인증을 우회해 시스템에 접근하는 비밀 통로다.
  • 스파이웨어는 사용자 몰래 정보를 수집해 외부로 보내는 프로그램이다.
문제 9
클라이언트 측에서 웹사이트에 접속할 때 발생하는 HTTP 에러코드와 이의 원인을 설명한 것으로 옳지 않은 것은?
1401 Unauthorized :특정 웹사이트에 접속하기 위해 정확한 사용자 아이디와 암호를 입력하여야 하는데, 잘못된 정보를 입력하였을 경우
2403 Forbidden :다른 요청이나 서버의 구성과 충돌이 발생할 경우
3404 Not Found : URL이나 링크가 변경되어 요청한 주소의 페이지가 없을 경우
4414 Request-URI Too Long :요청에 사용된 URL이 서버가 감당할 수 없을 만큼 너무 길 경우
정답 및 해설

틀린 설명은 403 Forbidden을 다른 요청이나 서버 구성과의 충돌로 설명한 것이다.

403은 서버가 요청을 이해했지만 접근 권한이 없어 거부하는 경우이고, 요청이 리소스 상태와 충돌하는 경우는 409 Conflict 에 해당한다.

  • 401 Unauthorized 는 인증 정보가 없거나 잘못된 경우로 옳다.
  • 404 Not Found 는 요청한 주소의 리소스가 없는 경우로 옳다.
  • 414 Request-URI Too Long 은 요청 URI가 서버가 처리할 수 없을 만큼 긴 경우로 옳다.
문제 10
다음에서 설명하는 윈도우 NTFS 파일시스템의 구조는?

모든 파일 및 디렉터리에 대한 정보가 저장된다. 즉, 정보는 파일 내용들을 정의하는 속성들의 집합으로 구성된다.

1PBS
2MFT
3시스템 파일
4백업 수퍼 블록
정답 및 해설

설명에 해당하는 NTFS 구조는 MFT(Master File Table)이다.

MFT는 볼륨의 모든 파일·디렉터리마다 엔트리를 두고, 파일 이름·시간 정보·데이터 등을 속성(attribute)의 집합으로 저장한다.

  • PBS(파티션 부트 섹터)는 볼륨 앞부분에서 부트 코드와 볼륨 정보를 담는다.
  • 시스템 파일은 NTFS가 내부 관리용으로 두는 메타데이터 파일들을 가리키며, 모든 파일 정보를 담는 표 자체가 아니다.
  • 백업 수퍼 블록은 유닉스 계열 파일시스템(ext 등)의 구조다.
문제 11
<보기 1>의 상황과 개인정보의 안전한 전달을 위해 제공되어야 할 <보기 2>의 정보보호서비스를 바르게 연결한 것은? (순서대로 ㄱ, ㄴ, ㄷ, ㄹ)

<보기 1>

  • ㄱ. 갑은 송신하는 개인정보를 도청당하는 일이 없이 을에게 전달하기 원한다.
  • ㄴ. 갑은 송신하는 개인정보가 조작당하는 일이 없이 을에게 전달되기 원한다.
  • ㄷ. 갑은 통신 상대의 웹 서버가 진짜 을의 서버라는 것을 확인하고 싶다.
  • ㄹ. 갑은 을의 서버에 적절한 시간에 접속하여 정상적으로 요청된 내용을 수행하고 싶다.

<보기 2>

  • A. 기밀성
  • B. 무결성
  • C. 인증
  • D. 가용성
1A, B, C, D
2A, D, C, B
3B, A, C, D
4B, A, D, C
정답 및 해설

ㄱ~ㄹ에 맞는 서비스는 차례로 기밀성, 무결성, 인증, 가용성이다.

각 상황이 막으려는 위협(노출·변조·위장·서비스 방해)을 정보보호의 핵심 서비스에 대응시키면 된다.

  • 도청당하지 않기를 원하는 ㄱ은 내용 노출을 막는 기밀성이다.
  • 조작당하지 않기를 원하는 ㄴ은 변조를 막는 무결성이다.
  • 상대 서버가 진짜 을의 서버인지 확인하려는 ㄷ은 인증이다.
  • 필요한 때에 접속해 정상적으로 서비스를 받으려는 ㄹ은 가용성이다.
문제 12
운영체제에서 제공하는 파일 및 디렉터리 관리에 대한 설명으로 옳지 않은 것은?
1윈도우즈 NT 계열의 운영체제는 파일과 디렉터리에 대한 접근 제어를 통제하기 위하여 NTFS를 사용한다.
2윈도우즈 NTFS는 모든 권한, 수정, 읽기 및 실행, 폴더내용보기, 읽기, 쓰기와 같은 6가지 권한을 설정하여 운영한다.
3유닉스 계열은 파일이나 디렉터리 등의 자원에 대한 접근 제어를 위해 소유권과 접근 권한을 할당한다.
4유닉스 계열에서는 ‘etc/passwd’ 파일이나 ‘shadow’ 파일의 읽기 및 쓰기 권한을 일반 사용자에게 부여해도 안전하다.
정답 및 해설

틀린 설명은 passwd·shadow 파일의 쓰기 권한을 일반 사용자에게 주어도 안전하다는 진술이다.

/etc/passwd 는 쓰기를 root 만 갖게 하고, 패스워드 해시가 담긴 /etc/shadow 는 일반 사용자에게 읽기조차 허용하지 않아야 한다. 쓰기를 허용하면 계정 추가나 UID 0 변조로 관리자 권한을 탈취당한다.

  • 윈도우즈 NT 계열이 NTFS로 파일·디렉터리 접근을 통제한다는 설명은 옳다.
  • NTFS가 모든 권한·수정·읽기 및 실행·폴더 내용 보기·읽기·쓰기의 여섯 가지 권한을 둔다는 설명은 옳다.
  • 유닉스 계열이 소유권과 접근 권한으로 자원 접근을 통제한다는 설명은 옳다.
문제 13
패스워드 공격에 대한 설명으로 옳지 않은 것은?
1사용자의 패스워드는 암호화하여 저장하는 것이 안전하다.
2패스워드를 알아내기 위하여 사용자의 신원이나 주변 정보로 패스워드를 알아내는 사회공학적 방법이 있다.
3Brute force 공격은 사용자가 패스워드를 입력할 때 가로채는 공격이다.
4Crypt() 함수를 이용하여 패스워드를 추측할 수 있다.
정답 및 해설

틀린 설명은 Brute force 공격이 입력하는 패스워드를 가로채는 공격이라는 진술이다.

Brute force(무차별 대입) 공격은 가능한 모든 문자 조합을 차례로 대입해 패스워드를 찾는 방식이며, 입력 중 가로채기는 스니핑·키로깅에 해당한다.

  • 패스워드를 암호화(해시)해 저장하는 것이 안전하다는 설명은 옳다.
  • 사용자의 신원·주변 정보로 추측하는 사회공학적 방법이 있다는 설명은 옳다.
  • 후보 단어를 crypt() 함수로 변환해 저장된 값과 비교하는 방식으로 패스워드를 추측할 수 있다는 설명은 옳다.
문제 14
보안이 취약한 웹 게시판이 저장 XSS 공격을 받았다고 가정했을 때, 이를 해결하기 위한 방법으로 가장 적절한 것은?
1가상 사설망을 통해서만 사용자 게시판에 접근하도록 한다.
2접근 권한을 설정하여 허가된 사용자만 글을 올릴 수 있게한다.
3사용자 게시글 속에 있는 악성 스크립트 코드를 찾아서 제거한다.
4SSL을 사용하여 사용자가 게시글을 올릴 수 있게 한다.
정답 및 해설

저장 XSS에 가장 적절한 대책은 게시글 속 악성 스크립트 코드를 찾아 제거하는 것이다.

저장 XSS는 게시글에 심어 둔 스크립트가 열람자의 브라우저에서 실행되는 공격이므로, 입력·출력 시 스크립트를 필터링하거나 무력화해야 근본적으로 막힌다.

  • 가상 사설망 접속으로 제한해도 저장된 스크립트는 그대로 실행된다.
  • 허가된 사용자만 글을 쓰게 해도 그 사용자가 스크립트를 넣으면 막지 못한다.
  • SSL은 전송 구간만 암호화할 뿐 게시글 내용의 스크립트를 걸러내지 않는다.
문제 15
괄호 안에 들어갈 웹의 취약점은?

( )는(은) 불특정 다수를 대상으로 로그인된 사용자가 자신의 의도와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록, 송금) 등을 하게 만드는 공격이다.

1명령 삽입 취약점
2XSS 취약점
3디렉터리 리스팅 취약점
4CSRF 취약점
정답 및 해설

괄호에 들어갈 취약점은 CSRF(사이트 간 요청 위조)이다.

단서는 로그인된 사용자가 자기 의도와 무관하게 수정·삭제·등록·송금 요청을 보내게 된다는 점으로, 사용자의 인증된 권한으로 요청을 위조하는 공격이다.

  • 명령 삽입 취약점은 입력값에 운영체제 명령을 섞어 서버에서 실행시키는 공격이다.
  • XSS 취약점은 악성 스크립트를 사용자 브라우저에서 실행시켜 쿠키 탈취 등을 노리는 공격이다.
  • 디렉터리 리스팅 취약점은 웹 서버가 디렉터리의 파일 목록을 그대로 노출하는 설정 결함이다.
문제 16
다음은 스택 버퍼 오버플로우 공격을 효과적으로 방어하기 위한 스택 보호 메커니즘을 서술한 것이다. ㉠∼㉢에 들어갈 말을 바르게 연결한 것은? (순서대로 ㉠, ㉡, ㉢)

스택가드(stackguard)는 가장 잘 알려진 보호 메커니즘 중 하나이다. 이것은 GCC 컴파일러의 확장 버전으로 추가의 함수 진입과 종료 코드를 삽입한다. 추가되는 함수 진입 코드는 지역변수를 위한 공간을 할당하기 전에 이전 ( ㉠ ) 주소 앞에 ( ㉡ ) 값을 기록한다. 추가되는 함수 종료 코드는 이전 ( ㉠ )를 복원하고 제어를 ( ㉢ )로 이동하는 보통의 함수 종료 연산을 수행하기 전에 ( ㉡ ) 값이 변경되었는지를 검사한다. 전통적인 스택 버퍼 오버플로우 시도는 이전 ( ㉠ )와 ( ㉢ )를 변경하기 위해 ( ㉡ ) 값을 바꾸어야 하는데, 만약 변경되었다면 프로그램을 종료하게 된다.

1스택포인터, 반환주소, 카나리아(canary)
2스택포인터, 카나리아(canary), 반환주소
3프레임 포인터, 카나리아(canary), 반환주소
4프레임 포인터, 반환주소, 스택포인터
정답 및 해설

㉠~㉢에는 차례로 프레임 포인터, 카나리아(canary), 반환주소가 들어간다.

스택가드는 지역변수 공간과 저장된 이전 프레임 포인터·반환주소 사이에 카나리아 값을 넣어 두고, 함수가 반환주소로 돌아가기 전에 그 값이 바뀌었는지 검사한다.

  • 함수 종료 시 복원되는 "이전 ㉠"은 호출자의 스택 프레임 기준인 프레임 포인터이며, 스택포인터가 아니다.
  • 함수 종료 후 제어가 이동하는 ㉢은 반환주소이고, 그 앞을 덮어쓰려면 반드시 ㉡ 카나리아를 지나야 하므로 변조가 탐지된다.
문제 17
응용 보안에 대한 설명으로 옳지 않은 것은?
1HTTPS는 웹 브라우저와 웹 서버 간의 안전한 통신을 구현하기 위해 HTTP와 SSL을 결합한 것이다.
2SET는 웹 보안을 위하여 메시지 기밀성은 제공되지만, 메시지 무결성은 제공되지 않는다.
3공개키기반구조(PKI)는 전자서명, 전자상거래 등이 안전하게 구현되기 위하여 구축되어야 할 기반 기술이다.
4스팸메일의 문제점은 인터넷망을 통해 무차별로 전송되어 원하지 않는 사람이 읽거나 처리하는 데 많은 시간과 비용을 낭비하게 된다는 것이다.
정답 및 해설

틀린 설명은 SET가 메시지 무결성을 제공하지 않는다는 진술이다.

SET는 전자서명(이중서명)과 해시를 이용해 기밀성뿐 아니라 무결성·인증·부인방지까지 제공하는 전자상거래 보안 프로토콜이다.

  • HTTPS가 HTTP와 SSL을 결합해 브라우저와 서버 간 안전한 통신을 구현한다는 설명은 옳다.
  • PKI가 전자서명·전자상거래의 기반 기술이라는 설명은 옳다.
  • 스팸메일이 무차별 전송되어 수신자의 시간과 비용을 낭비시킨다는 설명은 옳다.
문제 18
트립와이어(tripwire)에 대한 설명으로 옳지 않은 것은?
1파일의 무결성을 검사하는 도구이며, 해쉬 알고리즘을 이용하여 시스템에 존재하는 파일에 관한 정보를 데이터베이스화 한다.
2해커의 침입으로 인한 시스템 파일이나 디렉터리의 변경을 쉽게 검출할 수 있도록 도와준다.
3데이터베이스에 저장된 해쉬 결과 값과 현재 파일의 해쉬결과 값을 비교하여 무결성 여부를 판단한다.
4트립와이어의 데이터베이스에는 파일의 해쉬 결과 값이 저장되어 있어서 물리적 보안 대책이 필요 없다.
정답 및 해설

틀린 설명은 트립와이어 데이터베이스에 물리적 보안 대책이 필요 없다는 진술이다.

공격자가 기준 데이터베이스를 변조하면 변경을 검출하지 못하므로, 데이터베이스는 읽기 전용 매체 보관 등으로 별도 보호해야 한다.

  • 해시로 파일 정보를 데이터베이스화하는 무결성 검사 도구라는 설명은 옳다.
  • 침입으로 인한 파일·디렉터리 변경을 쉽게 검출하게 돕는다는 설명은 옳다.
  • 저장된 해시값과 현재 해시값을 비교해 무결성을 판단한다는 설명은 옳다.
문제 19
괄호 안에 들어갈 말로 옳은 것은?

운영체제의 구조는 이중 모드(dual mode)로 되어 있는데, 이는 사용자 모드(user mode)와 커널 모드(kernel mode, 또는 운영체제 실행 모드)이다. 이 중 사용자 모드는 특권 명령어를 사용할 수 없으며, 이러한 경우에 사용자 프로세스는 운영체제에게 도움을 요청하게 되는데, 이를 ( )(이)라 한다. 즉, ( )는(은) 실행 중인 프로그램과 운영체제 사이에 인터페이스를 제공하는 것이다.

1시스템 관리(system management)
2시스템 호출(system call)
3프로세스 관리(process management)
4스케줄링(scheduling)
정답 및 해설

괄호에 들어갈 말은 시스템 호출(system call)이다.

사용자 모드 프로세스는 특권 명령을 직접 실행할 수 없으므로, 시스템 호출로 커널 모드로 전환해 운영체제가 대신 수행하게 한다. 이것이 실행 중인 프로그램과 운영체제 사이의 인터페이스다.

  • 시스템 관리는 운영체제가 자원을 관리하는 일반적 기능을 뜻하며, 프로세스가 커널에 요청하는 인터페이스가 아니다.
  • 프로세스 관리는 프로세스의 생성·종료·동기화 등을 다루는 운영체제 기능이다.
  • 스케줄링은 CPU를 어느 프로세스에 할당할지 정하는 기능이다.
문제 20
코드 보안과 관련된 설명으로 옳지 않은 것은?
1버퍼 오버플로우 공격은 데이터 길이에 대한 불명확한 정의를 이용한 공격이다.
2gets()는 버퍼 오버플로우 공격에 취약하지 않은 함수이다.
3포맷 스트링 공격은 데이터 형태에 대한 불명확한 정의로 발생한다.
4버퍼 오버플로우 공격 방어 방법으로는 공격에 취약한 함수를 사용하지 않거나 최신 운영체제를 사용하는 것 등이 있다.
정답 및 해설

틀린 설명은 gets()가 버퍼 오버플로우에 취약하지 않다는 진술이다.

gets()는 입력 길이를 검사하지 않고 버퍼에 복사하므로 대표적인 취약 함수이며, 길이를 지정하는 fgets() 로 대체해야 한다.

  • 버퍼 오버플로우가 데이터 길이에 대한 불명확한 정의를 이용한다는 설명은 옳다.
  • 포맷 스트링 공격이 데이터 형태에 대한 불명확한 정의로 발생한다는 설명은 옳다.
  • 취약 함수를 쓰지 않거나 최신 운영체제를 쓰는 것이 방어 방법이라는 설명은 옳다.