Updated:

서비스 공격 유형

서비스 거부(Dos; Denial of Service) 공격의 개념

 서비스 거부 공격이란 표적이 되는 서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는 시스템에서 대량의 데이터를 한 곳의 서버에 집중적으로 전속함으로써, 표적되는 서버의 정상적인 기능을 방해하는 것이다. 서비스 거부 공격의 유형에는 Ping of Death, SMURFING, SYN Flooding, TearDrop, Land, DDOS 등이 있다.

Ping of Death(죽음의 핑)

 Ping of Death는 Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법이다. 공격에 사용되는 큰 패킷은 수백 개의 패킷으로 분할되어 전송되는데, 공격 대상은 분할된 대량의 패킷을 수신함으로써 분할되어 전송된 패킷을 재조립해야 하는 부담과 분할되어 전속된 각각의 패킷들의 ICMP Ping 메시지에 대한 응답을 처리하느라 시스템이 다운되게 된다. jolt, sPING, ICMP bug, LceNewk 등의 변종 공격에 대비하여 ICMP Ping 메시지가 전송되지 못하도록 방화벽에서 차단하는 기술이 개발되었다.

SMURFING(스머핑)

 SMURFING은 IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법이다. 공격자는 송신 주소를 공격 대상지의 IP 주소로 위장하고 해당 네트워크 라우터의 브로드캐스트 주소를 수신자로 하여 패킷을 전속하면, 라우터의 브로드캐스트 주소로 수신된 패킷은 해당 네트워크 내의 모든 컴퓨터로 전송된다. 해당 네트워크 내의 모든 컴퓨터는 수신된 패킷에 대한 응답 메시지를 송신 주소인 공격 대상지로 집중적으로 전송하게 되는데, 이로 인해 공격 대상지는 네트워크 과부하로 인해 정상적인 서비스를 수행할 수 없게 된다. SUMRFING 공격을 무력화하는 방법 중 하나는 각 네트워크 라우터에서 브로드캐스트 주소를 사용할 수 없게 미리 설정해 놓는 것이다.

SYN Flooding

 TCP(Transmission Control Protocol)는 신뢰성 있는 전송을 위해 3-way-handshake를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법이다.

  • 공격자는 사용할 수 없는 IP 주소를 이용해 가상의 클라이언트로 위장하여 공격 대상지인 서버로 ‘SYN’ 신호를 보내 3-way-handshake의 첫 번째 과정을 수행한다.
  • 공격 대상지인 서버는 ‘SYN’신호에 대한 응답으로 ‘SYN+ACK’ 신호를 가상의 클라이언트로 보내면서 클라이언트의 접속을 받아들이기 위해 메모리의 일정 공간을 확보한다.
  • 가상의 클라이언트는 본래 사용할 수 없는 주소였으므로 서버가 보낸 응답이 전송되지 않을 뿐만 아니라 가상의 클라이언트로부터 3-way-handshake의 마지막 과정인 ‘ACK’신호도 전송되지 않으므로 공격 대상자인 서버는 메모리 공간을 확보한 상태에서 대기하게 된다.
  • 공격자가 사용할 수 없는 IP 주소를 이용해 공격 대상지 서버로 반복적인 3-way-handshake 과정을 요청하면 공격 대상지 서버는 메모리 공간을 점점 더 많이 확보한 상태에서 대기하게 되며, 결국 서버에 설정된 동시 사용자 수가 모두 대기 상태로 채워지게 되어 더 이상 정상적인 서비스를 수행할 수 없게 된다.
  • SYN Flooding에 대비하기 위해 수신지의 ‘SYN’수신 대기 시간을 줄이거나 침입차단 시스템을 활용한다.

TearDrop

 데이터의 송수신 과정에서 패킷의 크기가 커 여러 개로 분할되어 전송될 때 분할 순서를 알 수 있도록 Fragment Offset 값을 함께 전송하는데, TearDrop은 이 Offset값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법이다. TearDrop에 대비하기 위해 Fragment Offset이 잘못된 경우 해당 패킷을 폐기하도록 설정한다.

Land

 Land는 패캣을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상자인 IP 주소로 하여 공격 대상자에게 전송하는 것으로, 이 패킷을 받은 공격 대상은 송신 IP 주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답하게 하는 공격이다. Land에 대비하기 위한 송신 IP 주소와 수신 IP 주소의 적절성을 검사한다.

DDOS(Distributed Denial of Service, 분산 서비스 거부) 공격

 DDoS 공격은 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것으로, 네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트들에 분산 서비스 공격용 툴을 설치하여 에이전트(Agent)로 만든 후 DDos 공격에 이용한다. 공격의 범위를 확대하기 위해 일부 호스트에 다수의 에이전트를 관리할 수 있는 핸들러(Handler) 프로그램을 설치하여 마스터(Master)로 지정한 후 공격에 이용하기도 한다.

네트워크 침해 공격 관련 용어

  • Phishing: 개인 정보(Private Data)와 낚시(Fishing)의 합성어로, 이메일이나 메신저 등을 통해 공기관이나 금융 기관을 사칭하여 개인 정보를 뺴내는 방법이다.
  • Ping Flood: 특정 사이트에 매우 많은 ICMP 메시지를 보내 이에 대한 응답으로 시스템 자원을 모두 사용하게 해 시스템이 정상적으로 동작하지 못하도록 하는 공격 방법이다.
  • 스위치 재밍(Swtich Jamming): 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘러보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격이다.
  • 블루프린팅(Blue Printing): 공격 대상이 될 블루트스 장비를 검색하느 활동을 의미한다.

정보 보안 침해 공격 관련 용어

  • 웜(Worm): 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종으로, 분산 서비스 거부 공격, 버퍼 오버플로 공격, 슬래머 등이 웜 공격의 한 형태이다.
  • 키로거 공격(Key Logger Attack): 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격
  • 랜섬웨어(Ransomware): 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 한다.
  • 백도어(Back Door, Trap Door): 시스템 설계자가 서비스 기술자나 유지 보수 프로그램 작성자의 액세스 편의를 위해 시스템 보안을 제거하여 만들어 놓은 비빌 통로로, 컴퓨터 범죄에 악용되기도 한다. 무결성 검사, 열린 포트 확인, 로그 분석, SetUD 파일 검사 등으로 탐지할 수 있다.
  • 트로이 목마(Trojan Horse): 정상적인 기능을 하는 프로그램으로 위장하여 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으키는 것으로, 자기 복제 능력은 없다.
  • 파밍(Pharming): 해커가 악성코드에 감염된 PC를 조작하여 이용자가 정상적인 사이트에 접속해도 중간에 도메인을 탈취하여 가짜 사이트로 접속하게 한 다음 개인 정보나 금융정보를 몰래 빼내는 행위이다.

서버 인증

  • 인증(Authentication)
    • 다수의 사용자 컴퓨터 시스템이나 네트워크 시스템에서 로그인을 요청한 사용자의 정보를 확인하는 보안 절차이다.
  • 인가(Authorization)
    • 인증된 사용자에 대해 요청한 자원이나 동작에 대한 권리 여부를 확인할 후 이를 부여하는 보안 절차이다.
  • 지식 기반 인증(Something You Know)
    • 사용자가 기억하고 있는 정보를 기반으로 인증을 수행하는 것이다.
    • 패스워드
  • 소유 기반 인증(Something You Have)
    • 사용자가 소유하고 있는 것을 기반으로 인증을 수행하는 것이다.
    • 신분증, 메모리 카드, 스마트 카드, OTP
  • 행위 기반 인증(Something You Do)
    • 사용자의 행동 정보를 이용해 인증을 수행한다.
    • 서명, 동작, 음성

보안 아키텍처/보안 프레임워크

보안 아키텍처(Security Architecture)

 보안 아키텍처란 정보 시스템의 무결성(Integrity), 가용성(Availalility), 기밀성(Confidentiality)을 확보하기 위해 보안 요소 및 보안 체계를 식별하고 이들 간의 관계를 정의한 구조를 말한다. 보안 아키텍처를 통해 관리적, 물리적, 기술적 보안 개념의 수립, 보안 관리 능력의 향상, 일관된 보안 수준의 유지를 기대할 수 있다. 보안 아키텍처는 보안 수준에 변화가 생겨도 기본 보안 아키텍처의 수정 없이 지원할 수 있어야 한다. 보안 아키텍처는 보안 요구사항의 변화나 추가를 수용할 수 있어야 한다.  효율적인 취약점 관리를 위해 관리적/물리적/기술적인 영역을 구분하여 보안 개념을 수립 및 설정하고, 발생하는 문제에 대응해야 한다.

  • 관리적 보안: 정보보호 정책, 정보보호 조직, 정보자산 분류, 정보보호 교육 및 훈련, 인적 보안, 업무 연속성 관리 등의 정의
  • 물리적 보안: 건물 및 사무실 출입 통제 지침, 전산실 관리 지침, 정보 시스템 보호 설치 및 관리 지침, 재해 복구 센터 운영 등의 정의
  • 기술적 보안: 사용자 인증, 접근 제어, PC, 서버, 네트워크, 응요 프로그램, 데이터 등의 보안 지침 정의

보안 프레임워크(Security Framework)

 보안 프레임워크는 안전한 정보 시스템 환경을 유지하고 보안 수준을 향상시키기 위한 체계를 말한다.

로그 분석

로그(Log)의 개념

 로그란 시스템 사용에 대한 모든 내역을 기록해 놓은 것으로, 이러한 로그 정보를 이용하면 시스템 침해 사고 발생 시 해킹 흔적이나 공격 기법을 파악할 수 있다. 로그 정보를 정기적으로 분석하면 시스템에 대한 침입 흔적이나 취약점을 확인할 수 있다.

리눅스(LINUX) 로그

 리눅스에서는 시스템의 모든 로그를 var/log 디렉터리에서 기록하고 관리한다. 로그 파일을 관리하는 syslogd 데몬은 etc/syslog.conf 파일을 읽어 로그 관련 파일들의 위치를 파악한 후 로그 작업을 시작한다. syslog.conf 파일을 수정하여 로그 관련 파일들의 저장 위치와 파일명을 변경할 수 있다.

리눅스의 주요 파일 로그

  • 커널 로그
    • 데몬: kernel
    • /dev/console: 커널에 관련된 내용을 관리자에게 알리기 위해 파일로 저장하지 않고 지정된 장치에 표시한다.
    • var/log/wtmp: 성공한 로그인/로그아웃에 대한 로그를 기록한다, 시스템의 시작/종료 시간에 대한 로그를 기록한다.
    • var/run/utmp: 현재 로그인한 사용자의 상태에 대한 로그를 기록한다.
    • var/log/btmp: 실패한 로그인에 대한 로그를 기록한다.
    • vat/log/lastlog: 마지막으로 성공한 로그인에 대한 로그를 기록한다.
  • 부팅 로그
    • 데몬: boot, var/log/boot, 부팅 시 나타나는 메시지들을 기록한다.
  • 크론 로그
    • 데몬: crond, var/log/corn, 작업 스케줄러인 crond의 작업 내역을 기록한다.
  • 시스템 로그
    • 데몬: syslogd, var/log/messages, 커널(Kernel)에서 실시간으로 보내오는 메시지들을 기록한다.
  • 보안 로그
    • 데몬: xinetd, var/log/secure, 시스템의 접속에 대한 로그를 기록한다.
  • FTP 로그
    • 데몬: ftpd, var/log/xferlog, FTP로 접속하는 사용자에 대한 로그를 기록한다.

윈도우(Windows)로그

 Windows 시스템에서는 이벤트 로그 형식으로 시스템의 로그를 관리한다. Windows의 이벤트 뷰어를 이용하면 로그를 확인할 수 있다.

Windows 이벤트 부어의 로그

 Windows 이벤트 뷰어에서는 응용 프로그램 로그, 보안 로그, 시스템 로그, Setup 로그, Forwarded Events 로그를 확인할 수 있다.

보안 솔루션

  • 침입 탐지 시스템(IDS; Intrusion Detection System)
    • 커퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템이다.
    • 오용 탐지(Misuse Detection): 미리 입력해 둔 공격 패턴이 감지되면 이를 알려줌
    • 이상 탐지(Anomaly Detection): 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원의 사용이 감지되면 이를 알려줌
  • VPN(Virtual Private Network, 가상 사설 통신망)
    • 가상 사설 네트워크로서 인터넷 등 통신 사업자의 공중 네트워크와 암호하 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다.
  • SSH(Secure SHell, 시큐어 셀)
    • 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램이다.
    • 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다.
    • 키(Key)를 통한 인증 방법을 사용하면 사전에 클라이언트의 공개키를 서버에 등록해야 한다.
    • 기본적으로 22번 포트를 사용한다.

댓글남기기