সরাসরি পর্বে যান
পর্ব ২৯ · ৮০-এর মধ্যে · মডিউল ৫

Endpoint নিরাপত্তা — antivirus থেকে EDR, encryption আর device management

Endpoint Security — From Antivirus to EDR, Encryption & Device Management

Taught in Bangla, this lesson explains why endpoints are the main entry point and why asset inventory comes first, then a usable device baseline, disk encryption and recovery keys, lost laptop planning, signature antivirus, next-gen protection and EDR, application allowlisting from audit mode to enforcement, MDM, compliance and BYOD, USB, macro and browser policies, a small-office checklist and honest coverage measurement.

এই পর্বে যা শিখবেন

  • কেন endpoint-ই প্রধান প্রবেশপথ, আর inventory কেন প্রথম কাজ
  • একটি ব্যবহারযোগ্য baseline, আর নিজের যন্ত্রে সেটি যাচাইয়ের পথ
  • Disk encryption কী আটকায়, কী আটকায় না, আর হারানো ল্যাপটপের পরিকল্পনা
  • Signature antivirus, next-gen protection আর EDR-এর পার্থক্য
  • Application allowlisting-এর সিদ্ধান্ত আর audit mode থেকে enforcement-এর পথ
  • MDM, compliance, BYOD, USB, macro, browser, ছোট অফিসের checklist আর coverage মাপা

১ · কেন endpoint-ই প্রধান প্রবেশপথ আর নিশানা

একটি বড় বাজারের কথা ভাবুন। মূল ফটকে দারোয়ান আছেন, CCTV আছে। কিন্তু প্রতিটি দোকানের নিজের দরজা, নিজের ক্যাশবাক্স আর নিজের কর্মচারী আছে। চোর ফটক ভাঙে না। সে কোনো একটি দোকানের ভুলে খোলা জানালা খোঁজে।

Endpoint হলো সেই দোকান: ল্যাপটপ, ডেস্কটপ, ফোন, ট্যাবলেট, আর অনেক সংজ্ঞায় server-ও। যে যন্ত্রে মানুষ বা program সরাসরি কাজ করে, সেটিই endpoint. গত কয়েকটি পর্বে আপনি network পাহারা দিয়েছেন। এবার নজর যন্ত্রের ভেতরে।

রক্ষকের দিক থেকে endpoint গুরুত্বপূর্ণ চারটি কারণে:

  • মানুষ এখানে কাজ করেন: Email খোলা হয়, ফাইল নামানো হয়, link চাপা হয়। Phishing শেষ পর্যন্ত একটি endpoint-এই পৌঁছায়।
  • চাবি এখানে থাকে: Browser-এর login session, saved password, SSH key আর VPN profile. Infostealer ধরনের malware এগুলোই লক্ষ্য করে।
  • যন্ত্র ঘোরে: ল্যাপটপ বাড়িতে যায়, ক্যাফের Wi-Fi-তে বসে, আবার অফিসে ফেরে। ফলে network সীমানার firewall সবসময় তাকে ঢেকে রাখে না।
  • এখান থেকে ভেতরে যাওয়া যায়: একটি যন্ত্র দখল মানে তার সব অধিকার দখল। পর্ব ৫-এর kill chain-এ এখান থেকেই persistence আর lateral movement শুরু হয়।

আর যন্ত্রের ঝুঁকি শুধু হামলা নয়। ল্যাপটপ হারায়, চুরি হয়, disk নষ্ট হয়। তাই এই পর্বের নিরাপত্তা পর্ব ২-এর CIA, তিনটিই ছোঁয়।

মূল ধারণা

Endpoint নিরাপত্তা কোনো একটি product নয়। এটি পাঁচটি প্রশ্নের উত্তর: কী কী যন্ত্র আছে, তারা ঠিকভাবে সাজানো কি না, অচেনা কিছু চলতে পারে কি না, কিছু ঘটলে জানা যাবে কি না, আর যন্ত্র হারালে ডেটার কী হবে।

একটি ল্যাপটপের স্তরগুলো

Endpoint defence layers, resting on inventory and held together by device management

Endpoint-এর স্তর: ওপরে device management, নিচে inventory MDM / UEM: সব স্তর মাপে আর নীতি বসায় Browser, Office: update, macro বন্ধ চলার অনুমতি: allowlist নজরদারি: antivirus, EDR Account: আলাদা admin, MFA OS: patch, host firewall Disk: full-disk encryption Boot: Secure Boot, TPM আটকায়: ফাঁদের ফাইল, ক্ষতিকর সাইট আটকায়: অচেনা program চালানো ধরে: জানা malware, সন্দেহজনক আচরণ কমায়: একটি ভুলের ক্ষতির পরিধি বন্ধ করে: জানা দুর্বলতা, খোলা পথ রক্ষা করে: যন্ত্র হারালে ডেটা ধরে: চালুর সময়ের কোড বদল Inventory: CIS Control 1 ও 2 যে যন্ত্র তালিকায় নেই, ওপরের কিছুই তার নয়
ছবি ২৯.১ — প্রতিটি স্তর আলাদা ব্যর্থতা সামলায়। পর্ব ৩-এর defense in depth যন্ত্রের ভেতরে এমনই দেখায়।

২ · ভিত্তি আগে — asset inventory

মহল্লার পাহারাদারকে আগে জানতে হয় মহল্লায় কয়টি বাড়ি। তালিকা না থাকলে কোন বাড়ির গেট খোলা, সেটি ধরাই যায় না। Asset inventory মানে আপনার সব যন্ত্র আর software-এর হালনাগাদ তালিকা।

এই কারণেই CIS Controls (v8.1, ২০২৪)-এর প্রথম দুটি control তালিকা নিয়ে। Control 1 হলো Inventory and Control of Enterprise Assets, আর Control 2 হলো Inventory and Control of Software Assets. প্রথমটি বলে কী কী যন্ত্র আছে, দ্বিতীয়টি বলে তাতে কী কী চলছে। দুটিই শুধু তালিকা নয়, নিয়ন্ত্রণ: অচেনা যন্ত্র বা software পেলে তা সরানো বা অনুমোদন করার ব্যবস্থাও এর অংশ।

তথ্যকেন লাগে
যন্ত্রের id, ধরন, serialহারালে চেনা, চুরির রিপোর্ট করা
মালিক বা দায়িত্বপ্রাপ্ত মানুষসমস্যা হলে কাকে জানাবেন
OS, version, শেষ patch-এর তারিখকোনটি পিছিয়ে আছে
Encryption-এর অবস্থা ও recovery key জমা আছে কি নাহারালে ডেটা ফাঁস ধরা হবে কি না
EDR ও management agent-এর শেষ যোগাযোগপাহারা সত্যিই চলছে কি না
ব্যবহারের শ্রেণি (সাধারণ, অর্থ বিভাগ, admin)কোনটি আগে ঠিক করবেন
অবসরের তারিখOS-এর support শেষের আগে পরিকল্পনা

তালিকা বানানোর পথ একটি নয়। একাধিক উৎস মেলালেই ফাঁক ধরা পড়ে: ক্রয়ের রেজিস্টার, management agent-এর তালিকা, DHCP log, আর Wi-Fi-তে যুক্ত যন্ত্রের তালিকা। কোনো যন্ত্র DHCP log-এ আছে, কিন্তু agent-এর তালিকায় নেই? সেটিই আপনার প্রথম প্রশ্ন। পর্ব ২০-এ Colonial Pipeline-এর ভুলে যাওয়া VPN profile দেখেছেন। যন্ত্রের ক্ষেত্রেও শিক্ষা একই: তালিকার বাইরের জিনিসই বিপজ্জনক।

নিজের network-এ যন্ত্র খুঁজতে হলেও অনুমতি ও সীমা মেনে করুন। আগে নিজের router, DHCP আর management console-এর তালিকা দেখুন। অন্যের network-এ খোঁজাখুঁজি করবেন না, বিস্তারিত পর্ব ৬-এ।

৩ · প্রতিটি যন্ত্রের baseline

Baseline মানে ন্যূনতম সাজানো অবস্থা, যার নিচে কোনো যন্ত্র থাকবে না। নিচের ছয়টি নিয়ন্ত্রণে বেশি খরচ নেই, আর প্রধান OS-গুলোতে এগুলো সাধারণত আগে থেকেই থাকে।

নিয়ন্ত্রণযা করেযা করে না
Patch ও updateজানা দুর্বলতা বন্ধ করেZero-day আটকায় না; পুরোনো OS-এ patch-ই আসে না
Least privilegeপ্রতিদিনের কাজ সাধারণ account-এ; ক্ষতির পরিধি ছোটAccount-এর নিজের ফাইল রক্ষা করে না
Host firewallযন্ত্রে ঢোকার অপ্রয়োজনীয় পথ বন্ধ, ক্যাফের Wi-Fi-তেওবৈধ পথে যাওয়া ক্ষতিকর traffic থামায় না
Secure Bootচালুর সময় সই না মিললে কোড থামায়OS চালু হওয়ার পরের malware ধরে না
Full-disk encryptionবন্ধ যন্ত্রের ডেটা key ছাড়া পড়া যায় নাচালু যন্ত্রে malware-এর পড়া আটকায় না
Screen lockপাশ থেকে হাত দেওয়া ঠেকায়; নিজে থেকে লাগেদামি হামলার প্রতিরক্ষা নয়

প্রতিদিনের কাজে admin নয়

আপনি যখন একটি program চালান, সেটি আপনার অধিকার নিয়েই চলে। Local admin হয়ে email খুললে ফাঁদের ফাইলও admin হয়ে চলে। তখন সে নিরাপত্তা software বন্ধ করা বা সিস্টেমের গভীরে বসার চেষ্টা করতে পারে। সাধারণ account-এ এই পথ অনেকটা বন্ধ থাকে। আলাদা admin account-এর নিয়ম পর্ব ২০-এ দেখেছেন। ল্যাপটপে একই কথা: দরকারে উঁচু অধিকার নিন, কাজ শেষে ফিরে আসুন।

ছোট একটি উদাহরণ দেখুন। Shared folder-এ অধিকারের ভুল নীরবে জমে। নিচের block নিজেই একটি অস্থায়ী folder আর কয়েকটি নকল ফাইল বানায়, ভুল অধিকার বসায়, audit করে, ঠিক করে, তারপর সব মুছে ফেলে। অন্য কোনো ফাইলে হাত দেয় না।

# Permission audit on files this block creates. Touches nothing else.
set -eu
umask 022
work=$(mktemp -d); cd "$work"
mkdir shared tools
printf 'name,salary\n' > shared/payroll.csv
printf 'example-token\n' > shared/api.token
printf '#!/bin/sh\necho backup\n' > tools/backup.sh
printf '#!/bin/sh\necho helper\n' > tools/helper.sh
chmod 640 shared/payroll.csv
chmod 666 shared/api.token        # mistake: anyone can read and change it
chmod 777 tools tools/backup.sh   # mistake: a "quick fix" from a forum
chmod 4755 tools/helper.sh        # mistake: setuid nobody reviewed

audit() {
  echo "world-writable: $(find . -mindepth 1 -perm -0002 | wc -l)"
  find . -mindepth 1 -perm -0002 | sort | sed 's/^/  /'
  echo "setuid: $(find . -type f -perm -4000 | wc -l)"
  find . -type f -perm -4000 | sort | sed 's/^/  /'
  echo "token open to others: $(find shared -name '*.token' -perm /0007 | wc -l)"
}
echo '=== before'; audit
chmod g-w,o-w tools tools/backup.sh
chmod 600 shared/api.token
chmod u-s tools/helper.sh
echo '=== after'; audit
echo '=== final modes'
find . -mindepth 1 | sort | while read -r p; do stat -c '%a %n' "$p"; done
cd / && rm -rf "$work"

=== before-এ world-writable: 3: ./shared/api.token, ./tools আর ./tools/backup.sh, মানে যে কেউ এগুলো বদলাতে পারে। লেখার অধিকার থাকা script সবচেয়ে বিপজ্জনক, কারণ অন্য কেউ চালালে বদলানো কোড তাঁর অধিকারে চলে। setuid: 1 বলছে ./tools/helper.sh-এ setuid আছে, যা মালিকের অধিকারে চালানোর চিহ্ন। Linux সাধারণত script-এর setuid মানে না, তবু এমন bit অডিটে ধরা উচিত। === after-এ তিনটি সংখ্যাই 0. === final modes-এ token হলো 600 ./shared/api.token, শুধু মালিকের। আর 640 ./shared/payroll.csv আগের মতোই থাকল, কারণ সেখানে ভুল ছিল না। ঠিক করার মানে chmod 777 নয়, সবচেয়ে ছোট প্রয়োজনীয় অধিকার।

নিজের যন্ত্রে baseline যাচাই

নিচের command শুধু নিজের যন্ত্রের অবস্থা পড়ে, কিছু বদলায় না। অফিসের যন্ত্র হলে আগে IT দলের নিয়ম দেখে নিন। আউটপুট OS-এর version-ভেদে আলাদা হয়, তাই এখানে নমুনা দেওয়া হলো না।

উদাহরণ: Administrator হিসেবে খোলা PowerShell-এ। BitLocker না থাকলে Windows-এর Home edition-এ সাধারণত “device encryption” নামে একটি সরল রূপ পাওয়া যেতে পারে, যদি যন্ত্র তা সমর্থন করে।

manage-bde -status C:
Confirm-SecureBootUEFI
Get-NetFirewallProfile | Select-Object Name, Enabled
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5

উদাহরণ: Terminal-এ। FileVault, firewall আর Gatekeeper-এর অবস্থা।

fdesetup status
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
spctl --status
softwareupdate --list

উদাহরণ: Debian বা Ubuntu ধরনের যন্ত্রে। TYPE ঘরে crypt দেখলে সেখানে LUKS-এর মতো encrypted অংশ আছে।

mokutil --sb-state
lsblk -o NAME,TYPE,FSTYPE,MOUNTPOINTS
sudo ufw status verbose
apt list --upgradable

Linux-এর hardening-এর পুরো গল্প পর্ব ৩০-এ, Windows আর Active Directory পর্ব ৩১-এ, আর কোন patch আগে তা পর্ব ৩২-এ আসবে। OS-এর ভেতরের নিরাপত্তা-ব্যবস্থার তত্ত্ব পড়তে পারেন OS নিরাপত্তা পর্বে।

৪ · Disk encryption আর হারানো ল্যাপটপ

ধরুন আপনার অফিসের কাগজপত্র একটি আলমারিতে। চোর আলমারিসহ নিয়ে গেল। তালা ছাড়া আলমারি হলে সে সব পড়বে। ব্যাংকের লকারের মতো তালা আর চাবি আলাদা থাকলে সে পাবে শুধু একটি ভারী বাক্স। Full-disk encryption (FDE) সেই তালা: পুরো disk-এর ডেটা encrypt হয়ে থাকে, চলার সময় চোখের আড়ালে খোলে।

ভেতরে কী হয়

Windows-এ BitLocker, macOS-এ FileVault, Linux-এ LUKS. ভেতরের নকশা প্রায় এক। Disk-এর ডেটা encrypt হয় একটি এলোমেলো key দিয়ে, যাকে DEK বলতে পারেন। সাধারণত mode থাকে XTS, যা disk-এর জন্য বানানো (NIST SP 800-38E, ২০১০)। সেই DEK আবার encrypt করা থাকে আপনার password, PIN বা TPM-এর key দিয়ে। এটি পর্ব ৮-এর envelope encryption-এর সাথে মেলে। দুটি লাভ:

  • Password বদলাতে পুরো disk আবার encrypt করতে হয় না: শুধু DEK-এর মোড়ক বদলায়।
  • মোছা খুব দ্রুত হতে পারে: Key নষ্ট করলে ডেটা পড়ার পথ থাকে না। একে crypto-erasure বলে। Remote wipe অনেক সময় এই পথেই কাজ করে।

TPM মাদারবোর্ডের একটি ছোট নিরাপদ চিপ বা firmware-ভিত্তিক সমতুল্য অংশ। এটি key আগলে রাখে, আর measured boot-এর মাপ মিললে তবেই key ছাড়ে। আরেকটি ভালো গুণ: PIN বারবার ভুল হলে TPM চেষ্টা ধীর করে দেয়।

হিসাব: ছোট PIN কেন চলে

৬ অঙ্কের PIN-এর সংখ্যা 106, মানে log2(106) ≈ ১৯.৯ bit entropy. Disk থেকে key নিয়ে অন্য কম্পিউটারে দ্রুত অনুমান করা গেলে এটি খুব দুর্বল হতো। কিন্তু key TPM-এর ভেতরে থাকলে প্রতিটি চেষ্টা TPM-কে দিয়েই করাতে হয়। ধরা যাক (অনুমান মাত্র, আসল সীমা চিপ-ভেদে আলাদা) লকআউটের পর ২ ঘণ্টায় একটি চেষ্টা চলে। তাহলে সব PIN পরীক্ষায় সর্বোচ্চ 106 × 2 = 2,000,000 ঘণ্টা, অর্থাৎ 2,000,000 ÷ 8,760 ≈ ২২৮ বছর। শিক্ষা: নিরাপত্তা শুধু PIN-এর দৈর্ঘ্যে নয়, অনুমানের গতি কে সীমিত করছে তাতেও।

এবার একই ল্যাপটপের ঘটনা দুইভাবে দেখুন। দুটি ল্যাপটপই বন্ধ অবস্থায় বাসে হারিয়েছে। ক-তে FDE আছে, খ-তে নেই। বাকি সব সমান।

একই ঘটনা, দুই ল্যাপটপ (কাল্পনিক)
সময়
ঘটনা
ল্যাপটপ ক (FDE)
ল্যাপটপ খ (FDE নেই)
  1. হারাল। ১৯:০০-এ দুটি ল্যাপটপই বাসে রয়ে গেল, দুটিই সম্পূর্ণ বন্ধ। ক-এর ডেটা encrypted, খ-এর ডেটা disk-এ খোলা অবস্থায় আছে। Login পর্দার password খ-এর disk রক্ষা করে না।
  2. দ্রুত জানানো। ১৯:২০-এ কর্মী helpdesk-এ জানালেন। নিয়ম জানা থাকায় তিনি সকাল পর্যন্ত অপেক্ষা করেননি। এখনও দুটির অবস্থা আগের মতোই।
  3. Session বাতিল। ১৯:৩০-এ দুটি ক্ষেত্রেই account-এর session আর refresh token বাতিল হলো, password-ও বদলানো হলো। এটি যন্ত্র ফেরত পাওয়ার ওপর নির্ভর করে না, তাই সবার আগে।
  4. Remote wipe পাঠানো। ১৯:৪০-এ নির্দেশ গেল। কিন্তু যন্ত্র বন্ধ, তাই নির্দেশ অপেক্ষায় থাকল। Remote wipe কাজ করে শুধু যন্ত্র network-এ এলে। এটি সাহায্য, নিশ্চয়তা নয়।
  5. Disk খোলা হলো। ২১:০০-এ কেউ disk খুলে অন্য কম্পিউটারে লাগাল। এখানেই পথ আলাদা হয়। ক দেখায় শুধু এলোমেলো bytes, খ দেখায় পুরো ফাইল-তালিকা। OS-এর login এখানে কোনো বাধাই নয়।
  6. ফাইল পড়া। ২১:১০-এ ক-এর ফাইল key ছাড়া পড়া যায় না। খ-এ payroll ফাইল, SSH key আর browser-এর ডেটা উন্মুক্ত। তাই ১৯:৩০-এর session বাতিল খ-এর ক্ষেত্রে আরও জরুরি ছিল।
  7. মূল্যায়ন। পরদিন ক-এর encryption চালু থাকার প্রমাণ management console-এ পাওয়া গেল, ক্ষতি মূলত যন্ত্রের। খ-এর ক্ষেত্রে ডেটা ফাঁস ধরে নিয়ে তদন্ত, আইনি দায় যাচাই আর প্রয়োজনে জানানোর কাজ শুরু হলো।

FDE-র সীমা: এটি মূলত বন্ধ যন্ত্রকে রক্ষা করে। চালু বা sleep অবস্থায় key সাধারণত memory-তে থাকে, তাই লম্বা যাত্রায় ল্যাপটপ পুরো বন্ধ বা hibernate করা ভালো। চলন্ত যন্ত্রে malware আপনার মতোই ফাইল পড়তে পারে, FDE তা আটকায় না। আর TPM-only সেটিংয়ে যন্ত্র নিজে থেকে চালু হয়ে key ছাড়ে, তাই উচ্চ-ঝুঁকির যন্ত্রে চালুর সময় PIN যোগ করার কথা ভাবুন।

Recovery key: encryption-এর উল্টো ঝুঁকি

Encryption ডেটা রক্ষা করে, আবার ভুল হলে মালিককেও বাইরে রাখে। Recovery key ছাড়া motherboard বদল বা PIN ভুলে যাওয়ায় ডেটা চিরতরে হারাতে পারে। প্রতিষ্ঠানে এই key কেন্দ্রীয়ভাবে জমা রাখুন, আর ব্যক্তিগত যন্ত্রে password manager-এ বা ছাপিয়ে নিরাপদ জায়গায়, ল্যাপটপের ব্যাগে নয়। Key কে দেখল, তার log থাকুক। আর মনে রাখুন, encryption backup-এর বদলে নয়। Disk নষ্ট হলে encrypted ডেটাও যায়।

হারানো ল্যাপটপের পরিকল্পনা

ঘটনার সময় পরিকল্পনা বানানো কঠিন। তাই আগেই এক পাতায় লিখে রাখুন।

আগে থেকে

FDE চালু ও প্রমাণিত। Recovery key জমা। ডেটা cloud বা সার্ভারে, ল্যাপটপে যতটা কম সম্ভব। Inventory-তে serial আর মালিক। রিপোর্টের একটিমাত্র নম্বর, আর “দোষ নয়, দ্রুত জানানোই কাজ” এই নীতি।

ঘটনার আগে

ঘটনার সময়

দ্রুত রিপোর্ট। Session আর token বাতিল। Password বদল। VPN ও SSH key বাতিল। Remote lock বা wipe পাঠানো। শেষ যোগাযোগের সময় দেখা। প্রয়োজনে থানায় GD. ডেটার তালিকা বের করা।

প্রথম এক ঘণ্টা

ঘটনার পরে

কী ডেটা ছিল আর সেটি encrypted ছিল কি না, তার ভিত্তিতে ঝুঁকি মূল্যায়ন। ব্যক্তিগত তথ্য থাকলে আইনি দায় যাচাই। যন্ত্র inventory-তে “হারানো” চিহ্নিত। শিক্ষা লিখে রাখা।

পরের দিনগুলো

আইনি দিকের জন্য পর্ব ৬ দেখুন, আর উপাত্ত আইনের বিষয় পর্ব ৭০-এ আসবে। এই পর্ব আইনি পরামর্শ নয়। Incident-এর পুরো কাঠামো পর্ব ৬১-এ পাবেন।

৫ · Signature antivirus থেকে behaviour আর EDR

পুলিশের কাছে পরিচিত অপরাধীর ছবি আছে। ছবির মানুষ এলে সহজেই ধরা পড়ে। কিন্তু নতুন মুখ বা ছদ্মবেশ এলে? তখন ছবি নয়, আচরণ দেখতে হয়: রাত তিনটায় ব্যাংকের পেছনের দরজায় কে হাঁটছে। Endpoint পাহারা ঠিক এভাবেই বদলেছে।

প্রজন্মকী দেখেশক্তিদুর্বলতা
Signature antivirusফাইলের hash বা পরিচিত bytes-এর ছাঁচজানা malware দ্রুত, কম ভুলে ধরেনতুন বা সামান্য বদলানো ফাইলে দুর্বল
Heuristic ও reputationফাইলের গঠন, কতটা পরিচিত, কে সই করেছেকিছু অজানা জিনিসও ধরেFalse positive বাড়ে
Behaviour-ভিত্তিক, next-genচলন্ত program কী করছে; machine learning মডেলফাইল ছাড়া কৌশল ও অজানা ধরনেও কাজে লাগেTuning লাগে, স্বাভাবিক কাজের সাথে গুলিয়ে যায়
EDRপুরো ঘটনার telemetry, কেন্দ্রে জমাতদন্ত, খোঁজা, যন্ত্র আলাদা করাপড়ার মানুষ লাগে; খরচ আর ঝুঁকি আছে

কেন signature একা যথেষ্ট নয়? পর্ব ৯-এ দেখেছেন, একটি bit বদলালেই hash সম্পূর্ণ বদলায়। তাই শুধু hash-এর তালিকা সহজেই পিছিয়ে পড়ে। আবার কিছু হামলায় নতুন ফাইলই লাগে না। হামলাকারী OS-এর ভেতরের বৈধ টুল ব্যবহার করে। একে living off the land বলে। এখানে ফাইল পরিষ্কার, আচরণটিই সন্দেহজনক। ধরন আর আচরণের বিস্তার পর্ব ৩৩-এ আসবে।

রক্ষকের দিক থেকে behaviour-এর কিছু সাধারণ প্রশ্ন: Word কি হঠাৎ একটি script চালাল? একটি program কি অল্প সময়ে শত শত ফাইল বদলাচ্ছে? নতুন autostart যোগ হলো কি? নিরাপত্তা software বন্ধের চেষ্টা হলো কি?

EDR সংক্ষেপে

EDR (endpoint detection and response) মানে যন্ত্রে একটি agent বসে, যা process, ফাইল, network আর login-এর ঘটনা জমা করে কেন্দ্রে পাঠায়। এই telemetry থেকে detection চলে। Analyst চাইলে পুরো ঘটনাগাছ দেখতে পারেন, আর সমস্যা হলে যন্ত্রটিকে network থেকে আলাদা করতে পারেন। অনেকটা অফিসের CCTV, রেজিস্টার খাতা আর একজন পাহারাদার একসাথে। বিস্তারিত পর্ব ৫৯-এ, আর এই পর্বে শুধু মনে রাখুন তিনটি কথা:

  • EDR-এর alert কেউ না পড়লে তা কাজের নয়। পর্ব ৫-এর গল্পেই সতর্কতা পরের দিনের জন্য রয়ে গিয়েছিল। ধরা পড়া আর সাড়া দেওয়া আলাদা জিনিস।
  • Agent নিজেও উঁচু অধিকারের software. এর ভুল update পুরো fleet থামাতে পারে, আর এর console দখল হলে সব যন্ত্রই ঝুঁকিতে।
  • Agent যেখানে নেই, সেখানে EDR নেই। Printer, পুরোনো যন্ত্র আর ব্যক্তিগত ফোন প্রায়ই বাদ থাকে। তাই পর্ব ২৩-এর network নজরদারিও দরকার।

৬ · Application allowlisting — অচেনা কিছু চলবে না

Antivirus-এর প্রশ্ন: “এটি কি খারাপ?” না জানলে চলতে দেয়। Application allowlisting-এর প্রশ্ন উল্টো: “এটি কি অনুমোদিত?” না হলে চলবে না। প্রথমটি অপরাধীর তালিকা, দ্বিতীয়টি অনুষ্ঠানের অতিথি তালিকা। গেটের দারোয়ান দেখেন নাম খাতায় আছে কি না। পর্ব ৩-এর default deny এখানে program চালানোর ক্ষেত্রে বসে।

নিয়ম সাধারণত তিন রকমের পরিচয়ে হয়, আর প্রত্যেকটির আলাদা ভারসাম্য আছে:

নিয়মকী মেলায়শক্তিঝামেলা
Hashফাইলের ঠিক সেই bytesসবচেয়ে সুনির্দিষ্টপ্রতি update-এ নতুন hash লাগে
SignerCode signing certificate-এর প্রকাশকUpdate সহজে চলেওই প্রকাশকের সব সই করা জিনিস, পুরোনো দুর্বল version-ও, চলতে পারে
Pathফাইল কোন folder-এ আছেসহজ, সাধারণ OS ফাইলে উপকারীFolder-এ user লিখতে পারলে নিয়মটি অর্থহীন

Windows-এ দুটি প্রযুক্তি আছে। AppLocker এসেছে Windows 7-এর সময়, user বা group ধরে নিয়ম দিতে পারে। আর App Control for Business, আগে সুপরিচিত ছিল Windows Defender Application Control (WDAC) নামে, এসেছে Windows 10-এর সাথে। Microsoft-এর দলিল বলে, App Control security feature হিসেবে নকশা করা, আর AppLocker তাদের servicing criteria অনুযায়ী security feature নয়। AppLocker security fix পায়, নতুন feature নয়, আর সম্ভব হলে App Control বেছে নিতে বলা হয়। Linux-এ একই ধারণার কাছাকাছি কাজ করে fapolicyd ধরনের টুল, আর macOS-এ Gatekeeper আংশিক এই ভূমিকা নেয়।

নিচে একটি খেলনা সিদ্ধান্ত-ইঞ্জিন। Hash আর ঘটনা সব বানানো। প্রথমে নিষিদ্ধ hash, তারপর অনুমোদিত hash, তারপর signer, শেষে path. কোনো নিয়ম না মিললে deny. Audit আর enforce দুই mode-এ একই ঘটনা চালানো হলো।

// Toy allowlist engine on made-up events. Hashes are fake short labels.
const policy = {
  denyHash: ['h-old7'],                     // known-bad version, checked first
  allowHash: ['h-tally'],
  allowSigner: ['Example Payroll Ltd', 'Example OS Vendor'],
  allowPath: ['C:\\Windows\\', 'C:\\Program Files\\'],
  userWritable: ['C:\\Users\\', 'C:\\Temp\\'],
};
function decide(e) {
  if (policy.denyHash.includes(e.hash)) return ['deny', 'hash on deny list'];
  if (policy.allowHash.includes(e.hash)) return ['allow', 'exact hash'];
  if (e.signer && policy.allowSigner.includes(e.signer)) return ['allow', 'trusted signer'];
  const inPath = policy.allowPath.some(p => e.path.startsWith(p));
  const writable = policy.userWritable.some(p => e.path.startsWith(p));
  if (inPath && !writable) return ['allow', 'admin-only path'];
  return ['deny', 'no rule matched'];
}
const events = [
  { name: 'payroll.exe', hash: 'h-pay3', signer: 'Example Payroll Ltd', path: 'C:\\Program Files\\Pay\\payroll.exe' },
  { name: 'tally.exe', hash: 'h-tally', signer: null, path: 'C:\\Users\\rumi\\tally.exe' },
  { name: 'notes.exe', hash: 'h-note1', signer: null, path: 'C:\\Windows\\notes.exe' },
  { name: 'updater.exe', hash: 'h-old7', signer: 'Example Payroll Ltd', path: 'C:\\Program Files\\Pay\\updater.exe' },
  { name: 'invoice.exe', hash: 'h-unk9', signer: null, path: 'C:\\Users\\rumi\\Downloads\\invoice.exe' },
];
function run(mode) {
  console.log(`--- mode: ${mode}`);
  for (const e of events) {
    const [verdict, why] = decide(e);
    const act = verdict === 'allow' ? 'RUN  ' : mode === 'enforce' ? 'BLOCK' : 'RUN* ';
    console.log(`${act} ${e.name.padEnd(12)} ${why}`);
  }
}
run('audit');
run('enforce');
console.log('RUN* = would be blocked; logged only in audit mode');

updater.exe-এর signer বিশ্বস্ত, তবু BLOCK updater.exe hash on deny list. কারণ deny আগে দেখা হয়, তাই পুরোনো দুর্বল version সই থাকলেও চলে না। tally.exe সই ছাড়া, user-এর folder-এ আছে, তবু exact hash-এ চলে। Update এলে এই hash আর মিলবে না। invoice.exe-এ কোনো নিয়ম মেলে না, তাই no rule matched. Audit mode-এ একই দুটি ফাইল RUN*: চলে, কিন্তু log-এ লেখা থাকে “আটকে যেত”। এই log দিয়েই নিরাপদে নিয়ম গোছানো হয়।

Rollout-এর কষ্ট

কাগজে allowlisting সহজ। বাস্তবে প্রথম দিন enforce করলে payroll, printer driver আর কারও পুরোনো Excel add-in একসাথে আটকে যাবে। তাই পথটি ধীরে এগোয়। Audit mode শুধু লেখে, enforcement mode সত্যিই আটকায়। নিচের সংখ্যা ১২০টি যন্ত্রের একটি কাল্পনিক অফিসের।

১২০ যন্ত্রের অফিস (কাল্পনিক সংখ্যা)
সময়
Mode
Enforce চলছে
নিয়ম
দিনে আটকানো বা আটকে যেত
সপ্তাহে help ticket
  1. শুরু: তালিকা। Software inventory (CIS Control 2) বানানো হলো, প্রতিটি app-এর একজন মালিক ঠিক হলো, আর জরুরি ব্যতিক্রমের পথ লেখা হলো। এখনও কোনো নিয়ম নেই।
  2. সপ্তাহ ১: audit চালু। ৬টি মোটা signer নিয়ম নিয়ে সব ১২০ যন্ত্রে audit mode. দিনে ৯৪০টি “আটকে যেত” ঘটনা। কিছুই আটকায়নি, তাই কারও কাজ বন্ধ হয়নি, help ticket ০।
  3. সপ্তাহ ৩: log থেকে নিয়ম। Log ঘেঁটে বৈধ app-এর জন্য নিয়ম বেড়ে ৩১টি। ঘটনা নেমে এলো ১৮০-তে। এখনও সবকিছু audit mode-এই চলছে।
  4. সপ্তাহ ৫: পরিষ্কার। অপ্রয়োজনীয় software সরানো হলো, নিয়ম ৩৮টি। বাকি ২৪টি ঘটনার প্রতিটির ব্যাখ্যা আছে। শুধু log দেখে অনুমোদন দেওয়া বিপজ্জনক, কারণ audit-এর সময়ে চলা ক্ষতিকর ফাইলও বৈধ মনে হতে পারে। তাই প্রতিটি নিয়ম মালিক যাচাই করেন।
  5. সপ্তাহ ৭: pilot. IT দলের ১০টি যন্ত্রে সত্যিকারের enforcement. দিনে ৩টি আটকানো, সপ্তাহে ৬টি ticket, নিয়ম ৪০টি। নিজের দলে আগে চালালে ব্যথাটা নিজেরাই টের পান।
  6. সপ্তাহ ১০: ring. ৬০টি যন্ত্রে enforce, নিয়ম ৪৪টি। Ticket বেড়ে ৯টি, কারণ নতুন বিভাগ নতুন app আনে। অর্থ বিভাগের মাসের শেষ এড়িয়ে তারিখ ঠিক করা হয়। সবসময় rollback-এর পথ রাখা হয়।
  7. সপ্তাহ ১৪: পুরোটা। ১২০/১২০ enforcement, ৪৬টি নিয়ম। সপ্তাহে ২টি ticket, দিনে ২টি আটকানো। প্রতিটি আটকানো ঘটনা এখন তদন্তের যোগ্য সংকেত। কাজ শেষ নয়: নতুন app-এর জন্য চলমান অনুমোদনের পথ থাকতে হবে।

Allowlisting কি সব থামায়? না। অনুমোদিত program নিজে দুর্বল হলে, বা অনুমোদিত script-host দিয়ে কিছু চলতে পারলে ঝুঁকি থাকে। তাই CIS Controls-এ software (Safeguard 2.5)-এর পাশে library (2.6) আর script (2.7)-ও আলাদা করে আছে। Microsoft-ও বলে, application control antivirus-এর বদলে নয়, পাশে থাকবে। ছোট অফিসে পুরো allowlisting কঠিন হলে শুরু করুন user-writable folder থেকে program চালানো বন্ধ করে।

৭ · Device management, compliance আর BYOD

১০টি যন্ত্র হাতে সামলানো যায়। ৩০০টি যায় না। MDM (mobile device management) এই কাজের জন্যই এসেছিল ফোন সামলাতে। এখন একই console থেকে ল্যাপটপ, ফোন, ট্যাবলেট সব সামলানোকে UEM (unified endpoint management) বলে। উদাহরণ হিসেবে Microsoft Intune, Jamf বা Google-এর endpoint management-এর নাম শোনা যায়। এগুলো সুপারিশ নয়, শুধু ধরন বোঝানোর জন্য।

Enrollment ও inventory

Device enrollment যন্ত্রকে ব্যবস্থায় যুক্ত করে। তারপর যন্ত্রই নিজের তথ্য জানায়।

কী আছে

নীতি বসানো

Encryption, lock, firewall, update, Wi-Fi, certificate আর app একসাথে পাঠানো যায়।

কেমন হবে

Compliance

Device compliance মানে যন্ত্রটি নীতি মানছে কি না, তার রিপোর্ট আর পরিণতি।

মানছে কি না

Lock ও wipe

Remote wipe দূর থেকে মোছে। CIS Safeguard 4.11 বহনযোগ্য যন্ত্রে এই ক্ষমতা চায়।

হারালে

একটি নীতি কেমন দেখতে হয়, নিচে তার একটি কাল্পনিক রূপ। প্রতিটি product-এর নিজের format আছে, তাই এটি শুধু ধারণার জন্য।

# Fictional format for learning; every MDM product has its own.
policy: laptop-baseline-v3
applies_to: [company-laptops]
require:
  os_patch_age_days_max: 30
  disk_encryption: on
  secure_boot: on
  host_firewall: on
  screen_lock_minutes_max: 10
  edr_agent_last_seen_days_max: 7
on_fail:
  notify_user: immediately
  grace_days: 3
  then: block-sensitive-apps
exceptions:
  owner_required: true
  max_days: 30

Compliance রিপোর্টের আসল শক্তি আসে যখন তা access-এর সাথে জোড়া হয়। পর্ব ২৫-এ ZTNA-তে device posture দেখেছেন। Conditional access মানে login-এর সিদ্ধান্তে শুধু password নয়, যন্ত্রের অবস্থাও দেখা। নিচে Sohel-এর ল্যাপটপ LT-02-এর সকালটি দেখুন। তাঁর patch-এর বয়স ৪৭ দিন, সীমা ৩০।

  1. LT-02রিপোর্ট পাঠায়
  2. MDMনীতির সাথে মেলায়
  3. Loginপরিচয় ঠিক
  4. Policyযন্ত্র দেখে সিদ্ধান্ত
  5. AppPayroll খোলে
LT-02 reportযন্ত্র নিজে জানাচ্ছে
patch_age_days : 47
disk_encrypted : yes
firewall       : on
edr_last_seen  : 1 day
MDM checkনীতির সীমা 30 দিন
patch_age 47 > 30      FAIL
disk_encrypted         PASS
firewall               PASS
edr_last_seen 1 <= 7   PASS
state: NON-COMPLIANT (grace ended)
Sign-inমানুষ ঠিক আছেন
user     : sohel
password : ok
mfa      : ok
app      : payroll
device   : LT-02
Access decisionপরিচয় ঠিক, যন্ত্র নয়
identity : ok
device   : NON-COMPLIANT
decision : BLOCK payroll
message  : Install updates, then retry.
Self-fixSohel update নিলেন
updates installed, device restarted
patch_age_days : 0
MDM re-check   : COMPLIANT
Second sign-inএবার খোলা
identity : ok
device   : COMPLIANT
decision : ALLOW payroll
log      : block + allow both recorded
  1. যন্ত্রের রিপোর্ট। LT-02 নিজের অবস্থা জানাল: patch-এর বয়স ৪৭ দিন, encryption চালু, firewall চালু, EDR agent ১ দিন আগে যোগাযোগ করেছে।
  2. নীতির সাথে মেলানো। ৪৭ > ৩০, তাই patch ব্যর্থ। বাকি তিনটি পাস। Sohel আগেই সতর্কবার্তা পেয়েছিলেন, ৩ দিনের সুযোগও শেষ। এবার অবস্থা NON-COMPLIANT.
  3. Login. Sohel payroll খুলতে চাইলেন। Password আর MFA দুটোই ঠিক। পুরোনো ব্যবস্থা হলে এখানেই ঢুকে যেতেন।
  4. সিদ্ধান্ত। Policy দেখল পরিচয় ঠিক, যন্ত্র ঠিক নয়। ফল BLOCK. বার্তায় লেখা কী করতে হবে। শুধু “Access denied” লিখলে মানুষ helpdesk-এ ফোন করতেন।
  5. নিজে ঠিক করা। Sohel update নিয়ে restart করলেন। Patch-এর বয়স ০। MDM আবার মেলাল, এবার COMPLIANT. IT দলের কাউকে হাত দিতে হয়নি।
  6. খোলা। এবার ALLOW, payroll খুলল। আটকানো আর খোলা দুটো ঘটনাই log-এ আছে। মাসের শেষে এই log-ই প্রমাণ দেবে নীতি সত্যিই চলছে।

সীমা দুটি। এক, রিপোর্ট আসে যন্ত্র থেকে। দখল করা যন্ত্র মিথ্যা বলতে পারে, তাই hardware-ভিত্তিক attestation যতটা সম্ভব ব্যবহার করুন। দুই, MDM নিজেই বিশাল ক্ষমতার জায়গা। এর admin account একসাথে সব যন্ত্র মুছতে বা সব যন্ত্রে software পাঠাতে পারে। তাই পর্ব ২০-এর সব নিয়ম, অর্থাৎ phishing-প্রতিরোধী MFA, JIT আর maker-checker, এখানে আগে বসান।

Fleet report: কোনটি আগে ঠিক করবেন

রিপোর্টে শুধু “৩৭.৫% compliant” দেখে কাজ এগোয় না। লাগে ক্রমতালিকা। নিচের block ৮টি কাল্পনিক যন্ত্রের inventory পড়ে। ল্যাপটপে encryption না থাকলে বেশি point, কারণ ল্যাপটপ বাইরে যায়। Point-এর ওজন আমাদের অনুমান, আপনার প্রতিষ্ঠানে আলাদা হবে।

// Toy fleet report: made-up inventory, no real device is touched.
const MAX_PATCH_DAYS = 30, MAX_AGENT_DAYS = 7;
const fleet = [
  { id: 'LT-01', laptop: true,  patch: 12, enc: true,  seen: 0,    admin: false },
  { id: 'LT-02', laptop: true,  patch: 47, enc: true,  seen: 1,    admin: false },
  { id: 'LT-03', laptop: true,  patch: 9,  enc: false, seen: 0,    admin: true  },
  { id: 'LT-04', laptop: true,  patch: 5,  enc: true,  seen: 0,    admin: true  },
  { id: 'LT-05', laptop: true,  patch: 96, enc: false, seen: null, admin: true  },
  { id: 'DT-06', laptop: false, patch: 61, enc: false, seen: 12,   admin: false },
  { id: 'DT-07', laptop: false, patch: 21, enc: true,  seen: 2,    admin: false },
  { id: 'LT-08', laptop: true,  patch: 28, enc: true,  seen: 3,    admin: false },
];
function findings(d) {                 // each finding: [name, priority points]
  const f = [];
  if (d.seen === null) f.push(['no-agent', 4]);
  else if (d.seen > MAX_AGENT_DAYS) f.push(['stale-agent', 3]);
  if (!d.enc) f.push(['no-encryption', d.laptop ? 4 : 1]);   // laptops travel
  if (d.patch > MAX_PATCH_DAYS) f.push(['old-patch', d.patch > 60 ? 4 : 3]);
  if (d.admin) f.push(['daily-admin', 2]);
  return f;
}
const rows = fleet.map(d => {
  const f = findings(d);
  return { id: d.id, f, score: f.reduce((s, x) => s + x[1], 0) };
});
const clean = rows.filter(r => r.f.length === 0).length;
console.log(`compliant ${clean}/${fleet.length} (${(clean / fleet.length * 100).toFixed(1)}%)`);
for (const name of ['no-agent', 'stale-agent', 'no-encryption', 'old-patch', 'daily-admin'])
  console.log(`${name.padEnd(14)} ${rows.filter(r => r.f.some(x => x[0] === name)).length}`);
console.log('--- fix first');
rows.filter(r => r.score > 0).sort((a, b) => b.score - a.score || a.id.localeCompare(b.id))
  .forEach((r, i) => console.log(`${i + 1}. ${r.id} score ${String(r.score).padStart(2)}: ${r.f.map(x => x[0]).join(', ')}`));

compliant 3/8 (37.5%): LT-01, DT-07 আর LT-08 পরিষ্কার। LT-08-এর patch ২৮ দিনের, সীমার ঠিক ভেতরে, তাই কাল আবার দেখতে হবে। ক্রমের শীর্ষে LT-05 score 14: 4 + 4 + 4 + 2. এই ল্যাপটপে agent নেই, encryption নেই, patch ৯৬ দিনের, আর ব্যবহারকারী admin. DT-06 score 8-এ encryption-এর ওজন মাত্র 1, কারণ ডেস্কটপটি সাধারণত অফিসে থাকে, তবু agent ১২ দিন চুপ আর patch ৬১ দিনের। সবচেয়ে কম জরুরি LT-04 score 2: শুধু প্রতিদিনের admin অধিকার। ৫টি যন্ত্রকে একসাথে “ব্যর্থ” না বলে এবার একটি কাজের ক্রম পাওয়া গেল।

BYOD — নিজের ফোনে অফিসের কাজ

BYOD (bring your own device) মানে কর্মী নিজের যন্ত্রে অফিসের কাজ করেন। প্রতিষ্ঠানের খরচ কমে, কর্মীর সুবিধা হয়। কিন্তু যন্ত্রটি প্রতিষ্ঠানের নয়, ছবি আর ব্যক্তিগত বার্তাও তাতেই থাকে।

পথপ্রতিষ্ঠান যা পায়কর্মী যা দেনমানানসই
প্রতিষ্ঠানের যন্ত্রপূর্ণ নিয়ন্ত্রণব্যক্তিগত কাজ আলাদা রাখতে হয়সংবেদনশীল ডেটা, admin
BYOD + work profileঅফিসের অংশে নীতি, শুধু সেই অংশ মোছা (selective wipe)অল্প কিছু তথ্য: OS version, কাজের appEmail, ক্যালেন্ডার, সাধারণ কাজ
Browser-ভিত্তিক accessযন্ত্রে কম ডেটা; নিয়ন্ত্রণও কমকোনো কিছু বসাতে হয় নাঠিকাদার, অল্প সময়ের কাজ

লিখিত নীতিতে অন্তত চারটি জিনিস থাকুক: কোন তথ্য প্রতিষ্ঠান দেখবে আর কোনটি দেখবে না, যন্ত্রের কতটুকু মোছা যাবে, চাকরি ছাড়লে কী হবে, আর ন্যূনতম OS version কত।

৮ · USB, macro আর browser

Removable media

USB drive সুবিধাজনক, আবার ডেটা বাইরে যাওয়া আর অচেনা ফাইল ভেতরে আসা, দুটোরই পথ। ২০১০ সালে প্রকাশিত Stuxnet-এর প্রতিবেদনগুলোতে USB-কে air gap পেরোনোর একটি পথ হিসেবে বর্ণনা করা হয়েছে। অর্থাৎ network থেকে বিচ্ছিন্ন যন্ত্রও নিশ্চিন্ত নয়।

  • Autorun বন্ধ: CIS Safeguard 10.3 removable media-র autorun আর autoplay বন্ধ করতে বলে।
  • নীতি: প্রয়োজন না থাকলে USB storage বন্ধ, অথবা শুধু পড়ার অনুমতি, অথবা অনুমোদিত encrypted drive.
  • অচেনা USB: রাস্তায় পাওয়া drive নিজের কাজের যন্ত্রে লাগাবেন না। IT দলকে দিন।
  • বিকল্প দিন: নিরাপদ ফাইল শেয়ারের পথ না থাকলে মানুষ USB-তেই ফিরে যাবেন।

Macro নীতি

Macro হলো Office ফাইলের ভেতরের ছোট program. হিসাব বিভাগে এটি কাজের জিনিস, আবার ফাঁদের ফাইলেও এটি বহু বছর ধরে ব্যবহার হয়েছে। Microsoft ২০২২ সালে ধাপে ধাপে Windows-এর Office-এ default বদলায়। ইন্টারনেট থেকে আসা ফাইলে, যা Mark of the Web দিয়ে চেনা যায়, VBA macro এখন default-ভাবে বন্ধ থাকে। আগে একটি বোতাম চাপলেই চলত। Microsoft-এর দলিলে বলা ভালো অভ্যাস:

  • যাঁদের macro লাগে না, তাঁদের জন্য সব macro বন্ধ।
  • যাঁদের লাগে, তাঁদের জন্য শুধু বিশ্বস্ত প্রকাশকের সই করা macro.
  • Trusted Location অল্প রাখা, কারণ সেখানে Mark of the Web-এর যাচাই এড়িয়ে যায়।

Browser hardening

আজকের বেশিরভাগ কাজই browser-এ, তাই browser-ই একরকম ছোট OS. Browser hardening-এর সরল তালিকা:

  • Update: স্বয়ংক্রিয় রাখুন, আর restart করুন। Download হলেও restart না করলে পুরোনোটাই চলে।
  • Extension: Extension অনেক সময় আপনার দেখা পাতা পড়তে পারে। প্রতিষ্ঠানে allowlist রাখুন, ব্যক্তিগত যন্ত্রে কম রাখুন।
  • Password: প্রতিষ্ঠানের জন্য browser-এ সেভ করার বদলে password manager ভালো, আর ব্যক্তিগত ও অফিসের browser profile আলাদা রাখুন।
  • Download ও site সুরক্ষা: Browser-এর নিরাপদ ব্রাউজিং আর DNS সুরক্ষা চালু রাখুন।
  • পুরোনো জিনিস বন্ধ: অপ্রয়োজনীয় plugin আর পুরোনো সংস্করণ সরান।

৯ · ছোট অফিসের শুরু আর coverage মাপা

১৫ জনের অফিসের checklist

কাল্পনিক একটি ১৫ জনের অফিস। কোনো নিরাপত্তা দল নেই। এই ক্রমে শুরু করুন। প্রথম সাতটিতে বেশি টাকা লাগে না।

Coverage: হর কী?

“আমাদের ৮৫% যন্ত্রে EDR আছে” শুনতে ভালো। প্রশ্ন হলো, কতটির মধ্যে ৮৫%? Coverage metric-এর হর ভুল হলে পুরো সংখ্যাই ভুল। ধরুন, খাতায় ২০০টি যন্ত্র, DHCP আর Wi-Fi log মিলিয়ে আসলে ২৩০টি। Agent বসানো ১৭০টিতে, আর গত ৭ দিনে সুস্থভাবে রিপোর্ট করেছে ১৫০টি।

Coverage-এর সিঁড়ি

Real devices, inventory, agent installed, agent healthy (made-up numbers)

আসল যন্ত্র থেকে সুস্থ agent পর্যন্ত coverage আসল যন্ত্র: ২৩০ Inventory-তে: ২০০ Agent বসানো: ১৭০ ৭ দিনে সুস্থ: ১৫০ দাবি: ১৭০ ÷ ২০০ = ৮৫% বাস্তব: ১৫০ ÷ ২৩০ ≈ ৬৫.২%
ছবি ২৯.২ — একই প্রতিষ্ঠান, একই দিন। হর আর “সুস্থ”-এর সংজ্ঞা বদলালে ৮৫% হয়ে যায় ৬৫.২%.

এবার patch-এর দিকে তাকান। গড় একটি ভালো সংখ্যা দেখাতে পারে, অথচ কিছু যন্ত্র মাসের পর মাস পিছিয়ে থাকে। নিচের block seed দেওয়া নকল ডেটায় ২০০টি যন্ত্রের patch-এর বয়স বানায়।

// Patch-age summary on a simulated fleet of 200 devices (seeded, repeatable).
function mulberry32(a) {
  return () => {
    a |= 0; a = a + 0x6D2B79F5 | 0;
    let t = Math.imul(a ^ a >>> 15, 1 | a);
    t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
    return ((t ^ t >>> 14) >>> 0) / 4294967296;
  };
}
const rnd = mulberry32(29);
const ages = [];
for (let i = 0; i < 200; i++) {
  const lagging = rnd() < 0.15;        // about 15% of devices lag badly
  ages.push(Math.floor(lagging ? 31 + rnd() * 170 : rnd() * 26));
}
ages.sort((a, b) => a - b);
const pct = p => ages[Math.ceil(p / 100 * ages.length) - 1];   // nearest-rank
const mean = ages.reduce((s, x) => s + x, 0) / ages.length;
const buckets = [[0, 7], [8, 14], [15, 30], [31, 60], [61, 999]];
console.log('age days    devices');
for (const [lo, hi] of buckets) {
  const n = ages.filter(a => a >= lo && a <= hi).length;
  const label = hi === 999 ? `${lo}+` : `${lo}-${hi}`;
  console.log(`${label.padEnd(8)} ${String(n).padStart(4)}  ${'#'.repeat(Math.round(n / 4))}`);
}
const within = ages.filter(a => a <= 30).length;
console.log(`mean ${mean.toFixed(1)}  median ${pct(50)}  p90 ${pct(90)}  max ${ages[199]}`);
console.log(`within 30 days: ${within}/200 = ${(within / 2).toFixed(1)}%`);
const known = 230;                     // devices seen on the network, not only reporting
console.log(`against ${known} real devices: ${(within / known * 100).toFixed(1)}%`);

mean 24.9 median 14 p90 54 max 198: গড় ২৪.৯ দিন, যা ৩০-এর নিচে, ভালো শোনায়। কিন্তু p90 54 বলে সবচেয়ে পিছিয়ে থাকা ১০%-এর বয়স ৫৪ দিন বা বেশি, আর max 198 মানে একটি যন্ত্র ছয় মাসের বেশি পুরোনো। 61+ ঘরে ২০টি যন্ত্র, মাঝের 31-60-এ মাত্র ৬টি। মানে সমস্যা ছড়ানো নয়, একটি নির্দিষ্ট দল আটকে আছে, হয়তো agent ভাঙা বা যন্ত্র বন্ধ। within 30 days: 174/200 = 87.0% কিন্তু আসল ২৩০টি যন্ত্রের সাপেক্ষে 75.7%. গড়ের বদলে তাই শতাংশিক (percentile) দেখুন, আর হর ঠিক রাখুন।

Metricসূত্রখেয়াল রাখুন
Inventory-র পূর্ণতাতালিকায় থাকা ÷ আসল যন্ত্রআসল সংখ্যা একাধিক উৎস থেকে
EDR coverageসুস্থ agent ÷ আসল যন্ত্র“বসানো” নয়, “সুস্থ”
Encryption coverageEncrypted ও key জমা ÷ ল্যাপটপশুধু “চালু” নয়, key-ও
Patch-এর বয়সMedian, p90, সীমার ভেতরে %গড় লেজ লুকায়
Local admin-এর সংখ্যাপ্রতিদিনের admin ÷ মোট userব্যতিক্রমের মেয়াদ দেখুন
ব্যতিক্রমের বয়সWaiver-এর সংখ্যা ও গড় বয়সসাময়িক যেন স্থায়ী না হয়

আরও গভীরে: NIST SP 800-40 Rev. 4 (২০২২) patch-কে প্রতিষ্ঠানের নিয়মিত রক্ষণাবেক্ষণ হিসেবে দেখে, আর ঝুঁকির ভিত্তিতে পরিকল্পনা করতে বলে। NIST SP 800-124 Rev. 2 (২০২৩) mobile device-এর পুরো জীবনচক্র, যেমন deployment, ব্যবহার আর বিদায়, নিয়ে। NIST SP 800-111 (২০০৭) end-user যন্ত্রের storage encryption নিয়ে। MITRE ATT&CK-এর Defense Impairment tactic রক্ষার টুল বন্ধ করার আচরণ বর্ণনা করে, তাই agent হঠাৎ চুপ হওয়াও একটি detection-এর বিষয়।

পরীক্ষা ও ইন্টারভিউতে:

  • Antivirus আর EDR-এর পার্থক্য? Antivirus প্রধানত ফাইল আটকায়; EDR ঘটনার telemetry জমা করে তদন্ত আর সাড়া দিতে দেয়।
  • FDE কখন রক্ষা করে না? চালু যন্ত্রে malware-এর হাত থেকে, আর key memory-তে থাকা অবস্থায়।
  • Allowlist আর denylist? Allowlist তালিকার বাইরে সব থামায়; denylist শুধু তালিকার জিনিস থামায়।
  • Audit mode কেন আগে? ব্যবসা না থামিয়ে নিয়মের প্রভাব দেখা যায়।
  • CIS Control 1 আর 2? যথাক্রমে enterprise asset আর software asset-এর inventory ও নিয়ন্ত্রণ।

১০ · AI-এর যুগে endpoint নিরাপত্তা

AI খুব দ্রুত script, policy আর ব্যাখ্যা লিখে দেয়। কিন্তু Endpoint-এর ক্ষেত্রে ভুল script একসাথে শত যন্ত্রে যেতে পারে। তাই ছোট ভুলের দামও বড়। AI যা প্রায়ই ভুল করে, আর আপনি যেভাবে ধরবেন:

AI-এর ভুলকেন বিপজ্জনকযাচাই
সমস্যা মেটাতে protection বন্ধ বলে, chmod 777 বা firewall offলক্ষণ যায়, নিরাপত্তাও যায়কারণ খুঁজুন, ছোট অধিকার দিন
CVE নম্বর, safeguard বা setting বানায়মিথ্যা নিশ্চিন্তিCIS, NIST, vendor-এর মূল দলিল পড়ুন
Product-এর পুরোনো নাম বা পুরোনো কমান্ড দেয়Script ভেঙে পড়েবর্তমান দলিল, নিজের ল্যাবে পরীক্ষা
Alert দেখে আত্মবিশ্বাসে “false positive” বলেআসল ঘটনা বন্ধ হয়ে যায়Telemetry দেখে মানুষ সিদ্ধান্ত নিন
পুরো fleet-এ একবারে চালানোর scriptএকটি ভুলে সব যন্ত্র থামেPilot ring, rollback, diff review
Prompt-এ পেস্ট করা log-এ নাম, IP, secretতথ্য বাইরে যায়আগে মুছে বা বদলে নিন

নিচের prompt-এ AI-কে হামলা নয়, পর্যালোচনার কাজ দেওয়া হয়েছে। লক্ষ করুন, উৎস আর অনিশ্চয়তা আলাদা করে চাওয়া হলো, আর নাম সব কাল্পনিক।

আমি একটি ৪০ জনের অফিসের ল্যাপটপ baseline পর্যালোচনা করছি। নাম ও সংখ্যা কাল্পনিক, কোনো secret নেই। [এখানে নিজের নীতিটি পেস্ট করুন: patch-এর সীমা, encryption, admin অধিকার, firewall, screen lock, USB, macro] ১. কোন নিয়ন্ত্রণ বাদ পড়েছে, আর কেন সেটি গুরুত্বপূর্ণ, CIS Controls v8.1-এর সাথে মিলিয়ে বলো। ২. প্রতিটি পরামর্শের পাশে বলো কোন মূল উৎসে আমি যাচাই করব। Safeguard নম্বর নিশ্চিত না হলে “নিশ্চিত নই” লেখো, বানিয়ে দিও না। ৩. কোন পরিবর্তন মানুষের কাজ আটকে দিতে পারে, আর সেগুলোর pilot কীভাবে করব? ৪. কোনো নিরাপত্তা বন্ধ করার পরামর্শ দিও না। আক্রমণের ধাপও লিখো না।

AI-এর উত্তর হাতে পেলে

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন, তারপর “→ উত্তর” চাপুন।

প্র ০১কেন কোনো antivirus কখনো “সব malware” ধরতে পারে না? এটি কি প্রকৌশলের সীমা, নাকি গণিতের?

উত্তরটি গণিতের দিকেই যায়। ১৯৮০-র দশকে Fred Cohen কম্পিউটার virus নিয়ে তাঁর গবেষণায় দেখান, কোনো program virus কি না, তা সব ক্ষেত্রে নির্ভুলভাবে নির্ধারণ করার সাধারণ পদ্ধতি থাকতে পারে না। যুক্তিটি halting problem-এর সাথে সম্পর্কিত। ধরুন একটি নিখুঁত detector আছে। তাহলে এমন একটি program কল্পনা করা যায়, যা detector-এর রায়ের উল্টো কাজ করে। ফলে রায় নিজের সাথেই বিরোধে পড়ে।

এর মানে এই নয় যে antivirus অর্থহীন। মানে হলো, সব পদ্ধতিই আসলে অনুমানভিত্তিক, আর দুই দিকের ভুলের মধ্যে একটি ভারসাম্য। সংবেদনশীলতা বাড়ালে false positive বাড়ে, আর বৈধ payroll software আটকে যায়। কমালে false negative বাড়ে। পর্ব ২৩-এর একই সমস্যা এখানেও।

ইতিহাসও একই দিকে গেছে। প্রথম দিকে signature-এর তালিকা ছোট ছিল, আর হাতে আপডেট করলেই চলত। Malware-এর সংখ্যা বাড়তে থাকায় এবং প্রতিটি কপি সামান্য বদলে দেওয়ার কৌশল আসায় শুধু তালিকা আর টিকল না। তখন reputation, sandbox আর behaviour এলো। পরে EDR এলো, যার মূল চিন্তাটিই আলাদা: সব প্রতিরোধ সম্ভব নয়, তাই দেখতে পাওয়া আর সাড়া দেওয়ার ক্ষমতাও রাখতে হবে।

Allowlisting এই বিতর্কের পাশ কাটায়। সে ভালো-মন্দের রায় দেয় না, শুধু জিজ্ঞেস করে, “এটি কি অনুমোদিত?” কিন্তু সে আবার অন্য দাম দেয়: ব্যবস্থাপনার পরিশ্রম।

মূল উপলব্ধি: নিখুঁত detection অসম্ভব, এটি সীমা হিসেবে মেনে নকশা করুন। তাই একটি স্তরের ওপর ভরসা না করে একাধিক স্তর, আর ধরা পড়ার পরের পরিকল্পনা রাখুন।

প্র ০২নিরাপত্তা agent-ই যদি বিপর্যয়ের কারণ হয়? ২০২৪ সালের বিশ্বজোড়া Windows বিভ্রাট থেকে কী শেখার আছে?

২০২৪ সালের ১৯ জুলাই একটি নিরাপত্তা vendor CrowdStrike-এর Falcon sensor-এর একটি content update-এ ত্রুটি ছিল। প্রকাশিত প্রতিবেদন অনুযায়ী এতে Windows যন্ত্র crash করতে থাকে, আর Microsoft অনুমান করে প্রায় ৮৫ লাখ যন্ত্র আক্রান্ত হয়, যা সব Windows যন্ত্রের ১ শতাংশেরও কম। CrowdStrike জানায়, এটি কোনো হামলা ছিল না। CISA সতর্ক করে যে এই সুযোগ নিয়ে কেউ phishing করতে পারে। তবু সংখ্যায় ছোট এই অংশেই হাসপাতাল, বিমান আর ব্যাংকের মতো সেবায় বিঘ্ন ঘটে, কারণ এসব জায়গার যন্ত্রেই এই ধরনের agent বেশি।

কেন এত ক্ষতি? Endpoint agent গভীরে, অনেক সময় kernel-এর কাছাকাছি চলে, যাতে সে অন্যদের দেখতে পারে। সেখানে ভুল হলে পুরো OS পড়ে যায়। আর ঝুঁকি ছড়ায় দ্রুত, কারণ threat-এর তথ্য দ্রুত পৌঁছানোই এর লক্ষ্য। এখানে নিরাপত্তা আর availability-র মধ্যে সরাসরি টানাপোড়েন আছে। একটি update যত ধীরে ছড়াবে, সে তত দেরিতে রক্ষা করবে। যত দ্রুত ছড়াবে, ভুলও তত দ্রুত সবখানে যাবে।

রক্ষকের শিক্ষা কয়েকটি। এক, update-এর ধরন বুঝে ring-ভিত্তিক rollout চান, আর vendor-কে জিজ্ঞেস করুন আপনি কতটা নিয়ন্ত্রণ পাবেন। দুই, recovery-র পরিকল্পনা রাখুন। অনেক encrypted যন্ত্র ঠিক করতে recovery key লেগেছিল, তাই key জমা না থাকলে উদ্ধার আরও কঠিন হতো। তিন, common-cause failure ভাবুন: সব যন্ত্রে একই agent মানে সবখানে একই ঝুঁকি। Critical সেবার জন্য হাতে-কলমে বিকল্প প্রক্রিয়া রাখুন।

মূল উপলব্ধি: নিরাপত্তা software-ও software. তাকে দেওয়া বিশ্বাস আর অধিকার একটি ঝুঁকি। তাকেও inventory, vendor যাচাই, পর্যায়ক্রমিক update আর recovery-র মহড়ার ভেতরে আনুন।

প্র ০৩ল্যাপটপে encryption থাকলে কি হারানো নিয়ে একেবারে নিশ্চিন্ত থাকা যায়? ফিরে পেলে কি সব ঠিক?

দুটি প্রশ্নের উত্তরই “পুরোপুরি নয়”। প্রথমটি দেখা যাক। Encryption-এর গণিত ভাঙা সাধারণত পথ নয়। ঝুঁকি থাকে key কোথায় আছে তাতে। ২০০৮ সালে Halderman ও সহকর্মীরা “Lest We Remember” গবেষণাপত্রে দেখান, বিদ্যুৎ বন্ধের পরও DRAM-এর তথ্য অল্প সময় টিকে থাকতে পারে। এ থেকেই cold boot ঝুঁকির আলোচনা। অর্থাৎ চালু বা sleep অবস্থার যন্ত্রে key memory-তে থাকা একটি বাস্তব উদ্বেগ। ২০০৯ সালে Joanna Rutkowska-র “evil maid” ধারণা আরেকটি প্রশ্ন তোলে: হোটেলের ঘরে রেখে যাওয়া ল্যাপটপ কেউ গোপনে বদলে দিলে, আর আপনি ফিরে এসে password দিলে? এই কারণে Secure Boot আর measured boot দরকার। তবে প্রায়োগিক হিসাবে এগুলো লক্ষ্যবস্তু ব্যক্তির ঝুঁকি। সাধারণ চুরির ক্ষেত্রে বন্ধ যন্ত্রের FDE বিশাল সুরক্ষা। আপনার threat model অনুযায়ী মাত্রা ঠিক করুন, যেমন পর্ব ৪-এ দেখেছেন।

দ্বিতীয় প্রশ্নে ইতিহাসের উদাহরণ আছে। ২০০৬ সালে যুক্তরাষ্ট্রের Department of Veterans Affairs-এর এক কর্মীর বাড়ি থেকে একটি ল্যাপটপ আর external drive চুরি যায়। প্রতিবেদন অনুযায়ী তাতে দুই কোটি ষাট লাখের বেশি মানুষের ব্যক্তিগত তথ্য ছিল। যন্ত্র ফেরত পাওয়া যায়, আর FBI-এর পরীক্ষায় তথ্য পড়ার প্রমাণ মেলেনি। তবু তদন্ত, সমালোচনা আর শেষে ২০০৯ সালে ২ কোটি ডলারের settlement-এর খবর আসে।

ফিরে পাওয়া যন্ত্রকেও সন্দেহ করুন, কারণ মাঝের সময়ে কী হয়েছে জানা নেই। সংবেদনশীল ক্ষেত্রে তা মুছে নতুন করে সাজানো নিরাপদ। আর credential তো আগেই বদলাতে হবে।

মূল উপলব্ধি: Encryption ঘটনাকে “ডেটা ফাঁস” থেকে “যন্ত্র হারানো”-র দিকে নামাতে পারে, যদি আপনি প্রমাণ দিতে পারেন যে তা চালু ছিল। তাই শুধু চালু করা নয়, প্রমাণ রাখাও নিয়ন্ত্রণের অংশ।

প্র ০৪Application allowlisting এত কার্যকর হলে সব প্রতিষ্ঠান কেন এটি ব্যবহার করে না?

কার্যকারিতা নিয়ে সন্দেহ কম। Microsoft-এর দলিল নিজেই বলে, Australian Signals Directorate-এর মতো সংস্থা application control-কে executable-ভিত্তিক malware ঠেকানোর সবচেয়ে কার্যকর উপায়গুলোর একটি হিসেবে উল্লেখ করে। ASD-এর Essential Eight তালিকাতেও application control আছে। চিন্তাটিও সহজ: অচেনা কিছু না চললে অনেক হামলার মাঝপথ ভেঙে যায়।

বাধা আসে অন্য জায়গা থেকে। প্রথমত, বেশিরভাগ প্রতিষ্ঠান জানেই না তাদের কী কী software চলে। CIS Control 2 ছাড়া এই কাজ শুরু করাই যায় না। দ্বিতীয়ত, software স্থির নয়। Update আসে, hash বদলায়, developer-এরা নতুন টুল আনেন, হিসাব বিভাগের কারও পুরোনো macro-নির্ভর ফাইল থাকে। তৃতীয়ত, ব্যর্থতার ধরন অসম। একটি ভুল নিয়ম সকালে পুরো বিভাগের কাজ থামিয়ে দেয়, আর সবাই তা দেখে। অথচ ঠেকিয়ে দেওয়া হামলা কেউ দেখে না। তাই একবার rollback হলে পরের বছর অনুমতি পাওয়া কঠিন। চতুর্থত, মানুষের সময় লাগে: ব্যতিক্রমের অনুরোধ দেখা, নতুন app অনুমোদন, audit log পড়া।

আর developer-এর যন্ত্র আলাদা সমস্যা, কারণ তাঁরা প্রতিদিন নিজেই নতুন program বানান। Server-এ উল্টো: যেখানে কয়েকটি নির্দিষ্ট program চলে, সেখানে allowlisting সহজ ও দামি। Kiosk আর ATM ধরনের যন্ত্রে তো কথাই নেই। তাই সবচেয়ে ভালো শুরু সবচেয়ে স্থির জায়গা থেকে।

এখন সমাধানের দিকেও অগ্রগতি আছে: reputation-ভিত্তিক সিদ্ধান্ত, managed installer আর audit-log বিশ্লেষণ। Windows-এর Smart App Control একই ধারণাকে সাধারণ ব্যবহারকারীর কাছে আনার চেষ্টা।

মূল উপলব্ধি: নিরাপত্তা নিয়ন্ত্রণের আসল দাম তার license নয়, চলমান পরিচালনা। যে নিয়ন্ত্রণ শক্তিশালী কিন্তু চালানো কঠিন, তাকে ধাপে ধাপে, সহজ জায়গা থেকে শুরু করুন।

প্র ০৫BYOD-এ প্রতিষ্ঠান কি কর্মীর ফোন মুছে দিতে পারে? নিরাপত্তা আর ব্যক্তিগত গোপনীয়তার সীমা কোথায়?

প্রযুক্তিগতভাবে পুরো ফোন enrol করা থাকলে সেটি সম্ভব, আর সেখানেই সমস্যার শুরু। ফোনটি কর্মীর। তাতে সন্তানের ছবি, ব্যাংকের app, চিকিৎসার তথ্য থাকতে পারে। চাকরি ছাড়ার দিনে পুরো ফোন মুছে যাওয়া একটি নিরাপত্তা সিদ্ধান্ত নয়, একটি ক্ষতিকর ঘটনা।

এই টানাপোড়েন থেকেই নকশা বদলেছে। প্রথম দিকের MDM পুরো যন্ত্র নিয়ন্ত্রণ করত, কারণ তখন যন্ত্রগুলো ছিল অফিসের। Smartphone মানুষের ব্যক্তিগত হয়ে উঠলে OS নির্মাতারা অফিসের অংশ আলাদা করার ব্যবস্থা আনলেন। Android-এর work profile আর Apple-এর managed app বা managed account ধরনের ব্যবস্থায় কাজের ডেটা আলাদা থাকে। ফলে selective wipe শুধু অফিসের অংশ মোছে। NIST SP 800-124 Rev. 2 (২০২৩) ব্যক্তিগত মালিকানার যন্ত্রকেও আলোচনায় আনে এবং mobile device-এর পুরো জীবনচক্রে নিরাপত্তার কথা বলে।

ভালো নকশার কয়েকটি নীতি। প্রথমত, উদ্দেশ্য সীমিত রাখুন: নিরাপত্তার যা দরকার, শুধু সেটুকু সংগ্রহ করুন, ব্যক্তিগত অবস্থান বা বার্তা নয়। এটি data minimization-এর সরাসরি প্রয়োগ। দ্বিতীয়ত, আগে থেকে জানান: কী দেখা যায়, কী যায় না, আর কখন কী মোছা হবে, সেটি লিখিতভাবে। তৃতীয়ত, বিকল্প দিন: যিনি রাজি নন, তাঁর জন্য অফিসের যন্ত্র বা browser-ভিত্তিক পথ। জোর করে চাপালে মানুষ নীতি এড়ানোর উপায় খোঁজেন।

আইনের প্রশ্নও আছে। ব্যক্তিগত উপাত্ত নিয়ে দায়িত্ব কর্মীর ক্ষেত্রেও প্রযোজ্য হতে পারে। বাংলাদেশের প্রেক্ষাপটের জন্য পর্ব ৬ আর পর্ব ৭০ দেখুন, আর নীতি চূড়ান্ত করার আগে আইনজ্ঞের পরামর্শ নিন। এই পর্ব আইনি পরামর্শ নয়।

মূল উপলব্ধি: নিরাপত্তার লক্ষ্য যন্ত্রের মালিকানা নয়, ডেটার সুরক্ষা। তাই পুরো ফোনের বদলে অফিসের ডেটাকে ঘিরে সীমা টানুন। মানুষের বিশ্বাস হারালে নীতিও হারায়।

অনুশীলন

হিসাব, নকশা আর ফলাফল অনুমান। আগে নিজে চেষ্টা করুন, তারপর উত্তর দেখুন।

  1. Coverage আর ক্ষতির হিসাব: একটি প্রতিষ্ঠানে আসল যন্ত্র ৪০০, inventory-তে ৩৬০, EDR বসানো ৩২৪, সুস্থ ২৮৮. ল্যাপটপ হারানোর বছরে অনুমিত ঘটনা ৩টি। FDE ছাড়া প্রতি ঘটনার ক্ষতি ধরুন ১৫ লাখ টাকা, FDE থাকলে ১ লাখ টাকা (সব সংখ্যা অনুমান)। (ক) দাবি করা coverage (বসানো ÷ inventory) আর বাস্তব coverage (সুস্থ ÷ আসল) কত? (খ) দুই ক্ষেত্রে ALE আর বছরে সাশ্রয় কত?

    (ক) দাবি: ৩২৪ ÷ ৩৬০ = ০.৯০, অর্থাৎ ৯০%. বাস্তব: ২৮৮ ÷ ৪০০ = ০.৭২, অর্থাৎ ৭২%. ফাঁক ১৮ শতাংশ-বিন্দু।

    (খ) ALE = ARO × SLE. FDE ছাড়া ৩ × ১৫ লাখ = ৪৫ লাখ টাকা। FDE-তে ৩ × ১ লাখ = ৩ লাখ টাকা। সাশ্রয় ৪২ লাখ টাকা বছরে। FDE-র নিজের খরচ (recovery key ব্যবস্থাপনা, সহায়তা) এর থেকে বাদ দিন। মনে রাখুন, সব ইনপুট অনুমান, তাই ফলও অনুমান।

  2. নকশা ও সমালোচনা: ৩০ জনের একটি NGO-র নীতিতে লেখা: “সবার ফোনে পুরো-যন্ত্র MDM বসবে। চাকরি ছাড়লে ফোন পুরো মুছে দেওয়া হবে। ল্যাপটপে antivirus আছে, তাই encryption দরকার নেই। USB সবার জন্য খোলা।” কী কী ভুল? একটি ভালো রূপ লিখুন।
    • পুরো ফোন মোছা: ব্যক্তিগত ডেটা নষ্ট হয়। ব্যক্তিগত ফোনে work profile আর selective wipe দিন।
    • Antivirus দিয়ে encryption-এর বদল: দুটি ভিন্ন ঝুঁকি। Antivirus চুরি হওয়া disk রক্ষা করে না।
    • USB: অনুমোদিত encrypted drive, autorun বন্ধ, আর নিরাপদ ফাইল শেয়ারের বিকল্প।
    • বাদ পড়েছে: Inventory, patch-এর সীমা, recovery key, admin অধিকার, হারানোর পরিকল্পনা, আর মানুষকে আগে জানানো।

    ভালো রূপ: “প্রতিষ্ঠানের ল্যাপটপে FDE ও automatic update. প্রতিদিনের কাজে admin নয়। ব্যক্তিগত ফোনে শুধু work profile, চাকরি ছাড়লে শুধু অফিসের অংশ মোছা। USB-তে শুধু অনুমোদিত encrypted drive. হারালে এক ঘণ্টার মধ্যে জানানো।”

  3. ফলাফল অনুমান: এই পর্বের allowlist-এর একই নিয়মে, allowPath-এ C:\Temp\ যোগ করা হলো (userWritable অপরিবর্তিত), আর tally.exe update হয়ে hash হলো h-tally2. Enforce mode-এ দুটি ঘটনার ফল কী হবে? (ক) C:\Temp\x.exe, hash h-x, signer নেই। (খ) নতুন tally.exe, signer নেই, আগের মতো C:\Users\rumi\-এ।

    (ক) BLOCK x.exe no rule matched. inPath সত্য, কিন্তু writable-ও সত্য, তাই inPath && !writable মিথ্যা। Engine-এর এই যাচাই ভুল করে যোগ করা path নিয়মকে আটকে দিল। আসল সিস্টেমে এমন রক্ষাকবচ সব সময় থাকে না, তাই folder-এর অধিকার নিজে দেখতে হয়।

    (খ) BLOCK tally.exe no rule matched. নতুন hash তালিকায় নেই, signer নেই, path-ও অনুমোদিত নয়। Hash নিয়মের দাম এটাই। সমাধান: প্রকাশকের সই করা version নেওয়া, অথবা যাচাই করে নতুন hash যোগ করা।

  4. নিজের যন্ত্রের নিরীক্ষা: অংশ ৩-এর command দিয়ে শুধু নিজের যন্ত্রের ছয়টি baseline যাচাই করুন: patch, প্রতিদিনের account, firewall, Secure Boot, disk encryption আর screen lock. আগে কোনটি ঠিক করবেন?

    ছয়টির ছোট একটি ছক বানান: অবস্থা, প্রমাণ, পরের কাজ। সাধারণ ক্রম: আগে update আর recovery key-সহ encryption, কারণ এগুলো বড় ঝুঁকি কমায়। Encryption চালুর আগে ডেটার backup নিন আর recovery key রাখুন। পরে প্রতিদিনের account সাধারণ করুন। Secure Boot বদলানোর আগে যন্ত্রের নির্মাতার নির্দেশ পড়ুন, কারণ BIOS বদলে কিছু OS চালু হওয়া বন্ধ হতে পারে। শেষে ছবি বা তালিকাটি কোথাও জমা রাখুন, আর তিন মাস পরে আবার দেখুন। অফিসের যন্ত্রে নিজে না বদলে IT দলকে জানান।

নিজেকে যাচাই করুন

ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।

ক্রমল্যাপটপ হারানোর পর করণীয়গুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)

  1. নির্ধারিত নম্বরে সাথে সাথে রিপোর্ট করা
  2. Session, token আর VPN বা SSH key বাতিল করা
  3. Remote lock বা wipe-এর নির্দেশ পাঠানো
  4. যন্ত্রে কী ডেটা ছিল আর encrypted ছিল কি না যাচাই করা
  5. ঝুঁকি মূল্যায়ন করে আইনি দায় ও জানানোর সিদ্ধান্ত নেওয়া
  6. Inventory হালনাগাদ করে শিক্ষা লিখে রাখা

একটি ল্যাপটপে full-disk encryption চালু আছে, আর ল্যাপটপটি login করা অবস্থায় চলছে। ব্যবহারকারী একটি ক্ষতিকর ফাইল চালিয়ে ফেললেন। FDE কী করবে?

  • ক্ষতিকর ফাইলকে ডেটা পড়তে দেবে না
  • তেমন কিছু করবে না; চলন্ত অবস্থায় ডেটা OS-এর কাছে খোলা থাকে
  • ফাইলটি স্বয়ংক্রিয়ভাবে মুছে দেবে
  • যন্ত্রকে network থেকে আলাদা করবে

একটি প্রতিষ্ঠানে আসল যন্ত্র ২৫০টি, inventory-তে ২০০টি, EDR বসানো ১৮০টি, আর গত ৭ দিনে সুস্থভাবে রিপোর্ট করেছে ১৫০টি। আসল EDR coverage কত?

  • ৯০%
  • ৭৫%
  • ৬০%
  • ৭২%

Allowlist-এর path নিয়ম কখন সবচেয়ে দুর্বল?

  • ফাইল খুব বড় হলে
  • ফাইলে digital signature থাকলে
  • Folder-এ শুধু admin লিখতে পারলে
  • অনুমোদিত folder-এ সাধারণ user লিখতে পারলে

Allowlist চালু করার সময় audit mode আগে ব্যবহারের প্রধান কারণ কী?

  • মানুষের কাজ না থামিয়ে কোন কোন program আটকে যেত তা জানা
  • Audit mode enforcement-এর চেয়ে বেশি malware আটকায়
  • এটি থাকলে software inventory লাগে না
  • এটি চিরকাল চালু রাখাই শেষ লক্ষ্য

ব্যবহারকারীর password আর MFA দুটোই ঠিক, কিন্তু conditional access payroll আটকে দিল। সবচেয়ে সম্ভাব্য কারণ কোনটি?

  • Password-এর মেয়াদ বা বানান ভুল
  • যন্ত্রটি compliance নীতি মানছে না
  • DNS কাজ করছে না
  • Payroll server-এর disk নষ্ট

Patch-এর বয়সের গড় ২৪ দিন, median ১৪ দিন, আর p90 ৫৪ দিন, সীমা ৩০ দিন। সবচেয়ে ঠিক ব্যাখ্যা কোনটি?

  • সব যন্ত্র ৩০ দিনের ভেতরে, কাজ শেষ
  • অর্ধেকের বেশি যন্ত্র ৫৪ দিনের বেশি পিছিয়ে
  • বেশিরভাগ যন্ত্র ভালো, তবে অল্প কিছু অনেক পিছিয়ে আছে
  • মোট যন্ত্রের সংখ্যা ৫৪

শব্দকোষ

লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন, অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:

মনে রাখুন

  1. Endpoint-এই মানুষ, চাবি আর ডেটা একসাথে থাকে। শুরু করুন inventory দিয়ে: CIS Control 1 ও 2.
  2. Baseline: patch, প্রতিদিনের কাজে admin নয়, host firewall, Secure Boot, disk encryption, screen lock.
  3. FDE মূলত বন্ধ যন্ত্র রক্ষা করে। Recovery key জমা, প্রমাণ সংরক্ষণ, আর হারানোর এক পাতার পরিকল্পনা লাগে।
  4. Signature জানা জিনিস ধরে, behaviour আর EDR অজানার দিকে যায়, allowlist অচেনাকে চলতেই দেয় না। Audit থেকে ধাপে ধাপে enforcement.
  5. MDM নীতি বসায়, compliance access-এর সাথে জোড়ে। Coverage-এর হর আসল যন্ত্র, আর “সুস্থ” মানে সত্যিই রিপোর্ট করছে।

পরের পর্বে: এতক্ষণ দেখলেন সব ধরনের যন্ত্রের সাধারণ ভিত্তি। পর্ব ৩০-এ নামব একটি OS-এর গভীরে: Linux hardening, CIS Benchmark, auditd, SELinux আর AppArmor.

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

এই পর্বটি শেয়ার করুন:
এই পর্বে ভুল পেয়েছেন? জানান