অনিরাপদ সরাসরি অবজেক্ট রেফারেন্স - IDOR দুর্বলতা কী

অবজেক্ট অ্যাক্সেস লক না করলে কী হয়? হ্যালো, IDOR দুর্বলতা।

সুচিপত্র

অবশ্যই পঠনীয় পোস্ট

আগ্রহের সর্বশেষ পোস্টগুলি

IDOR কী? ডেভেলপারদের কেন এটি জানা উচিত?

IDOR কী? ইনসিকিউর ডাইরেক্ট অবজেক্ট রেফারেন্স (IDOR) হলো একটি গুরুতর নিরাপত্তা ত্রুটি, যা তখন ঘটে যখন অ্যাপ্লিকেশনগুলো যথাযথ অ্যাক্সেস কন্ট্রোল প্রয়োগ না করে ইউজার আইডি, ফাইল বা ডেটাবেস কী-এর মতো অভ্যন্তরীণ অবজেক্টগুলোকে উন্মুক্ত করে দেয়। একটি DevSecOps পরিবেশে, যেখানে পুরো ডেভেলপমেন্ট লাইফসাইকেল জুড়ে নিরাপত্তা সমন্বিত থাকে, সেখানে সংবেদনশীল ডেটা সুরক্ষিত রাখতে এবং সিস্টেমের অখণ্ডতা বজায় রাখতে IDOR দুর্বলতা প্রতিরোধ করা অপরিহার্য।

IDOR দুর্বলতার মাধ্যমে আক্রমণকারীরা অননুমোদিত রিসোর্স অ্যাক্সেস করার জন্য অবজেক্ট রেফারেন্স পরিবর্তন করতে পারে (যেমন, URL-এ ইউজার আইডি পরিবর্তন করা)। এর ফলে ডেটা ফাঁস, গোপনীয়তা লঙ্ঘন এবং সিস্টেমের মধ্যে অননুমোদিত কার্যকলাপ ঘটতে পারে। উদাহরণস্বরূপ, যদি একটি API এন্ডপয়েন্ট যেমন /api/user/123 অনুরোধকারী সংবেদনশীল তথ্য দেখার জন্য অনুমোদিত কিনা তা যাচাই না করেই তা ফেরত দিলে, অ্যাপ্লিকেশনটি একটি অসুরক্ষিত ডাইরেক্ট অবজেক্ট রেফারেন্সের সম্মুখীন হয়।

IDOR দুর্বলতা বোঝা এবং প্রতিরোধ করা শুধু নিরাপত্তা দলের জন্যই নয়, ডেভেলপার এবং ডেভঅপস ইঞ্জিনিয়ারদের জন্যও অত্যন্ত গুরুত্বপূর্ণ। শুরু থেকেই শক্তিশালী অ্যাক্সেস কন্ট্রোল ব্যবস্থা এবং নিরাপদ ডিজাইন প্যাটার্ন নিশ্চিত করা হলে, এই ঝুঁকিগুলো প্রোডাকশনে পৌঁছানোর আগেই প্রশমিত করা যায়। “IDOR কী?”—এই প্রশ্নের উত্তর জানা একটি ‘সিকিওর-বাই-ডিফল্ট’ আর্কিটেকচারের দিকে একটি মৌলিক পদক্ষেপ।

আধুনিক এপিআই-গুলিতে কেন এখনও IDOR ঘটে এবং Pipelines?

আধুনিক নিরাপত্তা কাঠামোর ব্যাপক প্রসার সত্ত্বেও যেমন OAuth এর, জেডাব্লুটি, এবং আরবিএসিIDOR দুর্বলতাগুলো এখনও ব্যাপকভাবে বিদ্যমান।

IDOR দুর্বলতার সাধারণ কারণসমূহ:

  • অনুমোদন বলবৎ না করে অবজেক্ট আইডেন্টিফায়ার যাচাই করা: ডেভেলপাররা হয়তো কোনো অবজেক্টের (যেমন, একজন ব্যবহারকারী, বিল্ড বা লগ ফাইল) অস্তিত্ব নিশ্চিত করতে পারেন, কিন্তু বর্তমান অনুরোধকারীকে সেটি দেখা বা পরিবর্তন করার অনুমতি আছে কি না, তা যাচাই করতে ভুলে যেতে পারেন।
  • অভ্যন্তরীণ প্রকাশ dashboardঅ্যাক্সেস চেক ছাড়া s: অভ্যন্তরীণ অ্যাপ্লিকেশনগুলোকে প্রায়শই ‘স্বাভাবিকভাবেই নিরাপদ’ বলে ধরে নেওয়া হয় এবং সীমিত বা কোনো ভূমিকা-ভিত্তিক প্রবেশাধিকার সীমাবদ্ধতা ছাড়াই স্থাপন করা হয়।
  • অভ্যন্তরীণ মানেই সুরক্ষিত ধরে নিলে: ব্যবহারকারী-ভিত্তিক বা ভূমিকা-ভিত্তিক যাচাই ব্যবস্থা প্রয়োগ না করে নেটওয়ার্কের সীমানার (যেমন, আইপি হোয়াইটলিস্টিং, ভিপিএন অ্যাক্সেস) উপর নির্ভর করার ফলে অসুরক্ষিত ডাইরেক্ট অবজেক্ট রেফারেন্সগুলো টিকে থাকতে পারে।
    এই ভুলগুলো প্রায়শই IDOR কী, তা বুঝতে না পারার কারণে ঘটে থাকে, যেখানে একটি অবজেক্ট আইডির উপস্থিতিকে অনুমতির প্রক্সি হিসেবে গণ্য করা হয়।

বাস্তব জগতের উদাহরণমূলক দৃশ্যকল্প:

  • একটি CI সিস্টেম বিল্ড আর্টিফ্যাক্ট ডাউনলোড করার জন্য URL প্রদান করে, কিন্তু অনুরোধকারী অনুমোদিত দলের অংশ কিনা তা যাচাই করে না।
  • একটি অভ্যন্তরীণ সমর্থন dashboard এর মাধ্যমে কর্মীরা ভূমিকা-ভিত্তিক প্রবেশাধিকার যাচাই না করেই, সহজে অনুমানযোগ্য আইডি ব্যবহার করে গ্রাহকদের প্রোফাইল দেখতে পারে।
  • অভ্যন্তরীণভাবে তৈরি প্লাগইন বা স্ক্রিপ্টগুলো ডিবাগিংয়ের সুবিধার জন্য প্রমাণীকরণবিহীন এন্ডপয়েন্টের মাধ্যমে ডেটা প্রকাশ করে।

এগুলোর প্রত্যেকটিই অ্যাক্সেস কন্ট্রোল এড়িয়ে যাওয়ার কারণে উদ্ভূত একটি প্রকৃত IDOR দুর্বলতা প্রদর্শন করে।

বাস্তব ওয়ার্কফ্লোতে IDOR ঝুঁকির সাধারণ ক্ষেত্রসমূহ

IDOR দুর্বলতা উন্নয়নে প্রায়শই সামনে আসে pipelineযখন অবজেক্ট-স্তরের অ্যাক্সেস যাচাই উপেক্ষা করা হয়, তখন s, অভ্যন্তরীণ সরঞ্জাম এবং API ব্যবহার করা হয়।

বাস্তব-বিশ্বের উদাহরণ:

  • আর্টিফ্যাক্ট তৈরি করুন: CI/CD প্ল্যাটফর্মগুলো অনুমানযোগ্য ইউআরএল-এ আর্টিফ্যাক্ট সংরক্ষণ করতে পারে। যদি অ্যাক্সেস যাচাইয়ের ব্যবস্থা না থাকে, তবে এই এন্ডপয়েন্টগুলো অসুরক্ষিত সরাসরি অবজেক্ট রেফারেন্সে পরিণত হতে পারে।
  • লগ ফাইল: যেসব টুল অনুরোধকারীর ভূমিকা যাচাই না করে শনাক্তকারীর ভিত্তিতে লগ প্রদান করে, সেগুলো আরেকটি IDOR দুর্বলতার জন্ম দিতে পারে।
  • সহায়ক সরঞ্জাম: যেসব সিস্টেম অভ্যন্তরীণ অ্যাক্সেসকে অনুমোদনের সমতুল্য মনে করে, সেগুলো অনুমানযোগ্য অবজেক্ট রেফারেন্সের মাধ্যমে অপব্যবহারের ঝুঁকিতে থাকে।

তাত্ত্বিক ত্রুটিসমূহ:

  • কনফিগারেশন ফাইল: প্রকাশক /config/production প্রমাণীকরণ এবং অনুমোদন প্রয়োগ না করে অনুরূপ এন্ডপয়েন্ট ব্যবহার করলে তা একটি অনিরাপদ সরাসরি অবজেক্ট রেফারেন্স তৈরি করে, বিশেষ করে যখন গোপনীয় তথ্য এমবেড করা থাকে।

সব ক্ষেত্রেই, ত্রুটিটি হলো এই ধারণা করা যে একটি আইডি জানাই যথেষ্ট; বাস্তবে IDOR ঠিক এটাই বোঝায়।

ডেভ টুলস, সিআই প্লাগইন এবং অভ্যন্তরীণ এপিআই-তে IDOR কীভাবে সনাক্ত ও পরীক্ষা করবেন

শনাক্তকরণের জন্য বুঝতে হবে IDOR কী এবং অবজেক্ট অ্যাক্সেস সম্পর্কিত অনুমানগুলো কোডে কীভাবে প্রকাশ পায়।

IDOR দুর্বলতার লক্ষণসমূহ:

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

সনাক্তকরণ কৌশল:

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

বাস্তব-জগতের নিরীক্ষা লক্ষ্যমাত্রা:

  • এন্ডপয়েন্ট যেমন /build/{id}/artifact.
  • Dashboardওপেন কোয়েরি প্যারামিটার থেকে কনফিগারেশনের বিবরণ রেন্ডার করা হচ্ছে।
  • লগ বা মেট্রিক্স প্যানেল, যেগুলো অ্যাক্সেস যাচাইকরণ ছাড়াই আইডি ব্যবহার করে।

IDOR কী, তা বুঝতে পারলে ডেভেলপমেন্ট টিমগুলো সক্রিয়ভাবে অবজেক্টের নিরাপত্তা যাচাই করতে পারে।

IDOR দুর্বলতাগুলি কীভাবে প্রতিরোধ করবেন Pipelineএস এবং এপিআই

একটি প্রতিরোধ IDOR দুর্বলতা এটি DevSecOps-এর একটি মূল উদ্দেশ্য। পেরিমিটার প্রতিরক্ষার উপর নির্ভর না করে, উন্নয়ন জীবনচক্রের প্রতিটি ধাপে এর প্রয়োগ হওয়া উচিত।

DevSecOps-কেন্দ্রিক পদক্ষেপসমূহ:

  • স্বয়ংক্রিয় পরীক্ষার সময় CI/CD: আপনার সুরক্ষার জন্য অননুমোদিত অ্যাক্সেস অনুকরণ করুন pipeline ধরা পড়া ও পতাকা উন্মোচিত অনিরাপদ সরাসরি অবজেক্ট রেফারেন্স।
  • SAST এবং SCA মার্জ ব্লকিং সহ: স্ট্যাটিক এবং কম্পোজিশন অ্যানালাইসিস টুল ব্যবহার করে এমন পরিবর্তন ব্লক করুন যা সমস্যা তৈরি করে বা বাড়িয়ে তোলে। IDOR দুর্বলতাসমূহ।
  • উন্নয়ন চলাকালীন এন্ডপয়েন্ট অডিট: কোড রিভিউতে অবজেক্ট-লেভেল অ্যাক্সেসের যৌক্তিকতা এবং ডকুমেন্টেশন আবশ্যক।
  • অভ্যন্তরীণ সরঞ্জামগুলির জন্য ম্যানুয়াল পর্যালোচনা: কোনো টুল অভ্যন্তরীণ বলেই তার রিভিউ এড়িয়ে যাবেন না। অনেক অনিরাপদ সরাসরি অবজেক্ট রেফারেন্স অভ্যন্তরীণ সিস্টেমে লুকানো থাকে।

জাইজেনি কীভাবে IDOR সনাক্তকরণ এবং প্রতিরোধকে স্বয়ংক্রিয় করে তোলে

বৃহৎ পরিসরে IDOR দুর্বলতা প্রতিরোধ করার অর্থ হলো ম্যানুয়াল পর্যালোচনা থেকে সরে এসে নিরবচ্ছিন্ন ও স্বয়ংক্রিয় প্রয়োগ ব্যবস্থা গ্রহণ করা। ঠিক এখানেই জাইজেনি আসে.

এখানে দেখানো হলো কীভাবে Xygeni আপনাকে অনিরাপদ অবজেক্ট রেফারেন্সগুলো প্রেরণের আগেই শনাক্ত ও ব্লক করতে সাহায্য করে:

  • রিয়েল টাইমে IDOR প্যাটার্ন সনাক্ত করে
    Xygeni আপনার এন্ডপয়েন্টের আচরণ এবং সোর্স কোডের পরিবর্তন বিশ্লেষণ করে। CI/CD কর্মপ্রবাহযদি এটি যথাযথ অনুমোদন যাচাই ছাড়াই সরাসরি অবজেক্ট অ্যাক্সেস খুঁজে পায়, যেমন /এপিআই/ব্যবহারকারী/১২৩ ভূমিকা যাচাইকরণ ছাড়া প্রকাশিত হলে, এটি অবিলম্বে একটি সতর্কতা জারি করে।
  • অসুরক্ষিত এন্ডপয়েন্টগুলিকে প্রি-ডিপ্লয়মেন্টে ব্লক করে
    Guardrails আপনার CI-তে pipelineযখন কোনো প্রমাণীকরণবিহীন অবজেক্ট রেফারেন্স শনাক্ত করা হয়, তখন বিল্ড বন্ধ হয়ে যায়। আপনি এগুলো সেট করতে পারেন। guardrails বিল্ডটি ভেঙে দিতে, পিআর (PR) ব্যর্থ করতে, অথবা পর্যালোচনার জন্য ট্যাগ করতে। এটি গিটহাব অ্যাকশনস, গিটল্যাব সিআই, জেনকিন্স এবং আরও অনেক কিছুর সাথে কাজ করে।
  • প্রাপ্ত তথ্যকে পিআর এবং অডিট ট্রেইলের সাথে সংযুক্ত করে
    প্রতিটি আবিষ্কার এর সাথে যুক্ত pull request, commitএবং অবদানকারী ডেভেলপার। এর মাধ্যমে আপনি সুস্পষ্টভাবে জানতে পারেন যে, কে পরিবর্তনটি এনেছে, কে এটি পর্যালোচনা করেছে এবং এটি নীতিমালার সাথে সঙ্গতিপূর্ণ কিনা।

বাস্তব-বিশ্বের উদাহরণ

একজন ডেভেলপার একটি নতুন এন্ডপয়েন্ট পুশ করেন:
GET /build/7020/artifact.zip

Xygeni যাচাই করে দেখে যে বিল্ড আইডিটি অ্যাক্সেস কন্ট্রোল দ্বারা সুরক্ষিত কিনা। যদি না হয়:

  • পিআর-টিকে একটি সতর্কবার্তা দিয়ে চিহ্নিত করা হয়েছে।
  • সিআই pipeline স্থাপনকে বাধা দেয়
  • একটি অডিট লগ ঘটনাটি নথিভুক্ত করে, যেখানে দেখানো হয় কে পরিবর্তনটি করেছে এবং কী সংশোধন করা প্রয়োজন।

Xygeni-এর স্বয়ংক্রিয় সুরক্ষা নিশ্চিত করে যে আপনি IDOR দুর্বলতাগুলোকে তাদের উৎপত্তিস্থলেই, অর্থাৎ আপনার কোডেই, থামিয়ে দিতে পারেন। pipelines.

উপসংহার: IDOR ভুলত্রুটিকে লঙ্ঘনে পরিণত করে

তাহলে, IDOR কী? এটি এমন একটি দুর্বলতা যা তখন দেখা দেয়, যখন কোনো কোড ধরে নেয় যে একটি আইডি থাকা মানেই সেটিতে অ্যাক্সেস পাওয়া। এটি পাবলিক-ফেসিং এন্ডপয়েন্টের মতোই প্রায়শই অভ্যন্তরীণ টুলগুলোকেও প্রভাবিত করে।

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

মূল অনুশীলনসমূহের সারসংক্ষেপ:

  • অবজেক্ট-স্তরের অনুমোদন বলবৎ করুন।
  • অভ্যন্তরীণ মানেই সুরক্ষিত, এমনটা কখনো ধরে নেবেন না।
  • IDOR কী এবং এটি আপনার কোডে কীভাবে প্রকাশ পায়, তা বুঝুন।
  • IDOR দুর্বলতাগুলির জন্য নজর রাখুন pipeline.
  • Xygeni-এর মতো টুল ব্যবহার করে সুরক্ষা ব্যবস্থা স্বয়ংক্রিয় করুন।

একটি IDOR দুর্বলতার জন্য কোনো উন্নত এক্সপ্লয়েটের প্রয়োজন হয় না, শুধু একটি উপেক্ষিত রেফারেন্সই যথেষ্ট। অন্য কেউ খুঁজে পাওয়ার আগেই এটিকে সুরক্ষিত করুন!

sca-tools-software-composition-analysis-tools
আপনার সফটওয়্যারের ঝুঁকিগুলোকে অগ্রাধিকার দিন, প্রতিকার করুন এবং সুরক্ষিত করুন।
আপনার বিনামূল্যে অ্যাকাউন্টটি নিন।
কোন ক্রেডিট কার্ড প্রয়োজন নেই

আপনার সফটওয়্যার উন্নয়ন ও বিতরণ সুরক্ষিত করুন

Xygeni প্রোডাক্ট স্যুটের সাথে