Facebook-ийн нээлттэй эх сурвалжтай Mariana Trench статик анализатор

Facebook нь Android платформ болон Java программуудад зориулсан программуудын сул талыг илрүүлэх зорилготой Mariana Trench хэмээх шинэ нээлттэй статик анализаторыг танилцууллаа. Далвик виртуал машинд зориулж зөвхөн байт код ашиглах боломжтой төслүүдийг эх кодгүйгээр шинжлэх боломжтой. Өөр нэг давуу тал нь гүйцэтгэлийн маш өндөр хурд юм (хэдэн сая мөр кодын дүн шинжилгээ хийхэд 10 секунд зарцуулдаг) бөгөөд энэ нь танд санал болгож буй бүх өөрчлөлтийг ирэх үед шалгахын тулд Мариана Тренчийг ашиглах боломжийг олгодог. Төслийн код нь C++ хэл дээр бичигдсэн бөгөөд MIT лицензийн дагуу түгээгддэг.

Уг анализаторыг Facebook, Instagram, Whatsapp зэрэг гар утасны програмын эх бичвэрийг шалгах үйл явцыг автоматжуулах төслийн хүрээнд бүтээжээ. 2021 оны эхний хагаст Facebook-ийн гар утасны аппликейшний нийт эмзэг байдлын тал хувийг автоматжуулсан шинжилгээний хэрэглүүр ашиглан илрүүлсэн байна. Mariana Trench код нь Facebook-ийн бусад төслүүдтэй нягт уялдаатай байдаг; жишээлбэл, Redex байт кодыг оновчтой болгогчийг байт кодыг задлахад ашигласан бол SPARTA номын санг статик шинжилгээний үр дүнг нүдээр тайлбарлаж, судлахад ашигласан.

SQL асуулга, файлын ажиллагаа, гадаад программыг өдөөх дуудлага зэрэг аюултай бүтцэд түүхий гадаад өгөгдлийг боловсруулж байгаа нөхцөл байдлыг тодорхойлохын тулд програмыг ажиллуулах явцад өгөгдлийн урсгалд дүн шинжилгээ хийх замаар болзошгүй эмзэг байдал болон нууцлалын асуудлуудыг тодорхойлдог.

Анализаторын ажил нь өгөгдлийн эх сурвалж, аюултай дуудлагын эх сурвалжийг тодорхойлоход чиглэгддэг - анализатор нь функцийн дуудлагын гинжин хэлхээгээр өгөгдөл дамжуулалтыг хянаж, код дахь аюултай газруудтай эх өгөгдлийг холбодог. . Жишээлбэл, Intent.getData руу залгаснаар хүлээн авсан өгөгдөл нь эх сурвалжийг хянах шаардлагатай гэж үздэг бөгөөд Log.w болон Runtime.exec руу залгах нь аюултай хэрэглээ гэж тооцогддог.

Facebook-ийн нээлттэй эх сурвалжтай Mariana Trench статик анализатор


Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх