Mariana Trench เครื่องมือวิเคราะห์รหัสคงที่แบบโอเพนซอร์สของ Facebook

เปิดตัว Facebook ไม่กี่วันก่อนเขาปล่อย เครื่องวิเคราะห์สถิตโอเพ่นซอร์ส Mariana Trench ซึ่งมีวัตถุประสงค์เพื่อระบุช่องโหว่ในแอปพลิเคชัน Android และโปรแกรม Java

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

เครื่องวิเคราะห์ ได้รับการพัฒนาเป็นส่วนหนึ่งของโครงการเพื่อทำให้กระบวนการตรวจสอบโค้ดเป็นไปโดยอัตโนมัติ ที่มาของแอปพลิเคชั่นมือถือ ของ Facebook, Instagram และ Whatsapp

เราแบ่งปันรายละเอียดเกี่ยวกับ Mariana Trench (MT) ซึ่งเป็นเครื่องมือที่เราใช้ในการตรวจหาและป้องกันข้อผิดพลาดด้านความปลอดภัยและความเป็นส่วนตัวในแอปพลิเคชัน Android และ Java ส่วนหนึ่งของความพยายามของเราในการช่วยขยายการรักษาความปลอดภัยผ่านระบบอัตโนมัติของอาคาร เมื่อเร็วๆ นี้เราได้เปิด MT เพื่อสนับสนุนวิศวกรความปลอดภัยบน Facebook และทั่วทั้งอุตสาหกรรม

โพสต์นี้เป็นครั้งที่สามในชุดข้อมูลเจาะลึกของเราเกี่ยวกับเครื่องมือวิเคราะห์แบบสแตติกและไดนามิกที่เราไว้วางใจ MT เป็นระบบล่าสุด ต่อจาก Zoncolan และ Pysa ที่สร้างขึ้นสำหรับโค้ด Hack และ Python ตามลำดับ

ในช่วงครึ่งแรกของปี 2021 ครึ่งหนึ่งของช่องโหว่ในแอปพลิเคชันมือถือของ Facebook ถูกระบุโดยใช้เครื่องมือวิเคราะห์อัตโนมัติ โค้ดของ Mariana Trench มีความเกี่ยวพันอย่างใกล้ชิดกับโปรเจ็กต์อื่นๆ ของ Facebook เช่น การดำเนินการเพิ่มประสิทธิภาพ bytecode ของ Redex ใช้ในการวิเคราะห์ bytecode และไลบรารี SPARTA ใช้สำหรับการตีความภาพและการศึกษาผลลัพธ์ การวิเคราะห์แบบสถิต

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

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

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

เนื่องจากใน MT โฟลว์ข้อมูลสามารถอธิบายได้โดย:

  • ที่มา: จุดกำเนิด. ซึ่งอาจเป็นสตริงที่ควบคุมโดยผู้ใช้ที่เข้าสู่แอปพลิเคชันผ่าน "Intent.getData"
  • อ่างล้างจาน: ปลายทาง. บน Android อาจเป็นการเรียก `Log.w` หรือ` Runtime.exec` ตัวอย่างเช่น ข้อมูลจากการโทรไปยัง Intent.getData ถือเป็นแหล่งที่มาในการตรวจสอบ และการเรียกใช้ Log.w และ Runtime.exec ถือเป็นการใช้งานที่เป็นอันตราย

ฐานรหัสขนาดใหญ่สามารถมีแหล่งที่มาและตัวรับที่เกี่ยวข้องได้หลายประเภท เราสามารถบอกให้ MT แสดงโฟลว์เฉพาะโดยกำหนดกฎเกณฑ์

กฎอาจระบุ ตัวอย่างเช่น เราต้องการค้นหาการเปลี่ยนเส้นทางโดยเจตนา (ปัญหาที่อนุญาตให้ผู้โจมตีดักจับข้อมูลที่ละเอียดอ่อน) โดยกำหนดกฎที่แสดงร่องรอยทั้งหมดจากแหล่งที่มาที่ "ควบคุมโดยผู้ใช้" ไปที่ " การเปลี่ยนเส้นทางแห่งความตั้งใจ"

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบ you รายละเอียดตามลิงค์ด้านล่าง.


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

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

*

*

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