초기 인터넷은 신뢰할 수 있는 유저들끼리의 네트워크였다. 하지만 네트워크는 점점 복잡해지면서 연결된 네트워크를 모두 신뢰하기는 어려워졌다.
따라서 네트워크 보안의 중요성은 대두되고 있다.
보안은 모든 네트워크 계층에서 이루어져야 하며 총 5가지의 계층이 있다.
1 ) 애플리케이션 계층 – HTP, SMTP, HTTP와 같은 많은 프로토콜을 지원하며 한 단 시스템에서 다른 종단시스템에 있는 애플리케이션과 정보 패킷을 교환하는데 사용된다.
2 ) 트랜스포트 계층 – 클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송하는 서비스를 제공한다. TCP와 UDP가 있다.
3 ) 네트워크 계층 – 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정한다.
4 ) 링크 계층 – 이웃 네트워크 요소들 사이의 데이터 전송 역할을 한다.
5 ) 물리 계층 – 프레임 내부의 각 비트를 송 매체를 통해 한 노드에서 다음 노드로 이동시킨다.
데이터 송/수신을 위해 우리는 장치를 인터넷에 연결하는데 이 때 인터넷 검색, 음악 스트리밍 등과 함께 해로운 것도 전달된다.
이를 맬웨어라고 하는데 맬웨어는 파일 삭제, 주민번호, 비밀번호 키스트로크 등 사적인 정보를 모으는 스파이웨어를 설치하여 나쁜 친구들에게 전달한다. 이렇게 사용자 모르게 악성 소프트웨어의 통제를 받는 컴퓨터를 봇넷(botnet)이라고 한다.
[악성 프로그램]
인터넷을 통해 호스트에게 전달되어지는 악성 소프트웨어는 바이러스와 웜이 있다.
1) 바이러스 : 사용자의 상호작용으로 인해 발생한다. ex) 전자메일 첨부물
2) 웜 : 직접적인 상호작용 없이 장치에 침투하는 맬웨어.
3) DoS : 봇넷을 통해 서버에 가짜 트래픽 신호를 보내 정상적인 시스템의 연결을 방해한다.
[스니핑]
호스트B에서 A로 정보를 전달한다고 해보자.
이 때 우리의 정보는 송수신 매체를 통해 전달이 되는데 이러한 송수신 매체는 다른 종단 시스템과도 연결이 되어 있다.
우리가 정보를 전달할 때 네트워크 중간에서 남의 패킷 정보를 도청당할 수 있는데 이를 스니핑이라고 한다.
이러한 스니핑을 방지하기 위한 가장 좋은 방어는 정보/파일에 암호화를 포함하는 것이다.
[스푸핑]
스푸핑이란 거짓 출발지 주소를 가진 패킷을 인터넷으로 보내는 능력을 말한다.
이러한 문제를 해결하기 위해, 우리는 종단 인증이 필요하다.
[참조] Computer Networking: A Top Down Approach - J.F Kurose and K.W. Ross