এই পর্বে যা শিখবেন
- আক্রমণের একটি শ্রেণিবিভাগ — CIA, স্তর আর passive/active — আর কোনটি কোন পর্বে বিস্তারিত পড়েছেন
- রক্ষকের চোখে আক্রমণের ধাপ (খোঁজখবর থেকে ক্ষতি পর্যন্ত), MITRE ATT&CK-এর ভাষা, আর কোন নিয়ন্ত্রণ কোন ধাপে থামায়
- DDoS-এর তিন ধরন, botnet, ধারণক্ষমতার হিসাব, আর overprovisioning থেকে RTBH ও BCP 38 পর্যন্ত প্রতিরক্ষার স্তর — simulator চালিয়ে
- Spoofing আর MITM-এর সাধারণ ছবি, SSL stripping কীভাবে HSTS-এ আটকায়, আর scanning ও password আক্রমণের চিহ্ন ও প্রতিরক্ষা
- IDS/IPS-এর ধরন, false positive আর base-rate fallacy-র হিসাব, log, SIEM, honeypot আর একটি alert কীভাবে যাচাই করা হয়
শুরুতেই একটি কথা: এই পর্ব পুরোপুরি রক্ষকের দৃষ্টিকোণ থেকে লেখা। আক্রমণ কী, কেন কাজ করে আর কীভাবে ঠেকানো যায় — শুধু এটুকু ধারণা। কোনো আক্রমণ-টুল চালানোর নির্দেশনা, অন্যের নেটওয়ার্কে পরীক্ষা বা সুরক্ষা এড়ানোর কৌশল এখানে নেই, থাকবেও না। যা কিছু পরীক্ষা করবেন, শুধু নিজের যন্ত্রে, নিজের ল্যাবে বা লিখিত অনুমতি নিয়ে।
১ · আক্রমণের মানচিত্র — লক্ষ্য, স্তর আর ধরন
মডিউল ২ থেকে ৭-এ প্রায় প্রতিটি protocol-এর দুর্বল দিকও দেখেছেন — MAC table ভরানো, জাল ARP, SYN flood, DNS cache poisoning, জাল ইমেইল। এই পর্বের কাজ সেগুলোকে এক মানচিত্রে বসানো, যাতে নতুন আক্রমণের নাম শুনলেই জিজ্ঞেস করতে পারেন: “এটি কী ভাঙতে চায়, কোন স্তরে, আর প্রতিরক্ষা কোন জাতের?”
পর্ব ৪৬-এ (নেটওয়ার্ক নিরাপত্তার ভিত্তি) নিরাপত্তার তিনটি মূল লক্ষ্য দেখেছেন — একসাথে বলা হয় CIA triad:
- Confidentiality (গোপনীয়তা): যার দেখার কথা নয়, সে দেখবে না। আড়ি পাতা এটি ভাঙে।
- Integrity (অখণ্ডতা ও সত্যতা): বার্তা পথে বদলাবে না, আর প্রেরক যে বলে সে-ই। জাল ঠিকানা, জাল উত্তর এটি ভাঙে।
- Availability (প্রাপ্যতা): সেবা দরকারের সময় পাওয়া যাবে। Denial of service এটি ভাঙে।
দ্বিতীয় ভাগ ধরন দিয়ে। Passive attack-এ আক্রমণকারী শুধু শোনে বা দেখে — কিছু বদলায় না, তাই ধরা কঠিন; প্রতিরক্ষা মূলত এনক্রিপশন। Active attack-এ সে packet বানায়, বদলায়, আটকায় বা বন্যা বইয়ে দেয় — ধরা তুলনামূলক সহজ, প্রতিরক্ষা যাচাই, সীমা আর ছাঁকনি।
একটি বড় বাড়ির দারোয়ানের কথা ভাবুন। কেউ জানালার নিচে কথা শুনছে (passive, গোপনীয়তা); কেউ মালিকের নামে ভুয়া চিঠি দিয়ে যাচ্ছে (active, সত্যতা); একদল লোক গেটে ভিড় করে আছে যাতে অতিথি ঢুকতে না পারেন (active, প্রাপ্যতা)। প্রতিরক্ষাও তিন রকম — পর্দা টানা, চিঠির সই মেলানো, আর মোড়েই ট্রাফিক পুলিশ।
নিচের টেবিলে কোর্সের পরিচিত আক্রমণগুলো একসাথে। শেষ কলামে বিস্তারিত যেখানে পড়েছেন — এখানে সেগুলোর পুনরাবৃত্তি করব না, শুধু সাধারণ নীতিগুলো জোড়া লাগাব।
| আক্রমণ | স্তর | যা ভাঙে | ধরন | প্রধান প্রতিরক্ষা | কোথায় পড়েছেন |
|---|---|---|---|---|---|
| আড়ি পাতা (Wi-Fi, তারে) | ১–২ | C | passive | WPA2/WPA3, TLS | পর্ব ১৪, ৪৮ |
| Wi-Fi-র দুর্বলতা (WPS, KRACK) | ২ | C, I | active | WPS বন্ধ, firmware হালনাগাদ | পর্ব ১৪ |
| MAC flooding | ২ | C, A | active | port security | পর্ব ১২ |
| VLAN hopping | ২ | C, I | active | DTP বন্ধ, native VLAN অব্যবহৃত | পর্ব ১৩ |
| ARP spoofing, rogue DHCP | ২–৩ | C, I | active | DHCP snooping, DAI | পর্ব ১৮ |
| ICMP flood, smurf | ৩ | A | active | rate limit, directed broadcast বন্ধ | পর্ব ২০ |
| BGP prefix hijack | ৩ (routing) | A, C, I | active | RPKI, prefix filter | পর্ব ২৫ |
| UDP reflection/amplification | ৩–৪ | A | active | BCP 38, open সেবা বন্ধ, RRL | পর্ব ২৮ |
| SYN flood | ৪ | A | active | SYN cookie | পর্ব ২৯ |
| DNS cache poisoning | ৭ | I | active | এলোমেলো port, DNSSEC | পর্ব ৩৫ |
| XSS, CSRF (cookie চুরি ও অপব্যবহার) | ৭ | C, I | active | SameSite, HttpOnly, escaping | পর্ব ৩৬ |
| Web cache poisoning/deception | ৭ | I, C | active | cache key ঠিক রাখা | পর্ব ৩৮ |
| Email spoofing, phishing | ৭ | I | active | SPF, DKIM, DMARC | পর্ব ৩৯ |
| Slowloris, ধীর অনুরোধ | ৭ | A | active | timeout, প্রতি-IP সীমা | পর্ব ৪৩, ৪৫ |
| IP spoofing (সাধারণ) | ৩ | I | active | ingress filtering | এই পর্ব, অংশ ৫ |
| MITM, SSL stripping | ২–৭ | C, I | active | TLS যাচাই, HSTS | এই পর্ব, অংশ ৬ |
| Port scan (খোঁজখবর) | ৩–৪ | — (প্রস্তুতি) | active | attack surface কমানো, নজরদারি | এই পর্ব, অংশ ৭ |
| Credential stuffing, brute force | ৭ | C | active | MFA, rate limit | এই পর্ব, অংশ ৭ |
কোনো একক “নিরাপত্তা যন্ত্র” এই সারির সবগুলো ঠেকায় না। Link-এর আক্রমণ থামে switch-এ, routing-এর আক্রমণ থামে RPKI-তে, application-এর আক্রমণ থামে কোডে। এজন্যই defense in depth — স্তরে স্তরে আলাদা আলাদা পাহারা।
২ · আক্রমণকারীর পথ — রক্ষকের চোখে
গুরুতর আক্রমণ সাধারণত একটি ঘটনা নয়, একটি যাত্রা। রক্ষকের জন্য এর সুখবর: আক্রমণকারীকে প্রতিটি ধাপে সফল হতে হয়, আর রক্ষক যেকোনো একটি ধাপে থামাতে পারলেই চলে।
| ধাপ | আক্রমণকারী যা চায় | রক্ষক কী দেখে | যে নিয়ন্ত্রণ থামায় |
|---|---|---|---|
| ১. Reconnaissance (খোঁজখবর) | কোন সেবা খোলা, কোন সংস্করণ, কর্মীদের ইমেইল | firewall log-এ scan, অস্বাভাবিক DNS প্রশ্ন | attack surface কমানো, banner ছোট রাখা, নজরদারি |
| ২. Initial access (প্রথম প্রবেশ) | phishing, পুরোনো সফটওয়্যারের দুর্বলতা, চুরি করা পাসওয়ার্ড | ব্যর্থ login-এর ঢেউ, অদ্ভুত সংযুক্তি | patch, MFA, ইমেইল যাচাই (পর্ব ৩৯), WAF |
| ৩. ঘাঁটি গাড়া (execution, persistence) | নিজের প্রোগ্রাম চালানো, রিবুটের পরেও টিকে থাকা | নতুন সেবা, অজানা প্রক্রিয়া, ফাইল বদল | HIDS, কম অনুমতি (OS নিরাপত্তা) |
| ৪. Lateral movement (ভেতরে ছড়ানো) | এক যন্ত্র থেকে পাশের সার্ভারে | ভেতরের যন্ত্রগুলোর মধ্যে নতুন ধরনের সংযোগ | segmentation, VLAN (পর্ব ১৩), ভেতরের firewall (পর্ব ৪৯), DAI |
| ৫. Exfiltration বা ক্ষতি | ডেটা বাইরে পাঠানো, এনক্রিপ্ট করে মুক্তিপণ, সেবা অচল | বাইরে বড় আকারের অস্বাভাবিক upload, নিয়মিত ছন্দের সংযোগ | egress filtering, flow নজরদারি, ব্যাকআপ |
এই ধাপগুলোর খুঁটিনাটি নাম দেওয়ার জনপ্রিয় কাঠামো MITRE ATT&CK — অলাভজনক প্রতিষ্ঠান MITRE-এর উন্মুক্ত জ্ঞানভান্ডার, যেখানে বাস্তবে দেখা আক্রমণ-আচরণ “tactic” (উদ্দেশ্য, যেমন Initial Access, Lateral Movement) আর “technique” (পদ্ধতি) হিসেবে সাজানো। রক্ষকেরা এটিকে মূলত ভাষা হিসেবে ব্যবহার করেন: “কোন technique ধরার ব্যবস্থা আছে, কোনগুলোতে আমরা অন্ধ?” এটি সরল ক্রম নয় — বাস্তব আক্রমণ ধাপ বাদ দেয়, ফিরে যায়।
DDoS এই যাত্রার বাইরে: আক্রমণকারী ঢুকতে চায় না, শুধু দরজা বন্ধ করতে চায় — তাই প্রতিরক্ষাও আলাদা জাতের।
৩ · DoS আর DDoS — তিন ধরন, botnet আর ধারণক্ষমতার অঙ্ক
DDoS-এর মূল চিন্তা একটাই: প্রতিটি সেবার কোনো না কোনো সীমিত সম্পদ আছে — link-এর bandwidth, firewall বা সার্ভারের সংযোগ-টেবিল, CPU আর ডেটাবেস। যেকোনো একটি ফুরিয়ে দিলেই আসল ব্যবহারকারীরা আর সেবা পান না। কোন সম্পদ লক্ষ্য, তা দিয়ে তিন ধরন:
| ধরন | যা ফুরায় | মাপের একক | উদাহরণ | মূল প্রতিরক্ষা |
|---|---|---|---|---|
| Volumetric | link-এর bandwidth | bit প্রতি সেকেন্ড (Gbps, Tbps) | UDP flood, reflection/amplification (পর্ব ২৮) | উজানে ছাঁকা: anycast, scrubbing, ISP |
| Protocol / state exhaustion | সংযোগের অবস্থা রাখার টেবিল — সার্ভারের SYN queue, firewall বা load balancer-এর conntrack | packet প্রতি সেকেন্ড (pps), নতুন সংযোগ প্রতি সেকেন্ড | SYN flood (পর্ব ২৯), connection-table ভরানো | SYN cookie, অবস্থাহীন ছাঁকনি, টেবিলের সীমা |
| Application-layer | CPU, ডেটাবেস, worker, মেমরি | অনুরোধ প্রতি সেকেন্ড (rps) | HTTP flood, ব্যয়বহুল search বারবার, Slowloris (পর্ব ৪৫) | rate limit, cache/CDN, timeout, WAF |
সূক্ষ্ম কথা: stateful firewall নিজেই state exhaustion-এর শিকার হতে পারে — টেবিল ভরলে নতুন বৈধ সংযোগও ফেলে দেয়। তাই অনেক নেটওয়ার্ক সামনে অবস্থাহীন (stateless) ছাঁকনি রাখে (পর্ব ৪৯, Firewall আর VPN).
Botnet আর Mirai — যখন ক্যামেরাই অস্ত্র
“Distributed” অংশটি আসে botnet থেকে — ক্ষতিকর সফটওয়্যারে আক্রান্ত হাজার থেকে লাখো যন্ত্র, যাদের দূর থেকে একসাথে নির্দেশ দেওয়া যায়। ২০১৬ সালের Mirai এর সবচেয়ে পরিচিত উদাহরণ: প্রকাশিত বিশ্লেষণ অনুযায়ী এটি ক্যামেরা, ভিডিও রেকর্ডার আর বাসার router-এর কারখানার ডিফল্ট পাসওয়ার্ডের সুযোগে ছড়িয়েছিল, আর একটি বড় DNS সেবাদাতার ওপর আক্রমণে বহু জনপ্রিয় ওয়েবসাইট কয়েক ঘণ্টা নাগালের বাইরে ছিল (বিস্তারিত ভাবনার প্রশ্ন ১-এ)। শিক্ষা: IoT যন্ত্রের ডিফল্ট পাসওয়ার্ড পুরো ইন্টারনেটের সমস্যা; প্রতিটি যন্ত্রের ট্রাফিক সামান্য বলে উৎসে চেনা কঠিন; আর DNS-এর মতো কেন্দ্রীয় নির্ভরতা পড়লে সবাই পড়ে। প্রকাশিত রিপোর্টে সাম্প্রতিক সবচেয়ে বড় আক্রমণগুলো “Tbps মাত্রার” — বেশিরভাগ প্রতিষ্ঠানের পুরো link-এর চেয়ে শত-হাজার গুণ বড়।
ধারণক্ষমতার অঙ্ক — কেন নিজের ঘরে বসে ঠেকানো যায় না
ধরুন একটি প্রতিষ্ঠানের ইন্টারনেট link ১০ Gbps, স্বাভাবিক ট্রাফিক ২ Gbps. একটি botnet-এ ১ লাখ আক্রান্ত যন্ত্র, প্রতিটি মাত্র ২ Mbps upload করতে পারে (একটি সাধারণ বাসার সংযোগের জন্য কম)।
link-এ মোট চাপ ২০০ + ২ = ২০২ Gbps, link নিতে পারে ১০ → প্রতি ২০২টি packet-এর মাত্র ১০টি যায়; বৈধ ট্রাফিকের মোটামুটি ১০ ÷ ২০২ ≈ ৫% পৌঁছায়
এখানে মূল কথাটি হলো কোথায় packet ফেলা হয়। ISP-র router থেকে আপনার link-এ ঢোকার মুখে queue উপচে পড়ে, আর সেখানে আসল-ভুয়া কোনো বাছবিচার হয় না (পর্ব ৫-এর queue আর loss মনে করুন)। আপনার firewall বসে আছে link-এর পরে — সে যে ১০ Gbps পায়, তার ৯৫%-ই আক্রমণ, আর সেগুলো নিখুঁতভাবে ফেলে দিলেও হারানো বৈধ ট্রাফিক আর ফেরে না। অফিসের সামনের গলিতে শত শত রিকশা দাঁড়ালে রিসেপশন যত দক্ষই হোক, অতিথি দরজা পর্যন্তই পৌঁছান না — জট খুলতে হয় মোড়ে, বড় রাস্তায়।
নিচের simulator এই সরল মডেলটি তিনভাবে চালায়: সরাসরি botnet, reflection-এ amplification বাড়ালে, আর আক্রমণকারীর উৎস-নেটওয়ার্কগুলোর কত অংশ BCP 38 মানলে কী হয়। মডেলটি ইচ্ছা করে সরল — ভরা link এলোমেলোভাবে packet ফেলে, সংখ্যাগুলো উদাহরণ।
// Simplified DDoS capacity model - illustrative numbers, not real measurements.
const LINK = 10, LEGIT = 2; // victim uplink 10 Gbps, normal traffic 2 Gbps
function report(label, attack) {
const offered = attack + LEGIT;
const ok = Math.min(1, LINK / offered); // a full link drops packets at random
console.log(label.padEnd(20) + "attack " + attack.toFixed(1).padStart(5) + " Gbps | link load " +
(offered / LINK * 100).toFixed(0).padStart(4) + "% | legit delivered " + (ok * 100).toFixed(1) + "%");
}
console.log("A) Direct flood from a botnet, 2 Mbps upload per bot");
for (const bots of [1000, 10000, 100000]) report(" " + bots + " bots", bots * 2 / 1000);
console.log("B) Reflection: attacker sends 1 Gbps of spoofed requests");
for (const amp of [1, 10, 50]) report(" amplification x" + amp, 1 * amp);
console.log("C) Same x50 reflection; fraction f of attacker networks apply BCP 38");
for (const f of [0, 0.5, 0.9, 0.99]) report(" f = " + f, 1 * (1 - f) * 50);
console.log(" (model assumes spoofed traffic is spread evenly over networks)");আউটপুট:
A) Direct flood from a botnet, 2 Mbps upload per bot
1000 bots attack 2.0 Gbps | link load 40% | legit delivered 100.0%
10000 bots attack 20.0 Gbps | link load 220% | legit delivered 45.5%
100000 bots attack 200.0 Gbps | link load 2020% | legit delivered 5.0%
B) Reflection: attacker sends 1 Gbps of spoofed requests
amplification x1 attack 1.0 Gbps | link load 30% | legit delivered 100.0%
amplification x10 attack 10.0 Gbps | link load 120% | legit delivered 83.3%
amplification x50 attack 50.0 Gbps | link load 520% | legit delivered 19.2%
C) Same x50 reflection; fraction f of attacker networks apply BCP 38
f = 0 attack 50.0 Gbps | link load 520% | legit delivered 19.2%
f = 0.5 attack 25.0 Gbps | link load 270% | legit delivered 37.0%
f = 0.9 attack 5.0 Gbps | link load 70% | legit delivered 100.0%
f = 0.99 attack 0.5 Gbps | link load 25% | legit delivered 100.0%
(model assumes spoofed traffic is spread evenly over networks)
(A) ১,০০০ যন্ত্রে link ৪০% — সেবা চলে; ১০ হাজারে ২২০%, বৈধ ট্রাফিকের ৪৫.৫% পৌঁছায় (১০ ÷ ২২); ১ লাখে মাত্র ৫.০% — হাতে-কষা হিসাবের সাথে মিল। (B) আক্রমণকারী একই ১ Gbps পাঠায়, শুধু amplification বদলায়: ×১০-এ বৈধের ৮৩.৩% পৌঁছায়, ×৫০-এ ১৯.২% — খরচ না বাড়িয়ে ক্ষতি বহুগুণ। (C) অর্ধেক নেটওয়ার্ক BCP 38 মানলে আক্রমণ ২৫ Gbps, ৯০% মানলে ৫ Gbps — link সামলে নেয়। কিন্তু শেষ লাইনের সতর্কতা জরুরি: বাস্তবে আক্রমণকারী ঠিক সেই নেটওয়ার্কগুলোই বেছে নেয় যারা filtering করে না, তাই ৯৯% মানলেও বাকি ১% থেকে পুরো আক্রমণ আসতে পারে। নিজে চেষ্টা করুন: LINK = 10 বদলে 100 করুন।
৪ · DDoS-এর প্রতিরক্ষা — নিজের ঘর থেকে ইন্টারনেটের উজান পর্যন্ত
ধারণক্ষমতার অঙ্ক থেকেই প্রতিরক্ষার নকশা আসে: আক্রমণ যত বড়, তাকে তত উজানে, তত বড় আর ছড়ানো নেটওয়ার্কে থামাতে হয়। কাছ থেকে দূরে স্তরগুলো:
নিজের ঘরে
Overprovisioning (দরকারের চেয়ে বড় link ও সার্ভার), rate limiting, SYN cookie (পর্ব ২৯), timeout আর সংযোগের সীমা (পর্ব ৪৩, ৪৫)। State আর application আক্রমণে কার্যকর, বড় volumetric-এ নয়।
ছোট ও মাঝারি আক্রমণছড়িয়ে দেওয়া: anycast আর CDN
Anycast-এ একই ঠিকানা বহু শহর থেকে ঘোষণা হয় (পর্ব ২৫), তাই আক্রমণ প্রতিটি botnet-যন্ত্রের কাছের কেন্দ্রে ভাগ হয়ে যায়। CDN (পর্ব ৩৮) cache থেকে উত্তর দেয়, HTTP flood মূল সার্ভারে কম পৌঁছায়।
ভার ভাগ করাScrubbing
Scrubbing center: আক্রমণের সময় সেবাদাতা BGP দিয়ে শিকারের prefix নিজের দিকে টানে, আক্রমণের ধাঁচ (কেউ চায়নি এমন DNS উত্তর) ফেলে, আর পরিষ্কার ট্রাফিক tunnel-এ শিকারের কাছে পাঠায়।
বড় volumetric আক্রমণISP-র সহযোগিতা
RTBH (remotely triggered black hole): শিকার BGP-র একটি বিশেষ community দিয়ে ISP-কে আক্রান্ত IP-র সব ট্রাফিক ISP-র সীমানাতেই ফেলে দিতে বলে। Flowspec: BGP দিয়েই আরও সূক্ষ্ম নিয়ম পাঠানো — যেমন এই গন্তব্যে UDP উৎস-port 123-এর ট্রাফিক বাদ।
শেষ অস্ত্রRTBH কঠিন আপস: আক্রান্ত IP-টি পুরো অচল — এক অর্থে আক্রমণকারীর কাজই সম্পূর্ণ — কিন্তু একই link-এর বাকি সবাই বাঁচে। Flowspec সূক্ষ্মতর, তবে ভুল নিয়ম ছড়ালে বিপুল বৈধ ট্রাফিকও আটকায়। (BLACKHOLE community RFC 7999-এ, Flowspec-এর বর্তমান মান RFC 8955-এ; কোন ISP কী সমর্থন করে তা চুক্তি ভেদে আলাদা।)
মূলে আঘাত: BCP 38 আর BCP 84 — আর কেন spoofing টিকে আছে
Reflection আক্রমণ সম্ভব শুধু একটি কারণে: কোনো নেটওয়ার্ক তার গ্রাহকদের অন্যের উৎস-ঠিকানা বসিয়ে packet পাঠাতে দেয়। Ingress filtering — BCP 38 (RFC 2827, ২০০০) — বলে ISP যেন গ্রাহকের দিক থেকে আসা packet-এর উৎস-ঠিকানা সেই গ্রাহকের নিজের ঠিকানা-ব্লকের কি না যাচাই করে। BCP 84 (RFC 3704, পরে RFC 8704-এ হালনাগাদ) একাধিক ISP-তে যুক্ত (multihomed) নেটওয়ার্কের জন্য এর বাস্তব পদ্ধতিগুলো বর্ণনা করে, যার পরিচিত রূপ uRPF: “এই উৎস-ঠিকানায় ফেরার পথ কি এই interface দিয়েই?” — না হলে packet ফেলা (strict mode), বা অন্তত routing table-এ ঠিকানাটির কোনো পথ আছে কি না দেখা (loose mode).
তবু spoofing টিকে আছে, কারণ এটি প্রণোদনার সমস্যা: filtering-এর খরচ ISP-র, লাভ বাকি পৃথিবীর, আর একটি অবহেলিত নেটওয়ার্কই আক্রমণকারীর জন্য যথেষ্ট (পর্ব ২৮-এর ভাবনার প্রশ্নে বিস্তারিত)। তাই MANRS-এর মতো স্বেচ্ছা উদ্যোগ, প্রতিফলক কমানো আর নকশায় সতর্কতাও লাগে।
এবার পুরো ছবিটি ধাপে ধাপে দেখি: একটি reflection-amplification আক্রমণ পথে কোথায় কোথায় থামানো যায়। সংখ্যাগুলো উদাহরণ — simulator-এর মডেলের সাথে মেলানো।
- Botnet
src = শিকারজাল উৎস - উৎস ISP
BCP 38অর্ধেক নেটওয়ার্কে - প্রতিফলক
×50খোলা resolver - RRL
সীমিত উত্তরসচেতন অপারেটর - শিকারের link
10 Gbpsভরা? - Scrubbing
anycastউজানে ছাঁকা
| জাল অনুরোধ | |
| শিকারের দিকে উত্তর | |
| শিকারের link | |
| কোথায় থামল |
- Botnet জাল উৎস দিয়ে অনুরোধ পাঠায়। উৎস-ঠিকানায় শিকারের IP বসিয়ে ছোট DNS-এর মতো প্রশ্ন, মোট ১ Gbps. শিকারের link তখনো ২০% — শুধু ২ Gbps বৈধ ট্রাফিক।
- প্রথম ছাঁকনি: BCP 38. Ingress filtering করা নেটওয়ার্কে “অন্যের ঠিকানার” packet সীমানাতেই বাদ। ধরি অর্ধেক ট্রাফিক এমন নেটওয়ার্ক থেকে — ০.৫ Gbps বেরোল; বাকি অর্ধেক নেটওয়ার্ক যাচাই করে না।
- প্রতিফলক উত্তর বড় করে পাঠায়। খোলা resolver-গুলো প্রতিটি প্রশ্নের ৫০ গুণ বড় উত্তর পাঠায় শিকারের দিকে: ০.৫ × ৫০ = ২৫ Gbps. শিকার দেখে ট্রাফিক আসছে হাজারো বৈধ সার্ভার থেকে।
- দ্বিতীয় ছাঁকনি: সচেতন অপারেটর। ভালোভাবে চালানো সার্ভারগুলো recursive সেবা শুধু নিজের গ্রাহকদের দেয় আর RRL চালায় — একই ঠিকানায় বারবার একই বড় উত্তর পাঠানো সীমিত। ধরি এতে উত্তর ৬০% কমল: ২৫ × ০.৪ = ১০ Gbps.
- শিকারের link ভরে যায়। ১০ Gbps আক্রমণ আর ২ Gbps বৈধ মিলে ১২ Gbps, link নেয় ১০ — চাপ ১২০%, বৈধ ট্রাফিকের মোটামুটি ১০ ÷ ১২ ≈ ৮৩% পৌঁছায় (simulator-এর ×১০ সারি)। পেছনের firewall যত ভালোই হোক, জট তার আগেই।
- তৃতীয় ছাঁকনি: উজানে scrubbing. শিকারের scrubbing সেবাদাতা BGP দিয়ে prefix নিজের anycast কেন্দ্রগুলোতে টানে। আক্রমণ বহু কেন্দ্রে ভাগ হয়ে যায়, সেখানে “কেউ চায়নি এমন উৎস-port 53-এর বড় উত্তর” ফেলা হয়, আর পরিষ্কার ২ Gbps শিকারের কাছে যায় — link আবার ২০%.
৫ · Spoofing — সাধারণ ছবি: কী জাল হয়, কে ধরে
Spoofing মানে নিজেকে অন্য কেউ বলে দেখানো। নেটওয়ার্কে প্রায় প্রতিটি পরিচয়-চিহ্ন প্রেরক নিজেই লেখে — খামের ওপর প্রেরকের ঠিকানার মতো। তাই প্রশ্ন একই: “প্রাপক কীসের ভিত্তিতে বিশ্বাস করছে, আর তা যাচাইয়ের উপায় কী?”
| ধরন | কী জাল করা হয় | কী সম্ভব হয় | প্রতিরক্ষা |
|---|---|---|---|
| IP spoofing | IP header-এর উৎস-ঠিকানা | reflection, SYN flood-এর উৎস লুকানো, ঠিকানা-ভিত্তিক বিশ্বাস ভাঙা | BCP 38/84, uRPF; IP ঠিকানাকে কখনো পরিচয়ের প্রমাণ না ধরা |
| MAC spoofing | Ethernet frame-এর উৎস MAC | MAC-ভিত্তিক অনুমতি এড়ানো, switch-এর table বিভ্রান্ত করা | port security, 802.1X (পর্ব ১২, ১৪) |
| ARP spoofing | IP থেকে MAC-এর জোড়া | LAN-এ MITM, gateway সেজে বসা | DAI + DHCP snooping (পর্ব ১৮), এনক্রিপশন |
| DNS spoofing | নামের উত্তর | ভুয়া ওয়েবসাইটে পাঠানো | এলোমেলো port ও ID, DNSSEC, এনক্রিপ্টেড DNS (পর্ব ৩৫) |
| Email spoofing | From: ডোমেইন | phishing, ভুয়া নির্দেশ | SPF, DKIM, DMARC (পর্ব ৩৯) |
| BGP-তে origin | “এই prefix আমার” | ইন্টারনেট-মাত্রার ট্রাফিক ঘুরিয়ে দেওয়া | RPKI, prefix filter (পর্ব ২৫) |
| কল বা SMS-এর প্রেরক | দেখানো নম্বর বা নাম | ব্যাংক বা মোবাইল ব্যাংকিংয়ের নামে প্রতারণা | OTP বা PIN কাউকে না বলা, অফিসিয়াল নম্বরে নিজে ফোন করে যাচাই |
TCP কেন অন্ধ spoofing কঠিন করে
UDP-তে জাল উৎস দিয়ে একটি packet পাঠালেই কাজ শেষ — তাই reflection. কিন্তু TCP-তে জাল ঠিকানায় পূর্ণ সংযোগ গড়া প্রায় অসম্ভব (পর্ব ২৯): সার্ভারের SYN-ACK যায় আসল ঠিকানার মালিকের কাছে, আক্রমণকারী তা দেখেই না (“অন্ধ”)। তাকে সার্ভারের ISN অনুমান করে ঠিক ACK পাঠাতে হবে; আধুনিক OS ISN এলোমেলো ৩২ bit-এর সংখ্যা হিসেবে বেছে নেয় (RFC 6528-এর পরামর্শ), তাই এক চেষ্টায় সম্ভাবনা প্রায় ২৩২-এ ১। উপরন্তু আসল মালিক অপ্রত্যাশিত SYN-ACK পেলে RST পাঠিয়ে সংযোগ ভেঙে দেয়।
১৯৮০-র দশকে অনেক সিস্টেমের ISN অনুমানযোগ্য ছিল, আর ১৯৯০-এর দশকের মাঝামাঝি একটি বহুল আলোচিত অনুপ্রবেশে সেই দুর্বলতা আর “এই IP থেকে এলে বিশ্বাস” ধরনের পুরোনো সেবা একসাথে কাজে লাগানো হয়েছিল। শিক্ষা: উৎস IP ঠিকানা কখনো পরিচয়ের প্রমাণ নয় — প্রমাণ আসে cryptography থেকে (পর্ব ৪৭)। SYN flood-এ জাল উৎস কাজ করে, কারণ সেখানে সংযোগ সম্পূর্ণ করার দরকারই নেই — শুধু অর্ধেক-খোলা অবস্থায় টেবিল ভরানো, যার উত্তর SYN cookie.
৬ · MITM — পথের মাঝে বসা, আর কেন TLS তবু রক্ষা করে
Man-in-the-middle আক্রমণে আক্রমণকারী দুই পক্ষের মাঝে বসে — দুজনেই ভাবেন তাঁরা সরাসরি কথা বলছেন। মাঝখানে বসার পথ অনেক, প্রতিটি আগের কোনো পর্বের আক্রমণ:
| মাঝে বসার পথ | পরিসর | প্রতিরক্ষা |
|---|---|---|
| ARP spoofing — gateway সেজে বসা | একই LAN | DAI, DHCP snooping (পর্ব ১৮) |
| Rogue AP বা evil twin — পরিচিত Wi-Fi-র নামে নকল নেটওয়ার্ক | কাছাকাছি বেতার | WPA3, 802.1X-এ সার্ভার certificate যাচাই, অচেনা খোলা Wi-Fi-তে সতর্কতা (পর্ব ১৪) |
| Rogue DHCP বা বিষাক্ত DNS — ভুল resolver বা ভুল উত্তর | LAN থেকে ISP | DHCP snooping, DNSSEC, এনক্রিপ্টেড DNS (পর্ব ১৮, ৩৫) |
| BGP hijack — অন্যের prefix ঘোষণা | পুরো ইন্টারনেট | RPKI (পর্ব ২৫) |
| আপস করা router বা proxy | যেকোনো জায়গায় | হালনাগাদ firmware, ডিফল্ট পাসওয়ার্ড বদল, end-to-end TLS |
সবচেয়ে গুরুত্বপূর্ণ উপলব্ধি: মাঝে বসতে পারা আর বিষয়বস্তু পড়তে পারা এক নয়। সংযোগ TLS-এ হলে আর ব্রাউজার certificate ঠিকভাবে যাচাই করলে (পর্ব ৪৮, TLS আর HTTPS), আক্রমণকারী শুধু metadata দেখে আর চাইলে সংযোগ আটকায় — পড়তে বা বদলাতে পারে না। তাই তার লক্ষ্য TLS এড়ানো: ব্যবহারকারীকে TLS-এ যেতেই না দেওয়া (SSL stripping), বা ভুয়া certificate দেখিয়ে আশা করা যে সতর্কবার্তা উপেক্ষিত হবে।
SSL stripping আর HSTS
বেশিরভাগ মানুষ address bar-এ শুধু bank.example লেখেন। পুরোনো দিনে ব্রাউজার তখন প্রথম অনুরোধ সরল http://-তে পাঠাত, আর সার্ভার বলত “https-এ যান”। এই প্রথম, এনক্রিপশনহীন মুহূর্তটিই SSL stripping-এর সুযোগ। ২০০৯ সালে কৌশলটি জনসমক্ষে দেখানোর পর প্রতিরক্ষা হিসেবে আসে HSTS (RFC 6797, ২০১২): সার্ভার একটি header পাঠায় — Strict-Transport-Security: max-age=31536000; includeSubDomains — আর ব্রাউজার মনে রাখে যে নির্দিষ্ট সময় এই ডোমেইনে শুধু https চলবে।
- ব্যবহারকারী
bank.exampleক্যাফের Wi-Fi - Evil twin
Free_WiFiমাঝে বসা - ব্যাংক
httpsআসল সার্ভার - ফল
?দুই জগৎ
| HSTS নেই | |
| HSTS আছে |
- ব্যবহারকারী অচেনা Wi-Fi-তে। ক্যাফেতে “Free_WiFi” নামের একটি নেটওয়ার্কে যুক্ত হয়েছেন — আসলে এটি আক্রমণকারীর বানানো evil twin, তাই সব ট্রাফিক তার যন্ত্রের মধ্য দিয়ে যায়। Address bar-এ লিখলেন শুধু
bank.example. - প্রথম অনুরোধ। HSTS না থাকলে ব্রাউজার প্রথম অনুরোধ এনক্রিপশন ছাড়া পাঠায় — আক্রমণকারী সেটি পড়তে ও বদলাতে পারে। HSTS থাকলে ব্রাউজার নেটওয়ার্কে কিছু পাঠানোর আগেই ঠিকানা https করে নেয় (ব্রাউজারের ভেতরের redirect).
- Redirect বা handshake. HSTS ছাড়া: আক্রমণকারী ব্যাংকের “https-এ যান” লুকিয়ে নিজে ব্যাংকের সাথে https-এ কথা বলে, ব্যবহারকারীকে http-তে পাতা দেখায়। HSTS-সহ: সরাসরি TLS handshake — আক্রমণকারীকে প্রমাণ করতে হবে সে-ই bank.example.
- চূড়ান্ত পরীক্ষা। HSTS ছাড়া ব্যবহারকারী login ফর্মে পাসওয়ার্ড দিলেন, তা সরল লেখায় আক্রমণকারীর কাছে গেল। HSTS-সহ আক্রমণকারীর কাছে বিশ্বস্ত CA-র বৈধ certificate নেই, তাই ত্রুটি — আর HSTS ডোমেইনে “তবু এগিয়ে যান” পথ রাখা হয় না।
- ফল। প্রথম জগতে আক্রমণ নীরবে সফল — শুধু তালার চিহ্নটি নেই। দ্বিতীয় জগতে পাতা খোলেনি, কিন্তু এটি নিরাপদ ব্যর্থতা: ব্যবহারকারী বুঝলেন কিছু একটা ঠিক নেই, আর কোনো গোপন তথ্য বেরোয়নি।
HSTS-এর দুর্বল জায়গা একেবারে প্রথম ভিজিট, header পাওয়ার আগে (“trust on first use”). সমাধান HSTS preload তালিকা — ব্রাউজারের ভেতরেই লেখা ডোমেইন, যেখানে প্রথম ভিজিট থেকেই শুধু https.
Certificate সতর্কবার্তা — কেন “তবু এগিয়ে যান” চাপবেন না
HSTS না থাকলে certificate সতর্কবার্তাই MITM-এর প্রায় একমাত্র দৃশ্যমান সংকেত। গবেষণায় বারবার দেখা গেছে, অভ্যাসবশে অনেকে এটি পেরিয়ে যান — বিশেষ করে ভুল কনফিগারেশনের কোনো সাইটে প্রতিদিন দেখলে। নিয়ম সহজ: ব্যাংক, ইমেইল বা অফিসের সেবায় সতর্কবার্তা এলে থামুন, অন্য নেটওয়ার্ক (নিজের মোবাইল ডেটা) থেকে চেষ্টা করুন। আর সার্ভার চালালে নিজের certificate কখনো মেয়াদোত্তীর্ণ বা ভুল নামের রাখবেন না, যাতে ব্যবহারকারীরা সতর্কবার্তায় অভ্যস্ত না হন।
দুই দিকের যাচাই — mutual authentication
সাধারণ HTTPS-এ শুধু সার্ভার নিজেকে প্রমাণ করে। Mutual TLS (mTLS)-এ ক্লায়েন্টও নিজের certificate দেখায় — যন্ত্রে-যন্ত্রে যোগাযোগে, ব্যাংকের API-তে, VPN আর 802.1X-এ প্রচলিত (পর্ব ১৪, ৪৯)। তখন private key চুরি না হলে মাঝের আক্রমণকারী কোনো পক্ষকেই ঠকাতে পারে না।
৭ · খোঁজখবর, scanning আর password আক্রমণ — রক্ষকের চোখে
আইন ও নৈতিকতা: যে নেটওয়ার্ক বা যন্ত্র আপনার নিজের নয়, বা যেটি পরীক্ষার লিখিত অনুমতি আপনার নেই, সেখানে scan চালানো অনৈতিক, আর বাংলাদেশসহ বহু দেশের সাইবার আইনে অনুমতিহীন প্রবেশ বা তার চেষ্টা দণ্ডনীয় হতে পারে — ISP, প্রতিবেশীর Wi-Fi, বিশ্ববিদ্যালয় বা অফিসের সার্ভার, কোনোটিই নয়। এই অংশ শুধু বোঝার জন্য: scan দেখতে কেমন, আর নিজের যন্ত্র কীভাবে কম উন্মুক্ত রাখবেন।
আক্রমণের প্রথম ধাপ প্রায় সবসময় reconnaissance. একটি port scan অনেক port-এ সংযোগের চেষ্টা করে দেখে কে সাড়া দেয় — খোলা TCP port SYN-ACK দেয়, বন্ধ port RST দেয় (পর্ব ২৯), firewall-এ আটকানো port চুপ থাকে। এই আচরণের কারণেই scan রক্ষকের log-এ স্পষ্ট দাগ রাখে। নিচে একটি Linux firewall log-এর উদাহরণ (বানানো, ঠিকানা ডকুমেন্টেশন ব্লকের):
# উদাহরণ — firewall drop log (সংক্ষিপ্ত করা)
02:14:07 DROP IN=eth0 SRC=203.0.113.66 DST=198.51.100.10 PROTO=TCP SPT=41822 DPT=23 SYN
02:14:07 DROP IN=eth0 SRC=203.0.113.66 DST=198.51.100.10 PROTO=TCP SPT=41822 DPT=3389 SYN
02:14:07 DROP IN=eth0 SRC=203.0.113.66 DST=198.51.100.10 PROTO=TCP SPT=41822 DPT=445 SYN
02:14:08 DROP IN=eth0 SRC=203.0.113.66 DST=198.51.100.10 PROTO=TCP SPT=41822 DPT=6379 SYN
... (একই উৎস থেকে এক মিনিটে প্রায় ৯০০টি ভিন্ন DPT)
চিহ্নগুলো: এক উৎস, অনেক গন্তব্য-port, অল্প সময়; প্রায় সব SYN, handshake প্রায় সম্পূর্ণ হয় না; port-গুলো প্রায়ই পরিচিত সেবার। উল্টো ধরনও আছে: এক port, অনেক গন্তব্য-ঠিকানা। আর মনে রাখুন, ইন্টারনেটের যেকোনো public ঠিকানা প্রতিদিনই অসংখ্য স্বয়ংক্রিয় scan পায় — প্রশ্ন হলো খোলা অবস্থায় তারা কী পাবে।
নিজের যন্ত্রে কী খোলা আছে — attack surface কমানো
রক্ষকের প্রথম কাজ নিজের attack surface জানা। শুরু নিজের যন্ত্রেই: Linux-এ ss -tuln (পর্ব ০৬) দেখায় কোন TCP আর UDP socket কোন ঠিকানায় শুনছে। একটি সার্ভারের উদাহরণ আউটপুট:
$ ss -tuln # উদাহরণ আউটপুট, একটি সাধারণ Linux সার্ভার
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.1:5432 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 511 0.0.0.0:443 0.0.0.0:*
tcp LISTEN 0 511 0.0.0.0:6379 0.0.0.0:*
127.0.0.1 মানে শুধু এই যন্ত্রের ভেতর থেকে পৌঁছানো যায় — ডেটাবেস (5432) ঠিক জায়গায়। 0.0.0.0 মানে সব interface, বাইরে থেকেও। 443 (ওয়েবসাইট) খোলা থাকাই উদ্দেশ্য; 22 (SSH)-এ শুধু key-ভিত্তিক login আর নির্দিষ্ট উৎসের সীমা ভালো। কিন্তু 6379 (একটি in-memory ডেটাবেস, সাধারণত শুধু ভেতরের ব্যবহারের) সব interface-এ শুনছে — 127.0.0.1-এ bind করা বা firewall-এ আটকানো দরকার। নীতিগুলো:
- যা দরকার নেই, বন্ধ করুন; যা দরকার, শুধু দরকারি interface আর উৎসে সীমিত করুন (পর্ব ৪৯), প্রশাসনিক সেবা VPN-এর পেছনে।
- Banner ছোট রাখুন: অনেক সেবা শুরুতে বা header-এ নিজের নাম আর সংস্করণ জানায় (service banner). কমালে স্বয়ংক্রিয় খোঁজে কম তথ্য যায় — তবে এটি গৌণ; আসল প্রতিরক্ষা patch.
- বাইরের চোখে যাচাই হয় নিরাপত্তা দলের অনুমোদিত পরীক্ষা বা লিখিত চুক্তির penetration test-এ — ব্যক্তিগত কৌতূহলে নয়।
Password আক্রমণ — brute force থেকে credential stuffing
খোলা login সেবা পেলে সবচেয়ে সহজ পথ পাসওয়ার্ড অনুমান: brute force — একটি অ্যাকাউন্টে বহু পাসওয়ার্ড; password spraying — বহু অ্যাকাউন্টে অল্প কয়েকটি প্রচলিত পাসওয়ার্ড; আর credential stuffing — অন্য সাইট থেকে ফাঁস হওয়া username-password জোড়া এখানে চেষ্টা।
| প্রতিরক্ষা | সীমা ও আপস |
|---|---|
| প্রতি-IP rate limit | NAT বা CGNAT-এর পেছনের বহু বৈধ ব্যবহারকারী ভুলে আটকায়; হাজারো IP-র ধীর botnet ধরা পড়ে না |
| প্রতি-অ্যাকাউন্ট সীমা ও ক্রমবর্ধমান দেরি | spraying ধরতে সব অ্যাকাউন্ট মিলিয়ে দেখতে হয় |
| Account lockout | আক্রমণকারী ইচ্ছা করে অন্যের অ্যাকাউন্ট বন্ধ করাতে পারে — নিজেই এক ধরনের DoS; তাই সাময়িক lockout বেশি প্রচলিত |
| MFA | সবচেয়ে কার্যকর; SMS-এর কোড SIM বদল আর phishing-এর ঝুঁকিতে, hardware key সবচেয়ে শক্ত |
| fail2ban-ধাঁচের স্বয়ংক্রিয় block | log পড়ে বারবার ব্যর্থ IP-কে সাময়িক আটকায়; প্রতি-IP সীমার সব দুর্বলতা আছে |
| SSH-এ শুধু key, ফাঁস হওয়া পাসওয়ার্ড বাতিল | অনুমান করার মতো কিছু থাকে না; key-র সুরক্ষা নিজের দায়িত্ব |
এখন একটি token bucket (পর্ব ২৬) দিয়ে login-এর প্রতি-IP সীমা simulate করি: প্রতিটি IP-র বালতিতে সর্বোচ্চ ৫টি token, প্রতি ১০ সেকেন্ডে একটি জমে, প্রতিটি চেষ্টায় একটি খরচ। ৬০ সেকেন্ডে চার ধরনের ক্লায়েন্ট: ৮ জন সাধারণ ব্যবহারকারী (প্রত্যেকে ২ বার), NAT-এর পেছনে ১২ জন কর্মীর একটি অফিস (এক IP), ৩টি IP থেকে সেকেন্ডে ৩টি করে credential stuffing, আর ৫০টি IP-র একটি ধীর botnet, প্রতিটি মাত্র ২ বার।
// Per-IP token bucket for login attempts: 5 burst, refill 1 token every 10 s.
const CAP = 5, RATE = 0.1; // tokens per second
const events = []; // [time s, source IP, kind]
for (let u = 1; u <= 8; u++) events.push([u * 7, "10.1.0." + u, "user"], [u * 7 + 3, "10.1.0." + u, "user"]);
for (let i = 0; i < 12; i++) events.push([2 + 2 * i, "203.0.113.50", "office NAT"]); // 12 staff, 1 IP
for (const ip of ["198.51.100.7", "198.51.100.8", "198.51.100.9"])
for (let t = 0; t < 60; t += 1 / 3) events.push([t, ip, "stuffing"]); // 3 tries/s each
for (let b = 1; b <= 50; b++) events.push([b, "192.0.2." + b, "slow bots"], [b + 5, "192.0.2." + b, "slow bots"]);
events.sort((a, b) => a[0] - b[0]);
const bucket = {}, stat = {};
for (const [t, ip, kind] of events) {
const s = bucket[ip] || (bucket[ip] = { tokens: CAP, last: t });
s.tokens = Math.min(CAP, s.tokens + (t - s.last) * RATE); s.last = t; // refill
const k = stat[kind] || (stat[kind] = { ips: new Set(), ok: 0, blocked: 0 });
k.ips.add(ip);
if (s.tokens >= 1) { s.tokens -= 1; k.ok++; } else k.blocked++;
}
console.log("kind IPs allowed blocked");
for (const [kind, k] of Object.entries(stat))
console.log(kind.padEnd(13), String(k.ips.size).padStart(3), String(k.ok).padStart(8), String(k.blocked).padStart(8));
console.log("false blocks (legit users refused):", stat["user"].blocked + stat["office NAT"].blocked);
console.log("abusive attempts that got through:", stat["stuffing"].ok + stat["slow bots"].ok);আউটপুট:
kind IPs allowed blocked
stuffing 3 30 510
slow bots 50 100 0
office NAT 1 7 5
user 8 16 0
false blocks (legit users refused): 5
abusive attempts that got through: 130
প্রতিটি stuffing IP ১৮০ বার চেষ্টা করে পেরেছে ১০ বার (শুরুর ৫টি token আর ৬০ সেকেন্ডে জমা নতুন token) — ৫৪০-এর ৫১০টি আটকাল, আর সাধারণ ব্যবহারকারীরা কোনো বাধা পাননি। কিন্তু দুটি সমস্যা: অফিসের NAT-এ ১২ জনের ৫ জন আটকালেন (২২ সেকেন্ডে ৫ + ২.২ ≈ ৭টি token) — এগুলো false block; বাংলাদেশসহ অনেক দেশে মোবাইল ডেটায় CGNAT-এর কারণে বহু গ্রাহক এক public IP ভাগ করেন, তাই সমস্যাটি বাস্তব। আর ধীর botnet-এর ১০০টি চেষ্টাই পার পেল। শিক্ষা: প্রতি-IP সীমা দরকারি কিন্তু যথেষ্ট নয় — সাথে প্রতি-অ্যাকাউন্ট নজরদারি আর MFA. অনুশীলন ৩-এ CAP বদলে দেখুন।
৮ · IDS আর IPS — আক্রমণ চেনার যন্ত্র, আর তার গাণিতিক সীমা
Firewall নিয়ম মেনে দরজা খোলে বা বন্ধ রাখে; খোলা দরজা দিয়ে যা ঢোকে তা ভালো না খারাপ — দেখে IDS (intrusion detection system), আর সন্দেহজনক কিছু পেলে সতর্ক করে। IPS একই বিশ্লেষণ করে ট্রাফিকের পথে (inline) বসে, সন্দেহজনক packet সরাসরি ফেলে দেয়।
| ধরন | কীভাবে কাজ করে | শক্তি | দুর্বলতা |
|---|---|---|---|
| NIDS (network) | switch-এর mirror port বা TAP থেকে ট্রাফিকের কপি | পুরো নেটওয়ার্ক এক জায়গা থেকে | এনক্রিপ্টেড ট্রাফিকের ভেতরে অন্ধ |
| HIDS (host) | যন্ত্রের log, ফাইলের বদল, প্রক্রিয়া | এনক্রিপশনের পরের অবস্থা দেখে | প্রতিটি যন্ত্রে বসাতে হয় |
| Signature-based | চেনা আক্রমণের ধাঁচ মেলানো | কম ভুয়া alert | নতুন (zero-day) বা বদলানো আক্রমণ মিস |
| Anomaly-based | স্বাভাবিকের baseline থেকে বিচ্যুতি খোঁজা | অচেনা আক্রমণও ধরে | বেশি ভুয়া alert |
| Inline IPS | প্রতিটি packet তার মধ্য দিয়ে যায় | সাথে সাথে থামায় | ভুয়া alert-এ বৈধ ট্রাফিক বন্ধ; যন্ত্র বিকল হলে fail-open না fail-closed — কঠিন সিদ্ধান্ত |
প্রচলিত তিনটি open-source নাম: Snort (১৯৯৮ সালে প্রথম প্রকাশ, signature-ভিত্তিক NIDS/IPS-এর পথিকৃৎ), Suricata (বহু-thread-এ চলে, Snort-ধাঁচের নিয়মের বড় অংশ বোঝে), আর Zeek (আগের নাম Bro; মূলত সংযোগ, DNS, HTTP, TLS-এর বিস্তারিত log বানানো আর script দিয়ে বিশ্লেষণের জন্য পরিচিত)। একটি নিরীহ, নীতিমালা-ধাঁচের নিয়মের উদাহরণ:
# উদাহরণ — Snort/Suricata ধাঁচের নিয়ম (সঠিক syntax সংস্করণ ভেদে আলাদা হতে পারে)
# নীতি: ভেতরের কোনো যন্ত্র যেন এনক্রিপশনহীন telnet ব্যবহার না করে
alert tcp $HOME_NET any -> any 23 (msg:"POLICY outbound telnet (unencrypted)"; flags:S; sid:1000001; rev:1;)
বাঁ থেকে ডানে: alert — মিললে কী হবে (IPS-এ হতে পারত drop); tcp; নিজের নেটওয়ার্কের যেকোনো port থেকে যেকোনো গন্তব্যের port 23; বন্ধনীতে বার্তা, শর্ত (flags:S — শুধু প্রথম SYN) আর নিয়মের পরিচয় নম্বর।
এনক্রিপশনের যুগে IDS — বিষয়বস্তু নয়, metadata
আজ ওয়েব ট্রাফিকের বেশিরভাগ TLS বা QUIC-এ এনক্রিপ্টেড, তাই NIDS ভেতরের লেখা পড়তে পারে না। রক্ষকেরা সরে এসেছেন যন্ত্রের ভেতরে (HIDS আর endpoint নজরদারি), কোথাও প্রতিষ্ঠানের নিজের proxy-তে নিয়ন্ত্রিত TLS interception-এ (বড় আপসসহ, পর্ব ৪৮), আর flow বিশ্লেষণে। NetFlow বা তার মানসম্মত উত্তরসূরি IPFIX (RFC 7011) প্রতিটি কথোপকথনের সারসংক্ষেপ দেয় — কে, কার সাথে, কোন port-এ, কখন, কত বাইট — বিষয়বস্তু ছাড়াই। এতেই ধরা যায় scan (এক উৎস, অনেক port), DDoS (হঠাৎ বিপুল pps), নিয়মিত ছন্দে বাইরের এক ঠিকানায় ছোট সংযোগ, বা রাত তিনটায় বাইরে কয়েক GB upload.
নিচের খেলনা anomaly IDS এমন flow-সারসংক্ষেপ নিয়ে কাজ করে: প্রতিটি উৎসের গত ১০ মিনিটের প্রতি-মিনিট নতুন সংযোগ থেকে গড় আর standard deviation, তারপর এই মিনিটের z-score. দুটি নিয়ম: (১) z > ৩ আর অন্তত ৫০টি সংযোগ হলে “volume spike”; (২) অন্তত ১০০টি SYN-এর ২০%-এর কম handshake সম্পূর্ণ হলে “SYN ratio”.
// Toy anomaly IDS on synthetic flow logs: new TCP connections per source per minute.
const flows = { // last 10 minutes (history), this minute: SYNs sent, handshakes completed
"10.0.0.21": { hist: [30, 32, 28, 31, 29, 30, 33, 27, 31, 29], syn: 34, done: 34 },
"10.0.0.35": { hist: [5, 6, 4, 5, 5, 6, 5, 4, 5, 5], syn: 220, done: 220 },
"10.0.0.48": { hist: [40, 80, 20, 60, 90, 30, 70, 50, 85, 45], syn: 95, done: 93 },
"203.0.113.66": { hist: [0, 0, 0, 0, 0, 0, 0, 0, 1, 0], syn: 900, done: 12 },
};
const Z_LIMIT = 3, MIN_COUNT = 50; // rule 1: unusual volume for THIS source
const RATIO_LIMIT = 0.2, MIN_SYN = 100; // rule 2: most handshakes never complete
console.log("source mean std now z done/syn");
for (const [ip, f] of Object.entries(flows)) {
const n = f.hist.length, mean = f.hist.reduce((a, b) => a + b) / n;
const sd = Math.sqrt(f.hist.reduce((a, b) => a + (b - mean) ** 2, 0) / n);
const z = (f.syn - mean) / Math.max(sd, 1); // floor sd at 1 so silent hosts don't divide by ~0
const ratio = f.done / f.syn;
console.log(ip.padEnd(13), mean.toFixed(1).padStart(6), sd.toFixed(1).padStart(5),
String(f.syn).padStart(4), z.toFixed(1).padStart(6), ratio.toFixed(2).padStart(9));
f.alerts = [];
if (z > Z_LIMIT && f.syn >= MIN_COUNT) f.alerts.push("volume spike (z=" + z.toFixed(1) + ")");
if (f.syn >= MIN_SYN && ratio < RATIO_LIMIT) f.alerts.push("SYN ratio " + ratio.toFixed(2) + " - scan or flood?");
}
for (const [ip, f] of Object.entries(flows))
if (f.alerts.length) console.log("ALERT", ip + ":", f.alerts.join("; "));আউটপুট:
source mean std now z done/syn
10.0.0.21 30.0 1.7 34 2.3 1.00
10.0.0.35 5.0 0.6 220 215.0 1.00
10.0.0.48 57.0 22.7 95 1.7 0.98
203.0.113.66 0.1 0.3 900 899.9 0.01
ALERT 10.0.0.35: volume spike (z=215.0)
ALERT 203.0.113.66: volume spike (z=899.9); SYN ratio 0.01 - scan or flood?
10.0.0.21-এর z = ২.৩, সীমার নিচে — স্বাভাবিক ওঠানামা। 10.0.0.48-এর ৯৫টি সংযোগ সংখ্যায় বড়, কিন্তু তার ইতিহাসই অস্থির (std ২২.৭), তাই z মাত্র ১.৭ — প্রতি-উৎস baseline-এর সুবিধা। 203.0.113.66 দুটি নিয়মেই ধরা: আগে প্রায় চুপ, এখন ৯০০ SYN, সম্পূর্ণ মাত্র ১২টি (০.০১) — ওপরের log-এর scan. আর 10.0.0.35 প্রতিরাতে দুটোয় শুরু হওয়া ব্যাকআপের সার্ভার: ২২০টি সংযোগ, সবগুলো সম্পূর্ণ — অস্বাভাবিক, কিন্তু ক্ষতিকর নয়। এটি একটি false positive. কোডের Math.max(sd, 1) প্রায় চুপ থাকা উৎসের std শূন্যে ভাগ হওয়া ঠেকায়।
Base-rate fallacy — “৯৯% নির্ভুল” IDS কেন বেশিরভাগ সময় ভুল বলে
Detector-এর দুই ধরনের ভুল: false positive আর false negative (আক্রমণ মিস)। Detector বর্ণনা হয় দুটি হারে: detection rate বা TPR = P(alert | আক্রমণ), আর FPR = P(alert | নিরীহ)। কিন্তু নিরাপত্তা দলের প্রশ্ন উল্টো: alert এলে সেটি আক্রমণ হওয়ার সম্ভাবনা কত? — এর নাম precision. Bayes-এর উপপাদ্য থেকে, p = base rate (সব ঘটনার মধ্যে আক্রমণের অনুপাত) ধরে:
হাতে কষা উদাহরণ: দিনে ১০,০০,০০০টি flow, আসল আক্রমণ ১০টি (p = ০.০০০০১); TPR ৯৯%, FPR ০.১%. সত্যি alert = ১০ × ০.৯৯ = ৯.৯; ভুয়া alert = ৯,৯৯,৯৯০ × ০.০০১ ≈ ১,০০০; precision = ৯.৯ ÷ ১,০১০ ≈ ১%. অর্থাৎ প্রতি ১০০ alert-এর মোটামুটি ৯৯টিই ভুয়া — ভুলের হার ছোট হলেও নিরীহ ঘটনার সংখ্যা বিশাল। এটিই base-rate fallacy; বিরল রোগের পরীক্ষায় প্রথম পজিটিভের পর দ্বিতীয় পরীক্ষা করার কারণও এটাই।
// Base-rate fallacy: how many IDS alerts are real? (Bayes' theorem)
function ids(events, prevalence, tpr, fpr) {
const bad = events * prevalence, good = events - bad;
const tp = bad * tpr, fp = good * fpr; // true alerts, false alarms
const precision = tp / (tp + fp); // P(attack | alert)
console.log(String(fpr).padEnd(8), (tp + fp).toFixed(0).padStart(7), tp.toFixed(1).padStart(6),
fp.toFixed(1).padStart(8), (precision * 100).toFixed(1).padStart(7) + "%",
String(Math.round(1 / precision)).padStart(6));
}
const EVENTS = 1e6, PREV = 1e-5, TPR = 0.99; // 1 million flows/day, 10 of them malicious
console.log("1,000,000 events/day, 10 malicious, detection rate 99%");
console.log("FPR alerts TP FP precision 1-in-N");
for (const fpr of [1e-2, 1e-3, 1e-4, 1e-5, 1e-6]) ids(EVENTS, PREV, TPR, fpr);
console.log("Same FPR 1e-3 but prevalence 1e-2 (a targeted alert stream):");
ids(EVENTS, 1e-2, TPR, 1e-3);আউটপুট:
1,000,000 events/day, 10 malicious, detection rate 99%
FPR alerts TP FP precision 1-in-N
0.01 10010 9.9 9999.9 0.1% 1011
0.001 1010 9.9 1000.0 1.0% 102
0.0001 110 9.9 100.0 9.0% 11
0.00001 20 9.9 10.0 49.7% 2
0.000001 11 9.9 1.0 90.8% 1
Same FPR 1e-3 but prevalence 1e-2 (a targeted alert stream):
0.001 10890 9900.0 990.0 90.9% 1
দ্বিতীয় সারি হাতে-কষা উদাহরণ: ১,০১০টি alert, precision ১.০%, প্রতি ~১০২টিতে একটি সত্যি। FPR ১% হলে দিনে ১০ হাজারের বেশি alert — আসল ১০টি হারিয়ে যায়। Precision ৫০%-এ পৌঁছাতে FPR লাগে ০.০০১%. শেষ সারিটি আরেক পথ দেখায়: একই detector এমন স্রোতে চালালে যেখানে আক্রমণের অনুপাত ১% — যেমন আগের ছাঁকনি পেরোনো সন্দেহজনক ঘটনা বা honeypot-এর ট্রাফিক — precision ৯০.৯%. এজন্যই বাস্তবের ব্যবস্থা স্তরে স্তরে ছাঁকে আর কয়েকটি সংকেত মিলিয়ে সিদ্ধান্ত নেয়।
৯ · Log, SIEM, honeypot আর একটি alert-এর যাচাই
IDS একা কিছু প্রমাণ করে না — সিদ্ধান্ত আসে অনেক উৎসের log মিলিয়ে: firewall, router, সার্ভার, অ্যাপ, DNS, VPN, login. ভালো log-ব্যবস্থার তিন নিয়ম: এক জায়গায় জমা (syslog বা agent দিয়ে কেন্দ্রীয় সার্ভারে, যাতে আক্রমণকারী একটি সার্ভারের log মুছলেও কপি থাকে); ঠিক সময় (সব ঘড়ি NTP-তে মেলানো, নইলে ঘটনার ক্রম বলা যায় না); আর যথেষ্ট দিন রাখা, কারণ অনুপ্রবেশ প্রায়ই অনেক পরে ধরা পড়ে — তবে log-এ ব্যক্তিগত তথ্য থাকে, তাই কে কতদিন দেখবে তাও নীতির অংশ।
SIEM এই সব log এক জায়গায় এনে খোঁজা, মেলানো আর alert দেওয়ার ব্যবস্থা। শক্তি correlation-এ: “IP X থেকে scan” একা সামান্য, “একই X থেকে ১০ মিনিট পরে সফল VPN login” একসাথে গুরুতর। কিন্তু base rate এখানেও তাড়া করে: নিয়ম বেশি হলে দিনে হাজারো alert, আর বিশ্লেষকেরা ক্লান্ত হয়ে সবকিছু দ্রুত বন্ধ করতে থাকেন — alert fatigue. প্রকাশিত বিভিন্ন বড় অনুপ্রবেশের তদন্তে দেখা গেছে, প্রাসঙ্গিক alert বেজেছিল, কিন্তু ভিড়ে গুরুত্ব পায়নি। প্রতিকার: নিয়মিত tuning, সম্পদের গুরুত্ব ধরে অগ্রাধিকার, আর প্রতিটি নিয়মের precision মাপা।
Honeypot একটি ফাঁদ-যন্ত্র বা সেবা, যার কোনো বৈধ ব্যবহারকারী নেই — তাই এতে যে-ই সংযোগ করে, তা প্রায় নিশ্চিতভাবে ভুল কনফিগারেশন বা কারও খোঁজাখুঁজি। Base-rate-এর ভাষায় এখানে আক্রমণের অনুপাত প্রায় ১, তাই alert-এর precision খুব বেশি। ছোট রূপ honeytoken — যেমন একটি ভুয়া পাসওয়ার্ড, যা ব্যবহার হলেই alert. Honeypot বাকি নেটওয়ার্ক থেকে আলাদা রাখতে হয়, আর উদ্দেশ্য শুধু শনাক্ত করা — পাল্টা আক্রমণ নয়।
একটি alert-এর triage — ধাপে ধাপে
অংশ ৮-এর IDS দুটি alert দিয়েছিল। একজন বিশ্লেষক এগুলো কীভাবে সামলান, দেখি। মূলনীতি: alert একটি প্রশ্ন, উত্তর নয়।
- Alert
২টিSIEM-এ - প্রেক্ষাপট
কে, কী, কখনlog মেলানো - রায়
TP / FPপ্রমাণসহ - প্রতিক্রিয়া
আনুপাতিকবা tuning - শিক্ষা
নথিনিয়ম হালনাগাদ
| A1 · 10.0.0.35 | |
| A2 · 203.0.113.66 |
- Alert আসে। A1 — ভেতরের একটি ঠিকানার volume spike; A2 — বাইরের একটি ঠিকানার volume spike আর খুব কম SYN সম্পূর্ণতা। এখনো কিছুই প্রমাণিত নয়।
- প্রেক্ষাপট। ঠিকানাটি কোন যন্ত্রের (সম্পদ-তালিকা), কখন, কার সাথে, অন্য log কী বলে। A1 ব্যাকআপ সার্ভার, রাত দুটোর নির্ধারিত কাজ। A2 বাইরের ঠিকানা, প্রায় ৯০০ port; সম্পূর্ণ হওয়া সংযোগ শুধু জেনেশুনে খোলা port-এ।
- রায়, প্রমাণসহ। A1 false positive — অস্বাভাবিক কিন্তু পরিকল্পিত ও নিরীহ (অনেক দল একে “benign positive” বলে)। A2 true positive — সত্যিই scan; কিন্তু scan মানে অনুপ্রবেশ নয়, পরে কোনো সফল login নেই।
- আনুপাতিক প্রতিক্রিয়া। A1-এ কিছু বন্ধ নয়, নিয়মে নথিভুক্ত ব্যতিক্রম। A2-তে সীমান্তে সাময়িক block, খোলা port-এর তালিকা যাচাই আর পরের কার্যকলাপে নজর। কোনো পাল্টা scan নয় — তা অবৈধ আর বিপজ্জনক।
- শিক্ষা। ঘটনা নথিভুক্ত, নিয়ম হালনাগাদ (ব্যাকআপের baseline ঘণ্টা ধরে), নিয়মের precision-এর হিসাবে ফল যোগ। ক্ষতির চিহ্ন পেলে ঘটনা যেত incident response-এ — বিচ্ছিন্ন করা, প্রমাণ সংরক্ষণ, ব্যবস্থাপনাকে জানানো।
সমস্যা খোঁজার পদ্ধতিগত দিক — packet capture পড়া, অনুমান যাচাই — পর্ব ৫৫-এ (সমস্যা খোঁজা); নিরাপত্তার triage সেই একই বৈজ্ঞানিক মানসিকতার রূপ।
দায়িত্বশীল প্রকাশ, bug bounty আর বাংলাদেশ
কারও সিস্টেমে দুর্বলতা চোখে পড়লে সঠিক পথ responsible disclosure: আর এগোবেন না, অন্যের ডেটা খুলবেন না, প্রতিষ্ঠানকে গোপনে জানান (অনেক সাইট /.well-known/security.txt-এ যোগাযোগের ঠিকানা দেয়, RFC 9116), ঠিক করার সময় দিন। অনেক প্রতিষ্ঠান bug bounty চালায় — নির্দিষ্ট পরিসর আর নিয়মের মধ্যে জানালে পুরস্কার; পরিসরের বাইরে পরীক্ষা তখনো অনুমতিহীন কাজ। বাংলাদেশে সরকারি পর্যায়ে সাইবার ঘটনার সমন্বয়ে একটি জাতীয় CIRT আছে, আর আর্থিক খাতের জন্য নিয়ন্ত্রকের নিজস্ব নিরাপত্তা নির্দেশনা আছে — হালনাগাদ তথ্য অফিসিয়াল সূত্রে দেখুন। ২০১৬ সালের বাংলাদেশ ব্যাংকের রিজার্ভ চুরির ঘটনা segmentation আর নজরদারির গুরুত্বের বহুল আলোচিত উদাহরণ — পর্ব ১৩-এর (VLAN) ভাবনার প্রশ্নে আলোচনা আছে।
আরও গভীরে: Linux-এ SYN cookie নিয়ন্ত্রিত হয় net.ipv4.tcp_syncookies sysctl দিয়ে (ডিফল্টে সাধারণত শুধু queue উপচে পড়লে চালু), আর conntrack টেবিলের সীমা nf_conntrack_max — state exhaustion-এর সময় kernel log-এ “table full, dropping packet” ধরনের বার্তা এর চিহ্ন। বড় DDoS-প্রতিরক্ষা ব্যবস্থা অনেক সময় XDP/eBPF দিয়ে driver-এর স্তরেই, মূল network stack-এর আগে, আক্রমণের packet ফেলে দেয়। Anomaly detection-এর একটি পরিচিত সমস্যা baseline poisoning: আক্রমণকারী ধীরে ধীরে আচরণ বাড়িয়ে “স্বাভাবিক”-এর সংজ্ঞাই সরিয়ে দিতে পারে।
পরীক্ষা ও ইন্টারভিউতে এই বিষয়ে প্রায়ই যা জিজ্ঞেস করা হয়:
- DDoS-এর তিন ধরন? — volumetric (bandwidth), protocol/state exhaustion (সংযোগ-টেবিল), application-layer (CPU, ডেটাবেস)।
- IDS আর IPS-এর পার্থক্য? — IDS কপি দেখে alert দেয়; IPS পথে বসে packet ফেলে, তাই ভুয়া alert-এ বৈধ ট্রাফিক বন্ধ হয়।
- Signature বনাম anomaly detection? — প্রথমটি চেনা ধাঁচ মেলায় (কম ভুয়া alert, zero-day মিস); দ্বিতীয়টি বিচ্যুতি খোঁজে (নতুন আক্রমণ ধরে, বেশি ভুয়া alert).
- HSTS কী থেকে রক্ষা করে? — SSL stripping; ব্রাউজার শুধু https ব্যবহার করে, certificate ত্রুটিতে এগোতে দেয় না; প্রথম ভিজিটের ফাঁক preload তালিকা মেটায়।
- ৯৯% detection-এর IDS-এর alert কেন বেশিরভাগ ভুয়া হতে পারে? — base-rate fallacy: precision = TPR·p ÷ (TPR·p + FPR·(১−p)), আক্রমণ বিরল হলে ছোট FPR-ও বিপুল ভুয়া alert দেয়।
১০ · AI-এর যুগে নেটওয়ার্ক নিরাপত্তা — পরামর্শ যাচাই করে নিন
AI সহকারী log ব্যাখ্যা, firewall নিয়মের খসড়া বা alert-এর সম্ভাব্য কারণ ভাবতে সাহায্য করতে পারে। কিন্তু এখানে ভুলের দাম বেশি — একটি ভুল নিয়ম পুরো নেটওয়ার্ক খুলে বা বন্ধ করে দিতে পারে। পরিচিত ভুলগুলো:
| AI-এর ভুল | কেন বিপজ্জনক | কীভাবে ধরবেন |
|---|---|---|
| “কাজ করছে না? firewall বন্ধ করুন” বা “সব port খুলে দিন” | attack surface এক ধাক্কায় বিশাল | শুধু দরকারি port, নির্দিষ্ট উৎস; পরে ss -tuln মিলিয়ে দেখুন |
| “সব ICMP আটকান” | Path MTU discovery ভাঙে (পর্ব ২০) | দরকারি ধরন খোলা রেখে rate limit |
| “৯৯% নির্ভুল IDS মানে ৯৯% alert সত্যি” | base rate উপেক্ষা | precision নিজে হিসাব করুন (অংশ ৮) |
| “৩ বার ভুল হলেই স্থায়ী lockout” | অন্যের অ্যাকাউন্ট বন্ধ করানো যায় — নিজেই DoS | সাময়িক দেরি, প্রতি-অ্যাকাউন্ট নজরদারি, MFA |
| বানানো CVE বা RFC নম্বর, পুরোনো কমান্ড, vendor-নির্দিষ্ট কনফিগারেশনকে সার্বজনীন বলা | ভুল patch, ভুল নিয়ম | rfc-editor.org আর অফিসিয়াল ডকুমেন্টেশনে মেলান (BCP 38 = RFC 2827, HSTS = RFC 6797, IPFIX = RFC 7011); ল্যাবে আগে পরীক্ষা |
একটি সন্দেহজনক log বিশ্লেষণে AI-কে এভাবে কাজে লাগাতে পারেন (গোপন তথ্য আগে মুছে নিন):
AI-এর নিরাপত্তা-পরামর্শ ব্যবহারের আগে — চেকলিস্ট
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন — তারপর “→ উত্তর” চাপুন।
প্র ০১২০১৬ সালের Mirai botnet দেখিয়েছিল যে সস্তা ক্যামেরা আর router-ও ইন্টারনেটের বড় অংশ অচল করতে পারে। এর দায় কার — ব্যবহারকারী, নির্মাতা, ISP, না নিয়ন্ত্রক? আর এর পরে কী বদলেছে?
Mirai কোনো জটিল দুর্বলতা ব্যবহার করেনি। প্রকাশিত বিশ্লেষণ অনুযায়ী এটি ইন্টারনেটে খোলা telnet-এর মতো সেবা খুঁজে কারখানার ডিফল্ট username-password-এর ছোট একটি তালিকা চেষ্টা করত, আর অসংখ্য যন্ত্রে সেটাই যথেষ্ট ছিল — অনেক মডেলে পাসওয়ার্ড বদলানোর সহজ উপায়ই ছিল না। ২০১৬ সালের শরতে এই botnet দিয়ে কয়েকটি বড় আক্রমণ হয়; একটি বড় DNS সেবাদাতার ওপর আক্রমণে যুক্তরাষ্ট্র ও ইউরোপের অনেক ব্যবহারকারী কয়েক ঘণ্টা বহু জনপ্রিয় সাইটে ঢুকতে পারেননি। পরে যুক্তরাষ্ট্রে কয়েকজন তরুণ এর সাথে জড়িত থাকার দায় স্বীকার করেন বলে জানা যায়।
দায়ের প্রশ্নটি অর্থনীতির “externality”-র রূপ। ক্যামেরার মালিক কোনো ক্ষতি টের পান না — ক্যামেরা ঠিকই ভিডিও দেখায়। নির্মাতার কাছে নিরাপত্তা খরচ, আর দামের প্রতিযোগিতায় সেটি বাদ দেওয়াই সহজ। ক্ষতি হয় তৃতীয় পক্ষের। তাই শুধু ব্যবহারকারীকে “সচেতন হোন” বলা যথেষ্ট নয়।
পরে কয়েক দিকে পরিবর্তন এসেছে। কিছু দেশে আইন করে ভোক্তা-যন্ত্রে সবার জন্য একই ডিফল্ট পাসওয়ার্ড নিষিদ্ধ করা হয়েছে আর নির্মাতাকে হালনাগাদের সময়সীমা জানাতে বলা হয়েছে (যেমন যুক্তরাজ্যে; বিস্তারিত দেশভেদে আলাদা)। অনেক নির্মাতা এখন প্রতিটি যন্ত্রে আলাদা পাসওয়ার্ড দেন। আর প্রতিষ্ঠানগুলো শিখেছে যে একটিমাত্র DNS সেবাদাতার ওপর নির্ভর করা নিজেই একটি ঝুঁকি। ব্যবহারকারীর দিক থেকেও করণীয় সহজ: নতুন router বা ক্যামেরা বসানোর দিনই ডিফল্ট পাসওয়ার্ড বদলানো, firmware হালনাগাদ রাখা, আর দূর থেকে প্রবেশের সেবা দরকার না হলে বন্ধ রাখা।
মূল উপলব্ধি: নিরাপত্তার দুর্বলতম কড়াই প্রায়ই সবচেয়ে সস্তা যন্ত্র, আর তার ক্ষতি পড়ে অন্যের ওপর। এর সমাধান লাগে নিরাপদ ডিফল্ট, নির্মাতার দায় আর নির্ভরতার বৈচিত্র্য দিয়ে।
প্র ০২১৯৮০-এর দশকেই intrusion detection-এর ধারণা এসেছে, অথচ আজও নিরাপত্তা দলগুলো ভুয়া alert-এ ডুবে থাকে। গবেষকেরা এর পেছনের গণিত কীভাবে ব্যাখ্যা করেছেন, আর বাস্তবে এর জবাব কী?
১৯৮৭ সালে Dorothy Denning-এর “An Intrusion-Detection Model” প্রবন্ধটিকে প্রায়ই এই ক্ষেত্রের ভিত্তি ধরা হয়। প্রস্তাব ছিল প্রতিটি ব্যবহারকারী ও প্রোগ্রামের স্বাভাবিক আচরণের পরিসংখ্যানিক profile রাখা, আর বড় বিচ্যুতিকে সম্ভাব্য অনুপ্রবেশ ধরা — আজকের anomaly detection.
১৯৯৯ সালে Stefan Axelsson একটি প্রবন্ধে দেখান কেন এই ব্যবস্থাগুলো প্রত্যাশামতো কাজ করে না: base-rate fallacy. বাস্তব log-এ আক্রমণ অত্যন্ত বিরল, তাই alert-এর বেশিরভাগ সত্যি হতে হলে false positive rate-কে অবিশ্বাস্য রকম নিচে নামাতে হয় — detection rate বাড়ানোর চেয়ে সেটিই বেশি জরুরি। এই পর্বের হিসাবেও দেখেছেন: ৯৯% detection আর ০.১% FPR-এ precision মোটে ১%.
বাস্তবের জবাব কয়েক স্তরে। এক, প্রেক্ষাপট দিয়ে ছাঁকা — SIEM-এর correlation-এ কয়েকটি স্বাধীন সংকেত মিললে তবেই উচ্চ-অগ্রাধিকারের alert, যা কার্যত base rate বাড়ায়। দুই, যেখানে base rate স্বভাবতই বেশি সেখানে নজর — honeypot, honeytoken, “এই সার্ভারে কখনো বাইরের সংযোগ হওয়ার কথা নয়” ধরনের কঠোর নিয়ম। তিন, সম্পদের গুরুত্ব ধরে অগ্রাধিকার আর প্রতিটি নিয়মের precision মেপে নিয়মিত tuning. মেশিন লার্নিং সাহায্য করে, কিন্তু base rate-এর গণিত বদলায় না — নতুন মডেলের দাবি দেখলে প্রথম প্রশ্ন: “কোন base rate-এ এই সংখ্যা মাপা?”
মূল উপলব্ধি: বিরল ঘটনা খোঁজায় detector-এর “নির্ভুলতা” একা অর্থহীন; আসল মাপ precision. ভালো নকশা প্রেক্ষাপট, স্তর আর ফাঁদ দিয়ে base rate বাড়ানোর উপায় খোঁজে।
প্র ০৩SSL stripping ২০০৯ সালে জনসমক্ষে দেখানো হয়, HSTS মান হয় ২০১২-তে, আর এখন ব্রাউজারগুলো নিজেই https-কে ডিফল্ট করছে। এই বিবর্তন নিরাপত্তা নকশার কোন নীতি শেখায়?
২০০৯ সালের একটি নিরাপত্তা সম্মেলনে গবেষক Moxie Marlinspike দেখান যে TLS-এর cryptography না ভেঙেই বেশিরভাগ ব্যবহারকারীকে এনক্রিপশন থেকে দূরে রাখা যায়। দুর্বলতা ছিল ব্যবহারের ধরনে: মানুষ “https” লেখেন না, প্রথম অনুরোধ যায় http-তে, আর তালার চিহ্ন না থাকলে অধিকাংশ মানুষ খেয়ালই করেন না। শিক্ষা: যে নিরাপত্তা ব্যবহারকারীর সক্রিয় মনোযোগের ওপর নির্ভর করে, তা ব্যর্থ হবেই।
HSTS (RFC 6797) সিদ্ধান্তটি মানুষের হাত থেকে ব্রাউজারের হাতে দেয়: সার্ভার একবার বলে “শুধু https”, ব্রাউজার তা মনে রাখে, আর certificate ত্রুটিতে এগোনোর পথ বন্ধ করে — কারণ বোতাম থাকলে অনেকে চাপবেনই। প্রথম ভিজিটের ফাঁক মেটায় preload তালিকা; কিছু top-level domain পুরোটাই এতে যুক্ত। তারপর ডিফল্ট উল্টে গেল: Let’s Encrypt-এর মতো বিনামূল্যের স্বয়ংক্রিয় certificate কর্তৃপক্ষ (২০১৫-১৬ সালের দিকে চালু) https-এর খরচ প্রায় শূন্যে নামায়, ব্রাউজার http পাতাকে “Not secure” দেখাতে শুরু করে, আর এখন অনেক ব্রাউজার scheme ছাড়া ঠিকানায় আগে https চেষ্টা করে (আচরণ ব্রাউজার ভেদে আলাদা)। লক্ষ করুন, কোনো ধাপেই “সাবধান হোন” শেখানো মূল সমাধান ছিল না।
মূল উপলব্ধি: মানুষের অভ্যাসের ফাঁক দিয়ে আসা আক্রমণের সেরা প্রতিরক্ষা নিরাপদ ডিফল্ট। আর সতর্কবার্তা থাকলে সেটিকে বিরল ও অর্থবহ রাখতে হয়, নইলে মানুষ তা উপেক্ষা করতে শেখে।
প্র ০৪গবেষকেরা দেখিয়েছেন যে পুরো IPv4 ঠিকানা-স্থান এখন খুব অল্প সময়ে জরিপ করা যায়। তাহলে “আমার সার্ভারের ঠিকানা কেউ জানে না” ধরনের নিরাপত্তা কেন অর্থহীন, আর রক্ষকের কৌশল কী হওয়া উচিত?
IPv4-এ মোট ঠিকানা প্রায় ৪৩০ কোটি। ২০১৩ সালের দিকে বিশ্ববিদ্যালয়ের গবেষকেরা দেখান যে দ্রুত সংযোগ আর দক্ষ সফটওয়্যারে একটি নির্দিষ্ট port-এর জন্য পুরো IPv4 স্থান এক ঘণ্টারও কম সময়ে জরিপ করা সম্ভব। এখন গবেষণা প্রকল্প আর বাণিজ্যিক সার্চ সেবাগুলো নিয়মিত পুরো ইন্টারনেট জরিপ করে খোলা সেবার তালিকা বানায় — রক্ষক আর আক্রমণকারী দুই পক্ষই তা দেখে।
ফলে নতুন public সার্ভার চালুর অল্প পরেই স্বয়ংক্রিয় scan-এর মুখে পড়ে। “কেউ জানে না” ভাবনাকে বলা হয় security through obscurity — এটি বাড়তি একটি স্তর হতে পারে (banner ছোট রাখা), মূল প্রতিরক্ষা নয়। IPv6-এর বিশাল ঠিকানা-স্থানে অন্ধ scan অবাস্তব হলেও DNS, certificate-এর প্রকাশ্য লগ আর অনুমানযোগ্য ঠিকানা থেকে লক্ষ্য খুঁজে নেওয়া যায়।
রক্ষকের কৌশল তাই: ধরে নিন সবাই সব দেখতে পায়, তারপর দেখার মতো কম কিছু রাখুন। নিজের উন্মুক্ত সম্পদের হালনাগাদ তালিকা (অনেক অনুপ্রবেশ শুরু হয় ভুলে যাওয়া সার্ভার থেকে), ন্যূনতম উন্মুক্ততা, দ্রুত patch, আর scan-কে আতঙ্ক নয়, তথ্য হিসেবে দেখা — গুরুত্বপূর্ণ হলো তার পরে কী ঘটে। বাইরের চেহারা যাচাই হবে অনুমোদিত পথে, কখনো অন্যের নেটওয়ার্কে কৌতূহলবশে নয়।
মূল উপলব্ধি: ইন্টারনেটে লুকিয়ে থাকা যায় না; নিরাপত্তা আসে কম উন্মুক্ত হওয়া, হালনাগাদ থাকা আর নিজের সম্পদ নিজে জানা থেকে।
প্র ০৫এনক্রিপশন গোপনীয়তা রক্ষা করে, কিন্তু নেটওয়ার্কের IDS-কে অন্ধ করে দেয়। প্রতিষ্ঠানগুলোর TLS interception কি এর ভালো সমাধান? এই টানাপোড়েন কীভাবে মেটানো হচ্ছে?
আজ প্রায় সব ওয়েব ট্রাফিক TLS বা QUIC-এ, আর TLS 1.3 handshake-এর বেশিরভাগ, সার্ভারের certificate-সহ, এনক্রিপ্ট করে; Encrypted Client Hello-র মতো প্রস্তাব সাইটের নামও (SNI) লুকাতে চায়। ব্যবহারকারীর জন্য বড় জয়, কিন্তু প্রতিষ্ঠানের নিরাপত্তা দলও আর দেখতে পায় না কোনো যন্ত্র থেকে ক্ষতিকর প্রোগ্রাম নিয়ন্ত্রকের সাথে কথা বলছে কি না।
প্রচলিত একটি উত্তর TLS interception: প্রতিষ্ঠানের proxy কর্মীদের যন্ত্রে নিজস্ব root certificate বসিয়ে প্রতিটি সংযোগ খোলে, পরীক্ষা করে, আবার এনক্রিপ্ট করে। কিন্তু ২০১৭ সালের একটি পরিচিত গবেষণায় দেখা যায়, বহু interception পণ্য মূল ব্রাউজারের চেয়ে দুর্বল TLS ব্যবহার করে, কিছু certificate ঠিকমতো যাচাইও করে না — নিরাপত্তার নামে নিরাপত্তা কমায়। Proxy নিজেও সবার গোপন তথ্যের ভান্ডার, আর ব্যক্তিগত ট্রাফিক খোলার আইনি ও নৈতিক প্রশ্ন থাকে।
তাই প্রবণতা অন্য দিকে: নজরদারি endpoint-এ (HIDS বা endpoint detection, যা এনক্রিপশনের আগে-পরে দেখে); metadata আর flow বিশ্লেষণ (IPFIX, সংযোগের ছন্দ, আকার); প্রতিষ্ঠানের নিজস্ব DNS resolver ও নীতি; আর zero trust নকশা, যেখানে প্রতিটি সেবা নিজেই mTLS বা MFA দিয়ে যাচাই করে। কোথায় interception যুক্তিসংগত, সে সিদ্ধান্ত স্পষ্ট নীতি আর অবহিতিসহ, প্রতিষ্ঠান ভেদে আলাদা। বাংলাদেশসহ যেকোনো দেশের প্রতিষ্ঠানেই এমন সিদ্ধান্তের আগে কর্মীদের জানানো আর আইনি পরামর্শ নেওয়া জরুরি, কারণ ব্যক্তিগত তথ্য সুরক্ষার নিয়ম দেশভেদে আলাদা।
মূল উপলব্ধি: এনক্রিপশন উল্টে দেওয়ার চেষ্টা প্রায়ই নতুন দুর্বলতা আনে। টেকসই পথ হলো দৃশ্যমানতা অন্য জায়গা থেকে নেওয়া — endpoint, metadata আর প্রতিটি সেবার নিজস্ব যাচাই।
অনুশীলন
খাতা-কলম নিন — ধারণক্ষমতা, সম্ভাবনা আর log ধরে ধরে হিসাব করুন।
-
হিসাব (ধারণক্ষমতা আর amplification): একটি প্রতিষ্ঠানের ইন্টারনেট link ১ Gbps, স্বাভাবিক ট্রাফিক ৩০০ Mbps. আক্রমণকারী জাল উৎস দিয়ে মোট ২০০ Mbps অনুরোধ পাঠায় এমন একটি সেবায়, যার amplification factor ৩০। (ক) শিকারের দিকে কত ট্রাফিক আসবে? (খ) link-এ চাপ কত শতাংশ, আর এলোমেলো drop ধরে বৈধ ট্রাফিকের কত অংশ পৌঁছাবে? (গ) শুধু link ভরাতে আক্রমণকারীকে ন্যূনতম কত Mbps অনুরোধ পাঠাতে হতো? (ঘ) প্রতিষ্ঠানের firewall link-এর পেছনে বসে কেন এটি ঠেকাতে পারবে না?
(ক) ২০০ Mbps × ৩০ = ৬,০০০ Mbps = ৬ Gbps. (খ) মোট চাপ ৬,০০০ + ৩০০ = ৬,৩০০ Mbps, link ১,০০০ — ৬৩০%. পৌঁছানো অংশ ১,০০০ ÷ ৬,৩০০ ≈ ১৫.৯%; বৈধ ৩০০ Mbps-এর মাত্র প্রায় ৪৮ Mbps পৌঁছায়।
(গ) বাকি জায়গা ১,০০০ − ৩০০ = ৭০০ Mbps; ৭০০ ÷ ৩০ ≈ ২৩.৩ Mbps অনুরোধই যথেষ্ট — একটি সাধারণ বাসার সংযোগের সমান। (ঘ) Packet ফেলা হচ্ছে link-এ ঢোকার মুখের queue-তে, বাছাই ছাড়াই; হারানো বৈধ packet firewall আর ফেরাতে পারে না। প্রতিরক্ষা লাগবে উজানে — ISP, scrubbing, anycast/CDN, চরমে RTBH.
-
হিসাব (base-rate fallacy): একটি ব্যাংকের SIEM দিনে ৫,০০,০০০টি login-ঘটনা দেখে, যার ০.১% আসলে আক্রমণ। একটি নতুন detector-এর detection rate ৯০%, false positive rate ০.২%. (ক) দিনে কয়টি সত্যি আর কয়টি ভুয়া alert আসবে? (খ) একটি alert এলে সেটি আসল আক্রমণ হওয়ার সম্ভাবনা কত? (গ) দলটি দিনে মাত্র ২০০টি alert যাচাই করতে পারলে কী সমস্যা হবে, আর দুটি সমাধান বলুন।
(ক) আক্রমণ = ৫,০০,০০০ × ০.০০১ = ৫০০; সত্যি alert (TP) = ৫০০ × ০.৯ = ৪৫০। নিরীহ ঘটনা ৪,৯৯,৫০০; ভুয়া alert (FP) = ৪,৯৯,৫০০ × ০.০০২ = ৯৯৯। মোট ১,৪৪৯।
(খ) Precision = ৪৫০ ÷ ১,৪৪৯ ≈ ০.৩১১, অর্থাৎ প্রায় ৩১% — প্রতি তিনটি alert-এ মোটামুটি একটি সত্যি। (৫০টি আক্রমণ মিসও হচ্ছে — false negative.) (গ) এলোমেলোভাবে ২০০টি দেখলে গড়ে প্রায় ৩৮৮টি সত্যি alert অদেখা থাকবে (৪৫০ × ১,২৪৯ ÷ ১,৪৪৯), আর alert fatigue বাড়বে। সমাধান: প্রেক্ষাপট দিয়ে অগ্রাধিকার বা দ্বিতীয় স্বাধীন সংকেত মিললে তবেই alert (correlation), tuning করে FPR কমানো, আর MFA দিয়ে আক্রমণের সফলতাই কমানো।
-
আউটপুট অনুমান করুন: অংশ ৭-এর token bucket simulator-এ শুধু
const CAP = 5বদলেconst CAP = 12করা হলো (refill একই, প্রতি ১০ সেকেন্ডে একটি)। অফিসের NAT, stuffing আর slow bots-এর সারিতে allowed ও blocked কত হবে? এই পরিবর্তনের লাভ ও ক্ষতি কী?kind IPs allowed blocked stuffing 3 51 489 slow bots 50 100 0 office NAT 1 12 0 user 8 16 0 false blocks (legit users refused): 0 abusive attempts that got through: 151বালতি ১২ হওয়ায় অফিসের ১২ জনই ঢুকলেন — false block শূন্য। কিন্তু প্রতিটি stuffing IP এখন শুরুতেই ১২টি, তারপর আরও ৫টি — মোট ১৭টি করে, তিনটিতে ৫১ (আগে ৩০)। slow bots আগের মতোই সব পার। শিক্ষা: burst-এর আকার বৈধ ব্যবহারকারীর সুবিধা আর আক্রমণকারীর সুযোগের আপস; একটি সংখ্যা দিয়ে সব মেটে না — লাগে প্রতি-অ্যাকাউন্ট সীমা আর MFA.
-
কমান্ড লিখুন ও ব্যাখ্যা করুন: আপনি একটি Linux সার্ভারের দায়িত্বে। (ক) এই সার্ভারে কোন TCP আর UDP সেবা শুনছে, সংখ্যায় port দেখিয়ে, কোন কমান্ডে দেখবেন? (খ) আউটপুটে
0.0.0.0:3306আর127.0.0.1:6379দেখলে কোনটি নিয়ে চিন্তা করবেন, কেন, আর কী করবেন? (গ) কোন প্রক্রিয়া কোন port-এ শুনছে তাও দেখতে কী যোগ করবেন?ss -tuln # t = TCP, u = UDP, l = listening, n = numeric ports sudo ss -tulnp # p = owning process (needs root to see other users' processes)(খ)
0.0.0.0:3306মানে একটি ডেটাবেস (3306 সাধারণত MySQL/MariaDB) সব interface-এ শুনছে — বাইরের নেটওয়ার্ক থেকেও পৌঁছানো যেতে পারে; এটিই চিন্তার বিষয়। একই যন্ত্রের অ্যাপ ব্যবহার করলে সেবার কনফিগারেশনে127.0.0.1-এ bind করুন; অন্য সার্ভার ব্যবহার করলে firewall-এ শুধু সেই সার্ভারের ঠিকানা থেকে অনুমতি দিন (পর্ব ৪৯)।127.0.0.1:6379শুধু স্থানীয় — ঠিক আছে। (গ)-pযোগ করলে প্রতিটি সারিতে প্রক্রিয়ার নাম ও PID দেখায়; অচেনা কোনো প্রক্রিয়া কোনো port-এ শুনলে সেটি তদন্তের বিষয়। এই যাচাই শুধু নিজের দায়িত্বের যন্ত্রে — এটি বাইরের কাউকে স্ক্যান করা নয়।
নিজেকে যাচাই করুন
ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।
ক্রমরক্ষকের চোখে একটি লক্ষ্যভিত্তিক অনুপ্রবেশের সাধারণ ধাপগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)
- Reconnaissance — খোলা সেবা, সংস্করণ আর কর্মীদের তথ্য খোঁজা
- Initial access — phishing, দুর্বল সেবা বা চুরি করা পাসওয়ার্ড দিয়ে প্রথম প্রবেশ
- ঘাঁটি গাড়া — নিজের প্রোগ্রাম চালানো আর রিবুটের পরেও টিকে থাকা
- Lateral movement — ভেতরের নেটওয়ার্কে পাশের সার্ভারে ছড়ানো
- Exfiltration বা ক্ষতি — ডেটা বাইরে পাঠানো বা সেবা অচল করা
একটি নেটওয়ার্কে দিনে ১০,০০,০০০টি ঘটনা ঘটে, তার ১০০টি আসল আক্রমণ। একটি IDS সব আক্রমণ ধরে (detection rate ১০০%) আর নিরীহ ঘটনার ০.১%-এ ভুয়া alert দেয়। একটি alert আসল আক্রমণ হওয়ার সম্ভাবনা মোটামুটি কত?
- ৯৯.৯%
- প্রায় ৯১%
- প্রায় ৯%
- ০.১%
একজন ব্যবহারকারী আগে কয়েকবার bank.example ভিজিট করেছেন, আর সাইটটি HSTS header পাঠায়। এখন তিনি একটি নকল Wi-Fi-তে address bar-এ শুধু bank.example লিখলেন। মাঝের আক্রমণকারীর SSL stripping চেষ্টার কী হবে?
- সফল হবে, কারণ প্রথম অনুরোধ http-তে যায়
- ব্যর্থ হবে — ব্রাউজার আগেই https ব্যবহার করবে, আর ভুয়া certificate-এ এগোতে দেবে না
- সফল হবে, যদি আক্রমণকারী DNS উত্তরও বদলায়
- শুধু Wi-Fi-তে WPA3 থাকলে ব্যর্থ হবে
একটি প্রতিষ্ঠানের link ১০ Gbps. তার ওপর ১০০ Gbps-এর একটি volumetric DDoS এলে প্রতিষ্ঠানের নিজের অত্যাধুনিক firewall কেন যথেষ্ট নয়?
- Firewall-এর CPU যথেষ্ট দ্রুত নয়
- Firewall জাল উৎস-ঠিকানা চিনতে পারে না
- Firewall-এ নিয়ম কম থাকে
- জট হয় link-এ, firewall-এর আগেই; বৈধ ট্রাফিক সেখানেই হারায়
Signature-based আর anomaly-based intrusion detection-এর তুলনায় কোন বক্তব্যটি সঠিক?
- Signature-based সাধারণত কম ভুয়া alert দেয় কিন্তু zero-day মিস করে; anomaly-based অচেনা আক্রমণ ধরতে পারে কিন্তু ভুয়া alert বেশি
- Signature-based zero-day আক্রমণ ভালো ধরে
- Anomaly-based শুধু host-এ চলে, network-এ নয়
- Anomaly-based এনক্রিপ্টেড ট্রাফিকের বিষয়বস্তু পড়তে পারে
একটি TCP সার্ভার এলোমেলো ৩২ bit-এর ISN ব্যবহার করে। একজন আক্রমণকারী অন্যের IP ঠিকানা উৎস বানিয়ে (blind spoofing) সার্ভারের সাথে পূর্ণ TCP সংযোগ গড়তে চায়। প্রধান বাধা কী?
- TCP checksum জাল ঠিকানা ধরে ফেলে
- সার্ভারের SYN-ACK আক্রমণকারী দেখতে পায় না, তাই ISN অনুমান করে ACK দিতে হয়
- TCP handshake এনক্রিপ্টেড থাকে
- জাল উৎস দিয়ে SYN পাঠানোই অসম্ভব
BCP 38 (ingress filtering) ২০০০ সাল থেকে প্রকাশিত, তবু জাল উৎস-ঠিকানার reflection আক্রমণ টিকে আছে। এর প্রধান কারণ কোনটি?
- আধুনিক router-এ ingress filtering করা প্রযুক্তিগতভাবে অসম্ভব
- BCP 38 শুধু IPv6-এ কাজ করে
- যে নেটওয়ার্কগুলো filtering করে না, আক্রমণকারী সেখান থেকেই পাঠায় — আর filtering-এর লাভ মূলত অন্যদের, তাই সবাই করে না
- BCP 38 শুধু শিকারের নিজের নেটওয়ার্কে প্রয়োগ করা যায়
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন — অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:
মনে রাখুন
- মানচিত্র: প্রতিটি আক্রমণকে দেখুন লক্ষ্য (CIA), স্তর আর ধরন (passive/active) দিয়ে; প্রতিরক্ষা সেই স্তরেই — switch, RPKI, TLS, কোড। কোনো একক যন্ত্র সব থামায় না।
- DDoS ধারণক্ষমতার অঙ্ক: volumetric (Gbps), state exhaustion (টেবিল), application (rps). Link-এর চেয়ে বড় আক্রমণ থামে শুধু উজানে — anycast, CDN, scrubbing, RTBH, Flowspec; মূলে BCP 38/84, যা প্রণোদনার অভাবে অসম্পূর্ণ।
- Spoofing আর MITM: দেখানো পরিচয় প্রমাণ নয়; প্রমাণ আসে cryptography থেকে। TCP-র এলোমেলো ISN অন্ধ spoofing কঠিন করে; ঠিকভাবে যাচাই করা TLS মাঝের আক্রমণকারীকে শুধু metadata দেয়; HSTS SSL stripping থামায়; certificate সতর্কবার্তা উপেক্ষা নয়।
- রক্ষকের চোখে scanning ও password আক্রমণ: log-এ এক উৎস-অনেক port; নিজের যন্ত্রে
ss -tulnদিয়ে attack surface জানা ও কমানো; rate limit-এ NAT-এর false block আর ধীর botnet-এর সীমা মনে রাখা; MFA সবচেয়ে কার্যকর। অনুমতি ছাড়া অন্যের নেটওয়ার্কে কিছু নয়। - IDS-এর গণিত: precision = TPR·p ÷ (TPR·p + FPR·(১−p)); আক্রমণ বিরল হলে বেশিরভাগ alert ভুয়া। তাই log কেন্দ্রীকরণ, SIEM-এর correlation, honeypot, tuning আর প্রমাণভিত্তিক triage.
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ৫১ · মোবাইল নেটওয়ার্ক — 2G থেকে 5G, cell আর handoverপরবর্তী পর্বমডিউল ৯-এর শুরু: আধুনিক নেটওয়ার্ক।
- পর্ব ৪৯ · Firewall আর VPN — nftables, IPsec আর WireGuardআগের পর্বattack surface কমানোর প্রধান হাতিয়ার আর নিরাপদ সুড়ঙ্গ।
- পর্ব ৪৬ · নেটওয়ার্ক নিরাপত্তার ভিত্তি — CIA, হুমকি আর প্রতিরক্ষার স্তরভিত্তিCIA, হুমকি-মডেল আর defense in depth.
- পর্ব ৫৫ · সমস্যা খোঁজা — tcpdump, Wireshark আর পদ্ধতিগত তদন্তসামনেPacket capture আর প্রমাণভিত্তিক তদন্তের পদ্ধতি।
- কম্পিউটার নেটওয়ার্ক · কোর্স হোম৬২টি পর্বপুরো রোডম্যাপ, মডিউল ৮-এর নিরাপত্তা পর্বগুলোসহ।
- অপারেটিং সিস্টেম · OS নিরাপত্তাপাশের ট্র্যাকযন্ত্রের ভেতরের প্রতিরক্ষা — অনুমতি, আলাদা রাখা আর কম সুবিধার নীতি।