พวกเขาเสนอให้เลิกใช้และลบโปรโตคอล Fedora SCP

จากุบเจเลน (วิศวกรความปลอดภัยของ Red Hat) แนะนำว่าโปรโตคอล SCP ถูกจัดว่าล้าสมัย เพื่อดำเนินการกำจัดในภายหลัง เช่น SCP มีแนวคิดใกล้เคียงกับ RCP และสืบทอดปัญหาทางสถาปัตยกรรม ปัจจัยพื้นฐานที่เป็นที่มาของช่องโหว่ที่อาจเกิดขึ้น

โดยเฉพาะอย่างยิ่งใน SCP และ RCP เซิร์ฟเวอร์ยอมรับการตัดสินใจว่าจะส่งไฟล์และไดเร็กทอรีใดไปยังไคลเอนต์และไคลเอนต์ปฏิบัติตามคำแนะนำของเซิร์ฟเวอร์และตรวจสอบความถูกต้องของชื่ออ็อบเจ็กต์ที่ส่งคืนเท่านั้น

ด้วยการเชื่อมต่อกับเซิร์ฟเวอร์ที่ควบคุมโดยผู้โจมตีเซิร์ฟเวอร์สามารถส่งไฟล์อื่น ๆ ซึ่งนำไปสู่การระบุช่องโหว่หลายครั้ง

ตัวอย่างเช่นก่อนหน้านี้ไคลเอนต์ตรวจสอบไดเร็กทอรีปัจจุบันเท่านั้น แต่ไม่ได้คำนึงถึงว่าเซิร์ฟเวอร์สามารถออกไฟล์ที่มีชื่ออื่นและเขียนทับไฟล์ที่ไม่ได้ร้องขอ (ตัวอย่างเช่นแทนที่จะเป็น "test.txt" ร้องขอเซิร์ฟเวอร์สามารถส่งไฟล์ชื่อ». bashrc «และจะถูกเขียนโดยไคลเอนต์)

ในโพสต์ที่เผยแพร่โดย Jakub Jelen คุณสามารถอ่านสิ่งต่อไปนี้:

สวัสดีผู้ใช้ Fedora! ในช่วงไม่กี่ปีที่ผ่านมามีปัญหาหลายอย่างในโปรโตคอล SCP ทำให้เราต้องหารือกันว่าเราจะกำจัดมันได้หรือไม่ในระยะเริ่มต้น

เสียงส่วนใหญ่กล่าวว่าพวกเขาใช้ SCP เป็นหลักในการทำสำเนาเฉพาะกิจและเนื่องจากโปรแกรมอรรถประโยชน์ sftp ไม่มีอินเทอร์เฟซง่ายๆในการคัดลอกไฟล์หนึ่งหรือสองไฟล์ไปมาและเนื่องจากผู้คนใช้เพื่อเขียน scp แทน sftp เท่านั้น

ปัญหาอีกประการหนึ่งของโปรโตคอล SCP คือคุณสมบัติการประมวลผลอาร์กิวเมนต์.

เนื่องจากมีการกล่าวถึงว่า เมื่อคัดลอกไฟล์ไปยังเซิร์ฟเวอร์ภายนอกพา ธ ไฟล์จะถูกเพิ่มที่ส่วนท้ายของคำสั่ง scp ภายในเครื่องตัวอย่างเช่นเมื่อคุณรันคำสั่ง« scp / sourcefile remoteserver: 'touch / tmp / exploit.sh` / targetfile' »บนเซิร์ฟเวอร์คำสั่ง» touch / tmp / exploit.sh »และไฟล์ / tmp คือ สร้าง /exploit.sh ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องใช้อักขระหลีกที่ถูกต้องใน scp

เมื่อใช้ scp เพื่อส่งผ่านเนื้อหาของไดเร็กทอรีซ้ำ (ตัวเลือก "-r") ในระบบไฟล์ที่ยอมรับอักขระ "" "ในชื่อไฟล์ผู้โจมตีสามารถสร้างไฟล์ที่มีเครื่องหมายอะพอสทรอฟีและกำหนดให้เป็นรหัสเพื่อเรียกใช้

ใน OpenSSH ปัญหานี้ยังคงไม่ได้รับการแก้ไข เป็นปัญหาในการแก้ไขโดยไม่ทำลายความเข้ากันได้แบบย้อนหลังเช่นเรียกใช้คำสั่งเพื่อตรวจสอบว่ามีไดเร็กทอรีอยู่หรือไม่ก่อนที่จะคัดลอก

การอภิปรายก่อนหน้านี้แสดงให้เห็นว่าโดยทั่วไปแล้ว scp จะใช้เพื่อคัดลอกไฟล์จากระบบหนึ่งไปยังอีกระบบหนึ่ง

อย่างไรก็ตาม หลายคนใช้ scp แทน sftp เนื่องจากอินเทอร์เฟซที่ง่ายกว่า และเห็นได้ชัดว่าจะคัดลอกไฟล์หรือไม่เป็นนิสัย Jakub แนะนำให้ใช้การใช้งานโปรแกรมอรรถประโยชน์ scp เริ่มต้นโดยแปลงเป็นใช้โปรโตคอล SFTP (สำหรับกรณีพิเศษบางอย่างยูทิลิตี้จะมีตัวเลือก "-M scp" เพื่อเปลี่ยนกลับเป็นโปรโตคอล SCP) หรือเพิ่มโหมดความเข้ากันได้ให้กับยูทิลิตี้ sftp อนุญาตให้คุณใช้ sftp in เป็นการแทนที่แบบโปร่งใสสำหรับ scp

หลายเดือนก่อนฉันเขียนแพทช์สำหรับ scp เพื่อใช้ SFTP ภายใน (มีความเป็นไปได้ที่จะเปลี่ยนกลับโดยใช้ -M scp) และรันได้สำเร็จในการทดสอบบางอย่าง

ผลตอบรับต้นน้ำโดยรวมก็ค่อนข้างดีดังนั้นฉันจึงอยากได้ยินจากผู้ใช้ของเราเช่นกัน มันยังคงมีข้อ จำกัด บางอย่าง (การรองรับขาดหายไปมันจะไม่ทำงานถ้าเซิร์ฟเวอร์ไม่รันระบบย่อย sftp, …) แต่ควรจะดีพอสำหรับกรณีการใช้งานทั่วไป

ระหว่างข้อ จำกัด ของแนวทางที่เสนอ ความเป็นไปไม่ได้ในการแลกเปลี่ยนข้อมูลกับเซิร์ฟเวอร์ที่ไม่เริ่มระบบย่อย sftp ถูกกล่าวถึง และไม่มีโหมดถ่ายโอนระหว่างโฮสต์ภายนอกสองโฮสต์ที่มีการส่งผ่านโลคัลโฮสต์ (โหมด "-3") ผู้ใช้บางคนสังเกตด้วยว่า SFTP อยู่หลัง SCP เล็กน้อยในแง่ของแบนด์วิดท์ซึ่งจะเห็นได้ชัดเจนมากขึ้นในการเชื่อมต่อที่ไม่ดีและมีเวลาแฝงสูง

สำหรับการทดสอบแพคเกจ openssh ทางเลือกได้ถูกวางไว้ในที่เก็บ copr แล้วโดยแพตช์ด้วยการใช้ยูทิลิตี้ scp ผ่านโปรโตคอล SFTP

Fuente: https://lists.fedoraproject.org/


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา