पाइसा, फेसबुक द्वारा की पेशकश की पायथन के लिए एक स्थिर विश्लेषक

फेसबुक ने एक ओपन सोर्स स्टेटिक एनालाइजर पेश किया है जिसका नाम है "प्यासा»(अजगर स्थैतिक विश्लेषक) जो है पायथन कोड में संभावित कमजोरियों की पहचान करने के लिए डिज़ाइन किया गया।

पाइसा डेटा प्रवाह विश्लेषण प्रदान करता है कोड निष्पादन के परिणामस्वरूप, जो आपको कई संभावित कमजोरियों और समस्याओं की पहचान करने की अनुमति देता है गोपनीयता का उपयोग उन स्थानों पर डेटा के उपयोग से संबंधित है जहां इसे दिखाई नहीं देना चाहिए।

उदाहरण के लिए, Pysa कॉल में कच्चे बाहरी डेटा के उपयोग को ट्रैक कर सकते हैं जो बाहरी कार्यक्रमों को, फ़ाइल संचालन में और SQL निर्माण में निष्पादित करता है।

आज, हम पाइसा के बारे में विवरण साझा करते हैं, एक खुला स्रोत स्थैतिक विश्लेषण उपकरण है जिसे हमने पायथन कोड में सुरक्षा और गोपनीयता के मुद्दों का पता लगाने और रोकने के लिए बनाया है। पिछले साल, हमने साझा किया कि कैसे हमने ज़ोनकोलन बनाया, एक स्थिर विश्लेषण उपकरण जो हमें हैक कोड की 100 मिलियन से अधिक लाइनों का विश्लेषण करने में मदद करता है और इंजीनियरों को हजारों संभावित सुरक्षा समस्याओं को रोकने में मदद की है। उस सफलता ने हमें पाइसा को विकसित करने के लिए प्रेरित किया, जो पायथन स्टैटिक एनालाइज़र के लिए एक परिचित है।

Pysa समान एल्गोरिदम का उपयोग करता है स्थैतिक विश्लेषण करने के लिए और यहां तक ​​कि के साथ साझा कोड ज़ोनकोलन। जैसे जोंकोलन, पाइसा डेटा प्रोग्राम के माध्यम से प्रवाहित होता है।

उपयोगकर्ता स्रोतों (उन स्थानों को परिभाषित करता है जहां महत्वपूर्ण डेटा की उत्पत्ति होती है) और साथ ही सिंक (ऐसे स्थान जहां स्रोत डेटा समाप्त नहीं होना चाहिए)।

सुरक्षा अनुप्रयोगों के लिए, सबसे सामान्य प्रकार के स्रोत वे स्थान हैं जहां उपयोगकर्ता-नियंत्रित डेटा एप्लिकेशन में प्रवेश करता है, जैसे कि Django शब्दकोश।

रिसीवर बहुत अधिक विविध होते हैं, लेकिन एपीआई को शामिल कर सकते हैं जो कोड चलाते हैं, जैसे eval, या एपीआई जो फ़ाइल सिस्टम तक पहुंचते हैं, जैसे किos.open

Pysa अमूर्त बनाने के लिए विश्लेषण के पुनरावृत्त दौर करता है यह निर्धारित करने के लिए कि कौन से फ़ंक्शंस किसी स्रोत से डेटा लौटाते हैं और कौन से फ़ंक्शंस में ऐसे पैरामीटर होते हैं जो अंततः सिंक से टकराते हैं। यदि Pysa पाता है कि एक स्रोत अंततः एक सिंक से जुड़ता है, तो यह एक समस्या की रिपोर्ट करता है। 

एनालाइजर का काम यह आने वाले डेटा स्रोतों की पहचान करने के लिए उबलता है और खतरनाक कॉल, जिसमें मूल डेटा का उपयोग नहीं किया जाना चाहिए।

Pysa फ़ंक्शन कॉल की श्रृंखला के माध्यम से डेटा के पारित होने की निगरानी करता है और कोड में संभावित खतरनाक स्थानों के साथ मूल डेटा को जोड़ता है।

क्योंकि हम अपने स्वयं के उत्पादों के लिए Django और Tornado जैसे खुले स्रोत पायथन सर्वर फ्रेमवर्क का उपयोग करते हैं, Pysa परियोजनाओं में सुरक्षा मुद्दों का सामना करना शुरू कर सकता है जो इन फ्रेमवर्क का उपयोग पहले ही रन से करते हैं। Pysa का उपयोग ऐसे चौखटे के लिए करते हैं, जिनके लिए हमारे पास अभी तक कवरेज नहीं है, आमतौर पर Pysa को बताने के लिए कुछ कॉन्फ़िगरेशन लाइनों को जोड़ने के रूप में सरल है जहां डेटा सर्वर में आ रहा है।

Pysa द्वारा पहचानी गई एक आम भेद्यता Zulip मैसेजिंग प्लेटफ़ॉर्म में एक खुला पुनर्निर्देशित मुद्दा (CVE-2019-19775) है, जो थंबनेल प्रदर्शित करते समय अशुद्ध बाहरी मापदंडों को पारित करने के कारण होता है।

Pysa के डेटा प्रवाह ट्रैकिंग क्षमताओं का उपयोग अतिरिक्त फ़्रेम के उपयोग को मान्य करने और उपयोगकर्ता डेटा उपयोग नीतियों के अनुपालन का निर्धारण करने के लिए किया जा सकता है।

उदाहरण के अतिरिक्त कॉन्फ़िगरेशन के बिना Pysa का उपयोग रूपरेखाओं का उपयोग करके परियोजनाओं को सत्यापित करने के लिए किया जा सकता है Django और बवंडर। Pysa वेब अनुप्रयोगों में सामान्य कमजोरियों की पहचान भी कर सकता है, जैसे SQL प्रतिस्थापन और क्रॉस-साइट स्क्रिप्टिंग (XSS)।

फेसबुक पर, विश्लेषक का उपयोग इंस्टाग्राम सेवा के कोड को सत्यापित करने के लिए किया जाता है। 2020 की पहली तिमाही के दौरान, Pysa ने इंस्टाग्राम के सर्वर-साइड कोड आधार में फेसबुक इंजीनियरों द्वारा पाई गई सभी समस्याओं के 44% की पहचान करने में मदद की।

प्रक्रिया में कुल 330 समस्याओं की पहचान की गई Pysa, 49 (15%) का उपयोग करके स्वचालित परिवर्तन सत्यापन जिसमें से महत्वपूर्ण और 131 का मूल्यांकन किया गया था (40%) खतरनाक नहीं थे। 150 मामलों (45%) में समस्याओं को झूठी सकारात्मक के लिए जिम्मेदार ठहराया गया था।

नए पार्सर को Pyre प्रकार सत्यापन टूलकिट में ऐड-ऑन के रूप में डिज़ाइन किया गया है और इसे आपके रिपॉजिटरी में रखा गया है। कोड MIT लाइसेंस के तहत जारी किया गया है।

अंत में यदि आप इसके बारे में अधिक जानना चाहते हैं, आप मूल पोस्ट में विवरण देख सकते हैं। लिंक यह है


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।