লেখক:
(1) আনা-ক্যাথারিনা উইকার্ট, টেকনিশে ইউনিভার্সিটি ডার্মস্টাড্ট, ডার্মস্টাড্ট, জার্মানি ([email protected]);
(2) Lars Baumgärtner, Technische Universität Darmstadt, Darmstadt, Germany ([email protected]);
(3) Florian Breitfelder, Technische Universität Darmstadt, Darmstadt, Germany ([email protected]);
(4) Mira Mezini, Technische Universität Darmstadt, Darmstadt, Germany ([email protected])।
3 লিকমা এবং 3.1 ডিজাইনের নকশা এবং বাস্তবায়ন
4 পদ্ধতি এবং 4.1 পাইথন অ্যাপগুলি অনুসন্ধান এবং ডাউনলোড করা
4.2 পূর্ববর্তী অধ্যয়নের সাথে তুলনা
5 মূল্যায়ন এবং 5.1 গিটহাব পাইথন প্রকল্প
6 পূর্ববর্তী গবেষণার সাথে তুলনা
9 উপসংহার, স্বীকৃতি, এবং রেফারেন্স
পটভূমি : পূর্ববর্তী গবেষণায় দেখানো হয়েছে যে ক্রিপ্টো API ব্যবহার করে জাভা অ্যাপগুলির মধ্যে 99.59% পর্যন্ত অন্তত একবার API এর অপব্যবহার করে। যাইহোক, এই অধ্যয়নগুলি জাভা এবং সি-তে পরিচালিত হয়েছে, যখন অন্যান্য ভাষার জন্য অভিজ্ঞতামূলক গবেষণা অনুপস্থিত। উদাহরণস্বরূপ, পাইথনে ক্রিপ্টো টাস্ক নিয়ে একটি নিয়ন্ত্রিত ব্যবহারকারীর গবেষণায় দেখা গেছে যে 68.5% পেশাদার বিকাশকারী একটি ক্রিপ্টো টাস্কের জন্য একটি নিরাপদ সমাধান লেখেন।
উদ্দেশ্য : এই পর্যবেক্ষণটি বাস্তব-বিশ্বের কোডের জন্য রয়েছে কিনা তা বোঝার জন্য, আমরা পাইথনে ক্রিপ্টো অপব্যবহারের একটি অধ্যয়ন পরিচালনা করেছি।
পদ্ধতি : আমরা একটি স্ট্যাটিক বিশ্লেষণ টুল তৈরি করেছি যা 5টি ভিন্ন Python ক্রিপ্টো API-এর সাধারণ অপব্যবহার কভার করে। এই বিশ্লেষণের সাথে, আমরা GitHub থেকে 895টি জনপ্রিয় পাইথন প্রকল্প এবং এমবেডেড ডিভাইসের জন্য 51টি মাইক্রোপাইথন প্রকল্প বিশ্লেষণ করেছি। আরও, আমরা আমাদের ফলাফলগুলিকে পূর্ববর্তী গবেষণার ফলাফলের সাথে তুলনা করেছি।
ফলাফল : আমাদের বিশ্লেষণ প্রকাশ করে যে পাইথন প্রকল্পের 52.26% অন্তত একটি অপব্যবহার আছে। আরও, কিছু পাইথন ক্রিপ্টো লাইব্রেরির API ডিজাইন ডেভেলপারদের ক্রিপ্টো ফাংশন অপব্যবহার করতে সাহায্য করে, যা জাভা এবং সি কোডের সাথে পরিচালিত গবেষণায় অনেক বেশি সাধারণ ছিল। উপসংহার : আমরা উপসংহারে পৌঁছেছি যে আমরা পাইথন অ্যাপ্লিকেশনগুলির জন্য ক্রিপ্টো অপব্যবহারের উপর ভাল API ডিজাইনের একটি ইতিবাচক প্রভাব দেখতে পাচ্ছি। আরও, মাইক্রোপাইথন প্রকল্পগুলির আমাদের বিশ্লেষণ হাইব্রিড বিশ্লেষণের গুরুত্ব প্রকাশ করে।
ক্রিপ্টোগ্রাফি, এর পরে ক্রিপ্টো, আমাদের ডেটা রক্ষা করতে এবং গোপনীয়তা নিশ্চিত করতে আজকাল ব্যাপকভাবে ব্যবহৃত হয়। উদাহরণস্বরূপ, ক্রিপ্টো ছাড়া, আমরা নিরাপদে অনলাইন ব্যাঙ্কিং ব্যবহার করতে বা অনলাইন কেনাকাটা করতে সক্ষম হব না। দুর্ভাগ্যবশত, পূর্ববর্তী গবেষণার ফলাফলগুলি দেখায় যে ক্রিপ্টো প্রায়শই একটি অনিরাপদ উপায়ে ব্যবহার করা হয় [3, 4, 7, 9, 11]। এরকম একটি সমস্যা হল এনক্রিপশনের মতো ক্রিপ্টো আদিমগুলির জন্য একটি অনিরাপদ ব্লক মোডের মতো একটি অনিরাপদ প্যারামিটার বেছে নেওয়া। ক্রিপ্টোরেক্স [১৩], ক্রিপ্টোলিন্ট [৪], কগনিক্রিপ্টএসএএসটি [৮], এবং ক্রিপ্টোগার্ড [১২] এর মতো এই অপব্যবহারগুলি সনাক্ত করতে অনেকগুলি স্ট্যাটিক বিশ্লেষণ সরঞ্জাম বিদ্যমান।
যদিও এই টুলস এবং সংশ্লিষ্ট ইন-দ্য-ওয়াইল্ড স্টাডিজগুলি জাভা এবং সি-তে মনোনিবেশ করে, ব্যবহারকারীর অধ্যয়নগুলি পরামর্শ দেয় যে বিদ্যমান পাইথন এপিআইগুলি ক্রিপ্টো অপব্যবহারের সংখ্যা হ্রাস করে। আকর এট আল। [2] 307 GitHub ব্যবহারকারীদের সাথে একটি পরীক্ষা পরিচালনা করেছে যা 3টি ক্রিপ্টো-সম্পর্কিত উন্নয়ন কাজগুলি সমাধান করতে হয়েছিল। তারা দেখেছে যে 68.5% পেশাদার বিকাশকারী প্রদত্ত কাজের জন্য পাইথনে একটি নিরাপদ সমাধান লিখেছেন। 256 জন পাইথন বিকাশকারীর সাথে একটি নিয়ন্ত্রিত পরীক্ষার মধ্যে যারা সাধারণ ক্রিপ্টো কাজগুলি সমাধান করার চেষ্টা করেছিল, Acar et al. [১] শনাক্ত করা হয়েছে যে পাইথন লাইব্রেরি ক্রিপ্টোগ্রাফির মতো একটি সাধারণ API ডিজাইন, সুরক্ষিত কোড লেখার ক্ষেত্রে বিকাশকারীদের সমর্থন করে। যাইহোক, কোনো অভিজ্ঞতামূলক ইন-দ্য-ওয়াইল্ড গবেষণা এখনও নিশ্চিত করেনি যে পাইথনে ক্রিপ্টো অপব্যবহার জাভা বা সি-এর তুলনায় কম ঘন ঘন ঘটে।
পাইথনে ক্রিপ্টো অপব্যবহারের অভিজ্ঞতাগতভাবে মূল্যায়ন করার জন্য, আমরা LICMA প্রবর্তন করি, 5টি ভিন্ন Python ক্রিপ্টো API এবং Java এর JCA API-এর সমর্থন সহ একটি বহু-ভাষা বিশ্লেষণ কাঠামো। আমরা পাইথন API-এর জন্য 5টি ভিন্ন নিয়ম [4] এবং JCA-এর জন্য সবচেয়ে সাধারণ ক্রিপ্টো অপব্যবহার শনাক্ত করার জন্য 6টি ভিন্ন নিয়ম [4] প্রদান করি। LICMA এর সাথে, আমরা পাইথনের অপব্যবহার সম্পর্কে অন্তর্দৃষ্টি পেতে গিটহাব থেকে 895টি জনপ্রিয় পাইথন অ্যাপ এবং 51টি মাইক্রোপাইথন প্রকল্প বিশ্লেষণ করেছি। আমরা শনাক্ত করেছি যে 52.26% Python GitHub অ্যাপের ক্রিপ্টো ব্যবহারে কমপক্ষে একটি অপব্যবহার হয়েছে যার ফলে 1,501টি অপব্যবহার হয়েছে। মোট, মাত্র 7% অপব্যবহার অ্যাপ্লিকেশন কোডের মধ্যেই রয়েছে, বাকি অপব্যবহার নির্ভরতা দ্বারা প্রবর্তিত হয়। আরও, মাইক্রোপাইথন প্রকল্পগুলির আমাদের অধ্যয়ন প্রকাশ করে যে এমবেডেড ডোমেনে বিকাশকারীরা C কোডের মাধ্যমে ক্রিপ্টো ব্যবহার করার প্রবণতা রাখে। এইভাবে, হাইব্রিড স্ট্যাটিক বিশ্লেষণের গুরুত্ব প্রকাশ করে, যা প্রোগ্রামের তথ্য ট্র্যাক করতে পারে, উদাহরণস্বরূপ, একটি কল গ্রাফ, একাধিক ভাষায় [5, 10]।
Python API গুলি ক্রিপ্টো অপব্যবহারের জন্য কম প্রবণ কিনা তা আমাদের বোঝার উন্নতি করতে, আমরা নিম্নলিখিত অবদানগুলি করি:
• পাইথন এবং জাভাতে ক্রিপ্টো অপব্যবহার সনাক্ত করার জন্য একটি উপন্যাস, বহু-ভাষা বিশ্লেষণ টুল। পাইথনের জন্য আমরা 5টি সাধারণ পাইথন ক্রিপ্টো API এবং জাভা স্ট্যান্ডার্ড API JCA-এর জন্য ক্রিপ্টো অপব্যবহার কভার করি।
• GitHub-এ 895টি সর্বাধিক জনপ্রিয় পাইথন অ্যাপ্লিকেশনে ক্রিপ্টো অপব্যবহারের একটি অভিজ্ঞতামূলক অধ্যয়ন 1,501টি অপব্যবহার প্রকাশ করে।
• সি-তে অ্যান্ড্রয়েড অ্যাপস এবং ফার্মওয়্যার ইমেজগুলির জন্য ক্রিপ্টো অপব্যবহার সম্পর্কে পূর্ববর্তী গবেষণার সাথে পাইথন অ্যাপ্লিকেশনগুলিতে আমাদের ফলাফলের তুলনা। আমরা লক্ষ্য করেছি যে বেশিরভাগ পাইথন অ্যাপ্লিকেশনগুলি আরও নিরাপদ এবং কংক্রিট ধরণের অপব্যবহারের মধ্যে বন্টন অনেক আলাদা। .
• মাইক্রোপাইথন প্রকল্পে ক্রিপ্টো অপব্যবহারের একটি অভিজ্ঞতামূলক অধ্যয়ন যা হাইব্রিড স্ট্যাটিক বিশ্লেষণের গুরুত্ব প্রকাশ করে।
• আমাদের অধ্যয়নের জন্য ব্যবহৃত উভয় ডেটা সেট, আমাদের বিশ্লেষণের ফলাফল এবং LICMA[1] এর কোড সহ একটি প্রতিলিপি প্যাকেজ।
এই কাগজটি CC BY 4.0 DEED লাইসেন্সের অধীনে arxiv-এ উপলব্ধ ।
[১] dx.doi.org/10.6084/m9.figshare.16499085