네트워크 보안이란

2025-06-19

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_1.37.14.png 네트워크 보안은 인터넷이나 기타 네트워크를 통해 데이터를 주고받는 과정에서 발생할 수 있는 다양한 위협으로부터 정보를 보호하고, 통신 당사자 간의 신뢰를 보장하는 것을 목표로 한다. 이를 위해 네트워크 보안은 네 가지 요소로 구성된다.

첫 번째 요소는 기밀성(confidentiality)이다. 기밀성은 오직 송신자와 수신자만이 메시지의 내용을 이해할 수 있어야 한다는 원칙이다. 이를 위해 일반적으로 송신자는 메시지를 암호화하고, 수신자는 이를 복호화한다. 제3자가 메시지를 가로채더라도 그 내용을 이해하지 못하도록 막는다.

두 번째는 인증(authentication)이다. 인증은 네트워크 통신에서 통신하는 상대방의 신원을 확인하는 과정이다. 예를 들어 내가 정말 은행과 통신하고 있는지, 아니면 누군가가 은행인 척 하고 있는지를 확인하는 것이 인증이다. 인증을 통해 스푸핑(spoofing)이나 중간자 공격(man-in-the-middle attack) 같은 위협을 방지할 수 있다. 주로 암호학적 서명, 키 기반 프로토콜, 인증 서버 등을 이용해 구현된다.

세 번째는 무결성(integrity)이다.

무결성은 메시지가 전송 도중이나 저장 중에 변경되지 않았음을 확인하는 원칙이다. 메시지가 중간에 조금이라도 바뀌었다면, 수신자는 이를 알아차릴 수 있어야 한다. 이를 위해 보통 해시 함수(hash function)나 메시지 인증 코드(MAC) 등을 사용한다. 이런 기법을 통해 메시지의 변조 여부를 검증할 수 있다.

마지막으로는 가용성(availability)이다. 가용성은 네트워크 서비스가 인증된 사용자에게 항상 접근 가능하고 안정적으로 동작해야 한다는 원칙이다. 만약 서버가 마비되거나, 네트워크가 과부하되어 서비스를 사용할 수 없다면 가용성이 침해된 것이다. 대표적인 위협으로는 서비스 거부 공격(DDoS)이 있으며, 이런 공격은 네트워크 자원을 고의로 소모시켜 정상 사용자가 접근하지 못하게 만든다.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_1.37.24.png 네트워크 보안 분야에서 자주 사용되는 가상의 인물들이 있다. 대표적으로 Alice와 Bob, 그리고 Trudy다. 두 사람의 신뢰를 바탕으로 비밀스럽게 소통하고 싶어한다는 상황을 드러내기 위해 연인 관계로 설정하기도 한다.

Alice는 일반적으로 송신자(sender) 역할을, Bob은 수신자(receiver) 역할을 한다. 서로 주고받는 메시지는 기밀성, 무결성, 인증과 같은 보안이 충족되길 원한다. 예를 들어,

  • Alice는 오직 Bob만 메시지를 읽을 수 있길 바란다. (기밀성)
  • Bob은 그 메시지가 변조되지 않았고, 정말 Alice가 보낸 것임을 알고 싶어 한다. (무결성, 인증)

하지만 항상 평화로운 상황만 있는 것은 아니다. 여기에 등장하는 제3의 인물 Trudy는 공격자(intruder) 또는 도청자, 침입자 역할을 하고, 여러 악의적 행위를 시도할 수 있다.

  • 메시지를 가로채거나 도청(intercept)
  • 메시지를 삭제(delete)
  • 위조된 메시지를 추가하거나 변경(add/modify)

Trudy는 이러한 행위를 통해 통신을 방해하거나 속이고, 민감한 정보를 탈취하거나 통신 내용을 왜곡할 수 있다. 따라서 Alice와 Bob은 통신을 보호하기 위해 암호화, 인증, 무결성 체크 등 다양한 보안 기법을 적용해야 한다.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_1.37.39.png 네트워크에는 단순한 행동을 넘는 적극적인 공격자들이 존재한다. 통신을 조작하거나 시스템을 마비시키는 등 직접 개입하는 다양한 행위를 시도한다.

가장 대표적인 수동적 공격은 도청(eavesdropping)이다. 네트워크를 통해 흐르는 메시지를 몰래 가로채는 것으로, 민감한 정보가 암호화되지 않은 경우 쉽게 탈취당할 수 있다.

도청보다 더 위협적인 것은 능동적 공격이다. 공격자는 다음과 같은 방식으로 통신을 조작한다.

  • 메시지 변조/삽입: 기존 메시지를 바꾸거나, 허위 메시지를 추가해 통신 내용을 왜곡한다. 예를 들어 결제 정보를 조작하면 실제 자금이 탈취될 수 있다.
  • 스푸핑(Spoofing): 출발지 주소를 위조해 다른 사용자로 가장한다. 인증이 제대로 이루어지지 않으면, 신뢰 관계가 무너진다.
  • 세션 하이재킹(Session Hijacking): 진행 중인 통신 세션에 침입해 정상 사용자를 배제하고 공격자가 그 자리를 차지한다. 사용자는 자신도 모르게 조작된 결과를 받게 된다.

가용성을 무너뜨리는 대표적인 공격은 서비스 거부 공격(DoS)이다. 네트워크나 서버에 과도한 요청을 보내 시스템을 마비시켜 정상 사용자가 서비스를 이용하지 못하게 만든다.