Hacker News

পেন্টেষ্টাৰসকলৰ বাবে চি এছ পি: মৌলিক কথাবোৰ বুজা

মন্তব্য

2 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

প্ৰতিজন পেন্টেষ্টাৰে বিষয়বস্তু সুৰক্ষা নীতি কিয় আয়ত্ত কৰিব লাগিব

সামগ্ৰী সুৰক্ষা নীতি (CSP) ক্ৰছ-ছাইট স্ক্ৰিপ্ট (XSS), ডাটা ইনজেকচন, আৰু ক্লিকজেকিং আক্ৰমণৰ বিৰুদ্ধে আটাইতকৈ জটিল ব্ৰাউজাৰ-পক্ষৰ প্ৰতিৰক্ষা ব্যৱস্থাত পৰিণত হৈছে। তথাপিও অনুপ্ৰৱেশ পৰীক্ষণ নিয়োগসমূহত, CSP হেডাৰসমূহ সঘনাই ভুল বিন্যাস কৰা — আৰু ভুল বুজাবুজি কৰা — সুৰক্ষা নিয়ন্ত্ৰণসমূহৰ এটা হৈয়েই থাকে। ২০২৪ চনত ১০ লাখতকৈ অধিক ৱেবছাইট বিশ্লেষণ কৰি কৰা এক অধ্যয়নত দেখা গৈছে যে মাত্ৰ ১২.৮% ৱেবছাইটেহে আচলতে চিএছপি হেডাৰ স্থাপন কৰিছিল, আৰু ইয়াৰে প্ৰায় ৯৪% ৱেবছাইটত অন্ততঃ এটা নীতিৰ দুৰ্বলতা আছিল যিটো শোষণ কৰিব পৰা যায়। পেন্টেষ্টাৰসকলৰ বাবে, CSP বুজাটো বৈকল্পিক নহয় — ই এটা পৃষ্ঠ-স্তৰৰ মূল্যায়ন আৰু এটা প্ৰতিবেদনৰ মাজৰ পাৰ্থক্য যিয়ে প্ৰকৃততে এটা ক্লায়েণ্টৰ সুৰক্ষা ভংগীমা শক্তিশালী কৰে।

আপুনি ৱেব এপ্লিকেচন মূল্যায়ন কৰক, বাগ বাউন্টি হান্টিং কৰক, বা স্পৰ্শকাতৰ গ্ৰাহকৰ তথ্য নিয়ন্ত্ৰণ কৰা এটা ব্যৱসায়িক প্লেটফৰ্মত সুৰক্ষা নিৰ্মাণ কৰক, CSP জ্ঞান মূল। এই গাইডে CSP কি, ই হুডৰ তলত কেনেকৈ কাম কৰে, ই ক'ত বিফল হয়, আৰু পেন্টেষ্টাৰসকলে কেনেকৈ পদ্ধতিগতভাৱে দুৰ্বল নীতিসমূহ মূল্যায়ন আৰু বাইপাছ কৰিব পাৰে তাক ভাঙি দিয়ে।

সামগ্ৰী সুৰক্ষা নীতিয়ে প্ৰকৃততে কি কৰে

ইয়াৰ মূলত, CSP এটা HTTP সঁহাৰি হেডাৰৰ যোগেদি প্ৰদান কৰা এটা ঘোষণামূলক সুৰক্ষা ব্যৱস্থা (বা কম সাধাৰণভাৱে, এটা টেগ)। ই ব্ৰাউজাৰক নিৰ্দেশ দিয়ে যে কোনবোৰ বিষয়বস্তুৰ উৎস — স্ক্ৰিপ্ট, শৈলী, ছবি, ফন্ট, ফ্ৰেম, আৰু অধিক — এটা প্ৰদত্ত পৃষ্ঠাত লোড আৰু এক্সিকিউট কৰাৰ অনুমতি দিয়া হৈছে। যেতিয়া এটা সম্পদে নীতি উলংঘা কৰে, ব্ৰাউজাৰে ইয়াক বাধা দিয়ে আৰু বৈকল্পিকভাৱে উলংঘাটো এটা নিৰ্দিষ্ট শেষবিন্দুলৈ প্ৰতিবেদন কৰে।

CSP ৰ আঁৰৰ মূল প্ৰেৰণা আছিল XSS আক্ৰমণ লাঘৱ কৰা। ইনপুট চেনিটাইজেচন আৰু আউটপুট এনকোডিঙৰ দৰে পৰম্পৰাগত XSS প্ৰতিৰক্ষাসমূহ ফলপ্ৰসূ কিন্তু ভংগুৰ — এটা হেৰুৱা প্ৰসংগ বা এনকোডিং ভুলে দুৰ্বলতাক পুনৰ প্ৰৱৰ্তন কৰিব পাৰে। CSP এ এটা প্ৰতিৰক্ষা-গভীৰ স্তৰ যোগ কৰে: যদিও এটা আক্ৰমণকাৰীয়ে DOM ত এটা ক্ষতিকাৰক স্ক্ৰিপ্ট টেগ ইনজেকচন কৰে, এটা সঠিকভাৱে বিন্যাস কৰা নীতিয়ে ব্ৰাউজাৰক ইয়াক এক্সিকিউট কৰাত বাধা দিয়ে।

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

এটা CSP হেডাৰৰ শৰীৰবিজ্ঞান: নিৰ্দেশনা আৰু উৎসসমূহ

এটা CSP হেডাৰ নিৰ্দেশনাৰ দ্বাৰা গঠিত, প্ৰত্যেকেই এটা নিৰ্দিষ্ট সম্পদ ধৰণ নিয়ন্ত্ৰণ কৰে। লক্ষ্যৰ নীতি মূল্যায়ন কৰা যিকোনো পেন্টেষ্টাৰৰ বাবে এই নিৰ্দেশনাসমূহ বুজাটো অতি প্ৰয়োজনীয়। আটাইতকৈ গুৰুত্বপূৰ্ণ নিৰ্দেশনাসমূহৰ ভিতৰত আছে default-src (স্পষ্টভাৱে নিৰ্ধাৰণ নকৰা যিকোনো নিৰ্দেশনাৰ বাবে ফ'লবেক), script-src (জাভাস্ক্রিপ্ট নিষ্পাদন), style-src (CSS), img-src (চিত্ৰসমূহ), connect-src (XHR, Fetch, WebSocket সংযোগসমূহ), frame-src (এম্বেড কৰা iframes), আৰু object-src (ফ্লেচ বা জাভা এপ্লেটসমূহৰ দৰে প্লাগিনসমূহ)।

প্ৰতিটো নিৰ্দেশনাই এটা বা অধিক উৎস অভিব্যক্তি গ্ৰহণ কৰে যি অনুমোদিত উৎপত্তি সংজ্ঞায়িত কৰে। এইবোৰ নিৰ্দিষ্ট গৃহস্থৰ নাম (https://cdn.example.com)ৰ পৰা বহল মূলশব্দলৈকে:

  • 'self' — দস্তাবেজ
  • ৰ সৈতে একে উৎপত্তিৰ পৰা সম্পদৰ অনুমতি দিয়ে
  • 'none' — সেই ধৰণৰ সকলো সম্পদ বন্ধ কৰে
  • 'অসুৰক্ষিত-ইনলাইন' — ইনলাইন স্ক্ৰিপ্ট বা শৈলীসমূহৰ অনুমতি দিয়ে (কাৰ্যকৰীভাৱে XSS সুৰক্ষা নিষ্ক্ৰিয় কৰে)
  • 'unsafe-eval' — eval(), setTimeout(string), আৰু অনুৰূপ গতিশীল ক'ড নিষ্পাদনৰ অনুমতি দিয়ে
  • 'nonce-{random}' — এটা মিল থকা ক্ৰিপ্টোগ্ৰাফিক nonce
  • ৰ সৈতে টেগ কৰা নিৰ্দিষ্ট ইনলাইন স্ক্ৰিপ্টসমূহৰ অনুমতি দিয়ে
  • 'strict-dynamic' — ইতিমধ্যে বিশ্বাস কৰা স্ক্ৰিপ্টসমূহৰ দ্বাৰা লোড কৰা স্ক্ৰিপ্টসমূহক বিশ্বাস কৰে, গৃহস্থ-ভিত্তিক অনুমতি তালিকাসমূহ আওকাণ কৰি
  • তথ্য: — তথ্য URIসমূহক বিষয়বস্তুৰ উৎস হিচাপে অনুমতি দিয়ে

এটা বাস্তৱ-পৃথিৱীৰ CSP হেডাৰ এনেদৰে দেখাব পাৰে: Content-Security-Policy: default-src 'self'; স্ক্ৰিপ্ট-src 'নিজৰ' https://cdn.jsdelivr.net 'একবাৰ-abc123'; style-src 'self' 'অসুৰক্ষিত-ইনলাইন'; img-src *; object-src 'কোনো নাই'। এজন পেন্টেষ্টাৰ হিচাপে আপোনাৰ কাম হ'ল এই নীতি পঢ়ি তৎক্ষণাত ই ক'ত শক্তিশালী, ক'ত দুৰ্বল, আৰু ক'ত ই শোষণযোগ্য সেইটো চিনাক্ত কৰা।

সাধাৰণ CSP ভুল বিন্যাসসমূহ পেন্টেষ্টাৰসমূহে লক্ষ্য কৰিব লাগে

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

আটাইতকৈ বিধ্বংসী ভুল বিন্যাস হৈছে script-src নিৰ্দেশত 'unsafe-inline' ৰ উপস্থিতি। এই একক চাবিশব্দে CSP ৰ সমগ্ৰ এন্টি-XSS সুবিধাক মূলতঃ অসাৰ কৰি তোলে, কাৰণ ই ব্ৰাউজাৰক যিকোনো ইনলাইন