Facebook เปิดตัว Pysa ซึ่งเป็นเครื่องมือวิเคราะห์แบบคงที่สำหรับภาษา Python

Facebook ส่ง เปิดเครื่องวิเคราะห์แบบคงที่ ปิศาจ (Python Static Analyzer) ออกแบบมาเพื่อระบุช่องโหว่ที่อาจเกิดขึ้นในโค้ด Python เครื่องวิเคราะห์ใหม่ได้รับการออกแบบเป็นส่วนเสริมให้กับชุดเครื่องมือตรวจสอบประเภท กองฟืน และโพสต์ไว้ในคลังของเขา รหัส การตีพิมพ์ ภายใต้ใบอนุญาต MIT

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

งานของเครื่องวิเคราะห์ขึ้นอยู่กับการระบุแหล่งที่มาของข้อมูลและการเรียกที่เป็นอันตรายซึ่งไม่ควรใช้ข้อมูลต้นฉบับ ข้อมูลจากคำขอของเว็บ (เช่น พจนานุกรม HttpRequest.GET ใน Django) ถือเป็นแหล่งข้อมูล และการโทร เช่น eval และ os.open ถือเป็นการใช้งานที่เป็นอันตราย Pysa ติดตามการไหลของข้อมูลผ่านสายการเรียกใช้ฟังก์ชันและเชื่อมโยงข้อมูลต้นฉบับกับตำแหน่งที่อาจเป็นอันตรายในโค้ด ช่องโหว่ทั่วไปที่ระบุโดยใช้ Pysa คือปัญหาการเปลี่ยนเส้นทางแบบเปิด (CVE-2019-19775) ในแพลตฟอร์มการส่งข้อความ Zulip ซึ่งเกิดจากการส่งพารามิเตอร์ภายนอกที่ไม่สะอาดเมื่อแสดงภาพขนาดย่อ

ความสามารถในการติดตามกระแสข้อมูลของ Pysa สามารถทำได้ นำมาใช้ เพื่อตรวจสอบการใช้เฟรมเวิร์กเพิ่มเติมที่ถูกต้อง และเพื่อตรวจสอบการปฏิบัติตามนโยบายการใช้ข้อมูลผู้ใช้ ตัวอย่างเช่น สามารถใช้ Pysa ที่ไม่มีการตั้งค่าเพิ่มเติมเพื่อตรวจสอบโปรเจ็กต์โดยใช้เฟรมเวิร์ก Django และ Tornado Pysa ยังสามารถตรวจจับช่องโหว่ทั่วไปในเว็บแอปพลิเคชัน เช่น การแทรก SQL และการเขียนสคริปต์ข้ามไซต์ (XSS)

บน Facebook ตัววิเคราะห์จะใช้เพื่อตรวจสอบรหัสของบริการ Instagram ในไตรมาสแรกของปี 2020 Pysa ช่วยระบุ 44% ของปัญหาทั้งหมดที่วิศวกร Facebook ที่พบในโค้ดเบสฝั่งเซิร์ฟเวอร์ของ Instagram
โดยรวมแล้ว กระบวนการตรวจสอบการเปลี่ยนแปลงอัตโนมัติของ Pysa ระบุปัญหาได้ 330 ประเด็น โดย 49 ประเด็น (15%) ได้รับการจัดอันดับว่าเป็นปัญหาใหญ่ และ 131 ประเด็น (40%) ระบุว่าไม่รุนแรง ใน 150 กรณี (45%) ปัญหาถูกจัดอยู่ในประเภทผลบวกลวง

ที่มา: opennet.ru

เพิ่มความคิดเห็น