এই পর্বে যা শিখবেন
- রক্ষকের চোখে malware-এর ধরন চেনা, আর ধরন অনুযায়ী ঝুঁকি বোঝা
- ঢোকার প্রতিটি পথের সাথে প্রতিরোধের control মেলানো, আর ফাঁক খুঁজে বের করা
- আচরণকে MITRE ATT&CK tactic আর সঠিক telemetry-র সাথে যুক্ত করা
- Signature, YARA, behaviour, sandbox, reputation আর network সংকেতের শক্তি ও সীমা
- সন্দেহজনক ফাইল নিরাপদে সামলানো, আর আক্রান্ত যন্ত্র পরিষ্কার না rebuild, সেই সিদ্ধান্ত নেওয়া
১ · Malware কী, আর কেন একে রক্ষকের চোখে দেখব
ধরুন একটি অফিসের হিসাবরক্ষক সকালে email খুললেন। সংযুক্ত ফাইলের নাম “বকেয়া বিল”. তিনি ক্লিক করলেন, কিছুই ঘটল না। দুপুরে IT দলের কাছে একটি সতর্কবার্তা এলো। ওই কম্পিউটার অচেনা একটি domain-এর সাথে কথা বলছে। এই ছোট গল্পে ভয় পাওয়ার চেয়ে প্রশ্ন করা বেশি কাজের। ফাইলটি কী ছিল? কোন বাধা কাজ করেছে, কোনটি করেনি? এখন কী করা উচিত?
Malware শব্দটি এসেছে malicious software থেকে। NIST SP 800-83 (২০১৩)-এর ভাষায় মোটামুটি অর্থ হলো: গোপনে কোনো system-এ ঢোকানো এমন প্রোগ্রাম, যার উদ্দেশ্য ডেটা, application বা operating system-এর confidentiality, integrity বা availability নষ্ট করা। অর্থাৎ CIA triad-এর ওপর আঘাত। ভুল করে লেখা bug malware নয়, কারণ সেখানে ক্ষতির উদ্দেশ্য নেই। উদ্দেশ্যই এখানে মূল পার্থক্য।
বাজারের পকেটমারকে ভাবুন। কেউ ভিড়ে মিশে থাকে, কেউ দোকানদার সেজে আসে, কেউ চুপচাপ পিছু নেয়। পাহারাদার যদি শুধু একজনের মুখের ছবি মুখস্থ রাখেন, পরদিন নতুন মুখ এলেই ঠকবেন। তাই অভিজ্ঞ পাহারাদার আচরণ দেখেন: কে অকারণে ব্যাগের দিকে তাকাচ্ছে, কে বারবার একই গলিতে ঘুরছে। Malware প্রতিরক্ষাও এমনই। ছবির খাতা কাজে লাগে, কিন্তু একা যথেষ্ট নয়।
এই পর্বের সীমা: এখানে কোনো malware code, টিকে থাকার কৌশল বা ধরা এড়ানোর উপায় নেই, থাকবেও না। সব উদাহরণ খেলনা ডেটায় চলে। সন্দেহজনক ফাইল নিয়ে “দেখি কী হয়” ধরনের পরীক্ষা করবেন না। অন্যের system-এ ক্ষতিকর code ছড়ানো গুরুতর অপরাধ হতে পারে। অনুমতি আর আইনের সীমা জানতে পর্ব ৬ · আইন আর নৈতিকতা দেখুন।
২ · ধরনের মানচিত্র — কীভাবে ছড়ায়, কী করতে চায়
Malware-এর নাম শুনলে নতুনরা সবকিছুকে “virus” বলেন। রক্ষকের জন্য দুটি আলাদা অক্ষে ভাবা বেশি কাজের। প্রথম অক্ষ: কীভাবে ছড়ায়। দ্বিতীয় অক্ষ: ঢোকার পর কী করে। একটি বাস্তব নমুনা একসাথে কয়েকটি ঘরে পড়তে পারে। যেমন একটি worm নিজে ছড়ায়, আবার ransomware-এর কাজও করতে পারে।
| ধরন | মূল আচরণ | রক্ষকের প্রধান চিন্তা | প্রধান বাধা |
|---|---|---|---|
| Virus | অন্য ফাইলের সাথে জুড়ে ছড়ায়, চালাতে মানুষের কাজ লাগে | শেয়ার করা ফাইল | Scanner, যাচাই করা উৎস |
| Worm | মানুষের সাহায্য ছাড়াই network-এ নিজে ছড়ায় | গতি, blast radius | Patch, segmentation |
| Trojan | কাজের সফটওয়্যার সেজে আসে, নিজে ছড়ায় না | ব্যবহারকারীর বিশ্বাস | Allowlist, অফিসিয়াল উৎস |
| Ransomware | ডেটা আটকে বা চুরি করে টাকা চায় | ব্যবসা বন্ধ, ডেটা ফাঁস | Backup, segmentation (পর্ব ৩৪) |
| Spyware, infostealer | গোপনে তথ্য, password, session চুরি করে | Account takeover | MFA, password manager, EDR |
| RAT | দূর থেকে যন্ত্র নিয়ন্ত্রণের সুযোগ দেয় | মানুষ-চালিত হামলা | Egress নিয়ম, behaviour নজরদারি |
| Rootkit | OS-এর গভীরে বসে নিজের উপস্থিতি লুকায় | যন্ত্রের রিপোর্টে আস্থা নষ্ট | Secure Boot, rebuild |
| Botnet | অনেক আক্রান্ত যন্ত্র এক নিয়ন্ত্রণে চলে | DDoS, spam, আরও সংক্রমণ | Default password বদল, egress filtering |
| Cryptominer | গোপনে CPU, GPU খাটিয়ে cryptocurrency বানায় | খরচ, ধীরগতি, ফাঁকা দরজার সংকেত | Resource নজরদারি, patch |
| Wiper | ডেটা বা system ধ্বংস করে, ফেরত পাওয়ার পথ রাখে না | স্থায়ী ক্ষতি | Offline backup, মহড়া |
Fileless — ধারণা, আলাদা ধরন নয়
Fileless শব্দটি একটি কৌশলের বর্ণনা। এখানে হামলাকারী যতটা সম্ভব কম ফাইল ফেলে, আর memory ও system-এ আগে থেকে থাকা বৈধ টুল ব্যবহার করে। একে living off the land-ও বলা হয়। শব্দটি কিছুটা বিভ্রান্তিকর, কারণ অনেক ক্ষেত্রেই কোথাও না কোথাও কিছু লেখা থাকে।
রক্ষা: script logging, process নজরদারি, কম অধিকারনামের মতভেদ
Vendor আর বইভেদে নামের সীমা আলাদা হয়। RAT-কে কেউ Remote Access Trojan বলেন, কিন্তু বৈধ remote administration tool-ও একই সংক্ষেপ পায়। অবাঞ্ছিত adware বা PUP-কে সবাই malware বলেন না। তাই রিপোর্টে নামের চেয়ে আচরণ লিখুন।
নাম নয়, আচরণ লিখুনধরন জানলে সাড়ার অগ্রাধিকার ঠিক হয়। Worm হলে আগে ছড়ানো থামাতে হয়। Infostealer হলে আগে session আর password বদলাতে হয়। Wiper-এর আশঙ্কা থাকলে আগে backup রক্ষা করতে হয়। Rootkit-এর আশঙ্কা থাকলে ওই যন্ত্রের নিজের রিপোর্টে ভরসা কমে যায়।
৩ · ঢোকার পথ — আর প্রতিটি পথে কোন বাধা
হাজারো malware থাকলেও ঢোকার পথ অল্প কয়েকটি। বাড়ির কথা ভাবুন। চোর হাজার রকম হতে পারে, কিন্তু দরজা, জানালা আর ছাদ গোনা যায়। তাই রক্ষকের প্রথম কাজ পথগুলোর হিসাব রাখা। এটি পর্ব ৫-এর kill chain ভাবনার একটি ব্যবহারিক রূপ।
| ঢোকার পথ | সাধারণ চিত্র | প্রতিরোধের control | কোথায় ধরা পড়ে |
|---|---|---|---|
| Phishing | Email বা message-এ link ও ফাইল | Mail filter, SPF, DKIM, DMARC, phishing-প্রতিরোধী MFA, রিপোর্ট বোতাম | Mail log, EDR |
| ক্ষতিকর download | ভুয়া installer, cracked সফটওয়্যার, ভুয়া update | অফিসিয়াল উৎস, allowlist, code signing যাচাই, reputation | Proxy log, EDR |
| দুর্বল সফটওয়্যার | Patch-হীন service-এ exploit | Patch অগ্রাধিকার, কম exposure, segmentation | IDS, service log |
| Removable media | USB drive, বাইরের disk | USB নীতি, autorun বন্ধ, scan করার আলাদা kiosk | Device connect log, EDR |
| Supply chain | বিশ্বস্ত update বা dependency-র ভেতরে ক্ষতিকর অংশ | Dependency review, স্বাক্ষর যাচাই, update কেন্দ্রীয় নিয়ন্ত্রণে (পর্ব ৪৮) | Egress log, আচরণের পরিবর্তন |
এবার পুরো পথটিকে এক ছবিতে দেখি। প্রতিটি ধাপের একদিকে থাকে আটকানোর ব্যবস্থা, আরেকদিকে দেখার ব্যবস্থা। একটি ব্যর্থ হলে পরেরটি ধরবে, এটিই defense in depth.
Malware-এর পথে আটকানো আর দেখার স্তর
Each stage has a preventive control and a detection source
নিচের গল্পটি কাল্পনিক, আর শুধু ধারণার জন্য। শুরুর হিসাবরক্ষকের ক্লিক থেকে যন্ত্র আলাদা করা পর্যন্ত প্রতিটি control কোথায় কাজ করল, দেখুন। খেয়াল করুন, প্রথম কয়েকটি বাধা পার হওয়া মানেই হার নয়।
- Mailfilter
- ক্লিকreputation
- Downloadscan
- খোলাallowlist
- আচরণEDR
- যোগাযোগDNS
- আলাদাSOC
| Control | |
| ফল | |
| ক্ষতি |
- Mail filter. Email-টি নতুন এক ঠিকানা থেকে এসেছে, আর ফাইলটি কোনো পরিচিত তালিকায় নেই। তাই filter এটি পার হতে দিল। কোনো filter সব ধরতে পারে না, আর এটি ব্যর্থতার শেষ নয়।
- ক্লিক। Link-এর domain মাত্র তিন দিন পুরোনো, তাই reputation ব্যবস্থা একটি সতর্কতা দেখাল। হিসাবরক্ষক কাজের চাপে সামনে এগোলেন। মানুষের ওপর শেষ ভরসা রাখা যায় না, তাই পরের স্তর দরকার।
- Download. ফাইলের hash কোনো জানা তালিকায় নেই, আর কোনো signature মিলল না। Scanner পার হলো, ফাইলটি disk-এ বসল। নতুন নমুনার ক্ষেত্রে এমন হওয়া স্বাভাবিক।
- খোলা। এই অফিসে allowlist পরীক্ষামূলকভাবে শুধু log রাখে, আটকায় না। তাই ফাইল খুলল, তবে একটি log থাকল। Enforce করা থাকলে গল্প এখানেই থামত।
- আচরণ। Office application একটি script চালাল, সেটি ফাইল লিখল আর autostart-এ একটি entry যোগ করল। EDR-এর behaviour score দাঁড়াল 70, যা সীমার সমান, তাই review-এর alert তৈরি হলো। ফাইলটি অচেনা হলেও আচরণটি সন্দেহজনক।
- যোগাযোগ। Process একটি অচেনা domain-এর সাথে কথা বলতে চাইল। Protective DNS অনুরোধটি আটকাল, আর এই চেষ্টা যোগ হয়ে score হলো 105. C2 পথ না পেলে হামলাকারীর নির্দেশও পৌঁছায় না।
- Containment. SOC যন্ত্রটিকে network থেকে আলাদা করল, ব্যবহারকারীর session বাতিল করল আর তদন্ত শুরু করল। ছয়টি স্তরের কয়েকটি ব্যর্থ হয়েছে, তবু ক্ষতি থেমেছে। এটিই স্তরভিত্তিক প্রতিরক্ষার ফল।
একটি প্রতিষ্ঠান নিজের অবস্থা কীভাবে মাপবে? প্রতিটি পথের জন্য অন্তত একটি প্রতিরোধ আর একটি detection চালু আছে কি না, তালিকা করে দেখুন। নিচের ছোট simulator একটি কাল্পনিক অফিসের হিসাব করে। enabled তালিকা বদলে আবার চালিয়ে দেখুন।
// Entry route to control coverage for a fictional office. All data is made up.
const enabled = new Set(['mail-filter', 'phishing-mfa', 'auto-patch',
'edr', 'usb-block', 'download-reputation']);
const routes = {
'phishing': { prevent: ['mail-filter', 'phishing-mfa'], detect: ['edr'] },
'download': { prevent: ['download-reputation', 'app-allowlist'], detect: ['edr'] },
'exploit': { prevent: ['auto-patch', 'segmentation'], detect: ['ids'] },
'usb': { prevent: ['usb-block'], detect: ['edr'] },
'supply': { prevent: ['dependency-review', 'update-signing'], detect: ['egress-log'] },
};
let gaps = 0, covered = 0;
for (const [route, c] of Object.entries(routes)) {
const p = c.prevent.filter(x => enabled.has(x));
const d = c.detect.filter(x => enabled.has(x));
const missing = [...c.prevent, ...c.detect].filter(x => !enabled.has(x));
let status = 'OK';
if (p.length === 0 && d.length === 0) status = 'GAP: nothing';
else if (p.length === 0) status = 'WEAK: no prevention';
else if (d.length === 0) status = 'WEAK: no detection';
if (status === 'OK') covered++; else gaps++;
console.log(route.padEnd(9), `prevent ${p.length}/${c.prevent.length}`,
`detect ${d.length}/${c.detect.length}`, status);
if (missing.length) console.log(' missing:', missing.join(', '));
}
const pct = Math.round(100 * covered / (covered + gaps));
console.log(`routes with both layers: ${covered}/${covered + gaps} (${pct}%)`);প্রকৃত আউটপুট:
phishing prevent 2/2 detect 1/1 OK
download prevent 1/2 detect 1/1 OK
missing: app-allowlist
exploit prevent 1/2 detect 0/1 WEAK: no detection
missing: segmentation, ids
usb prevent 1/1 detect 1/1 OK
supply prevent 0/2 detect 0/1 GAP: nothing
missing: dependency-review, update-signing, egress-log
routes with both layers: 3/5 (60%)
Phishing, download আর USB পথে দুই স্তরই আছে। Exploit পথে প্রতিরোধ আছে, কিন্তু কোনো detection নেই। Supply chain পথে কিছুই চালু নেই, তাই এটিই প্রথম অগ্রাধিকার। ৩টি পথে দুই স্তর, মোট ৫টি পথ, তাই ফল 60%. মনে রাখবেন, control-এর নাম থাকা মানে সেটি ঠিকভাবে কাজ করছে এমন নয়। পরীক্ষা করে দেখতে হয়। অফিসে Excel-এর একটি তালিকা দিয়েও এই কাজ শুরু করা যায়।
বাংলাদেশের প্রেক্ষাপট, ভুয়া মোবাইল আর্থিক app: সচেতনতামূলক সতর্কবার্তা আর সংবাদে মাঝেমধ্যে এমন অভিযোগ আসে যে “ক্যাশব্যাক” বা “অ্যাকাউন্ট আপডেট”-এর নামে messaging app বা সামাজিক মাধ্যমে একটি app-এর link পাঠানো হয়। এর ব্যাপকতার কোনো সংখ্যা এখানে দিচ্ছি না, কারণ নির্ভরযোগ্য হিসাব আমাদের হাতে নেই। ঝুঁকিটি তবু সহজে বোঝা যায়। Store-এর বাইরে থেকে app বসানোকে sideloading বলে। এমন app SMS পড়ার বা পর্দা দেখার অনুমতি চাইলে OTP ও PIN ঝুঁকিতে পড়তে পারে। অভ্যাস তিনটি: শুধু অফিসিয়াল store থেকে app নিন, অকারণ অনুমতি দেবেন না, আর সন্দেহ হলে app-এর ভেতরের নম্বর নয়, কার্ড বা অফিসিয়াল ওয়েবসাইটে লেখা হেল্পলাইনে ফোন করুন। PIN বা OTP কাউকে বলবেন না। বিস্তারিত পর্ব ৩৫-এ থাকবে।
৪ · আচরণের ভাষা — ATT&CK tactic আর telemetry
ফাইল এক রকম না হলেও আচরণের লক্ষ্য প্রায় একই থাকে। ঢুকতে হবে, চলতে হবে, টিকে থাকতে হবে, বাইরের সাথে কথা বলতে হবে, তারপর কাজ সারতে হবে। পর্ব ৫-এ দেখা MITRE ATT&CK এই লক্ষ্যগুলোকে tactic নামে ভাগ করে। ATT&CK v20-এ Enterprise-এর ১৫টি tactic আছে, যেখানে পুরোনো Defense Evasion ভেঙে Stealth আর Defense Impairment হয়েছে।
আর telemetry হলো যন্ত্র আর network থেকে আসা ঘটনার ধারাবাহিক তথ্য। Telemetry না থাকলে আচরণ ঘটে যায়, কিন্তু কেউ দেখে না। তাই প্রশ্নটি হলো: এই আচরণ হলে কোন log-এ তার ছাপ পড়বে?
| আচরণের ধরন | ATT&CK tactic | যে telemetry দেখায় (উদাহরণ) |
|---|---|---|
| Office application থেকে script চালু | Execution | Process creation log (Windows 4688, Sysmon 1, Linux auditd) |
| নতুন service, scheduled task, autostart | Persistence | Windows 7045, 4698; registry আর file নজরদারি |
| সাধারণ অ্যাকাউন্ট হঠাৎ admin অধিকারে | Privilege Escalation | Group বদলের log, sudo log |
| Security টুল বন্ধ, log মুছে ফেলা | Defense Impairment, Stealth | Agent-এর heartbeat হারানো, Windows 1102 |
| Password store বা browser ডেটায় অচেনা process | Credential Access | EDR-এর file ও process-access ঘটনা |
| অন্য যন্ত্রে অস্বাভাবিক login | Lateral Movement | Windows 4624, SSH log, east-west flow |
| নিয়মিত ছন্দে অচেনা domain-এ যোগাযোগ | Command and Control | DNS log, proxy log, NetFlow (beaconing) |
| বড় ডেটা বাইরে পাঠানো | Exfiltration | Egress volume, proxy log, DLP |
| অল্প সময়ে বহু ফাইল বদল, backup মোছার চেষ্টা | Impact | File event, backup system-এর log |
Event ID-গুলো মুখস্থ করার দরকার নেই, আর এগুলো নিজে থেকে চালু না-ও থাকতে পারে। যেমন Windows-এ process-এর পুরো command line পেতে আলাদা audit নীতি লাগে, আর Sysmon আলাদা করে বসাতে হয়। কী চালু আছে, নিজের system-এ যাচাই করুন। Log রাখার নীতি পর্ব ৫৫-এ আছে।
৫ · Detection-এর ছয়টি পদ্ধতি
কোনো একটি পদ্ধতি একা যথেষ্ট নয়। একটি প্রশ্ন দিয়ে পদ্ধতিগুলো চিনুন: এটি কী দেখে? ফাইলের ভেতরের চিহ্ন, চলার সময়ের আচরণ, না ফাইলের সুনাম?
Signature — জানা জিনিস দ্রুত চেনা
Signature হলো জানা নমুনার একটি চিহ্ন: hash, byte-এর সারি বা বিশেষ লেখা। পুলিশের খাতায় থাকা ছবির সাথে মুখ মেলানোর মতো। এটি দ্রুত আর খুব কম ভুল করে, যদি চিহ্নটি ভালোভাবে বাছা হয়। সমস্যা একটাই, যা আগে দেখা হয়নি, তা ধরতে পারে না। নিচের খেলনা scanner-এ সব “ফাইল” আসলে সাধারণ string, আর marker-টি একেবারে ভুয়া।
// Toy signature scanner. The "files" are fake strings; nothing here is real malware.
const files = [
{ name: 'report.txt', bad: false, body: 'quarterly sales summary for a corner shop' },
{ name: 'invoice.exe', bad: true, body: 'fake program TOY-MARKER-AAA pretending to be a bill' },
{ name: 'setup.bin', bad: true, body: 'fake installer with TOY-MARKER-BBB inside' },
{ name: 'variant.exe', bad: true, body: 'same fake program, marker changed: TOY-MARKER-AAB' },
{ name: 'training.md', bad: false, body: 'staff notes that quote TOY-MARKER-AAA as an example' },
];
const signatures = ['TOY-MARKER-AAA', 'TOY-MARKER-BBB'];
let tp = 0, fp = 0, fn = 0, tn = 0;
for (const f of files) {
const hit = signatures.find(s => f.body.includes(s));
const flagged = hit !== undefined;
if (flagged && f.bad) tp++;
else if (flagged) fp++;
else if (f.bad) fn++;
else tn++;
const truth = f.bad ? 'bad ' : 'clean';
console.log(f.name.padEnd(12), truth, flagged ? 'FLAG ' + hit : 'pass');
}
const precision = tp / (tp + fp), recall = tp / (tp + fn);
console.log(`TP=${tp} FP=${fp} FN=${fn} TN=${tn}`);
console.log(`precision=${precision.toFixed(2)} recall=${recall.toFixed(2)}`);প্রকৃত আউটপুট:
report.txt clean pass
invoice.exe bad FLAG TOY-MARKER-AAA
setup.bin bad FLAG TOY-MARKER-BBB
variant.exe bad pass
training.md clean FLAG TOY-MARKER-AAA
TP=2 FP=1 FN=1 TN=1
precision=0.67 recall=0.67
দুটি ভুল এখানে মূল শিক্ষা। variant.exe-তে marker-এর একটি অক্ষর বদলেছে, তাই scanner ধরতে পারেনি। এটি false negative. আর training.md একটি নিরীহ নোট, শুধু marker-এর উদ্ধৃতি আছে, তবু ধরা পড়েছে। এটি false positive. তাই precision = 2/(2+1) = 0.67 আর recall = 2/(2+1) = 0.67. বাস্তবের scanner-এর সংখ্যা এত খারাপ হয় না, তবে দুই ধরনের ভুলের চরিত্র একই।
YARA — রক্ষকের নিজের নিয়ম লেখার টুল
YARA একটি খোলা নিয়মের ভাষা। এতে লেখা বা byte-এর নকশা আর একটি শর্ত দিয়ে ফাইল শ্রেণিবদ্ধ করা যায়। Threat intelligence দল এটি দিয়ে ফাইলের সংগ্রহ খোঁজে। Sigma যেমন log-এর জন্য, YARA তেমন ফাইলের জন্য। নিচের নিয়মটি শুধু একটি নিরীহ ভুয়া marker খোঁজে। নিজের কম্পিউটারে নিজের বানানো টেক্সট ফাইলে এটি চালানো নিরাপদ।
rule Toy_Marker_Demo
{
meta:
description = "Teaching example: matches a harmless fake marker"
author = "ABCL TECH course"
strings:
$m1 = "TOY-MARKER-AAA" ascii wide
$m2 = "TOY-MARKER-BBB" ascii wide
condition:
any of them
}# নিজের ফোল্ডারে, নিজের টেক্সট ফাইলের ওপর
yara toy_marker.yar my-notes/
# নমুনা আউটপুট — version-ভেদে আলাদা হতে পারে
Toy_Marker_Demo my-notes/sample.txt
Rule-এ strings অংশে কী খুঁজবেন, আর condition অংশে কখন মিল ধরবেন, তা লেখা থাকে। any of them মানে যেকোনো একটি মিললেই হবে। ভালো rule-এ এমন শর্ত বাছা হয় যা বৈধ ফাইলে প্রায় থাকে না। আর নতুন rule আগে বৈধ ফাইলের বড় সংগ্রহে চালিয়ে false positive দেখে নিতে হয়। উদাহরণের নিয়মটি আমরা নিজে চালাইনি, তাই আউটপুটটি নমুনা হিসেবেই পড়ুন।
Behavioural — কী করছে, সেটি দেখা
Behavioural detection ফাইলের চেহারা নয়, কাজ দেখে। একটি মাত্র ঘটনা প্রায়ই নিরীহ। কিন্তু ঘটনার একটি ক্রম সন্দেহ বাড়ায়। EDR (পর্ব ২৯) ঠিক এখানেই কাজ করে। নিচের খেলনা হিসাবে প্রতিটি ঘটনার একটি weight আছে। Script শুরুর ৩০০ সেকেন্ডের মধ্যে অচেনা domain-এ যোগাযোগ হলে বাড়তি ১৫ পয়েন্ট যোগ হয়। সব নাম আর সংখ্যা কাল্পনিক।
// Toy behaviour score over made-up process events. Time t is simulated seconds.
const weight = {
'office-starts-script': 30, 'script-writes-file': 15,
'autostart-entry-added': 25, 'rare-domain-contact': 20,
'signed-update': 0, 'known-domain-contact': 0,
};
const LIMIT = 70, WINDOW = 300, COMBO_BONUS = 15;
const hosts = {
'pc-accounts': [[0, 'office-starts-script'], [12, 'script-writes-file'],
[40, 'autostart-entry-added'], [95, 'rare-domain-contact']],
'pc-updater': [[0, 'signed-update'], [30, 'known-domain-contact'],
[60, 'autostart-entry-added']],
'pc-admin': [[0, 'office-starts-script'], [20, 'known-domain-contact'],
[900, 'rare-domain-contact']],
};
for (const [host, events] of Object.entries(hosts)) {
let score = 0, startedAt = null;
console.log(host);
for (const [t, name] of events) {
let add = weight[name];
if (name === 'office-starts-script') startedAt = t;
const inWindow = startedAt !== null && t - startedAt <= WINDOW;
if (name === 'rare-domain-contact' && inWindow) add += COMBO_BONUS;
score += add;
console.log(` t=${String(t).padStart(3)} ${name.padEnd(22)} +${add} = ${score}`);
}
console.log(` verdict: ${score >= LIMIT ? 'REVIEW (score >= ' + LIMIT + ')' : 'log only'}`);
}প্রকৃত আউটপুট:
pc-accounts
t= 0 office-starts-script +30 = 30
t= 12 script-writes-file +15 = 45
t= 40 autostart-entry-added +25 = 70
t= 95 rare-domain-contact +35 = 105
verdict: REVIEW (score >= 70)
pc-updater
t= 0 signed-update +0 = 0
t= 30 known-domain-contact +0 = 0
t= 60 autostart-entry-added +25 = 25
verdict: log only
pc-admin
t= 0 office-starts-script +30 = 30
t= 20 known-domain-contact +0 = 30
t=900 rare-domain-contact +20 = 50
verdict: log only
pc-accounts-এ শেষ ঘটনাটি ৯৫ সেকেন্ডে ঘটেছে, ৩০০-এর মধ্যে, তাই +20 এর সাথে বাড়তি 15 মিলে +35, মোট 105. pc-updater-ও autostart বদলেছে, তবু স্কোর মাত্র 25, কারণ একটি ঘটনা একা কিছু প্রমাণ করে না। pc-admin-এ অচেনা domain এসেছে ৯০০ সেকেন্ডে, সময়ের সীমার বাইরে, তাই স্কোর 50. তবে একটি সতর্কতা আছে: ধীরে ঘটা ক্রম এমন সরল সময়-সীমায় ছুটে যেতে পারে। তাই “log only” মানে নিরাপদ নয়, শুধু এখনই মানুষের সময় না দেওয়ার সিদ্ধান্ত।
একই ভাবনা একটি Sigma-ধাঁচের detection rule-এ এমন দেখায়। এটি শেখানোর উদাহরণ, নিজের পরিবেশে পরীক্ষা ছাড়া ব্যবহার করবেন না।
title: Office app starts a script host (teaching example)
id: 6f1c2a33-0000-4000-8000-000000000033
status: experimental
description: Office application as parent of a script interpreter
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith:
- '\WINWORD.EXE'
- '\EXCEL.EXE'
Image|endswith:
- '\powershell.exe'
- '\wscript.exe'
condition: selection
falsepositives:
- Approved office add-ins or automation
level: mediumবাকি তিনটি পদ্ধতি — sandbox, reputation আর network
| পদ্ধতি | যা দেখে | শক্তি | সীমা |
|---|---|---|---|
| Signature, YARA | ফাইলের চিহ্ন | দ্রুত, ব্যাখ্যা করা সহজ | নতুন বা বদলানো নমুনায় দুর্বল |
| Behavioural | চলার সময়ের কাজ | অজানা নমুনাও ধরতে পারে | False positive, চলার পরে ধরে |
| Sandbox | আলাদা পরিবেশে চালিয়ে আচরণ | নিরাপদ দূরত্বে আচরণ দেখা যায় | সব আচরণ দেখা না-ও যেতে পারে, সময় লাগে |
| Reputation | ফাইল, domain, IP-এর ইতিহাস, বয়স, স্বাক্ষর | অচেনাকে সন্দেহ করতে পারে | নতুন বৈধ সফটওয়্যার ভুগতে পারে |
| Network সংকেত | DNS, flow, JA3 বা JA4, beaconing | Agent ছাড়া যন্ত্রেও দেখা যায় | Encryption-এ ভেতরের অংশ দেখা যায় না |
Clean মানে “নিরীহ” প্রমাণিত নয়। Sandbox-এ কিছু দেখা না গেলে শুধু এটুকু জানা গেল যে ওই পরিবেশে, ওই সময়ে সন্দেহজনক কিছু দেখা যায়নি। একইভাবে একটি IOC না মেলা মানে নিরাপদ নয়। Pyramid of Pain ভাবনা মনে রাখুন: hash বদলানো সহজ, কিন্তু TTP বদলানো কঠিন।
৬ · সংখ্যায় detection, আর একটি alert-এর triage
পর্ব ২৩-এর base-rate fallacy malware-এর ক্ষেত্রেও সত্য। একটি পূর্ণাঙ্গ হিসাব করি। সংখ্যাগুলো অনুমিত।
এক দিনে ১০,০০,০০০টি process শুরু হলো, যার মধ্যে ২০টি সত্যিই ক্ষতিকর। Detector-এর recall ৯০%, আর false positive rate ০.১%.
- True positive = ২০ × ০.৯ = ১৮টি; ছুটে গেল ২টি।
- False positive = ৯,৯৯,৯৮০ × ০.০০১ ≈ ১,০০০টি।
- Precision = ১৮ ÷ (১৮ + ১,০০০) ≈ ১.৮%. অর্থাৎ ১০০টি alert-এর মধ্যে ২টিরও কম সত্যি।
এবার alert-গুলোর ওপর দ্বিতীয় একটি স্বাধীন যাচাই বসাই, যার recall ৯০% আর false positive rate ১%. True positive ≈ ১৬.২, false positive ≈ ১০। Precision ≈ ১৬.২ ÷ ২৬.২ ≈ ৬২%, আর মোট recall ৮১%. ভুল কমেছে, কিন্তু কিছু সত্য ঘটনাও ছুটেছে। “স্বাধীন” ধরে নেওয়া এই হিসাবের দুর্বল জায়গা, কারণ বাস্তবে দুটি ব্যবস্থার ভুল প্রায়ই জড়িয়ে থাকে।
এই কারণেই alert triage লাগে। আগের pc-accounts-এর alert একজন analyst কীভাবে যাচাই করেন, দেখুন। ঠিকানা আর নাম কাল্পনিক। লক্ষ্য দ্রুত অনুমান নয়, প্রমাণ জমানো।
| প্রশ্ন | |
| প্রমাণ | |
| বিশ্বাস | |
| পরের কাজ |
- Alert পড়া। যন্ত্র
pc-accounts, score 105, সীমা 70. Score কেন এত, তার ঘটনাগুলো খুলে দেখা হলো। এখনো কোনো রায় নেই, শুধু একটি প্রশ্ন আছে। - Context. যন্ত্রটি হিসাব বিভাগের। সেদিন কোনো অনুমোদিত সফটওয়্যার বদলের নথি নেই। বৈধ ব্যাখ্যার একটি পথ বন্ধ হলো, তাই সন্দেহ বাড়ল।
- Process tree. Process tree-তে দেখা গেল office application একটি script চালিয়েছে, আর script ফাইল লিখেছে। হিসাবরক্ষকের সাধারণ কাজে এমন হওয়ার কথা নয়।
- Network. Domain-টি প্রতিষ্ঠানে এই প্রথম দেখা গেল, নামটি বিশ্বাসযোগ্য শোনালেও সে দিনই আটকানো হয়েছে। নাম দেখে আশ্বস্ত হওয়ার কারণ নেই।
- পরিধি। একই domain, একই ফাইলের hash SIEM-এ খোঁজা হলো। অন্য ২০০ যন্ত্রে ০টি মিল। এটি স্বস্তির খবর, তবে “এখন পর্যন্ত দেখা log-এ নেই”, এটুকুই বলা যায়।
- রায়। চারটি আলাদা সংকেত এক দিকে ইঙ্গিত করছে। Alert-টি true positive হিসেবে escalate হলো, আর যন্ত্র আলাদা করা হলো। আগের ধাপের প্রমাণগুলো ticket-এ রইল, যাতে পরের জন আবার শুরু না করেন।
৭ · সন্দেহজনক ফাইল নিরাপদে সামলানো
কৌতূহল এখানে সবচেয়ে বড় ঝুঁকি। একটি অচেনা ফাইল হাতে এলে এই চারটি নিয়ম মানুন।
Hash কেন? পর্ব ৯-এ দেখেছেন, ফাইলের একটি byte বদলালেও SHA-256 সম্পূর্ণ বদলে যায়। তাই hash হলো ফাইলের আঙুলের ছাপ। Hash বানাতে ফাইল চালাতে হয় না, শুধু পড়তে হয়। অনেক পাবলিক threat intelligence সেবায় hash লিখে খোঁজা যায়, ফাইল পাঠাতে হয় না। এই পার্থক্যটি জরুরি। অফিসের কোনো নথি পাবলিক সেবায় upload করলে তার ভেতরের তথ্য অন্যদের কাছে পৌঁছাতে পারে। তাই upload করার সিদ্ধান্ত প্রতিষ্ঠানের নীতি মেনে নিন।
নিচের Python block আসল hashlib ব্যবহার করে, তবে “ফাইলগুলো” memory-তে রাখা ভুয়া byte মাত্র।
# Allow/deny lookup by SHA-256. All "files" are fake bytes held in memory.
import hashlib
def sha256(data: bytes) -> str:
return hashlib.sha256(data).hexdigest()
known_good = b"fake office tool version 1.0"
known_bad = b"fake program TOY-MARKER-AAA"
allow = {sha256(known_good)}
deny = {sha256(known_bad)}
def verdict(data: bytes) -> str:
digest = sha256(data)
if digest in deny:
return "BLOCK (deny list)"
if digest in allow:
return "ALLOW (allow list)"
return "UNKNOWN (send to review)"
samples = {
"tool.exe": known_good,
"bill.exe": known_bad,
"bill2.exe": known_bad + b" ", # one extra byte
"new.exe": b"something never seen before",
}
for name, data in samples.items():
print(f"{name:10} {sha256(data)[:16]} {verdict(data)}")প্রকৃত আউটপুট:
tool.exe 110e9f0d86b25a20 ALLOW (allow list)
bill.exe b85eff5e6056ddc9 BLOCK (deny list)
bill2.exe a740d788df940885 UNKNOWN (send to review)
new.exe 3bb39c01875be960 UNKNOWN (send to review)
bill2.exe-এর দিকে তাকান। এতে bill.exe-এর সব byte আছে, শুধু একটি space বেশি। তবু hash পুরো আলাদা, তাই deny list তাকে চিনল না। এখান থেকে দুটি শিক্ষা। Hash-এর মিল পাওয়া খুব শক্ত প্রমাণ, কিন্তু মিল না পাওয়া নিরাপত্তার প্রমাণ নয়। তাই ভালো নকশায় UNKNOWN মানে “অনুমতি” নয়, “আরও যাচাই”.
Analyst আসলে কী করেন — এক নজরে
Malware analyst-এর কাজ প্রশ্নের উত্তর খোঁজা: এটি কী করে, কোথায় যোগাযোগ করে, কীভাবে ধরা যাবে, কীভাবে পরিষ্কার করা যাবে। এই কাজ অনুমোদিত, আলাদা পরিবেশে হয়। কৌশলের বিস্তারিত এই কোর্সের বিষয় নয়।
Static analysis
ফাইল না চালিয়ে দেখা: hash, ফাইলের ধরন, স্বাক্ষর আর ভেতরের সাধারণ তথ্য। নিরাপদ দিক হলো কিছু চলে না। সীমা হলো লুকানো অংশ এভাবে দেখা না-ও যেতে পারে। গভীর পর্যায়কে reverse engineering বলে।
প্রশ্ন: এটি কী?Dynamic analysis
আলাদা lab বা sandbox-এ চালিয়ে আচরণ দেখা: কোন process, কোন ফাইল, কোন network যোগাযোগ। সুবিধা হলো আসল কাজটি চোখে পড়ে। ঝুঁকি হলো lab-এর সামান্য ভুলে নমুনা বাইরে যেতে পারে।
প্রশ্ন: এটি কী করে?ফলাফল রক্ষকের কাজে লাগে তিনভাবে: নতুন IOC, নতুন detection rule, আর পরিষ্কার করার সঠিক তথ্য। আপনি analyst না হলেও রিপোর্ট পড়ে এই তিনটি জিনিস নিজের পরিবেশে লাগাতে পারেন।
৮ · যন্ত্র আক্রান্ত হলে — আলাদা, সংরক্ষণ, জানানো, rebuild
আগুন লাগলে প্রথমে দরজা বন্ধ করা হয়, তারপর কারণ খোঁজা হয়। আক্রান্ত যন্ত্রেও ক্রমটি এমনই। প্রতিষ্ঠানে প্রথমে নিজের incident response পরিকল্পনা মানুন। সাধারণ ক্রম হলো:
- আলাদা করুন (isolate). Wi-Fi বন্ধ করুন, তার খুলুন, বা EDR দিয়ে network থেকে সরান। লক্ষ্য ছড়ানো আর বাইরের নিয়ন্ত্রণ থামানো।
- প্রমাণ রাখুন (preserve). সাধারণত যন্ত্র বন্ধ করবেন না, ফাইল মুছবেন না, restart দেবেন না। Memory-র প্রমাণ বন্ধ করলে হারাতে পারে। সতর্কবার্তার ছবি তুলে রাখুন, সময় লিখে রাখুন। Ransomware চলমান থাকলে প্রতিষ্ঠানের playbook ভিন্ন সিদ্ধান্ত দিতে পারে।
- জানান (report). সাথে সাথে নিরাপত্তা দল বা IT-কে বলুন। ভুল করে ক্লিক করেছেন, এটি লুকাবেন না। যত দ্রুত জানা যায়, ক্ষতি তত কম। ব্যাংকের তথ্য ঝুঁকিতে থাকলে ব্যাংককেও দ্রুত জানান।
- নতুন করে বানান (rebuild). পরিষ্কার মাধ্যম থেকে OS বসান, তারপর যাচাই করা backup থেকে ডেটা ফেরান। একে reimaging-ও বলে।
- Credential বদলান। অন্য একটি পরিষ্কার যন্ত্র থেকে password বদলান, session বাতিল করুন। নইলে চুরি হওয়া তথ্য দিয়ে আবার ঢোকা যায়। আর কীভাবে ঢুকেছিল, সেই ফাঁকও বন্ধ করুন।
Containment আর recovery-র বিস্তারিত পর্ব ৬২-এ, আর প্রমাণ সংরক্ষণের নিয়ম পর্ব ৬৩-এ আছে। NIST SP 800-83 এই বিষয়ে ভালো গাইড, আর SP 800-61-এর সর্বশেষ সংশোধনে (Rev. 3, ২০২৫) incident response-কে CSF 2.0-এর সাথে যুক্ত করা হয়েছে।
কঠিন প্রশ্ন হলো: antivirus তো ফাইল মুছে দিয়েছে, তাহলে কি আবার সব বসাতে হবে? উত্তর ঝুঁকির ওপর নির্ভর করে। নিচে দুটি কাল্পনিক ঘটনা পাশাপাশি দেখুন। ঘটনা ক: একটি সাধারণ ল্যাপটপে অবাঞ্ছিত browser extension. ঘটনা খ: একটি ল্যাপটপে RAT-এর alert, যেখানে admin login হয়েছিল।
| প্রশ্ন | |
| ঘটনা ক | |
| ঘটনা খ |
- কী চলেছে? ঘটনা ক-তে একটি জানা extension, যার আচরণ নথিবদ্ধ। ঘটনা খ-তে দূর থেকে নিয়ন্ত্রণের সুযোগ ছিল। মানে কেউ যা খুশি করতে পারত, তাই শুধু টুলের তালিকা দেখে সব জানা যায় না।
- অধিকার। ঘটনা ক-তে সাধারণ ব্যবহারকারী। ঘটনা খ-তে admin. Admin অধিকারে OS-এর গভীরেও বদল আনা সম্ভব, তাই যন্ত্রের নিজের রিপোর্টে আস্থা কমে যায়।
- পরিধি। ঘটনা ক-তে বদলটি এক browser-এর মধ্যে সীমিত, আর তা যাচাই করা গেছে। ঘটনা খ-তে কী করা হয়েছে, তা পুরো জানা নেই। অজানা থাকলে “পরিষ্কার” বলার ভিত্তি থাকে না।
- পরিষ্কার উৎস। দুই ক্ষেত্রেই উৎস আছে। ঘটনা খ-তে যাচাই করা golden image আর আগের backup আছে। তবে backup আক্রমণের আগের কি না, সেটিও দেখতে হয়।
- সিদ্ধান্ত। ঘটনা ক: extension সরানো, পরের কিছুদিন নজরদারি, password বদলের বিবেচনা। ঘটনা খ: rebuild, আর ওই যন্ত্রে ব্যবহৃত সব credential বদল। নিয়মটি হলো, সন্দেহ থাকলে rebuild-এর দিকে ঝুঁকুন।
আরও গভীরে: Fred Cohen তাঁর ১৯৮৪ সালের গবেষণাপত্র “Computer Viruses — Theory and Experiments”-এ দেখান, সব virus নির্ভুলভাবে চেনার সাধারণ পদ্ধতি সম্ভব নয়। তাই বাস্তব detection সবসময় সম্ভাবনার খেলা। Hash-এর দুর্বলতা কমাতে ssdeep বা TLSH-এর মতো fuzzy hash কাছাকাছি ফাইল চেনে, তবে এতে ভুল মিলের ঝুঁকি থাকে। আর পুরো যন্ত্রে আস্থা ফেরাতে attestation ও Secure Boot-এর ভূমিকা আছে।
পরীক্ষা ও ইন্টারভিউতে:
- Virus আর worm-এর পার্থক্য? Virus অন্য ফাইলের সাথে জুড়ে ছড়ায় ও মানুষের কাজ লাগে, worm নিজে network-এ ছড়ায়।
- Trojan কি নিজে ছড়ায়? সাধারণত না। এটি বৈধ জিনিস সেজে ব্যবহারকারীকে দিয়ে চালিয়ে নেয়।
- Static আর dynamic analysis? Static না চালিয়ে দেখে, dynamic আলাদা পরিবেশে চালিয়ে আচরণ দেখে।
- Wiper আর ransomware? Ransomware টাকা চায়, wiper ধ্বংস করে। কিছু wiper ransomware সেজে আসে।
- Antivirus ফাইল মুছলেই কি ঘটনা শেষ? না। ঢোকার পথ, ছড়ানো আর credential চুরি যাচাই করতে হয়।
৯ · ইতিহাসের পাঁচটি ঘটনা — রক্ষকের শিক্ষা
নিচের তথ্যগুলো প্রকাশিত রিপোর্টের স্তরে। হামলার পদ্ধতি নয়, কোন প্রতিরক্ষা ব্যর্থ হয়েছিল, সেটিই দেখার বিষয়। সংখ্যাগুলো অনেক ক্ষেত্রে অনুমান, আর দায় আরোপের দাবিগুলো সরকারি বিবৃতি বা সংবাদের ওপর ভিত্তি করে।
| ঘটনা | প্রকাশিত চিত্র | রক্ষকের শিক্ষা |
|---|---|---|
| Morris worm, ১৯৮৮ | প্রথম দিকের internet-এ ছড়ানো worm. প্রচলিত অনুমানে প্রায় ৬,০০০ যন্ত্র আক্রান্ত, যা তখনকার internet-এর আনুমানিক এক-দশমাংশ। ডেটা নষ্ট নয়, অতিরিক্ত load-ই ছিল মূল ক্ষতি। | দুর্বল password আর patch-হীন service ঝুঁকি। সমন্বিত সাড়ার দল লাগে, যা থেকে CERT/CC এসেছে। |
| ILOVEYOU, ২০০০ | Email-এর প্রেমপত্রের ছদ্মবেশে script ফাইল ছড়ায়। আক্রান্ত ব্যবহারকারীর ঠিকানা বই থেকে আরও ছড়ায়। রিপোর্টে কোটি কোটি যন্ত্রের কথা আসে। | লুকানো file extension বিপজ্জনক। Email client-এ ঝুঁকিপূর্ণ attachment আটকানো ডিফল্ট হওয়া উচিত। |
| Stuxnet, ২০১০ | শিল্প-নিয়ন্ত্রণ যন্ত্র (PLC) লক্ষ্য করে বানানো। Symantec-এর dossier-এ চারটি zero-day আর দুটি চুরি করা code-signing certificate-এর কথা আছে। সংবাদে একে ইরানের পারমাণবিক স্থাপনার সাথে যুক্ত করা হয়। | Air gap একা যথেষ্ট নয়। USB নিয়ন্ত্রণ দরকার। বৈধ স্বাক্ষর মানেই নিরীহ নয়। |
| WannaCry, ২০১৭ | Windows-এর SMB ত্রুটি ব্যবহার করে ছড়ানো ransomware-worm. যুক্তরাজ্যের NAO-র হিসাবে ১০০-র বেশি দেশে ২,০০,০০০-এর বেশি কম্পিউটার। NHS England-এর ২৩৬টির মধ্যে অন্তত ৮০টি trust আক্রান্ত। | Patch ছিল, প্রয়োগ হয়নি। Internet-মুখী firewall ঠিক থাকলেও সংক্রমণ আটকানো যেত। মহড়া জরুরি। |
| NotPetya, ২০১৭ | ইউক্রেনের একটি হিসাব-সফটওয়্যারের update-এর মাধ্যমে ছড়ায় বলে প্রকাশিত। Ransomware সেজে এলেও কার্যত ধ্বংসাত্মক। মার্কিন কর্মকর্তারা ক্ষতি প্রায় ১০ বিলিয়ন ডলার বলে উল্লেখ করেন। | বিশ্বস্ত update-ও ঝুঁকি। Flat network বিপজ্জনক। Offline backup আর identity system ফেরানোর পরিকল্পনা রাখুন। |
এই পাঁচ ঘটনায় একটি ধারা চোখে পড়ে। ১৯৮৮ সালে সংক্রমণ ছিল কৌতূহল আর ভুলের ফল। ২০০০ সালে মানুষের বিশ্বাসকে কাজে লাগানো হলো। ২০১০ সালে দেখা গেল সফটওয়্যার বাস্তব যন্ত্রের ক্ষতি করতে পারে। ২০১৭ সালে দেখা গেল একটি অপ্রয়োগকৃত patch বা একটি বিশ্বস্ত update পুরো প্রতিষ্ঠান বন্ধ করে দিতে পারে। Ransomware-এর বিশদ পরের পর্বে দেখব।
১০ · AI-এর যুগে malware প্রতিরক্ষা
AI একটি alert ব্যাখ্যা করতে, YARA বা Sigma rule-এর খসড়া লিখতে আর লম্বা রিপোর্ট সারাংশ করতে ভালো সাহায্য করে। কিন্তু ভুলও করে, আর ভুলগুলো দেখতে আত্মবিশ্বাসী। এছাড়া কিছু জিনিস AI-কে কখনো দেবেন না, যেমন অফিসের গোপন ফাইল, ভেতরের log বা সন্দেহজনক নমুনা।
| AI-এর ভুল | ঝুঁকি | যাচাইয়ের উপায় |
|---|---|---|
| নিশ্চিত সুরে “ফাইলটি নিরাপদ” বলা | False negative-এ অন্ধ বিশ্বাস | রায় মানুষের, প্রমাণ log-এর |
| ভুয়া CVE, ভুল ATT&CK ID, পুরোনো tactic-এর নাম | ভুল রিপোর্ট, ভুল অগ্রাধিকার | attack.mitre.org আর NVD-তে মিলিয়ে দেখা |
| খুব চওড়া বা খুব সরু rule | Alert-এর বন্যা, বা কিছুই না ধরা | বৈধ ডেটা আর পুরোনো log-এ পরীক্ষা |
| Error ঠিক করতে security agent বন্ধের পরামর্শ | রক্ষাকবচ নিজেই সরে যায় | Diff পড়া, সুরক্ষা বন্ধের পরামর্শ বাতিল |
| Log-এ থাকা গোপন তথ্য প্রম্পটে চলে যাওয়া | ডেটা ফাঁস | আসল নাম, IP, secret সরানো; অনুমোদিত টুল ব্যবহার |
নিচের prompt AI-কে রায় না দিয়ে চিন্তাসঙ্গী হতে বলে। পেস্ট করার আগে আসল নাম, ঠিকানা আর secret সরিয়ে নিন।
AI ব্যবহারের আগে যাচাইয়ের চেকলিস্ট
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন, তারপর “→ উত্তর” চাপুন।
প্র ০১এমন একটি scanner কি বানানো সম্ভব, যা সব malware ধরবে আর কোনো ভুল করবে না?
না, আর এই “না” প্রযুক্তির দুর্বলতা থেকে নয়, গণিত থেকে আসে। ১৯৮৪ সালে Fred Cohen কম্পিউটার virus-এর আনুষ্ঠানিক সংজ্ঞা দিয়ে দেখান, কোনো প্রোগ্রাম virus কি না তা সবসময় নির্ভুলভাবে নির্ণয় করা সাধারণভাবে সম্ভব নয়। যুক্তিটি halting problem-এর আত্মীয়। ধরুন একটি নিখুঁত detector আছে। তাহলে এমন প্রোগ্রাম কল্পনা করা যায় যা detector-কে জিজ্ঞেস করে, আর উত্তরের উল্টো কাজ করে। এতে একটি স্ববিরোধ তৈরি হয়। তাই সব ক্ষেত্রে সঠিক এমন detector থাকতে পারে না।
এর সাথে বাস্তব সমস্যা যোগ করুন। “ক্ষতিকর” কথাটি কোডের ধর্ম নয়, উদ্দেশ্য আর প্রসঙ্গের ধর্ম। একটি backup টুল হাজারো ফাইল পড়ে আর বাইরে পাঠায়, ডেটা-চোরও তাই করে। একটি remote support টুল আর একটি RAT-এর কাজ প্রযুক্তিগতভাবে কাছাকাছি হতে পারে। পার্থক্য হলো অনুমতি। Scanner সেই অনুমতি দেখতে পায় না।
ব্যবহারিক ফলাফল হলো রক্ষক সবসময় একটি বিনিময়ের মধ্যে থাকেন। Threshold নামালে recall বাড়ে, কিন্তু false positive বাড়ে। বাড়ালে উল্টো। বৈধ সফটওয়্যারকে ভুলে আটকানোরও দাম আছে। অতীতে ভুল signature update বৈধ system ফাইল সরিয়ে যন্ত্র অচল করার ঘটনাও ঘটেছে, যেমন বিভিন্ন vendor-এর ক্ষেত্রে রিপোর্ট হয়েছে। তাই ১০০% লক্ষ্য না রেখে স্তর সাজানো হয়: এক স্তর ছুটে গেলে অন্যটি ধরে, আর কিছু ছুটে গেলেও ক্ষতি সীমিত থাকে। Detection-এর সাথে তাই containment আর recovery-র প্রস্তুতিও সমান গুরুত্ব পায়, কারণ শেষ পর্যন্ত কিছু না কিছু ফাঁক থেকেই যাবে।
মূল উপলব্ধি: নিখুঁত detection অসম্ভব, তাই নকশার প্রশ্ন বদলে যায়। “কীভাবে সব ধরব” নয়, “ছুটে গেলে কত দ্রুত জানব আর ক্ষতি কতটা সীমিত থাকবে”।
প্র ০২Morris worm-এর স্রষ্টা নাকি ক্ষতি চাননি। উদ্দেশ্য ভালো হলে কি কাজটি ঠিক ছিল?
১৯৮৮ সালের নভেম্বরে একজন স্নাতকোত্তর ছাত্রের ছাড়া একটি প্রোগ্রাম সেই সময়ের internet-এ ছড়িয়ে পড়ে। প্রচলিত ব্যাখ্যা অনুযায়ী তিনি network-এর আকার বুঝতে চেয়েছিলেন, ধ্বংস নয়। ৬,০০০ সংখ্যাটি নিজেও একটি অনুমান, যা পরে বহুবার উদ্ধৃত হয়েছে। তবে প্রোগ্রামের একটি নকশাগত ভুলের কারণে একই যন্ত্রে বারবার কপি বসতে থাকে। যন্ত্রগুলো এত ব্যস্ত হয়ে পড়ে যে কাজের অযোগ্য হয়। পরিষ্কার করতে বিশ্ববিদ্যালয় ও গবেষণা কেন্দ্রগুলোর দিন লেগে যায়।
এখান থেকে তিনটি শিক্ষা আসে। প্রথমত, ক্ষতির জন্য খারাপ উদ্দেশ্য লাগে না। নিজে ছড়ায় এমন প্রোগ্রাম নিয়ন্ত্রণ করা কঠিন, কারণ চালানোর পর আর “থামান” বোতাম থাকে না। দ্বিতীয়ত, আইন উদ্দেশ্যের অজুহাত সহজে মানে না। ওই ঘটনায় যুক্তরাষ্ট্রের ১৯৮৬ সালের Computer Fraud and Abuse Act-এর অধীনে দণ্ড হয়, আর এটিকে সেই আইনের প্রথম দিকের গুরুত্বপূর্ণ মামলা ধরা হয়। অনুমতি ছাড়া অন্যের যন্ত্রে হাত দিলে “গবেষণা” শব্দ রক্ষা করে না। এজন্যই এই কোর্সে লিখিত অনুমতি এত জরুরি।
তৃতীয়ত, প্রতিষ্ঠানগত শিক্ষা। ঘটনার সময় কাকে জানাবেন, কে সমন্বয় করবেন, তা কেউ জানতেন না। কিছু জায়গায় ভয়ে network বিচ্ছিন্ন করায় সতর্কবার্তাও পৌঁছাতে দেরি হয়। এর পরই DARPA-র সহায়তায় Carnegie Mellon-এ CERT Coordination Center গড়ে ওঠে। আজকের CSIRT ধারণার একটি শিকড় এখানে। অর্থাৎ একটি বড় ব্যর্থতা থেকে শুধু প্রযুক্তি নয়, মানুষের সমন্বয়ের নতুন কাঠামোও জন্ম নিয়েছিল।
মূল উপলব্ধি: নিরাপত্তায় উদ্দেশ্য নয়, অনুমতি আর নিয়ন্ত্রিত পরিধিই সীমারেখা। আর বড় ঘটনার আগেই সাড়া দেওয়ার পথ তৈরি থাকতে হয়।
প্র ০৩ILOVEYOU-র পর সবাই বলেছিল “ক্লিক না করলেই হতো”। ব্যবহারকারীকে দোষ দেওয়া কি ঠিক?
২০০০ সালের মে মাসে একটি email ছড়ায়, বিষয় ছিল প্রেমপত্র। সংযুক্ত ফাইলটি দেখতে টেক্সট ফাইলের মতো ছিল, কিন্তু আসলে script. Windows-এর তখনকার ডিফল্টে পরিচিত extension লুকানো থাকত, তাই ফাইলের নামের শেষ অংশ অনেকে দেখতে পাননি। Script চালানো সহজ ছিল, আর mail client-এর ঠিকানা বই ব্যবহার করে সেটি আক্রান্ত ব্যবহারকারীর পরিচিতদের কাছে পৌঁছাত। মানে email এসেছে পরিচিত মানুষের নাম থেকে।
এবার প্রশ্নটি ভাবুন। একজন সাধারণ মানুষ পরিচিত কারও email পেলেন, ফাইলের নাম টেক্সট ফাইলের মতো। তাঁর দোষ কতটুকু? এটি নকশার ব্যর্থতা। নিরাপদ পথটি কঠিন, আর বিপজ্জনক পথটি এক ক্লিকের। ঘটনার পর email software-এ ঝুঁকিপূর্ণ attachment আটকানোর ব্যবস্থা শক্ত হয়। অর্থাৎ বড় উন্নতি এসেছে প্রশিক্ষণ থেকে নয়, ডিফল্ট বদল থেকে। পর্ব ৩-এর secure by default আর psychological acceptability ভাবনা এখানেই মেলে।
আরেকটি শিক্ষা আইনের। ঘটনার সূত্র ফিলিপাইনে পৌঁছায়, কিন্তু তখন সেখানে উপযুক্ত সাইবার অপরাধ আইন ছিল না বলে মামলা এগোয়নি বলে রিপোর্ট হয়। পরে দেশটি আইন করে। সীমান্তহীন সমস্যায় আইনের ফাঁকও ঝুঁকি। এক দেশে বসে করা কাজের ক্ষতি অন্য দেশে হলে তদন্ত আর বিচার দুটোই কঠিন হয়ে পড়ে।
আজও একই ভুল অন্য রূপে ফেরে। Phishing-এর পর কর্মীকে শাস্তি দিলে তিনি পরের বার ভুল লুকান, আর ক্ষতি বাড়ে। ভালো প্রতিষ্ঠান দ্রুত রিপোর্টকে পুরস্কৃত করে। এই সংস্কৃতির কথা পর্ব ৫৪-এ আসবে।
মূল উপলব্ধি: একটি ক্লিকে প্রতিষ্ঠান ধসে পড়লে সমস্যাটি ক্লিকের নয়, নকশার। প্রশিক্ষণ দরকার, কিন্তু ডিফল্ট আর স্তরই আসল প্রতিরক্ষা।
প্র ০৪WannaCry আর NotPetya একই বছরের ঘটনা। Patch আর বিশ্বস্ত update, এই দুই শিক্ষা কি পরস্পরবিরোধী?
WannaCry-র শিক্ষা হলো দ্রুত patch করুন। NotPetya-র শিক্ষা হলো update-ও বিপজ্জনক হতে পারে। প্রথম দেখায় দুটি উল্টো লাগে। আসলে দুটি একই প্রশ্নের দুই দিক: পরিবর্তনকে কীভাবে নিরাপদে ও দ্রুত আনা যায়?
WannaCry-তে Microsoft patch দিয়েছিল ২০১৭ সালের মার্চে, হামলা আসে মে মাসে। যুক্তরাজ্যের National Audit Office-এর তদন্ত একটি চমকপ্রদ তথ্য দেয়। অনেকে ভাবেন পুরোনো Windows XP-ই দায়ী। কিন্তু NHS Digital NAO-কে জানায়, আক্রান্ত যন্ত্রগুলোর বেশিরভাগই ছিল patch-হীন, তবে সমর্থিত Windows 7. মানে সমস্যা শুধু পুরোনো যন্ত্র নয়, ছিল প্রক্রিয়ারও। NAO আরও বলে, internet-মুখী firewall ঠিকভাবে পরিচালনা করলেও সংক্রমণ এড়ানো যেত। আর NHS হামলার নির্দিষ্ট লক্ষ্য ছিল না। সাধারণ পরিচ্ছন্নতার অভাবেই আঘাত লেগেছে, আর আগে থেকে দেওয়া সতর্কবার্তা মানা হচ্ছে কি না, তা যাচাইয়ের আনুষ্ঠানিক ব্যবস্থাও ছিল না। NHS England ৬,৯১২টি appointment বাতিল চিহ্নিত করে, আর মোট ১৯,০০০-এর বেশি অনুমান করে।
NotPetya-তে আক্রান্তরা বরং নিয়ম মেনে update নিয়েছিলেন। বিশ্বস্ত পথটিই আক্রান্ত ছিল। তারপর flat network আর ব্যাপক admin credential ক্ষতিকে এক প্রতিষ্ঠান থেকে পুরো নেটওয়ার্কে ছড়াতে সাহায্য করে বলে রিপোর্টে আসে। তাই সমাধান patch বন্ধ করা নয়। সমাধান হলো ধাপে ধাপে rollout, স্বাক্ষর যাচাই, update সার্ভার থেকে বাইরে যোগাযোগ সীমিত রাখা, আর privileged access সামলানো। কোনো update সার্ভারের সব যন্ত্রে admin অধিকার থাকলে সেটি ভয়ংকর single point of failure.
মূল উপলব্ধি: দ্রুত patch আর সতর্ক বিশ্বাস দুটোই দরকার। ঝুঁকিভিত্তিক অগ্রাধিকার দিন, পরিবর্তন স্তরে স্তরে আনুন, আর ধরে নিন যে কোনো একটি বিশ্বস্ত উৎসও একদিন ব্যর্থ হতে পারে। পর্ব ৩২ আর পর্ব ৪৮-এ এই ভাবনা আরও এগোবে।
প্র ০৫Stuxnet-এর লক্ষ্য তো internet-এ ছিল না বলে ধরা হয়। তাহলে air gap কি অর্থহীন?
Air gap মানে যন্ত্রকে বাইরের network থেকে ভৌতভাবে আলাদা রাখা। Stuxnet নিয়ে প্রকাশিত বিশ্লেষণগুলো বলে, এই malware শিল্প-নিয়ন্ত্রণ পরিবেশ লক্ষ্য করে বানানো ছিল, আর USB-র মতো অপসারণযোগ্য মাধ্যম এর সম্ভাব্য একটি পথ ছিল। ২০১০ সালে বেলারুশের একটি ছোট নিরাপত্তা প্রতিষ্ঠান এটি প্রথম প্রকাশ্যে আনে। Symantec-এর W32.Stuxnet Dossier (Falliere, O Murchu ও Chien) চারটি zero-day আর চুরি করা স্বাক্ষরের বিবরণ দেয়। কোনো সরকার আনুষ্ঠানিকভাবে দায় স্বীকার করেনি। সংবাদমাধ্যমে যুক্তরাষ্ট্র আর ইসরায়েলের নাম এলেও সেটি সরকারি স্বীকৃতি নয়।
তাহলে air gap কি অর্থহীন? না। এটি হামলাকে অনেক কঠিন আর দামি করে। সাধারণ, অ-লক্ষ্যভিত্তিক malware এতে সহজে পৌঁছায় না। কিন্তু gap নিখুঁত নয়। Laptop আসে, USB আসে, vendor-এর লোক আসেন, update আসে। প্রতিটি হলো ফাঁকের ওপর দিয়ে একটি সেতু। Air gap-কে “এখানে আর কিছু লাগবে না” ভাবলে ক্ষতি হয়, কারণ তখন patch, log আর নজরদারি অবহেলিত হয়।
Stuxnet দ্বিতীয় একটি বিশ্বাসেও আঘাত করেছে। Digital signature বলে সফটওয়্যারটি কোন key-তে স্বাক্ষরিত, নিরীহ কি না, তা নয়। পর্ব ১১-এর ভাষায় key চুরি হলে স্বাক্ষর মিথ্যা ভরসা দেয়। তাই code signing একটি সংকেত, রায় নয়। Certificate বাতিল হলে তা দ্রুত প্রয়োগ হচ্ছে কি না, দেখতে হয়। স্বাক্ষর দেখে এক ধাপ ভরসা বাড়ে, কিন্তু আচরণের নজরদারি তখনও চালু রাখতে হয়।
আর একটি বড় শিক্ষা হলো, গুরুত্বপূর্ণ অবকাঠামোতে সফটওয়্যারের ক্ষতি মানে বাস্তব যন্ত্রের ক্ষতি। তাই বিদ্যুৎ, পানি বা কারখানার system-এ USB kiosk, vendor প্রবেশের নিয়ন্ত্রণ, process নজরদারি আর হাতে চালানোর বিকল্প রাখতে হয়।
মূল উপলব্ধি: কোনো একটি বাধাই “সমাধান” নয়। Air gap, signature, allowlist, প্রতিটি শুধু ঝুঁকি কমায়। ফাঁকগুলো গুনে রাখা রক্ষকের কাজ।
অনুশীলন
প্রথমে নিজে করুন, তারপর উত্তর মিলিয়ে নিন। সব কাজ নিজের যন্ত্র আর নিজের ফাইলে করুন।
-
সংখ্যার হিসাব: একটি প্রতিষ্ঠানে দিনে ৫,০০,০০০টি ফাইল scan হয়, যার ১০টি সত্যিই ক্ষতিকর। Recall ৯৫%, false positive rate ০.২%. প্রতিটি alert দেখতে ৫ মিনিট লাগে। Precision কত? দিনে কত ঘণ্টা analyst-এর সময় লাগবে?
True positive = ১০ × ০.৯৫ = ৯.৫। False positive = ৪,৯৯,৯৯০ × ০.০০২ ≈ ১,০০০। Precision = ৯.৫ ÷ ১,০০৯.৫ ≈ ০.৯৪%. মোট alert ≈ ১,০০৯.৫, সময় ≈ ৫,০৪৭.৫ মিনিট ≈ ৮৪ ঘণ্টা। আট ঘণ্টার দিনে প্রায় ১১ জন analyst শুধু এই কাজেই লাগবেন। তাই false positive কমানো, স্বয়ংক্রিয় context যোগ আর অগ্রাধিকার দেওয়া জরুরি।
-
আউটপুট অনুমান:
behaviour_score.js-এpc-admin-এর শেষ ঘটনার সময়900-এর বদলে250করলেন। ওই host-এর শেষ দুটি লাইন কী হবে? এরপরLIMIT-কে60করলে রায় কী হবে? চালানোর আগে হাতে হিসাব করুন।২৫০ ≤ ৩০০, তাই বাড়তি ১৫ যোগ হবে: 20 + 15 = 35. মোট 30 + 0 + 35 = 65.
t=250 rare-domain-contact +35 = 65 verdict: log onlyLIMIT = 60হলে 65 ≥ 60, তাই রায় হবেREVIEW (score >= 60). তবে সীমা নামালেpc-accountsআগের ধাপেই সীমা পার করবে, আর বৈধ কাজও বেশি review-তে আসবে। এটিই threshold-এর বিনিময়। -
নিজের ফাইলের hash যাচাই: একটি অফিসিয়াল ওয়েবসাইট থেকে আপনি যে installer নিয়েছেন, তার SHA-256 নিজের কম্পিউটারে বের করে প্রকাশিত মানের সাথে মিলান। কমান্ড কী? মিললে কী প্রমাণ হয়, কী হয় না?
# Linux sha256sum example-installer.iso # Windows PowerShell Get-FileHash .\example-installer.iso -Algorithm SHA256মিললে বোঝা যায়, ফাইলটি প্রকাশিত ফাইলের সাথে হুবহু এক, পথে বদলায়নি বা নষ্ট হয়নি। এটি প্রমাণ করে না যে ফাইলটি নিরীহ। প্রকাশকের ওয়েবসাইট নিজে আক্রান্ত হলে ফাইল আর hash দুটোই বদলানো যেতে পারে। তাই স্বাক্ষর যাচাই আরও শক্ত প্রমাণ।
-
নকশা ও সমালোচনা: ২০ জনের একটি কাল্পনিক অফিস বলছে: “আমাদের সব কম্পিউটারে antivirus আছে, তাই আমরা নিরাপদ।” এই দাবি যাচাই করুন, আর কম বাজেটে পাঁচটি অগ্রাধিকার সাজান।
সমালোচনা: Antivirus এক স্তর মাত্র। অজানা নমুনা, fileless কৌশল, চুরি হওয়া credential বা বৈধ টুলের অপব্যবহার এতে ধরা না-ও পড়তে পারে। আর কেউ alert দেখছেন কি না, দাবিতে বলা নেই।
একটি সম্ভাব্য অগ্রাধিকার:
- স্বয়ংক্রিয় patch আর সমর্থিত OS
- সব email ও admin account-এ MFA, দৈনন্দিন কাজে admin অধিকার নয়
- ৩-২-১ ধাঁচের backup, একটি কপি offline, আর ফেরত আনার মহড়া
- Protective DNS, USB নীতি আর অফিসিয়াল উৎস থেকে সফটওয়্যার
- একজন দায়িত্বপ্রাপ্ত ব্যক্তি, রিপোর্টের সহজ পথ, এক পাতার সাড়ার পরিকল্পনা
উত্তর ভিন্ন হতে পারে। যুক্তি স্পষ্ট হওয়াই আসল বিষয়।
নিজেকে যাচাই করুন
ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।
ক্রমএকটি অফিসের আক্রান্ত কম্পিউটার সামলানোর সাধারণ ধাপগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)
- Network থেকে যন্ত্র আলাদা করা
- প্রমাণ সংরক্ষণ, যন্ত্র বন্ধ না করা
- নিরাপত্তা দলকে জানানো
- কতদূর ছড়িয়েছে তা নির্ণয়
- পরিষ্কার মাধ্যম থেকে rebuild
- Credential বদল আর নজরদারি
কোন ধরনের malware সাধারণত মানুষের কোনো কাজ ছাড়াই network-এ নিজে থেকে ছড়াতে পারে?
- Trojan
- Worm
- Spyware
- Virus
একটি deny list-এ একটি ক্ষতিকর ফাইলের SHA-256 আছে। ফাইলটিতে মাত্র এক byte বাড়লে কী হওয়ার সম্ভাবনা সবচেয়ে বেশি?
- Hash প্রায় একই থাকবে, তাই ধরা পড়বে
- SHA-256 ভেঙে গেছে বলে প্রমাণ হবে
- Hash সম্পূর্ণ বদলাবে, তাই deny list ফাইলটি চিনবে না
- Deny list নিজে থেকে নতুন hash যোগ করবে
দিনে ১০,০০,০০০ ঘটনায় ২০টি সত্যিই ক্ষতিকর। Detector-এর recall ৯০%, false positive rate ০.১%. Precision প্রায় কত?
- প্রায় ১.৮%
- প্রায় ৯০%
- প্রায় ৯৯.৯%
- প্রায় ৫০%
একটি ল্যাপটপে RAT-এর alert এসেছে, যেখানে সম্প্রতি admin login হয়েছে। Antivirus ফাইলটি মুছে দিয়েছে। ভালো পরের সিদ্ধান্ত কোনটি?
- ফাইল মুছে গেছে, তাই ঘটনা শেষ
- Restart দিয়ে কাজ চালিয়ে যাওয়া
- ব্যবহারকারীকে সতর্ক করে ফাইল বন্ধ করা
- যন্ত্র আলাদা করে পরিধি দেখা, rebuild করা, credential বদলানো
একজন কর্মী অচেনা একটি অফিস-ফাইল পেয়ে যাচাই করতে চান। প্রথম নিরাপদ পদক্ষেপ কোনটি?
- নিজের কম্পিউটারে খুলে ভেতরে দেখা
- না খুলে hash বের করে খোঁজা, আর নিরাপত্তা দলকে জানানো
- সাথে সাথে একটি পাবলিক সেবায় ফাইলটি upload করা
- সহকর্মীকে পাঠিয়ে মতামত নেওয়া
Sandbox-এ একটি ফাইল চালিয়ে কোনো সন্দেহজনক আচরণ পাওয়া গেল না। সবচেয়ে সঠিক সিদ্ধান্ত কোনটি?
- ফাইলটি নিরীহ বলে প্রমাণিত
- Sandbox-এর ফলের কোনো মূল্য নেই
- একটি সংকেত মাত্র; উৎস, reputation আর অন্য তথ্যের সাথে মিলিয়ে দেখা
- নিজের যন্ত্রে চালিয়ে নিশ্চিত হওয়া
Office application একটি script চালু করল আর script অল্প পরে একটি অচেনা domain-এ যোগাযোগ করল। এই পর্যবেক্ষণ সবচেয়ে ভালো কোন telemetry থেকে পাওয়া যায়?
- Process creation log আর DNS বা proxy log
- শুধু backup system-এর log
- শুধু web server-এর access log
- শুধু certificate-এর মেয়াদের তালিকা
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন, অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:
মনে রাখুন
- Malware চিনুন দুই প্রশ্নে: কীভাবে ছড়ায়, কী করতে চায়। ধরনই সাড়ার অগ্রাধিকার ঠিক করে।
- ঢোকার প্রতিটি পথে প্রতিরোধ আর detection, দুই স্তর রাখুন।
- Signature, YARA, behaviour, sandbox, reputation, network: কোনোটিই একা যথেষ্ট নয়।
- সন্দেহজনক ফাইল চালাবেন না; hash দিয়ে খুঁজুন, lab শুধু অনুমতি নিয়ে।
- আক্রান্ত হলে আলাদা, সংরক্ষণ, জানানো, rebuild, আর credential বদল।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ৩৪ · Ransomware প্রতিরক্ষা — প্রতিরোধ, immutable backup আর পুনরুদ্ধারপরবর্তী পর্বBackup, পুনরুদ্ধার আর সিদ্ধান্তের পরিকল্পনা।
- সাইবার নিরাপত্তা · কোর্স হোম৮০টি পর্বপুরো কোর্সের রোডম্যাপ।
- পর্ব ২৩ · IDS আর IPS — signature, anomaly আর false positiveপিছনে দেখুনPrecision, recall আর tuning-এর বিস্তারিত।
- Operating Systems · OS নিরাপত্তাগভীরে যানOS-এর ভেতরের সুরক্ষার ভিত্তি।
- Cloud & DevOps · Incident managementপাশের ট্র্যাকঘটনার সময় দল কীভাবে সমন্বয় করে।