고재성, 이상훈님의 책을 보며 정리한 내용입니다.
문제가 될 시 해당글 삭제하겠습니다.
보안의 개념과 정의
정보 보안의 정의
- IT 에서 다루는 보안 : 다양한 위협으로부터 보안을 보호하는 것
- 3대 보안 정의(보안의 필수요소)
- 기밀성
- 인가되지 않은 사용자에게 정보를 보지 못하도록 하는 것
- 무결성
- 정확하고 완전한 정보 유지에 필요한 모든 작업
- 누군가 정보를 고의로 회손 했을 때, 그것을 파악해 정보가 전달되거나 유지되지 못하도록 하는 것
- 가용성(권한!)
- 정보가 필요할 때 접근을 허락하는 일련의 작업
- 우리가 유지하는 정보에 대해서 온전한 상태를 유지하는 것이 정보 보안인데, 어떤 이유에서라도 인가 된 사용자가 정보를 사용할 수 없는 상황이라면 정보 보안에 실패한 것.
- 기밀성
네트워크 정보 보안
- 정보를 침해하는 행동을 기술적으로 방어 작업(1차 목표)
- 송수신 과정에서 생기는 사고를 막기 위한 작업(2차 목표) → 패킷 노출 등 ..
네트워크 보안의 주요 개념
- 네트워크 보안의 목표는 외부 네트워크로부터 내부 네트워크를 보호하는 것.
- 기본적인 네트워크 보안 개념
- Trust Network : 신뢰할 수 있는 네트워크
- UnTrust Network : 신뢰할 수 없는 네트워크
- DMZ(DeMilitarized Zone) : 우리가 운영하는 내부 네트워크이지만 신뢰할 수 없는 사용자에게 공개해야 하는 네트워크
→ 트러스트 네트워크와 언트러스트 네트워크의 중간 지점!
- 트래픽의 방향과 용도에 따른 분류
- 인터넷 시큐어 게이트웨이(Internet Secure GateWay)
: 트러스트 or DMZ 네트워크에서 언트러스트 네트워크로의 통신을 통제 (1:다)
- 인터넷에 수 많은 서비스가 있으므로 그에 대한 정보와 요청 패킷을 적절히 인식하고 필터링하는 기술이 필요하다.
- 내부 사용자가 인터넷으로 통신할 때 보안을 제공, 통제하기 위해 사용
- 데이터 센터 시큐어 게이트웨이(Data Center Secure Gateway)
: 언트러스트 네트워크에서 트러스트 or DMZ 네트워크로의 통신을 통제 (다:1)
- 상대적으로 고성능이 필요하고, 외부의 직접적인 공격을 막아야 하기 때문에, 인터넷 관련 정보보다 공격 관련 정보가 더 중요하다.
- 외부 사용자 용 서비스를 만들어 외부에 공개할 때 필요한 보안 장비이다.
- 인터넷 시큐어 게이트웨이(Internet Secure GateWay)
네트워크 보안 정책 수립에 따른 분류
- 네트워크 보안 정책 수립에 따른 분류
- 화이트리스트 : 방어에 문제가 없다고 명확히 판단되는 통신만 허용하는 방식
- 블랙리스트 : 공격이라고 명확히 판단되거나, 문제가 있었던 IP 리스트나 패킷 리스트 기반으로 데이터베이스를 만들고 그 정보를 이용해 방어하는 방식
- 대부분의 네트워크 장비는 화이트리스트, 블랙리스트 모두 사용할 수 있다.
- 최근 보안 위협이 증가하며 화이트리스트 기반 정책이 많이 사용되고 있다.
→ 하지만 통신 정보를 상세히 알아야 하고, 세부적인 통제가 필요하기에 인력이 많이 들어간다.
네트워크 정보 보안의 발전 추세와 고려 사항
- 네트워크 보안 장비는 외부와 내부로 나뉜다.
- 외부 : 인프라스트럭처, 서비스 등의 대변화로 인해 보안이 발전해야 하는 경우
- 내부 : 해킹 기술 발전에 대응하다 보니, 새로운 보안 장비와 서비스가 개발되어 발전하는 경우
- 네트워크 보안 장비와 서비스를 이해하기 위해서 인프라스트럭처의 변화, 해킹 기법의 발전 모두 이해해야 한다.
⇒ 발전 추세와 트랜드를 모두 알아야 발전하는 해킹 기법에 발맞춰 보안을 강화할 수 있다!
방화벽
방화벽의 정의
- 방화벽 : 네트워크 중간에 위치에 해당 장비를 통과하는 트래픽을 사전에 주어진 정책 조건에 맞추어 허용하거나 차단하는 장비
- 네트워크에서 보안을 제공하는 장비를 넓은 의미에서 방화벽으로 볼 수 있지만,
- 너무 많은 장비가 있고, 범주가 너무 넓다.
- 일반적으로 방화벽은 네트워크 3,4 계층에서 동작하며 세션을 인지하는 상태 기반 엔진(SPI) 으로 동작.
초기 방화벽
- 방화벽은 상태 기반 엔진(SPI) 을 가지고 있어야 한다. (하지만 초기부터 있었던 건 아니다)
- 초기 방화벽에는 패킷의 인과 관계를 인지하지 못하고, 장비에 등록된 정책만으로 단순히 패킷을 필터링 했다.
→ 이런 초기 방화벽을 스테이트리스(Stateless), 패킷 필터(Packet Filter) 방화벽이라 불렀다. - 패킷이 장비에 들어오면, 해당 패킷이 방화벽에 설정된 정책과 일치하는 것이 있는지 확인한다.
→ 이때 참고하는 조건을 5-Tuple 이라고 한다.
→ 5-Touple 은 Source IP, Destination IP, Protocol No, Source Port, Destination Port 5가지 주요필드를 뜻한다.
(IP, Protocol, Port) - 단점
- 이러한 방식은 지정된 구간에서 단순한 정책을 정의할 때는 문제가 없지만, 인터넷 통신같이 불특정 다수 기반의 정책의 정의할 때는 룰셋이 복잡해지고 보안이 약화되는 문제점이 있다.
- 통신은 대부분 양방향으로 이루어지는데 패킷 필터 엔진은 이런 양방향성을 인지하지 못하고 단순히 패킷이 정책에 맞는지 만 확인한다.
- 또한, 패킷 단위의 필터링이기에 5-Tuple 외의 3,4 계층 헤더를 변조해 공격하면 적절한 방어가 불가능하다.
- 장점
- 다른 세대의 방화벽 엔진들보다 부하가 적고 간단히 동작한다. 이러한 장점 때문에, 네트워크 장비에서 사용되거나 현대적인 일부 방화벽에서 특수한 기능을 위해 남겨 놓는다.
현대 방화벽
- 기존 패킷 필터 방화벽이 상태 값 없이 순수한 정책만으로 제어하던 한계를 극복하기 위해!! 개발된 것이
상태 기반 방화벽(Stateful Inspection Firewall) 이다. - 현재 우리가 ‘방화벽’이라고 부르는 모든 장비는 세션 기반으로 동작하는 상태 기반(SPI) 엔진을 탑재하고 있다.
- 내부 사용자가 외부 특정 웹페이지에 접속할 때 3 Way Handshake 를 거친 후 HTTP 요청과 응답을 거치게 되는데, 패킷 필터 방화벽에서 이런 트래픽을 처리하기 위해서는 방화벽 입장에서 모든 도착지 IP 를 열어놔야 하고, 웹사이트 입장에서 목적지 서비스 포트를 모두 열어 놔야 한다. (내부에서 외부 호출 시 랜덤 포트를 지정하기 때문,,)
- 하지만 이런 정책은 보안상 매우 취약하다;;
→ 때문에, 패킷 상태를 인지해 패킷의 인과관계를 파악할 수 있는 상태 기반 SPI 엔진이 나오게 되었다.
방화벽 동작 방식
- 방화벽이 패킷을 처리하는 순서
- 장비에 패킷이 들어오면 우선 세션 상태 테이블을 확인한다.
- 조건에 맞는 세션 정보가 테이블에 있을 때 포워딩 테이블(라우팅, ARP 포함) 을 확인한다.
- 조건에 맞는 세션 정보가 세션 테이블에 없을 때, 방화벽 정책을 확인한다.
- 방화벽 정책은 맨 위의 정책부터 확인해 최종 정책까지 확인 후 없을 때 암시적인 거부 규칙을 참고해 차단된다.
- 허용 규칙이 있으면 내용을 세션 테이블에 적어 넣는다.
- 포워딩 테이블을 확인한다.
- 조건에 맞는 정보가 포워딩 테이블에 있을 때, 적절한 인터페이스로 패킷을 포워딩한다.
- 조건에 맞는 정보가 포워딩 테이블에 없을 때, 패킷을 폐기한다.
- SPI 엔진을 가진 방화벽은 세션 인지 기능이 있어 단순히 5-tuple condition 만 확인하는 것이 아니라, OSI 3,4 계층의 세부적인 필드도 함께 확인한다.
- 세션을 추가로 인지하고, 세션 테이블에 저장하므로 세션을 로깅하기가 쉽다.
→ 대부분의 방화벽은 통신 전체의 세션을 로그로 저장할 수 있다.
→ 보안 사고 시 이런 세션 로그를 기반으로 어떤 통신에 문제가 있는지 확인할 수 있다.
방화벽의 한계
→ 공격, 방어 기술이 계속적으로 발전된다.
- 상태 기반 방화벽 개발로 인해 많은 공격을 쉽게 방어할 수 있게 되었다.
→ 전문적인 지식으로 한정된 네트워크에서만 힘들게 유지해온 패킷 기반 방화벽과 달리 매우 간단한 정책만으로 방화벽을 유지할 수 있게 되었다. - 이를 공격하기 위한 해킹 방법도 발전되어 왔는데, 공격 목표가 계정 탈취에서 서비스 중단 쪽으로 바뀌고, DDoS 공격이 새로운 트렌드가 되었다.
- 이후 취약점은 대부분 애플리케이션이나 애플리케이션 프로토콜에서 보유하고 있어서 애플리케이션 영역을 검사하지 못하는 방화벽으로써는 대응이 불가 했다.
- 이런 취약점을 해결하기 위해 등장한 보안 장비가 IPS 이다.
IPS(Intrusion Prevention System),
IDS(Intrusion Detection System)
- 방화벽은 네트워크 보안을 위해 기본적으로 구축해야 하는 필수 솔루션 이지만, 3,4 계층 방어만 가능하기에 애플리케이션 계층 방어는 할 수 없다.
- 이러한 애플리케이션 계층 공격을 탐지 방어하기 위한 IPS, IDS 가 개발되었다.
IPS, IDS 정의
- IDS : 침입 탐지 시스템
→ 공격자가 시스템을 해킹할 때 탐지 목적으로 개발된 시스템
→ 방어보다 탐지에 목적이 있다. - IPS : 침입 방지 시스템
→ 공격이 발견되면 직접 차단하는 능력을 갖춘 장비이다.
→ 트래픽이 지나가는 인라인 상에 장비를 배치해 이상 트래픽을 차단한다.
IPS, IDS 동작 방식
패턴 매치 방식
- 기존 공격이나 취약점을 통해 공격 방식에 대한 데이터베이스를 습득하고 그 최신 내용을 유지하다가 공격을 파악하는 기술.
- 이런 패턴 매치 방식이 IPS 에 대부분을 차지하기 때문에, IPS 는 많은 공격 데이터베이스를 보유해야 하고 최신 공격 방식을 공격 데이터베이스에 신속하게 반영하는 것이 중요하다.
어노말리 공격 방어
- 패턴 매칭 기반 방어가 유효하려면 실제로 공격이 들어오기 전에 해당 공격에 대한 패턴 디비가 확보되어 있어야 한다.
- 하지만, 이 방식은 극미한 변화만 생겨도 대처가 어려웠고, 인터넷상으로 빠르게 퍼져나가는 공격 턴을 적절한 타이밍에 막아내기가 어려웠다.
- 초기 공격이 인터넷에 퍼져가는 시간이 한달이었다면, 알고리즘의 발전으로 4시간이면 인터넷에 퍼지게 되었다.
- 이를 해결하기 위한 방법이 어노말리 방법으로, 분명한 공격으로 판단되지 않아도 특정 기준 이상의 행위를 이상하다고 판단하고 방어하게 된다.
- 어노말리 방법은 두가지로 나뉜다.
- 프로파일 어노말리
- 프로파일 어노말리는 관리자가 정해 놓은 기준과 다른 행위가 일어나면 공격으로 판단한다.
- 평소와 다른 행위에 초점을 맞춘다.
- 프로토콜 어노말리
- SPI 방화벽과 NAT 기능이 대중화되면서, 해커가 직접 일반 사용자의 PC 를 쉽게 공격할 수 없게 되었다.
- 이를 해결하기 위해 해커들은 웹서버나 이메일에 악성 코드를 올려놓고 내부 사용자가 악성 코드를 사용하게 유도해 좀비 PC 를 만들었다.
→ 이 때 좀비 PC 는 정상적인 서비스 요청으로 보여 일반 방화벽에서는 탐지가 어렵다. - 이때 프로토콜 어노말리 기법의 IPS 가 사용된다.
- 실제 해당 서비스 포트에서 동작하는 프로토콜이 아닌 다른 프로토콜을 사용하는 경우가 흔한데, 이를 인지해 적절히 패킷을 제어하는 기법을 프로토콜 어노말리 기법이라 한다.
- 프로파일 어노말리
IPS, IDS 한계와 극복(NGIPS)
- IPS 는 근본적인 문제가 있는데, 네트워크 상에서 빠른 속도로 애플리케이션 레벨까지 확인하기 위해서 플로우 엔진을 사용해야 한다.
- 플로 엔진은 패킷을 모아 데이터 형태로 변환해 검사하는 것이 아닌, 패킷이 흘러가는 상황을 모니터링 해 공격을 탐지함으로 IPS 장비를 비교적 쉽게 우회할 수 있다.
- IPS 는 오탐이 많이 발생하므로 초기에 설치된 환경에 맞는 튜닝 작업을 오래 해주어야 하고 별도의 관제 인력과 장비를 모니터링하고 환경에 맞는 최적화 작업을 지속적으로 수행해야 한다는 문제점을 가지고 있다…
- 최근 기존 IPS 기능을 향상 시켜 해당 문제를 해결한 NGIPS 개념의 장비가 출시되었다.
DDoS 방어 장비
- 기존 공격은 직접 공격해 관리자 권한을 탈취하는데 초점이 맞추어져 있었다면, 방화벽 대중화 이후 공격은 정상적인 서비스가 불가능하도록 방해하는 데 초점이 맞추어져 있다.
→ 이 공격 방식은 DoS(Denial of Service) 공격이라고 한다. - 하지만 해커 단독으로 하나의 서비스를 불가능하게 만드는데는 제한이 많기 때문에, 다수의 공격자를 만들어 동시에 DoS 공격을 하는 분산형 DDoS 공격 방식으로 발전했다.
→ 이 공격 방식을 대처하기 위해서 DDoS 방어 장비가 발전했다.
DDoS 방어 장비 동작 방식
- DDoS 공격을 탐지해 공격을 수행하는 IP 리스트를 넘겨주면 방어 장비나 ISP(Internet Service Provider) 내부에서 이 IP 를 버리는 것이 가장 흔한 DDoS 방어 기법이다.
- DDoS 방어 장비의 주요 차단 방법인 프로파일링 기법
- 평소 데이터 흐름을 습득해 일반적인 대역폭, 세션량, 초기 접속량, 프로토콜별 사용량 등을 저장한다.
- 습득한 데이터와 일치하지 않는 과도한 트래픽이 발생한다면 알려주고 차단한다.
- 습득한 데이터는 다양한 날짜와 다양한 요소를 모니터링 한다.
- 보안 데이터베이스 기반으로 방어하는 것
- IP 평판 데이터베이스를 공유해 DDoS 공격으로 사용된 IP 기반으로 방어 여부를 결정하거나 특정 공격 패턴을 방어하는 방법
볼류메트릭 공격
→ 가장 빈번한 DDoS 공격 타입
- 볼류메트릭 공격은 회선 사용량이나 그 이상의 트래픽을 과도하게 발생시켜 해당 회선을 사용하지 못하도록 방해하는 공격이다.
- DDoS 장비는 회선을 공급해주는 ISP 내부나 사용자 네트워크 최상단에 위치시켜서 이 공격을 완화시켜야한다.
- 혼자 방어할 수 없는 공격도 많으므로 회선을 공급하는 ISP 와 공조해 방어할 필요가 있다.
좀비 PC 를 이용한 볼류메트릭 공격
- 볼류메트릭 공격은 특정 시간, 특정 타깃을 공격하는 형태로 발생한다.
→ 해당 공격을 위해서 미리 악성 코드에 감염되어 해커가 컨트롤 할 수 있는 좀비 PC 를 많이 확보해야 한다. - 이런 볼류메트릭을 방어할 수 있는 DDoS 장비를 보유하는 것도 중요하지만, 혼자서는 대부분 관리가 불가능하다.
→ ISP 를 통한 방어나, Cloud DDoS 솔루션( 최근 트랜드 ! )을 통해 서비스 네트워크로 트래픽이 직접 도달하지 못하도록 조치해야 한다.
VPN(Virtual Private Network)
- 물리적으로 전용선이 아닌 공중망을 이용해 논리적으로 전용망처럼 망을 구성하는 기술이다.
→ 전용선에 비해서 비용절감!
→ 논리적으로 직접 연결된 것 같은 통로를 터널(Tunnel) 이라고 하며 VPN 을 이용하면 터널을 이용해 직접 연결한 것처럼 동작한다. - VPN 은 인터넷과 같은 공중망을 전용선과 같은 사설망처럼 사용하기 위해 도입하므로 강력한 보안을 제공해야 한다!
VPN 동작 방식
- VPN 은 가상 네트워크를 만들어주는 장비로 터널링 기법을 사용한다.
→ 터널링 기법 : 패킷을 터널링 프로토콜로 감싸 통신하는 기법. - 일반적으로 VPN 이라 부르는 프로토콜은 터널링에 보안을 위한 다양한 기술이 포함되어 있다.
→ VPN 프로토콜 = 터널링 프로토콜 + 보안기술
→ 패킷을 암호화, 인증, 무결성 체크하는 보안 기능을 이용해 인터넷이 노출되어도 해커나 기관이 감청하지 못하도록 보호할 수 있다. (IPSEC, SSL) - VPN 구현 3가지 방식
- Host to Host 방식
- 두 호스트 간 직접 VPN 터널을 연동하는 기법
- Network to Network 방식
- 가장 일반적인 방법
- 두 종단 네트워크를 연결하는 방법으로 IPSEC 프로토콜 스택이 가장 많이 사용됨.
- Host 가 Network 로 접근할 때 보호
- 모바일 사용자가 일반 인터넷망을 통해 사내망으로 연결하는 경우이며, IPSEC 과 SSL 프로토콜이 범용적으로 사용된다.
- Host to Host 방식
'CS > 네트워크' 카테고리의 다른 글
[IT 엔지니어를 위한 네트워크 입문] Chapter12. 로드 밸런서 (0) | 2023.01.10 |
---|---|
[IT 엔지니어를 위한 네트워크 입문] Chapter11. 이중화 기술 (0) | 2023.01.10 |
[IT 엔지니어를 위한 네트워크 입문] Chapter7. 통신을 도와주는 네트워크 기술 (0) | 2023.01.10 |
[IT 엔지니어를 위한 네트워크 입문] Chapter6. 로드 밸런서 / 방화벽 : 4계층 장비(세션 장) (0) | 2023.01.10 |
[IT 엔지니어를 위한 네트워크 입문] Chapter5. 라우터 / L3 스위치 : 3계층 장비 (0) | 2023.01.10 |