1번 - Heap spray
2번 - 바이러스 유형
http://estkim77.blog.me/20191132071
1세대 원시형, 2세대 암호화, 3세대 은닉형, 4세대 갑옷형, 5세대 매크로 바이러스
3번 - 스케줄링 기법
https://m.blog.naver.com/bestheroz/105116025
스케줄링 기법은 사용중인 프로세스에서 자원을 빼앗을 수 있는지의 여부에 따라 선점 스케줄링 기법과 비선점 스케줄링 기법이 있다.
ⓐ 선점(Preemptive) 기법 - RR, SRT, MFQ 등
하나의 프로세스가 CPU를 점유하고 있을 때 다른 프로세스가 프로세서를 빼앗을 수 있는 방법을 선점 스케줄링이라고 한다. 선점 스케줄링 방식은 프로세스의 우선 순위가 높은 프로세스가 CPU를 먼저 차지하기가 용이하기 때문에 실시간 시분할 시스템에서 사용한다.
- 우선 순위가 높은 프로세스가 먼저 수행되어야 할 때 유용하다.
- 빠른 응답 시간을 요구하는 대화식 시분할 시스템이나 처리 시간이 제한되어 있는 실시간 시스템에 유용하다.
- 많은 오버헤드를 초래한다.
ⓑ 비선점(Non-preemptive) 기법 - SJF, FIFO, HRN 등
프로세스에게 이미 할당된 CPU를 강제로 빼앗을 수 없고, 그 프로세스의 사용이 끝난 후에 스케줄링을 하여야 하는 방법을 비선점 스케줄링이라고 한다.
- 모든 프로세스들에 대한 요구를 공정히 처리한다.
- 응답 시간의 예측이 용이하다.
- 짧은 작업이 긴 작업을 기다리는 경우가 종종 발생한다.
비선점 스케줄링 기법은 FCFS, SJF 기법이 있다.
4번 - 계층별 프로토콜
http://needjarvis.tistory.com/158
OSI 7 Layers
TCP/IP
5번 - 리눅스 Run Level
/etc/rc.local : 부팅단계 실행하는 스크립트
RunLevel 0 : PROM
Power Off : 시스템 종료를 의미한다. init 0을 입력하여 런레벨을 0으로 변경하라고 터미널에 명령을 내리면 리눅스 시스템을 종료하라는 명령을 내리는 것이다.
RunLevel 1 : 단일 사용자 모드
Resuce : 시스템 복구 모드이다. 단일 사용자 모드로서 관리자 쉘을 얻게 된다.
RunLevel 2 : 다중 사용자 모드
Multi-User : NFS를 지원하지 않는 Multi-User 모드이다. 즉, 네트워크를 사용하지 않는 상태의 텍스트 유저 모드를 뜻하는데 CentOS 7부터는 사용되지 않는 레벨이다. 다만 호환성을 위해 런레벨 3과 동일한 것으로 취급된다.
RunLevel 3 : 부팅
Full Multi-User : 텍스트 모드의 다중 사용자 모드이다. 일반적인 쉘 스크립팅 기반의 인터페이스로 작동하는 Multi-User 모드이다. 일반적으로 텍스트 유저 모드라고 부른다.
RunLevel 4
Multi-User(unused) : 기본적으로는 사용하지 않는 모드이다. 하지만 runlevel2와 같이 호환성을 위해 런레벨3과 같은 것으로 취급된다. 해당 단계에 대한 설정을 임의로 정의해서 별도로 사용하기도 한다.
RunLevel 5 : X-Window (startx)
Graphical : 그래픽 모드의 다중 사용자 모드이다. 기본적으로는 런레벨3과 동일하지만, GUI를 제공하는 그래픽 유저 모드이다.
RunLevel 6 : 리부팅
Reboot : 시스템 재부팅을 나타내는 모드이다. 런레벨 0와 마찬가지로 이 상태로 변경하라는 명령을 내리게 되면 시스템을 재부팅 하게 된다. 혹시나 런레벨 6를 init default로 설정한다면 시스템은 무한 재부팅 상태가 되기 때문에 주의해야 한다.
6번 - 클라우드 보안 서비스 기술
http://www.bloter.net/archives/281181
SecaaS : Security as a Service
- 침입 위협 인텔리전스 데이터를 사용한 빅데이터 분석 서비스
- 엔드 포인트와 네트워크 단계에서 탐지 및 대응
- 침해사고 대응 및 장애대응 서비스(클라우드 콜센터 운영)
7번 - 보안도구
취약점 분석 도구 - Nessus(웹 취약점 검사), NMAP(포트 스캐닝)
무결성 검사 도구 - Tripwire
IDS 침입탐지도구 - snort
8번 - 리눅스 디렉터리
/(루트)
최상의 디렉토리인 루트 디렉토리를 의미하며, 리눅스의 모든 디렉토리들의 시작점이다. 즉, 모든 디렉토리들을 절대경로로 표기할 때에 이 디렉토리로부터 시작해야 한다.
/bin
기본적인 명령어가 저장된 디렉토리. 즉, 리눅스 시스템사용에 있어 가장 기본적이라고 할 수 있는 mv, cp, rm 등과 같은 명령어들이 이 디렉토리에 존재하며 root 사용자와 일반사용자가 함께 사용할 수 있는 명령어 디렉토리이다.
/boot
리눅스 부트로더(Boot Loader)가 존재하는 디렉토리. 즉, GRUB 과 같은 부트로더에 관한 파일들(grub.conf 등)이 이 디렉토리에 존재한다.
/dev
시스템 디바이스(device)파일을 저장하고 있는 디렉토리. 즉, 하드디스크 장치파일 /dev/sda, CD-ROM 장치파일 /dev/cdrom 등과 같은 장치파일들이 존재하는 디렉토리이다.
/etc
시스템의 거의 모든 설정파일이 존재하는 디렉토리. /etc/sysconfig(시스템 제어판용 설정파일), /etc/passwd(사용자관리 설정파일), /etc/named.conf(DNS 설정파일) 등과 같은 파일들이 존재한다.
/etc/mai/
sendmail.cf 나 access 파일등의 sendmail 의 설정파일들이 존재하는 디렉토리.
/etc/ssh/
SSH 서비스, 즉 sshd 데몬에서 사용하는 각종 설정파일들이 존재하는 디렉토리.
/etc/squid/
squid 프락시서버의 설정파일들이 저장된 디렉토리.
/etc/samba/
삼바관련 설정파일들이 저장된 디렉토리
/etc/skel/
계정사용자 생성시의 초기화파일들이 저장된 디렉토리(useradd 에서 사용함)
/etc/rc.d/
부팅레벨별 부팅스크립트파일들이 존재하는 디렉토리.
/etc/rc.d/init.d/
시스템 초기화 파일들의 실제파일들이 존재함.
/etc/pam.d/
PAM 설정 정보파일들이 저장된 디렉토리.
/etc/httpd/
RPM 으로 설치된 아파치 설정파일(httpd.conf 등)들이 저장된 디렉토리.
/etc/cron.d/, /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/, /etc/cron.weekly/
모두 크론설정파일이 존재하는 디렉토리임.
/etc/xinetd.d/
xinetd 수퍼데몬에 의해 서비스되는 서비스설정파일이 존재함.
/home
사용자의 홈디렉토리, useradd 명령어로 새로운 사용자를 생성하면 대부분 사용자의 ID와 동일한 이름의 디렉토리가 자동으로 생성됨.
/lib
커널모듈파일과 라이브러리파일 즉, 커널이 필요로하는 커널모듈파일들과 프로그램(C, C++ 등)에 필요한 각종 라이브러리 파일들이 존재하는 디렉토리.
/media
DVD, CD-ROM, USB 등과 같은 탈부착이 가능한 장치들의 마운트포인트로 사용되는 디렉토리.
/mnt
/media 디렉토리와 비슷한 용도로 탈부착이 가능한 장치들에 대하여 일시적인 마운트포인트로 사용하는 디렉토리.
/proc
일명 "가상파일시스템" 이라고 하는 곳으로 현재 메모리에 존재하는 모든 작업들이 파일형태로 존재하는 곳이다. 디스크상에 실제 존재하는 것이 아니라 메모리상에 존재하기 때문에 가상파일시스템이라고 부른다. 실제 운용상태를 정확하게 파악할 수 있는 중요한 정보를 제공하며 여기에 존재하는 파일들 가운데 현재 실행중인 커널(kernel)의 옵션 값을 즉시 변경할 수 있는 파라미터파일들이 있기 때문에 시스템 운용에 있어 매우 중요한 의미를 가진다.
/root
시스템 최고관리자인 root 사용자의 개인 홈디렉토리.
/sbin
ifconfig, e2fsck, ethtool, halt 등과 같이 주로 시스템 관리자들이 사용하는 시스템관리자용 명령어를 저장하고 있는 디렉토리.
/tmp
일명 "공용디렉토리" . 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리. mysql 에서 사용하는 mysql.sock 등과 같은 소켓파일, 또는 아파치에서 사용하는 세션파일등이 생성되기도 한다. 웹해킹에 사용되기도 해서 주의를 요망.
/usr
시스템이 아닌 일반사용자들이 주로 사용하는 디렉토리. 즉, c++, chsh, cpp, crontab, du, find등과 같이 일반사용자들용 명령어들은 /usr/bin 에 위치한다.
/usr/bin/
일반 사용자들이 사용가능한 명령어 파일들이 존재하는 디렉토리.
/usr/X11R6/
X 윈도우 시스템의 루트 디렉토리.
/usr/include/
C 프로그램에 필요한 헤드파일(*.h) 디렉토리.
/usr/lib/
/lib 에 들어가지 않은 라이브러리 디렉토리.
/usr/sbin/
/bin 에 제외된 명령어와 네트워크관련 명령어가 들어있는 디렉토리.
/usr/src/
프로그램 소스(주로 커널소스)가 저장되는 디렉토리.
/usr/local/
MySQL, Apache, PHP 등과 같은 어플리케이션들을 소스로 컨파일설치할 때 사용되는 장소.
/usr/share/man/
명령어들의 도움말을 주는 메뉴얼(manual)페이지 디렉토리. 즉, 이 디렉토리에는 시스템에서 사용하는 모든 맨페이지파일(man page)이 존재함.
/var
시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉토리. 거의 모든 시스템로그파일은 /var/log 에 저장되고, DNS 의 zone 설정파일은 /var/named 에 저장되고, 메일파일은 /var/spool/mail 에 저장되며, 크론설정파일은 /var/spool/cron 디렉토리에 각각 저장됨.
/var/tmp/
/tmp 디렉토리와 같은 공용디렉토리. 즉, /tmp 디렉토리와 /var/tmp 디렉토리의 퍼미션은 1777 로서 sticky bit 가 설정되어 있는 공용디렉토리이다. 리눅스 시스템에서 공용디렉토리는 /tmp 와 /var/tmp 둘뿐이다.
/var/log/
시스템로그파일(messages, secure, xferlog 파일등)이 저장되는 디렉토리.
/var/ftp/
vsftp 등과 같은 FTP 서비스를 위한 다운로드될 파일들 즉, FTP 홈디렉토리.
/var/named/
BIND 즉, DNS 에서 사용하는 zone 파일들이 저장되는 디렉토리.
/var/spool/mail/
각 계정사용자들의 메일파일이 저장되는 디렉토리.
/var/spool/lpd/
프린트를 하기 위한 임시 디렉토리(스풀링 디렉토리).
/var/spool/mqueue/
발송을 위한 메일 일시저장 디렉토리.
/var/spool/cron/
각 사용자들의 cron 설정파일들이 저장된 디렉토리.
/var/spool/at/
atd 즉, 예약작업에 관한 파일들이 저장되는 디렉토리.
/lost+found
최상위 디렉토리인 / 디렉토리에만 존재하는 것이 아니라 파일시스템마다 존재할 수 있는 디렉토리임. 이 디렉토리는 fsck 또는 e2fsck 등과 같은 파일시스템 체크 및 복구유틸리티 실행후에 주로 생성이 되는 것으로서 복구되지 않은 채로 블록(block)만 존재하는 파일 즉, 연결이 끊어진 inode 들이 숫자파일형태로 존재하는 곳임. 숫자형태로 존재하는 파일들은 mv 명령어로 파일이름만 바꾸면 바로 복구될 수 있다.
윈도우 파일 시스템은 가변길이 클러스터 단위로 파일 시스템을 할당하고 관리한다.
10번 - 포맷 스트링 공격 대비 정확한 데이터 타입
11번 - 파밍
DNS를 공격해서 가짜 사이트로 유도하는 공격
https://hummingbird.tistory.com/5356
12번 - 리눅스 계정관리
http://freehoon.tistory.com/39
http://freehoon.tistory.com/40
13번 - 사이버 킬 체인의 7단계
- 정찰
- 공격코드 제작
- 전달
- 취약점 공격
- 설치
- 명령 및 제어
- 목표 시스템 장악
14번 - 논리폭탄
특정 날짜나 시간 등 조건이 충족되었을 때 악의적인 function이 유발할 수 있게 만든 코드의 일부분으로 소프트웨어 시스템에 의도적으로 삽입된 것이다.
오류를 발생시키는 부호의 삽입에는 일반적으로 트로이 목마(Trojan horse)를 응용하고 바이러스와 달리 논리폭탄은 자신을 복제할 수 없다.
논리폭탄은 약간의 프로그래밍 지식만 있으면 쉽게 만들수 있기 때문에 초보자들이 선호하는 해킹 프로그램이다.
- 일정한 시간이 되면 컴퓨터가 이자를 계산하는 방식이나 이율을 바꾸어 계산하여 남는 금액을 악의적인 행위자의 예금 계좌로 송금하게 하는 경우
- 특정 조건이 발생할 경우 컴퓨터의 운영에 필요한 기본 파일을 삭제하여 컴퓨터의 작동을 중단하도록 하는 경우
- 특정기관의 통상적 컴퓨터 프로그램에 중대한 과오를 발생시키는 루틴이나 부호를 무단으로 삽입, 데이터를 파괴하거나 변조해 예상치 못한 큰 장애를 발생시키거나 부정행위를 실행시키는 경우
15번 - 공격기법
스니핑, 스푸핑, 버퍼 오버플로우
http://blog.naver.com/thescream/161127703
16번 - 보안관리자의 시스템 보안점검사항
17번 - HTTP 프로토콜 세션
http://interconnection.tistory.com/74
18번 - 윈도우 보안설정
http://jinhobak.tistory.com/279
19번 - 리눅스 umask 권한 설정
http://brothernsister.tistory.com/35
20번 - 윈도우 5개 Key Handle
5가지 레지스트리 트리
1. HKEY_CLASSES_ROOT : OLE 데이터와 확장자에 대한 정보 및 파일과 프로그램 간 연결정보가 포함되어있다. 해당 정보에는 파일 확장자들이 서브트리로 구성되어 있으며, 각 확장자는 파일타입과 연결되어 있어 어떤 프로그램과 연결이 되는 지 알 수 있다.
2. HKEY_CURRENT_USER : 컴퓨터 환경 정보가 저장되어 있으며, 다수 사용자가 사용할 경우 각 사용자별 프로파일이 저장되어 있다.
3. HKEY_LOCAL_MACHINE : 컴퓨터에 설치된 하드웨어가 동작하는 데 필요한 드라이버나 설정 관련 정보를 저장하고 있다. 프린터 및 화면설정 등 컴퓨터를 켜고 부팅시 하드디스크 드라이브나 플러그 앤 플레이를 지원하는 하드웨어에 관한 정보 디바이스 드라이버, 소프트웨어 등의 정보가 저장된다.
4. HKEY_USERS : 데스크탑 설정 및 네트워크 연결 정보가 저장되어 있으며 USER_DATA에 저장된다
5. HKEY_CURRENT_CONFIG : 레지스트리 중에서 제일 단순한 부분으로 HKEY_LOCAL_MACHINE에 서브로 존재하는 Config 내용이 담겨있다. 디스플레이와 프린터에 관한 정보가 들어있다
* 이 포스팅은 이기적 정보보안기사 필기 기출문제집을 기반으로 작성되었습니다.
'Certification > 정보보안기사' 카테고리의 다른 글
정보보안기사 필기 9회 기출문제 오답노트 정리 - 41번~60번 (0) | 2018.09.06 |
---|---|
정보보안기사 필기 9회 기출문제 오답노트 정리 - 21번~40번 (0) | 2018.09.06 |
정보보안기사 필기 8회 기출문제 오답노트 정리 - 81번~100번 (0) | 2018.09.05 |
정보보안기사 필기 8회 기출문제 오답노트 정리 - 61번~80번 (0) | 2018.09.05 |
정보보안기사 필기 8회 기출문제 오답노트 정리 - 41번~60번 (0) | 2018.09.05 |