728x90

해당 게시물에 수정할 점이 있으면 댓글에 남겨주시면 수정하겠습니다.

 

 

 

안녕하세요 오늘은 공부를 하면서 혹시나 다른 분들한테도 도움이 될까 하여 올려봅니다.

물론 저도 글을 쓰면서 한번 더 개념을 정리하는 효과도 있죠.

오늘은 TCP / UDP 차이점에 대해서 요약본으로 설명드리고

이후 보안 기사를 공부하시거나 해킹 공격에 관하여 관심이 있으신 분들은 한 번쯤 봤을 공격

워터링 홀에 대해 설명드리고자 합니다.

 

 

TCP 특징

UDP

연결 방식

연결형 서비스로 가상

3-way handshaking

비연결형 서비스

패킷 교환 방식

회선 방식을 제공

데이터그램 방식

전송 순서

전송 순서 보장

(흐름 제어/혼잡 제어)

전송 순서가 바뀔 수 있음

(Checksum 통해 최소 오류 검출))

수신 여부 확인

확인(신뢰성)

안 함

통신 방법

1:1

1:1 / 1:N / N:N

속도

느리다

빠르다

사용

금융(신뢰성 필요)

멀티미디어 등 실시간 서비스

 

이렇게 보기 좋게 표로 정리해봤습니다.

TCP 같은 경우 신뢰성이 보장되어 금융 같은 곳에서 사용을 하는데요. 신뢰성이 보장되기 위해 흐름 제어 및 혼잡 제어 기능을 제공하며 또한 보낸 후 받았는지 확인을 하기 때문에 좀 더 신뢰성이 있습니다.

오류가 발생하면 바로 다시 보낼 수 있으니깐요.

또 그 무엇보다 3 way handshaking 덕분에 좀 더 신뢰성이 있겠죠.

3 way handshaking 같은 경우 직접 연결을 하기 때문에 IP가 실제로 있는 IP로 연결이 가능합니다.

예를 들어 제가 친구에게 전화를 했는데 부재중으로 표시가 됩니다. 하지만 저는 다른 번호로 전화를 건 것이고 부재중 전화에 친구가 해당 번호로 전화를 했지만 서로 맞지 않아 연결이 되지 않는것이죠.

서로 주고 받을 수 없기 때문에 연결이 되지 않는 것입니다.

물론 이에 대한 공격 방법은 나중에 기회가 되면 글을 올리도록 하겠습니다.

 

UDP 같은 경우 속도가 빠르다는 장점이 있습니다. 다만 비신뢰성이죠.

아무래도 수신 여부도 확인하지 않을뿐더러 TCP처럼 3 way handshaking 하지 않기 때문입니다.

UDP 같은 경우 중간에 패킷이 손실되어도 무방한 멀티미디어에 많이 사용합니다.

우리가 영상을 보더라도 중간에 끊겨도 계속해서 다시 보는 것을 생각해보면 좋을 것 같습니다.

 

둘을 간단히 비교해보면

TCP는 UDP에 비해 신뢰성 있는 전송을 할 때 사용한다.

주로 FTP(20,21) 전송 HTTP(80) 사용하고

UDP는 TCP에 비해 속도가 빠르고 부하가 적다.

주로 DNS(53) 사용합니다.

 

후에 공격 방법에 대해서 공부를 하고 글을 올릴 텐데

부하가 적다는 저 내용을 통해 수정하여 공격하는 ping of death 공격도 나중에 글을 올리도록 하겠습니다.

 

그렇다면 TCP와 UDP를 동시에 사용하면 안 되나....? 다른 질문을 할 수 있습니다.

순서가 중요한 경우엔 TCP를 쓰고, 사용자 입력이나 상태 처리엔 UDP를 쓰는 등으로 말이죠.

하지만 TCP와 UDP를 번갈아 가며 처리하기가 복잡하고

또 TCP가 UDP의 패킷 손실을 유발한다는 정보가 있다고 합니다.

인터넷에 검색해보면 많은 분들이 사용방법을 고민하고 의견을 주시는 분들이 많으시더라고요.

저 역시 처음엔 UDP로 하다가 신뢰성이 필요한 정보를 전달할 때는 TCP를 따로 구현해놓아서 하면 되지 않나 싶지만

아직 짧은 지식이라 의견을 제대로 낼 수는 없겠네요.

나중에는 가능할지 모르겠지만요.

 

 

워터링 홀 (Watering Hole)

 

공격자는 표적에 대한 정보를 수집하여 주로 방문하는 웹사이트를 파악해서,

그 웹사이트에 미리 악성코드를 심어 놓는다.

그리고 표적의 컴퓨터에 악성코드를 추가로 설치한다.

예를 들어 외교 관련 사이트에 악성코드를 심고 기다리다가, 어느 날 관계자가

접속을 하면 감염되어 PC에서 정보를 빼는 방법이 있다.

 

예를 들어

- 사자가 물 웅덩이에 대기하고 있다가 사냥감을 잡는다던지

- 우물에 약을 타서 그 물을 먹는 동물들이 감염된다는 방법으로 설명드릴 수 있겠습니다.

 

주로 특정 대상을 타깃으로 삼아 기밀 정보를 빼내기 위하여 사용한다고 합니다.

요즘은 보안에 취약한 중소기업을 노리는 공격도 증가한다고 하네요.

 

예방 방법

- 사용자들은 안전하지 않은 웹사이트는 접속하지 않도록 한다.

- 악성코드를 탐지할 수 있는 백신을 설치한다.

 

사용자들은 이렇게 간단한 예방방법을 통해 방지를 하도록 노력을 해야 할 것 같습니다.

 

 

오늘은 TCP / UDP와 공격 방법 중 한 가지인 워터링 홀에 대해 알아보았습니다.

혹시 수정하거나 보완할 점을 발견하셨다면 댓글 남겨주시면 감사하겠습니다.

해당 글을 쓰면서 저 역시 개념을 정리하고 여러분에게도 도움이 되었으면 좋겠네요.

 

오늘은 이상으로 마치겠습니다.

감사합니다.

 

 

-------------------------------------------------------------------------------------------

기존 글에선 기본 서체였으나

혹시라도 보기 불편하실까봐 서체를 글꼴을 바꿔보았습니다.

혹시 보기 편하신 글꼴이 있으시다면 의견 남겨주시면 감사하겠습니다.

728x90

+ Recent posts