네트워크 보안 이란?

박병관·2022년 2월 17일
0

우아한Tech

목록 보기
11/17
post-thumbnail

순서
1. 보호
2. 공격종류
3. Internet Layer의 보안
4. Transport Layer의 보안
5. Application Layer의 보안

유튜브 [10분 테코톡] 🐢터틀의 네트워크 보안 의 내용

보호한다는 말?

보호한다는 것은 소중한 무언가를 외부의 위협으로부터 막는다는 것을 의미한다

요기서 대상은 사람, 사물, 돈 이 될 수 있다
이처럼 보호할 대상을 자산이라고 표현한다

즉 보안은 자산을 지키는 행위이다

그렇다면 네트워크에서 자산은 무엇일까?

네트워크상에서 전송되는 데이터가 될 수 있다

외부에서 어떻게 공격해 올까?

스니핑(Sniffing)

내 개인정보를 다른 사람에게 전송하는 상황을 생각해보면, 개인정보가 전송되던 중 해커가 등장하고, 해커가 그 정보를 훔처본다

이렇게 네트워크 패킷을 훔쳐보며 정보를 수집하는 공격을 스니핑(Sniffing) 이라 한다

스푸핑(Spoofing)

또 내 개인정보를 다른 사람에게 전송하는 상황을 생각해보면, 개인정보가 전송되던 중 해커가 등장하고, 해커는 내 개인정보를 바꿔버린다

이렇게 되면 나는 정보를 보냈는데 상대는 정보를 받지 못하는 상황이 발생하고 이러한 것을 스푸핑(Spoofing) 이라 한다

도스(Denial Of Service)

또 다시 내 개인정보를 전송하는 상황에, 또 해커가 등장하고, 수신하는 쪽에 악의적인 요청을 계속 보내 서버를 터트린다

이렇게 공격 대상의 자원을 소모시켜 정상적인 서비스를 못하도록 방해하는 행위를 Dos(Denial of Service) 라고 한다

+디도스(Distribute Denial of Service)

수백만 대의 PC를 원격 조종해 특정 웹사이트에 동시에 접속시켜 단시간 내에 과부화를 일으키는 행위이다
DDos(Distrubute Denial of Service)는 단순히 서버를 마비시키는 것이 목적이다

이런 디도스 공격은 지속적 서비스 운영이 필요한 쇼핑몰, 은행 등은 서버가 몇 시간만 마비돼도 치명적인 피해를 입을 수 있고, 디도스 공격의 특성상 초기 진원지를 추척하기 어려워 재발 가능성이 있다

도스와 디도스의 차이를 간단하게 보자면
도스는 공격자가 희생자를 공격하는 방식이라 생각하면, 디도스는 공격자가 여러 대의 PC를 감염시켜 좀비 PC로 만들고 좀비 PC들을 통해 희생자를 공격하는 차이가 있다

대표적인 공격을 살펴보면

스니핑, 스푸핑, 도스공격은 대표적인 네트워크 공격이다
이런 공격들은 취약한 부분이 있어서 발생한다

취약점이 무었일까?

스니핑의 문제점

인증되지 않은 사람이 정보를 볼 수 있다는 문제점이 있다
기밀성이 지켜지지 않았다

스푸핑의 문제점

정보가 변경되어 전달된다는 문제점이 있다
무결성이 지켜지지 않았다

도스의 문제점

상요자가 필요할 때 정보를 받을 수 없다는 문제점이 있다
가용성이 없었다

이 3가지는 보안의 3대 요소가 된다

즉 대표적인 공격들을 방어하기 위해선 보안의 3대 요소는 보장되어야 한다

네트워크 보안

그러면 위의 3대요소를 네트워크에서는 어떻게 유지하고 있는지 알아보자

네트워크는 여러 계층으로 이루어져 있고, 각각의 역할을 나누어 처리한다

네트워크 보안에서 더 중요한 레이어인 위의 3계 계층(Application, Transport, Internet)에 대해서만 다룬다

Internet Layer

Internet레이어 에서는 IPsec이라는 보안 프로토콜을 사요해 보안을 유지한다

IPsec은 두 가지 프로토콜(AH, ESP)을 포함한다

AH(Authentication Header)

일반적인 형태의 IP패킷에서 페이로드 앞에 AH라는 인증 헤더를 붙여 무결성을 보장한다

ESP(Encapsulation Security Protocol)

AH와 마찬가지로 일반적인 형태의 IP패킷에서 ESP관련 패킷이 붙는다
AH보다 많이 붙고, 더 나은 보안(AH + 암호화)을 제공해 무결성과 기밀성을 보장한다

Transport Layer

Internet레이어 에서는 TLS(Transport Layer Security)이라는 보안 프로토콜을 사요해 보안을 유지한다

TLS를 통해 암호화, 인증을 얻는 과정

TCP공개키와 대칭키의 개념이 있다고 생각하고 진행

  1. 클라이언트에서 다음과 같은 데이터를 서버에게 보냄
  • 랜덤 데이터
  • 클라이언트가 지원하는 암호화 방식
  • 세션 아이디(세션 아이디가 있다면)
  1. 서버는 클라이언트의 암호화 방식 중 하나를 선택해서
  • 서버의 랜덤 데이터 전송
  • 서버가 선택한 암호화 방식 전송
  • CA에서 받은 인증서 전송
  1. 클라이언트
  • 브라우저에 내장된 공개키로 인증서가 CA에서 받은건지 검증
  • 랜덤데이터로 pre-master secret이라는 대칭키 생성
  • pre-master secret을 암호화 해서 서버에 전송
  1. 서버
  • 클라이언트에서 받은 pre-master secret을 자신의 비공개 키를 사용해 복호화
  • pre-master secret을 세션 키 생성
  1. 세션 연결
    세션 키를 사용해 데이터를 암호화해 주고받음

Application Layer

Internet레이어 에서는 HTTPS(HyperText Transfer Protocol over Security Socket Layer)이라는 보안 프로토콜을 사요해 보안을 유지한다

ssl을 사용한 보안 프로토콜(자세한 내용은 ☝️링크)

이런 프로토콜이 존재하는 이유

웹은 태생적으로 퍼블릭(World Wide Web) 하기 때문이다

그래서 기업들은 보안 프로토콜을 통해 중요한 데이터를 주고받기 위해 다양한 시도들을 한다

가장 쉬운 방법은 전용 회선을 개통하는 것이겠지만 비용이 불가능하다

  1. 그래서 기존의 퍼블릭망을 프라이빗하게 사용하려는 기술이 등장한다

이것이 VPN(Virtual Private Network)이다

기업들은 물리적인 연결을 가까운 탑 까지만 연결하고 앞단에 보안장비를 둬서 IPsec을 통해 퍼블릭 망에서 통신을 하는 것이다

  1. 다른 방법으로는 통신사업자들이 미리 구성해놓은 별도의 망을 이용하는 것이다

정리하며 더 궁금한 점, 느낀점 🙃

  • 영상 마지막에 어쩔 수 없다고 할 만큼 해커가 유리할 수 있기 때문에(한 번만 공격을 성공하면 된다) 더 보안에 대해 알고있어야 겠다는 생각이든다

  • 웹 앱 공격이 많은 비중을 차지해서 공격을 알아차리고 대응하기 위해 모니터링, 로깅, 시큐어 코딩이 중요하다는 내용이 나왔는데 이러한 습관들에 대해 공부하고싶었다
    KISA 기술안내서 가이드

  • TCP/IP 와 HTTPS 와 ARP 등을 공부하면서 보안과 관련된 내용이 계속 나왔는데 이런 보안기술을 고안하는게 정말 대단하다는 걸 느꼈다

profile
괴물신인

0개의 댓글