วิธีการรับรู้แพ็คเกจ AUR ที่เป็นอันตราย


11

ฉันจะรู้ได้อย่างไรว่าแพคเกจที่ติดตั้งผ่าน yaourt บน arch linux อาจเป็นอันตรายต่อพีซีของฉันหรือไม่ ฉันอ่านวิกิว่าฉันควรตรวจสอบทุกการติดตั้งที่คุณทำด้วย yourt แต่ฉันต้องตรวจสอบอะไรบ้างและฉันจะจำแพ็คเกจที่เป็นอันตรายได้อย่างไร


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

คำสั่ง wiki คือการอ่าน PKGBUILD ก่อนที่จะดำเนินการติดตั้ง ...
jasonwryan

3
@ zsolt นั่นเป็นเรื่องไร้สาระ: มีแพ็คเกจดีๆมากมายใน AUR ซึ่งบางส่วนก็ถูกย้ายจาก repos อย่างเป็นทางการ โดยหลักการแล้วแพ็คเกจ AUR นั้นใช้งานได้ดี สิ่งที่สำคัญคือการเข้าใจสิ่งที่คุณกำลังติดตั้ง
jasonwryan

1
ไม่ต้องสงสัยเลยว่าจะมีใครรู้บ้างว่าaur-fooแพคเกจนั้นเป็นอันตรายหรือไม่ มีกฎทั่วไปหรืออัลกอริทึมอยู่หรือไม่? ฉันคิดว่าไม่ และการอ่าน PKGBUILD ยังไม่เพียงพอ - คิดว่าจะติดตั้งโปรแกรม C ที่เป็นอันตราย คุณอ่านซอร์สโค้ดแบบเต็มก่อนการติดตั้งหรือไม่? ฉันคิดว่าควรตรวจสอบความคิดเห็น (เกี่ยวกับรายงานคำเตือน) และการลงคะแนน (หากมีการโหวตจำนวนมากดูเหมือนว่าจะไม่แย่มาก) ฉันใช้แพ็คเกจ AUR มากมายและฉันคิดว่าสิ่งเหล่านี้ส่วนใหญ่ดี แต่ ... ปีศาจไม่เคยหลับ :)
uzsolt

คำตอบ:


7

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

  • ดาวน์โหลดแพคเกจแกะมันออก ( อย่าติดตั้ง!) และทำการตรวจสอบไวรัสบนไฟล์ที่แตกออก สิ่งนี้สามารถค้นหาปัญหาที่รู้จักกันดี แต่ไม่ได้กำหนดเป้าหมายหรือแฮ็กที่กำหนดเอง
  • ก่อนที่จะใช้ให้ติดตั้งบนเครื่องเสมือนและตรวจสอบว่ามันไม่ได้ทำอะไร "น่าสงสัย" เช่นการสัมผัสไฟล์ที่มันไม่ควรสื่อสารกับเซิร์ฟเวอร์ภายนอกเริ่มต้นกระบวนการ daemon ด้วยตัวเอง ฯลฯ แน่นอน มันอาจจะทำสิ่งต่าง ๆ เช่นนั้นตามกำหนดเวลาตัวอย่างเช่นหลังจากทำงานเป็นเวลา X ชั่วโมงและไม่มีทางที่คุณจะรู้โดยไม่ต้องตรวจสอบรหัสโดยละเอียด เครื่องตรวจจับ Rootkit สามารถทำสิ่งนี้ได้โดยอัตโนมัติ
  • ติดตั้งในสภาพแวดล้อมที่ จำกัด SELinux, chroot jails, เครื่องเสมือน, เครื่องที่ไม่ได้เชื่อมต่อแยกต่างหากและสิ่งอื่น ๆ อีกมากมายสามารถมีซอฟต์แวร์ที่เป็นปัญหาหลายประเภทตั้งแต่เลวร้ายไปจนถึงอันตรายร้ายแรง
  • ข้อมูลที่มีค่า (แต่ไม่เป็นความลับ) สามารถวางบนเซิร์ฟเวอร์ที่แยกต่างหากด้วยการเข้าถึงแบบอ่านอย่างเดียวที่มอบให้กับเครื่องที่ไม่น่าเชื่อถือ
  • ข้อมูลลับควรอยู่ในเครื่องที่ไม่สามารถเข้าถึงได้จากเครื่องที่ไม่น่าเชื่อถือ การสื่อสารใด ๆ ควรเป็นสำเนาด้วยตนเองผ่านสื่อแบบถอดได้

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


ฉันเพิ่งติดตามรายการ wiki สำหรับ xflux และ sun JDK คู่มือของคุณสำหรับ AUR ทุกรายการหรือฉันสามารถเชื่อถือแพ็คเกจที่มีบทความ wiki.archlinux มากมายได้หรือไม่?
lup3x

4
ไม่มีใครสามารถบอกคุณได้ว่าใครจะไว้ใจ ไม่มีใครรู้ว่าใครจะไว้ใจ สิ่งที่คุณสามารถทำได้คือการใช้วิจารณญาณบนพื้นฐานของประสบการณ์ของคุณเองคำแนะนำของคนที่คุณไว้วางใจความนิยมของแพ็คเกจหรือการแก้ปัญหาแบบอื่น ๆ ที่คุณตัดสินว่าเพียงพอ
l0b0

ขอบคุณฉันจะจำไว้ว่าเมื่อติดตั้งแพคเกจใหม่
lup3x

2
ฉันไม่แน่ใจว่าจะเชื่อถือคำแนะนำของ @ l0b0 หรือไม่
Sparhawk

1
@Sparhawk ดีเราบนอินเทอร์เน็ตหลังจากทั้งหมดและผู้ที่ไว้วางใจมีที่จะตัดสินใจส่วนบุคคล
l0b0

3

ดังที่ได้กล่าวไว้ก่อนหน้านี้คุณไม่สามารถรู้ได้อย่างแน่นอน

หนึ่งในฮิวริสติกหลักที่ฉันใช้คือ:

  • อ่าน PKGBUILD และค้นหาเว็บไซต์ที่ดาวน์โหลดซอฟต์แวร์จาก เป็นที่ที่คุณคาดหวังหรือไม่ มันมาจากแหล่งที่เชื่อถือได้หรือไม่? ยกตัวอย่างเช่น spotify แหล่งที่มาคือ ' http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.0.15.137.gbdf68615_amd64.deb '

หากฉันกำลังจะลองและติดตั้งด้วยตนเองฉันจะดาวน์โหลดจาก spotify.com ต่อไปดังนั้นนี่ก็ใช้ได้ในหนังสือของฉัน อ่านสั้น ๆ ของส่วนที่เหลือของ PKGBUILD และดูเหมือนว่าจะไม่ทำอะไรผิดปกติอย่างเห็นได้ชัด แน่นอนว่ามีวิธีที่จะลับ ๆ ล่อๆ แต่ฉันคิดว่าเป้าหมายหลักสำหรับโค้ดที่เป็นอันตรายใด ๆ ใน AUR จะเป็นคนที่ใช้ yaourt ฯลฯ ซึ่งมักจะไม่อ่าน PKGBUILD ก่อนที่พวกเขาจะติดตั้งซอฟต์แวร์และจะไม่พบปัญหาแม้ว่าจะชัดเจน .

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.