보안

Jaca·2022년 8월 2일
0

보안은 특정 분야의 종속 개념이 아니고 IT업계 전반에서 고려해야 하므로 개발자, 서버 엔지니어, 네트워크 엔지니어, 보안 엔지니어 모두 고민해야 한다.
이번 장에서는 IT 보안 중 여러 분야의 엔지니어가 생각해볼만한 영역을 다루어본다.

보안의 개념과 정의

IT에서 다루는 정보 보안은 "다양한 위협으로부터 보안을 보호하는 것"을 뜻한다.
다음의 3대 보안 정의를 보안의 필수 요소로 볼 수 있다.

  • 기밀성(Confidentiality) : 인가되지 않은 사용자가 정보를 보지 못하게 함
  • 무결성(Integrity) : 정확하고 완전한 정보 유지에 필요한 모든 작업
  • 가용성(Availability) : 정보가 필요할 때, 접근을 허락하는 일련의 작업

보안에서는 막거나 통제하는 것만이 아닌 가용성 유지가 중요하다.
정보를 온전하게 유지하더라도 그 정보를 사용할 수 없는 상황이라면 정보 보안에 실패한 것이다.

이 보안의 3대 요소 외에 추가로 진정성, 책임성, 부인 방지, 신뢰성 유지를 정보 보안 활동 중 하나로 정의하기도 한다.

네트워크의 정보 보안

정보 보안을 IT 종사자의 행동에 맞추어 보면 정보를 수집, 가공, 저장, 검색, 송수신하는 도중에 정보의 훼손, 변조, 유출을 막기 위한 관리적, 기술적 방법을 의미한다.
네트워크 입장에서의 정보 보안은 수집된 정보를 침해하는 행동을 기술적으로 방어하거나 정보의 송수진 과정에 생기는 사고를 막기 위한 작업이다.

정볼르 가진 시스템을 공격해 유출하거나 사용하지 못하게 하거나 서비스를 정상적으로 구동할 수 없게 만드는 행위를 네트워크에서 적절히 막는 것이 네트워크 보안의 1차 목표이다.
정보는 여러 가지 서비스를 제공하기 위해 한 자리에만 있는 것이 아니라 네트워크를 통해 복제, 이동되므로 그 유출을 막는 것이 2차 목표이다.

네트워크 보안의 주요 개념

네트워크 보안의 목표는 외부 네트워크로부터 내부 네트워크를 보호하는 것이다.
이때 외부로부터 보호받아야 할 네트워크를 트러스트 네트워크, 신뢰할 수 없는 네트워크를 언트러스트 네트워크로 구분한다.
여기서 우리가 운영하는 내부 네트워크이지만 신뢰할 수 없는 외부 사용자에게 개방해야 하는 서비스 네트워크인 경우, DMZ 네트워크라고 하며, 일반적으로 인터넷에 공개되는 서비스를 이 네트워크에 배치한다.

네트워크 보안 분야는 트래픽의 방향과 용도에 따라 두 가지로 구분한다.

  • 인터넷 시큐어 게이트웨이
    트러스트(또는 DMZ) 네트워크에서 언트러스트 네트워크로의 통신을 통제

  • 데이터 센터 시큐어 게이트웨이
    언트러스트 네트워크에서 트러스트(또는 DMZ)로의 통신을 통제

이 구분은 보안 장비 시장을 구분할 때도 사용되는데 상황에 따라 요구되는 성능과 기능이 다르기 때문이다.
인터넷으로 나갈 때는 인터넷에 수많은 서비스가 있으므로 그에 대한 정보와 요청 패킷을 적절히 인식하고 필터링하는 기능이 필요하다.
반면, 데이터 센터 게이트웨이는 상대적으로 고성능이 필요하고 외부의 직접적인 공격을 막아야 하므로 인터넷 관련 정보보다 공격 관련 정보가 더 중요하다.

인터넷 시큐어 게이트웨이의 경우 방화벽, SWG, 웹 필터, 애플리케이션 컨트롤, 샌드박스와 같은 다양한 서비스나 장비들이 포함된다.
이런 서비스와 보안 장비들은 내부 사용자가 인터넷으로 통신할 때 보안을 제공, 통제하기 위해 사용된다.

데이터 센터 시큐어 게이트웨이의 경우 방화벽, IPS, DCSG, WAF, Anti-DDoS 등의 장비가 이런 용도로 사용된다.

네트워크 보안 정책 수립에 따른 분류

네트워크 보안 정책 수립에 따라 네트워크 보안은 두 가지로 나뉜다.

  • 화이트리스트
    방어에 문제가 없다고 명확히 판단되는 통신만 허용하는 방식

화이트리스트는 인터넷 전체에 대한 리스트를 만들기 어려우므로 일반적으로 IP와 통신 정보에 대해 명확히 아는 경우에 많이 사용된다.

  • 블랙리스트
    방어는 공격이라고 명확히 판단되거나 문제가 있었던 IP 리스트나 패킷 리스트를 기반으로 데이터 베이스를 만들고 이 정보를 이용해 방어하는 방식

각종 패턴으로 공격을 방어하는 네트워크 장비(IPS, 안티바이러스, WAF)들은 일반적으로 블랙리스트 기반의 방어 기법을 제공한다.

정탐, 오탐, 미탐 (탐지 에러 타입)

IPS나 안티바이러스와 같은 네트워크 장비에서는 공격 데이터베이스에 따라 공격과 악성 코드를 구분해 방어한다.
공격 데이터베이스를 아무리 정교하게 만들더라도 공격으로 탐지하지 못하거나 공격이 아닌데도 공격으로 감지해 패킷을 드롭시킬 때가 있다.
블랙리스트 기반 데이터베이스를 이용한 방어는 이런 문제점이 있으므로 장비 도입 시 정교한 튜닝이 필요하다.

공격을 탐지할 때 원래 예상한 내용과 다른 결과가 나올 수 있다.
이런 경우를 오탐지, 미탐지로 구분하고 정상적으로 탐지한 경우를 정상 탐지로 표현한다.
예상했던 상황과 다른 탐지 결과를 4가지의 경우로 나타낼 수 있다.

공격 상황정상 상황
공격 인지정상 탐지오 탐지
정상 인지미 탐지정상 탐지

보안 솔루션의 종류

보안을 위한 다양한 솔루션이 출시되고있지만 대부분 기존에 없던 장비가 아닌 기존 보안 장비의 새로운 보안된 형태가 대부분이다.
그러므로 다양한 형태의 보안 솔루션을 알아두는 것이 필요하다.

DDoS 방어 장비

DDoS는 공격 목표 서비스에 부하를 가해 정상적인 서비스를 방해하는 공격 기법이다.

DDoS 장비는 데이터 센터 네트워크 내부와 외부의 경계에서 공격을 방어하는데 이것을 볼류메트릭 공격을 우선 막기 위함이다.
회선 사용량이나 그 이상의 트래픽을 과도하게 발생시켜 회선 사용을 방해하는 공격이므로 회선을 공급해주는 ISP나 네트워크 ISP와 연결되는 데이터 센터 네트워크의 가장 바깥쪽에 위치시켜 이 공격을 완화해야 한다.

방화벽

4계층에서 동작하는 패킷 필터링 장비이다.
3,4계층 정보를 기반으로 정책을 세울 수 있고 해당 정책과 매치되는 패킷이 방화벽을 통과하면 그 패킷을 허용하거나 거부할 수 있다.

일반적으로 방화벽은 DDoS 방어 장비 바로 뒤에 놓는 네트워크 보안 장비이다.
3,4계층에서 동작하므로 다른 보안 장비보다 비교적 간단하고 성능도 우수하다.
최근 출시되는 고성능 방화벽은 전용 칩을 이용해 가속하므로 대용량을 요구하는 데이터 센터에서도 문제 없다.

IDS, IPS

IDS(Intrusion Detection System: 침입 탐지 시스템)과
IPS(Intrusion Prevention System: 침입 방지 시스템)은 방화벽에서 방어할 수 없는 다양한 애플리케이션 공격을 방어하는 장비이다.
기존에는 IDS와 IPS를 구분했지만 최근은 IPS로 통칭한다.

IPS는 사전에 공격 데이터베이스를 제조사나 위협 인텔리전스 업체로부터 받는다.
이후 장비에 인입된 패킷이 보유한 공격 데이터베이스에 해당되는 공격일 때, 차단하거나 모니터링한 후 관리자에게 알람을 보낸다.

기존에는 공격인 것만 골라 방어하는 블랙리스트 기반의 방어 방식만 제공했지만 프로파일링 기반의 방어 기법이 IPS 장비에 적용되고 애플리케이션을 골라 방어할 수 있는 기능이 추가되면서 화이트리스트 기반의 방어 기법도 적용할 수 있게 되었다.

WAF(Web Application Firewall)

웹 서버를 보호하는 전용 보안 장비로 HTTP, HTTPS처럼 웹 서버에서 동작하는 웹 프로토콜의 공격을 방어한다.

IPS 장비보다 범용성은 떨어지지만 웹 프로토콜에 대해서는 더 세밀하게 방어할 수 있다.
WAF는 전용 네트워크 장비, 웹 서버의 플러그인, ADC 플러그인, 프록시 장비 플러그인의 장비나 소프트웨어 형태로 제공된다.

WAF는 프록시 서버와 같이 패킷을 데이터 형태로 조합해 처리한다. 그래서 회피 공격을 쉽게 만들기 어렵고 데이터의 일부를 수정, 추가하는 기능을 수행할 수 있다.

샌드박스

해커들이 보안 장비들을 우회하기 위해 기존과 다른 방향의 공격들을 개발하게 되었다.
원하는 서버에 직접 접근하지 않고 관리자 PC에 악성 코드를 심는 방식으로 변하기 시작했다.
기존 방화벽에서는 내부 사용자가 외부 서버로 통신을 정상적으로 시도한 것으로 보이므로 이 공격을 검출하거나 방어할 수 없다.

샌드박스는 이런 APT, ATA 공격을 막기위해 악성 코드를 샌드박스 시스템에서 직접 실행시켜 행동을 모니터링해 파일들의 악성 코드 여부를 판별한다.

NAC(Network Access Control)

NAC는 네트워크에 접속하는 장치들을 제어하기 위해 개발되었다.
네트워크에 접속할 때 인가된 사용자만 내부망에 접속할 수 있고,
인가받기 전이나 승인에 실패한 사용자는 접속할 수 없도록 제어하는 기술이다.
내부 PC를 잘 관리하더라도 외부 PC가 내부망에 접속하여 일어나는 문제를 해결하기 위해 개발 되었다.

IP 제어

IP 제어 솔루션은 겉으로 보면 NAC 솔루션과 비슷해보이지만, IP 제어 솔루션은 국내에서 개발된 기술로 보안사고 추적이 쉽도록 고정 IP 사용 권고 지침이 금융권에 내려오면서 이를 관리하기 위해 만들어진 기술이다.

접근 통제

운영자가 서버, 데이터베이스, 네트워크 장비에 직접 접근해 관리하면 각 시스템에서 사용자에 대한 권한을 관리해야 하는데 문제가 발생했을 때, 관리자가 작업 내용을 추적하고 감사하기 어렵다.
이 문제를 해결하기 위해 서버나 데이터베이스에 대한 직접적인 접근을 막고 작업 추적 및 감사를 할 수 있는 접근 통제 솔루션이 개발되었다.

접근 통제 솔루션도 여러가지가 있지만 대부분 베스천 호스트(Bastion Host)기반으로 구현된다.

서버 접근을 위한 모든 통신을 배스천 호스트를 통해서만 가능하다.
서버의 호스트의 방화벽에 배스천 호스트에서 출발한 통신만 허용하고 다른 통신은 모두 방어한다.
이 기법을 발전시킨 것이 대부분의 접근 통제/감사 솔루션이다.

VPN

사용자 기반의 VPN 서비스를 제공해 주는것을 VPN 장비라고 한다.
현재는 대부분의 방화벽이나 라우터 장비에 VPN 기능이 포함되있다.

방화벽

네트워크 보안은 호스트에서 수행하는 보안과 달리 많은 호스트를 한꺼번에 관리하고 보호할 수 있는 반면, 많은 트래픽을 감당해야 하므로 속도를 유지하면서 보안을 제공할 수 있어야 한다.

방화벽은 네트워크 보안 장비 중 가장 유명하고 대중적인 필수 장비이다.

네트워크 중간에 위치해 해당 장비를 통과하는 트래픽을 사전에 주어진 정책 조건에 맞추어 허용하거나 차단하는 장비가 방화벽이다.

초기 방화벽

방화벽은 상태 기반 엔진(SPI)을 가지고 있어야 한다.
하지만 초기 방화벽에서는 패킷의 인과 관계를 확인하지 못하고 장비에 등록된 정책만으로 단순히 패킷을 필터링했다.

패킷의 세션 정보나 방향성을 신경쓰지 않고 설정된 정책에 따라 동작하므로 이런 초기 방화벽을 스테이트리스, 패킷 필터 방화벽이라고 한다.
이와 같은 패킷 필터링 방화벽은 지정된 구간에서 간단한 정책을 정의할 때는 큰 문제가 없지만 인터넷 통신과 같이 불특정 다수 기반의 정책을 정의할 때는 룰셋이 복잡해지고 보안이 약화되는 문제가 있다.
또한, 패킷 단위의 필터링이므로 3,4 계층 헤더를 변조해 공격하면 적절한 방어가 불가능하다.
하지만 패킷 필터링 자체가 다른 방화벽 엔진들보다 부하가 적고 간단히 동작해서 완전 없어지지는 않고 일부 방화벽에 남겨 놓았다.

현대적 방화벽(SPI 엔진)

기존 패킷 필터 방화벽이 패킷의 상태값 없이 순수하게 정책으로만 제어하던 한계를 극복하기 위해 개발된 것이 상태 기반 방화벽이다.
현재 우리가 방화벽이라고 부르는 모든 장비는 세션 기반으로 동작하는 상태 기반 엔진을 탑재하고 있다.

패킷 필터는 가볍고 빠르지만 인터넷과 같이 불특정 다수와 통신할 때는 정책 관리가 매우 힘들어서, 패킷의 상태를 인지해 패킷의 인과 관계를 파악할 수 있는 상태 기반 SPI 엔진이 나오게 되었다.

SPI 엔진은 패킷의 인과 관계와 방향성을 인지해 정책을 적용할 수 있어 네부 네트워크에서 인터넷으로 통신할 때 유용하게 사용된다.

방화벽 동작 방식

방화벽이 패킷을 처리하는 순서를 간단히 표현하면 아래와 같다.

  1. 장비에 패킷이 들어오면 우선 세션 상태 테이블을 확인한다.
  2. 조건에 맞는 세션 정보가 세션 테이블에 있을 때, 포워딩 테이블을 확인한다(라우팅, ARP 포함).
  3. 조건에 맞는 세션 정보가 세션 테이블에 없을 때, 방화벽 정책을 확인한다.
  4. 방화벽 정책은 맨 위의 정책부터 확인해 최종 정책까지 확인한 후 없을 때 암시적인 거부 규칙을 참고해 차단된다.
  5. 허용 규칙이 있으면 내용을 세션 테이블에 적어 넣는다.
  6. 포워딩 테이블을 확인한다(라우팅, ARP 포함).
  7. 조건에 맞는 정보가 포워딩 테이블에 있을 때, 적절한 인터페이스로 패킷을 포워딩한다.
  8. 조건에 맞는 정보가 포워딩 테이블에 없을 때, 패킷을 폐기한다.

SPI 엔진을 가진 방화벽은 세션 인지 기능이 있어 3,4 계층의 세부적인 필드도 확인해 TCP 컨트롤 플래그에 따라 동작이 변하거나 시퀀스와 ACK 번호가 갑자기 변경되는 것을 인지한다.
또 세션을 추가로 인지하고 세션 테이블에 저장하므로 세션을 로깅하기 쉽다.
이를 통해 보안사고 시 세션 로그를 기반으로 어떤 통신에 문제가 있었는지 판단할 수 있다.

방화벽의 한계

방화벽이 많은 곳에서 사용되자 기존 공격 방식으로는 해킹이 어려워져 다양한 공격 방식이 생겨났다.
공격 목표가 시스템이나 계정 탈취에서 서비스 중단 쪽으로 바뀌고 대규모 웜 공격을 통한 인터넷 서비스 마비가 되면서 방화벽의 한계가 드러났다.

근본적으로 바이러스를 감지하거나 백도어나 인터넷 웜을 방어할 수는 없다.
또, 알려진 취약점을 이용한 다양한 공격도 방어할 수 없다.
취약점은 대부분 애플리케이션이나 애플리케이션 프로토콜에서 보유하므로 애플리케이션 영역을 검사하지 못하는 방화벽으로서는 대응이 불가능했다.

IPS, IDS

방화벽은 네트워크 보안을 기본적으로 구축되어야 하지만 3,4계층의 방어만 가능하다.
애플리케이션 계층에서 이루어지는 공격을 탐지, 방어하기 위해 IDS, IPS가 개발되었다.

IPS, IDS의 정의

IDS는 공격자가 시스템을 해킹할 때 탐지를 목적으로 개발된 시스템이다.
방어보다 탐지에 초점을 맞추어 개발되어 트래픽을 복제해 검토하고 침입 여부를 판별한다.

IPS는 공격이 발견되면 직접 차단하는 능력을 갖춘 장비이다.
트래픽을 복제해 검토만 하는 것이 아니라 트래픽이 지나가는 인라인 상에 장비를 배치한다.
IDS와 IPS는 적극적으로 통신에 개입해 유해 트래픽을 차단, 방어하는 것 외에도 회피 공격을 차단하기 위한 세션 이해 가능 여부, 능동적 방어를 위한 어노말리 등 다양한 기능으로 구분한다.

IPS는 호스트 기반과 네트워크 기반이 있지만, 일반적으로 IPS라고 부르는 시스템은 네트워크 기반이 대부분이다.
클라우드 네트워크의 여러 가지 제약사항 때문에 클라우드 내부 네트워크에서 NIPS의 배포가 어려워 HIPS 사용 빈도가 늘어나는 추세이다.
하지만 서비스와 리소스 공유, 장애 발생 시 장애 주체 파악이 어려워 클라우드 내부에서도 네트워크 기반 NIPS로 바뀌는 추세이다.

IPS, IDS의 동작 방식

기본적으로 IPS는 공격 데이터베이스를 사용한 패턴 매칭 방식을 기본으로 하지만, 프로토콜 어노말리, 프로파일 어노말리 등의 방식도 존재한다.

패턴 매칭 방식

기존 공격이나 취약점을 통해 공격 방식의 데이터베이스를 습득하고 최신 내용을 유지하다가 공격을 파악하는 기술을 패턴 방식, 시그니처 방식, 데이터베이스 방식 방어라 한다.
이런 기능이 IPS 기능의 상당 부분을 차지하므로 IPS는 많은 공격 데이터 베이스를 보유해야 하고 최신 공격 방식을 공격 데이터베이스에 최대한 신속히 반영하는 것이 매우 중요하다.

어노말리 공격 방어

패턴 매칭 기반의 방어가 유효하려면 들어오는 공격에 대한 패턴이 확보되있어야 한다.
패턴 기반은 극미한 변화만 있어도 유효한 대응이 힘들었고 웜 공격 변종을 적절하게 막기 힘들었다.
이러한 한계로 인해 IPS에서도 화이트리스트 기반의 방어 기법이 개발된 것이 어노말리이다.
어노말리 기법은 분명한 공격으로 파악되지 않아도 특정 기준 이상의 행위를 이상하다고 판단하고 방어한다.

프로파일 어노말리

평소 관리자가 정해놓은 기준이나 IPS 장비가 모니터링해 정해진 기준과 다른 행위가 일어나면 공격으로 판단한다.
웜이 감염되면 다른 타킷으로 다량의 트래픽을 발생시켜 감염시키는 행위를 반복하므로 이런 형태의 공격을 방어하는 데 효과가 있었다.
이 기능은 동적 프로파일 기능이 강화되면서 향후 DDoS 방어 장비로 진화했다.

프로토콜 어노말리

SPI 방화벽과 NAT 기능이 대중화되면서 해커가 직접 일반 사용자의 PC를 공격하기 힘들어졌다.
그래서 피싱등을 통한 악성 코드 감염을 통한 좀비 PC 방식이 등장하였다.

이런 공격을 방어하기 위해 프로토콜 어노말리를 사용하는 IPS를 사용한다.
감염된 내부 PC가 외부와 공격을 위한 통신을 할 때 잘 알려진 포트와 다른 프로토콜로 통신 하는 경우가 많아 이를 제어하는 기술이다.

IPS의 한계와 극복

IPS도 네트워크 보안의 필수 장비가 되었지만 근본적인 문제가 있다.
IPS는 오탐이 많이 발생하므로 초기에 설치된 환경에 맞게 튜닝 작업을 오래 해주어야한다.
별도의 관제 인력이 장비를 모니터링하고 환경에 맞는 최적화 작업을 지속적으로 수행해주어야 한다.

최근 기존의 IPS의 기능을 향상시켜 문제점을 해결한 NGIPS 개념의 장비가 출시되었다.
애플리케이션을 인지하거나 다양한 시스템과 연동할 수 있고 특히 APT 공격을 방어하기 위한 일부 기능이 탑재되어 있거나 다양한 외부 시스템과 연동할 수 있는 장비들이 많이 나오고 있다.

profile
I am me

0개의 댓글