정보보안기사 | 시스템보안 핵심 정리 (1-2편)

정보보안기사 | 시스템보안 핵심 정리 (1-2편)

🛡️ 정보보안기사 | 시스템보안 핵심 정리 (1-2편)

버퍼 오버플로우 심화 · 리눅스 파일 구조 · PAM · TCP Wrapper · 로그 파일 · 악성코드 심화 · 인증 기술까지
1-1편에 이어 시험 빈출 59문항을 주제별로 완벽 정리합니다.

#정보보안기사 #시스템보안 #PAM #TCPWrapper #리눅스로그 #악성코드 #인증기술

📋 목차

  • 1. 버퍼 오버플로우 심화 (취약 함수 · 대응)
  • 2. 리눅스 파일 구조 심화 (passwd · shadow · umask · SUID)
  • 3. PAM · TCP Wrapper
  • 4. 리눅스 로그 파일 완벽 정리
  • 5. 윈도우 감사 정책 심화
  • 6. 악성코드 심화 (바이러스 · 드로퍼 · 백도어 · 제로데이)
  • 7. 인증 기술 (OTP · Kerberos · MFA · 생체인증)
  • 8. 보안 관리 개념 (ISMS · 허니팟 · 보안 관제)
  • 9. 시험 출제 포인트 최종 요약

1. 버퍼 오버플로우 심화

🔧 현직자 실무 포인트

시큐어 코딩 점검 시 strcpy, gets 같은 취약 함수 사용 여부가 필수 체크 항목입니다. SAST(정적 분석) 도구는 이런 함수를 자동으로 탐지합니다. 스택과 힙 오버플로우의 차이를 명확히 알아야 CVE 분석도 가능합니다.

유형 공격 대상 변조 목표
스택 버퍼 오버플로우 스택 영역 복귀(리턴) 주소 변조
힙 버퍼 오버플로우 힙 영역 함수 주소·데이터 변조
취약 함수 안전한 대체 함수 취약한 이유
strcpy strncpy, strcpy_s 복사 길이 검사 없음
gets gets_s, fgets 입력 길이 제한 없음
sprintf snprintf 출력 버퍼 크기 검사 없음
Q 레이스 컨디션 공격에서 심볼릭 링크를 이용하는 이유는?
→ 임시 파일 생성 순간 심볼릭 링크로 교체하여 공격자가 원하는 파일에 내용을 쓰기 위해ln -s 원본파일 링크파일 명령으로 심볼릭 링크를 생성합니다. -s 없으면 하드 링크입니다.
Q 포맷 스트링 공격의 세 가지 보안 위협은?
→ ① 프로세스 종료 ② 메모리 읽기 ③ 메모리 쓰기(임의 코드 실행)printf 계열 함수에서 %n 지시자를 악용합니다. 입력값 검증이 핵심 대응입니다.

🎯 시험 출제 포인트

  • 스택 오버플로우 = 복귀 주소 변조 / 힙 오버플로우 = 함수 주소·데이터 변조
  • strcpy 대체: strncpy, strcpy_s
  • gets 대체: gets_s, fgets
  • 심볼릭 링크 생성: ln -s
  • 포맷 스트링 3대 위협: 프로세스 종료 / 메모리 읽기 / 메모리 쓰기

2. 리눅스 파일 구조 심화

🔧 현직자 실무 포인트

서버 보안 점검 시 /etc/passwd에 UID 0 계정이 root 외에 존재하면 즉시 침해 의심입니다. shadow 파일 권한이 400을 초과하거나 other 읽기 권한이 있으면 취약입니다. umask 설정은 서버 초기 세팅 시 반드시 확인합니다.

파일 /etc/passwd 필드 순서 권장 권한
/etc/passwd 계정명 : 패스워드(x) : UID : GID : 설명 : 홈 디렉터리 : 로그인 쉘 644
/etc/shadow $알고리즘ID $Salt $해시값 형식으로 암호화된 패스워드 저장 400 이하

📐 umask 계산법

파일 기본 권한 666 − umask 값 = 최종 파일 권한

디렉터리 기본 권한 777 − umask 값 = 최종 디렉터리 권한

예시) umask 022 → 파일: 666−022 = 644 / 디렉터리: 777−022 = 755

특수 권한 숫자 값 권한 표시 특징
SUID 4000 소유자 x → s 파일 소유자 권한으로 실행
SGID 2000 소유그룹 x → s 소유그룹 권한으로 실행
Sticky Bit 1000 other x → t 소유자와 root만 삭제 가능. /tmp 대표적
Q /etc/passwd에서 UID 0 계정이 root 외에 존재하면?
→ 의도적 권한 상승 발생 가능성. 즉시 침해 의심리눅스는 계정명이 아닌 UID로 권한을 식별합니다. UID 0 = root와 동일한 최고 권한입니다.
Q rwxr-x–x를 숫자로 표현하면?
→ 751rwx=7 / r-x=5 / –x=1. 읽기(4)+쓰기(2)+실행(1) 합산.
Q SUID가 설정된 프로그램 실행 시 어떤 권한으로 동작하나요?
→ 실행 파일 소유자의 권한으로 동작예) passwd 명령은 SUID 설정으로 일반 사용자도 root 권한으로 shadow 파일을 수정합니다.
명령어 기능 비고
chown 파일 소유자 변경 chown root 파일명
chgrp 파일 소유 그룹 변경 chgrp sec 파일명
umask 파일 생성 시 제거할 권한 지정 기본값 022 권장
/etc/services 서비스명↔포트번호·프로토콜 매핑 서비스 포트 참조 파일

🎯 시험 출제 포인트

  • passwd 필드: 계정명:PW:UID:GID:설명:홈:쉘
  • passwd 권한: 644 / shadow 권한: 400 이하
  • shadow 형식: $알고리즘ID$Salt$해시값
  • umask 022 → 파일 644 / 디렉터리 755
  • SUID=4000 / SGID=2000 / Sticky Bit=1000
  • Sticky Bit: 소유자와 root만 삭제 가능
  • SUID 탐색: find / -perm -4000 -print

3. PAM · TCP Wrapper

🔧 현직자 실무 포인트

PAM은 SSH, sudo, su 등 리눅스 인증이 필요한 모든 서비스에서 사용합니다. hosts.allow/deny는 간단하지만 강력한 접근 제어 수단입니다. 현업에서는 iptables나 firewalld로 대체되는 경우가 많지만 시험과 보안 점검에서는 필수 개념입니다.

PAM 모듈 유형 역할
auth 패스워드 검증 — 사용자가 본인임을 확인
account 계정 유효성 검증 — 계정 만료·잠금 여부 확인
password 패스워드 변경 — 새 패스워드 갱신 처리
session 인증 전후 작업 — 로그 기록, 환경 설정 등
PAM 제어 방식 동작 핵심 키워드
requisite 실패 시 즉시 인증 거부, 이후 모듈 실행 안 함 즉시 거부
required 실패해도 모든 모듈 수행 후 마지막에 거부 마지막에 거부
sufficient 성공하면 즉시 허용, 이후 모듈 실행 안 함 즉시 허용
optional 결과에 관계없이 계속 진행 선택적
TCP Wrapper 파일 역할
hosts.allow 접근 허용 호스트 등록. 먼저 확인
hosts.deny 접근 거부 호스트 등록. allow에 없으면 확인
Q inetd.conf에 TCP Wrapper 적용 시 삽입되는 데몬은?
→ tcpd적용 전: /usr/sbin/in.telnetd → 적용 후: /usr/sbin/tcpd가 중간에 삽입됩니다.

🎯 시험 출제 포인트

  • PAM = Pluggable Authentication Module
  • PAM 4대 모듈: auth / account / password / session
  • requisite = 즉시 거부 / required = 마지막에 거부 / sufficient = 즉시 허용
  • TCP Wrapper 설정 파일: hosts.allow (먼저 확인) → hosts.deny
  • TCP Wrapper 적용 데몬: tcpd

4. 리눅스 로그 파일 완벽 정리

🔧 현직자 실무 포인트

침해사고 분석 시 wtmp(last), btmp(lastb), lastlog, acct 파일을 순서대로 확인합니다. 공격자가 .bash_history를 삭제해도 acct/pacct로 명령어 추적이 가능합니다. MAC Time(mtime·atime·ctime)은 파일 변조 여부 판단의 핵심 지표입니다.

로그 파일 저장 내용 확인 명령어 파일 유형
wtmp 로그인·로그아웃·부팅·셧다운 히스토리 last 바이너리
utmp 현재 로그인한 사용자 정보 who, w 바이너리
btmp 실패한 로그인 시도 기록 lastb 바이너리
lastlog 각 계정의 가장 최근 성공 로그인 기록 lastlog 바이너리
acct / pacct 사용자가 실행한 명령어 내역 lastcomm 바이너리
syslog 시스템 전반 메시지 (커널·데몬) cat /var/log/syslog 텍스트
MAC Time 의미 변경 시점
mtime 수정 시간 (Modify) 파일 내용이 변경될 때
atime 접근 시간 (Access) 파일을 읽거나 실행할 때
ctime 변경 시간 (Change) 파일 속성(권한·소유자 등)이 변경될 때

🔍 이벤트 로그 크기 계산 공식

단일 이벤트 크기 × 하루 발생량 × 보관 기간 = 필요 용량

예) 500byte × 1,000건 × 30일 = 15,000,000byte ≒ 약 15MB

윈도우 이벤트 로그 크기 설정: eventvwr.msc → 해당 로그 속성 → 최대 로그 크기

🎯 시험 출제 포인트

  • wtmp = 로그인·로그아웃 히스토리 → last
  • utmp = 현재 로그인 사용자 → who, w
  • btmp = 실패한 로그인 → lastb
  • lastlog = 최근 성공 로그인 → lastlog
  • acct/pacct = 명령어 내역 → lastcomm
  • MAC Time: mtime(내용수정) / atime(접근) / ctime(속성변경)

5. 윈도우 감사 정책 심화

감사 정책 기록 내용
로그온 이벤트 로컬 계정 로그온·로그오프 성공·실패 (로컬 인증)
계정 로그온 이벤트 도메인 컨트롤러에서 도메인 계정 인증
정책 변경 감사 정책 자체의 변경 성공·실패
개체 액세스 파일·디렉터리·레지스트리·프린터 접근 성공·실패
시스템 이벤트 시스템 시작·종료, 보안 로그 영향 이벤트
프로세스 추적 프로세스 생성·종료·핸들 복제
계정 관리 계정 생성·삭제·변경

💡 로그온 이벤트 vs 계정 로그온 이벤트 구별법

로그온 이벤트 = 로컬 컴퓨터에서 직접 로그인하는 경우 (로컬 계정)

계정 로그온 이벤트 = 도메인 컨트롤러가 인증을 처리하는 경우 (도메인 계정)

시험에서 자주 혼동을 유발하는 문제입니다. 로컬 vs 도메인으로 구분하세요.

🔧 불필요한 RPC 서비스 — 차단 대상

sadmind — 원격 시스템 관리·모니터링 데몬

rstatd — CPU·메모리 사용 통계 제공 데몬

walld — 네트워크 전체 사용자에게 메시지 전송 데몬

불필요한 RPC 서비스는 공격 표면을 넓히므로 반드시 차단해야 합니다.

🎯 시험 출제 포인트

  • 로그온 이벤트 = 로컬 계정 로그온 / 계정 로그온 이벤트 = 도메인 계정 인증
  • 개체 액세스 = 파일·레지스트리·프린터 접근 기록
  • 정책 변경 = 감사 정책 변경 자체 기록
  • 이벤트 뷰어 실행: eventvwr.msc
  • 세션 타임아웃 권장: 600초(10분) 이하
  • root 원격 접속 차단, su 명령으로 제한적 접근만 허용

6. 악성코드 심화

숙주 파일 필요
🦠 바이러스 (Virus)
다른 파일을 감염시켜 자기 복제. 사용자가 실행해야 전파. 웜과 달리 스스로 전파 불가.
악성코드 설치자
💉 드로퍼 (Dropper)
실행 시 다른 악성코드를 시스템에 설치. 자체 악성 행위는 없음. 악성코드 배달부 역할.
인증 우회 비밀 통로
🚪 백도어 (Backdoor)
침투 후 재진입을 위해 설치. 인증 절차 우회. 공격자 지속 접근 유지 목적.
취약점 공격 코드
💣 익스플로잇 (Exploit)
소프트웨어·시스템 취약점을 이용해 공격자가 원하는 동작을 실행하는 코드/프로그램.
패치 없는 취약점 공격
0️⃣ 제로데이 공격
패치 공개 전 알려지지 않은 취약점 이용. 기술적 방어가 가장 어려운 공격.
공격자 유인 시스템
🍯 허니팟 (Honeypot)
의도적으로 취약하게 설정한 가짜 시스템. 공격자 행동 분석 및 실제 시스템 보호.

🎯 악성코드 비교 — 시험 핵심 구별

  • 바이러스 = 숙주 파일 필요, 사용자 실행 필요, 자가 전파 불가
  • = 숙주 불필요, 네트워크로 자가 전파
  • 드로퍼 = 자체 악성 행위 없음, 다른 악성코드를 설치
  • 백도어 = 인증 우회, 재진입용 비밀 통로
  • 제로데이 = 패치 없는 취약점 공격 → 기술적 방어 어려움
  • 허니팟 = 공격자 유인·분석 목적의 가짜 시스템

7. 인증 기술 (OTP · Kerberos · MFA · 생체인증)

🔧 현직자 실무 포인트

기업 환경에서 MFA는 이제 사실상 필수입니다. OTP(TOTP/HOTP), 스마트카드, 생체인증 조합이 일반적입니다. 생체인증의 FAR/FRR/EER은 바이오메트릭 시스템 성능 지표로 조달·도입 시 요구사항에 포함됩니다.

인증 기술 설명
OTP One Time Password. 일회용 패스워드. 재사용 공격(리플레이 공격) 방어
Kerberos 티켓 기반 네트워크 인증 프로토콜. 제3자 신뢰기관(AS)이 티켓 발급
MFA 두 가지 이상 인증 요소 조합. 지식·소유·생체 요소 중 2개 이상 사용
생체인증 오류율 의미 관계
FAR False Acceptance Rate
타인을 본인으로 잘못 수락하는 비율
FAR↓ → FRR↑
FAR↑ → FRR↓
두 값이 같아지는 지점 = EER(등오류율)
FRR False Rejection Rate
본인을 타인으로 잘못 거부하는 비율
EER Equal Error Rate
FAR = FRR이 되는 지점. 시스템 성능 지표

🔐 MFA 인증 요소 3가지

지식 요소 (Something you know) — 패스워드, PIN

소유 요소 (Something you have) — OTP 토큰, 스마트카드

생체 요소 (Something you are) — 지문, 홍채, 얼굴

🎯 시험 출제 포인트

  • OTP = One Time Password, 리플레이 공격 방어
  • Kerberos = 티켓 기반 네트워크 인증, AS가 티켓 발급
  • MFA = 인증 요소 2가지 이상 조합
  • FAR = 타인 수락률 / FRR = 본인 거부률 / EER = 두 값이 같아지는 지점
  • EER이 낮을수록 → 더 정확한 생체인증 시스템

8. 보안 관리 개념

개념 설명
ISMS Information Security Management System. 정보보호 관리체계. 국내는 ISMS-P로 통합(개인정보 보호 포함)
취약점 스캐너 자동화 도구로 취약점 탐지. 빠르지만 오탐(False Positive) 多
침투 테스트 사람이 직접 실제 공격 시도. 정확하지만 시간 소요
보안 관제 보안 장비·시스템 로그를 실시간 모니터링, 침해사고 탐지·대응. CERT·SOC에서 수행
사전 공격 Dictionary Attack. 사전 파일의 단어 조합 이용. 브루트 포스보다 빠르지만 사전에 없는 PW 불가

🎯 시험 출제 포인트

  • ISMS = 정보보호 관리체계 / 국내: ISMS-P (개인정보 포함)
  • 취약점 스캐너 = 자동·빠름·오탐 多 / 침투 테스트 = 수동·정확·시간 多
  • 보안 관제 = 실시간 모니터링 + 침해사고 탐지·대응 → CERT·SOC
  • 사전 공격 = Dictionary Attack
  • Clark-Wilson 모델 = 무결성 보장, 인증된 프로그램을 통해서만 데이터 변경 허용

9. 📌 1-2편 최종 시험 출제 포인트 총정리

🎯 이것만 외워도 절반은 맞는다

  • strcpy 대체: strncpy/strcpy_s / gets 대체: gets_s/fgets
  • 심볼릭 링크 생성: ln -s
  • passwd 권한 644 / shadow 권한 400 이하
  • shadow 형식: $ID$Salt$Hash
  • umask 022 → 파일 644 / 디렉터리 755
  • SUID=4000(s) / SGID=2000(s) / Sticky=1000(t)
  • PAM 4대 모듈: auth/account/password/session
  • requisite=즉시 거부 / required=마지막 거부 / sufficient=즉시 허용
  • TCP Wrapper: hosts.allow → hosts.deny 순으로 확인
  • wtmp→last / utmp→who,w / btmp→lastb / acct→lastcomm
  • MAC Time: mtime=내용수정 / atime=접근 / ctime=속성변경
  • FAR=타인 수락 / FRR=본인 거부 / EER=두 값이 같아지는 지점
  • OTP = 리플레이 공격 방어 / Kerberos = 티켓 기반 인증
  • 드로퍼 = 악성코드 설치 / 백도어 = 인증 우회 통로 / 제로데이 = 패치 없는 공격
  • ISMS = 정보보호 관리체계 / 국내 = ISMS-P