HULK (HTTP Unbearable Load King) DoS
- GET Flooding 기반 공격
- 자동화 스크립트로 매번 다른 URL 요청을 생성해 캐시를 우회하고 웹서버 자원을 고갈시키는 공격
- 특징:
- 랜덤 URL 파라미터와 User-Agent 사용
- 캐싱 우회 가능
- 일반적인 패킷 필터링 회피
Slow HTTP 공격 계열
HTTP 요청을 아주 느리게 전송해 서버 연결을 장시간 유지 → 자원 고갈 유도
| 공격기법 |
설명 |
| Slow HTTP GET DoS |
변조 IP 주소가 아닌 정상 IP 주소 기반 공격, GET 요청을 전송하되 데이터를 아주 느리게 보내 연결을 장시간 유지 |
| Slow HTTP Header DoS (Slowloris) |
헤더 정보를 조작, 헤더의 종료 구분자(\r\n\r\n)를 보내지 않고 \r\n만 보내며 연결 유지 (개행문자만을 포함하여 불완전한 헤더를 전송한다라는 의미) |
| Slow HTTP POST DoS (RUDY) |
Content-Length를 크게 지정하고 본문을 천천히 전송해 연결 유지 |
| Slow HTTP Read DoS (Slow Read) |
TCP 윈도우 크기를 작거나 0으로 설정해 서버 답을 지연시키며 연결 유지 |
TCP 기반 공격
- TCP 윈도우 사이즈 조작
- TCP Sliding Window Size를 비정상적으로 작게 설정
- 송·수신 데이터 흐름을 비정상적으로 지연시켜 서버 자원 고갈
캐시(Cache) 공격
- GET Flooding with Cache-Control (CC Attack)
- Cache-Control 헤더 조작 → 캐시 서버 과부하 유발
- DNS Cache Poisoning
- 공격자가 위조 응답을 캐시에 저장하게 만들어 정상적인 도메인 요청을 악성 IP로 연결
Hash Collision DoS (=해시 충돌)
- 서버가 사용하는 Hash Table의 충돌을 의도적으로 유발
- 많은 충돌 발생 시 CPU 사용량 급증 → 서비스 거부 상태 발생
WAF (Web Application Firewall)
- SQL Injection, XSS, CSRF 등 애플리케이션 계층 공격 방어
- 웹서버로 전송되는 모든 HTTP 요청패킷 내용을 검사하여 악의적인 패킷을 전송하지 못하도록 방어하는 역할
- 배치 방식: 프록시형, 브리지형, 호스트 기반, 소프트웨어 기반
- 오픈소스 예시: ModSecurity (Apache 기반)
| 구분 |
WAF |
IDS/IPS |
| 방어 계층 |
애플리케이션 계층 (7계층) |
네트워크/전송 계층 (3~4계층) |
| 주요 목적 |
웹 애플리케이션 취약점 공격 방어 |
패킷 기반 침입 탐지 및 차단 |
| 탐지 방식 |
시그니처 기반, 행위 기반 |
패턴 기반, 이상 행위 탐지 |
| 배치 형태 |
설명 |
| 프록시형 (Reverse Proxy) |
클라이언트와 웹 서버 사이에 위치, 모든 트래픽을 대신 처리 |
| 클라우드 기반 (SaaS) |
AWS WAF, Cloudflare 등 클라우드 환경에 특화된 형태 |
| 내부 모듈형 |
웹 서버(예: Apache, Nginx)에 모듈로 설치 (ModSecurity 등) |
ModSecurity = 아파치 웹서버용 오픈소스 WAF
- 개발자: Ivan Ristic, 아파치(Apache) 웹서버용 오픈소스 WAF
- 특징
- PHP Injection 등 아파치 웹 서버의 주요 공격 차단 가능
- 설치 및 차단 규칙 설정 인터페이스는 다소 불편
- 그러나 공격 차단 기능 자체는 매우 우수
- 동작 원리
- 웹 공격에 대한 탐지/차단 기능을 수행하는 모듈을 Apache 웹서버와 함께 로드
- 클라이언트와 웹 서버 사이에서 HTTP Request/Response를 검사 → 악의적 요청 탐지 및 차단
- 다른 아파치 모듈과 호환되며, 필요시 독립적으로 설치 가능
- 정상적으로 설치 시 성능 저하는 거의 없음
SSL/TLS vs S-HTTP
| 구분 |
SSL/TLS |
S-HTTP |
| 보안 단위 |
세션(Session) 단위 |
메시지(Message) 단위 |
| 적용 범위 |
모든 애플리케이션 데이터 암호화 |
개별 HTTP 메시지 암호화 |
| 사용 예시 |
HTTPS |
일부 특정 애플리케이션 |
- SSL/TLS는 HTTP뿐만 아니라 FTP, SMTP 등 다양한 프로토콜에 적용 가능하며 애플리케이션 계층과 전송 계층 사이에서 동작하는 보안 프로토콜
- S-HTTP는 메시지 단위 암호화를 제공하는 보안 프로토콜
DNS 구조
- hosts 파일: 정방향(A), 역방향(PTR) 기록
- DNS 서버 운영: Master/Slave 구조
- 취약점: DNS Spoofing, DNS Cache Poisoning
- 대응: DNSSEC (공개키 기반 서명 검증)
마스터와 슬레이브로 구성
캐시는 해당 위치에 저장 / DNS를 질의하지 않고 해당 파일로 가서 검색
DNSSEC
| 공개키 암호화 기반 |
Zone 데이터에 전자서명 추가 |
| 레코드 유형 |
DNSKEY, RRSIG |
| 효과 |
데이터 위변조 방지, 무결성 보장 |
데이터베이스 보안
| 기본키 (PK) |
튜플을 유일하게 식별 |
| 후보키 (Candidate) |
기본키가 될 수 있는 후보 |
| 대체키 (Alternate) |
후보키 중 선택되지 않은 키 |
| 슈퍼키 (Super Key) |
유일성을 만족하는 키 |
| 외래키 (FK) |
다른 릴레이션 참조 키 |
MySQL 보안
- 포트: 기본 3306
- 보안 관리: 사용자 계정 관리, 권한 부여/삭제
- 서버 보안 설정: my.cnf 설정 파일 수정
데이터베이스 백업/복구 기법
| Redo Log |
트랜잭션 재실행 |
| Undo Log |
트랜잭션 취소/롤백 |
| Full Backup |
전체 백업 |
| Incremental Backup |
변경분만 백업 |
| Differential Backup |
마지막 전체 백업 이후 변경분 백업 |
SET vs SSL 비교
| 구분 |
SET |
SSL |
| 개발 |
VISA, MasterCard |
Netscape |
| 보안 방식 |
Dual Signature, Digital Envelope |
세션 암호화 |
| 적용 범위 |
카드사·가맹점 간 안전 거래 |
브라우저-서버 간 통신 보안 |
| 복잡성 |
상대적으로 복잡 |
상대적으로 간단 |
기타 전자상거래 보안 기술
- OTP(One-Time Password): 일회성 비밀번호
- WPKI (무선 공개키 기반 구조): 모바일 환경 인증·암호화
e-Business 보안
- ebXML
- Registry/Repository (메타데이터 저장소)
- Trading Partner (거래 당사자 정보)
- Message Service (메시지 전송 및 보안)
- SSO (Single Sign-On): 한 번 로그인으로 여러 시스템 이용
- SAML vs OAuth
| 구분 |
SAML |
OAuth |
| 목적 |
SSO |
인증/인가 분리 |
| 사용 환경 |
기업 내부, 엔터프라이즈 환경 |
모바일 앱, SNS 로그인 |
| 데이터 형식 |
XML 기반 |
JSON 기반 |
DRM (Digital Rights Management)
- 디지털 콘텐츠(음악, 영화, 문서 등)의 무단 복제 및 유통을 방지하고 합법 사용자만 사용하도록 통제하는 기술
- 구성 요소: 클라이언트, 서버, 콘텐츠, 컨트롤러
- 기능: 저작권 보호, 불법 복제 방지
| 콘텐츠 암호화 |
콘텐츠를 암호화하여 권한 없는 접근 방지 |
| 접근 제어 |
사용자 인증, 사용 환경 및 시간 조건 제어 |
| 라이선스 관리 시스템 (LMS) |
사용 조건 정의 및 권한 제어, 갱신 포함 |
| 저작권 정보 관리 (CMI) |
저작권 정보 메타데이터 포함, 추적 가능 |
| 클리어링 하우스 |
라이선스 발급 및 권한 인증 담당 |
| 보안 컨테이너 / 패키저 |
콘텐츠 + 메타데이터를 안전하게 포장 및 배포 형태로 구성 |
디지털 워터마킹
- 특징: 이미지/영상/음성에 식별자 삽입
- 삽입 기법: LSB, DCT, DWT 등
디지털 포렌식
- 원칙: 무결성, 적법성, 신속성, 재현성
- 절차: 수집 → 보존 → 분석 → 보고
- 안티 포렌식 기법: 스테가노그래피(은폐), 데이터 삭제, 암호화