Post

TCP

TCP

Introduction

  • TCP에는 syn이 있어서 spoofing이 어려운데 그것을 파헤쳐보자.

Summary

  • TCB(Trust Computing Base)라는 것은 보안에서 쉽게 쓰이는 축약어인데 여기서 TCB는 Transmission Control Block이다.
  • spoofing한 IP로 엄청난 숫자의 SYN을 동시에 보내면 서버ㅈ측에서는 다 저장을 할 것이고 다른 이용자가 그것때문에 제대로 된 응답을 받지 못할 것이다.
  • 이거는 서버를 바쁘게 만드는 것이 아니라 버퍼를 꽉채워서 다른 것을 못하게 하는 것이다. CPU는 놀고 있는 것이다.
  • 다양한 서버에다가 spoofing한 target IP로 syn을 보내면 그 서버들에서 타겟 컴퓨터에 다 보내니깐 타겟 컴퓨터가 죽는다.
  • handshack가 너무 빨라서 우리는 서버측에서 half open connection을 볼 수 없는 것이다.
  • 만약에 netstat -tna로 여러개의 half open connection이 있다면 서버측에서 공격을 당하고 있다는 뜻이다.
  • 서버측에서 특별한 비밀키를 가지고 있고 그것으로 상대방에게 주면서 상대방에게서 받은 것을 나만 알고 있는 비밀키로 해쉬해제시켜버리면 진짜인지 알 수 있다.
  • SSL로 할때에는 헤더는 encrypte가 되지 않아서 sniff, spoofing이 된다.
  • 걔들이 뭔가 감시하고 있는 프로그램이 있으면 그 connection을 깨고 싶어한다. 그래서 이런 공격법이 있는 것이다. (TCP Reset Attack) 혹은 유투브 같은 것을 보고 있는데 그것을 끊을 수 있는 것이다.

3-way Handshaking

  1. Client가 서버에 접속을 요청하는 SYN packet을 보낸다. 이때 SYN/ACK 응답을 기다리는 SYN_SENT 상태가 된다.
  2. Server는 Listen상태로 있으면서 SYN pack을 받으면 클라이언트에게 ACK과 SYN 패킷을 보낸다. 이때 SYN_RECEIVED 상태가 된다.
  3. Client가 다시 Server에게 ACK을 보내고 이후부터는 연결이 이루어지고 데이터를 주고 받는다. 이때 서버의 상태가 ESTABLISHED가 된다.

Refrence

This post is licensed under CC BY 4.0 by the author.