윈도우 SAM(Security Accounts Manager)
Window 운영체제에서 사용자 계정의 로그인 정보(사용자 이름, 해시된 비밀번호 등)을 저장하는 데이터베이스
* SAM은 사용자, 그룹계정 및 암호화된 패스워드 정보를 저장하는 데이터베이스로 C:\Windows\System32\Config 디렉토리에 위치함
* 해당 디렉토리 내 SAM 파일은 기본적으로 잠겨져 있으나, 시스템 계정으로 접근 가능하다는 취약점을 통해 공격자에게 추출당하면 패스워드를 크래킹 당할 수 있다.
* 크래킹을 통해서 패스워드를 얻을 수 있다.
* HKEY_LOCAL_MACCHINE\SAM에 저장된 키는 시스템 계정을 확인할 수 있다. (이 때, 시스템 계정과 일반 유저 계정을 분리하는 윈도우의 기능을 UAC라고 한다.)
* 운영체제가 작동하는 한 접근할 수 없도록 잠겨져 있다.
* 레지스트리 HKEY_LOCAL_MACHINE\SAM에 구체화된 자료들을 실제로 저장한다.
항목 설명
항목 | 설명 |
저장 위치 | %SystemRoot%\System32\config\SAM |
역할 | 사용자 계정 정보와 암호 해시값을 저장 |
보호 방식 | 시스템 실행 중에는 잠금 상태 (보통 접근 불가)윈도우는 **LSASS(Local Security Authority Subsystem Service)**를 통해 접근 |
암호화 | 해시 형태(MD4 기반 NTLM 해시 등)로 저장되어 있음 |
관련 도구 | pwdump, samdump2, Mimikatz 등으로 해시 추출 가능 (비인가 접근 시도 시 사용됨) |
보안 | 로컬 공격자가 SYSTEM 권한을 획득하면 SAM을 덤프해 패스워드 크랙 가능 |
SAM 파일은 로컬 사용자 인증의 핵심이기 때문에, 이 파일이 노출되면 시스템 전체 보안이 위험해질 수 있다.
보안 대책
- 시스템에 물리적 접근 제한
- 관리자 계정에 강력한 비밀번호 설정
- BitLocker 같은 디스크 암호화 사용
Mimikatz
Windows시스템에서 암호, 해시, 인증 토큰 등을 추출하거나 조작할 수 있는 강력한 보안 도구.
활용 목적 | 명령어 예시 | 설명 |
현재 메모리 내 패스워드 추출 | privilege::debugsekurlsa::logonpasswords | 메모리에 남아 있는 평문 패스워드, 해시, 인증 토큰 등을 추출함 |
패스 더 해시 공격 (Pass-the-Hash) | sekurlsa::logonpasswordssekurlsa::pth /user:사용자 /domain:도메인 /ntlm:해시 | 해시만 가지고도 인증 우회 가능 (패스워드 없이 로그인) |
크리덴셜 덤프 | lsadump::sam | SAM 파일로부터 사용자 해시를 추출 (관리자 권한 필요) |
Kerberos 티켓 덤프 | kerberos::listkerberos::ptt | Kerberos 티켓 추출/재사용 (Pass-the-Ticket) |
Golden Ticket 생성 | kerberos::golden /user:사용자 /domain:도메인 ... | 도메인 전체를 제어 가능한 Kerberos 티켓 위조 |
비밀번호 변경 없이 인증 | sekurlsa::pth | 계정 해시만 알면 실제 로그인 없이 명령 실행 가능 |
WDigest 인증 우회 | privilege::debugwdigest::enable | WDigest 사용 시 평문 패스워드 노출 가능. (Windows 기본 비활성화 상태일 수 있음) |
디스크 스케줄링 알고리즘 비교표
알고리즘 | 설명 | 장점 | 단점 |
FCFS (First-Come First-Served) | 요청 순서대로 처리 | 구현 간단, 공정함 | 디스크 헤드의 이동이 많아 성능 낮음 |
SSTF (Shortest Seek Time First) | 현재 헤드 위치에서 가장 가까운 요청부터 처리 | 평균 대기 시간 감소 | 기아 현상 발생 가능 (먼 요청은 계속 뒤로 밀림) |
SCAN (엘리베이터 알고리즘) | 헤드가 한 방향으로 이동하며 요청 처리, 끝까지 가면 방향 전환 | 헤드 이동 효율적 | 끝 쪽 요청은 대기 시간 길어질 수 있음 |
C-SCAN (Circular SCAN) | 한 방향으로만 이동하다가 끝에 도달하면 반대 방향은 건너뛰고 처음으로 되돌아감 | 처리 시간 일정, 균형 잡힌 응답 | 되돌아갈 때 비효율 발생 가능 |
LOOK | SCAN과 유사하지만 요청이 있는 마지막 트랙까지만 이동 | 불필요한 이동 감소 | 끝 쪽 요청은 여전히 늦을 수 있음 |
C-LOOK | C-SCAN과 유사하나, 가장 먼 요청까지만 이동하고 처음 요청으로 점프 | 고른 응답시간, 효율적 | 구현 복잡할 수 있음 |
윈도우 Bit Locker
BitLocker는 Windows에서 제공하는 드라이브 암호화 기능이야. 데이터를 암호화해서 도난이나 무단 액세스로부터 보호하는 데 사용돼.
주요 특징:
- 전체 드라이브 암호화: 운영 체제 드라이브뿐만 아니라 외장 드라이브도 암호화 가능.
- **TPM(Trusted Platform Module)**과 연계 가능: 시스템 부팅 전 무결성 확인.
- 다양한 인증 방법: PIN, USB 키, 암호 등.
- 자동 잠금 기능: 장치가 종료되면 자동으로 드라이브 잠금.
적용 대상:
- Windows Pro, Enterprise, Education 에디션 이상에서 사용 가능.
- USB, 외장 하드 등도 "BitLocker To Go"로 암호화 가능.
BitLocker VS EFS
항목 | BitLocker | EFS(Encrypting File System) |
암호화 단위 | 전체 드라이브 | 개별 파일/폴더 |
적용 범위 | 운영체제 드라이브, 외장 드라이브 등 | NTFS 형식의 파일/폴더 |
주요 목적 | 데이터 도난 방지 (디바이스 분실 대비) | 파일 단위 기밀성 보호 (사용자 계정 기반) |
인증 방식 | TPM, PIN, USB 키 등 | 사용자 계정과 인증서 기반 |
동작 시점 | 부팅 전 보호 (OS도 보호) | 로그인 후에만 파일 접근 제한 |
공유 | 불가능 (전체 암호화) | 가능 (파일 암호화 인증서를 공유 가능) |
사용 대상 | 관리자 권한 필요 | 일반 사용자도 사용 가능 (NTFS 조건) |
EFS는 암호화 키를 OS에 저장한다.
BitLocker은 TPM(Trusted Platform Module)이라는 개별 하드웨어에 저장한다.
EDR(Endpoint Detection Response) 솔루션
EDR은 PC의 행위와 이벤트 정보를 수집하여 공격을 탐지하는 보안 솔루션이다.
EDR의 주요 기능은
1. 보안사고 탐지
2. 보안사고 억제
3. 보안사고 조사
4. 보안사고 치료
로 구분된다.
Evil Twin
패스워드 혹은 신용카드 정보를 훔치기 위해서 합법적인 네트워크인 것처럼 속이는 뭇너 네트워크
Warwalking
노트북, 스마트폰, 또는 무선 장비를 들고 도보로 이동하면서 무선 네트워크를 탐색하는 행위
DRM 보안 솔루션
DRM 보안 솔루션은 문서를 생성하자마자 자동으로 암호화를 한다.
암호화된 문서는 외부로 유출해도 복호화할 수가 없다.
즉, 정상적인 승인절차와 복호화를 수행하고 외부로 전송하면 문서를 사용할 수가 있다.
DLP (Data Loss Prevention)
데이터의 이동경로를 분석해서 기업 내부정보 유출을 감사, 차단한다.
리눅스 환경에 대한 로그
로그 파일 / 명령어 | 설명 | 관련경로/명령 | 주로 포함하는 정보 |
/var/log/secure | 보안 관련 이벤트 | cat /var/log/secure | 로그인, 인증, sudo 사용, SSH 접속 등 |
/var/log/messages | 시스템 전반의 일반 로그 | cat /var/log/messages | 커널, 서비스 상태, 일반 알림 등 |
/var/log/auth.log | 인증 관련 로그 (Debian 계열) | cat /var/log/auth.log | 로그인, PAM, sudo 기록 등 |
lastlog | 마지막 로그인 기록 확인 | lastlog | UID별 최근 로그인 시간 확인 |
last | 로그인 기록 보기 | last | 로그인/로그아웃 이력, 재부팅 정보 등 |
w, who | 현재 로그인 사용자 확인 | w, who | 현재 로그인한 사용자, 접속 시간, 위치 등 |
dmesg | 부팅 시 커널 메시지 확인 | dmesg | 하드웨어 감지, 드라이버 로드 등 커널 로그 |
journalctl | systemd 기반 로그 확인 | journalctl | 전체 시스템 로그, 부팅 로그 등 |
/var/log/syslog | 시스템 메시지 로그 (Debian 계열) | cat /var/log/syslog | 프로세스 알림, 네트워크 등 |
로그인 관련 바이너리 로그 파일
파일명 | 설명 | 명령어 | 경로 | 기록 내용 |
wtmp | 로그인·로그아웃 기록 저장 | last | /var/log/wtmp | 사용자 로그인, 로그아웃, 시스템 부팅/종료 |
utmp | 현재 로그인한 사용자 정보 저장 | who, w | /var/run/utmp | 현재 로그인 상태 확인 (실시간) |
btmp | 실패한 로그인 시도 기록 | lastb | /var/log/btmp | 로그인 실패 정보 (예: 잘못된 비밀번호 시도 등) |
lastlog | 각 사용자 마지막 로그인 정보 저장 | lastlog | /var/log/lastlog | UID별 마지막 로그인 시각 표시 |
Adversarial 공격
딥러닝에서 노이즈를 추가하여 컴퓨터가 오분류를 일으키게 하는 것으로 머신러닝의 GAN(Generative Adversarial Network)에 의해 나타날 수 있다. 머신러닝에서 GAN은 학습을 위한 이미지가 부족할 때 유사한 이미지를 머신러닝으로 생성하여 샘플링을 확보하는 방법이다.
포맷 스트링 공격
포맷스트링 공격에서는 "\n"과 "%hn"이 메모리를 변조할 수가 있다.
netstat 명령어
netstat 명령어로 알 수 있는 것.
항목 | 설명 |
현재 열려 있는 포트 | 어떤 포트가 열려 있고, 어떤 서비스가 사용하는지 |
TCP/UDP 연결 상태 | 연결된 IP, 포트, 연결 상태 (LISTEN, ESTABLISHED 등) |
수신/송신 패킷 통계 | 네트워크 인터페이스별 트래픽량 |
라우팅 테이블 | 목적지 IP에 따라 어느 인터페이스로 가는지 |
네트워크 인터페이스 상태 | 활성화된 네트워크 장치 정보 |
PID 및 프로그램 이름 | 어떤 프로세스가 어떤 포트를 사용하는지 (옵션 필요) |
자주 쓰는 옵션 명령어
netstat -tuln | TCP/UDP 포트의 번호만 보여줌 (서비스명 대신) |
netstat -anp | 모든 연결 상태 + 프로세스 정보 표시 |
netstat -r | 라우팅 테이블 보기 |
netstat -i | 네트워크 인터페이스별 통계 |
VBS(Visual Basic Script)
MS에서 만든 스크립트 언어로, 윈도우 환경에서 자동화 작업에 주로 사용된다. 이 특성을 악용해 악성코드를 작성하기도 한다.
실행 환경 | 주로 Windows Script Host (wscript.exe, cscript.exe)를 통해 실행됨 |
형태 | .vbs 파일 또는 문서에 포함된 매크로 형태로 존재 |
배포 방식 | 이메일 첨부파일, Office 문서, 웹페이지, USB 등 |
기능 | 파일 다운로드 및 실행, 레지스트리 조작, 정보 수집, 백도어 설치 등 |
탐지 회피 | 코드 난독화, 무작위 변수명, WMI 및 PowerShell 연동 |
lsof(LiSt Open Files)
실행 중인 프로세스가 열고 있는 파일을 출력한다. lsof -p <PID> 형태로 사용하면 <PID>에 해당하는 실행 중인 프로세스가 어떤 파일을 사용 중인지 확인할 수 있다.
보안 관점에서의 lsof 활용 사례
목적 | 명령어 예시 | 설명 |
비정상 포트 탐지 | lsof -i 또는 lsof -i :6666 | 어떤 포트가 열려 있고, 어떤 프로세스가 사용하는지 확인 |
백도어 확인 | lsof -nP -iTCP -sTCP:LISTEN | 의심스러운 포트에서 대기 중인 프로세스 찾기 |
삭제된 실행파일 확인 | `lsof | grep deleted` |
침투 흔적 확인 | lsof -u [username] | 특정 사용자와 관련된 열린 파일, 연결 확인 |
의심스러운 연결 추적 | lsof -i @[IP주소] | 특정 외부 IP와 연결된 프로세스 확인 |
네트워크 기반 공격 탐지 | lsof -i tcp / lsof -i udp | 공격에 사용되는 연결 모니터링 |
멀웨어 은닉 탐지 | lsof +L1 | 링크 카운트가 0인 열린 파일 확인 (은폐 기법 탐지) |
NAC(Network Access Control)
항목 | 설명 |
정의 | 네트워크에 접속하려는 사용자/디바이스의 보안 상태를 검사하고, 기준에 부합할 때만 접속 허용 |
목표 | 비인가 접속 차단, 감염된 장비 격리, 네트워크 자산 보호 |
주요 구성요소 | 인증 서버, 에이전트(사용자 PC에 설치), 스위치/AP 등 네트워크 장비 |
기능 | 사용자 인증, 장치 인증, 보안 상태 점검(패치 여부, 백신 설치 등), 격리/차단 정책 적용 |
IRC (Internet Relay Chat)
실시간 텍스트 기반 채팅을 가능하게 해주는 인터넷 프로토콜이자 시스템
항목 | 설명 |
통신 방식 | 클라이언트-서버 구조 |
기능 | 채널 입장, 대화, 귓속말, 닉네임 설정, 채널 운영자 권한 등 |
포트 | 기본 포트는 TCP 6667번 (보안 연결은 6697 등 사용 가능) |
구성요소 | IRC 클라이언트, IRC 서버, 채널 (예: #linux, #security) |
프로토콜 | 텍스트 기반 명령어 사용 (예: JOIN, PRIVMSG, NICK, QUIT) |
보안 | 기본적으로 평문 전송, 보안 필요 시 SSL 사용 가능 |
예시 클라이언트 | HexChat, mIRC, Irssi, WeeChat 등 |
IRC의 보안 관련 이슈
- 익명성 악용: C&C 서버로 활용되어 봇넷 제어에 악용됨
- DoS 공격의 통로: 공격 명령을 사용자 간에 쉽게 전달 가능
- Sniffing 위험: 암호화되지 않으면 대화내용 도청 가능
SMTP 프로토콜 흐름
HELO(hello)는 대화를 시작하기 위해 SMTP 서버에 자신을 식별하고 대화를 시작하는 명령어이다.
EHLO(Extend Hello)는 HELO와 마찬가지로 클라이언트와 서버 사이에 SMTP 연결을 하는 명령이고, 몇 개의 확장 지원된 프로토콜을 사용할 수 있다는 점에서 HELO와 차이를 보인다.
1 | HELO 또는 EHLO | 클라이언트가 서버에 자신을 소개 (EHLO는 확장 기능 요청 포함) |
2 | MAIL FROM: | 발신자 이메일 주소 지정 |
3 | RCPT TO: | 수신자 이메일 주소 지정 (하나 이상 가능) |
4 | DATA | 본문 전송 시작 명령 (이후 본문 + 종료는 .으로) |
5 | QUIT | 세션 종료 |
옵션 명령어 역할
AUTH | 인증 시작 (예: AUTH LOGIN) |
STARTTLS | TLS 보안 통신 요청 |
RSET | 현재 메일 전송 초기화 |
VRFY | 주소 유효성 검증 |
NOOP | 아무 작업도 하지 않음 (응답만 확인) |
추가 명령어가 들어가야 하는 단계 설명
1. 연결 직후 | EHLO 또는 HELO | 기본 인사 및 기능 협상 |
→ 직후 | STARTTLS (선택) | 보안 통신 요청 — 이후 다시 EHLO 재전송 필요 |
→ 또는 | AUTH (선택) | 사용자 인증 — 로그인 필요 시 (ex. AUTH LOGIN) |
2. 발신자 지정 | MAIL FROM: | 보낸 사람 주소 설정 |
3. 수신자 지정 | RCPT TO: | 받는 사람 주소 설정 (여러 번 가능) |
4. 메시지 입력 | DATA → 본문 → . | 메일 내용 입력 후 종료 표시 |
5. 종료 | QUIT | 세션 종료 |
언제든 가능 | RSET, NOOP, VRFY | 세션 초기화, 상태 확인, 수신자 유효성 확인 등 |
리버싱 도구 정리
* OliyDbg: PE 파일의 구조와 동작 확인, 프로세스 동작 정보 확인
* FileMonitor: 파일 이벤트 정보 확인
* Procexp: 프로세스 동작 정보 확인
Nimda, Stuxnet, Mirai, Slammer
이름 | 유형 | 주요 감염 대상 | 전파 방식 | 특징 및 목표 |
Nimda | 웜 + 바이러스 | Windows 시스템 | 이메일, 웹 서버 취약점, 파일 공유, 백도어 | 다양한 전파 방식으로 빠르게 확산 |
Stuxnet | 사이버무기 | 산업 제어 시스템 (SCADA) | USB, 윈도우 취약점, 제로데이 | 이란 핵시설 타깃, 국가 주도 가능성 |
Mirai | IoT 봇넷 | IoT 장비 (CCTV, 라우터 등) | 기본 계정 크리덴셜 사용 | 대규모 DDoS 공격 수행 |
Slammer | 인터넷 웜 | MS SQL Server | UDP 포트 1434 취약점 이용 | 10분 만에 인터넷 트래픽 폭증 |
ModSecurity
ModSecurity는 Apache, Nginx, IIS 웹 서버에서 동작하는 오픈소스 웹 애플리케이션 방화벽(WAF).
주로 OWASP Top 10 공격 탐지 및 차단에 사용됨.
ModSecurity 주요 기능
- 웹 요청/응답 분석 및 필터링
- SQL Injection, XSS, CSRF 등 탐지
- 정책 기반 룰셋 사용 (ex. OWASP CRS)
- 감사 로그 및 경고 기록
- 요청 차단, 허용, 로그 기록 등 행동 제어
ModSecurity 주요 설정 지시어
지시어 이름 | 설명 |
SecRuleEngine | 룰 엔진 활성화 여부 (On, Off, DetectionOnly) |
SecAuditEngine | 감사 로그 활성화 수준 (Off, RelevantOnly, On) |
SecAuditLog | 감사 로그 파일 경로 지정 |
SecAuditLogParts | 로그에 포함할 부분 설정 (예: ABIJDEFHZ) |
SecDebugLog | 디버그 로그 파일 경로 |
SecDebugLogLevel | 디버그 로그 상세 수준 (0~9) |
SecRequestBodyAccess | 요청 본문 검사 여부 (On, Off) |
SecResponseBodyAccess | 응답 본문 검사 여부 (On, Off) |
SecRule | 실제 탐지 룰 작성에 사용 (SecRule VARIABLES OPERATOR ACTIONS) |
SecDefaultAction | 룰 기본 동작 정의 (예: phase:2,log,auditlog,deny) |
SecResponseBodyMimeType | 검사할 응답 MIME 타입 지정 (예: text/plain text/html) |
SecRequestBodyLimit | 요청 본문 최대 크기 제한 (기본: 13107200 바이트) |
SecTmpDir | 임시 파일 저장 디렉토리 지정 |
SecDataDir | 영속 데이터 저장 경로 (ex. 퍼시스턴트 룰에서 사용) |
사이버 킬체인 단계
단계 설명 예시 활동 / 도구
단계 | 설명 | 예시 활동 / 도구 |
1. 정찰 (Reconnaissance) | 목표 시스템, 사용자 정보 수집 | 핑 스윕(Ping Sweep)으로 활성 호스트 확인Whois, nslookup, Google Dorking, Shodan, 사회공학, 스니핑, 포트 스캐닝 |
2. 무기화 (Weaponization) | 악성코드 준비 및 문서 결합 | Metasploit, veil, msfvenom 사용해 악성 Word/PDF 문서 제작 |
3. 전달 (Delivery) | 악성코드 전달 | 피싱 이메일, USB 드롭, 악성 웹사이트, 워터링 홀 공격 |
4. 익스플로잇 (Exploitation) | 취약점 실행 | 브라우저 취약점, 문서 내 매크로, CVE 공격 |
5. 설치 (Installation) | 백도어 등 악성코드 설치 | RAT, 키로거, 루트킷 설치 |
6. 명령 및 제어 (C2) | 외부 명령 수신 | C2 서버 접속, DNS 터널링, HTTPS 통신 |
7. 목적 수행 (Actions on Objectives) | 데이터 유출, 파괴 등 | 정보 탈취, 랜섬웨어 실행, 시스템 삭제 |
VLAN 할당 방식
VLAN의 할당 방식에는 스위치 포트에 할당된 VLAN이 적용되는 정적 방식과 VMPS를 통해 MAC 주소 별로 VLAN을 할당하는 동적 방식이 있다.
VMPS에 장애 발생 시 VLAN을 사용하는 모든 네트워크에도 장애가 발생하므로 이도잉 잦거나 사무실이 분산되어 기기별 VLAN 정보를 저장할 필요가 있는 불가피한 경우에만 동적 방식을 사용하는 것이 좋다.
정적으로 관리하는 것이 더 좋다!
ARP Spoofing, DNS Spoofing
ARP 스푸핑 (Address Resolution Protocol Spoofing)
목적: 같은 네트워크 안의 컴퓨터들 사이에서 가짜 MAC 주소로 자신을 속여서 데이터를 가로채는 공격.
DNS 스푸핑 (Domain Name System Spoofing)
목적: 사용자가 입력한 웹사이트 주소(URL) 를 가짜 IP 주소로 바꿔서, 가짜 사이트로 유도하는 공격.
Snort 룰
Snort 룰 구조 기본
Snort 룰은 다음과 같은 구조로 되어 있어요:
동작 프로토콜 출발지IP 출발지포트 -> 목적지IP 목적지포트 (옵션들)
예:
alert tcp any any -> 192.168.1.0/24 80 (msg:"웹 공격 탐지"; content:"malicious"; sid:1000001; rev:1;)
구조 설명:
- alert: 동작 (탐지 시 경고)
- tcp: 프로토콜 (tcp, udp, icmp 등 가능)
- any any: 출발지 IP와 포트 (모두 허용)
- ->: 방향 (단방향)
- 192.168.1.0/24 80: 목적지 IP와 포트
- () 안: 옵션 (탐지할 콘텐츠, 메시지, 룰 ID 등)
다양한 Snort 룰 예시
1. 특정 문자열이 포함된 HTTP 요청 탐지
alert tcp any any -> any 80 (msg:"HTTP 요청에 'login' 문자열 탐지"; content:"login"; sid:1000002; rev:1;)
→ HTTP 80번 포트로 들어가는 트래픽에 "login" 이라는 문자열이 있을 때 경고
2. ICMP 핑 스캔 탐지
alert icmp any any -> any any (msg:"ICMP Ping detected"; itype:8; sid:1000003; rev:1;)
→ ICMP의 Echo Request (타입 8)을 탐지 → 핑 스캔이나 핑 공격 가능성
3. FTP 로그인 시도 탐지
alert tcp any any -> any 21 (msg:"FTP 로그인 시도 탐지"; content:"USER "; sid:1000004; rev:1;)
→ FTP 로그인 시 USER 명령어가 사용될 때 알림
4. 포트 스캔 탐지 (nmap)
alert tcp any any -> any any (msg:"nmap 스캔 탐지"; flags:S; threshold:type threshold, track by_src, count 10, seconds 1; sid:1000005; rev:1;)
→ 1초 내 동일 출발지에서 10개 이상의 SYN 패킷이 들어올 경우 탐지 (nmap 스캔 패턴)
5. DNS 쿼리 탐지
alert udp any any -> any 53 (msg:"DNS 요청 탐지"; sid:1000006; rev:1;)
→ UDP 53번 포트로 들어가는 모든 DNS 요청을 탐지
자주 쓰이는 옵션들
msg | 탐지 시 출력할 메시지 |
content | 패킷 안에서 찾을 문자열 |
sid | 룰의 고유 ID (중복되면 안 됨) |
rev | 룰의 버전 (업데이트 시 증가) |
flags | TCP 플래그 조건 (S=Syn, A=Ack 등) |
itype | ICMP 타입 지정 |
threshold | 탐지 빈도 제한 조건 |
Enhanced Open
정식 명칭 | WPA3-Enhanced Open |
주요 기술 | OWE (Opportunistic Wireless Encryption) |
도입 목적 | 오픈 Wi-Fi에서 암호 없이도 트래픽을 암호화하여 보안 강화 |
기존 오픈 Wi-Fi 문제점 | 누구나 접속 가능 + 패킷이 평문 전송 → 도청 위험 |
Enhanced Open 해결 방식 | 공개 네트워크에서도 단말과 AP 간 자동 키 교환 → 암호화된 통신 가능 |
사용자 입장 | 암호 입력 없이 접속하되, 보안은 있음 |
보안 수준 | WPA2-Open보다 훨씬 향상된 수준 (패킷 도청 방지) |
단점 | 인증은 여전히 없음 → 사용자 식별이나 접근 제어는 불가 |
FIDO, WPA3
FIDO: 생체인식을 인증에 쓰자.
WPA3: Kcrack을 막기 위해 나온 WPA2의 업그레이드 버전
PGP의 암호 알고리즘, 과정
- 메시지 내용 → 대칭키로 암호화
- 사용하는 대칭키: IDEA, CAST, Triple-DES
- 그 대칭키를 → 수신자의 공개키로 암호화
- 사용하는 비대칭키: RSA, DSS/Diffie=Hellman, SHA-1, MD5, RIPEMD-160
- 전자서명 시에는 메시지 해시값을 → 송신자의 개인키로 서명
FTP 익명 사용자 계정정보는 /etc/passwd에서 찾아서 삭제할 수 있다.
많은 종류의 리눅스 배포판에서 기본으로 채택하고 있는 FTP 서버인 vsFTP를 이용할 경우 vsftpd.conf 파일에서 anonymous_enable=NO로 설정하여 익명 사용자를 차단할 수도 있다.
DNS 싱크홀
악성봇에 감염된 PC를 해커가 제어하지 못하도록 하는 방법으로,
악성봇이 해커의 제어 서버에 연결 시도 시 특정 서버로 우회 접속되도록 하여 해커의 악의적인 명령을 전달받지 못하도록 한다.
XSS 종류
구분 | Stored XSS | Reflected XSS | DOM XSS |
공격 위치 | 서버의 DB 등에 저장됨 | URL 파라미터 등에 포함됨 | 브라우저의 DOM 조작 |
응답 위치 | 서버가 악성 스크립트를 포함해 응답 | 요청값을 반사하여 응답 | 응답은 정상, 클라이언트에서 발생 |
공격 경로 | 다른 사용자가 접근 시 자동 실행 | 사용자가 특정 링크 클릭 시 발생 | 자바스크립트로 DOM 조작 시 발생 |
지속성 | 지속적 (모든 방문자에게 영향) | 일시적 (특정 링크 클릭 시만) | 일시적 (클라이언트에서만 발생) |
예시 | 게시판에 악성 스크립트 저장 | 검색어에 <script> 포함 | JS가 location.hash로 DOM 변경 |
차단 방법 | 입력 검증 + 출력 인코딩 | 입력 검증 + 출력 인코딩 | JS 내 안전한 DOM 조작 사용 |
DNS 증폭 공격(DNS Amplification DDoS Attack)
DNS 증폭 공격은 Open DNS Resolver 서버에 DNS Request로 ANY를 요청하고 전송하고 DNS Response를 피해자 IP로 설정하여 공격한다. 반복쿼리(Iterative Query)가 아니라 재귀쿼리(Recursive Query)를 허용하는 것으로 이에 대응할 수 있다.
* DNS 질의는 DNS 질의량에 비하여 DNS 서버의 응답량이 훨씬 크다는 점을 이용한다.
* DNS 프로토콜에는 인증절차가 없다는 점을 이용한다.
* Open DNS Resolver 서버에 DNS Query의 탑을 "Any"로 요청한다.
디버깅 유틸리티
* windbg: 윈도우용 디버깅 도구
* jdbc: (Java Database Connectivity)로 자바ger)
SAM 파
Window 운영체제에서 사용자 계정의 로그인 정보(사용자 이름, 해시된 비밀번호 등)을 저장하는 데이터베이스
* SAM은 사용자, 그룹계정 및 암호화된 패스워드 정보를 저장하는 데이터베이스로 C:\Windows\System32\Config 디렉토리에 위치함
* 해당 디렉토리 내 SAM 파일은 기본적으로 잠겨져 있으나, 시스템 계정으로 접근 가능하다는 취약점을 통해 공격자에게 추출당하면 패스워드를 크래킹 당할 수 있다.
* 크래킹을 통해서 패스워드를 얻을 수 있다.
* HKEY_LOCAL_MACCHINE\SAM에 저장된 키는 시스템 계정을 확인할 수 있다. (이 때, 시스템 계정과 일반 유저 계정을 분리하는 윈도우의 기능을 UAC라고 한다.)
* 운영체제가 작동하는 한 접근할 수 없도록 잠겨져 있다.
* 레지스트리 HKEY_LOCAL_MACHINE\SAM에 구체화된 자료들을 실제로 저장한다.
항목 설명
항목 설명
저장 위치 %SystemRoot%\System32\config\SAM
역할 사용자 계정 정보와 암호 해시값을 저장
보호 방식 시스템 실행 중에는 잠금 상태 (보통 접근 불가)윈도우는 **LSASS(Local Security Authority Subsystem Service)**를 통해 접근
암호화 해시 형태(MD4 기반 NTLM 해시 등)로 저장되어 있음
관련 도구 pwdump, samdump2, Mimikatz 등으로 해시 추출 가능 (비인가 접근 시도 시 사용됨)
보안 로컬 공격자가 SYSTEM 권한을 획득하면 SAM을 덤프해 패스워드 크랙 가능
SAM 파일은 로컬 사용자 인증의 핵심이기 때문에, 이 파일이 노출되면 시스템 전체 보안이 위험해질 수 있다.
보안 대책
시스템에 물리적 접근 제한
관리자 계정에 강력한 비밀번호 설정
BitLocker 같은 디스크 암호화 사용
Mimikatz
Windows시스템에서 암호, 해시, 인증 토큰 등을 추출하거나 조작할 수 있는 강력한 보안 도구.
활용 목적 | 명령어 예시 | 설명 |
현재 메모리 내 패스워드 추출 | privilege::debugsekurlsa::logonpasswords | 메모리에 남아 있는 평문 패스워드, 해시, 인증 토큰 등을 추출함 |
패스 더 해시 공격 (Pass-the-Hash) | sekurlsa::logonpasswordssekurlsa::pth /user:사용자 /domain:도메인 /ntlm:해시 | 해시만 가지고도 인증 우회 가능 (패스워드 없이 로그인) |
크리덴셜 덤프 | lsadump::sam | SAM 파일로부터 사용자 해시를 추출 (관리자 권한 필요) |
Kerberos 티켓 덤프 | kerberos::listkerberos::ptt | Kerberos 티켓 추출/재사용 (Pass-the-Ticket) |
Golden Ticket 생성 | kerberos::golden /user:사용자 /domain:도메인 ... | 도메인 전체를 제어 가능한 Kerberos 티켓 위조 |
비밀번호 변경 없이 인증 | sekurlsa::pth | 계정 해시만 알면 실제 로그인 없이 명령 실행 가능 |
WDigest 인증 우회 | privilege::debugwdigest::enable | WDigest 사용 시 평문 패스워드 노출 가능. (Windows 기본 비활성화 상태일 수 있음) |
디스크 스케줄링 알고리즘 비교표
알고리즘 | 설명 | 장점 | 단점 |
FCFS (First-Come First-Served) | 요청 순서대로 처리 | 구현 간단, 공정함 | 디스크 헤드의 이동이 많아 성능 낮음 |
SSTF (Shortest Seek Time First) | 현재 헤드 위치에서 가장 가까운 요청부터 처리 | 평균 대기 시간 감소 | 기아 현상 발생 가능 (먼 요청은 계속 뒤로 밀림) |
SCAN (전차 스케줄링) | 헤드가 한 방향으로 이동하며 요청 처리, 끝까지 가면 방향 전환 | 헤드 이동 효율적 | 끝 쪽 요청은 대기 시간 길어질 수 있음 |
C-SCAN (Circular SCAN) | 한 방향으로만 이동하다가 끝에 도달하면 반대 방향은 건너뛰고 처음으로 되돌아감 | 처리 시간 일정, 균형 잡힌 응답 | 되돌아갈 때 비효율 발생 가능 |
LOOK | SCAN과 유사하지만 요청이 있는 마지막 트랙까지만 이동 | 불필요한 이동 감소 | 끝 쪽 요청은 여전히 늦을 수 있음 |
C-LOOK | C-SCAN과 유사하나, 가장 먼 요청까지만 이동하고 처음 요청으로 점프 | 고른 응답시간, 효율적 | 구현 복잡할 수 있음 |
윈도우 Bit Locker
BitLocker는 Windows에서 제공하는 드라이브 암호화 기능이야. 데이터를 암호화해서 도난이나 무단 액세스로부터 보호하는 데 사용돼.
주요 특징:
전체 드라이브 암호화: 운영 체제 드라이브뿐만 아니라 외장 드라이브도 암호화 가능.
TPM(Trusted Platform Module)과 연계 가능: 시스템 부팅 전 무결성 확인.
다양한 인증 방법: PIN, USB 키, 암호 등.
자동 잠금 기능: 장치가 종료되면 자동으로 드라이브 잠금.
적용 대상:
Windows Pro, Enterprise, Education 에디션 이상에서 사용 가능.
USB, 외장 하드 등도 "BitLocker To Go"로 암호화 가능.
BitLocker VS EFS
항목 | BitLocker | EFS(Encrypting File System) |
암호화 단위 | 전체 드라이브 | 개별 파일/폴더 |
적용 범위 | 운영체제 드라이브, 외장 드라이브 등 | NTFS 형식의 파일/폴더 |
주요 목적 | 데이터 도난 방지 (디바이스 분실 대비) | 파일 단위 기밀성 보호 (사용자 계정 기반) |
인증 방식 | TPM, PIN, USB 키 등 | 사용자 계정과 인증서 기반 |
동작 시점 | 부팅 전 보호 (OS도 보호) | 로그인 후에만 파일 접근 제한 |
공유 | 불가능 (전체 암호화) | 가능 (파일 암호화 인증서를 공유 가능) |
사용 대상 | 관리자 권한 필요 | 일반 사용자도 사용 가능 (NTFS 조건) |
EFS는 암호화 키를 OS에 저장한다.
BitLocker은 TPM(Trusted Platform Module)이라는 개별 하드웨어에 저장한다.
EDR(Endpoint Detection Response) 솔루션
EDR은 PC의 행위와 이벤트 정보를 수집하여 공격을 탐지하는 보안 솔루션이다.
EDR의 주요 기능은
1. 보안사고 탐지
2. 보안사고 억제
3. 보안사고 조사
4. 보안사고 치료
로 구분된다.
Evil Twin
패스워드 혹은 신용카드 정보를 훔치기 위해서 합법적인 네트워크인 것처럼 속이는 뭇너 네트워크
Warwalking
노트북, 스마트폰, 또는 무선 장비를 들고 도보로 이동하면서 무선 네트워크를 탐색하는 행위
DRM 보안 솔루션
DRM 보안 솔루션은 문서를 생성하자마자 자동으로 암호화를 한다.
암호화된 문서는 외부로 유출해도 복호화할 수가 없다.
즉, 정상적인 승인절차와 복호화를 수행하고 외부로 전송하면 문서를 사용할 수가 있다.
DLP (Data Loss Prevention)
데이터의 이동경로를 분석해서 기업 내부정보 유출을 감사, 차단한다.
리눅스 환경에 대한 로그
로그 파일 / 명령어 | 설명 | 관련 경로 / 명령 | 주로 포함하는 정보 |
/var/log/secure | 보안 관련 이벤트 | cat /var/log/secure | 로그인, 인증, sudo 사용, SSH 접속 등 |
/var/log/messages | 시스템 전반의 일반 로그 | cat /var/log/messages | 커널, 서비스 상태, 일반 알림 등 |
/var/log/auth.log | 인증 관련 로그 (Debian 계열) | cat /var/log/auth.log | 로그인, PAM, sudo 기록 등 |
lastlog | 마지막 로그인 기록 확인 | lastlog | UID별 최근 로그인 시간 확인 |
last | 로그인 기록 보기 | last | 로그인/로그아웃 이력, 재부팅 정보 등 |
w, who | 현재 로그인 사용자 확인 | w, who | 현재 로그인한 사용자, 접속 시간, 위치 등 |
dmesg | 부팅 시 커널 메시지 확인 | dmesg | 하드웨어 감지, 드라이버 로드 등 커널 로그 |
journalctl | systemd 기반 로그 확인 | journalctl | 전체 시스템 로그, 부팅 로그 등 |
/var/log/syslog | 시스템 메시지 로그 (Debian 계열) | cat /var/log/syslog | 프로세스 알림, 네트워크 등 |
파일명 | 설명 | 명령어 | 경로 | 기록 내용 |
wtmp | 로그인·로그아웃 기록 저장 | last | /var/log/wtmp | 사용자 로그인, 로그아웃, 시스템 부팅/종료 |
utmp | 현재 로그인한 사용자 정보 저장 | who, w | /var/run/utmp | 현재 로그인 상태 확인 (실시간) |
btmp | 실패한 로그인 시도 기록 | lastb | /var/log/btmp | 로그인 실패 정보 (예: 잘못된 비밀번호 시도 등) |
lastlog | 각 사용자 마지막 로그인 정보 저장 | lastlog | /var/log/lastlog | UID별 마지막 로그인 시각 표시 |
Adversarial 공격
딥러닝에서 노이즈를 추가하여 컴퓨터가 오분류를 일으키게 하는 것으로 머신러닝의 GAN(Generative Adversarial Network)에 의해 나타날 수 있다. 머신러닝에서 GAN은 학습을 위한 이미지가 부족할 때 유사한 이미지를 머신러닝으로 생성하여 샘플링을 확보하는 방법이다.
포맷 스트링 공격
포맷스트링 공격에서는 "\n"과 "%hn"이 메모리를 변조할 수가 있다.
netstat 명령어
netstat 명령어로 알 수 있는 것.
현재 열려 있는 포트 | 어떤 포트가 열려 있고, 어떤 서비스가 사용하는지 |
TCP/UDP 연결 상태 | 연결된 IP, 포트, 연결 상태 (LISTEN, ESTABLISHED 등) |
수신/송신 패킷 통계 | 네트워크 인터페이스별 트래픽량 |
라우팅 테이블 | 목적지 IP에 따라 어느 인터페이스로 가는지 |
네트워크 인터페이스 상태 | 활성화된 네트워크 장치 정보 |
PID 및 프로그램 이름 | 어떤 프로세스가 어떤 포트를 사용하는지 (옵션 필요) |
자주 쓰는 옵션 명령어
netstat -tuln | TCP/UDP 포트의 번호만 보여줌 (서비스명 대신) |
netstat -anp | 모든 연결 상태 + 프로세스 정보 표시 |
netstat -r | 라우팅 테이블 보기 |
netstat -i | 네트워크 인터페이스별 통계 |
VBS(Visual Basic Script)
MS에서 만든 스크립트 언어로, 윈도우 환경에서 자동화 작업에 주로 사용된다. 이 특성을 악용해 악성코드를 작성하기도 한다.
항목 | 설명 |
실행 환경 | 주로 Windows Script Host (wscript.exe, cscript.exe)를 통해 실행됨 |
형태 | .vbs 파일 또는 문서에 포함된 매크로 형태로 존재 |
배포 방식 | 이메일 첨부파일, Office 문서, 웹페이지, USB 등 |
기능 | 파일 다운로드 및 실행, 레지스트리 조작, 정보 수집, 백도어 설치 등 |
탐지 회피 | 코드 난독화, 무작위 변수명, WMI 및 PowerShell 연동 |
lsof(LiSt Open Files)
실행 중인 프로세스가 열고 있는 파일을 출력한다. lsof -p <PID> 형태로 사용하면 <PID>에 해당하는 실행 중인 프로세스가 어떤 파일을 사용 중인지 확인할 수 있다.
보안 관점에서의 lsof 활용 사례
목적 | 명령어 예시 | 설명 |
비정상 포트 탐지 | lsof -i 또는 lsof -i :6666 | 어떤 포트가 열려 있고, 어떤 프로세스가 사용하는지 확인 |
백도어 확인 | lsof -nP -iTCP -sTCP:LISTEN | 의심스러운 포트에서 대기 중인 프로세스 찾기 |
삭제된 실행파일 확인 | `lsof | grep deleted` |
침투 흔적 확인 | lsof -u [username] | 특정 사용자와 관련된 열린 파일, 연결 확인 |
의심스러운 연결 추적 | lsof -i @[IP주소] | 특정 외부 IP와 연결된 프로세스 확인 |
네트워크 기반 공격 탐지 | lsof -i tcp / lsof -i udp | 공격에 사용되는 연결 모니터링 |
멀웨어 은닉 탐지 | lsof +L1 | 링크 카운트가 0인 열린 파일 확인 (은폐 기법 탐지) |
NAC(Network Access Control)
항목 | 설명 |
정의 | 네트워크에 접속하려는 사용자/디바이스의 보안 상태를 검사하고, 기준에 부합할 때만 접속 허용 |
목표 | 비인가 접속 차단, 감염된 장비 격리, 네트워크 자산 보호 |
주요 구성요소 | 인증 서버, 에이전트(사용자 PC에 설치), 스위치/AP 등 네트워크 장비 |
기능 | 사용자 인증, 장치 인증, 보안 상태 점검(패치 여부, 백신 설치 등), 격리/차단 정책 적용 |
IRC (Internet Relay Chat)
실시간 텍스트 기반 채팅을 가능하게 해주는 인터넷 프로토콜이자 시스템
통신 방식 | 클라이언트-서버 구조 |
기능 | 채널 입장, 대화, 귓속말, 닉네임 설정, 채널 운영자 권한 등 |
포트 | 기본 포트는 TCP 6667번 (보안 연결은 6697 등 사용 가능) |
구성요소 | IRC 클라이언트, IRC 서버, 채널 (예: #linux, #security) |
프로토콜 | 텍스트 기반 명령어 사용 (예: JOIN, PRIVMSG, NICK, QUIT) |
보안 | 기본적으로 평문 전송, 보안 필요 시 SSL 사용 가능 |
예시 클라이언트 | HexChat, mIRC, Irssi, WeeChat 등 |
IRC의 보안 관련 이슈
익명성 악용: C&C 서버로 활용되어 봇넷 제어에 악용됨
DoS 공격의 통로: 공격 명령을 사용자 간에 쉽게 전달 가능
Sniffing 위험: 암호화되지 않으면 대화내용 도청 가능
SMTP 프로토콜 흐름
HELO(hello)는 대화를 시작하기 위해 SMTP 서버에 자신을 식별하고 대화를 시작하는 명령어이다.
EHLO(Extend Hello)는 HELO와 마찬가지로 클라이언트와 서버 사이에 SMTP 연결을 하는 명령이고, 몇 개의 확장 지원된 프로토콜을 사용할 수 있다.
CRL(Certificate Revocation List)에 포함되는 정보는?
* 인증서 발급자
* 인증서 해지 시검
* 인증서 일련 번호
SSL/TLS
2020년도부터 TLS 1.0과 TLS1.1은 크롬, IE, Edge, Safari, Firefox 등 주요 브라웅저에서 지원이 중단됨.
-> TLS1.2 이상, SSL 3.0 이상을 사용해야 함.
해시값과 메시지 인증 코드(MAC)에 관한 설명
구분 | 해시값 | MAC(메시지 인증 코드) |
입력 | 메시지 | 메시지 + 비밀키 |
인증 기능 | 없음 | 있음 (송신자 확인 가능) |
보안 수준 | 낮음 (위조 가능) | 높음 (비밀키 없이 위조 불가) |
대표 예시 | SHA-256 | HMAC-SHA256, CMAC |
* 해시값만을 통해 두 사람이 문서를 주고받았을 때 MITM공격을 받을 수 있다. 즉, 해시 값만을 보고 수신된 문서 위변조에 대한 상호신뢰를 확신할 수 없다.
* 해시값에 암호개념을 도입한 것이 HMAC(Hash Message Authentication Code)이며, 이 때 메시지 송수신자는 비밀키 또는 세션키를 사전에 안전한 채널을 통해 공유해야 한다.
* 메시지 인증을 위해서 사용되는 Message Digest(해시값)은 메시지 저장소에 파일이 위변조 되지 않았다는 것을 보장하기 위해 사용하기도 한다.
* 메시지 인증 코드는 해시 함수를 사용하기 때문에 DES와 같은 대칭키/공개키 알고리즘보다는 SW적으로 속도가 빠르다.
소프트웨어 보안 원칙
최소 권한의 원칙 (Principle of Least Privilege) | 사용자나 프로세스가 업무 수행에 꼭 필요한 권한만 갖도록 제한하는 것. 불필요한 권한은 제거해서 피해 확산을 줄임.🔐 예: 일반 사용자가 루트(admin) 권한 없이 실행 |
직무 분리의 원칙 (Separation of Duties) | 한 사람이 전체 업무를 모두 처리하지 않도록 역할을 분리하여 내부 통제를 강화함. 부정행위 방지 목적.🔐 예: 개발자와 배포 담당자를 분리 |
알 필요성의 원칙 (Need to Know) | 업무에 직접 관련된 정보만 접근할 수 있도록 제한하는 것. 정보 노출을 최소화함.🔐 예: 특정 프로젝트 관련자가 아닌 직원은 자료 열람 불가 |
보안 인증방법 종류
인증 유형 설명 예시
지식 기반 (Something you know) | 사용자가 알고 있는 정보로 인증 | 비밀번호, PIN, 보안 질문 |
소유 기반 (Something you have) | 사용자가 소지하고 있는 물건으로 인증 | OTP 토큰, 스마트카드, 인증서, 휴대폰 |
특성 기반 (Something you are) | 사용자의 생체적 특징으로 인증 | 지문, 얼굴, 홍채, 음성, 정맥 인식 등 |
위치 기반 | 사용자의 위치 정보 활용 | IP 주소, GPS 기반 위치 확인 등 |
행동 기반 | 사용자의 행동 패턴 분석 | 타이핑 속도, 마우스 움직임, 걸음걸이 등 |
시간 기반 | 특정 시간 조건으로 인증 제한 | 업무 시간 외 로그인 차단 등 |
OCSP(Online Certificate Status Protocol: 온라인 인증서 상태 프로토콜)
항목 내용
정의 | 인증서가 취소(폐지)되었는지 확인하기 위한 프로토콜 |
역할 | 인증서의 유효성 상태(유효/폐지/알 수 없음)를 실시간으로 알려줌 |
주체 | 클라이언트, OCSP 리스폰더(서버), 인증기관(CA) |
작동 흐름
- 클라이언트가 인증서 사용 전 OCSP 요청을 생성
- OCSP 서버(리스폰더)에 해당 인증서의 상태를 질의
- OCSP 서버가 응답(아래 3 중 하나):
- good: 유효함
- revoked: 폐지됨
- unknown: 알 수 없음
OCSP vs CRL (인증서 폐지 목록)
비교 항목 OCSP CRL (Certificate Revocation List)
갱신 주기 | 실시간 응답 | 정기적으로 갱신됨 (보통 1시간~24시간 간격) |
데이터 용량 | 작음 (한 인증서에 대한 응답) | 큼 (여러 인증서의 폐지 정보를 포함) |
성능/속도 | 빠름 | 느림 (리스트 다운로드 필요) |
네트워크 부하 | 낮음 | 높을 수 있음 |
보안상 주의점
- OCSP 서버가 응답하지 않으면 인증이 실패할 수 있어, 이를 막기 위해 OCSP 스테이플링(Stapling) 기법도 사용됨
- 스테이플링: 서버가 OCSP 응답 결과를 미리 클라이언트에 전달해 OCSP 서버 부하와 지연을 줄임
구분 Blom 방식 Kerberos 공개키 분배 방식 키 로밍 방식
사전 키 분배 방식
구분 | Blom 방식 | Kerberos | 공개키 분배 방식 | 키 로밍 방식 |
방식 유형 | 대칭키 기반 | 대칭키 기반 인증 및 키 분배 | 공개키 암호 기반 | 키 관리/이동성 지원 방식 |
주요 특징 | ID와 사전 정보로 키 계산 | 티켓 기반 인증으로 세션 키 분배 | 공개키를 공개적으로 배포 | 키를 중앙 저장소에 저장하고 이동 가능 |
중앙 서버 필요 | 초기 비밀 정보 배포 시 필요 | 필요 (KDC) | X.509/CA 필요 | 필요 (서버에 키 저장) |
보안 위험 | 비밀 정보 유출 시 전체 보안 위협 | KDC가 단일 장애점 | 공개키 위변조 우려 (인증서 필요) | 서버 해킹 시 키 유출 가능성 |
장점 | 계산 효율적, 키 수 적음 | 강력한 상호 인증, 실시간 키 교환 | 사용자 간 독립적, 전역 분산 가능 | 사용자 키 환경의 통일성과 편의성 제공 |
단점 | 유출 시 전체 시스템 위험 | 서버 의존도 높음 | 신뢰할 수 있는 CA 필요 | 보안 저장소 필요, 복잡도 증가 |
적용 예시 | 제한된 네트워크 환경, 센서 네트워크 | 기업 내부 인증 시스템 | SSL/TLS, PGP, 메신저 암호화 등 | 클라우드 인증, 기업 단말 키 동기화 |
접근통제 구성요소
* 정책: 시스템 자원에 접근하는 사용자 접근모드 및 제한 조건을 정의
* 모델: 시스템 보안 요구를 요구 명세로부터 정확하고 간결하게 표현
* 매커니즘: 시도된 접근 요청에 대해서 정의된 규칙을 대응시켜 검사, 불법적 접근을 제한
OCSP (Online Certificate Status Protocol)
**OCSP (Online Certificate Status Protocol)**는 디지털 인증서가 폐지(revoked)되었는지 실시간으로 확인할 수 있게 해주는 인터넷 표준 프로토콜
항목 | 내용 |
역할 | 인증서의 유효 여부(정상/폐지/모름)를 실시간으로 확인 |
주체 | 클라이언트, OCSP 서버(리스폰더), 인증기관(CA) |
사용 목적 | 신뢰되지 않는 인증서를 통한 통신을 차단하기 위해 |
응답 종류 | good (정상), revoked (폐지), unknown (정보 없음) |
기존 방식과 차이 | CRL은 목록 전체 다운로드, OCSP는 개별 인증서 상태만 질의 |
단점 | 서버 의존 → 서버 응답 지연 시 인증 실패 가능 |
보완 기술 | OCSP 스테이플링 (서버가 미리 응답 정보를 클라이언트에 제공) |
* OCSP는 X.509르 ㄹ이용한 전자 서명 인증서의 폐지 상태를 파악하는데 사용되는 인터넷 프로토콜이다.
* RFC 6960으로 묘사되며, 인터넷 표준의 경로가 된다.
* 이 프로토콜의 도입 이유 중 하나는 고가의 증권 정보나 고액의 현금 거래 등 데이터 트랜잭션의 중요성이 매우 높은 경우 실시간으로 인증서 유효성 검증이 필요하기 때문이다.
* OCSP로 전달받는 메시지는 ASN.1로 암호화되며, 보통 HTTP로 전달 받는다.
신규 OTP 기술
* 거래연동 OTP란 수신자 계좌번호, 송금액 등의 전자금융거래 정보와 연동되어 OTP를 발생시키는 OTP로 정의된다.
* USIM OTP는 사용자 휴대폰의 USIM 내에 OTP 모듈 및 주요 정보를 저장하여 OTP를 안전하게 생성하고 인증을 수행하는 OTP이다.
* 스마트 OTP란 IC칩 기반의 스마트카드와 NFC 기능을 지원하는 스마트폰에 OTP를 발생시키는 것이다.
스마트 카드
* 접촉식 스마트카드는 리더기와 스마트카드의 접촉부 사이의 물리적 접촉에 의해 작동한다.
* SIM 카드는 가입자 식별 모듇을 구현한 IC 카드이다.
* 인증 데이터 저장을 위해 서명된 정적 응용 프로그램 데이터와 인증기관(CA)의 개인키로 발행자의 공개키를 암호화한 데이터를 스마트카드에 저장한다.
스카트 카드에는 정적 데이터 인증 방식과 동적 데이터 인증방식이 있음.
정적 데이터 인증 방식의 스마트 카드에는
1. 발행자의 개인키로 서명하여암호화한 정적 프로그램 데이터,
2. 인증기관의 개인키로 서명하여 암호화한 발행자의 공개키 데이터
동적적 데이터 인증 방식의 스마트 카드에는
1. 발행자의 개인키로 서명하여암호화한 정적 프로그램 데이터 + 스마트카드 공개키
2. 인증기관의 개인키로 서명하여 암호화한 발행자의 공개키 데이터
3. 스마트카드 개인키 데이터
가 저장된다.
인증기관의 개인키는 발행자 공개키의 서명에 사용될 뿐, 스마트카드 단말에 배포하지는 않는다.
데이터 보안의 집합과 추론
집합 (Suppression) | 직접적으로 민감한 데이터를 제거하거나 숨기는 기법입니다. 예: 이름, 주민번호 등 제거 또는 마스킹(***) |
추론 (Inference) | 숨긴 정보가 다른 공개된 데이터로부터 유추되는 것을 의미합니다. 예: 나이, 성별, 지역으로 특정 개인을 추론 가능 |
ISO27001
국제표준화기구 및 국제전기기술위원회에서 제정한 정보보호 관리체계에 대한 국제 표준. Plan-Do-Check-Action(PDCA) 모델을 채택하여 정보자산의 기밀성, 무결성, 가용성을 실현하기 위해 관련 프로세스를 체계적으로 수립, 문서화하고 이를 지속적으로 운영, 관리하는 표준
시나리오법 위험분석 방법론
정성적 위험분석 기법으로,
어떤 사건도 기대대로 발생하지 않는다는 사실에 근거하여
일정 조건 하에서 위협에 대한
발생 가능한 결과들을 추정하는 방법
ISMS를 만든 법률은??
정보통신망 이용촉진 및 정보보호 등에 관한 법률
CERT 운영 시 중대 보안사고
* 정상적인 서비스를 제공하지 못함
* 중요도 등급 1등금 자산 외부 유출
* 조직의 대외 이미지에 중대한 손상
* 사회적 물의
* 기업의 정상적 업무에 심각한 지장을 초래
* 보안 장치의 변경이나 파괴(IDS, 보안 카메라, 잠금장치 등)
과거 자료 분석법은 정량적 위험분석!!
'사는 이야기' 카테고리의 다른 글
큐넷 국가기술자격 정기 기능사 기사 합격 불합격 확인, 자격증 PDF 발급하기 (0) | 2025.06.13 |
---|---|
정보보안기사 2023년 9월 16일 기출 관련 개념 정리 (0) | 2025.05.22 |
고용24 국민취업지원제도 취업활동계획(IAP) 다시 보는 방법 (0) | 2025.05.13 |
YBM 어학시험 및 TOEIC 토익 응시확인서 접수확인서 발급하기 (0) | 2025.05.12 |
[정부24] 초중고 생활기록부 보는 법 (0) | 2025.04.30 |