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