คำศัพท์ด้านความปลอดภัยของ Xygeni
คำศัพท์ด้านความปลอดภัยในการพัฒนาและส่งมอบซอฟต์แวร์

Dependency Firewall คืออะไร?

ลองถามนักพัฒนาซอฟต์แวร์ห้าคนว่า "dependency firewall" คืออะไร คุณอาจจะได้คำตอบที่แตกต่างกันห้าคำตอบ ซึ่งส่วนใหญ่จะเป็นคำตอบคลุมเครือเกี่ยวกับการ "บล็อกแพ็กเกจที่ไม่ดี" นี่คือข้อมูลเบื้องต้นcisเวอร์ชัน e: เป็นระบบควบคุมความปลอดภัยที่อยู่ระหว่างนักพัฒนา (หรือระบบสร้างโปรแกรม) กับแหล่งจัดเก็บแพ็กเกจสาธารณะ ตรวจสอบการพึ่งพาแต่ละรายการ ก่อนที่จะอนุญาตให้ดาวน์โหลดหรือติดตั้ง และจะบล็อกโดยอัตโนมัติหากพบว่าเป็นมัลแวร์ มีช่องโหว่ หรือละเมิดนโยบาย นั่นคือความหมายที่แท้จริงของไฟร์วอลล์ด้านการพึ่งพา (dependency firewall): ไม่ใช่เครื่องสแกนที่รายงานปัญหาหลังจากที่เกิดขึ้นแล้ว แต่เป็นประตูที่หยุดแพ็กเกจที่ไม่ดีไม่ให้เข้าถึงดิสก์ได้

อธิบายความหมายของคำว่า: Dependency Firewall #

ชื่อนี้มีความหมายตรงตัวมากกว่าที่คิด และการอธิบายรายละเอียดจะช่วยคลายความสับสนเกี่ยวกับสิ่งที่เรียกว่า Dependency Firewall ได้เป็นส่วนใหญ่:

การพึ่งพา: แพ็กเกจ ไลบรารี หรือโมดูลภายนอกใดๆ ที่โค้ดของคุณดึงเข้ามาจาก npm PyPI, Maven, นูเก็ท, ทับทิมและทะเบียนอื่นๆ ที่คล้ายคลึงกัน

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

โดยสรุปแล้ว ความหมายของไฟร์วอลล์ด้านการพึ่งพา (dependency firewall) นั้นตรงไปตรงมา นั่นคือ มันเป็นจุดตรวจสอบสำหรับการพึ่งพาของโค้ด ในทำนองเดียวกับที่ไฟร์วอลล์เครือข่ายเป็นจุดตรวจสอบสำหรับปริมาณการรับส่งข้อมูลในเครือข่าย

ไฟร์วอลล์สำหรับจัดการการพึ่งพา (Dependency Firewall) ทำงานอย่างไรกันแน่ #

ระบบส่วนใหญ่ที่ตรงตามข้อกำหนดของไฟร์วอลล์ด้านการพึ่งพา มักจะปฏิบัติตามลำดับที่คล้ายคลึงกันดังนี้:

  • การสกัดกั้น: เครื่องมือ hooks ในขั้นตอนการติดตั้ง (เช่น npm install, pip install และคำสั่งที่เทียบเท่า) หรือในขั้นตอนพร็อกซีของรีจิสทรี เพื่อให้สามารถเห็นคำขอได้ก่อนที่แพ็กเกจจะถูกติดตั้งเสร็จสมบูรณ์
  • การประเมินผล: ระบบจะตรวจสอบแพ็กเกจและเวอร์ชันที่ร้องขอเทียบกับตัวบ่งชี้ที่เป็นอันตรายที่รู้จัก ฐานข้อมูลช่องโหว่ นโยบายใบอนุญาต และสัญญาณบ่งชี้พฤติกรรม (สคริปต์การติดตั้งที่น่าสงสัย กิจกรรมของผู้ดูแลที่ไม่ปกติ แพ็กเกจที่เผยแพร่ใหม่ที่ไม่มีประวัติ)
  • Decisไอออน: การติดตั้งอาจดำเนินการตามปกติ ถูกแจ้งให้ตรวจสอบ หรือถูกบล็อกโดยสิ้นเชิง ขึ้นอยู่กับความรุนแรงและนโยบายขององค์กร
  • การบันทึก: ทุกๆcisการกระทำดังกล่าวจะถูกบันทึกไว้ ทำให้ทีมรักษาความปลอดภัยสามารถตรวจสอบได้ว่ามีการพยายามกระทำอะไรบ้าง และสิ่งใดถูกหยุดยั้งไว้ได้

ไฟร์วอลล์กับสแกนเนอร์: ความแตกต่างที่แท้จริงอยู่ตรงไหน #

คำถามที่มักตามมาหลังจากถามถึง prompt injection คือความแตกต่างระหว่าง prompt injection กับ jailbreaking ทั้งสองอย่างมีความเกี่ยวข้องกันแต่ไม่เหมือนกันเสียทีเดียว Jailbreaking คือการหลีกเลี่ยงระบบของโมเดลโดยเฉพาะ จุดที่มักทำให้สับสนเมื่อคนค้นหาว่า dependency firewall คืออะไรคือความแตกต่างระหว่าง dependency firewall กับ... standard การวิเคราะห์องค์ประกอบซอฟต์แวร์ (SCAสแกนเนอร์ ความแตกต่างอยู่ที่จังหวะเวลา ไม่ใช่ความสามารถ SCA โดยทั่วไปแล้วโปรแกรมสแกนจะทำงานหลังจากติดตั้งส่วนประกอบที่จำเป็นเสร็จเรียบร้อยแล้ว commitเท็ด บอกคุณว่ามีอะไรอยู่ในโค้ดเบสของคุณอยู่แล้วบ้าง ไฟร์วอลล์สำหรับจัดการการพึ่งพาจะทำงานในขณะที่ติดตั้ง ก่อนที่แพ็กเกจจะถูกบันทึกลงดิสก์ อย่างหนึ่งก็เหมือนเครื่องตรวจจับควันหลังจากไฟเริ่มไหม้ อีกอย่างก็เหมือนประตูที่ป้องกันไม่ให้ไฟเข้ามา โปรแกรมรักษาความปลอดภัยที่มีประสิทธิภาพหลายโปรแกรมใช้ทั้งสองอย่าง: ไฟร์วอลล์สำหรับจัดการการพึ่งพาเพื่อป้องกัน และ SCA เพื่อให้มองเห็นสิ่งที่มีอยู่แล้วได้อย่างต่อเนื่อง

ทีมต่างๆ นำสิ่งนี้ไปใช้งานจริงที่ใด #

การเข้าใจความหมายของไฟร์วอลล์ด้านการพึ่งพาในเชิงนามธรรมเป็นเรื่องหนึ่ง และการมองเห็นว่ามันเชื่อมต่อเข้ากับการใช้งานจริงได้อย่างไรก็เป็นอีกเรื่องหนึ่ง pipeline เป็นอีกตัวอย่างหนึ่ง จุดติดตั้งใช้งานทั่วไป ได้แก่:

  • เวิร์กสเตชันสำหรับนักพัฒนา: การบล็อกแพ็กเกจที่เป็นอันตรายทันทีที่นักพัฒนารันคำสั่งติดตั้งในเครื่อง ก่อนที่แพ็กเกจนั้นจะไปถึงที่เก็บข้อมูลส่วนกลาง
  • CI/CD pipelines: บังคับใช้นโยบายเดียวกันโดยอัตโนมัติในทุกการสร้าง เพื่อป้องกันไม่ให้แพ็กเกจที่ถูกบล็อกเล็ดลอดเข้ามาผ่านกระบวนการอัตโนมัติที่มนุษย์ไม่เคยตรวจสอบ
  • พร็อกซีรีจิสทรีส่วนตัว: นั่งอยู่หน้ากระจกตรวจสอบพัสดุภายในของบริษัท ดังนั้นทุกคำขอ ไม่ว่าจะเป็นคำขอจากมนุษย์หรือระบบอัตโนมัติ จะต้องผ่านจุดตรวจสอบเดียวกันทั้งหมด
  • เอージェนต์การเขียนโค้ด AI: ยิ่งระบบอัตโนมัติติดตั้งส่วนประกอบที่จำเป็นด้วยตนเองมากเท่าไหร่ ไฟร์วอลล์สำหรับส่วนประกอบที่จำเป็นก็ยิ่งมีความสำคัญมากขึ้นเท่านั้น และเป็นหนึ่งในไม่กี่กลไกควบคุมที่ยังคงใช้งานได้เมื่อไม่มีนักพัฒนาซอฟต์แวร์คอยสังเกตชื่อแพ็กเกจที่น่าสงสัย

เหตุใดการควบคุมนี้จึงมีความสำคัญมากกว่าแต่ก่อน #

เมื่อไม่กี่ปีที่ผ่านมา เรื่องนี้เป็นเพียงทฤษฎีเท่านั้น: แพ็กเกจที่เป็นอันตรายมีอยู่จริง แต่มีจำนวนน้อยมากจนการตรวจสอบด้วยตนเองสามารถตรวจจับได้ส่วนใหญ่ แต่ปัจจุบันไม่ใช่เช่นนั้นอีกต่อไปแล้ว ปัจจุบันฐานข้อมูลสาธารณะมีปริมาณแพ็กเกจจำนวนมาก แคมเปญการเผยแพร่แบบอัตโนมัติ, บางโปรแกรมสร้างแพ็กเกจที่เป็นอันตรายหลายสิบเวอร์ชันภายในไม่กี่นาที โดยออกแบบมาโดยเฉพาะเพื่อหลีกเลี่ยงการตรวจสอบด้วยตนเองและหลบเลี่ยงนักพัฒนาที่ไว้ใจชื่อที่ฟังดูคุ้นเคย ในสภาพแวดล้อมเช่นนั้น การถามว่า "ไฟร์วอลล์สำหรับจัดการการพึ่งพา" คืออะไร จึงไม่ใช่การถามหาคำจำกัดความอีกต่อไปcisและกลายเป็นคำถามเชิงปฏิบัติว่าองค์กรยังคงมีอำนาจควบคุมใดเหลืออยู่บ้างหรือไม่หลังจากติดตั้งสคริปต์และวงจรชีวิตแล้ว hooks เป็นช่องทางการโจมตีที่ทราบกันอยู่แล้ว ไฟร์วอลล์แบบพึ่งพาเป็นหนึ่งในกลไกไม่กี่อย่างที่สามารถหยุดแพ็กเกจมัลแวร์แบบ Zero-day ได้ก่อนที่จะมีการสร้างลายเซ็นสำหรับมัลแวร์นั้น ซึ่งเป็นเรื่องสำคัญเพราะระบบป้องกันส่วนใหญ่จะใช้งานได้ก็ต่อเมื่อมีการระบุและจัดทำรายการภัยคุกคามแล้วเท่านั้น

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

คำถามที่พบบ่อย #

ในประโยคเดียว ไฟร์วอลล์สำหรับจัดการการพึ่งพาคืออะไร?

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

ไฟร์วอลล์สำหรับจัดการการพึ่งพาของข้อมูลนั้นเหมือนกับซอฟต์แวร์ป้องกันไวรัสสำหรับโค้ดหรือไม่?

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

ไฟร์วอลล์แบบพึ่งพาจะมาแทนที่ได้หรือไม่ SCA เครื่องมือ?

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

ไฟร์วอลล์ที่ใช้ตรวจสอบการพึ่งพาของข้อมูลสามารถหยุดการโจมตีที่ยังไม่มีลายเซ็นที่รู้จักได้หรือไม่?

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

เริ่มฟรี

เริ่มต้นใช้งานฟรี
ไม่ต้องใช้บัตรเครดิต

เริ่มต้นได้ง่ายๆ เพียงคลิกเดียว:

ข้อมูลนี้จะถูกจัดเก็บอย่างปลอดภัยตามข้อกำหนด ข้อกำหนดในการให้บริการ และ ความเป็นส่วนตัว

ภาพหน้าจอแอป