มีช่องโหว่ที่รู้จักกันหลายประการที่เกี่ยวข้องกับช่องทางสองทิศทางในทั้ง TLS (การรักษาความปลอดภัยเลเยอร์การขนส่ง) และ SSH (Secure Shell) ช่องโหว่เหล่านี้ส่วนใหญ่เกิดจากจุดอ่อนในการใช้งานโปรโตคอลข้อบกพร่องในระหว่างกระบวนการจับมือและการตรวจสอบความถูกต้องการลดระดับการเข้ารหัสลับและการใช้งานในทางที่ผิดหรือการกำหนดค่าที่ไม่เหมาะสมของช่องทางการสื่อสารแบบสองทิศทางที่มีอยู่ในโปรโตคอลเหล่านี้
ช่องโหว่ในช่องสองทิศทาง TLS
TLS ใช้กันอย่างแพร่หลายเพื่อรักษาความปลอดภัยการสื่อสารแบบสองทิศทางผ่านเครือข่าย แม้ว่า TLS ได้รับการออกแบบโดยมีเป้าหมายด้านความปลอดภัยที่แข็งแกร่ง แต่ก็ต้องเผชิญกับช่องโหว่ที่หลากหลายมากกว่าการทำซ้ำ:
- Renegotiation Attack: TLS รุ่นแรก ๆ มีช่องโหว่ในการจับมือกันเจรจาใหม่ ผู้โจมตีสามารถจี้เซสชัน HTTPS โดยการฉีดคำขอข้อความธรรมดาที่จุดเริ่มต้นของการสื่อสารของไคลเอนต์กับเซิร์ฟเวอร์ สิ่งนี้อนุญาตให้ศัตรูสามารถร้องขอการร้องขอที่เป็นอันตรายได้ในช่วงเริ่มต้นของเซสชันที่ถูกต้องตามกฎหมายโดยไม่ถอดรหัสช่องทั้งหมด การโจมตีครั้งนี้ได้รับการแก้ไขโดย RFC 5746 ซึ่งแนะนำส่วนขยายตัวของการเจรจาต่อรองเพื่อผูกมัดการเจรจาต่อรองกับเซสชันดั้งเดิมอย่างปลอดภัย
- การโจมตีแบบลดระดับโปรโตคอล: ผู้โจมตีสามารถจัดการข้อความจับมือกันเพื่อบังคับให้การเชื่อมต่อใช้รุ่นโปรโตคอลที่อ่อนแอกว่าหรือ ciphersuites cryptographic ที่อ่อนแอกว่า การลดระดับเซสชัน TLS ทำให้ช่องทางที่เสี่ยงต่อการถูกเข้ารหัสหรือการแสวงประโยชน์เพิ่มเติม
- ข้อบกพร่องในการใช้งานและช่องโหว่ที่ไม่มีวัน: ห้องสมุดและแอปพลิเคชันต่าง ๆ ที่ใช้ TLS ได้รับความเดือดร้อนจากข้อบกพร่องที่ลดความปลอดภัยของช่องทางสองทิศทางตัวอย่างเช่นการทุจริตหน่วยความจำที่นำไปสู่การดำเนินการรหัสระยะไกลหรือการรั่วไหลของข้อมูล ผู้โจมตีใช้ประโยชน์จากสิ่งเหล่านี้ใน Man-in-the-Middle (MITM) หรือการโจมตีซ้ำ
ช่องโหว่ในช่องทางสองทิศทาง SSH
SSH ให้ช่องทางที่ปลอดภัยแบบสองทิศทางซึ่งหลายช่องทางลอจิคัลสามารถมัลติเพล็กซ์ได้ อย่างไรก็ตามการวิจัยเมื่อเร็ว ๆ นี้พบว่าโปรโตคอล SSH และการใช้งานมีความอ่อนไหวต่อช่องโหว่ที่สำคัญ:
-การโจมตี Terrapin (CVE-20123-48795): นี่เป็นช่องโหว่ที่โดดเด่นโดยเฉพาะอย่างยิ่งที่ค้นพบในกระบวนการจับมือของ SSH จะช่วยให้ผู้โจมตีที่ใช้งานอยู่กลางกลางสามารถลบหรือละเว้นแพ็คเก็ตจากข้อความจับมือกันที่แลกเปลี่ยนระหว่างไคลเอนต์และเซิร์ฟเวอร์ การตัดทอนนี้สามารถลดระดับการตรวจสอบความสมบูรณ์ของการเข้ารหัสลับปิดใช้งานคุณสมบัติความปลอดภัยบางอย่างและทำให้อัลกอริทึมการตรวจสอบความถูกต้องลดลงในระหว่างการจัดตั้งเซสชัน SSH การโจมตีส่งผลกระทบต่อความสมบูรณ์ของการสื่อสารและเปิดใช้งานเงื่อนไขที่การกดขี่ระยะเวลาการกดแปรรูปถูกข้ามไปเพิ่มความเสี่ยงของการบังคับใช้รหัสผ่านอย่างมาก OpenSsh (ก่อนเวอร์ชัน 9.6), Libssh, Putty, Asyncssh, Dropbear SSH และอื่น ๆ ได้รับผลกระทบ ทั้งไคลเอนต์และเซิร์ฟเวอร์ต้องได้รับการอัปเดตเพื่อลดช่องโหว่นี้
- การตัดทอนข้อความและการจัดลำดับใหม่: การจัดการลำดับข้อความของ SSH มีความเสี่ยงต่อการจัดการโดยฝ่ายตรงข้ามที่ใช้งานอยู่ ผู้โจมตีสามารถจัดลำดับใหม่หรือลบแพ็กเก็ตที่ถูกต้องเนื่องจากข้อบกพร่องของโปรโตคอลโดยธรรมชาติซึ่งสามารถอนุญาตให้บายพาสในการตรวจสอบความสมบูรณ์ของช่อง
- การกำหนดค่าผิดพลาดและการรับรองความถูกต้องที่อ่อนแอ: ช่องโหว่ทั่วไปรวมถึงการอนุญาตให้เข้าสู่ระบบรูทผ่าน SSH, รหัสผ่านเริ่มต้นหรืออ่อนแอและการจัดการคีย์ที่ไม่ดี สิ่งนี้สามารถเปิดช่องทางสองทิศทางไปยังกองกำลังเดรัจฉานการบรรจุรับรองและการเข้าถึงที่ไม่ได้รับอนุญาต
- การเคลื่อนไหวด้านข้างผ่าน SSH Tunneling: ผู้โจมตีใช้ประโยชน์จากอุโมงค์ SSH แบบสองทิศทางหรือการส่งต่อพอร์ตเพื่อสร้างช่องทางการสื่อสารที่ซ่อนอยู่ภายในเครือข่าย สิ่งนี้สามารถอำนวยความสะดวกในการ exfiltration ข้อมูลหรือการสื่อสารคำสั่งและควบคุมโดยมัลแวร์ทำให้สามารถเข้าถึงการเข้าถึงที่ไม่ได้รับอนุญาตอย่างต่อเนื่อง
- ความอ่อนแอของอัลกอริทึม MAC และ MAC: SSH รองรับอัลกอริทึมการเข้ารหัสและการตรวจสอบข้อความหลายรายการ (MAC) อัลกอริทึม การกำหนดค่าที่เก่ากว่าหรืออ่อนแอบางอย่าง (เช่นโหมด CBC ที่มี MAC บางอย่าง) มีความเสี่ยงต่อการโจมตีการเข้ารหัสที่ส่งผลต่อการรักษาความลับและความสมบูรณ์ของช่อง SSH การโจมตี Terrapin ส่งผลกระทบต่อชุดรหัสบางอย่างเช่น Chacha20-poly1305
ผลทางเทคนิคและผลกระทบด้านความปลอดภัย
-การโจมตี Man-in-the-Middle (MITM): ทั้งสองช่องทาง TLS และ SSH ขึ้นอยู่กับการรับประกันความสมบูรณ์และการรับรองความถูกต้อง ช่องโหว่ช่วยให้ผู้โจมตี MITM สามารถสกัดกั้นแก้ไขทิ้งหรือเล่นซ้ำข้อความได้โดยไม่ต้องตรวจจับ สิ่งนี้ทำลายความลับความซื่อสัตย์และความถูกต้องทำให้การละเมิดข้อมูลและการขโมยข้อมูลรับรอง
- การปรับลดโปรโตคอลและการปรับลดฟีเจอร์: ผู้โจมตีสามารถบังคับให้ใช้อัลกอริทึมที่ไม่ปลอดภัยหรือปิดการใช้งานการตอบโต้เช่นการตอบสนองต่อการตอบสนองต่อการตอบสนองของการต่อต้านการสั่นสะเทือนใน SSH หรือการเจรจาต่อรองที่ปลอดภัยใน TLS ช่วยลดการป้องกันโปรโตคอลเหล่านี้ได้อย่างมีประสิทธิภาพ
- การเปิดรับข้อมูลรับรอง: จุดอ่อนในการป้องกันช่องทางสองทิศทางช่วยอำนวยความสะดวกในการโจมตีแบบออฟไลน์และการคาดเดาออนไลน์ข้อมูลรับรองการตรวจสอบความถูกต้องเช่นรหัสผ่านปุ่มส่วนตัวหรือโทเค็นเซสชัน
- การคงอยู่และการเคลื่อนไหวด้านข้าง: เมื่อผู้โจมตีใช้ประโยชน์จากช่องทางสองทิศทางของ SSH สำหรับอุโมงค์แอบแฝงพวกเขาสามารถควบคุมการซ่อนเร้นอยู่เหนือเครือข่ายเหยื่อผ่านการป้องกันรอบนอกและดำเนินการขยาย
มาตรการป้องกันและคำแนะนำ
- การติดตั้ง Patch and Update Protocol: เก็บไลบรารี SSH และ TLS และซอฟต์แวร์ให้ทันสมัยใช้แพตช์รักษาความปลอดภัยที่อยู่ช่องโหว่ระดับโปรโตคอลเช่นการโจมตี Terrapin ในการแก้ไขการเจรจาต่อรอง SSH และ TLS
- การกำหนดค่าที่เข้มงวด: ปิดใช้งาน ciphers อ่อนแอรุ่นโปรโตคอลเก่าและอัลกอริทึม MAC ที่ไม่ปลอดภัย สำหรับ SSH ให้ จำกัด การเข้าสู่ระบบรูทและการตรวจสอบด้วยรหัสผ่านชอบการตรวจสอบคีย์สาธารณะและปิดการใช้งานอุโมงค์และการส่งต่อพอร์ตที่ไม่ได้ใช้
- ใช้การแลกเปลี่ยนคีย์และชุดรหัสที่แข็งแกร่ง: ใช้ความลับไปข้างหน้า (เช่น ECDHE) และการเข้ารหัสที่ได้รับการรับรองความถูกต้องด้วยชุดข้อมูลที่เกี่ยวข้อง (AEAD) ชุดรหัสที่ให้ความแข็งแกร่งต่อการโจมตีเข้ารหัสลับที่รู้จัก
- การควบคุมความปลอดภัยของเครือข่าย: การปรับใช้ระบบตรวจจับและป้องกันเพื่อระบุอุโมงค์ SSH ที่ผิดปกติและกิจกรรม MITM ใช้พร็อกซีที่ผ่านการรับรองความถูกต้องและเครื่องมือรักษาความปลอดภัยปลายทางเพื่อ จำกัด พื้นผิวการโจมตี
- การตรวจสอบและการตรวจสอบ: ตรวจสอบบันทึกและการตรวจสอบการเชื่อมต่อ SSH และ TLS เป็นประจำสำหรับพฤติกรรมที่น่าสงสัยเช่นกิจกรรมการขุดอุโมงค์ที่ผิดปกติความล้มเหลวของการตรวจสอบซ้ำซ้ำหรือการลดระดับการเข้ารหัสที่ไม่คาดคิด
โดยสรุปช่องทางสองทิศทางใน TLS และ SSH นั้นอยู่ภายใต้ช่องโหว่ที่รู้จักกันหลายแห่งซึ่งส่วนใหญ่หมุนรอบความสมบูรณ์ของการจับมือกันการลดระดับการเข้ารหัสลับการกำหนดค่าที่อ่อนแอและการโจมตีโดยฝ่ายตรงข้าม การโจมตี Terrapin ที่เปิดเผยเมื่อเร็ว ๆ นี้เน้นถึงความรุนแรงของช่องโหว่ SSH ที่มีผลต่อความสมบูรณ์ของช่อง การจัดการแพตช์ที่เหมาะสมการกำหนดค่าที่เข้มงวดและแนวทางปฏิบัติด้านความปลอดภัยของเครือข่ายที่ระมัดระวังเป็นสิ่งจำเป็นในการปกป้องช่องทางการสื่อสารแบบสองทิศทางในโปรโตคอลเหล่านี้