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

20년 1회차

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

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

20년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
해시함수 알고리즘에 해당하지 않는 것은?
1SHA1
2MD5
3RMD160
4IDEA
정답 및 해설

IDEA는 해시함수가 아니라 64비트 블록을 128비트 키로 암호화하는 대칭키 블록 암호이므로 해시함수에 해당하지 않는다.

해시함수는 임의 길이의 입력을 고정 길이의 다이제스트로 압축하는 일방향 함수이며, 나머지 셋이 모두 여기에 속한다.

  • SHA1은 160비트 다이제스트를 출력하는 해시함수이다.
  • MD5는 128비트 다이제스트를 출력하는 해시함수이다.
  • RMD160(RIPEMD-160)은 160비트 다이제스트를 출력하는 해시함수이다.
문제 2
사용자가 별도의 인프라를 구축하지 않고 인터넷을 통해 가상서버, 가상 PC 등의 컴퓨팅 자원을 이용하는 클라우드 서비스 유형은?
1PIMS
2IaaS
3SaaS
4ISMS
정답 및 해설

가상서버·가상 PC 같은 인프라 자원을 인터넷으로 빌려 쓰는 유형은 IaaS(Infrastructure as a Service)이다.

클라우드 서비스 모델은 제공 범위에 따라 인프라·플랫폼·소프트웨어로 나뉜다.

  • PIMS는 개인정보보호 관리체계 인증 제도로서 클라우드 서비스 유형이 아니다.
  • 완성된 소프트웨어를 응용 형태로만 제공하는 것은 SaaS로, 인프라 자원 제공과 다르다.
  • ISMS는 정보보호 관리체계 인증 제도로서 클라우드 서비스 유형이 아니다.
문제 3
리눅스 환경에서 사용되는 명령어에 대한 설명으로 옳지 않은 것은?
1touch-파일 내의 특정 문자열을 검색할 때 사용한다.
2chown-파일이나 디렉터리의 소유자를 변경할 때 사용한다.
3mv-파일을 다른 디렉터리로 이동하거나 파일명을 바꿀 때 사용한다.
4df-파일 시스템의 사용 중이거나 사용 가능한 디스크 공간에 대한 정보를 보여 준다.
정답 및 해설

파일 내 특정 문자열 검색은 grep 명령의 기능이며, touch는 빈 파일을 생성하거나 파일의 접근·수정 시간(타임스탬프)을 갱신하는 명령이므로 설명이 옳지 않다.

나머지 설명은 각 명령의 기능과 일치한다.

  • chown은 파일·디렉터리의 소유자를 변경한다.
  • mv는 파일을 다른 디렉터리로 이동하거나 이름을 바꾼다.
  • df는 파일 시스템의 디스크 사용량·여유 공간 정보를 보여 준다.
문제 4
디지털 포렌식의 원칙 중에 “수집된 증거가 위ㆍ변조되지 않았음을 증명해야 한다”는 원칙은?
1정당성의 원칙
2신속성의 원칙
3무결성의 원칙
4연계 보관성의 원칙
정답 및 해설

수집된 증거가 위·변조되지 않았음을 입증하라는 요구는 무결성의 원칙으로, 수집 시점과 제출 시점의 해시값을 비교해 동일성을 보장한다.

나머지 원칙은 서로 다른 요구를 가리킨다.

  • 정당성의 원칙은 증거가 적법한 절차로 수집되어야 한다는 것이다.
  • 신속성의 원칙은 휘발성 증거 등을 지체 없이 수집·분석해야 한다는 것이다.
  • 연계 보관성의 원칙은 증거의 수집·이동·보관·분석 과정이 담당자와 함께 연속적으로 기록·관리되어야 한다는 것이다.
문제 5
리버스 엔지니어링에 대한 설명으로 옳지 않은 것은?
1안티 디버거는 안티 리버싱의 방법이다.
2안티 리버싱은 리버스 엔지니어링을 쉽게 만드는 기술이다.
3리버스 엔지니어링에서 이용하는 도구는 OllyDbg와 IDA가 있다.
4완성된 소프트웨어를 역으로 분석하는 방법이다.
정답 및 해설

안티 리버싱은 리버스 엔지니어링을 어렵게 만드는 보호 기술이므로, 이를 쉽게 만드는 기술이라고 한 설명은 옳지 않다.

나머지 설명은 리버스 엔지니어링의 정의·도구와 일치한다.

  • 안티 디버거는 디버깅을 방해하는 안티 리버싱의 한 방법이다.
  • 리버스 엔지니어링에 쓰이는 대표적 도구로 OllyDbg와 IDA가 있다.
  • 리버스 엔지니어링은 완성된 소프트웨어를 역으로 분석하는 방법이다.
문제 6
스마트폰 이용자들에게 돌잔치, 결혼 청첩장, 교통법규 위반 통보 문자를 보내, 이를 클릭하는 순간 악성코드가 설치되고, 이를 통해 피해자의 개인정보를 탈취하는 기법은?
1스미싱
2루트킷
3스턱스넷
4키로깅
정답 및 해설

문자메시지(SMS)로 악성 링크를 보내 클릭을 유도하고 악성코드를 설치·정보를 탈취하는 기법은 스미싱(Smishing)으로, SMS와 피싱의 합성어이다.

나머지는 서로 다른 공격·악성코드이다.

  • 루트킷은 침입 후 관리자 권한과 흔적을 은폐하는 악성 프로그램이다.
  • 스턱스넷은 산업제어시스템을 겨냥한 웜이다.
  • 키로깅은 키보드 입력을 가로채 정보를 수집하는 기법이다.
문제 7
백도어에 대한 설명으로 옳지 않은 것은?
1백도어 공격 도구로는 NetBus, Back Orifice 등이 있다.
2원격 백도어는 시스템 계정이 필요하고, 서버의 쉘을 얻어 내 관리자로 권한 상승할 때 사용하는 백도어이다.
3로컬 백도어는 시스템 내에서 동작하기 때문에 공격자는 해당 시스템에 접속할 수 있는 계정을 획득할 수 있어야 한다.
4Schoolbus 공격도구는 기존의 트로이 목마처럼 서버 파일과 클라이언트 파일로 이루어져 있다.
정답 및 해설

시스템 계정을 획득한 상태에서 쉘을 얻어 관리자로 권한을 상승할 때 쓰는 것은 로컬 백도어의 특징이며, 이를 원격 백도어의 설명으로 제시한 것은 옳지 않다.

원격 백도어는 네트워크를 통해 원격에서 접속 통로를 여는 것으로, 로컬 계정 보유를 전제하지 않는다.

  • 백도어 공격 도구로 NetBus, Back Orifice 등이 있다.
  • 로컬 백도어는 시스템 내부에서 동작하므로 접속 가능한 계정 획득이 전제된다.
  • Schoolbus는 트로이 목마처럼 서버 파일과 클라이언트 파일로 구성된 공격 도구이다.
문제 8
다음 설명에 해당하는 시스템 메모리 기본구조의 영역은?

프로그램이 실행될 때까지 알 수 없는 가변적인 양의 데이터를 저장하기 위해 프로그램의 프로세스가 사용할 수 있도록 예약되어 있는 메인 메모리의 영역으로, 프로그램들에 의해 할당되었다가 회수되는 작용이 되풀이된다. 프로그램들이 요구하는 블록의 크기나 요구/횟수 순서에 일정한 규칙이 없다.

1힙(Heap) 영역
2스택(Stack) 영역
3텍스트(Text) 영역
4데이터(Data) 영역
정답 및 해설

실행 전에는 크기를 알 수 없는 가변적인 데이터를 위해 프로세스가 할당·회수를 반복하며 사용하는 메모리 영역은 힙(Heap) 영역이다.

나머지 영역은 역할이 다르다.

  • 스택은 함수 호출의 지역변수·복귀주소를 LIFO로 저장하는 영역이다.
  • 텍스트 영역은 실행할 프로그램 코드가 저장되는 영역이다.
  • 데이터 영역은 전역변수·정적변수가 저장되는 영역이다.
문제 9
버퍼 오버플로우 공격에 대한 설명으로 옳지 않은 것은?
1버퍼 오버플로우 공격의 종류 중에는 스택 기반 오버플로우와 힙 기반 오버플로우 공격이 있다.
2버퍼 오버플로우 공격은 프로그램의 메모리 버퍼를 넘치게 해서 프로그램의 이상 동작을 유발하는 기법이다.
3버퍼 오버플로우 공격에 대응하기 위해서는 프로그램을 작성할 때 strcat(), strcpy(), getwd(), gets(), scanf() 등 입출력에 대한 사용자의 접근 가능성이 높은 함수를 사용한다.
4버퍼 오버플로우 공격의 대응 방법 중에는 Non-Executable Stack, Stack Guard, Stack Shield가 있다.
정답 및 해설

strcat(), strcpy(), gets(), scanf() 등 경계 검사를 하지 않는 함수는 사용을 피해야 할 위험 함수이므로, 이를 사용하라고 한 설명은 옳지 않다.

이들 대신 길이를 제한하는 strncpy()·fgets() 같은 안전한 함수로 대체하는 것이 대응책이다.

  • 버퍼 오버플로우에는 스택 기반과 힙 기반 공격이 있다.
  • 버퍼를 넘치게 해 프로그램의 이상 동작을 유발하는 기법이라는 설명은 맞다.
  • 대응 방법으로 Non-Executable Stack, Stack Guard, Stack Shield가 있다.
문제 10
파일 시스템에 대한 설명으로 옳지 않은 것은?
1파일 시스템은 파일을 체계적으로 기록하는 방식으로 파일이 어디에 저장되어 있는지 조직화하고 구조적으로 정의한다.
2EXT(Extended File System) 파일 시스템은 리눅스 고유의 파일 시스템으로 계속 업그레이드가 되어지고 있다.
3슈퍼 블록은 파일 시스템을 관리하는 데 필요한 블록의 총수, 사용 중인 블록 및 이용 가능한 블록 정보를 포함하여 좀 더 빠르고 효과적인 파일 시스템 관리를 가능하게 한다.
4FAT(File Allocation Table) 파일 시스템은 연결리스트를 사용하기 때문에 검색 시간이 짧으며 단편화 현상이 없도록 NTFS(New Technology File System)의 많은 제약 사항을 개선한 파일 시스템이다.
정답 및 해설

FAT는 연결리스트 방식이어서 검색 시간이 길고 단편화가 발생하며 NTFS보다 앞선 구형 파일 시스템이므로, NTFS의 제약을 개선했다는 설명은 옳지 않다.

나머지 설명은 파일 시스템의 일반적 특성과 일치한다.

  • 파일 시스템은 파일의 저장 위치를 조직화·구조화해 관리한다.
  • EXT는 리눅스 고유 파일 시스템으로 계속 개량되어 왔다.
  • 슈퍼 블록은 전체 블록 수와 사용·가용 블록 정보를 담아 효율적 관리를 돕는다.
문제 11
인증, 무결성, 부인봉쇄, 기밀성 등의 기능을 지원하는 이메일 보안 기술은?
1TFTP
2S/MIME
3WEP
4WPA
정답 및 해설

인증·무결성·부인봉쇄·기밀성을 모두 지원하는 이메일 보안 기술은 S/MIME으로, 공개키 기반으로 메일을 서명·암호화한다.

나머지는 이메일 보안 기술이 아니다.

  • TFTP는 인증 없이 파일을 전송하는 간이 전송 프로토콜이다.
  • WEP는 무선랜 구간을 암호화하는 초기 보안 방식이다.
  • WPA는 WEP를 보완한 무선랜 보안 방식이다.
문제 12
유닉스/리눅스 시스템에서 다음의 권한 설정에 대한 설명으로 옳지 않은 것은?
-rw-r--r--
㉠㉡㉢㉣
1㉠은 파일 및 디렉터리의 종류로서 '-'는 디렉터리를 나타낸다.
2㉡은 파일 및 디렉터리 소유자의 권한이다.
3㉢은 파일 및 디렉터리 그룹의 권한이다.
4㉣은 해당 파일 및 디렉터리의 소유자도 그룹도 아닌 제3자의 사용자에 대한 권한이다.
정답 및 해설

권한 문자열 맨 앞의 종류 표시에서 '-'는 일반 파일을 뜻하고 디렉터리는 'd'로 표시되므로, '-'가 디렉터리를 나타낸다는 설명은 옳지 않다.

나머지 세 영역은 세 자리씩 끊어 읽는 권한 구분과 일치한다.

  • 소유자 권한을 나타내는 세 자리(rw-)에 대한 설명은 맞다.
  • 그룹 권한을 나타내는 세 자리(r--)에 대한 설명은 맞다.
  • 그 외 사용자의 권한을 나타내는 세 자리(r--)에 대한 설명은 맞다.
문제 13
Cookie에 대한 설명으로 옳지 않은 것은?
1쿠키는 클라이언트의 컴퓨터에 생성된다.
2사용자와 웹사이트를 연결해 주는 정보가 저장되어 있다.
3직접 바이러스를 옮기거나 악성코드를 설치할 수 없다.
4사용자들의 로그인, 로그아웃, 시스템 재부팅 정보를 저장한다.
정답 및 해설

로그인·로그아웃·시스템 재부팅 같은 시스템 접속 기록은 wtmp 등 시스템 로그가 저장하는 정보이며 쿠키가 저장하는 내용이 아니므로 옳지 않다.

나머지 설명은 쿠키의 특성과 일치한다.

  • 쿠키는 클라이언트 컴퓨터에 생성·저장된다.
  • 사용자와 웹사이트를 연결해 주는 상태 정보가 담긴다.
  • 쿠키 자체는 텍스트 데이터라 직접 바이러스를 옮기거나 악성코드를 설치하지는 못한다.
문제 14
다음에서 설명하고 있는 알고리즘은?
  • 순수 국내 기술로 개발된 128비트 크기의 블록 암호 알고리즘
  • Feistel 구조로 128비트 알고리즘이 있음
  • 1999년 국내 표준으로 제정, 2005년에는 국제 표준 제정
  • IETF RFC 4269
1RSA
2Triple DES
3AES
4SEED
정답 및 해설

순수 국내 기술로 개발된 128비트 블록 암호이며 1999년 국내 표준·2005년 국제 표준으로 제정되고 RFC 4269로 공개된 알고리즘은 SEED이다.

나머지는 국산 블록 암호라는 조건에 맞지 않는다.

  • RSA는 공개키(비대칭) 암호로 블록 암호가 아니다.
  • Triple DES는 DES를 세 번 적용한 미국 계열 블록 암호이다.
  • AES는 미국 표준으로 채택된 블록 암호이다.
문제 15
CSRF(Cross Site Request Forgery)의 특징에 대한 설명으로 옳지 않은 것은?
1사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 방법이다.
2사이트에 방문하는 사용자가 정상적인 요청이 아닌 임의의 요청을 하도록 위조하는 방법이다.
3서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 사용하여 연결된 세션에 혼란을 줌으로써 공격자가 서버와의 연결을 획득하는 방법이다.
4특정 웹사이트가 사용자의 웹브라우저를 신용하는 상태를 악용하는 방법이다.
정답 및 해설

잘못된 시퀀스 넘버로 세션에 혼란을 주어 연결을 가로채는 것은 세션 하이재킹 계열의 특징이며 CSRF의 설명이 아니므로 옳지 않다.

CSRF는 웹사이트가 사용자의 브라우저를 신뢰하는 점을 악용해, 사용자 의지와 무관하게 공격자가 의도한 요청을 보내게 하는 공격이다.

  • 사용자 의지와 무관하게 의도한 행위를 특정 웹사이트에 요청하게 한다는 설명은 맞다.
  • 정상 요청이 아닌 임의 요청을 하도록 위조한다는 설명은 맞다.
  • 웹사이트가 사용자의 브라우저를 신용하는 상태를 악용한다는 설명은 맞다.
문제 16
다음에서 설명하고 있는 공격에 해당하는 것은?
  • 파일의 소유자가 root이어야 함
  • SetUID 비트를 가져야 함
  • 바로 생성되는 임시 파일의 이름을 알고 있어야 함
1버퍼 오버플로우
2포맷 스트링
3패스워드 크래킹
4레이스 컨디션
정답 및 해설

SetUID root 프로그램이 생성하는 임시 파일의 이름을 미리 알고 그 생성 시점의 틈을 노리는 조건은 레이스 컨디션(Race Condition) 공격의 전제이다.

나머지 공격은 이런 임시 파일·SetUID 조건과 관련이 없다.

  • 버퍼 오버플로우는 버퍼 경계를 넘겨 메모리를 덮어쓰는 공격이다.
  • 포맷 스트링은 형식 문자열 입력을 악용해 메모리를 읽거나 쓰는 공격이다.
  • 패스워드 크래킹은 암호를 추측·해독해 알아내는 공격이다.
문제 17
SQL 인젝션에 대한 설명으로 옳지 않은 것은?
1공격자가 입력값을 조작하여 원하는 SQL 구문을 실행한다.
2전송되는 패킷을 가로채어 자신이 송신자인 것처럼 패킷을 변경하여 다시 보내는 기법이다.
3대응 방법 중에는 사용자의 입력에 특수문자가 포함되어 있는지 검증하는 방법이 있다.
4OWASP에서 선정한 10대 웹 어플리케이션 보안 위험으로 SQL 인젝션의 취약점이 2004년, 2007년, 2010년, 2013년, 2017년에 포함되어 있다.
정답 및 해설

패킷을 가로채 송신자인 것처럼 변조해 재전송하는 것은 중간자·스푸핑 계열의 설명이며, SQL 인젝션은 입력값을 조작해 임의의 SQL 구문을 실행시키는 공격이므로 옳지 않다.

나머지 설명은 SQL 인젝션의 특성·대응과 일치한다.

  • 공격자가 입력값을 조작해 원하는 SQL 구문을 실행한다는 설명은 맞다.
  • 입력값에 특수문자가 포함됐는지 검증하는 것이 대응책이라는 설명은 맞다.
  • OWASP 10대 웹 보안 위험에 SQL 인젝션이 2004·2007·2010·2013·2017년판에 포함되어 있다는 설명은 맞다.
문제 18
와이파이(WiFi) 무선 네트워크에서 공격자가 가짜 AP(Access Point)를 구축하고 강한 신호를 보내어 사용자가 가짜 AP에 접속하게 함으로써 사용자 정보를 중간에서 가로채는 기법은?
1Zero Day
2DDoS
3Evil Twin
4DRDoS
정답 및 해설

정상 AP를 사칭한 가짜 AP를 세우고 강한 신호로 접속을 유도해 정보를 가로채는 기법은 Evil Twin이다.

나머지는 무선 AP 사칭과 무관한 공격이다.

  • Zero Day는 패치가 나오기 전 알려지지 않은 취약점을 노리는 공격이다.
  • DDoS는 다수의 좀비 PC로 트래픽을 유발해 서비스를 마비시키는 공격이다.
  • DRDoS는 반사·증폭 서버를 이용해 출발지를 숨기고 트래픽을 증폭하는 분산 반사 공격이다.
문제 19
HTTP에 대한 설명으로 옳지 않은 것은?
1상태 코드 404는 클라이언트의 PUT요청이 성공적이라는 것을 의미한다.
2HTTP 1.0 프로토콜은 RFC 1945이고, HTTP 1.1 프로토콜은 RFC 2616에 기술되어 있다.
3HTTPS는 SSL을 이용하여 클라이언트와 서버 사이에 주고 받는 정보를 보호하는 데 사용된다.
4Request는 웹서버에 데이터를 요청하거나 전송할 때 보내는 패킷으로 GET, POST와 같은 메소드를 사용한다.
정답 및 해설

상태 코드 404는 요청한 자원을 찾을 수 없음(Not Found)을 뜻하며 PUT 요청의 성공을 의미하지 않으므로 옳지 않다(성공 응답은 2xx 계열이다).

나머지 설명은 HTTP의 사실과 일치한다.

  • HTTP 1.0은 RFC 1945, HTTP 1.1은 RFC 2616에 규정되어 있다.
  • HTTPS는 SSL을 이용해 클라이언트와 서버 사이 정보를 보호한다.
  • Request는 GET·POST 등의 메소드로 서버에 데이터를 요청·전송할 때 보내는 패킷이다.
문제 20
XSS는 'Cross Site Scripting'의 약자로 줄여서 CSS라고도 부르지만, 웹 레이아웃과 스타일을 정의할 때 사용되는 캐스케이딩 스타일 시트(Cascading Style Sheets)와 혼동되어 일반적으로 XSS라고 부른다. 일반적인 XSS 공격 수행 과정을 순서대로 바르게 나열한 것은?
  • 가. 해당 웹 서비스 사용자가 공격자가 작성해 놓은 XSS 코드에 접근한다. 물론 사용자는 자신이 공격자가 작성해 놓은 XSS 코드에 접근한다는 것을 인지하지 못한다. 사용자는 어떤 게시판의 글을 읽는 과정에서 공격자의 XSS 코드에 접근하게 된다.
  • 나. 사용자의 시스템에서 XSS 코드가 실행된다.
  • 다. 웹 서버는 사용자가 접근한 XSS 코드가 포함된 게시판의 글을 사용자에게 전달한다.
  • 라. 임의의 XSS 취약점이 존재하는 서버에 XSS 코드를 작성하여 저장한다. 일반적으로 공격자는 임의의 사용자나 특정인이 이용하는 게시판을 공격한다.
  • 마. XSS 코드가 실행된 결과가 공격자에게 전달되고 공격자는 공격을 종료한다.
1라→가→나→다→마
2라→가→다→나→마
3라→다→가→나→마
4라→다→나→가→마
정답 및 해설

XSS 공격은 공격자가 취약한 서버에 코드를 저장하는 단계로 시작해, 사용자가 그 코드에 접근하고, 웹 서버가 해당 글을 사용자에게 전달하면 사용자 시스템에서 코드가 실행되어 그 결과가 공격자에게 돌아가는 순서로 진행된다.

따라서 서버에 저장(라) → 사용자 접근(가) → 서버의 글 전달(다) → 사용자 시스템에서 실행(나) → 결과 회수·종료(마) 순서가 옳다.

특히 사용자 시스템에서 코드가 실행된 뒤라야 그 결과가 공격자에게 전달되므로, 실행 단계가 결과 전달 단계보다 앞선다.

9급 국가직 정보시스템보안 기출문제모두CBT · moducbt.com
20년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
해시함수 알고리즘에 해당하지 않는 것은?
1SHA1
2MD5
3RMD160
4IDEA
정답 및 해설

IDEA는 해시함수가 아니라 64비트 블록을 128비트 키로 암호화하는 대칭키 블록 암호이므로 해시함수에 해당하지 않는다.

해시함수는 임의 길이의 입력을 고정 길이의 다이제스트로 압축하는 일방향 함수이며, 나머지 셋이 모두 여기에 속한다.

  • SHA1은 160비트 다이제스트를 출력하는 해시함수이다.
  • MD5는 128비트 다이제스트를 출력하는 해시함수이다.
  • RMD160(RIPEMD-160)은 160비트 다이제스트를 출력하는 해시함수이다.
문제 2
사용자가 별도의 인프라를 구축하지 않고 인터넷을 통해 가상서버, 가상 PC 등의 컴퓨팅 자원을 이용하는 클라우드 서비스 유형은?
1PIMS
2IaaS
3SaaS
4ISMS
정답 및 해설

가상서버·가상 PC 같은 인프라 자원을 인터넷으로 빌려 쓰는 유형은 IaaS(Infrastructure as a Service)이다.

클라우드 서비스 모델은 제공 범위에 따라 인프라·플랫폼·소프트웨어로 나뉜다.

  • PIMS는 개인정보보호 관리체계 인증 제도로서 클라우드 서비스 유형이 아니다.
  • 완성된 소프트웨어를 응용 형태로만 제공하는 것은 SaaS로, 인프라 자원 제공과 다르다.
  • ISMS는 정보보호 관리체계 인증 제도로서 클라우드 서비스 유형이 아니다.
문제 3
리눅스 환경에서 사용되는 명령어에 대한 설명으로 옳지 않은 것은?
1touch-파일 내의 특정 문자열을 검색할 때 사용한다.
2chown-파일이나 디렉터리의 소유자를 변경할 때 사용한다.
3mv-파일을 다른 디렉터리로 이동하거나 파일명을 바꿀 때 사용한다.
4df-파일 시스템의 사용 중이거나 사용 가능한 디스크 공간에 대한 정보를 보여 준다.
정답 및 해설

파일 내 특정 문자열 검색은 grep 명령의 기능이며, touch는 빈 파일을 생성하거나 파일의 접근·수정 시간(타임스탬프)을 갱신하는 명령이므로 설명이 옳지 않다.

나머지 설명은 각 명령의 기능과 일치한다.

  • chown은 파일·디렉터리의 소유자를 변경한다.
  • mv는 파일을 다른 디렉터리로 이동하거나 이름을 바꾼다.
  • df는 파일 시스템의 디스크 사용량·여유 공간 정보를 보여 준다.
문제 4
디지털 포렌식의 원칙 중에 “수집된 증거가 위ㆍ변조되지 않았음을 증명해야 한다”는 원칙은?
1정당성의 원칙
2신속성의 원칙
3무결성의 원칙
4연계 보관성의 원칙
정답 및 해설

수집된 증거가 위·변조되지 않았음을 입증하라는 요구는 무결성의 원칙으로, 수집 시점과 제출 시점의 해시값을 비교해 동일성을 보장한다.

나머지 원칙은 서로 다른 요구를 가리킨다.

  • 정당성의 원칙은 증거가 적법한 절차로 수집되어야 한다는 것이다.
  • 신속성의 원칙은 휘발성 증거 등을 지체 없이 수집·분석해야 한다는 것이다.
  • 연계 보관성의 원칙은 증거의 수집·이동·보관·분석 과정이 담당자와 함께 연속적으로 기록·관리되어야 한다는 것이다.
문제 5
리버스 엔지니어링에 대한 설명으로 옳지 않은 것은?
1안티 디버거는 안티 리버싱의 방법이다.
2안티 리버싱은 리버스 엔지니어링을 쉽게 만드는 기술이다.
3리버스 엔지니어링에서 이용하는 도구는 OllyDbg와 IDA가 있다.
4완성된 소프트웨어를 역으로 분석하는 방법이다.
정답 및 해설

안티 리버싱은 리버스 엔지니어링을 어렵게 만드는 보호 기술이므로, 이를 쉽게 만드는 기술이라고 한 설명은 옳지 않다.

나머지 설명은 리버스 엔지니어링의 정의·도구와 일치한다.

  • 안티 디버거는 디버깅을 방해하는 안티 리버싱의 한 방법이다.
  • 리버스 엔지니어링에 쓰이는 대표적 도구로 OllyDbg와 IDA가 있다.
  • 리버스 엔지니어링은 완성된 소프트웨어를 역으로 분석하는 방법이다.
문제 6
스마트폰 이용자들에게 돌잔치, 결혼 청첩장, 교통법규 위반 통보 문자를 보내, 이를 클릭하는 순간 악성코드가 설치되고, 이를 통해 피해자의 개인정보를 탈취하는 기법은?
1스미싱
2루트킷
3스턱스넷
4키로깅
정답 및 해설

문자메시지(SMS)로 악성 링크를 보내 클릭을 유도하고 악성코드를 설치·정보를 탈취하는 기법은 스미싱(Smishing)으로, SMS와 피싱의 합성어이다.

나머지는 서로 다른 공격·악성코드이다.

  • 루트킷은 침입 후 관리자 권한과 흔적을 은폐하는 악성 프로그램이다.
  • 스턱스넷은 산업제어시스템을 겨냥한 웜이다.
  • 키로깅은 키보드 입력을 가로채 정보를 수집하는 기법이다.
문제 7
백도어에 대한 설명으로 옳지 않은 것은?
1백도어 공격 도구로는 NetBus, Back Orifice 등이 있다.
2원격 백도어는 시스템 계정이 필요하고, 서버의 쉘을 얻어 내 관리자로 권한 상승할 때 사용하는 백도어이다.
3로컬 백도어는 시스템 내에서 동작하기 때문에 공격자는 해당 시스템에 접속할 수 있는 계정을 획득할 수 있어야 한다.
4Schoolbus 공격도구는 기존의 트로이 목마처럼 서버 파일과 클라이언트 파일로 이루어져 있다.
정답 및 해설

시스템 계정을 획득한 상태에서 쉘을 얻어 관리자로 권한을 상승할 때 쓰는 것은 로컬 백도어의 특징이며, 이를 원격 백도어의 설명으로 제시한 것은 옳지 않다.

원격 백도어는 네트워크를 통해 원격에서 접속 통로를 여는 것으로, 로컬 계정 보유를 전제하지 않는다.

  • 백도어 공격 도구로 NetBus, Back Orifice 등이 있다.
  • 로컬 백도어는 시스템 내부에서 동작하므로 접속 가능한 계정 획득이 전제된다.
  • Schoolbus는 트로이 목마처럼 서버 파일과 클라이언트 파일로 구성된 공격 도구이다.
문제 8
다음 설명에 해당하는 시스템 메모리 기본구조의 영역은?

프로그램이 실행될 때까지 알 수 없는 가변적인 양의 데이터를 저장하기 위해 프로그램의 프로세스가 사용할 수 있도록 예약되어 있는 메인 메모리의 영역으로, 프로그램들에 의해 할당되었다가 회수되는 작용이 되풀이된다. 프로그램들이 요구하는 블록의 크기나 요구/횟수 순서에 일정한 규칙이 없다.

1힙(Heap) 영역
2스택(Stack) 영역
3텍스트(Text) 영역
4데이터(Data) 영역
정답 및 해설

실행 전에는 크기를 알 수 없는 가변적인 데이터를 위해 프로세스가 할당·회수를 반복하며 사용하는 메모리 영역은 힙(Heap) 영역이다.

나머지 영역은 역할이 다르다.

  • 스택은 함수 호출의 지역변수·복귀주소를 LIFO로 저장하는 영역이다.
  • 텍스트 영역은 실행할 프로그램 코드가 저장되는 영역이다.
  • 데이터 영역은 전역변수·정적변수가 저장되는 영역이다.
문제 9
버퍼 오버플로우 공격에 대한 설명으로 옳지 않은 것은?
1버퍼 오버플로우 공격의 종류 중에는 스택 기반 오버플로우와 힙 기반 오버플로우 공격이 있다.
2버퍼 오버플로우 공격은 프로그램의 메모리 버퍼를 넘치게 해서 프로그램의 이상 동작을 유발하는 기법이다.
3버퍼 오버플로우 공격에 대응하기 위해서는 프로그램을 작성할 때 strcat(), strcpy(), getwd(), gets(), scanf() 등 입출력에 대한 사용자의 접근 가능성이 높은 함수를 사용한다.
4버퍼 오버플로우 공격의 대응 방법 중에는 Non-Executable Stack, Stack Guard, Stack Shield가 있다.
정답 및 해설

strcat(), strcpy(), gets(), scanf() 등 경계 검사를 하지 않는 함수는 사용을 피해야 할 위험 함수이므로, 이를 사용하라고 한 설명은 옳지 않다.

이들 대신 길이를 제한하는 strncpy()·fgets() 같은 안전한 함수로 대체하는 것이 대응책이다.

  • 버퍼 오버플로우에는 스택 기반과 힙 기반 공격이 있다.
  • 버퍼를 넘치게 해 프로그램의 이상 동작을 유발하는 기법이라는 설명은 맞다.
  • 대응 방법으로 Non-Executable Stack, Stack Guard, Stack Shield가 있다.
문제 10
파일 시스템에 대한 설명으로 옳지 않은 것은?
1파일 시스템은 파일을 체계적으로 기록하는 방식으로 파일이 어디에 저장되어 있는지 조직화하고 구조적으로 정의한다.
2EXT(Extended File System) 파일 시스템은 리눅스 고유의 파일 시스템으로 계속 업그레이드가 되어지고 있다.
3슈퍼 블록은 파일 시스템을 관리하는 데 필요한 블록의 총수, 사용 중인 블록 및 이용 가능한 블록 정보를 포함하여 좀 더 빠르고 효과적인 파일 시스템 관리를 가능하게 한다.
4FAT(File Allocation Table) 파일 시스템은 연결리스트를 사용하기 때문에 검색 시간이 짧으며 단편화 현상이 없도록 NTFS(New Technology File System)의 많은 제약 사항을 개선한 파일 시스템이다.
정답 및 해설

FAT는 연결리스트 방식이어서 검색 시간이 길고 단편화가 발생하며 NTFS보다 앞선 구형 파일 시스템이므로, NTFS의 제약을 개선했다는 설명은 옳지 않다.

나머지 설명은 파일 시스템의 일반적 특성과 일치한다.

  • 파일 시스템은 파일의 저장 위치를 조직화·구조화해 관리한다.
  • EXT는 리눅스 고유 파일 시스템으로 계속 개량되어 왔다.
  • 슈퍼 블록은 전체 블록 수와 사용·가용 블록 정보를 담아 효율적 관리를 돕는다.
문제 11
인증, 무결성, 부인봉쇄, 기밀성 등의 기능을 지원하는 이메일 보안 기술은?
1TFTP
2S/MIME
3WEP
4WPA
정답 및 해설

인증·무결성·부인봉쇄·기밀성을 모두 지원하는 이메일 보안 기술은 S/MIME으로, 공개키 기반으로 메일을 서명·암호화한다.

나머지는 이메일 보안 기술이 아니다.

  • TFTP는 인증 없이 파일을 전송하는 간이 전송 프로토콜이다.
  • WEP는 무선랜 구간을 암호화하는 초기 보안 방식이다.
  • WPA는 WEP를 보완한 무선랜 보안 방식이다.
문제 12
유닉스/리눅스 시스템에서 다음의 권한 설정에 대한 설명으로 옳지 않은 것은?
-rw-r--r--
㉠㉡㉢㉣
1㉠은 파일 및 디렉터리의 종류로서 '-'는 디렉터리를 나타낸다.
2㉡은 파일 및 디렉터리 소유자의 권한이다.
3㉢은 파일 및 디렉터리 그룹의 권한이다.
4㉣은 해당 파일 및 디렉터리의 소유자도 그룹도 아닌 제3자의 사용자에 대한 권한이다.
정답 및 해설

권한 문자열 맨 앞의 종류 표시에서 '-'는 일반 파일을 뜻하고 디렉터리는 'd'로 표시되므로, '-'가 디렉터리를 나타낸다는 설명은 옳지 않다.

나머지 세 영역은 세 자리씩 끊어 읽는 권한 구분과 일치한다.

  • 소유자 권한을 나타내는 세 자리(rw-)에 대한 설명은 맞다.
  • 그룹 권한을 나타내는 세 자리(r--)에 대한 설명은 맞다.
  • 그 외 사용자의 권한을 나타내는 세 자리(r--)에 대한 설명은 맞다.
문제 13
Cookie에 대한 설명으로 옳지 않은 것은?
1쿠키는 클라이언트의 컴퓨터에 생성된다.
2사용자와 웹사이트를 연결해 주는 정보가 저장되어 있다.
3직접 바이러스를 옮기거나 악성코드를 설치할 수 없다.
4사용자들의 로그인, 로그아웃, 시스템 재부팅 정보를 저장한다.
정답 및 해설

로그인·로그아웃·시스템 재부팅 같은 시스템 접속 기록은 wtmp 등 시스템 로그가 저장하는 정보이며 쿠키가 저장하는 내용이 아니므로 옳지 않다.

나머지 설명은 쿠키의 특성과 일치한다.

  • 쿠키는 클라이언트 컴퓨터에 생성·저장된다.
  • 사용자와 웹사이트를 연결해 주는 상태 정보가 담긴다.
  • 쿠키 자체는 텍스트 데이터라 직접 바이러스를 옮기거나 악성코드를 설치하지는 못한다.
문제 14
다음에서 설명하고 있는 알고리즘은?
  • 순수 국내 기술로 개발된 128비트 크기의 블록 암호 알고리즘
  • Feistel 구조로 128비트 알고리즘이 있음
  • 1999년 국내 표준으로 제정, 2005년에는 국제 표준 제정
  • IETF RFC 4269
1RSA
2Triple DES
3AES
4SEED
정답 및 해설

순수 국내 기술로 개발된 128비트 블록 암호이며 1999년 국내 표준·2005년 국제 표준으로 제정되고 RFC 4269로 공개된 알고리즘은 SEED이다.

나머지는 국산 블록 암호라는 조건에 맞지 않는다.

  • RSA는 공개키(비대칭) 암호로 블록 암호가 아니다.
  • Triple DES는 DES를 세 번 적용한 미국 계열 블록 암호이다.
  • AES는 미국 표준으로 채택된 블록 암호이다.
문제 15
CSRF(Cross Site Request Forgery)의 특징에 대한 설명으로 옳지 않은 것은?
1사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 방법이다.
2사이트에 방문하는 사용자가 정상적인 요청이 아닌 임의의 요청을 하도록 위조하는 방법이다.
3서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 사용하여 연결된 세션에 혼란을 줌으로써 공격자가 서버와의 연결을 획득하는 방법이다.
4특정 웹사이트가 사용자의 웹브라우저를 신용하는 상태를 악용하는 방법이다.
정답 및 해설

잘못된 시퀀스 넘버로 세션에 혼란을 주어 연결을 가로채는 것은 세션 하이재킹 계열의 특징이며 CSRF의 설명이 아니므로 옳지 않다.

CSRF는 웹사이트가 사용자의 브라우저를 신뢰하는 점을 악용해, 사용자 의지와 무관하게 공격자가 의도한 요청을 보내게 하는 공격이다.

  • 사용자 의지와 무관하게 의도한 행위를 특정 웹사이트에 요청하게 한다는 설명은 맞다.
  • 정상 요청이 아닌 임의 요청을 하도록 위조한다는 설명은 맞다.
  • 웹사이트가 사용자의 브라우저를 신용하는 상태를 악용한다는 설명은 맞다.
문제 16
다음에서 설명하고 있는 공격에 해당하는 것은?
  • 파일의 소유자가 root이어야 함
  • SetUID 비트를 가져야 함
  • 바로 생성되는 임시 파일의 이름을 알고 있어야 함
1버퍼 오버플로우
2포맷 스트링
3패스워드 크래킹
4레이스 컨디션
정답 및 해설

SetUID root 프로그램이 생성하는 임시 파일의 이름을 미리 알고 그 생성 시점의 틈을 노리는 조건은 레이스 컨디션(Race Condition) 공격의 전제이다.

나머지 공격은 이런 임시 파일·SetUID 조건과 관련이 없다.

  • 버퍼 오버플로우는 버퍼 경계를 넘겨 메모리를 덮어쓰는 공격이다.
  • 포맷 스트링은 형식 문자열 입력을 악용해 메모리를 읽거나 쓰는 공격이다.
  • 패스워드 크래킹은 암호를 추측·해독해 알아내는 공격이다.
문제 17
SQL 인젝션에 대한 설명으로 옳지 않은 것은?
1공격자가 입력값을 조작하여 원하는 SQL 구문을 실행한다.
2전송되는 패킷을 가로채어 자신이 송신자인 것처럼 패킷을 변경하여 다시 보내는 기법이다.
3대응 방법 중에는 사용자의 입력에 특수문자가 포함되어 있는지 검증하는 방법이 있다.
4OWASP에서 선정한 10대 웹 어플리케이션 보안 위험으로 SQL 인젝션의 취약점이 2004년, 2007년, 2010년, 2013년, 2017년에 포함되어 있다.
정답 및 해설

패킷을 가로채 송신자인 것처럼 변조해 재전송하는 것은 중간자·스푸핑 계열의 설명이며, SQL 인젝션은 입력값을 조작해 임의의 SQL 구문을 실행시키는 공격이므로 옳지 않다.

나머지 설명은 SQL 인젝션의 특성·대응과 일치한다.

  • 공격자가 입력값을 조작해 원하는 SQL 구문을 실행한다는 설명은 맞다.
  • 입력값에 특수문자가 포함됐는지 검증하는 것이 대응책이라는 설명은 맞다.
  • OWASP 10대 웹 보안 위험에 SQL 인젝션이 2004·2007·2010·2013·2017년판에 포함되어 있다는 설명은 맞다.
문제 18
와이파이(WiFi) 무선 네트워크에서 공격자가 가짜 AP(Access Point)를 구축하고 강한 신호를 보내어 사용자가 가짜 AP에 접속하게 함으로써 사용자 정보를 중간에서 가로채는 기법은?
1Zero Day
2DDoS
3Evil Twin
4DRDoS
정답 및 해설

정상 AP를 사칭한 가짜 AP를 세우고 강한 신호로 접속을 유도해 정보를 가로채는 기법은 Evil Twin이다.

나머지는 무선 AP 사칭과 무관한 공격이다.

  • Zero Day는 패치가 나오기 전 알려지지 않은 취약점을 노리는 공격이다.
  • DDoS는 다수의 좀비 PC로 트래픽을 유발해 서비스를 마비시키는 공격이다.
  • DRDoS는 반사·증폭 서버를 이용해 출발지를 숨기고 트래픽을 증폭하는 분산 반사 공격이다.
문제 19
HTTP에 대한 설명으로 옳지 않은 것은?
1상태 코드 404는 클라이언트의 PUT요청이 성공적이라는 것을 의미한다.
2HTTP 1.0 프로토콜은 RFC 1945이고, HTTP 1.1 프로토콜은 RFC 2616에 기술되어 있다.
3HTTPS는 SSL을 이용하여 클라이언트와 서버 사이에 주고 받는 정보를 보호하는 데 사용된다.
4Request는 웹서버에 데이터를 요청하거나 전송할 때 보내는 패킷으로 GET, POST와 같은 메소드를 사용한다.
정답 및 해설

상태 코드 404는 요청한 자원을 찾을 수 없음(Not Found)을 뜻하며 PUT 요청의 성공을 의미하지 않으므로 옳지 않다(성공 응답은 2xx 계열이다).

나머지 설명은 HTTP의 사실과 일치한다.

  • HTTP 1.0은 RFC 1945, HTTP 1.1은 RFC 2616에 규정되어 있다.
  • HTTPS는 SSL을 이용해 클라이언트와 서버 사이 정보를 보호한다.
  • Request는 GET·POST 등의 메소드로 서버에 데이터를 요청·전송할 때 보내는 패킷이다.
문제 20
XSS는 'Cross Site Scripting'의 약자로 줄여서 CSS라고도 부르지만, 웹 레이아웃과 스타일을 정의할 때 사용되는 캐스케이딩 스타일 시트(Cascading Style Sheets)와 혼동되어 일반적으로 XSS라고 부른다. 일반적인 XSS 공격 수행 과정을 순서대로 바르게 나열한 것은?
  • 가. 해당 웹 서비스 사용자가 공격자가 작성해 놓은 XSS 코드에 접근한다. 물론 사용자는 자신이 공격자가 작성해 놓은 XSS 코드에 접근한다는 것을 인지하지 못한다. 사용자는 어떤 게시판의 글을 읽는 과정에서 공격자의 XSS 코드에 접근하게 된다.
  • 나. 사용자의 시스템에서 XSS 코드가 실행된다.
  • 다. 웹 서버는 사용자가 접근한 XSS 코드가 포함된 게시판의 글을 사용자에게 전달한다.
  • 라. 임의의 XSS 취약점이 존재하는 서버에 XSS 코드를 작성하여 저장한다. 일반적으로 공격자는 임의의 사용자나 특정인이 이용하는 게시판을 공격한다.
  • 마. XSS 코드가 실행된 결과가 공격자에게 전달되고 공격자는 공격을 종료한다.
1라→가→나→다→마
2라→가→다→나→마
3라→다→가→나→마
4라→다→나→가→마
정답 및 해설

XSS 공격은 공격자가 취약한 서버에 코드를 저장하는 단계로 시작해, 사용자가 그 코드에 접근하고, 웹 서버가 해당 글을 사용자에게 전달하면 사용자 시스템에서 코드가 실행되어 그 결과가 공격자에게 돌아가는 순서로 진행된다.

따라서 서버에 저장(라) → 사용자 접근(가) → 서버의 글 전달(다) → 사용자 시스템에서 실행(나) → 결과 회수·종료(마) 순서가 옳다.

특히 사용자 시스템에서 코드가 실행된 뒤라야 그 결과가 공격자에게 전달되므로, 실행 단계가 결과 전달 단계보다 앞선다.