แนะนำให้ใช้ Sigstore สำหรับการตรวจสอบแพ็คเกจใน NPM

ได้ข่าวว่า บน GitHub มีการเสนอข้อเสนอเพื่อหารือเพื่อดำเนินการ บริการ Sigstore เพื่อตรวจสอบแพ็คเกจ ด้วยลายเซ็นดิจิทัลและเก็บรักษาบันทึกสาธารณะเพื่อยืนยันความถูกต้องเมื่อแจกจ่ายการเผยแพร่

เกี่ยวกับข้อเสนอกล่าวว่าการใช้ Sigstore จะอนุญาตให้ใช้ระดับการป้องกันเพิ่มเติม ต่อต้านการโจมตีที่มุ่งแทนที่ส่วนประกอบซอฟต์แวร์และการพึ่งพา (ห่วงโซ่อุปทาน)

การรักษาความปลอดภัยห่วงโซ่อุปทานซอฟต์แวร์เป็นหนึ่งในความท้าทายด้านความปลอดภัยที่ใหญ่ที่สุดที่อุตสาหกรรมของเราเผชิญอยู่ในขณะนี้ ข้อเสนอนี้เป็นขั้นตอนต่อไปที่สำคัญ แต่การแก้ปัญหานี้จะต้องมีความมุ่งมั่นและการลงทุนจากทั่วทั้งชุมชน...

การเปลี่ยนแปลงเหล่านี้ช่วยปกป้องผู้บริโภคโอเพ่นซอร์สจากการโจมตีซัพพลายเชนของซอฟต์แวร์ กล่าวอีกนัยหนึ่งเมื่อผู้ใช้ที่ประสงค์ร้ายพยายามแพร่กระจายมัลแวร์โดยการละเมิดบัญชีของผู้ดูแลและเพิ่มซอฟต์แวร์ที่เป็นอันตรายในการพึ่งพาโอเพนซอร์สที่ใช้โดยนักพัฒนาหลายคน

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

เป็นมูลค่าการกล่าวขวัญว่า Sigstore ไม่ได้เป็นเพียงเครื่องมือลงนามโค้ดอื่น เนื่องจากแนวทางปกติของมันคือการกำจัดความจำเป็นในการจัดการคีย์การลงนามโดยการออกคีย์ระยะสั้นตามข้อมูลประจำตัว OpenID Connect (OIDC) ในเวลาเดียวกันกับการบันทึกการดำเนินการ ในบัญชีแยกประเภทที่ไม่เปลี่ยนรูปที่เรียกว่า rekor นอกจากนี้ Sigstore มีอำนาจออกใบรับรองของตนเองที่เรียกว่า Fulcio

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

การใช้ Sigstore ลดความซับซ้อนของกระบวนการจัดการคีย์ และขจัดความซับซ้อนที่เกี่ยวข้องกับการลงทะเบียน การเพิกถอน และการจัดการคีย์การเข้ารหัส Sigstore ส่งเสริมตัวเองในฐานะ Let's Encrypt สำหรับรหัส โดยให้ใบรับรองสำหรับการเซ็นชื่อแบบดิจิทัลและเครื่องมือสำหรับการตรวจสอบอัตโนมัติ

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

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

โปรเจ็กต์นี้ได้เห็นการนำไปใช้ในช่วงต้นกับระบบนิเวศของตัวจัดการแพ็คเกจอื่นๆ ด้วย RFC ของวันนี้ เราขอเสนอให้เพิ่มการรองรับการเซ็นชื่อแบบ end-to-end ของแพ็คเกจ npm โดยใช้ Sigstore กระบวนการนี้จะรวมถึงการสร้างใบรับรองเกี่ยวกับสถานที่ เวลา และวิธีสร้างแพ็คเกจ เพื่อให้สามารถตรวจสอบได้ในภายหลัง

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

สุดท้าย เป็นมูลค่าการกล่าวขวัญว่า Sigstore ได้รับการพัฒนาร่วมกันโดย Linux Foundation, Google, Red Hat, Purdue University และ Chainguard

หากต้องการทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียดใน ลิงค์ต่อไปนี้


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

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

*

*

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