পাইসা, ফেসবুকের দেওয়া পাইথনের স্ট্যাটিক বিশ্লেষক

ফেসবুক একটি ওপেন সোর্স স্ট্যাটিক অ্যানালাইজার চালু করেছে যার নাম "পাইসা"»(পাইথন স্ট্যাটিক বিশ্লেষক) যা is পাইথন কোডে সম্ভাব্য দুর্বলতাগুলি সনাক্ত করতে ডিজাইন করা।

পাইসা ডেটা প্রবাহ বিশ্লেষণ সরবরাহ করে কোড কার্যকর করার ফলস্বরূপ, যা আপনাকে অনেক সম্ভাব্য দুর্বলতা এবং সমস্যাগুলি সনাক্ত করতে দেয় যে জায়গাগুলিতে এটি প্রদর্শিত হবে না সে জায়গাগুলিতে ডেটা ব্যবহার সম্পর্কিত গোপনীয়তা সম্পর্কিত of

উদাহরণস্বরূপ, পাইসা কলগুলিতে কাঁচা বাহ্যিক ডেটার ব্যবহার ট্র্যাক করতে পারে যা বাহ্যিক প্রোগ্রামগুলি চালায়, ফাইল অপারেশন এবং এসকিউএল কনস্ট্রাক্টসে।

আজ, আমরা পাইথন সম্পর্কিত একটি ওপেন সোর্স স্ট্যাটিক বিশ্লেষণ সরঞ্জাম যা আমরা পাইথন কোডে সুরক্ষা এবং গোপনীয়তা সম্পর্কিত সমস্যাগুলি সনাক্ত এবং প্রতিরোধ করতে তৈরি করেছি সে সম্পর্কে বিশদগুলি ভাগ করি। গত বছর, আমরা কীভাবে জোনকোলন তৈরি করেছি তা ভাগ করে নিয়েছিলাম, একটি স্থিতিশীল বিশ্লেষণ সরঞ্জাম যা আমাদের 100 মিলিয়নেরও বেশি লাইন হ্যাক কোড বিশ্লেষণ করতে সহায়তা করে এবং ইঞ্জিনিয়ারদের হাজারো সম্ভাব্য সুরক্ষা সমস্যা রোধ করতে সহায়তা করেছে। সেই সাফল্য আমাদের পাইসাকে বিকাশ করতে অনুপ্রাণিত করেছিল, যা পাইথন স্ট্যাটিক বিশ্লেষকের সংক্ষিপ্ত রূপ।

পাইসা একই অ্যালগরিদম ব্যবহার করে স্থির বিশ্লেষণ করতে এবং এমনকি সাথে কোড ভাগ করে জোনকোলান। জোনকোলনের মতো, পাইসাও একটি প্রোগ্রামের মাধ্যমে ডেটা প্রবাহকে ট্র্যাক করে।

ব্যবহারকারী উত্সগুলি সংজ্ঞায়িত করে (গুরুত্বপূর্ণ তথ্যগুলির উত্স যে জায়গাগুলি) পাশাপাশি ডুবে যায় (যে জায়গাগুলিতে উত্সের ডেটা শেষ হওয়া উচিত নয়)।

সুরক্ষা অ্যাপ্লিকেশনগুলির জন্য, সর্বাধিক সাধারণ ধরণের সূত্রগুলি এমন জায়গাগুলি যেখানে ব্যবহারকারী-নিয়ন্ত্রিত ডেটা অ্যাপ্লিকেশনটিতে প্রবেশ করে, যেমন জ্যাঙ্গো অভিধান।

রিসিভারগুলি অনেক বেশি বৈচিত্রময় হতে থাকে, তবে এমন API গুলি অন্তর্ভুক্ত করতে পারে যা কোড চালায়, যেমন eval, বা এমন APIs যা ফাইল সিস্টেম অ্যাক্সেস করেos.open

পাইসা বিমূর্ততা তৈরির জন্য বিশ্লেষণের পুনরাবৃত্তাকার রাউন্ডগুলি সম্পাদন করে কোন ফাংশনটি কোনও উত্স থেকে ডেটা ফেরত দেয় এবং কোন ফাংশনে এমন প্যারামিটার থাকে যা শেষ পর্যন্ত ডুবে যায় তা নির্ধারণ করতে। পাইসা যদি জানতে পারে যে কোনও উত্স শেষ পর্যন্ত একটি ডোবার সাথে সংযোগ স্থাপন করে, তবে এটি একটি সমস্যার কথা জানায়। 

বিশ্লেষক কাজ এটি আগত ডেটা উত্সগুলি সনাক্ত করতে ফোটে এবং বিপজ্জনক কলগুলি, যাতে মূল ডেটা ব্যবহার করা উচিত নয়।

পাইসা ফাংশন কলের চেইনের মাধ্যমে ডেটা উত্তরণ পর্যবেক্ষণ করে এবং কোডের সম্ভাব্য বিপজ্জনক জায়গাগুলির সাথে মূল ডেটা সংযুক্ত করে।

যেহেতু আমরা আমাদের নিজস্ব পণ্যগুলির জন্য জ্যাঙ্গো এবং টর্নেডোর মতো ওপেন সোর্স পাইথন সার্ভার ফ্রেমওয়ার্কগুলি ব্যবহার করি, তাই পাইসা প্রথমবার থেকেই এই ফ্রেমওয়ার্কগুলি ব্যবহার করে এমন প্রকল্পগুলিতে সুরক্ষা সমস্যাগুলির মুখোমুখি হতে শুরু করে। ফ্রেসওয়ার্কগুলির জন্য পাইসা ব্যবহার করা এখনও আমাদের কাছে কভারেজ নেই সাধারণত পায়সাকে ​​সার্ভারের মধ্যে ডেটা কোথায় চলেছে তা জানাতে কয়েকটি কনফিগারেশন লাইন যুক্ত করার মতোই সহজ।

পাইসা দ্বারা চিহ্নিত একটি সাধারণ দুর্বলতা হ'ল জুলাইপ ম্যাসেজিং প্ল্যাটফর্মের একটি ওপেন রিডাইরেক্ট ইস্যু (সিভিই-2019-19775), থাম্বনেইসগুলি প্রদর্শন করার সময় অপরিষ্কার বাহ্যিক পরামিতিগুলি পেরিয়ে যাওয়ার কারণে।

পাইসের ডেটা ফ্লো ট্র্যাকিং ক্ষমতা অতিরিক্ত ফ্রেমের ব্যবহারকে বৈধতা দিতে এবং ব্যবহারকারীর ডেটা ব্যবহার নীতিগুলির সম্মতি নির্ধারণ করতে ব্যবহার করা যেতে পারে।

উদাহরণস্বরূপ, অতিরিক্ত কনফিগারেশন ছাড়াই পাইসা ফ্রেমওয়ার্কগুলি ব্যবহার করে প্রকল্পগুলি যাচাই করতে ব্যবহার করা যেতে পারে জ্যাঙ্গো এবং টর্নেডো। পাইসা ওয়েব অ্যাপ্লিকেশনগুলিতে সাধারণ দুর্বলতাগুলি যেমন এসকিউএল প্রতিস্থাপন এবং ক্রস-সাইট স্ক্রিপ্টিং (এক্সএসএস) সনাক্ত করতে পারে।

ফেসবুকে, বিশ্লেষকটি ইনস্টাগ্রাম পরিষেবার কোডটি যাচাই করতে ব্যবহৃত হয়। 2020 এর প্রথম প্রান্তিকে পিসা ইনস্টাগ্রামের সার্ভার-সাইড কোড বেসটিতে ফেসবুক ইঞ্জিনিয়ারদের দ্বারা প্রাপ্ত সমস্ত সমস্যার 44% সনাক্ত করতে সহায়তা করেছিলেন।

প্রক্রিয়াটিতে মোট 330 টি সমস্যা চিহ্নিত করা হয়েছিল পাইসা ব্যবহার করে স্বয়ংক্রিয় পরিবর্তন যাচাইকরণের 49 টি (15%) তাত্পর্যপূর্ণ হিসাবে মূল্যায়ন করা হয়েছিল এবং 131 (40%) বিপজ্জনক ছিল না। 150 টি ক্ষেত্রে (45%) সমস্যাগুলি মিথ্যা ধনাত্মক হিসাবে দায়ী করা হয়েছিল।

নতুন পার্সারটি পাইয়ের ধরণের যাচাইকরণ সরঞ্জামকিটটিতে অ্যাড-অন হিসাবে ডিজাইন করা হয়েছে এবং এটি আপনার ভাণ্ডারে স্থাপন করা হয়েছে। কোডটি এমআইটি লাইসেন্সের আওতায় প্রকাশিত হয়েছে।

পরিশেষে আপনি যদি এটি সম্পর্কে আরও জানতে চান, আপনি মূল পোস্টে বিশদটি পরীক্ষা করতে পারেন। লিঙ্কটি হ'ল এটি।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।