নতুন ODGen টুল Node.js লাইব্রেরিতে 180 জিরো-ডেস আবিষ্কার করে PlatoBlockchain ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আ.

নতুন ODGen টুল Node.js লাইব্রেরিতে 180 জিরো-ডেস আবিষ্কার করে

জনস হপকিন্স ইউনিভার্সিটির গবেষকরা সম্প্রতি হাজার হাজার Node.js লাইব্রেরি জুড়ে একটি চমকপ্রদ 180 শূন্য-দিনের দুর্বলতা উন্মোচন করেছেন একটি নতুন কোড বিশ্লেষণ টুল ব্যবহার করে যা তারা বিশেষভাবে ODGen নামে পরিচিত।

এই ত্রুটিগুলির মধ্যে সত্তরটি তখন থেকে সাধারণ দুর্বলতা এবং এক্সপোজার (CVE) সনাক্তকারী পেয়েছে। এগুলোর মধ্যে রয়েছে কমান্ড ইনজেকশন ত্রুটি, পথ ট্রাভার্সাল দুর্বলতা, নির্বিচারে কোড কার্যকর করার সমস্যা, এবং ক্রস-সাইট স্ক্রিপ্টিং দুর্বলতা - তাদের মধ্যে কয়েকটি ব্যাপকভাবে ব্যবহৃত অ্যাপ্লিকেশনগুলিতে।

এই মাসের শুরুতে ইউজেনিক্স সিকিউরিটি সিম্পোজিয়ামে প্রকাশিত একটি গবেষণাপত্রে, জনস হপকিন্স গবেষকরা — সং লি, মিংকিং কাং, জিয়ানওয়েই হাউ এবং ইয়িনঝি কাও — ওডিজেনকে বর্তমান কোড-বিশ্লেষণ এবং তথাকথিত গ্রাফ ক্যোয়ারী-ভিত্তিক একটি ভাল বিকল্প হিসাবে বর্ণনা করেছেন। Node.js দুর্বলতা খুঁজে বের করার পদ্ধতি।

প্রোগ্রাম বিশ্লেষণ-ভিত্তিক পন্থাগুলি জাভাস্ক্রিপ্টে কোড-ইনজেকশন ত্রুটিগুলির মতো পৃথক দুর্বলতার ধরন সনাক্ত করতে সাহায্য করার জন্য কার্যকর প্রমাণিত হয়েছে। কিন্তু Node.js প্ল্যাটফর্মে উপস্থিত হতে পারে এমন সব ধরনের দুর্বলতা সনাক্ত করতে তাদের সহজে বাড়ানো যাবে না, গবেষকরা বলেছেন। একইভাবে, গ্রাফ-ভিত্তিক কোড-বিশ্লেষণ পদ্ধতি — যেখানে কোড প্রথমে একটি গ্রাফ হিসাবে উপস্থাপন করা হয় এবং তারপর নির্দিষ্ট কোডিং ত্রুটির জন্য জিজ্ঞাসা করা হয় — C++ এবং PHP-এর মতো পরিবেশে ভাল কাজ করে। যাইহোক, গ্রাফ-ভিত্তিক পন্থাগুলি জাভাস্ক্রিপ্টের দুর্বলতার জন্য মাইনিংয়ে ততটা দক্ষ নয় কারণ প্রোগ্রামিং ভাষার গতিশীল বৈশিষ্ট্যগুলির ব্যাপক ব্যবহারের কারণে, তারা উল্লেখ করেছে।

জাভাস্ক্রিপ্ট দুর্বলতা খোঁজার জন্য একটি 'উপন্যাস' পদ্ধতি

সুতরাং, গবেষকরা পরিবর্তে তারা যা বর্ণনা করেছেন তা বিকাশ করেছেন অবজেক্ট ডিপেনডেন্স গ্রাফ (ODG) নামে একটি "উপন্যাস" এবং আরও ভাল পদ্ধতি যেটি Node.js দুর্বলতা সনাক্ত করতে ব্যবহার করা যেতে পারে। তারা দুর্বলতা সনাক্ত করার জন্য Node.js প্রোগ্রামগুলির জন্য "ODG" তৈরি করতে ODGen প্রয়োগ করেছে, তারা বলেছে।

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

গবেষকরা যে অবজেক্ট ডিপেনডেন্স গ্রাফটি প্রস্তাব করেছেন তা জাভাস্ক্রিপ্ট অবজেক্টকে নোড হিসেবে উপস্থাপন করে এবং বৈশিষ্ট্য যোগ করে — অবজেক্টের মধ্যে নির্ভরতা সহ — যা প্রোগ্রামিং ভাষার জন্য নির্দিষ্ট, এবং তারপরে ত্রুটির জন্য অনুসন্ধান করে। কাও বর্ণনা করেছেন যে পদ্ধতিটি এক মুঠো চালের মধ্যে শস্য ব্যবহার করে কীভাবে কাজ করে: যদি ফুটানোর আগে সমস্ত শস্য একই রকম দেখায় কিন্তু ফুটানোর পরে দুটি ভিন্ন শেড ধরে নেয় - একটি ভাল শস্য এবং অন্যটি খারাপ শস্যের প্রতিনিধিত্ব করে - তাহলে এটি চিহ্নিত করা এবং আগাছা বের করা সহজ হয়ে যায়। খারাপ শস্য "বিমূর্ত ব্যাখ্যাটি এক ধরণের ফুটন্ত প্রক্রিয়ার মতো যা চালকে রূপান্তরিত করে - অর্থাৎ প্রোগ্রামগুলিকে - বিভিন্ন রঙের বস্তুতে" তাই ত্রুটিগুলি চিহ্নিত করা সহজ, কাও বলেছেন।

বাগ একটি বৈচিত্র্য

তাদের দৃষ্টিভঙ্গি কাজ করে কিনা তা দেখার জন্য, গবেষকরা প্রথমে নোড প্যাকেজ ম্যানেজার (এনপিএম) সংগ্রহস্থলে Node.js প্যাকেজগুলিতে পূর্বে রিপোর্ট করা 330টি দুর্বলতার নমুনার বিপরীতে ODGen পরীক্ষা করেছেন। পরীক্ষায় স্ক্যানারটি 302টি দুর্বলতার মধ্যে 330টি সঠিকভাবে সনাক্ত করেছে। তুলনামূলকভাবে উচ্চ নির্ভুলতার হার দ্বারা উদ্বুদ্ধ, গবেষকরা npm-এ প্রায় 300,000 জাভা প্যাকেজের বিপরীতে ODGen চালান। স্ক্যানারটি প্যাকেজ জুড়ে মোট 2,964টি সম্ভাব্য দুর্বলতার রিপোর্ট করেছে। গবেষকরা তাদের মধ্যে 264টি পরীক্ষা করেছেন - যার সবগুলোই গড়ে প্রতি সপ্তাহে 1,000টির বেশি ডাউনলোড হয় - এবং 180টি বৈধ দুর্বলতা হিসেবে নিশ্চিত করতে সক্ষম হয়েছে। তাদের মধ্যে তেতাল্লিশটি অ্যাপ্লিকেশন স্তরে ছিল, 122টি প্যাকেজে ছিল যা অন্যান্য অ্যাপ্লিকেশন বা কোড দ্বারা আমদানি করা হয় এবং বাকি 15টি পরোক্ষ প্যাকেজে উপস্থিত ছিল।

ODGen সনাক্ত করা নিশ্চিত দুর্বলতার একটি বহুত্ব (80) হল কমান্ড ইনজেকশন প্রবাহ যা আক্রমণকারীদের একটি দুর্বল অ্যাপ্লিকেশনের মাধ্যমে অপারেটিং সিস্টেম স্তরে নির্বিচারে কোড চালানোর অনুমতি দেয়। ত্রিশটি পথ অতিক্রমকারী ত্রুটি ছিল; 24 সক্রিয় কোড টেম্পারিং, এবং 19 প্রোটোটাইপ দূষণ নামে একটি নির্দিষ্ট ধরনের কমান্ড ইনজেকশন আক্রমণ জড়িত।

সময় স্ট্যাম্প:

থেকে আরো অন্ধকার পড়া