সিওআরএস মূল সুরক্ষা বনাম সিএসআরএফ টোকেন সহ সিএসআরএফ সুরক্ষা


105

এই প্রশ্নটি কেবল ক্রস সাইটের অনুরোধ জালিয়াতির আক্রমণগুলির বিরুদ্ধে রক্ষা করার is

এটি সম্পর্কে বিশেষত: অরিজিন শিরোনাম (সিওআরএস) এর মাধ্যমে সুরক্ষা কি কোনও সিএসআরএফ টোকেনের মাধ্যমে সুরক্ষা হিসাবে ভাল?

উদাহরণ:

  • অ্যালিস তার ব্রাউজারটি " https://example.com " এ লগ ইন করেছে (একটি কুকি ব্যবহার করে) । আমার ধারণা, সে একটি আধুনিক ব্রাউজার ব্যবহার করেছে uses
  • অ্যালিস " https://evil.com " দেখুন, এবং অ্যাস ডটকমের ক্লায়েন্ট সাইড কোড " https://example.com " (ক্লাসিক সিএসআরএফ দৃশ্যাবলী) এর জন্য এক ধরণের অনুরোধ সম্পাদন করে ।

সুতরাং:

  • আমরা যদি অরিজিন শিরোনাম (সার্ভার-সাইড), এবং কোনও সিএসআরএফ টোকেন না পরীক্ষা করি তবে আমাদের কাছে সিএসআরএফ সুরক্ষা গর্ত রয়েছে।
  • যদি আমরা কোনও সিএসআরএফ টোকেন পরীক্ষা করি তবে আমরা নিরাপদ (তবে এটি কিছুটা ক্লান্তিকর)।
  • আমরা যদি অরিজিন শিরোনামটি পরীক্ষা করে দেখি তবে অ্যাস ডট কমের ক্লায়েন্ট সাইড কোডের অনুরোধটি ঠিক যেমন সিএসআরএফ টোকেনটি ব্যবহার করার সময় ব্লক করা উচিত - বাদে, যদি ডট কমের কোডের পক্ষে কোনওভাবে অরিজিন শিরোনাম সেট করা সম্ভব হয়।

আমি জানি, এক্সএইচআর দিয়ে এটি সম্ভব না হওয়া উচিত (উদাহরণস্বরূপ ক্রস-অরিজিন রিসোর্স ভাগ করে নেওয়ার জন্য সুরক্ষা দেখুন ), কমপক্ষে না, যদি আমরা বিশ্বাস করি যে ডাব্লু 3 সি সমস্ত আধুনিক ব্রাউজারগুলিতে সঠিকভাবে প্রয়োগ করা হবে (আমরা কি পারি?)

তবে অন্যান্য ধরণের অনুরোধ সম্পর্কে কী - যেমন ফর্ম জমা দিন? স্ক্রিপ্ট / আইএমজি / ... ট্যাগ লোড হচ্ছে? অথবা কোনও পৃষ্ঠা কোনও অনুরোধ তৈরি করতে (আইনত) ব্যবহার করতে পারে? অথবা হয়ত কিছু পরিচিত জেএস হ্যাক?

দ্রষ্টব্য: আমি কথা বলছি না

  • নেটিভ অ্যাপ্লিকেশন,
  • ম্যানিপুলেটেড ব্রাউজারগুলি,
  • উদাহরণ.কমের পৃষ্ঠায় ক্রস সাইট স্ক্রিপ্টিং বাগগুলি,
  • ...

4
আমি বিশ্বাস করি অনেক প্রক্সিই মূল শিরোলেখকে সরিয়ে দেয়।
thefourtheye

এবং ফর্ম জমা দেওয়ার জন্য এবং img / স্ক্রিপ্ট ট্যাগগুলির জন্য, আমাদের পুরানো ব্রাউজারগুলির সম্পর্কে নিশ্চিত হওয়া উচিত, সিএসপিতে নির্ভর করা উচিত।
thefourtheye

4
@ থিফোর্তেয়: যেহেতু টিএলএস-এর মাধ্যমে সংযোগটি শুরু করা হয়েছে তবে কোনও প্রক্সি যদি মাঝারিভাবে তাকে / তার মধ্যে রাখতে পারে তবে ব্যবহারকারীর সিএসআরএফের চেয়ে অনেক বেশি চাপের সমস্যা রয়েছে।
পার্সিডস

4
@ থেফোর্তে, তারা কেন ফেলা হবে Origin? এটি সিওআরএস সুরক্ষা অস্বীকার করবে।
পল

4
আমি এই প্রশ্নটি এবং এর উত্তরগুলি পছন্দ করি কারণ তারা নির্দিষ্ট কিছু সম্পর্কে তবে তারা আমাকে সিএসআরএফ এবং সিওআরএসের মধ্যে পার্থক্যের বিষয়টি মনে করিয়ে দেয়। (আমি স্বীকার করি যে এগুলি সহজেই বিভ্রান্তিমূলক ধারণা নয় ... তবে আমি তাদের এখনও বিভ্রান্ত করতে পারি))
দ্য রেড মটর

উত্তর:


42

জেনে রাখুন, এক্সএইচআর দিয়ে এটি সম্ভব না হওয়া উচিত (উদাহরণস্বরূপ ক্রস-অরিজিন রিসোর্স ভাগ করে নেওয়ার জন্য সুরক্ষা দেখুন), কমপক্ষে না, যদি আমরা W3C স্পেকটি সমস্ত আধুনিক ব্রাউজারগুলিতে সঠিকভাবে প্রয়োগ করা যায় বলে বিশ্বাস করি (আমরা কি পারি?)

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

পূর্ববর্তী ব্রাউজারের দুর্বলতা যেমন আই 5.৫ / .0.০-তে রয়েছে যেখানে আক্রমণকারীদের একই উত্স নীতিটি বাইপাস করা এবং আক্রমণ চালানো সম্ভব হয়েছিল, আপনি সাধারণত এগুলি আবিষ্কার করার সাথে সাথেই প্যাচ হওয়ার আশা করতে পারেন এবং বেশিরভাগ ব্রাউজার স্বয়ংক্রিয়ভাবে আপডেট হয়ে যায় , এই ঝুঁকি বেশিরভাগ প্রশমিত করা হবে।

তবে অন্যান্য ধরণের অনুরোধ সম্পর্কে কী - যেমন ফর্ম জমা দিন? স্ক্রিপ্ট / আইএমজি / ... ট্যাগ লোড হচ্ছে? অথবা কোনও পৃষ্ঠা কোনও অনুরোধ তৈরি করতে (আইনত) ব্যবহার করতে পারে? অথবা হয়ত কিছু পরিচিত জেএস হ্যাক?

Originহেডার স্বাভাবিকভাবে শুধুমাত্র XHR ক্রস ডোমেইন অনুরোধের জন্য পাঠানো হয়। চিত্রের অনুরোধগুলিতে শিরোনাম নেই।

দ্রষ্টব্য: আমি কথা বলছি না

  • নেটিভ অ্যাপ্লিকেশন,

  • ম্যানিপুলেটেড ব্রাউজারগুলি,

  • উদাহরণ.কমের পৃষ্ঠায় ক্রস সাইট স্ক্রিপ্টিং বাগগুলি,

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


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

@ ক্রিসলচারার: ​​হ্যাঁ আধুনিক সময়ের প্লাগইনগুলি কিছুটা বেশি শক্তিশালী বলে মনে হচ্ছে। তবে যে কোনও মুহুর্তে একটি নতুন সংস্করণ প্রকাশিত হতে পারে যা আক্রমণকারীকে ব্রাউজারের সুরক্ষাগুলি বাইপাস করার জন্য এমনভাবে উপকারের সুযোগ দেয়। এটি পরিচালনা করার সর্বোত্তম উপায় (যেমন টোকেন / শিরোনাম) আপনার ডেটা সংবেদনশীলতা এবং এই জাতীয় ঝুঁকি গ্রহণযোগ্য কিনা তা নির্ভর করবে is ফ্ল্যাশ কোনও এসওপিকে মান্য করে না, তবে ফ্ল্যাশ প্লাগইনটির উত্স হল এটি যে সাইটটি লোড করা হয়েছিল (জাভা স্ক্রিপ্টের মতো কলিং সাইটের চেয়ে)। এমন একটি রয়েছে crossdomain.xmlযা ক্রস-ডোমেন যোগাযোগ সক্ষম করতে পারে।
সিলভারলাইটফক্স

27

অরিজিনাল শিরোনামের সাথে ওয়েব সামগ্রীগুলি ছাপিয়ে যেতে পারে না। তদুপরি, একই উত্স নীতিমালার অধীনে, একটি উত্স এমনকি অন্য উত্সে কাস্টম শিরোনাম প্রেরণ করতে পারে না। [1]

সুতরাং, সিএসআরএফ টোকেন ব্যবহার করার মতো অরিজিনের শিরোনামটি পরীক্ষা করা ঠিক তত ভাল ।

এটির উপর নির্ভর করার মূল উদ্বেগ হ'ল এটি সমস্ত বৈধ অনুরোধগুলিকে কাজ করতে দেয় কিনা। প্রশ্নকারী এই সমস্যাটি সম্পর্কে জানেন এবং প্রধান মামলাগুলি বাতিল করার জন্য প্রশ্নটি সেট আপ করেছেন (কোনও পুরানো ব্রাউজার নেই, কেবল এইচটিটিপিএস নয়)।

ব্রাউজার বিক্রেতারা এই বিধিগুলি অনুসরণ করে তবে প্লাগইনগুলির কী? তারা নাও পারে, তবে প্রশ্ন "চালিত ব্রাউজারগুলিকে" উপেক্ষা করে। ব্রাউজারে থাকা বাগগুলি সম্পর্কে কী ঘটে যা আক্রমণকারীকে অরিজিনের শিরোনামটি তৈরি করতে দেয়? এমন বাগগুলি থাকতে পারে যা সিএসআরএফ টোকেনকেও মূল উত্স জুড়ে ফাঁস করার অনুমতি দেয়, তাই যুক্তি দিতে আরও কাজ করা লাগবে যে একটি অপরটির চেয়ে ভাল।


5
আমি সবেমাত্র ফায়ারফক্স 47 পরীক্ষা করেছি এবং এটি ক্রস-অরিজিন ফর্ম পোস্টের জন্য একটি উত্স শিরোনাম প্রেরণ করে না (এক্সএইচআরের জন্য CORS সক্ষম করে না এমন REST পরিষেবাগুলিতে আক্রমণ করার একটি সাধারণ উপায়), সুতরাং আমি মনে করি না যে একটি আসল শিরোনাম চেক ব্যবহারকারী ফায়ারফক্স ব্যবহার করছেন কার্যকর হবে।
অ্যান্ডি

4
রেফারেন্সের জন্য, ফায়ারফক্সের "অরিজিন" শিরোনাম না প্রেরণের সমস্যাটি বুগজিলাতে সন্ধান করা হয়েছে: bugzilla.mozilla.org/show_bug.cgi?id=446344 আপনি এই ক্ষেত্রে "রেফারার" শিরোনামটি পরীক্ষা করতে পারেন তবে আমার অভিজ্ঞতায় কিছু ফায়ারফক্স ব্যবহারকারীরা গোপনীয়তা সংক্রান্ত উদ্বেগগুলির কারণে "রেফারার" শিরোনামটিকে অবরুদ্ধ করেন (যদিও আইএমএইচওও এটি পথ এবং ক্যোয়ারিটি সরিয়ে দেওয়ার জন্য যথেষ্ট হবে)।
স্টিফেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.