본문으로 바로가기

기출 문제 풀이 정리

category 개발자 자격증 준비/정보처리기사 2020. 2. 24. 11:33
반응형

1. 다음은 운영체제의 5계층을 계층별로 설명한 내용이다. 하위계층에서 상위계층 으로 바르게 나열된것은?

ㄱ. 동기화 및 프로세서 스케줄링 담당 
ㄴ. 프로세스의 생성, 제거, 메시지전달, 시작과 정지 등의 작업 
ㄷ. 메모리의 할당 및 회수 기능 담당 
ㄹ. 주변장치의 상태파악과 입출력 장치의 스케줄링 
ㅁ. 파일의 생성과 소멸, 파일의 열기/닫기, 파일의 유지 및 관리 담당
① ㉠-㉢-㉡-㉣-㉤ 
② ㉠-㉡-㉢-㉣-㉤ 
③ ㉡-㉠-㉢-㉤-㉣ 
④ ㉡-㉠-㉤-㉢-㉣

정답 : ①  ㉠-㉢-㉡-㉣-㉤

풀이

1계층 프로세서 관리
        주로 프로세스 스케줄링 담당. *스케줄링 : 처리해야 할 일들의 순서를 정하는 일.
2계층 메모리 관리
        메모리 할당, 회수 역활 담당. *메모리 할당 : 프로그램이 사용할 메모리 공간을 확보 하는 것.
3계층 프로세스 관리
        프로세스를 생성하거나 제거하는 역활
4계층 주변장치 관리
        컴퓨터 주변 장치와 입출력 장치의 스케줄링 관리.
5계층 파일 관리
        파일을 생성, 삭제, 열기/닫기 관리.


2. 사용자가 작성한 프로그램을 운영체제에 실행하도록 제출하면 운영체제는 이를 받아 프로세스를 생성한다. 이 때 생성된 프로세스의 주소 영역(Address Space) 을 옳게 열거한 것은?

① 메모리 영역, 데이터 영역, 정적영역 
② 텍스트 영역, 스택 영역, 코드 영역 
③ 코드 영역, 텍스트 영역, 데이터 영역
④ 코드 영역, 데이터 영역, 스택 영역

정답 : ④ 코드 영역, 데이터 영역, 스택 영역

풀이
프로세스 주소 공간
- 코드 영역
        프로그램 실행 코드와 함수가 저장되는 영역.
- 스택 영역
        함수 호출에 의한 매개변수, 지역변수, 클로저 내부에 정의된 변수들이 저장되는 영역.
- 데이터 영역
        전역변수, 정적 변수처럼 프로그램의 소멸과 함께 사라지는 데이터가 저장되는 영역.
- 힙 영역
        프로그래머가 동적으로 메모리를 할당할 수 있는 영역.

3. 유닉스계열의 시스템에서 핵심부분인 커널(Kernel)에 대한 설명으로 옳지 않은 것은?

① 유닉스 시스템의 구성은 커널(Kernel), 셀(Shell), 파일시스템(File System)으로 구성되며, 커널은 프로세스 관리, 메모리 관리, 입출력 관리를 수행한다. 
② 커널(Kernel)은 데몬(Daemon) 프로세스를 실행하고 관리한다. 
③ 유닉스계열의 시스템이 부팅될 때 가장 먼저 읽혀지는 핵심 부분으로 보조기억장치에 상주한다. 
④ 커널(Kernel)은 셀(Shell)과 상호 연관되며 작업을 수행한다.

정답 유닉스계열의 시스템이 부팅될 때 가장 먼저 읽혀지는 핵심 부분으로 보조기억장치에 상주한다.
풀이 
Kernel
- 운영체제의 핵심으로서 프로세서, 메모리, 프로세스, 주변장치, 파일 관리 등을 수행한다.
- 커널은 리눅스가 처음 부팅될 때 메모리로 로딩된다.
- 부팅할 때 로딩 화면이 커널을 로딩하는 것이다.
- 항상 메인 메모리에 상주하기 떄문에 부팅 후 메모리 사용량이 0%가 될 수 없는 이유가 된다.
- 리눅스의 커널은 1만줄 이상의 C언어와 1000줄 정도의 어셈블리어로 구성되어 있어서 이식성이 좋다.
        유닉스계열의 시스템이 부팅될 떄 가장 먼저 읽혀지는 핵심 부분으로 주기억장치에 상주한다.


4. 유닉스계열의 시스템에서 일반 계정의 비밀번호를 저장할 때 암호화하여 저장 한다. 일반적으로 어떤 알고리즘을 이용하여 저장하는가?

① DES 
② MD5 
③ SHA 
④ RSA

 

정답 : ③ SHA 문제가 처음 나올 당시에는 MD5였으나, 현재는 SHA가 맞다.

풀이
DES
        암호문 작성할 때 사용하는 암호키와 암호문을 해독할 때 사용하는 해도키가 같다.
        양쪽이 동일 키를 사용해서 대칭키라고도 한다.

MD5
        MD4를 대체하기 위해 고안.
        임의의 길이의 값을 입력 받아 128비트 길이의 해시값으로 출력.

SHA
        해시 암호 알고리즘
        일반 계정 비밀번호를 저장할 떄 암호화하는데 쓰임.

RSA
        비대칭 암호화의 대표적인 알고리즘
        개인키 -> 암호화, 공개키 -> 복호화

5. 다음 중에서 유닉스 운영체제에 관한 설명으로 옳지 않은 것은?

① 유닉스 운영체제는 커널, 셀, 파일 시스템으로 구성된다. 
② 파일 시스템은 환경에 대한 정보를 담고 있는 /etc 디렉터리가 있고, 장치에 대한 것은 /dev에 있 다. 
③ 셀에는 C shell, Bourne shell, Korn shell 등이 있다. 
④ OLE(Object Linking Embedded)를 사용한다.

정답 OLE(Object Linking Embedded)를 사용한다.

풀이 
OLE
        Microsoft 기반 기술로써 일반적인 복합 문서
        윈도우의 각종 응용 프로그램 사이에서 서로 데이터를 공유할 수 있는 기능

6. 다음은 어떤 접근제어 정책을 설명하고 있는 것인가?

주체나 또는 그들이 소속되어 있는 그룹들의 아이디(ID)에 근거하여 객체에 대한 접근을 제한한다.  
즉, 접근 통제는 객체의 소유자에 의하여 임의적으로 이루어진다.  
그러므로 어떠한 접근 허가를 가지고 있는 한 주체 는 임의의 다른 주체에게 자신의 접근 권한을 넘겨줄 수 있다. 

 

① MAC 
② RBAC 
③ Access Control List 
④ DAC 

정답 :  DAC

풀이 
MAC
        주체, 객체 등급기반 접근 권한 부여
DAC
        접근 주체 신분 기반 접근 권한 부여
RBAC
        주체, 객체 역할 기반 권한 부여
Access Control List
        접근 제어 목록

7. 선택한 모든 파일을 백업하지만 백업이 완료된 파일의 Archive bit를 해제하지는 않으며, 스케줄링 백업 일정에 영향을 미치지 않는 백업방식은 어느 것인가?

① 일반 백업

② 증분 백업

③ 복사 백업

④ 차등 백업

 

정답 : ③ 복사 백업

풀이

전체 백업

- 데이터 변경 유무랑 상관없이 전체 데이터의 복사본을 만드는 백업 방식.

- 다른 백업 방식보다 복구가 간편하고 복구 시간이 적게 소요됨.

https://noil0816.tistory.com/109

증분 백업

- 일정 시간마다 변경된 데이터만 백업하는 방식.

- 다른 백업보다 복구시간이 오래걸리는 단점이 있지만 파일 양이 적어 빠른 백업이 가능한 장점이 있음.

https://noil0816.tistory.com/109

차등 백업

- 마지막 전체 백업 후에 변경된 모든 데이터를 백업하는 방식

- 증분 백업보다 복구 시간이 적게 소요되지만 파일 변경될 떄마다 파일 크기가 증가하는 단점이 있음.

https://noil0816.tistory.com/109

 

8. 윈도우에서 관리 목적상 기본적으로 공유되는 폴더 중에서 Null Session Share 취약점을 갖는 것은?

① C$

② G$

③ IPC$

④ ADMIN$

 

정답 : ③ IPC$

풀이
Windows는 관리 목적상 ADMIN$, C$, D$, IPC$를 기본적으로 공유하도록 설정되어 있음.

* Null Session Share 취약점

윈도우가 설치된 서버에 IPC$를 통한 원격접속을 할 떄 패스워드를 Null로 설정하여 접속할 수 있는 취약점

공격자가 시스템의 유저명, 공유정보 등을 열람할 수도 있고 레지스토리에 접근할 수 있으며 DoS공격에도 활용 될 수 있음.

 

9. 다음에서 설명하는 공격용 소프트웨어는 무엇인가?

․ 안티바이러스 프로그램에 의해 탐지된다.

․ 특정 문자열을 타이핑한 후 파일의 내용에서 타이핑한 문자열이 검색된다.

․ 지정된 시간에 로그파일을 설정된 공격자 메일로 자동 전송기능을 포함한다.

․ 소프트웨어로 winhawk가 있다.

① Root Kit

② Key Logger software

③ Port Scanning

④ Nessassin

 

정답 : ② Key Logger software

풀이

Key Logger

- 키보드의 입력을 모두 기록하여 아이디나 패스워드, 계좌정보 등을 탈취하는 공격툴

- 공격 기법은 키로깅, 사용되는 프로그램은 키로거, 생성된 로그는 키로그

RootKit

- 시스템에 전반적으로 접근할 수 있는 루트(Root) 권한을 쉽게 얻게 해주는 킷(Kit)

Port Scanning

- 대상의 어떤 포트가 열려 있는지 확인하는 작업으로 침입 전 취약점을 분석하기 위한 사전 작업.

 

10. 서버 보안을 강화하기 위한 방법으로 서버에 들어오고 나가는 IP 트래픽을 제어할 수 있는 방법은?

① ipchain/iptable

② IP Control/mod_security

③ mod_security/nmap

④ IP Manager/IP Filtering

 

정답 : ① ipchain/iptable

 

 

11. 만약 Setuid 사용을 허락하고 싶은 계정인 ‘user-name’을 임의의 그룹에 추가하고 싶을 때 알맞은 명령어는?

① #usermod –F 200 user-name

② #usermod –G 100 user-name

③ #usermod –F 100 user-name

④ #useradd –G 100 user-name

 

정답 : ② #usermod –G 100 user-name

풀이

#usermod –G 100 user-name - 2차그룹 지정 

#useradd –G 100 user-name - 그룹명이 없을 경우 생성

 

12. 윈도우의 NTFS 파일시스템 설명으로 옳지 않은 것은?

① NTFS의 보안설정은 everyone 그룹에 대하여 모든 권한은 '불가'이다.

② net share 폴더에 의해서 공유 폴더를 확인할 수 있다.

③ 윈도우 파일시스템에는 FAT16, FAT32, NTFS가 존재하며, NTFS는 윈도우 NT, 윈도우 2000, 윈도우 XP에서 사용된다.

④ 윈도우에서는 manager에게 작업을 분담시키고 하드웨어를 제어하는 것은 Object Manager이다.

 

정답 : ① NTFS의 보안설정은 everyone 그룹에 대하여 모든 권한은 '불가'이다.

풀이

- NT File System (FAT 시스템을 대체하기 위해 개발된 윈도우 파일 시스템)

- 사용자마다 다른 보안을 적용가능.

- 파일과 폴더에 개별적으로 권한을 설정할 수 있으며 폴더에 설정한 권한보다 파일에 설정한 권한이 우선함.

- 시스템 폴더는 Administrators/Power Users 그룹만 수정 가능.

- 파일 단위로 계정이 언제 파일을 열어보건, 열려다 실패했는지 알 수 있는 감사 기능이 있음.

- 기본 보안 설정은 Everyone 그룹에 대해 모든 권한 허용이다.

- 윈도우NT 전용 파일시스템으로 다른 OS와 호환성이 떨어진다는 것이 단점.

 

13. 유닉스 파일시스템 설명


d + rwx + rwx + rwx (파일/디렉토리 구분 + 소유자 + 그룹 + 사용자, r : 읽기 w : 쓰기, x : 실행)

특수한 경우에 쓰이는 특수권한

 

- SET-UID : chmod 4777 [파일]

  • 실행하는 동안 해당 파일의 소유자 권한으로 인식
  • 일반적으로 실행 파일에 사용
  • 소유자 권한 부분의 x자리에 s로 표기됨.
  • 실행 권한이 없을 경우 대문자 S로 표기됨.

- SET-GID : chmod 2777 [파일]

  • 실행하는 동안 해당 파일의 소유자그룹 권한으로 인식.
  • 일반적으로 디렉토리에 설정.
  • 사용자가 파일이나 디렉터리를 생성하면 사용자가 속한 그룹에 상관없이 디렉터리 소유 그룹으로 만들어진다.
  • 그룹 권한 부분의 x 자리에 s 로 표기 된다.
  • 실행 권한이 없을 경우 대문자 S 로 표시된다.

- Sticky-Bit : chmod 1777 [파일]

  • 일반 사용자들이 디렉터리에서 파일 및 디렉터리 생성이 가능하다.
  • 일반 사용자들은 자신이 생성한 것 이외에는 수정 및 삭제가 불가능하다.
  • 디렉터리에만 적용된다.
  • 시스템 기본 폴더인 /tmp 디렉터리에 설정되어 있다.
  • 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기되며 실행권한이 없는 경우 대문자 T 로 표기된다.

14. 파일시스템에서 가용공간(Free Space)을 관리하기 위해 사용하는 방법 - 비트벡터(Bit Vector)

ㅇ 간편하며 연속적인 n개의 가용 블록을 찾는 데 효과적이다.

ㅇ 마이크로컴퓨터는 가능하지만 대형컴퓨터에서는 불가능하다.

ㅇ 하드디스크의 용량이 작을수록 유리하다.

 

15. 유닉스 시스템의 로그 분석에 사용하는 파일

 

wtmp

/var/log/wtmp

성공한 로그인, 로그아웃한 정보를 가지고 있다. last 명령어에 사용된다.

 

utmp

시스템에 현재 로그인한 사용자들에 대한 상태정보를 가지고 있다. who 명령어에 사용된다.

 

btmp

5번 이상 로그인에 실패했을 경우에 로그인 실패 정보를 기록. lastb 명령어로 확인가능

 

pacct

사용자가 로그인한 후부터 로그아웃할 떄까지 입력한 명령과 시간, 작동된 tty 등에 대한 정보를 가지고 있음.

binary 파일로 되어 있으며 그 내용을 확인하기 위해서 lastcomm 명령어 사용.

 

lastlog

사용자별 가장 마지막에 로그인한 시간과 접속IP, tty 등에 대한 정보를 가지고 있음.

 

sulog

Switch User을 사용한 로그가 기록되어 있음.

 

16. snort를 이용하여 탐지할 수 없는 공격

 

snort 란?

- IDS (Intrusion Detection System) : 침입 탐지 시스템 (버퍼 오버플로우, TCP SYN Flooding, IP Filtering ...)

- IPS (Intrusion Prevention System) : 침입 방지 시스템 (사전 공격 ...)

 

IDC에 대표적인 오픈소스 Snort

 

동작 원리

1. Snifer 패킷 수집하는 단계

2. Preprocessort 트래픽의 플러그인을 확인해 매칭되는지 확인

3. 탐색 엔진 Snort의 시그니처라 불리는 탐지 Rule에 의해 특정 트래픽을 탐지

4. 출력 탐지 Rule에 의해 해당 네트워크 트래픽의 정보가 출력되거나 저장

 

18. 버퍼 오버플로우(Buffer Overflow)에 대한 설명

- 메모리에서 스택영역에 복귀주소를 가진다.

- 스택 오버플로우(Stack Overflow)는 복귀주소에 악성 모듈을 삽입하여 공격할 수 있다.

- 힙(Heap)영역은 malloc 혹은 new의 동적 함수로 할당된다.

- 버퍼 오버플로우(Buffer Overflow)는 제한된 메모리를 초과한다.

- 프로세스 메모리 구조, Text, Data, Heep, Stack 구분.

  • Text 영역 : 프로그램 코드오 상수 정의, 읽기만 가능한 메모리 영역이기 떄문에 데이터를 저장하려고 하면 분할 충돌을 일으켜 프로세스가 중지됨.
  • Data 영역 : 전역 변수와 정적 변수가 저장되어 있는 영역.
  • Heep 영역 : 프로그래머의 필요에 따라 동적 메모리 호출에 의해 할당되는 메모리 영역
  • Stack 영역 : 함수 인자 값, 함수 내의 지역 변수, 함수의 반환 주소가 저장됨. 상위 메모리 주소에서 하위 메모리 주소로 데이터가 저장됨.

- 버퍼 또는 데이터 저장 영역에 할당된 용량보다 더 많은 입력이 위치하면 다른 정보를 변경할 수 있는 조건이다.

- 공격자는 이런 조건을 이용하여 시스템을 중지시키거나 시스템의 제어를 갖기 위한 특별한 코드를 삽입한다.

- 프로세스가 정해진 크기의 버퍼 한계를 벗어나 이웃한 메모리 위치에 데이터를 겹쳐 쓰려고 시도하는 것과 같은 프로그래밍 오류의 결과로 발생함.

- 취약점이 존재하는 함수 (strcpy, strcat, scanf, gets, sscanf, vscanf, vscanf, sprintf, realpath ~)

- 권장 함수 (strncat, strncpy, fgets, fscanf, vfscanf, snprintf, vsnprintf ~)

- 버퍼 오버플로우 공격 대응책

  • 프로그래밍 언어의 선택 (변수 타입, 타입에 허용되는 연산들에 강력한 표기)
  • 안전한 코딩 기법
  • 언어 확장과 안전한 라이브러리 사용
  • 스택 보호 매커니즘 (Stack Guard)
  • 스택 쉴드 (Stack Shield)
  • ASLR (주소 공간의 임의 추출)
  • NOP sled (NOP 썰매) - 스택 버퍼의 맨 끝 부분에 셸 코드를 위치시키고 버퍼의 앞부분에 의도적으로 채워진 NOP 기계어의 연속
  • 실행가능 주소 공간의 보호

20. DAT(Dynamic Address Translation)는 가상주소를 실제주소로 바꾸는 일, 프로세스가 참조하는 주소를 실제 주기억 장치의 주소로 바꾸는일 DAT 속도가 빠른 순서에서 느린 순서로 열거한 것은?

 

연관사상 -> 직접/연관사상 -> 직접사상


< 참조 http://q.fran.kr/>

반응형