คุกกี้ SYN เป็นวิธีการที่ผู้ดูแลเซิร์ฟเวอร์สามารถป้องกันรูปแบบการปฏิเสธบริการ (DoS) โจมตีเซิร์ฟเวอร์ผ่านวิธีที่รู้จักกันในชื่อ SYN flooding การโจมตีประเภทนี้ใช้กระบวนการที่มีการสร้างการเชื่อมต่อระหว่างไคลเอ็นต์และโฮสต์เรียกว่าการจับมือสามทางเพื่อทำให้โฮสต์มีจำนวนคำขอของไคลเอ็นต์ที่มากเกินไปการแช่แข็งหรือการขัดข้องของระบบ การโจมตีดังกล่าวส่วนใหญ่ล้าสมัยอย่างไรก็ตามผ่านวิธีการต่าง ๆ เช่นการใช้คุกกี้ SYN ที่หลีกเลี่ยงพวกเขา คุกกี้เหล่านี้ไม่มีการคุกคามด้านความปลอดภัยหรือความเสี่ยงต่อโฮสต์หรือไคลเอนต์และไม่ก่อให้เกิดปัญหาการเชื่อมต่อหรือปัญหา
วิธีการทำงานของฟังก์ชั่นคุกกี้ SYN สร้างขึ้นบนพื้นฐานพื้นฐานที่เซิร์ฟเวอร์และผู้ใช้จำนวนมากหรือระบบโฮสต์และไคลเอนต์เชื่อมต่อซึ่งกันและกัน กระบวนการนี้เรียกว่าการจับมือสามทางและเริ่มต้นเมื่อระบบไคลเอนต์ส่งการร้องขอเพื่อเชื่อมต่อกับระบบโฮสต์ คำขอเรียกว่าข้อความซิงโครไนซ์หรือ SYN และได้รับจากระบบโฮสต์ จากนั้นระบบโฮสต์นี้รับทราบว่าได้รับ SYN โดยส่งการตอบรับหรือข้อความ SYN-ACK กลับไปที่ลูกค้า
เมื่อระบบไคลเอนต์ได้รับข้อความ SYN-ACK นี้ข้อความ ACK สุดท้ายจะถูกส่งกลับโดยไคลเอนต์ไปยังโฮสต์ เมื่อระบบโฮสต์ได้รับ ACK สุดท้ายนี้จะอนุญาตให้ไคลเอ็นต์เข้าถึงระบบและสามารถรับคำขอ SYN เพิ่มเติมจากไคลเอนต์อื่น ๆ โฮสต์เซิร์ฟเวอร์ส่วนใหญ่มีคิวที่ค่อนข้างเล็กสำหรับคำขอ SYN ซึ่งปกติแล้วจะมีเพียงแปดครั้งเท่านั้นในแต่ละครั้ง
รูปแบบของการโจมตี DoS ที่รู้จักกันในชื่อ SYN flooding ใช้สิ่งนี้เพื่อเอาชนะระบบโฮสต์ สิ่งนี้ทำได้โดยการส่งข้อความ SYN ซึ่ง SYN-ACK จะถูกส่งโดยโฮสต์ในการตอบสนอง แต่ข้อความ ACK สุดท้ายไม่ได้ถูกส่งโดยลูกค้ารักษาตำแหน่งในคิวเปิด หากดำเนินการอย่างถูกต้องระหว่างการโจมตี SYN Flood คิวทั้งหมดจะถูกครอบครองโดยคำขอที่ไม่ได้รับคำตอบเหล่านี้และไม่สามารถรับคำขอใหม่จากลูกค้าที่ถูกกฎหมาย
คุกกี้ SYN ช่วยหลีกเลี่ยงการโจมตีประเภทนี้โดยอนุญาตให้โฮสต์ทำหน้าที่ราวกับว่ามีคิวที่ใหญ่กว่าที่มีอยู่จริง ในกรณีของการโจมตี SYN ท่วมท้นโฮสต์สามารถใช้คุกกี้ SYN เพื่อส่ง SYN-ACK ไปยังไคลเอนต์ แต่มันกำจัดรายการ SYN สำหรับไคลเอนต์นั้น สิ่งนี้ทำให้โฮสต์สามารถทำงานได้เหมือนว่าไม่เคยได้รับ SYN มาก่อน
เมื่อไคลเอนต์ได้รับคุกกี้ SYN-ACK พร้อมกับ SYN แล้ว ACK ที่เกี่ยวข้องที่ส่งกลับไปยังโฮสต์จะมีข้อมูลที่เกี่ยวข้องกับ SYN-ACK ดั้งเดิม โฮสต์สามารถใช้ ACK นี้และคุกกี้ SYN ที่รวมอยู่เพื่อสร้าง SYN-ACK ดั้งเดิมขึ้นใหม่และรายการที่เหมาะสมสำหรับคำขอต้นฉบับนั้น เมื่อดำเนินการเสร็จแล้วไคลเอ็นต์สามารถได้รับอนุญาตให้เชื่อมต่อกับโฮสต์ แต่กระบวนการทั้งหมดจะหลีกเลี่ยงคิวที่อาจถูกครอบครองโดยการโจมตีของ SYN


