ตรวจพบช่องโหว่ใน APT ซึ่งช่วยให้คุณสามารถแทนที่แพ็คเกจที่ดาวน์โหลดได้

ฉลาด

ได้รับการระบุ ช่องโหว่ในตัวจัดการแพ็กเกจ APT (CVE-2019-3462), อะไร อนุญาตให้ผู้โจมตีทำการปลอมแปลงแพ็กเกจที่ติดตั้งไว้ ไม่ว่าผู้โจมตีจะควบคุมมิเรอร์พื้นที่เก็บข้อมูลหรือสามารถขัดขวางการรับส่งข้อมูลระหว่างผู้ใช้และที่เก็บ (การโจมตี MITM)

ปัญหาถูกระบุโดย Max Justicz นักวิจัยด้านความปลอดภัยขึ้นชื่อเรื่องการตรวจจับช่องโหว่ใน APK package manager (Alpine) และในที่เก็บ Packagist, NPM และ RubyGems

ปัญหา เกิดจากการตรวจสอบช่องในรหัสประมวลผลการเปลี่ยนเส้นทาง HTTP ไม่ถูกต้อง

อะไรคือปัญหา?

ช่องโหว่นี้ อนุญาตให้ผู้โจมตีแทนที่เนื้อหาของตนเองในข้อมูลที่ส่งภายในเซสชัน HTTP (Debian และ Ubuntu ใช้ HTTP ไม่ใช่ HTTPS เพื่อเข้าถึงที่เก็บโดยสมมติว่าลายเซ็นดิจิทัลเพียงพอกับข้อมูลเมตาและขนาดแพ็กเก็ตที่ตรงกัน)

ช่องโหว่ที่ระบุทำให้ผู้โจมตีมีอำนาจ แทนที่แพ็กเก็ตที่ส่งหลังจากนั้น APT จะรับรู้ว่าได้รับจากมิเรอร์อย่างเป็นทางการและเริ่มกระบวนการติดตั้ง

ด้วยการรวมไว้ในแพ็กเกจสคริปต์ที่เป็นอันตรายที่ถูกเรียกใช้ระหว่างการติดตั้งผู้โจมตีสามารถดำเนินการโค้ดของเขาบนระบบที่มีสิทธิ์ระดับรูทได้

ในการดาวน์โหลดข้อมูลจากที่เก็บ APT จะเริ่มกระบวนการลูกด้วยการใช้งานการขนส่งเฉพาะและจัดระเบียบการโต้ตอบกับกระบวนการนี้โดยใช้โปรโตคอลข้อความธรรมดาที่มีการแบ่งคำสั่งตามบรรทัดว่าง

ฉันจะตรวจพบปัญหาได้อย่างไร?

สาระสำคัญของปัญหาคือตัวจัดการการขนส่ง HTTPเมื่อได้รับการตอบกลับจากเซิร์ฟเวอร์ HTTP ที่มีส่วนหัว "ตำแหน่ง:" ระบบจะร้องขอการยืนยันการเปลี่ยนเส้นทางจากกระบวนการหลัก

ถ่ายโอนเนื้อหาของส่วนหัวนี้โดยสมบูรณ์ เนื่องจากอักขระพิเศษที่ส่งขาดความสะอาดผู้โจมตีสามารถระบุการแบ่งบรรทัดในช่อง "ตำแหน่ง:"

เนื่องจากค่านี้จะถูกถอดรหัสและส่งผ่านช่องทางการสื่อสารด้วยกระบวนการหลักผู้โจมตีสามารถจำลองการตอบสนองที่แตกต่างจากตัวจัดการการขนส่ง HTTP และแทนที่บล็อก URI 201 จำลอง

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

การคำนวณแฮชสำหรับไฟล์ที่ดาวน์โหลดจะได้รับการจัดการและกระบวนการหลักเพียงแค่ตรวจสอบข้อมูลนี้ด้วยแฮชจากฐานข้อมูลของแพ็กเกจที่ลงนาม

ในบรรดาข้อมูลเมตาผู้โจมตีสามารถระบุค่าของแฮชทดสอบใด ๆ ที่เชื่อมโยงในฐานข้อมูลกับแพ็กเกจที่เซ็นชื่อจริง แต่ไม่ตรงกับแฮชของไฟล์ที่ถ่ายโอน

กระบวนการหลักจะยอมรับรหัสตอบกลับที่ถูกแทนที่ด้วยการโจมตีค้นหาแฮชในฐานข้อมูลและพิจารณาว่าแพ็คเก็ตที่มีลายเซ็นดิจิทัลถูกต้องถูกโหลดแม้ว่าในความเป็นจริงค่าของฟิลด์ที่มีแฮชจะถูกแทนที่ด้วย ช่องทางการสื่อสารที่มีกระบวนการหลักโดยใช้การโจมตีและไฟล์ที่ระบุในข้อมูลเมตาที่ถูกแทนที่

การดาวน์โหลดแพ็กเกจที่เป็นอันตรายทำได้โดยการแนบแพ็กเกจเข้ากับไฟล์ Release.gpg ระหว่างการโอนย้าย

ไฟล์นี้มีตำแหน่งที่คาดเดาได้บนระบบไฟล์และการแนบแพ็กเกจเข้ากับการเริ่มต้นจะไม่มีผลต่อการแตกลายเซ็นดิจิทัลจากที่เก็บ

เมื่อได้รับข้อมูล apt ปิดใช้งานกระบวนการของผู้ปฏิบัติงานที่เชี่ยวชาญในโปรโตคอลต่างๆที่จะใช้สำหรับการถ่ายโอนข้อมูล

จากนั้นกระบวนการหลักจะสื่อสารกับคนงานเหล่านี้ผ่าน stdin / stdout เพื่อบอกพวกเขาว่าจะดาวน์โหลดอะไรและจะวางไว้ที่ใดในระบบไฟล์โดยใช้โปรโตคอลที่ดูเหมือน HTTP เล็กน้อย

จากนั้นกระบวนการหลักจะส่งการกำหนดค่าและขอทรัพยากรจากนั้นกระบวนการของผู้ปฏิบัติงานจะตอบสนอง

เมื่อเซิร์ฟเวอร์ HTTP ตอบสนองด้วยการเปลี่ยนเส้นทางกระบวนการของผู้ปฏิบัติงานจะส่งคืน 103 Redirect แทนที่จะเป็น 201 URI Done และกระบวนการหลักจะใช้การตอบกลับนี้เพื่อค้นหาว่าทรัพยากรใดที่จะร้องขอต่อไป


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

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

*

*

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