OWASP বিভাগ: MASVS-CODE: কোড গুণমান
ওভারভিউ
অনিরাপদ API বা লাইব্রেরি ব্যবহার করা একটি অ্যাপ্লিকেশনের নিরাপত্তা ভঙ্গি উল্লেখযোগ্যভাবে হ্রাস করে। এই সমস্ত নির্ভরতাগুলির মধ্যে একটি নিরাপত্তা লঙ্ঘন একজন আক্রমণকারীকে ম্যান-ইন-দ্য-মিডল (MitM) এবং রিমোট কোড এক্সিকিউশন (RCE) এর মতো বিস্তৃত আক্রমণ পরিচালনা করার জন্য বেশ কয়েকটি ভেক্টরকে লিভারেজ করার অনুমতি দেবে।
অনিরাপদ নির্ভরতা বাস্তবায়নের হুমকি দেখা দেয় যখন ডেভেলপাররা সফটওয়্যার ডেভেলপমেন্ট লাইফসাইকেল (SDLC) এর মধ্যে নিরাপত্তা মূল্যায়ন এবং দুর্বলতা পরীক্ষাকে একীভূত করে না বা, কিছু ক্ষেত্রে, অ্যাপ্লিকেশন নির্ভরতার জন্য একটি স্বয়ংক্রিয় আপডেট নীতি প্রয়োগ করে না।
নির্ভরতা শোষণ সাধারণত দুর্বল লাইব্রেরি অনুসন্ধান করতে অ্যাপ্লিকেশন বাইনারি (.apk) বিশ্লেষণ করে শুরু হয়। এই মুহুর্তে, ওপেন সোর্স ইন্টেলিজেন্স (OSINT) পূর্বে আবিষ্কৃত সম্ভাব্য শোষণযোগ্য দুর্বলতাগুলি খুঁজে বের করার জন্য সঞ্চালিত হয়। আক্রমণকারীরা আরও আক্রমণ করার জন্য সর্বজনীনভাবে প্রকাশ করা দুর্বলতার তথ্য যেমন সাধারণ দুর্বলতা এবং এক্সপোজার (CVE) ব্যবহার করতে পারে।
প্রভাব
অনিরাপদ নির্ভরতার সফল শোষণের ফলে রিমোট কোড এক্সিকিউশন (RCE), SQL ইনজেকশন (SQLi), বা ক্রস-সাইট স্ক্রিপ্টিং (XSS) এর মতো বিস্তৃত আক্রমণ হতে পারে। অতএব, সামগ্রিক প্রভাব সরাসরি তৃতীয় পক্ষের সফ্টওয়্যার প্রবর্তিত দুর্বলতার প্রকারের সাথে সম্পর্কিত এবং আক্রমণকারীরা শোষণ করতে পারে। দুর্বল নির্ভরতাগুলির সফল শোষণের সম্ভাব্য পরিণতিগুলি হল ডেটা লঙ্ঘন বা পরিষেবার অনুপলব্ধতা, যা খ্যাতি এবং অর্থনৈতিক টার্নওভারের উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে।
প্রশমন
গভীরভাবে প্রতিরক্ষা
মনে রাখবেন যে নীচে তালিকাভুক্ত প্রশমনগুলি একটি শক্তিশালী নিরাপত্তা ভঙ্গি নিশ্চিত করতে এবং অ্যাপ্লিকেশনের আক্রমণের পৃষ্ঠকে কমাতে একত্রে প্রয়োগ করতে হবে। সঠিক পদ্ধতির সর্বদা কেস-বাই-কেস ভিত্তিতে মূল্যায়ন করা উচিত।
নির্ভরতা দুর্বলতা মূল্যায়ন
তৃতীয় পক্ষের কোডের মধ্যে দুর্বলতা সনাক্ত করতে বিকাশের জীবনচক্রের শুরুতে নির্ভরতা যাচাইকরণ প্রয়োগ করুন। এই পর্যায়টি পরীক্ষা করে যে কোডটি ইন-হাউস তৈরি করা হয়নি তা উৎপাদন পরিবেশে রোল আউট করার আগে নিরাপদ কিনা। অ্যাপ্লিকেশানের নিরাপত্তা ভঙ্গি উন্নত করতে সফ্টওয়্যার ডেভেলপমেন্ট লাইফসাইকেলের মধ্যে স্ট্যাটিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (SAST) এবং ডাইনামিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (DAST) টুলস প্রয়োগ করে যাচাইকে পরিপূরক করা যেতে পারে।
ক্রমাগত নির্ভরতা আপডেট করুন
কোডের মধ্যে এমবেড করা যেকোনো নির্ভরতা ক্রমাগত আপডেট করার জন্য সর্বদা সতর্ক থাকুন। এই উদ্দেশ্যে, যখনই একটি তৃতীয় পক্ষের উপাদান একটি নতুন নিরাপত্তা প্যাচ প্রকাশ করে তখনই এটি স্বয়ংক্রিয় আপডেটগুলি প্রয়োগ করার সুপারিশ করা হয় যা উৎপাদনে ঠেলে দেওয়া হয়।
অ্যাপ্লিকেশন অনুপ্রবেশ পরীক্ষা সঞ্চালন
নিয়মিত অনুপ্রবেশ পরীক্ষা পরিচালনা করুন। এই ধরণের পরীক্ষাগুলির লক্ষ্য হল যে কোনও সুপরিচিত দুর্বলতা উন্মোচন করা যা মালিকানা কোড এবং বা তৃতীয় পক্ষের নির্ভরতাকে প্রভাবিত করতে পারে। উপরন্তু, নিরাপত্তা মূল্যায়ন প্রায়ই অজানা দুর্বলতা (0-দিন) উন্মোচন করে। অনুপ্রবেশ পরীক্ষাগুলি ডেভেলপারদের জন্য সহায়ক, কারণ তারা তাদের অ্যাপ্লিকেশনের বর্তমান নিরাপত্তা ভঙ্গির একটি স্ন্যাপশট প্রদান করে এবং তাদের শোষণযোগ্য নিরাপত্তা সমস্যাগুলিকে অগ্রাধিকার দিতে সাহায্য করে যেগুলিকে সমাধান করতে হবে।