স্ক্যানিং
Ogma-তে প্যাসিভ ও অ্যাক্টিভ স্ক্যানার আছে। প্যাসিভ স্ক্যান ক্যাপচার করা ট্রাফিক বিশ্লেষণ করে। অ্যাক্টিভ স্ক্যান পরিবর্তিত অনুরোধ পাঠায় এবং উত্তরের আচরণ, সময়, প্রতিফলন ও ভিত্তিমানের সঙ্গে তুলনা করে ফলাফল যাচাই করে।
প্যাসিভ স্ক্যানার
প্যাসিভ স্ক্যানার নতুন ট্রাফিক না পাঠিয়ে ক্যাপচার করা HTTP এন্ট্রি মূল্যায়ন করে।
এটি নিচের ধরনের বিষয় শনাক্ত করে:
- SQL, NoSQL, LDAP, টেমপ্লেট, ডিসিরিয়ালাইজেশন ও XML ত্রুটির প্রকাশ।
- অনুপস্থিত বা দুর্বল নিরাপত্তা হেডার।
- কুকি ফ্ল্যাগের সমস্যা।
- CORS-এর ভুল কনফিগারেশন।
- প্রকাশিত গোপন তথ্য, ব্যক্তিগত কী, সার্ভিস অ্যাকাউন্টের তথ্য, ওয়েবহুক ও টোকেন।
- প্রকাশিত সোর্স কন্ট্রোল, কনফিগারেশন, API ডকুমেন্টেশন বা সংবেদনশীল ফাইল।
noneঅ্যালগরিদম, দীর্ঘ মেয়াদ ও HMAC ব্যবহারের মতো JWT-সংক্রান্ত উদ্বেগ।- ধীর উত্তর ও বিপজ্জনক HTTP মেথড।
প্যাসিভ ফলাফল প্রাথমিক মূল্যায়নে কার্যকর, তবে সেগুলোও পর্যালোচনা দরকার। হেডার ও নীতিসংক্রান্ত ফলাফল প্রায়ই অ্যাপ্লিকেশনের প্রসঙ্গের ওপর নির্ভর করে।
প্যাসিভ বিশ্লেষণ চালানো
- ট্রাফিক ক্যাপচার করুন।
- সহায়ক সরঞ্জাম > স্ক্যানার খুলুন।
- প্যাসিভ স্ক্যানার নির্বাচন করুন।
- সমস্ত ইতিহাস স্ক্যান করুন চাপুন।
- পর্যবেক্ষণ-এ (নিরাপত্তা পরীক্ষার ফলাফল) তৈরি ফলাফল পর্যালোচনা করুন।
সেটিংস > স্ক্যানার-এ কাস্টম প্যাসিভ নিয়ম কনফিগার করা হয়।
সক্রিয় স্ক্যানার
অ্যাক্টিভ স্ক্যানার অনুরোধের সম্ভাব্য স্থানে পেলোড ইনজেক্ট করে এবং লক্ষ্যের উত্তর যাচাই করে।
বাস্তবায়িত পরীক্ষার শ্রেণি:
| পরীক্ষা | নিশ্চিত করার আচরণ |
|---|---|
| SQL ইনজেকশন | SQL ত্রুটি খোঁজে, অথবা সময়ভিত্তিক পেলোডে মাপা ভিত্তিমানের চেয়ে বেশি পুনরাবৃত্তিযোগ্য বিলম্ব খোঁজে। |
| রিফ্লেক্টেড XSS | প্রত্যাশিত এনকোডিং ছাড়া HTML উত্তরে পেলোডের প্রতিফলন দরকার। |
| পাথ ট্রাভার্সাল / LFI | ভিত্তিমান উত্তরে ছিল না এমন ফাইলের বিষয়বস্তুর নির্দেশক দরকার। |
| OS কমান্ড ইনজেকশন | কমান্ডের আউটপুট অথবা সময়ভিত্তিক পেলোডে মাপা ভিত্তিমানের চেয়ে বেশি পুনরাবৃত্তিযোগ্য বিলম্ব দরকার। |
| SSTI | নির্দিষ্ট ফলযুক্ত টেমপ্লেটের গাণিতিক পেলোড ব্যবহার করে এবং উত্তরে গণনা করা ফল দরকার। |
| SSRF | ইনজেক্ট করা URL পেলোড থেকে মেটাডেটা বা সার্ভিস ব্যানারের প্রমাণ দরকার। |
| উন্মুক্ত রিডাইরেক্ট | ইনজেক্ট করা বাহ্যিক ডোমেইনে নির্দেশ করে এমন রিডাইরেক্ট উত্তর দরকার। |
স্ক্যানার ইচ্ছাকৃতভাবেই সাধারণ 200 OK উত্তরকে দুর্বলতার প্রমাণ হিসেবে ধরে না।
অসম্পূর্ণ বাস্তবায়নের পরীক্ষা
অ্যাক্টিভ পরীক্ষার তালিকায় অসম্পূর্ণ বাস্তবায়ন হিসেবে চিহ্নিত পরীক্ষা থাকতে পারে। ভবিষ্যৎ পরিকল্পনা স্পষ্ট করতে এগুলো দেখানো হয়, তবে ফলাফল তৈরি করে না। বর্তমান ব্যাকএন্ডে আউট-অব-ব্যান্ড বা অ্যাপ্লিকেশনভিত্তিক যাচাই ছাড়া XXE ও অনিরাপদ আপলোড স্বয়ংক্রিয়ভাবে নিশ্চিত করা হয় না।
সব অনুরোধে সক্রিয় স্ক্যান করুন
সব অনুরোধে সক্রিয় স্ক্যান করুন সাম্প্রতিক ক্যাপচার করা অনুরোধে নিচের স্থানে পেলোড ইনজেক্ট করে পরীক্ষা করে:
- কোয়েরি প্যারামিটার।
- ফর্ম বডির প্যারামিটার।
- JSON মান।
- পাথের অংশ।
- চালু থাকলে নির্বাচিত হেডার।
ট্রাফিক ও ফলাফল লক্ষ্যে সীমাবদ্ধ রাখতে অ্যাক্টিভ স্ক্যানের আগে স্কোপ ব্যবহার করুন।
প্রস্তাবিত কর্মপ্রবাহ:
- স্কোপ নির্ধারণ ও সক্রিয় করুন।
- লক্ষ্যের প্রতিনিধিত্বমূলক ট্রাফিক ক্যাপচার করুন।
- প্যাসিভ বিশ্লেষণ দিয়ে শুরু করুন।
- সব অনুরোধে সক্রিয় স্ক্যান করুন ব্যবহারের আগে নির্বাচিত অনুরোধে অ্যাক্টিভ স্ক্যান চালান।
- পর্যবেক্ষণে প্রমাণবাহী অনুরোধ ও উত্তরের প্রমাণ পর্যালোচনা করুন।
- অপরিশোধিত স্ক্যানারের আউটপুট রিপোর্ট না করে ভুল ইতিবাচক ফল সরান।
প্রমাণের মান
উচ্চমানের স্ক্যানারের ফলাফলে এই প্রশ্নগুলোর উত্তর থাকা উচিত:
- কোন প্যারামিটার বা ইনপুট পরীক্ষা করা হয়েছে?
- কোন পেলোড ব্যবহার করা হয়েছে?
- উত্তরে কী বদলেছে?
- ভিত্তিমান উত্তরে কি আচরণটি অনুপস্থিত ছিল?
- সমস্যাটি কি আবার ঘটানো যায়?
- Ogma-তে কি সংযুক্ত প্রমাণ আছে?
প্রমাণ অনিশ্চিত হলে আস্থার মাত্রা কমান অথবা নিশ্চিত হওয়া পর্যন্ত ফল নোট হিসেবে রাখুন।