# Hacking # Ⅰ. **네트워크, 보안 망 등에서 보안 취약점의 악의적 이용 혹은 피해를 주는 행동**, 해킹의 개요 ## 가. 해킹(Hacking)의 정의 * **컴퓨터 네트워크의 보안 취약점을 찾아내어 이를 악의적으로 이용하는 행위** * 시스템 관리자가 구축해 놓은 보안 망을 무력화 시키거나, 시스템 관리자 권한을 불법적으로 획득 및 악용해 다른 사용자에게 피해를 주는 일체의 행동 ## 나. 최근 해킹 공격의 특징 ^ 구분 ^ 내용 ^ | 자동화(Automation) | 인터넷 웜 및 윈도우용 공격도구 최근의 공격스크립트의 자동화 | | 에이전트화(Agent) | 원격명령으로 공격을 수행 하거나 에이전트 기반 빠른 정보 입수 | | 분산화(Distributed) | 원격조정이 가능한 Agent형 백도어를 설치하고 이를 이용해 다른 시스템을 공격하는 방법 | | 은닉성(Stealth) | Agent를 이용한 분산공격기법은 침입탐지시스템을 무력화 할 수 있는 공격으로 공격자의 위치를 은닉 | # Ⅱ. 해킹의 기법 ## 가. Sniffing * 스니퍼는 **컴퓨터 네트워크 상에 흘러 다니는 트래픽을 였듣는 도청장치** * 스니핑은 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위 그림 삽입 ### 시나리오 - 다양한 공격 기법을 통해 실제 공격 대상 시스템에 관리자 권한을 얻어낸 후 **스니핑 도구를 설치**하여 스니핑 - 공격 대상 기업의 다른 호스트에 대한 접근 권한을 얻어내서 그 호스트를 이용하여 스니핑 - ISP 장비에 대한 시스템 권한을 얻어내서 스니핑 도구를 설치하여 스니핑 ## 나. IP Spoofing 그림 삽입 ### 1) IP Spoofing 의 정의 * TCP/IP의 구조적 결함에서 출발한 방법으로 TCP 시퀀스 번호, Source routing, 소스 IP 주소를 이용해서 상대방 호스트가 자신의 호스트를 트러스트하게 만드는 해킹 방법 (spoof: 속이기/속임수) * IP 주소 등의 정보를 속임으로써 권한을 획득하고 중요 정보를 가로채어, 서비스 방해까지 행하는 TCP/IP 프로토코로 결합을 이용한 해킹 공격 ### 2) IP 스푸핑 기법 공격절차 * 1단계: 패킷의 내용을 변경하여 스크리닝 라우터와 방화벽 통과 * 2단계: 소스 IP 주소를 조작하여 자신을 신뢰성 있는 호스트로 인식 * 3단계: 원하는 호스트의 초기 시퀀스 번호를 알아냄 * 4단계: 트로이 목마 등의 프로그램 설치, 호스트 접근 권한 혹은 루트 권한 획득 # Ⅲ. DoS (Denial of Service) 공격 기법 ## 가. TCP SYN Flooding 공격 그림 삽입 * **TCP 프로토콜의 3 Way Handshake 를 악용** * 서버에 수 천 개의 TCP 접속(SYN) 요청 메시지를 보냄, 이 때 패킷 내부의 소스 IP주소를 속이거나 인터넷 상에서 사용하지 않는 IP 주소 값으로 변형 * 서버는 SYN/ACK 응답을 보낸 후, 클라이언트로 부터 ACK가 올 때까지 기다리게 되고, 서버는 ACK 메시지를 받지 못하게 됨. * 이렇게 되면, 서버는 ACK를 받을 때까지, 버퍼와 같은 자원을 계속 종료하지 못하고 열어두게 되면서 누적에 따른 **시스템 다운 및 서비스를 중단하는 상황 직면** * 불완전한 연결을 저장하기 위한 메모리 자료구조의 크기 제한으로 **서버 자원이 고갈되어 Buffer Overflow**에러 발생 ## 나. Smurfing(스머핑) DOS 공격: Ping과 답변인 에코메시지로 인한 대량의 트래픽 발생 악용 그립 삽입 * 광범위한 효과로 인해, 가장 무서운 DoS 방법 중의 하나이며, IP와 ICMP((ICMP: Internet Control Message Protocol, ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜)) 특징을 악용 * 직접적인 브로드캐스트와 세 가지 구성요소인 공격자, 증폭네트워크, 표적을 최대한 이용함 * 공격자는 증폭 네트워크의 브로드 캐스트 주소로 공격, 서버가 요구하는 것처럼 패킷들의 **원본 주소를 위조하여 ICMP echo 패킷을 전송하고, ICMP echo 패킷을 수신한 증폭 네트워크 내의 모든 시스템은 공격 서버에 응답을 하게 됨** ## 다. DDoS (분산 서비스 거부 공격; Distributed DoS) 공격 ### 1) DDoS (Distributed Denial of Service) 의 정의 * 섭스에 대한 정당한 접근을 방해하거나 차단하고자 네트워크에 분산되어 있는 많은 에이전트를 이용하여 공격대상 서버에 동시에 과도한 서비스 요청을 발생시키는 공격 ### 2) DDoS의 특징 ^ 특징 ^ 설명 ^ |**은익 분산공격**| - 네트워크에 분산되어 분포하는 좀비인 에이전트를 이용하여 공격 \\ - 일반 사용자의 컴퓨터에 __은익__한 악성코드를 통해서 사용자가 인식하지 못하는 동안 공격 수행 | |**방어의 어려움**| - 네트워크에 분산되어 공격함으로써 모든 소스를 차단하기 어려움 \\ - IP를 위조하거나 에이전트를 변경하여 공격함으로써 차단이 어려움 | | **랜섬(Ransom) 공격** | - 공격자는 DDoS공격을 통해서 피해자의 서비스를 마비시킨 후, 협박을 통해서 공격중단을 대가로 금전적인 보상을 요구함 | ### 3) DDoS 공격 개념도 및 구성요소 #### DDoS 공격 개념도 그림 삽입 - 공격자는 DDoS 에이전트를 확보하기 위해서 버퍼 오버플로우 등의 공격으로 일반 인터넷 사용자의 PC에 에이전트를 설치 - 설치된 에이전트는 마스터에 연결하여 DDoS 공격도구를 다운로드 받고, 공격 명령을 대기함 - 공격자는 마스터를 통해서 공격명령을 각 에이전트로 전달하고, 에이전트는 마스터로부터 수신한 공격명령에 따라서 피해자를 공격함 #### DDoS 공격 구성요소 ^ 구성요소 ^ 설명 ^ | **공격자(Attacker)** | - DDoS 공격을 주도하는 공격자의 컴퓨터를 의미함 | | **마스터(Master)** | - 여러대의 DDoS에이전트의 연결을 관리하는 시스템 \\ - 공격자에게 직접 명령을 받아 에이전트에게 명령 전달을 실행함 | | **에이전트(Agent)** | - 일반 사용자의 컴퓨터에 은익하여 마스터에 연결하여 관리되는 악성코드 \\ - 마스터의 명령에 따라 공격대상(Victim)에 직접적인 공격하는 시스템 | #### 에이전트 유포방식 - **P2P**: 정상 소프트웨어에 악성코드(에이전트)를 삽입하여 사용자 설치 유도 - **웜/바이러스**: 웜/바이러스의 감염으로 인한 에이전트의 설치 - **사회공학(Social Engineering)**: 이메일등을 통해서 첨부파일 형태로 사용자에게 전달 후, 설치 유도 \\ - 인간 상호 작용을 이용하여, 사람을 속여 보안 절차를 깨트리는 비기술적 침입 수단 - **홈페이지**: 취약한 웹서버를 해킹한 후, 사용자 방문시 악성코드의 자동 설치 ##### **사회공학(Social Engineering)** 기법 사례 ^ 유형 ^ 방법 ^ 설명 ^ | 직접적인 접근(Direct Approach) | 권력이용하기 | 조직에서 높은 위치에 있는 사람으로 가장 | |:::| 동정심에 호소하기 | 무척 긴급한 상황에서 도움이 필요한 것첢 행동 | |:::| 가장된 인간관관계이용하기 | 어떤 사람의 친구로 가장해 신뢰감 형성 | | 도청(Eavesdropping) | 도청장치 설치 혹은 유선 전화선의 중간을 따서 도청하거나 유리나 벽의 진동을 레이저로 탐지하여 이를 음성으로 바꾸어 도청 || | 어깨너머로 훔쳐보기(shoulder surfing) | 공격 대상의 주위에서 직접적인 관찰을 통하여 그가 기업 내에서 수행하는 업무 내역과 전화 통화 내역 등을 어깨 너머로 훔쳐보면서 공격 대상과 관련된 정보들을 수집 || | 휴지통 뒤지기(Dumpster Diving) | 가정 또는 직장에서 무심코 버리는 메모지, 영수증 또는 업무 중 발생된 자료 등 공격 대상과 관련된 문서들을 휴지통에서 수거하여 유용한 정보들을 수집 || | 설문조사(Mail-outs) | 공격 대상의 관심을 끌만한 사항을 설문한 후, 공격 대상의 개인적인 취미, 가족사항 등의 개인 정보들과 함께 사회적인 활동과 관련된 다양한 정보들 수집 || | Piggybacking (Tailgating) | 출입통제 시스템에서 신원이 확인된 앞 사람을 따라 출입 || ### DDoS의 공격유형 및 공격기술 #### DDoS의 공격유형 ^ 항목 ^ PPS((PPS:Packets-Per-Second)) ^ 웹서비스 지연 ^ 대용량 트래픽 전송 ^ | **사용 프로토콜** | **TCP** | **HTTP** | **UDP/ICMP** | | 공격사례 | SYN flooding \\ TCP Connection flooding | HTTP flooding | UDP flooding \\ ICMP flooding | | 공격형태 | 64byte 이하 크기로 수십만~수백만 PPS발생 | 동일 URL 접속 시도 | 1000~1500 byte 패킷으로 수십 Gbyte 트래픽 발생 | | 공격영향 | 네트워크 장비, 보안장비, 서버 등의 부하 발생 | 웹서버 부하 발생 | 회선 대역폭 고갈 | | 피해범위 | 공격 대상 시스템, 동일 네트워크의 모든 시스템 | 공격 대상 웹서버 | 동일 네트워크에 사용중인 모든 시스템 | | IP Spoofing | 변조/실제 IP | 실제 IP | 변조/실제 IP | #### DDoS 공격 기술 ^ 분류 ^ 공격명 ^ 설명 ^ ^ | **PPS 증가** | **SYN flooding** | - IP를 변조 후 다량의 SYN 패킷을 공격 대상 서버로 전송하여 공격받은 서버는 다수의 SYN_RECEIVED 세션 상태 발생 \\ - 서버의 CPU 및 Connection 자원의 고갈 유도 | |:::| TCP Connection Flooding | - 다량의 SYN 패킷을 공격 대상자 서버로 전송하고 공격 대상 서버에서 다수의 ESTABLISHED 세션 상태 발생 \\ - 서버의 CPU 및 Connection 자원 고갈 유도 | |:::| TCP Out-of-State Packet flooding | - 다량의 ACK/SYN+ACK/FIN/RST 등의 패킷을 공격대상 서버로 전송 \\ - 일부 네트워크 장비 및 서버의 CPU 부하발생 및 오작동 발생 | | **웹서비스 지연** | **HTTP flooding** | - 정상적인 HTTP GET 또는 POST를 이용하여 상품조회와 같은 반복적인 요청을 전송 \\ - 웹서버 및 데이터베이스 서버의 CPU 및 Connection 자원 고갈 | |:::| CC Attack | - HTTP의 Cache control 메시지를 이용하여 Cache 서버를 거치지 않고 직접 웹서버에 HTTP 요청 \\ - 직접적인 요청으로 인한 웹서버 CPU 및 Connection 자원 고갈 | | **대용량 트래픽 전송** | UDP/ICMP flooding | - 1000~1500 byte 정도의 큰 UDP/ICMP 패킷을 서버로 전송 \\ 공격대상 네트워크의 대역폭을 고갈시켜 서비스 마비 유도 | ### 5) DDoS 공격유형별 방어기술 및 모니터링 시스템 #### DDoS 공격유형별 방어기술 ^ 분류 ^ 방어기술 ^ 설명 ^ | PPS 증가 | 비정상 IP 차단 | - RFC1918에서 지정한 비공인 IP 차단 \\ - 멀티캐스팅, 사설 IP 등 특정 목적을 가진 IP 차단 | |:::| `공격 IP 차단` | - 공격 근원지 IP를 조사하여 **IDC/ISP와 공조하여 트래픽의 Null routing(Ignored) 처리**를 통한 공격 트래픽 차단 | |:::| SYN Proxy 사용 | - SYN Proxy/Cookie 기능을 제공하는 보안 장비 및 네트워크 장비를 이용하여 **비정상적 TCP 패킷 차단** | |:::| 장비 패치 | - 취약한 네트워크 장비 및 서버에 대한 패치 | | 웹서비스 지연 | 서버 설정변경 | - KeepAlive를 Off로 변경, Maxclient를 최대수치로 조정 | |:::| `웹서버 증설` | - **서비스를 위한 웹서버의 추가를 통한 부하 분산** | |:::| 공격 IP 차단 | - 공격 근원지 IP에 대한 방화벽 또는 라우터에서 차단 | | 대용량 트래픽 전송 | 불필요한 서비스차단 | - 가능한 네트워크 최상단에서 부필요한 UDP 및 ICMP 서비스 차단 | |:::| 공격 IP 차단 | - 공격 근원지 IP를 조사하여 IDC/ISP와 공조하여 트래픽의 Null Routing 처리를 통한 공격 트래픽 차단 | |:::| `DNS 서버 다중화` | - 다중 DNS 서버를 운영하여 제 3의 등록기관에 DNS 등록 | ### 6) DDoS 공격유형별 방어기술 및 모니터링 시스템 #### DDoS 모니터링 시스템 ^ 분류 ^ 모니터링 ^ 설명 ^ | `Netflow FlowScan` | IP 프로토콜 분포 모니터링 | - 공격징후 및 유형 파악을 목적으로 함 \\ - **L3 스위치, 라우터에서 제공하는 모니터링 기능을 이용한 IP 프로토콜별 bps, fps, PPS 모니터링** | |:::| 서비스별 사용량 모니터링 | - 특정 서비스 사용량이 평소보다 급증하는 경우 확인 | | `모니터링 시스템` | 네트워크 현황분석 | - 모니터링 시스템을 이용하여, 프로토콜/서비스 별 사용 현황 및 Frame size 등에 대한 상세한 모니터링 | |:::| 임계치 설정 | - 프로토콜/서비스별/대역폭별/PPS별 사용량에 대한 임계치를 설정하여 임계치를 초과할 경우 경보 전송 | |:::| 응답지연시간 측정 | - 웹 서버 응답속도가 현저하게 증가하는 경우 탐지 | |:::| 패킷 분석 | - 캡처한 패킷을 통하여 패턴을 분석하고 생성된 패턴을 IPS, IDS에 적용하여 탐지 및 차단 | ### 6) Anti-DDoS 솔루션 구성 그림 삽입 * **네트워크 행위분석기반(Network Behavior Analysis)의 DDoS 공격 대응 전용시스템 도입** * 시그너처 기반의 비정상 패킷 차단, 행위기반의 DDoS 차단과 사용자 정의 규칙(Rule)에 의한 DDoS 차단 기능을 제공함 ## 라. DRDoS(Distributed Reflection Denial of Service)공격 : 분산반사서비스거부 ### 1) DRDoS(Distributed Reflection Denial of Service) 정의 * DDoS 공격보다 진일보한 새로운 공격 기법으로 인터넷 환경에서 정상적으로 이용할 수 있는 `시스템 및 서비스(예: DNS, WEB, FTP, Telnet 등)를 에이전트로 이용하여 공격` ### 2) DRDoS(Distributed Reflection Denial of Service) 특징 * 기존 DoS 및 DDoS 공격형태 포함 * 정상적인 트래픽으로 위장 가능 * 탐지 및 방어 어려움 # Ⅳ. 해킹의 대응 방안 // 밑의 내용을 표로 작성할 필요가 보임 // ## 가. 기술적 방안 ^ 구분 ^ 내용 ^ | 네트워크 보안 | - 방화벽(Firewall) 도입 \\ - Network IDS(Intrusion Detection System), IPS 도입 \\ - VPN(Virtual Private Network) 도입 | | 서버 보안 | - Secure OS 도입 \\ - Server IDS 도입 \\ - OS의 보안 약점을 노린 공격에 대비하여 Patch 설치 | | DB 보안 | - 사용자 인증 \\ - 데이터에 대한 접근 권한 관리, RBAC | | 통합보안 | - EAM(Extranet Access Management) \\ - ESM(Enterprise Security Management) 등 통합 보안 체계 구축 | ## 나. 관리적 방안 * 보안 정책의 수립, 교육 등을 통한, 절차 준수 * 보안 감사 시행 * 보안 컨설팅 및 교육 시행 ## 다. 물리적 방안 * 출입통제 강화 (예, SWAT팀 운영 등을 통해 서버 접근은 지정된 공간 및 PC에서만 가능한 환경 구성) * 서류 및 파일의 유출 금지 강화