Câu hỏi về TCP - FIN - RST ...

Hỏi:
1) Đối với TCP, FIN và RST khác nhau ở những điểm nào?
2) Tại sao tình trạng "man in the middle" có thể xảy ra với giao thức TCP?
3) Thành phần nào quan trọng nhất cho việc inject một TCP packet vào một luồng dữ liệu đang chuyển gởi giữa 2 đầu client / server?
Trả lời:
1/ Trong TCP, cờ FIN (Finish) được sử dụng khi 1 bên muốn kết thúc TCP connection 1 cách "polite", và bên gửi FIN phải chắc chắn rằng bên còn lại đã nhận được FIN rồi mới thật sự đóng connection (do vậy trong tcp khi đóng kết nối sử dụng FIN sẽ có 1 bên gặp tình trạng time-out hay còn gọi là time-wait trong giai đoạn cuối cùng của 1 quá trình đóng kết nối), vì thế lúc vừa gửi FIN đi thì connection vẫn tồn tại (data trong TCP Buffer vẫn còn). Còn cờ RST (Reset) là để đóng TCP conntection 1 cách "impolite", tức là bên gửi RST, sau khi gửi RST thì bên đó ko cần quan tâm đển bên còn lại có nhận được hay ko mà nó sẽ đóng connection ngay lập tức (xoá sạch data trong TCP Buffer) sau khi gửi gói RST kia, và bên còn lại khi nhận gói RST cũng "tự hiểu", tự đóng connection mà ko cần thông báo trở lại cho bên gửi RST
2/ Theo em, TCP là 1 giao thức Reliable (so với UDP), nhưng tính reliability là ở tính toàn vẹn dữ liệu, nhưng toàn vẹn ở đây ko phải là ko bị hacker sửa đổi mà toàn vẹn ở đây là TCP cung cấp cơ chế để kiểm soát luồng dữ liệu (flow data control), do đó ko gây ra việc dữ liệu bị thiếu sót (do nghẽn mạng hay gì gì đó(. Tuy nhiên về mặt Security thì TCP ko hẳn là an toàn. Ở đấy có 2 trường hợp, trường hợp thứ 1 là 1 connection đã được thiếp lập từ trước bởi victim, lúc này attacker sẽ sử dụng kỹ thuật Hjacking (cũng thuộc MIMT) nhưng bởi vì đối với TCP thì số sequence chính là "sinh tử huyệt" của nó do đó trong 1 cuộc tấn công Man In The Middle thì Attack hoàn toàn có thể lấy được số sequence và "nắm quyền" connection đó. Còn đối với trường hợp 2 là victim thiết lập connection sau khi đã bị MIMT thì ko có gì để nói, vì lúc này TCP hay UDP cũng như nhau thôi
3/ Số Sequence và "nguyên tắc" generate chuỗi sequence (tùy thuộc vào cách Implement của từng OS/kernel)
(Hvaonline)

Share this

Related Posts

Previous
Next Post »