카테고리 없음

정보보안기사 2023년 6월 필기 기출 관련 개념 정리

sh1256 2025. 5. 24. 13:25
728x90

ipconfig 명령어

* /displaydns: DNS Cache Table 조회

* /flushdns : DNS cache 초기화

* /renew : IP 주소 갱신

* /release : IP 주소 반환


umask 

umask는 유닉스(Unix)나 리눅스(Linux) 시스템에서 새 파일이나 디렉터리가 생성될 때 기본적으로 설정되는 권한을 제한하는 값이에요.

 

기본 개념

  • umask는 **"user file creation mask"**의 줄임말이에요.
  • 새로 파일이나 폴더를 만들 때, 기본 권한에서 umask 값을 빼서 실제 권한을 결정해요.

기본 권한

  • 파일: 기본 권한은 666 (rw-rw-rw-)
  • 디렉터리: 기본 권한은 777 (rwxrwxrwx)
  • (실제로는 보안상 파일에 실행 권한은 기본 부여되지 않아요.)

예시

umask 022
  • 022는 "다른 사람은 쓰기 금지"라는 의미예요.
  • 새 파일은 666 - 022 = 644 → rw-r--r--
  • 새 디렉토리는 777 - 022 = 755 → rwxr-xr-x

사용 방법

* 현재 umask 값 확인:  umask

* umask 값 설정: umask 027


 

lsof

lsof는 리눅스나 유닉스 계열 시스템에서 열려 있는 파일(open file) 정보를 보여주는 명령어예요.

기본 개념

lsof는 List Open Files의 줄임말이에요.

리눅스에서 모든 것은 파일로 취급돼요:

  • 일반 파일
  • 디렉터리
  • 소켓
  • 파이프
  • 네트워크 연결 등

그래서 lsof를 쓰면 어떤 프로세스가 어떤 파일(또는 포트, 소켓 등)을 열고 있는지를 알 수 있어요.

기본 사용법

lsof → 현재 열려 있는 모든 파일을 나열해요 (매우 많음).

유용한 옵션들

명령어설명
lsof -i 네트워크 연결 정보 보기 (TCP, UDP 등)
lsof -i :80 80번 포트를 사용하는 프로세스 보기
lsof -iTCP -sTCP:LISTEN 현재 리슨(listen) 중인 TCP 포트 보기
lsof /path/to/file 특정 파일을 열고 있는 프로세스 보기
lsof -p PID 특정 PID가 열고 있는 파일 보기
lsof -u username 특정 사용자가 연 파일 보기
 

예시

lsof -i :3000

→ 3000번 포트를 사용 중인 프로세스 확인 (웹 서버 같은 경우 유용)

lsof /var/log/syslog

→ syslog 파일을 사용 중인 프로세스 보기

lsof -t -i :3000 | xargs kill -9

→ 3000번 포트를 점유 중인 프로세스를 강제 종료


setuid, setgid

setuid(Set User ID)와 setgid(Set Group ID)는 리눅스나 유닉스에서 파일 실행 시 권한을 일시적으로 바꾸는 특수한 퍼미션(권한)이에요.

 

1. setuid (Set User ID on execution)

  • 실행 파일에 setuid 권한이 설정되면, 그 파일을 실행하는 사람이 누구든 간에, 파일 소유자의 권한으로 실행돼요.
  • 주로 root 권한이 필요한 작업을 일반 사용자도 실행할 수 있게 할 때 사용돼요.

예시:
passwd 명령어는 일반 사용자도 자기 비밀번호를 바꿀 수 있지만, 실제로는 시스템 파일(/etc/shadow)을 수정해야 해요.
이건 루트 권한이 있어야 가능한데, passwd 파일이 setuid 되어 있어서 root 권한으로 실행돼요.

 

권한 표시:
-rwsr-xr-x ← 여기서 s는 setuid (소유자 실행 위치에 있음)

 

2. setgid (Set Group ID on execution or directory)

  • 실행 파일에 적용:
    실행하는 사람이 누구든 간에, 그 파일의 그룹 권한으로 실행돼요.
  • 디렉토리에 적용:
    그 디렉토리에 파일을 만들면, 자동으로 그 디렉토리의 그룹이 소유 그룹으로 설정돼요.
    팀 프로젝트에서 같은 그룹으로 파일을 공유할 때 유용해요.

권한 표시:

  • 파일: -rwxr-sr-x ← 그룹 실행 위치에 s
  • 디렉토리: drwxr-sr-x

설정 방법

setuid 설정: chmod u+s filename

setgid 설정:chmod g+s filename

 

권한 제거는 chmod u-s 또는 chmod g-s로 해요.

 

chmod 4자리 숫자에서:

  • 첫 번째 자리 → 특수 권한 (setuid, setgid, sticky bit)
  • 뒤의 세 자리 → 일반적인 rwx 권한 (owner, group, other)

특수 권한은 이렇게 계산돼:

숫자의미
4 setuid
2 setgid
1 sticky bit
 

그래서 예를 들어:

  • 4777 → setuid(4) + 일반 권한 777 (rwxrwxrwx)
  • 2775 → setgid(2) + rwxrwxr-x
  • 1777 → sticky bit + rwxrwxrwx (보통 /tmp 디렉토리에 설정됨)

예시: chmod 4777 filename 을 했을 때

  • 파일에 setuid가 걸림
  • 일반 권한은 777 (모두 읽기/쓰기/실행 가능)
  • 최종 권한 표시는:
  • -rwsrwxrwx

여기서 rws는 owner 부분에서 실행권한(x)이 s로 바뀐 것, 즉 setuid가 설정된 거야.

참고로

권한 숫자의미문자 표기 예시
4755 setuid + 755 -rwsr-xr-x
2755 setgid + 755 -rwxr-sr-x
1755 sticky + 755 -rwxr-xr-t
777 모두 풀 권한 -rwxrwxrwx
 

ls -l 명령어로 보면 특수 권한이 적용된 부분은 x 대신 s 또는 t로 표시돼.
(실행 권한이 없는데 특수 비트만 있으면 대문자 S나 T로 표시돼서, 뭔가 이상하게 설정된 걸 알려줘.)


PAM 모듈 타입 4가지

PAM(Pluggable Authentication Modules)은 리눅스/유닉스에서 인증(Authentication) 관련 동작을 모듈화해서 처리하는 시스템이에요.
PAM 설정 파일에는 모듈 타입 4가지가 사용되며, 각각 인증 과정의 다른 단계를 담당해요.

 

PAM 모듈 타입 4가지

  1. auth
    • 사용자 인증을 담당
    • 비밀번호 확인, 지문 인식, 인증 토큰 요청 등
    • 예: 로그인 시 사용자 이름과 비밀번호 확인
  2. account
    • 계정의 유효성 검사
    • 계정이 잠겼는지, 사용 기간이 만료됐는지, 로그인 가능한 시간인지 등을 검사
    • 인증은 되었더라도, 계정 상태에 따라 거부될 수 있음
  3. password
    • 비밀번호 변경 처리
    • 사용자가 비밀번호를 변경할 때 사용됨
    • 예: passwd 명령 실행 시
  4. session
    • 세션 시작/종료 시 작업 처리
    • 로그인/로그아웃 시 필요한 작업 실행 (예: 로그 남기기, 리소스 마운트, 홈 디렉터리 준비 등)
    • 예: 로그인하면 자동으로 특정 디렉터리를 마운트하거나 로그 기록 남기기

휘발성 데이터와 비휘발성 데이터

휘발성 데이터 (Volatile Data)

  • 정의: 전원이 꺼지면 사라지는 데이터
  • 예시:
    • RAM(메모리)에 존재하는 정보
    • 실행 중인 프로세스 목록
    • 네트워크 연결 상태 (TCP/UDP 세션)
    • 현재 로그인 사용자 정보
    • 캐시된 암호 / 키 / 임시 파일
    • 시스템 시간, 커널 모듈, 드라이버 정보 등

비휘발성 데이터 (Non-Volatile Data)

  • 정의: 전원이 꺼져도 보존되는 데이터
  • 예시:
    • 하드디스크(HDD/SSD) 파일
    • 로그 파일 (시스템 로그, 접근 로그 등)
    • 레지스트리 (Windows)
    • 사용자 계정, 파일 시스템 메타데이터
    • 이메일, 문서, 이미지 등 저장된 자료

레인보우 테이블, 크리덴셜 스터핑

레인보우 테이블 (Rainbow Table)

  • 정의: 해시값을 빠르게 역산(복호화)하기 위해 미리 계산된 해시값-원문 쌍을 저장해놓은 표예요.
  • 사용 목적:
    해시된 비밀번호를 빠르게 찾아내기 위해 사용함.
    예: 해시값 5f4dcc3b5aa765d61d8327deb882cf99 → 'password'
  • 동작 방식:
    1. 공격자가 미리 다양한 문자열의 해시값을 계산해 저장
    2. 시스템에서 유출된 해시값을 표에서 찾아 원래 비밀번호를 알아냄
  • 한계와 방어 방법:
    • Salt 기법을 쓰면 효과 급감 (같은 비밀번호여도 다른 해시가 됨)
    • 길고 복잡한 비밀번호도 레인보우 테이블을 무력화시킴
    • 최신 시스템은 대부분 Salt와 함께 해시를 사용

크리덴셜 스터핑 (Credential Stuffing)

  • 정의:
    이미 유출된 ID/비밀번호 조합(크리덴셜)을 다른 웹사이트에 자동으로 입력해 로그인하는 공격 방식
  • 예시:
    어떤 사용자의 계정정보(email: user@example.com / pw: qwer1234)가 A 사이트에서 유출되었다면, 공격자는 이 정보를 B, C, D 사이트에 자동으로 입력해 계정 탈취를 시도함
  • 왜 잘 통하냐면:
    많은 사용자가 같은 비밀번호를 여러 사이트에서 재사용하기 때문
  • 방어 방법:
    • 2단계 인증(2FA)
    • 비밀번호 재사용 금지
    • 로그인 시도 횟수 제한, CAPTCHA
    • 크리덴셜 스터핑 탐지 시스템 (예: 행동 분석)

비교 요약

항목레인보우 테이블크리덴셜 스터핑
목적 해시값을 복호화해서 비번 알아냄 유출된 ID/PW로 다른 사이트 로그인 시도
주로 대상 해시된 비밀번호 평문 계정 정보 (이미 유출된)
특징 사전 계산 필요, Salt에 약함 자동화 쉬움, 비번 재사용에 강함

시큐어 코딩 함수

취약한 함수 안전한 함수
strcat strncat
strcpy strncpy
gets, scan fgets, fscanf
vscsnf, vsscanf vfscanf
sprintf, vsprintf snprintf, vsnprintf

윈도우 공유폴더 관련 명령어

* 공유폴더 목록보기: net-share

* 새 공유 폴더: net share 공유이름-폴더경로 /grant:사용자, 권한

* 공유 폴더 삭제: net share 공유이름 /delete

* 공유 폴더 연결: net use Z: \\서버이름\공유폴더 이

* 연결 끊기: net use Z: /delete 


리눅스 로그파일 관련 명령어

로그 관련 명령어와 주로 참조하는 파일(또는 데이터베이스)을 같이 정리해볼게.

명령어설명관련 로그 파일/데이터베이스
last 로그인 성공 기록 출력 /var/log/wtmp
lastb 로그인 실패 기록 출력 /var/log/btmp
who 현재 로그인 사용자 확인 /var/run/utmp
w 로그인 사용자와 활동 정보 출력 /var/run/utmp, /proc
faillog 로그인 실패 시도 횟수 확인 /var/log/faillog
utmpdump utmp, wtmp 파일 덤프 /var/run/utmp, /var/log/wtmp
journalctl systemd 기반 로그 조회 systemd 저널 저장소 (/run/log/journal/)
ausearch SELinux 감사 로그 검색 /var/log/audit/audit.log
 

각 파일 의미

  • wtmp: 로그인 및 로그아웃 기록 저장
  • btmp: 로그인 실패 기록 저장
  • utmp: 현재 로그인 상태 저장
  • faillog: 로그인 실패 횟수 기록
  • audit.log: SELinux나 감사 로그

보안 도구

* Snort: 네트워크 탐지 툴

* Nmap: 포트 스캐닝 도구

* Tcpdump: 스니핑도구

* Tcp wrapper: 방화벽 도구(서버단 접속통제)

 

도구명 역할 주요기능 사용목적 특징
Snort 네트워크 침입 탐지 시스템(IDS) 실시간 패킷 분석, 공격 탐지, 알림 네트워크 공격 탐지 및 모니터링 룰 기반, 널리 사용됨
Suricata IDS/IPS 고성능 멀티스레드 패킷 분석, 프로토콜 탐지 Snort 대체 또는 보완용 IDS/IPS Snort 룰 호환, 멀티코어 최적화
Nmap 네트워크 스캐너 포트 스캔, 서비스 및 OS 탐지 네트워크 조사 및 취약점 점검 다양한 스캔 옵션, 스크립트 지원
Wireshark 패킷 분석 도구 실시간 패킷 캡처 및 상세 분석 네트워크 문제 해결, 트래픽 분석 GUI 기반, 프로토콜 분석 강력
Bro (Zeek) 네트워크 모니터링 및 분석 플랫폼 트래픽 로그 생성, 이상행위 탐지 네트워크 보안 모니터링 및 포렌식 스크립트 기반 유연한 분석 가능
tcpdump 패킷 캡처 및 분석 도구 커맨드라인 기반 패킷 캡처 및 필터링 빠른 트래픽 검사 및 문제 진단 경량, 스크립트와 조합해 활용 가능
OpenVAS 취약점 스캐너 네트워크 및 호스트 취약점 자동 탐지 보안 취약점 진단 및 관리 광범위한 취약점 DB, 보고서 기능

 


SNMP

SNMP 기본 개념

  • 목적: 네트워크 장비(라우터, 스위치, 서버, 프린터 등)의 상태 정보를 수집하고 제어
  • 동작 방식:
    • 관리자(Manager): 네트워크를 모니터링하는 중앙 시스템
    • 에이전트(Agent): 네트워크 장비에 내장된 SNMP 소프트웨어, 상태 데이터를 제공
  • 구성요소:
    • MIB(Management Information Base): 관리 가능한 데이터의 구조화된 집합
    • OID(Object Identifier): 각 데이터 항목을 고유하게 식별하는 번호 체계

SNMP 버전

  • SNMPv1: 최초 버전, 보안 기능 미흡
  • SNMPv2c: 성능 향상, 여전히 보안 취약
  • SNMPv3: 보안 강화 (인증, 암호화 지원)

SNMP 주요 명령어

  • snmpget: 특정 OID에 해당하는 정보를 요청
    예) snmpget -v2c -c public 192.168.1.1 sysDescr.0
  • snmpwalk: 특정 OID부터 하위 OID 전체 정보를 순차적으로 요청
    예) snmpwalk -v2c -c public 192.168.1.1 system
  • snmpset: 장비 설정 값을 변경할 때 사용 (보안상 제한적)
    예) snmpset -v2c -c private 192.168.1.1 sysContact.0 s "admin@example.com"
  • snmptrap: 비동기 이벤트(트랩)를 관리 시스템으로 전송할 때 사용

tracert, ping

항목 ping tracert/traceroute
기능 대상 연결 여부 및 응답 시간 확인 목적지까지 경로 추적 및 각 구간 지연 시간 확인
출력 내용 응답 시간(RTT), 패킷 손실률 경유 라우터 IP 목록, 각 구간 응답 시간
사용 목적 네트워크 연결 상태 간단 점검 네트워크 경로 분석 및 문제 구간 파악
프로토콜 ICMP Echo Request / Reply ICMP 또는 UDP 패킷 (운영체제에 따라 다름), TTL 기반
운영체제별 차이 Windows, Linux 모두 지원 Windows: tracert, Linux: traceroute

 


무선 LAN 프로토콜

프로토콜 의미 동작방식 요약 주 사용 분야 및 특징
CSMA/CD Carrier Sense Multiple Access with Collision Detection 충돌 감지 후 재전송. 송신 전 채널 감시, 충돌 나면 백오프 후 재시도 유선 LAN (예: 이더넷) 무선 환경에 부적합 (충돌 감지 어려움)
CSMA/CA Carrier Sense Multiple Access with Collision Avoidance 충돌 회피 방식. RTS/CTS 사용으로 사전 예약하며 충돌 방지 무선 LAN (Wi-Fi 등) 무선 전용, 충돌 발생 가능성 줄임
FDMA Frequency Division Multiple Access 주파수 대역을 나누어 사용자별로 고정된 채널 할당 셀룰러 통신 (1세대 등) 주파수 자원 분할, 고정적
CDMA Code Division Multiple Access 사용자마다 고유 코드로 데이터 전송. 동일 주파수에서 다중 사용자 가능 셀룰러 통신 (2G~3G 등) 높은 보안성, 간섭에 강함, 복잡한 수신기 필요

 


Snort Rule

alert tcp any any -> any 23 (msg "test":content; "anonymous"; depth 14; sid 10001;)

 


오용탐지와 이상탐지

구분 오용탐지 (Misuse Detection) 이상탐지 (Anomaly Detection)

구분 오용 탐지(Misuse Detection) 이상 탐지(Anomaly Detection)
탐지 기준 알려진 공격 패턴(시그니처) 기반 정상 행위의 기준에서 벗어나는 이상 행위 탐지
장점 - 오탐률 낮음- 명확한 공격 탐지 가능 - 알려지지 않은 공격(제로데이)도 탐지 가능
단점 - 새로운 공격(제로데이)에 취약- 시그니처 지속적 업데이트 필요 - 오탐률이 높을 수 있음- 정상/비정상 기준 설정이 어려움
예시 도구 Snort, Suricata 등 시그니처 기반 IDS 머신러닝 기반 IDS, 통계적 이상탐지 시스템
적합한 환경 이미 잘 알려진 공격에 대비하는 환경 새로운 위협이나 내부자 이상 행위 탐지 목적의 환경

 


Snort를 이용한 LAND Attack 탐지룰

alert ip any any -> any any (msg:"Land Attck"; sameip;)

 


SNMP로 발생할 수 있는 공격 및 방지 방법

SNMP는 네트워크 장비를 관리하는 데 유용하지만, 잘못 설정되면 여러 가지 보안 공격에 악용될 수 있다. 아래에 SNMP로 인한 주요 공격 유형들을 정리하였다. 

공격 유형  설명  원인 또는 취약점
정보 수집 공격 공격자가 SNMP를 통해 장비 이름, OS, 인터페이스 상태 등 민감 정보 수집 community string이 public처럼 기본값으로 설정된 경우
SNMP Enumeration 장비 내부 정보나 네트워크 구조를 추출하여 공격 준비 단계로 활용 SNMP 읽기 권한 과도 부여, MIB 정보 유출
Brute Force Attack SNMP community string을 무차별 대입하여 접근 권한 획득 인증 없는 SNMPv1, v2c 사용
DDoS 증폭 공격 작은 요청으로 큰 응답을 유도하여 제3자에게 대량의 트래픽 유발 SNMP가 UDP 기반이라 IP 스푸핑과 함께 악용됨
설정 변경 공격 (snmpset) 장비의 설정을 변경하거나 비활성화시키는 공격 set 권한 있는 community string 노출 시 위험
서비스 거부(Denial of Service) SNMP 요청을 대량으로 보내 장비 과부하 유도 또는 다운 필터링 부재, 비정상 트래픽 처리 미흡

방지 방법 요약

  • SNMP v3 사용 (암호화 및 인증 제공)
  • 불필요한 SNMP 비활성화
  • community string은 기본값 변경 및 복잡하게 설정
  • snmpwalk, snmpget 접근을 ACL 등으로 제한
  • 방화벽에서 SNMP 포트(161/udp, 162/udp) 제한

SMTP 명령어 절차

메일 발송 절차: EHLO -> MAIL -> RCPT -> DATA -> QUIT

인증절차 : EHLO -> AUTH -> MAIL -> RCPT -> DATA -> QUIT

 


무선LAN 보안 프로토콜 

보안 방식 정식 명칭 설명
WEP Wired Equivalent Privacy 가장 오래된 보안 방식, 약한 암호화 사용 (RC4) → 현재는 취약
WPA Wi-Fi Protected Access WEP의 단기 대체. 개선된 보안 (TKIP 사용)
WPA2 Wi-Fi Protected Access 2 강력한 보안. AES 기반 암호화, 현재 가장 널리 사용됨
WPA3 Wi-Fi Protected Access 3 최신 보안 표준. 더 강한 암호화와 브루트포스 공격 방어 강화

 


보안 도구

항목 설명 관계/기능 사용 운영체제 (주로)

항목 설명 관계/기능 사용 운영체제(주로)
netfilter 리눅스 커널에 내장된 패킷 처리 프레임워크 기반 시스템 Linux (커널 2.4 이상)
iptables netfilter를 제어하는 명령어 도구 고급 방화벽 설정 도구 Linux 전용
ufw iptables의 간편한 인터페이스 (초보자용) 간단한 방화벽 관리 Ubuntu, Debian 계열

iptables에서 목적지 포트가 10~20인 것을 차단하는 명령어는?

--dport 10:20

발신자 포트가 10~20인 것을 차단

--sport 10:20


Tripwire

시스템 무결성 검사 도구로, 시스템 내 중요 파일이 변조되었는지 감시하는 보안 솔루션

 

 주요 기능

무결성 검사 파일의 해시값, 권한, 크기 등을 저장해두고 이후 변경 여부 탐지
변조 탐지 루트킷, 악성코드, 관리자 몰래 변경된 설정 파일 등을 감지
보고서 생성 변경된 파일 목록과 변경 내용 요약 보고서 출력
자동화 스케줄링 주기적으로 검사 수행 가능 (cron 등과 연동)

감시하는 것들

  • /etc/passwd, /etc/shadow
  • /boot, /bin, /sbin 디렉터리
  • 웹 서버 파일, 설정 파일, 로그 파일 등

기본 명령어 예시 (리눅스)

  • tripwire --init → 기준 데이터베이스 생성
  • tripwire --check → 현재 상태 검사
  • tripwire --update → 검사 결과로 데이터베이스 갱신

Slow DoS 종류

공격 유형 전송 대상 공격 방식 서버에 미치는 영향 주요 타깃 서버

공격 유형 전송 대상 공격 방식 서버에 미치는 영향 주요 타깃 서버
Slow HTTP Header DoS(Slowloris) HTTP 헤더 HTTP 요청 헤더를 천천히 나눠서 전송 서버가 연결을 오래 유지해야 해서 소켓 고갈 Apache, 일부 Nginx
Slow HTTP POST DoS(ex. R.U.D.Y) POST Body Content-Length를 매우 길게 설정 후, 본문을 천천히 전송 요청 처리 대기 상태 유지 → 메모리/스레드 고갈 Apache, PHP 기반 웹
Slow HTTP Read DoS(Slow Read) 서버 응답 클라이언트가 수신 윈도우 크기를 매우 작게 설정 서버가 데이터를 매우 느리게 전송하게 됨 Windows IIS 등

URL 스푸핑, 호모그래프 공격

구분 URL 스푸핑 호모그래프 공격 
공격 방법 비슷한 문자 또는 IP를 사용해 주소를 속임 시각적으로 유사한 유니코드 문자를 사용해 주소를 위장
공격 대상 웹사이트 URL, 이메일 링크 등 주로 도메인 이름(URL)
공격 난이도 상대적으로 쉬움 문자셋 지식 필요, 다소 복잡
방어 방법 URL 직접 확인, 링크 주의 Punycode 인코딩 확인, 브라우저 차단 기능 사용

이메일 보안

 

PGP (Pretty Good Privacy)

  • 개념: 개인 대 개인(P2P) 암호화 방식의 이메일 보안 프로토콜
  • 기능: 이메일 내용 암호화, 서명, 인증
  • 키 관리: 분산된 웹형식 신뢰 모델 (웹 오브 트러스트)
  • 파일 형식: 자체 형식 (예: .asc 텍스트)
  • 사용 분야: 개인 사용자 중심, 자유롭게 공개키 배포
  • 특징: 공개키를 직접 주고받거나 공개 서버에 올려서 사용

PEM (Privacy Enhanced Mail)

  • 개념: 이메일 보안 표준으로 제안되었으나, 현재는 인증서 및 암호화 데이터 포맷으로 주로 사용
  • 기능: 인증서, 키, 암호화 데이터 저장 형식 (Base64 인코딩된 ASCII)
  • 파일 형식: .pem, .crt, .key 등 (-----BEGIN CERTIFICATE----- …)
  • 키 관리: X.509 인증서 기반
  • 사용 분야: TLS/SSL 인증서 저장, 암호화 키 관리에 널리 사용
  • 특징: 이메일 보안 외에도 다양한 보안 시스템에서 표준 형식

S/MIME (Secure/Multipurpose Internet Mail Extensions)

  • 개념: 이메일 메시지 암호화와 서명을 위한 표준 프로토콜
  • 기능: 메시지 암호화, 디지털 서명, 인증
  • 키 관리: X.509 기반 인증서 중심 (공인 인증서 활용)
  • 파일 형식: MIME 메시지 내부에 암호화/서명 포함 (.p7m, .p7s)
  • 사용 분야: 기업 및 조직 이메일 보안에 널리 사용
  • 특징: 메일 클라이언트(Outlook, Apple Mail 등)에서 기본 지원

요약 비교표

구분 PGP PEM S/MIME
주 목적 이메일 암호화 및 서명 인증서, 키, 암호화 데이터 저장 이메일 암호화 및 서명
키 관리 웹 오브 트러스트 X.509 인증서 X.509 인증서
주요 사용처 개인 사용자 이메일 보안 TLS/SSL 인증서, 키 저장 기업용 이메일 보안
파일 형식 .asc (텍스트 기반) .pem, .crt, .key (Base64) .p7m, .p7s (MIME 메시지 내)
표준화 상태 비표준, 독립적으로 발전 표준 파일 포맷 IETF 표준 이메일 보안 프로토콜

공격 종류

NTP 증폭 공격: monlist 라는 NTP 서버 명령어 악용

ICMP FLood: ICMP Echo request를 Boradcast해서 목적지의 IP주소를 피해자의 IP로

HTTP Flood: HTTP GET or POST 발생

DrDoS: 대량의 SYN 전송 후, 응답의 SYN+ACK를 피해자에게 전송


FTP Bounce Attack

네트워크를 포트 스캐닝하고 Fake 메일을 발송하는 공격


FTP

목적 네트워크 상에서 파일 전송을 위한 표준 프로토콜
기본 포트 제어용 포트: 21번 (명령어 송수신)
  데이터 전송용 포트: 20번 (액티브 모드에서 서버가 클라이언트로 연결)
통신 방식 클라이언트-서버 구조, 명령어와 데이터는 별도 채널로 전송
데이터 전송 모드 - 액티브 모드(Active Mode): 서버가 클라이언트 지정 포트로 데이터 연결- 패시브 모드(Passive Mode): 클라이언트가 서버 지정 포트로 데이터 연결
인증 방식 사용자명과 비밀번호를 이용한 인증 (기본적으로 평문 전송)
전송 방식 텍스트 및 바이너리 파일 전송 지원
보안 기본 FTP는 암호화되지 않아 평문 통신, 보안 취약SFTP, FTPS로 보안 강화 가능
명령어 예시 USER, PASS, LIST, RETR, STOR, QUIT 등
응용 분야 웹 서버 파일 관리, 시스템 백업, 대용량 파일 전송 등
단점 방화벽 및 NAT 환경에서 설정이 까다로움, 기본 FTP는 보안 취약점 존재
  • 액티브 모드:
    • 클라이언트가 제어 채널(포트 21)로 서버에 접속
    • 서버가 클라이언트가 지정한 임의의 포트(1024 이상)로 데이터 전송용 연결을 시도
    • 서버의 데이터 전송 포트는 20번
    • 방화벽 때문에 클라이언트 쪽에서 연결이 막히는 경우가 많음
  • 패시브 모드:
    • 클라이언트가 제어 채널(포트 21)로 서버에 접속
    • 서버가 임의로 1024 이상의 포트 중 하나를 열고, 그 포트 번호를 클라이언트에 알려줌
    • 클라이언트는 그 포트로 직접 데이터 연결을 시도
    • 클라이언트 → 서버 방향으로 연결하므로 방화벽 통과가 더 쉬움

Log4j 

  • 역할: 애플리케이션 동작 중 발생하는 로그(정보, 경고, 오류 등)를 효과적으로 기록하고 관리
  • 특징:
    • 다양한 로그 레벨 지원 (TRACE, DEBUG, INFO, WARN, ERROR, FATAL)
    • 로그 출력 형식과 대상(파일, 콘솔, 원격 서버 등) 설정 가능
    • 유연한 설정 파일(XML, JSON, YAML, 프로퍼티 등) 지원
    • 성능이 뛰어나고 확장성 높음

왜 유명해졌나? (2021년 보안 이슈)

  • Log4Shell 취약점 (CVE-2021-44228)
    • 2021년 말에 발견된 심각한 원격 코드 실행(Remote Code Execution, RCE) 취약점
    • 악의적 사용자가 로그 메시지에 특수한 JNDI(Java Naming and Directory Interface) 호출을 삽입해 서버에서 임의 코드 실행 가능
    • 전 세계 수많은 서비스가 영향을 받음, 보안 대책이 시급했음

DRM 

DRM(Digital Rights Management)**은 디지털 콘텐츠의 저작권 보호 및 불법 복제 방지를 위한 기술

항목 설명
정의 디지털 콘텐츠의 저작권 보호를 위해 접근, 복사, 배포, 편집 등을 제어하는 기술
목적 콘텐츠 불법 복제 및 무단 유통 방지, 정당한 사용자만 콘텐츠 이용 가능하게 함
대상 음악, 영화, eBook, 소프트웨어, 문서 등 디지털 파일 전반
동작 방식 콘텐츠를 암호화하고, 허가된 사용자에게만 복호화 권한을 부여
구성 요소 콘텐츠 암호화, 키 관리, 라이선스 발급, 사용자 인증 등
예시 - Netflix의 스트리밍 제한- eBook 복사 방지- 워터마킹 삽입

 

* packager: 보호 대상 디지털 콘텐츠 암호화 + 각 정보를 하나의 시큐어 컨테이너로 패키징

* Secure Container: 메타 데이터와 시큐어 컨테이너의 포맷 구조

* 클리어링 하우스: 글로벌 유통망

* 템퍼링 방지 기술: 소스레벨에 스크램블 코드 삽입 -> 크래킹 차단

 


 

이메일 보안 및 스팸 필터링 도구

항목 설명
SPF (Sender Policy Framework) 이메일 발송자가 속한 도메인이 보낼 수 있는 IP 주소 목록을 DNS에 등록하여, 스푸핑 방지에 사용됨. 수신 메일 서버는 이 정보를 확인해 발신자 위조 여부 판단
RBL (Real-time Blackhole List) 스팸 발송 이력이 있는 IP 주소 목록을 유지하는 블랙리스트 데이터베이스. 수신 서버는 발신자의 IP가 여기에 있는지 확인해 스팸 여부 판단
SpamAssassin 오픈소스 기반 스팸 필터링 시스템. 다양한 규칙(내용 분석, 헤더 검사, RBL 조회 등)을 종합 평가하여 점수를 매기고 일정 기준 이상이면 스팸으로 처리
Inflex 안티바이러스 및 스팸 필터링을 수행하는 메일 필터로, MIME 기반의 이메일을 검사해 악성 첨부파일, 스팸 등을 탐지. 주로 이메일 게이트웨이에서 사용됨
DKIM (DomainKeys Identified Mail) 이메일에 전자 서명을 추가해서, 도메인이 위조되지 않았고 내용이 변조되지 않았음을 수신자가 검증할 수 있게 해줌
DMARC (Domain-based Message Authentication, Reporting and Conformance) SPF와 DKIM 결과를 종합적으로 판단해, 수신자가 위조 메일에 대해 어떤 조치를 취할지 결정할 수 있도록 도와줌
ClamAV 이메일에 포함된 악성 코드(바이러스, 트로이목마 등)를 탐지하는 오픈소스 안티바이러스 엔진
Amavis (A Mail Virus Scanner) 메일 서버에서 SpamAssassin, ClamAV 등을 연동해서 이메일을 필터링하는 중계 시스템
Postscreen Postfix 메일 서버에 포함된 기능으로, 연결 단계에서 이미 의심스러운 발신자를 차단해 서버 자원 낭비를 줄임
Greylisting 낯선 발신자에 대해 처음엔 일부러 메일 수신을 지연시켜 정상 메일 서버는 재시도하게 하고, 봇은 포기하게 만드는 스팸 방지 기법
Bayesian 필터링 스팸/정상 메일의 단어 분포를 학습해서 확률적으로 스팸 여부를 판단하는 기계학습 기법
MailScanner 다양한 안티바이러스 및 스팸 필터와 연동되어 이메일을 검사하는 통합형 이메일 보안 게이트웨이 도구

 


 

CC 인증

CC 인증(Common Criteria)**과 ISO/IEC 15408은 정보보안 제품의 국제 인증 및 평가 기준을 말한다. 

* CCRA 가입국 간의 정ㅈ보보호 제품에 대한 상호 인증

TCSEC과 ITSEC의 단점을 보완하고자 세계 각국에서 사용되는 다양한 평가 지침이 포함됨. 

항목 설명
CC 인증 Common Criteria 인증. 정보보안 제품이 일정한 보안 요구사항을 만족하는지를 평가하고 인증하는 국제적 보안 인증 체계
ISO/IEC 15408 Common Criteria의 국제 표준 이름. 즉, CC 인증은 ISO/IEC 15408 표준에 따라 이루어짐
목표 정보보안 제품(방화벽, OS, DBMS 등)의 보안 기능과 보증 수준을 객관적이고 체계적으로 평가
구성 요소 - 보호 프로파일(PP: Protection Profile)- 보안 타깃(ST: Security Target)- 평가 보증 수준(EAL: Evaluation Assurance Level)
EAL 수준 EAL1~EAL7까지 있으며, 숫자가 높을수록 평가 심사가 엄격하고 신뢰성 높음
적용 제품 예시 방화벽, 운영체제, 암호 모듈, 스마트카드 운영체제, 보안 게이트웨이 등

 

CC인증의 용어 정리

용어 설명
앨리먼트 컴포넌트를 구성하는 분할할 수 없는 보안요구사항의 최소 단위
컴포넌트 보호 프로파일, 보안 목표명세서에 포함될 수 있는 보안요구사항의 가장 작은 선택 단위로 앨리먼트의 모음
패밀리 같은 보안목적을 가지지만 제약사항이나 보안강도가 다른 컴포넌트의 모음
클래스 같은 보안목적을 가지는 패밀리의 모음
보호 프로파일(PP) 구현에 독립적인 요구사항의 집합
* TOE 요구사항을 표현하는데 적합한지 확인
보안목표 명세서(ST) 보안 요구사항과 구현명세의 집합
* PP요구사항 충족여부를 확인
TOE(Target Of Evaluation) ST에 명세된 보안 요구사항 충족여부를 확인
평가보증등급(EAL) 공통평가기준에 정의된 보증수준을 가지는 보증 컴포넌트로 이루어진 패키지

 

 

 


 

개인정보 관리 이해

ISMS-P는 한국인터넷진흥원에서 인증을 부여하는 것으로 정보통신서비스를 제공하는 정보통신 제공자에 대한 인증이다. ISMS은 정보통신망법(정보통신망 이용촉진 및 정보보호 등에 관한 법률)을 근거로 하고 정보통신 제공자에 대한 인증이다. 

 

* ISMS-P는 2단계 인증으로 구성됨. 

1단계: 기존 ISMS 인증 대상 기업이 수행해야 하는 것으로 ISMS 인증

2단계: ISMS 인증을 받은 기업이 개인정보 부분에 대해서 추가적인 통제항목을 이행하면 받을 수 있는 인증인 ISMS-P

 

정보보호 및 개인정보보호 관리체계 의무 인증은 정보통신서비스 제공자 중에서

1. 정보통신망서비스를 제공하는 자(ISP)

2. 집적정보통신시설 사업자(IDC)

3. 연간 매출액 또는 이용자 수 등이 대통령령으로 정하는 기준에 해당하는 자

4. 연간 매출액 기준으로 1,500억 이상인 기업 중에서 의료법상의 상급종합병원과 재학생 수가 1만 이상인 고등교육법 상의 학교

 

* 자율신청: 기업이 정보보호 관리체계를 구축, 운영하고 인증 취득을 희망하는 경우, 자율적인 신청을 통한 인증 심사 가능

* 의무신청: 기업 스스로 의무대상 여부를 판단하여 ISMS를 구축하고 인증을 취득하는 것이 원칙 

 

ISMS-P 인증 위원회: 한국인터넷진흥원, 금융보안원

ISMS-P 심사기관: 한국정보통신진흥협회, 한국정보통신기술협회, 개인정보보호협회

 


 

위험관리 구성

구성요소 설명
위험 위협, 취약점을 이용하여 자산에 손실, 피해를 가져올 가능성
위협 자산에 악영향을 줄 수 있는 사건 및 행위
자산에 손실을 초래할 수 있는 원치 않는 사건의 잠재적인 원인 또는 행위자
(손실=영향과 결과로 표현, 발생 가능성=위협)
취약점 위협이 발생하기 위한 조건이나 상황
어느정도 피해가 발생할 수있는지를 취약점, 노출정도, 효과 
자산 조직이 보호해야할 대상(자산 그룹핑: 유사자산은 동일한 취약점)

 


 

접근 방식에 따른 위험분석 기법

위험분석 기법 설명
기준선 접근법 * 모든 시스템에 대해 보호의 기준 수준을 정하고 이를 달성하기 위해 일련의 보호 대책을 선택
* 시간 및 비용이 적고 모든 조직에서 기본적으로 필요한 보호 대책 선택이 가능
* 조직의 특성을 고려하지 않기 때문에, 조직 내에 부서별로 적정 보안 수준보다도 높게 혹은 낮게 보안 통제를 적용
전문가 판단 * 정형화된 방법을 사용하지 않고 전문가의 지식과 경험에 따라서 위험을 분석
* 비용적인면에서 작은 조직에 효과적이며, 구조화된 접근 방법이 없으므로 위험을 제대로 평가하기 어렵고 보호 대책의 선택 및 소요비용을 합리적으로 도출하기 어려움. 
* 계속적으로 반복되는 보안관리 및 보안감시, 사후관리로 제한됨
상세위험분석 * 자산의 가치를 측정하고 자산에 대한 위협 정도와 취약점을 분석하여 위험 정도를 결정
* 조직 내에 적절한 보안 수준 마련 가능
* 전문적인 지식과 노력이 많이 소요됨. 
* 정성적 분석 기법과 정량적 분석 기법이 존재함
복합적 접근법 * 먼저 조직 활동에 대한 필수적이고 위험이 높은 시스템을 식별하고 이러한 시스템은 상세위험분석 기법을 적용
* 그렇지 않은 시스템은 기준선 접근법 등을 적용
* 보안 전략을 빠르게 구축할 수 있고, 상대적으로 시간과 노력을 효율적으로 활용 가능
* 두 가지 방법의 적용대상을 명확하게 설정하지 못함으로써 자원 낭비가 발생할 가능성이 있음

 


 

정량적 위험분석 & 정성적 위험분석

구분 정량적 위험분석 정성적 위험분석
개념 ALE(연간기대손실)=SLE(위험발생확률)XARO(손실크기)를 통해 기대 위험가치 분석 * 손실 크기를 화폐가치로 표현하기 어려움
* 위험 크기는 기술변수로 표현(척도 : 점수)
기법 유형 수학공식 접근법, 확률분포 추정법, 확률 지배, 몬테카를로 시뮬레이션, 과거 자료 분석법 델파이법, 시나리오법, 순위결정법, 질문서법, 전문가 감정, 기준선법
장점 * 비용/가치 분석, 예산 계획, 자료 분석에 용이
* 수리적 계산으로 논리적이고 객관적인 정보를 얻을 수 있음. 
* 금액화하기 어려운 정보의 평가 기능
* 분석시간이 짧고 이해가 쉬움
단점 * 분석시간, 노력, 비용이 큼
* 정확한 정량화 수치를 얻기 어려움
* 평가 결과가 주관적임
* 비용효과 분석이 쉽지 않음

* SLE: Single Loss Expectancy

* ARO: Annualized Rate of Occurrence

* ALE: Annualized Loss Expectancy

 


 

재해 복구 시스템의 종류

사이트 목표 복구 장점 단점
Mirror 0~수 분 *1차와 동일, 동기화 가능
*Active, Active 서버로 구성
고비용, 상시 검토
Hot 24시간 내 * 고가용성, 데이터 최신성
* Active, Standby 서버로 구성
DB 복구 필요
Warm 수 일~수 주 내 핫사이트로 전환이 용이 시스템 확보 필요
Cold 수 주~수 개월 재 저렴, 데이터만 백업 시간이 가장 오래 걸림

 


가명처리 특례 조항

* 데이터 3법: 데이터를 이용 활성화 하기 위해 아래 3가지 법을 하나도 통합한 것

관련 법률  설명 가이드
개인정보보호법 * 일반법으로 개인정보를 취급하는 사업자 및 개인에 관한 법률
* 개인정보 수집, 동의, 이용 및 제공, 파기에 관한 사항
개인정보 안전성 확보 조치
정보통신망법 특별법으로 정보통신 서비스 제공자에 관한 법률
신용정보법 금융권(은행, 보험, 증권)에 관련한 개인신용정보와 개인정보에 관한 사항 금융권 상시평가 항목