1과목. 시스템 보안
1) /etc/passwd 구성
- 구성 요소: 계정, 패스워드 표시(x), UID, GID, 설명, 홈 디렉터리, 로그인 쉘
- 패스워드 보호: 실제 해시값은
/etc/shadow에 저장 - 사용자 식별: root UID=0
- 프로그램:
passwd실행 파일은/usr/bin/passwd또는/bin/passwd에 위치할 수 있음
2) /etc/shadow 구성
- 구성 요소: 유저 계정, 암호화 패스워드, 마지막 변경일(1970 기준 일수), 최소/최대 사용 기간, 경고 기간, 비활성 기간, 만료일
3) 파일 타입, 권한 및 명령
- 파일 타입: 일반 파일(
-), 디렉터리(d), 심볼릭 링크(l) - 권한 체계: r(4), w(2), x(1) /
chmod,chown,chgrp - umask(단골): 기본 권한에서 umask 비트가 1인 자리의 권한 제거
- 기본 파일 666 / 디렉터리 777
- 예) umask 027 → 파일 640, 디렉터리 750
4) inode 및 링크
- inode 특징: 파일 메타데이터 포함, 파일명 미포함
- 하드 링크: 같은 inode 공유(원본 삭제해도 링크 남으면 데이터 유지)
- 심볼릭 링크: 경로 참조(원본 삭제 시 링크 깨짐)
5) find 명령을 통한 권한 탐색
- SetUID 찾기:
find / -perm -4000 -type f - 권한 검색 옵션(함정):
-perm -222: 지정 비트 모두 설정(ALL, AND)-perm /222: 지정 비트 중 하나라도 설정(ANY, OR)-perm 222: 정확히 일치(Exact match)
6) crontab 구성 — 분시일월요(명령)
- 예)
0 0 1 * * cmd→ 매달 1일 0시 실행 - 접근 제어(정확 파일명):
/etc/cron.allow/etc/cron.deny
7) 특수 권한
- SetUID(4000): 실행 시 파일 소유자 권한
- SetGID(2000): 실행 시 그룹 권한(디렉터리면 그룹 상속)
- Sticky(1000): 디렉터리 내 삭제/이름변경을 소유자 및 root로 제한(예:
/tmp)
8) xinetd 및 TCP Wrapper
- xinetd: 서비스 활성화, 소켓 타입, 동시접속 제한(cps/instances), 접근 시간(access_time) 등
- TCP Wrapper:
/etc/hosts.allow,/etc/hosts.deny로 접근 제어
9) PAM
- 모듈 유형: auth(인증), account(정책), password(변경), session(세션)
- Control Flag: requisite / required / sufficient / optional
10) 시스템 로그
| 로그 | 의미 | 확인 |
|---|---|---|
| utmp | 현재 로그인 사용자 | who |
| wtmp | 로그인/로그아웃·부팅 이력 | last |
| btmp | 로그인 실패 이력 | lastb |
| lastlog | 사용자별 마지막 로그인 | - |
| sulog | su 시도 기록 | - |
| xferlog | FTP 전송 로그 | - |
- 함정:
wmtp/umtp같은 오타 형태가 보기로 나올 수 있음
11) 패스워드 정책 및 세션
- 최소/최대 사용 기간, 최소 길이 등 정책 설정
pwconv(Shadow 전환),pwunconv(Shadow 해제)- TMOUT: 일정 시간 입력 없을 시 쉘 자동 로그아웃
12) 프로세스 관리
- 좀비 프로세스: 상태
Z(ps aux | grep Z)
13) 시스템 하드닝
Solaris 계열
set noexec_user_stack_log=1설정 파일:/etc/system
Linux sysctl
- ping(ICMP Echo) 차단:
net.ipv4.icmp_echo_ignore_all = 1- 일시 적용:
sysctl -w net.ipv4.icmp_echo_ignore_all=1 - 영구 적용:
/etc/sysctl.conf또는/etc/sysctl.d/*.conf
- 일시 적용:
14) 메모리 취약점(버퍼 오버플로우)
- 위험 함수:
strcpy,strcat,gets - 상대적으로 안전:
strncpy,strncat,fgets
15) Windows
| 구분 | 항목 | 내용 |
|---|---|---|
| (1) 레지스트리 | 구형(Windows 9x/ME) 레지스트리 파일 | system.dat, user.dat |
| 최상위(루트) 키 | HKCU: 현재 사용자 정보 HKLM: 시스템 전체(로컬 컴퓨터) HKCR: 클래스/연결정보 HKU: 모든 사용자 HKCC: 현재 하드웨어 프로파일 |
|
| (2) 인증 구성요소/DB | SAM | 로컬 계정/그룹 인증 DB |
| LSA | 보안 정책/인증 절차 | |
| SRM | 커널 접근통제 | |
| Winlogon | 로그인/세션 | |
| (3) 이벤트 로그 | 시스템/보안/응용프로그램 이벤트 기록 | 감사 성공/실패 개념 포함 |
2과목. 네트워크 보안
1) TCP/IP 4계층
- 응용 / 전송 / 인터넷 / 네트워크 접속(링크·인터페이스)
2) ARP Spoofing(2계층)
- 원리: IP→MAC 허위 매핑으로 통신 탈취
- 대응: 정적 ARP, ARP watch, DHCP snooping, DAI
3) IP Spoofing(3계층)
- 대응: Ingress/Egress 필터링(BCP38), uRPF, ACL
rhosts,hosts.equiv권한 600 이하 권장
4) ICMP Redirect(3계층)
- 방어:
accept_redirects=0,netstat -rn확인
5) 스니핑 / 무차별 모드 / tcpdump
- Promiscuous mode: NIC가 목적지 아닌 프레임도 수신(스니핑에 활용)
- tcpdump: 패킷 캡처 도구(“무차별 모드를 끈다”는 설명은 틀린 보기로 자주 나옴)
6) 포트 스캐닝 응답 패턴
| 방식 | Open | Closed |
|---|---|---|
| TCP Connect | SYN/ACK→ACK | RST |
| SYN Scan | SYN/ACK→RST | RST |
| FIN/NULL/XMAS | 무응답 | RST |
| ACK Scan | 필터링 여부 확인용 | - |
| UDP Scan | 무응답/데이터 | ICMP Unreachable |
7) Nmap 옵션
- 스캔:
-sS(SYN),-sT(Connect),-sU(UDP),-sA(ACK) - 기타:
-sV(버전),-O(OS),-p(포트),-Pn(Ping 생략),-f(단편화),-D(Decoy) - 함정: “-sS가 스크립트 옵션” 같은 보기 → 오답
8) DoS / DDoS / DRDoS
- DoS: 자원 고갈
- DRDoS: UDP 기반 반사·증폭(DNS/NTP 등)
- Smurf: ICMP Directed Broadcast / 방어
no ip directed-broadcast
9) SYN Flood 대응
- SYN Cookies, Backlog 튜닝, Rate Limit, 스크러빙 장비
- SYN Proxy도 보기로 자주 등장
10) VPN
IPSec(AH/ESP)
- AH: 인증/무결성(암호화 X) + Anti-Replay
- ESP: 암호화 + (선택) 인증/무결성 + Anti-Replay
전송/터널 모드
- 전송 모드(Transport): 원본 IP 헤더 유지(Host↔Host)
- 터널 모드(Tunnel): 새 IP 헤더 추가(GW↔GW, VPN에서 흔함)
2계층 터널링
- L2F(Cisco), PPTP, L2TP
11) 무선 보안
- IEEE 802.11i = WPA2
- WPA(TKIP), WPA2(CCMP/AES) — TKIP 취약성 유의
12) DMZ / Screened Subnet
- Screened Subnet: 외부FW ↔ DMZ ↔ 내부FW ↔ 내부망
- Screened Host와 비교(서브넷/DMZ 존재 여부)
13) 보안 장비
- IDS: 탐지/경보
- IPS: 탐지 후 차단(In-line)
- WAF: 웹(L7) 차단(과목상 네트워크/장비 문항으로 자주 출제)
- UTM: 방화벽/IPS/VPN 등 통합
- NAC: 단말 접속 통제·무결성 점검
14) 방화벽/필터링(iptables)
- Chain: INPUT / OUTPUT / FORWARD
- Policy: ACCEPT / DROP / REJECT / LOG
- State: ESTABLISHED / RELATED
15) Snort
룰 구조
- Action: alert/log/drop/reject
- Option: msg/sid/content/distance/within 등
- threshold: limit/both/threshold
| 옵션 | 의미 |
|---|---|
| content | 페이로드 문자열 매칭 |
| uricontent | URI에서만 문자열 매칭 |
| offset | 검사 시작 위치 |
| depth | offset부터 검사할 최대 바이트 수 |
논리적(엔진) 구조
- 디코더 → 전처리기 → 탐지엔진 → 출력(로그/알림)
- “그래퍼/로지커” 같은 단어는 구성요소 아님으로 섞일 수 있음
3과목. 애플리케이션 보안
1) DNS
- 포트: 53/UDP(질의), 53/TCP(존 전송)
- 재귀(Recursive) vs 반복(Iterative)
- 역조회:
dig -x(PTR) - 보안: DNSSEC(스푸핑/캐시 포이즈닝 방지)
2) HTTP
쿠키 보안 속성
- HttpOnly / Secure / SameSite
상태 코드
- 200 OK: 요청 성공(정상 처리)
Request Method(요청 방식)
- GET / POST / PUT / DELETE / HEAD / OPTIONS / PATCH
- 함정: ACK/SYN은 HTTP 메서드가 아니라 TCP 플래그
3) FTP / 파일 전송
- FTP: 제어 21/TCP, 데이터 Active 20/TCP, Passive 1024+
- TFTP: 69/UDP(인증 없음)
- SFTP: 22/TCP(SSH), FTPS: TLS
- FTP Bounce: PORT 명령 악용
- 설정 파일(출제형):
/etc/vsftpd/vsftpd.conf - 접속 금지 사용자:
/etc/ftpusers
4) SNMP
- 161/UDP(에이전트), 162/UDP(트랩)
- v3 권장(인증/암호화), 커뮤니티 스트링 기본값 변경
5) 웹 취약점(SQLi/XSS/CSRF)
- SQLi: Prepared Statement
- XSS: 출력 인코딩 + CSP
- CSRF: 토큰 + Referer 확인(HTML 인코딩은 오답)
6) 업로드/다운로드/경로
- 업로드: 확장자 검증, 저장경로 격리, 실행권한 제거
- 디렉터리 리스팅:
Options -Indexes
7) 이메일 보안
- PGP vs S/MIME: S/MIME은 X.509 기반
- 메일 포트: SMTP(25/465/587), POP3(110/995), IMAP(143/993)
- SPF: 도메인이 DNS에 허용 발신 IP 등록 → 수신자가 발신 IP 확인(스푸핑 방지)
- PEM: 과거 이메일 보안 표준명으로 보기로 섞일 수 있음
8) Google 인덱스(검색 연산자)
site:도메인: 도메인 내 인덱싱 확인filetype:pdf: 파일 형식 검색- 예:
site:example.com filetype:pdf
9) Nginx
nginx.conf에서index지시어로 기본 인덱스 파일을 지정- 예:
index index.html index.htm;
- 예:
4과목. 정보보안 일반
1) 보안의 3요소(CIA)
- 기밀성 / 무결성 / 가용성
2) 접근 통제 모델(정책/모델)
- 정책: MAC / DAC / RBAC
- 모델:
- Bell-LaPadula(BLP): 기밀성 중심( No Read Up / No Write Down )
- Biba: 무결성 중심( No Read Down / No Write Up )
- Clark-Wilson: 상업적 무결성
- Brewer-Nash(만리장성): 이해상충 방지
3) 암호 기초(대칭/비대칭/서명/해시)
| 구분 | 목적 | 암호화/서명 시 사용 키 | 복호화/검증 시 사용 키 |
|---|---|---|---|
| 대칭키 | 기밀성 | 비밀키 | 비밀키 |
| 비대칭키(기밀성) | 데이터 보호 | 수신자 공개키 | 수신자 개인키 |
| 비대칭키(서명) | 인증/부인방지 | 송신자 개인키 | 송신자 공개키 |
대칭키: 블록/스트림
- 블록 암호: 고정 블록 단위(AES 등)
- 스트림 암호: 키스트림 기반(RC4 등)
4) 해시 함수(스펙/포인트)
| 알고리즘 | 입력 블록 | 라운드 | 출력 길이 |
|---|---|---|---|
| MD5 | 512 | 64 | 128 |
| SHA-1 | 512 | 80 | 160 |
| SHA-256 | 512 | 64 | 256 |
| SHA-512 | 1024 | 80 | 512 |
- 함정: SHA-256 블록=512, SHA-512 블록=1024
- MD5/SHA-1 충돌 취약 → 실무는 SHA-256 이상
5) MAC / HMAC
- MAC: 메시지 무결성 + 인증(부인방지는 아님)
- 구성: 비밀키 + 해시(또는 블록암호)
- HMAC: 해시 기반 MAC(SHA 계열 등)
6) Kerberos(커버로스)
- 대칭키 기반 티켓 인증
- 구성: KDC(AS, TGS), 클라이언트, 서비스 서버
- 특징: 티켓/타임스탬프 기반(재전송 방지)
- 함정: “공개키를 사용한다” → 보통 틀린 설명
7) 악성코드/공격 개념
- 랜섬웨어: 파일 암호화 후 금전 요구(예: CryptoLocker)
- 워터링홀: 표적이 자주 가는 사이트 감염
- Decoy(미끼): 공격자 유인(탐지/분석 목적)
8) 이상 탐지(Anomaly-based)
- 정상 프로파일에서 벗어나는 행위 탐지
- 장점: 미지 공격 탐지 가능
- 단점: 오탐↑, 튜닝 필요
9) 포렌식(원칙/절차)
- 원칙: Chain of Custody(연계 보관성)
- 절차(순서형):
- 준비/식별 → 보존 → 수집 → 검사/분석 → 보고/제출
10) 세마포어 & 레이스 컨디션
- 세마포어: 동기화/상호배제용 정수 변수 기반 기법
- 카운팅(0 이상), 이진(0/1)
- P(Wait/Down), V(Signal/Up)
- 레이스 컨디션: 타이밍에 따라 결과가 달라짐 → 임계구역 보호(락/뮤텍스/세마포어)
11) 치환암호
- 치환암호: 문자를 다른 문자로 교체(예: 시저)
- 전치암호: 위치만 바꿈
12) 바이러스 세대(진화 순서)
- 원시형 → 암호형 → 은폐형 → 갑옷형 → 매크로형
5과목. 정보보안관리 및 법규
1) 위험 관리(처리/분석)
- 처리 전략: 회피 / 감소 / 전가 / 수용
- 분석 기법:
- 정량: ALE 등 수치 기반
- 정성: 델파이/시나리오/순위결정법
- 점수법(Scoring): 항목별 점수·가중치로 위험도 산정(준정량형 출제)
2) ISMS / ISMS-P
- ISMS-P: 정보보호 관리체계 + 개인정보 보호 요구사항 통합
3) 개인정보 보호(안전성 확보조치)
- 처리방침: 목적/항목/보유기간/위탁·제공 등 필수 포함
- 안전성 확보조치: 접근통제/암호화/접속기록/물리보안 등
- 최소수집 함정: 물리보안 문항에서 “불필요 정보”로 담당자 생년월일 같은 과도 정보가 정답이 될 수 있음
4) CC 인증 및 EAL
- EAL 1~7, 숫자↑ 보증 수준↑
5) 인증서/PKI: CRL
- CRL: 폐지(취소)된 인증서 목록(CA가 게시), 검증 시 폐지 여부 확인
6) 관련 법률
- 정보통신망법: 정보보호/관리체계 문항에서 핵심 축으로 자주 등장
- 개인정보 보호법(PIPA): 개인정보 처리/보호조치 중심
7) 산업기술보호법
- 산업기술/국가핵심기술 유출 방지 및 보호조치 의무
- 보기 포인트: “산업/핵심기술/유출/보호” 키워드 반복
8) 전자금융/결제(예치·지불·인출) & 이용내역 통지
- 3자 관계(빈칸형):
- 사용자: 예치(충전) / 지불 / 인출(환불)
- 상점(가맹점): 결제 수납
- 은행/발행기관: 예치금 관리·정산
- 이용내역 통지: “예외/해당 안되는 것” 형태의 보기로 출제 가능(문항의 예외조항을 고르는 유형)
9) QR 코드
- 고정형(Static): 내용 고정, 동일 QR 반복 사용
- 변동형(Dynamic): 거래마다 QR 변경(금액/시간/세션 연동) → 보안성↑