এই পর্বে যা শিখবেন
- যেকোনো ঘটনাকে confidentiality, integrity আর availability দিয়ে ভাগ করা
- একটি control কীভাবে এক লক্ষ্যে সাহায্য করে আর অন্য লক্ষ্যে খরচ বাড়ায়, তা ধরা
- Asset, threat, vulnerability, exploit, risk, control আর residual risk আলাদা করে বলা
- Risk matrix বানানো, আর এর সীমা জানা
- SLE, ARO আর ALE দিয়ে একটি control-এর লাভ-ক্ষতি হিসাব করা
- ঝুঁকি কমানো, ভাগ করা, এড়ানো বা মেনে নেওয়ার সিদ্ধান্ত আর control-এর ধরন বোঝা
১ · তিন প্রশ্নে নিরাপত্তা — CIA triad
একটি সভার দৃশ্য ভাবুন। কাল্পনিক একটি অনলাইন বাজারের মালিক জিজ্ঞেস করলেন, “আমাদের সিস্টেম কি নিরাপদ?” একজন বললেন, “হ্যাঁ, firewall আছে।” আরেকজন বললেন, “না, hacker তো সব জায়গায়।” দুজনেই কথা বললেন, কিন্তু কেউ প্রশ্নটির উত্তর দিলেন না। কারণ “নিরাপদ” শব্দটি একা কিছু বলে না। নিরাপদ কীসের থেকে? কোন জিনিসটি? কতটা?
এই পর্বে আমরা সেই সাধারণ ভাষাটি শিখব, যা দিয়ে নিরাপত্তার কথা পরিষ্কারভাবে বলা যায়। পর্ব ০১-এ আপনি দেখেছেন আমরা কী রক্ষা করছি আর কেন কাজটি কঠিন। এবার প্রথম ধাপ হলো প্রশ্নটিকে ভেঙে ফেলা।
ব্যাংকের লকারের কথা ভাবুন। আপনি তিনটি জিনিস চান। এক, আপনি ছাড়া কেউ ভেতরের গয়না দেখবে না। দুই, যা রেখেছেন ঠিক তা-ই থাকবে, কেউ সোনার বদলে নকল গয়না রেখে যাবে না। তিন, যেদিন দরকার সেদিন শাখা খোলা থাকবে আর লকার খোলা যাবে। এই তিনটি চাওয়াই CIA triad.
C · Confidentiality
Confidentiality মানে গোপনীয়তা: তথ্য শুধু অনুমতিপ্রাপ্ত মানুষ বা system দেখবে। আপনার মোবাইল ব্যাংকিংয়ের লেনদেনের তালিকা অন্য কেউ দেখলে এটি ভাঙে।
সাধারণ control: access control, encryptionI · Integrity
Integrity মানে অখণ্ডতা: তথ্য অনুমতি ছাড়া বদলায়নি, আর বদলালে ধরা যায়। আপনি ৫০০ টাকা পাঠালেন, কিন্তু রেকর্ডে ৫,০০০ হয়ে গেল, এখানে integrity ভেঙেছে।
সাধারণ control: hash, MAC, signature, audit logA · Availability
Availability মানে প্রাপ্যতা: দরকারের সময় তথ্য আর সেবা কাজ করবে। ঈদের আগের রাতে টাকা পাঠাতে গিয়ে app না খুললে ক্ষতিটি availability-র।
সাধারণ control: backup, redundancy, capacityলক্ষ করুন, ক্ষতি সবসময় শত্রু থেকে আসে না। Hard disk নষ্ট হলে, বন্যায় server ডুবলে বা কর্মীর ভুলে একটি টেবিল মুছে গেলেও CIA ভাঙে। তাই নিরাপত্তার কাজ শুধু hacker ঠেকানো নয়।
রক্ষকের চোখে তিনটি লক্ষ্যের সবচেয়ে বড় পার্থক্য হলো ভাঙলে কীভাবে জানবেন:
| লক্ষ্য | ভাঙলে কী হয় | কীভাবে টের পান | কত সহজে টের পান |
|---|---|---|---|
| Confidentiality | তথ্য ফাঁস। মূল তথ্য জায়গামতোই থাকে | log-এ অস্বাভাবিক পড়া বা তথ্য বাইরে যাওয়া, অথবা বাইরের কেউ জানালে | সবচেয়ে কঠিন, মাসের পর মাস অজানা থাকতে পারে |
| Integrity | তথ্য ভুল বা বদলানো | hash না মেলা, হিসাব না মেলা, audit log | মাঝারি, যাচাই না করলে নীরবে ছড়ায় |
| Availability | সেবা বন্ধ বা ধীর | monitoring alert, গ্রাহকের ফোন | সবচেয়ে সহজ, সবাই সঙ্গে সঙ্গে দেখেন |
চুরি হওয়া আলমারি খালি দেখা যায়। কিন্তু কেউ যদি আপনার গোপন খাতার ছবি তুলে খাতাটি জায়গামতো রেখে যায়, কিছুই খালি দেখাবে না। তাই confidentiality রক্ষায় শুধু ঠেকানো নয়, “কে কখন কী পড়েছে” তার রেকর্ড রাখাও জরুরি।
“CIA triad” নামটি কে প্রথম ব্যবহার করেন তা নিশ্চিত নয়, ধারণাটি ধীরে ধীরে গড়ে উঠেছে। ১৯৭৫ সালে Saltzer আর Schroeder তাঁদের বিখ্যাত প্রবন্ধে তিন ধরনের ক্ষতির কথা লেখেন: তথ্যের অননুমোদিত প্রকাশ, অননুমোদিত পরিবর্তন আর ব্যবহারে বাধা। আজকের মান-নথিতেও এই তিনটি আছে, যেমন NIST FIPS 199 (২০০৪) আর ISO/IEC 27000 সিরিজ।
২ · এক control এক দিকে সাহায্য, অন্য দিকে খরচ
নতুনরা ভাবেন তিনটি লক্ষ্যই একসঙ্গে সর্বোচ্চ করা যায়। বাস্তবে এদের মধ্যে টানাটানি আছে। লকারের চাবি শুধু একজনের কাছে থাকলে গোপনীয়তা বাড়ে, কিন্তু তিনি হারালে লকার আর খোলে না। নিচের ছবিতে তিনটি টানাটানি দেখুন।
CIA-এর তিন কোণ আর তাদের টানাটানি
Controls that help one goal can cost another
| Control | যেখানে সাহায্য করে | যেখানে খরচ বা ঝুঁকি বাড়ে |
|---|---|---|
| Encryption | Confidentiality: চুরি যাওয়া disk-এর ডেটা পড়া যায় না | Availability: key হারালে নিজের ডেটাই পড়তে পারবেন না |
| অনেকগুলো backup | Availability আর integrity: নষ্ট ডেটা ফেরানো যায় | Confidentiality: প্রতিটি কপি নতুন একটি জায়গা, যা রক্ষা করতে হয় |
| ভুল password-এ account lockout | Confidentiality: অনুমান করে ঢোকা কঠিন হয় | Availability: আসল ব্যবহারকারীও আটকে যেতে পারেন |
| MFA | Confidentiality আর integrity: password ফাঁস হলেও বাড়তি বাধা থাকে | Availability: ফোন হারালে নিজেই ঢুকতে পারবেন না, recovery-র পথ লাগে |
| Database replica | Availability: একটি server গেলেও সেবা চলে | Integrity: ভুল মুছে ফেলা মুহূর্তেই সব কপিতে যায়, তাই replica backup নয় |
| দুজনের অনুমোদন | Integrity: একার ভুল বা জালিয়াতি কমে | Availability: জরুরি কাজে দেরি হয় |
তাহলে কোনটিকে আগে রাখবেন? উত্তর নির্ভর করে কাজের ওপর। হাসপাতালের জরুরি বিভাগে রোগীর রেকর্ড সময়মতো না পেলে জীবন ঝুঁকিতে পড়ে, আর ভুল রক্তের গ্রুপ দেখালে আরও বড় বিপদ। সেখানে availability আর integrity প্রায়ই confidentiality-র সমান বা ওপরে। ব্যাংকের লেনদেনে integrity সবচেয়ে সংবেদনশীল। Password-এর ডেটাবেসে আগে আসে confidentiality. আর একটি পত্রিকার ওয়েবসাইটের লেখা তো গোপনই নয়, সেখানে integrity আর availability মুখ্য।
এবার একটি বাস্তবধর্মী ঘটনা ধাপে ধাপে ভাগ করে দেখি। ঘটনাটি পুরো কাল্পনিক, এর log-ও বানানো। খেয়াল করুন, প্রমাণ আসার সঙ্গে সঙ্গে আপনার সিদ্ধান্ত কীভাবে বদলায়।
09:00 checkout-api ERROR
order file cannot be read
09:20 file-check orders.db
hash mismatch, unreadable
10:10 fw-log entry at 08:30
outbound 2 GB
to 203.0.113.50
11:00 ir-note transfer had
customer_export.csv
15:30 restore backup 02:00 ok
orders 02:00-09:00 missing
incident closed
C, I and A all affected
| C · Confidentiality | |
| I · Integrity | |
| A · Availability |
- প্রথম লক্ষণ। গ্রাহকরা checkout করতে পারছেন না, order ফাইল পড়া যাচ্ছে না। সেবা বন্ধ, তাই availability ভেঙেছে এটি নিশ্চিত। Confidentiality আর integrity সম্পর্কে এখনো কিছু জানা নেই। “অজানা” মানে “ঠিক আছে” নয়।
- ফাইল বদলেছে। ফাইলের hash আগের রেকর্ডের সঙ্গে মিলছে না, আর ভেতরের লেখা পড়া যাচ্ছে না। অনুমতি ছাড়া ফাইল বদলেছে, তাই integrity-ও ভেঙেছে। লক্ষণ মিলছে ransomware-এর সঙ্গে, যা ফাইল encrypt করে ফেলে।
- বাইরে ডেটা গেছে। Firewall log-এ দেখা গেল ঘটনার আগে ০৮:৩০-এ 2 GB ডেটা একটি অচেনা ঠিকানায় গেছে। এটি confidentiality ভাঙার সন্দেহ জাগায়, প্রমাণ নয়। কী গেছে তা এখনো অজানা।
- সন্দেহ নিশ্চিত। তদন্তে জানা গেল গ্রাহকের তালিকার ফাইলও সেই ডেটার মধ্যে ছিল। এখন confidentiality ভাঙা নিশ্চিত। Availability-র ঘটনাটি আসলে তথ্য ফাঁসেরও ঘটনা। শুধু সেবা চালু করলেই কাজ শেষ হয় না, গ্রাহককে জানানোর প্রশ্নও আসে।
- Backup থেকে ফেরা। ০২:০০-র backup থেকে ডেটা ফিরল, সেবা চালু হলো। কিন্তু ০২:০০ থেকে ০৯:০০ পর্যন্ত সাত ঘণ্টার order নেই। Availability ফিরেছে, কিন্তু integrity পুরো ফেরেনি। Backup-এর তাজা হওয়ার ব্যবধানই এই ক্ষতি ঠিক করেছে।
- চূড়ান্ত ফল। ০৯:০০ থেকে ১৫:৩০, মোট সাড়ে ছয় ঘণ্টা সেবা বন্ধ ছিল। এক ঘটনাতেই তিনটি লক্ষ্য ভেঙেছে। শিক্ষা: প্রথম লক্ষণ দিয়ে ঘটনার ধরন ঠিক করবেন না। Incident response নিয়ে বিস্তারিত পর্ব ৬১-তে আসবে, আর ransomware প্রতিরক্ষা পর্ব ৩৪-এ।
Ransomware-কে কোন ঘরে ফেলবেন, তা নিয়ে বইভেদে ভিন্নতা আছে। কেউ একে মূলত availability-র ক্ষতি বলেন, কেউ integrity-রও। পরীক্ষায় কারণসহ লিখুন: ফাইল অনুমতি ছাড়া বদলেছে, তাই integrity. ব্যবহার করা যাচ্ছে না, তাই availability. ডেটা বাইরে গেলে confidentiality-ও।
৩ · CIA-র বাইরে — authenticity, non-repudiation, accountability
CIA খুব কাজের, কিন্তু সব প্রশ্নের উত্তর দেয় না। ধরুন একটি পেমেন্টের নির্দেশ এলো। তথ্যটি গোপন আছে, বদলায়নি, সময়মতো পৌঁছেছে। তবু প্রশ্ন থাকে: নির্দেশটি কি সত্যিই মালিকের? তিনি পরে অস্বীকার করলে কী হবে? আর এই নির্দেশ অনুমোদন করলেন কে? এখানেই আরও তিনটি ধারণা আসে।
| ধারণা | প্রশ্ন | দৈনন্দিন তুলনা | সাধারণ control |
|---|---|---|---|
| Authenticity | তথ্য বা ব্যক্তি কি দাবি অনুযায়ী আসল? | পোস্ট অফিসের সিলমোহর, দারোয়ানের দেখা পরিচয়পত্র | authentication, digital signature |
| Non-repudiation | কাজটি করে পরে অস্বীকার করা যাবে কি? | দলিলে সই আর সাক্ষী | digital signature, সুরক্ষিত log |
| Accountability | কোন কাজের জন্য কে দায়ী, তা বের করা যায় কি? | অফিসের রেজিস্টার খাতায় সই | নিজস্ব account, audit log |
একটি বাস্তব ভুল দেখুন। পুরো অফিস একটিই admin account ব্যবহার করলে log-এ লেখা থাকবে “admin তথ্য মুছেছে”। পাঁচজনের মধ্যে কে মুছলেন, তা জানার উপায় নেই। এখানে accountability নেই, যদিও password খুব শক্ত হতে পারে। সমাধান হলো প্রত্যেকের আলাদা account.
Parkerian hexad: Donn Parker ১৯৯৮ সালে Fighting Computer Crime বইয়ে ছয়টি উপাদানের কাঠামো দেন: CIA-র তিনটির সঙ্গে possession বা control, authenticity আর utility. Possession বলে: চুরি হওয়া encrypted disk কেউ পড়তে না পারলেও জিনিসটি আপনার হাতছাড়া। Utility বলে: key হারানো ডেটা আছে ঠিকই, কিন্তু আর কাজে লাগে না। সীমানা নিয়ে মতভেদও আছে। যেমন FIPS 199 non-repudiation আর authenticity-কে integrity-র ভেতরেই ধরে। তাই নামের চেয়ে প্রশ্নটি জানা বেশি জরুরি।
৪ · Asset থেকে residual risk — শব্দগুলোর আসল পার্থক্য
নিরাপত্তার আলোচনায় সবচেয়ে বেশি গোলমাল হয় এই শব্দগুলো নিয়ে। “Hacker একটি বড় risk”, “এই bug-টা threat”, এমন কথা প্রায়ই শোনা যায়, আর এগুলো ঠিক নয়। একটি বাড়ির উদাহরণে সব শব্দ একসঙ্গে বসিয়ে দেখি।
আপনার বাড়ির আলমারিতে গয়না আছে, এটি asset. মহল্লায় একটি চোরের দল ঘোরে, এরা threat actor. তাদের চুরি করতে আসার সম্ভাবনাটি হলো threat. পেছনের জানালার গ্রিল ভাঙা, এটি vulnerability. ভাঙা গ্রিল দিয়ে ঢোকার উপায়টি exploit. গয়না চুরি যাওয়ার সম্ভাবনা আর ক্ষতির পরিমাণ মিলে risk. গ্রিল মেরামত আর ব্যাংকের লকার হলো control. এত কিছুর পরও যে ঝুঁকি থেকে যায়, সেটি residual risk.
| শব্দ | মানে | কাল্পনিক অনলাইন বাজারে |
|---|---|---|
| Asset | যার মূল্য আছে, তাই রক্ষা করা দরকার | গ্রাহকের database, সুনাম, চলমান সেবা |
| Threat | ক্ষতি ঘটাতে পারে এমন সম্ভাব্য ঘটনা বা কারণ | গ্রাহকের তথ্য ফাঁস, বন্যা, কর্মীর ভুল |
| Threat actor | ক্ষতির পেছনের মানুষ বা দল, যদি থাকে | অপরাধী দল, অসন্তুষ্ট কর্মী |
| Vulnerability | নকশা, কোড, প্রক্রিয়া বা মানুষের দুর্বলতা | admin panel-এ MFA নেই, পুরোনো software |
| Exploit | দুর্বলতাকে কাজে লাগানোর উপায়, ধারণা হিসেবে | “চুরি হওয়া password দিয়ে login” ধরনের পথ |
| Risk | ক্ষতি ঘটার সম্ভাবনা আর ক্ষতির মাত্রার মিলিত রূপ | “এ বছর তথ্য ফাঁস হতে পারে, ক্ষতি বড়” |
| Control | ঝুঁকি কমানোর ব্যবস্থা | MFA, backup, কর্মী প্রশিক্ষণ |
| Residual risk | control-এর পরও যা থেকে যায় | “MFA-র পরও অল্প কিছু ঝুঁকি থাকে” |
তিনটি পার্থক্য মনে রাখলে প্রায় সব গোলমাল মিটে যায়। Vulnerability আপনার ভেতরের জিনিস, তাই সেটি বদলাতে পারেন। Threat সাধারণত বাইরের জিনিস, সেটি প্রায়ই আপনার হাতে নেই, যেমন বন্যা বা অপরাধী দল। আর risk দুটির মিলন: threat না থাকলে দুর্বলতা থেকে ঝুঁকি কম, দুর্বলতা না থাকলে threat ক্ষতি করতে পারে না। ভাঙা গ্রিল জনমানবহীন দ্বীপের বাড়িতে যত ঝুঁকির, ভিড়ের শহরে তার চেয়ে অনেক বেশি।
ঝুঁকির শিকল আর control কোথায় বসে
From threat actor to impact, and where each control acts
আইনের সীমা: এখানে exploit শব্দটি শুধু ধারণা হিসেবে এসেছে। নিজের নয় এমন system-এ লিখিত অনুমতি ছাড়া দুর্বলতা খোঁজা বা পরীক্ষা করা অপরাধ হতে পারে। এই কোর্সে দুর্বলতা পড়া হয় তা বন্ধ করার জন্য। সীমারেখাটি পর্ব ০৬-এ (আইন আর নৈতিকতা) বিস্তারিত আসবে।
সংজ্ঞা উৎসভেদে আলাদা: ISO/IEC 27000-এ threat হলো অনাকাঙ্ক্ষিত ঘটনার সম্ভাব্য কারণ, আর vulnerability হলো asset বা control-এর দুর্বলতা। NIST SP 800-30 Rev. 1 “threat source” আর “threat event” আলাদা করে। কেউ কেউ দৈনন্দিন কথায় threat actor-কেই threat বলেন। ISO 31000 risk-কে আরও সাধারণভাবে বলে “উদ্দেশ্যের ওপর অনিশ্চয়তার প্রভাব”, যা ইতিবাচকও হতে পারে। পরীক্ষায় বা নথিতে যে সংজ্ঞা ব্যবহার করছেন, সেটি জানিয়ে দিন।
এবার একটি asset ধরে পুরো শিকলটি হাঁটি। Likelihood আর impact-এর ১ থেকে ৫ স্কোর ধরে নেওয়া, হিসাবের জন্য পরের অংশে নিয়ম দেখবেন।
- Assetকী রক্ষা করছি
- Threatকী ঘটতে পারে
- Vulnerabilityকোন দুর্বলতায়
- Riskসম্ভাবনা × মাত্রা
- Controlকী ব্যবস্থা
- Residual riskযা থেকে গেল, কে মেনে নিলেন
| Asset | |
| Threat | |
| Vulnerability | |
| Likelihood | |
| Impact | |
| Score | |
| Control |
- Asset ঠিক করা। শুরুটা সবসময় “কী রক্ষা করছি” দিয়ে। এখানে এক লাখ গ্রাহকের নাম, ফোন আর ঠিকানার database. এই asset-এর ক্ষেত্রে confidentiality সবচেয়ে সংবেদনশীল।
- Threat লেখা। কী ঘটলে ক্ষতি হবে? গ্রাহকের তথ্য অনুমতি ছাড়া বাইরে যাওয়া। লক্ষ করুন, এখনো কোনো সংখ্যা নেই, কেবল ঘটনার বর্ণনা।
- Vulnerability খোঁজা। নিজের system-এই খুঁজে দেখা গেল admin panel-এ শুধু password লাগে, MFA নেই। অনেক কর্মী অন্য সাইটেও একই password ব্যবহার করেন। এটিই ফাঁক।
- Risk মাপা। দলটি ধরে নিল likelihood ৩, impact ৫। তাই score 3 × 5 = 15, যা High. এটি মাপা সত্য নয়, দলের বিচার। তবে এখন অন্য ঝুঁকির সঙ্গে তুলনা করা যায়।
- প্রথম control. MFA চালু হলো আর সন্দেহজনক login-এ alert বসল। ঘটনার সম্ভাবনা কমে likelihood ২ হলো, কিন্তু ঘটলে ক্ষতি একই, তাই impact ৫। Score 2 × 5 = 10, এখনো High. MFA শুধু সম্ভাবনা কমিয়েছে।
- দ্বিতীয় control আর residual risk. অপ্রয়োজনীয় পুরোনো ডেটা মুছে ফেলা হলো, ফাঁস হলে ক্ষতি কম, তাই impact ৪। Score 2 × 4 = 8, যা Medium. এই ৮-ই residual risk. শূন্য হয়নি, হবেও না। ঝুঁকির দায়িত্বপ্রাপ্ত ব্যক্তি লিখিতভাবে এটি মেনে নিলেন, আর ছয় মাস পরে আবার দেখা হবে।
৫ · Risk = likelihood × impact — matrix আর তার সীমা
সব ঝুঁকি একসঙ্গে সামলানো যায় না, কারণ সময় আর টাকা সীমিত। তাই একটি সহজ প্রশ্ন দিয়ে সাজানো হয়: ঘটার সম্ভাবনা কত, আর ঘটলে ক্ষতি কত?
রিকশায় চড়ার তুলনাটি ভাবুন। হালকা ধাক্কা প্রায়ই লাগে, ক্ষতি সামান্য। বড় দুর্ঘটনা কম ঘটে, কিন্তু ক্ষতি ভয়াবহ। মানুষ দুটিকে আলাদাভাবে সামলায়। Qualitative পদ্ধতিতে সংখ্যার বদলে “কম, মাঝারি, বেশি” ধরনের স্তর ব্যবহার করা হয়, আর সেগুলো বসানো হয় একটি risk matrix-এ। নিচের ৫ × ৫ matrix-এর স্তরের সীমাগুলো এই পর্বের জন্য ধরে নেওয়া। প্রতিটি প্রতিষ্ঠান নিজের সীমা ঠিক করে।
৫ × ৫ Risk matrix
Score = likelihood × impact · bands are assumed
নিচের কোডে একটি কাল্পনিক risk register-কে এই নিয়মে সাজানো হয়েছে। স্কোরগুলো বদলে নিজেই চালিয়ে দেখুন।
// Toy risk register for a fictional online bazaar.
// L = likelihood, I = impact, both assumed on a 1-5 scale.
const risks = [
{ name: 'Customer data leak', L: 3, I: 5 },
{ name: 'Staff phishing', L: 4, I: 3 },
{ name: 'Site down in Eid sale', L: 3, I: 4 },
{ name: 'Office laptop stolen', L: 3, I: 2 },
{ name: 'Data centre flood', L: 1, I: 5 },
{ name: 'Spam on contact form', L: 5, I: 1 },
];
function band(score) {
if (score >= 16) return 'Critical';
if (score >= 10) return 'High';
if (score >= 5) return 'Medium';
return 'Low';
}
const scored = risks
.map(r => ({ ...r, score: r.L * r.I, band: band(r.L * r.I) }))
.sort((a, b) => b.score - a.score);
for (const r of scored) {
console.log(`${String(r.score).padStart(2)} ${r.band.padEnd(8)} ` +
`L=${r.L} I=${r.I} ${r.name}`);
}
const tie = scored.filter(r => r.score === 5).map(r => r.name);
console.log('Same score, very different risks: ' + tie.join(' / '));প্রথম সারিতে পাবেন 15 High L=3 I=5 Customer data leak, তাই এটি তালিকার ওপরে। এরপর দুটি ঝুঁকির স্কোরই ১২। শেষ লাইনটিই আসল শিক্ষা: Same score, very different risks: Data centre flood / Spam on contact form. দুটিরই স্কোর ৫, অথচ একটি প্রতিষ্ঠান বন্ধ করে দিতে পারে, অন্যটি কেবল বিরক্তিকর।
এই সূত্রের সীমা
- স্কোরগুলো ক্রম, পরিমাপ নয়: ৪ মানে ২-এর দ্বিগুণ ঝুঁকি নয়। “মাঝারি × বেশি” গণিতের দিক থেকে অর্থহীন, গুণ শুধু সাজানোর একটি সুবিধা।
- একই স্কোর, ভিন্ন ঝুঁকি: উপরের কোডেই আপনি দেখলেন। স্কোর দেখে ঘটনার চরিত্র বোঝা যায় না।
- মানুষের পক্ষপাত: সাম্প্রতিক খবরে যা দেখেছি তাকে বেশি সম্ভাব্য মনে হয়। একই ঝুঁকিতে দুজন দুই স্কোর দিতে পারেন।
- ঝুঁকিগুলো আলাদা নয়: একটি ঘটনা আরেকটিকে ডেকে আনতে পারে। আলাদা ঘরে থাকা দুটি Medium একসঙ্গে হলে বড় ক্ষতি হতে পারে।
- সময় বাদ পড়ে: আজকের Low কাল High হতে পারে, যখন দুর্বলতার খবর প্রকাশ হয়।
Tony Cox তাঁর “What's Wrong with Risk Matrices?” (Risk Analysis, ২০০৮) প্রবন্ধে দেখান, matrix ভিন্ন ঝুঁকিকে একই ঘরে ফেলতে পারে, কখনো ছোট ঝুঁকিকে বড়টির চেয়ে ওপরের স্তরও দিতে পারে। তবু matrix টিকে আছে, কারণ এটি দ্রুত, সবাই বোঝেন, আর আলোচনা শুরু করায়। একে সিদ্ধান্তের শেষ কথা নয়, শুরুর হাতিয়ার ভাবুন।
আরও সূত্র আছে: কোনো কোনো বইয়ে লেখা থাকে Risk = Threat × Vulnerability × Impact. আবার FAIR মডেল ঝুঁকিকে ক্ষতির ঘটনার হার আর ক্ষতির পরিমাণে ভাঙে, যা পর্ব ৬৮-তে আসবে। সবার মূল কথা এক, শুধু ভাঙার গভীরতা আলাদা। আর CVSS স্কোর দুর্বলতার তীব্রতা মাপে, আপনার প্রতিষ্ঠানের ঝুঁকি নয়। সেটি পর্ব ৩২-এ দেখবেন।
৬ · টাকার অঙ্কে ঝুঁকি — SLE, ARO আর ALE
“High” বলে ব্যবস্থাপককে বাজেট চাইলে তিনি জিজ্ঞেস করবেন, “কত টাকার ঝুঁকি?” Quantitative পদ্ধতি এই প্রশ্নের উত্তর দেওয়ার চেষ্টা করে। বছরের পর বছর ধরে ব্যবহৃত সবচেয়ে সহজ রূপটি হলো ALE.
| নাম | পুরো রূপ | মানে | সূত্র |
|---|---|---|---|
| AV | Asset Value | asset-এর মোট মূল্য | টাকায় |
| EF | Exposure Factor | একটি ঘটনায় মূল্যের কত অংশ যায় | 0 থেকে 1 |
| SLE | Single Loss Expectancy | একবার ঘটলে সম্ভাব্য ক্ষতি | AV × EF |
| ARO | Annualized Rate of Occurrence | বছরে গড়ে কতবার ঘটে | ০.৫ মানে দুই বছরে একবার |
| ALE | Annualized Loss Expectancy | বছরে গড় প্রত্যাশিত ক্ষতি | SLE × ARO |
নিচের সব সংখ্যা উদাহরণের জন্য ধরে নেওয়া, কোনো বাস্তব প্রতিষ্ঠান বা বাজারদর নয়। গ্রাহকের database-এর AV ধরা হলো ৫০ লাখ টাকা। Control-এর সিদ্ধান্তটি এক ধাপ করে দেখুন।
1AV = 50000002EF = 0.43SLE = AV * EF4ARO = 0.55ALE_before = SLE * ARO6ALE_after = SLE * 0.17reduced = ALE_before - ALE_after8net = reduced - 300000
| AV | |
| EF | |
| SLE | |
| ARO | |
| ALE আগে | |
| ALE পরে | |
| কমানো ঝুঁকি | |
| নিট লাভ |
- Asset-এর মূল্য। ধরা হলো AV = 50,00,000 টাকা। একটি বড় ফাঁসে এর ৪০% ক্ষতি হবে, অর্থাৎ EF = 0.4. এই ক্ষতিতে থাকে তদন্ত, গ্রাহককে জানানো আর ব্যবসা হারানো।
- এক ঘটনার ক্ষতি। SLE = 50,00,000 × 0.4 = 20,00,000 টাকা। প্রতিবার ঘটলে গড়ে এই পরিমাণ ক্ষতি।
- কতবার ঘটে। ধরা হলো দুই বছরে একবার, তাই ARO = 0.5. খেয়াল রাখুন, ARO ১-এর কম হতেই পারে, এটি কোনো সম্ভাবনা নয়, একটি হার।
- Control-এর আগে। ALE = 20,00,000 × 0.5 = 10,00,000 টাকা। প্রতি বছর ঠিক এই ক্ষতি হবে তা নয়, বহু বছরের গড় এটি।
- Control-এর পরে। MFA আর patching-এর বছরে খরচ 3,00,000 টাকা ধরা হলো। এতে ARO কমে 0.1, অর্থাৎ দশ বছরে একবার। SLE একই থাকে। নতুন ALE = 20,00,000 × 0.1 = 2,00,000 টাকা।
- কতটা ঝুঁকি কমল। 10,00,000 − 2,00,000 = 8,00,000 টাকা। এটি control-এর বছরের সুবিধা।
- সিদ্ধান্ত। নিট লাভ = 8,00,000 − 3,00,000 = 5,00,000 টাকা। ইতিবাচক, তাই টাকার হিসাবে control নেওয়া যুক্তিসংগত। পরীক্ষায় সূত্রটি লিখুন: ALE আগে − ALE পরে − control-এর বছরের খরচ.
একাধিক control-এর মধ্যে বাছাই করতে চাইলে হিসাবটি কোডে তুলনা করা সহজ। ROSI (Return on Security Investment) মানে নিট লাভকে খরচের শতাংশ হিসেবে দেখানো।
// ALE calculator. All money values are assumed, in taka per year.
const risk = { AV: 5000000, EF: 0.4, ARO: 0.5 }; // customer database
const ale = r => r.AV * r.EF * r.ARO;
const before = ale(risk);
console.log(`SLE = ${risk.AV * risk.EF}, ALE before = ${before}`);
const row = (name, ...cols) => console.log(name.padEnd(18) +
cols.map((c, i) => String(c).padStart([8, 10, 9, 9, 8][i])).join(''));
row('control', 'cost', 'ALE-after', 'reduced', 'net', 'ROSI');
const controls = [
{ name: 'A: MFA + patching', cost: 300000, ARO: 0.1 },
{ name: 'B: DB encryption', cost: 150000, EF: 0.2 },
{ name: 'A + B together', cost: 450000, ARO: 0.1, EF: 0.2 },
{ name: 'C: premium suite', cost: 1000000, ARO: 0.05 },
];
for (const c of controls) {
const after = ale({ ...risk, ...c });
const reduced = before - after;
const net = reduced - c.cost;
const rosi = (net / c.cost * 100).toFixed(1) + '%';
row(c.name, c.cost, after, reduced, net, rosi);
}ফলের চারটি সারি থেকে চারটি শিক্ষা পাই। A-র net 500000. B-র ROSI বেশি (233.3%), কিন্তু নিট লাভ কম (350000), তাই শুধু শতাংশ দেখে বাছবেন না। A + B together-এর নিট লাভ 450000, যা A একার চেয়ে কম, কারণ দুটি control একই ঝুঁকির ওপর কাজ করে আর কমানো অংশ যোগ হয় না। C একাই A + B together-এর সমান 900000 কমায়, তবু তার নিট লাভ -100000, অর্থাৎ ঝুঁকি কমানোর দাম সুবিধার চেয়ে বেশি। তবে মনে রাখবেন, দ্বিতীয় স্তরের control-এর মূল্য শুধু গড়ে ধরা পড়ে না, পরের কোডে সেটি দেখবেন।
ALE-এর সীমা — গড় সংখ্যা যা লুকিয়ে রাখে
ALE হলো একটি প্রত্যাশিত মান, অর্থাৎ বহু বছরের গড়। প্রথম সমস্যা হলো অনিশ্চয়তা। উপরের A control-এ আসল ARO 0.5 না হয়ে 0.2 হলে (আর control একই অনুপাতে, 0.04-এ নামালে) কমানো ঝুঁকি হয় 3,20,000 টাকা, আর নিট লাভ মাত্র 20,000 টাকা। ARO অনুমানে সামান্য বদলেই সিদ্ধান্ত প্রায় উল্টে যেতে পারে। সংখ্যাটি নিখুঁত দেখায় বলে নিখুঁত নয়।
দ্বিতীয় সমস্যা আরও গভীর। ধরুন দুটি ঝুঁকির ALE একই, ১০ লাখ টাকা। একটি বছরে দশবার ঘটে, প্রতিবার এক লাখ। অন্যটি একশো বছরে একবার ঘটে, ক্ষতি ১০ কোটি। প্রতিষ্ঠানের জরুরি তহবিল ধরা হলো ৫০ লাখ। নিচের কোড ১০,০০০ কাল্পনিক বছর চালিয়ে দেখায়। Random সংখ্যার seed বাঁধা, তাই প্রতিবার একই ফল আসে।
// Two toy risks with the SAME ALE, simulated with a seeded PRNG.
function mulberry32(a) {
return () => {
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 rand = mulberry32(2026);
function poisson(rate) { // number of events in one year
const limit = Math.exp(-rate);
let k = 0, p = 1;
do { k++; p *= rand(); } while (p > limit);
return k - 1;
}
function simulate(name, sle, aro) {
const YEARS = 10000, RESERVE = 5000000;
let total = 0, worst = 0, zero = 0, ruin = 0;
for (let y = 0; y < YEARS; y++) {
const loss = poisson(aro) * sle;
total += loss;
worst = Math.max(worst, loss);
if (loss === 0) zero++;
if (loss > RESERVE) ruin++;
}
console.log(`${name}: ALE formula=${sle * aro}, average=${Math.round(total / YEARS)}`);
console.log(` worst year=${worst}, no-loss years=${zero}, ` +
`years above reserve=${ruin}`);
}
simulate('Small frequent', 100000, 10);
simulate('Rare disaster ', 100000000, 0.01);দুটির গড় প্রায় সমান: average=996790 আর average=990000. কিন্তু ছোট ঝুঁকির সবচেয়ে খারাপ বছর worst year=2400000, তহবিলের ভেতরে। বড় ঝুঁকিতে ৯,৯০১ বছর কোনো ক্ষতিই নেই (no-loss years=9901), অথচ worst year=100000000, আর years above reserve=99. গড় বলছে দুটি সমান, বাস্তবে একটি বিরক্তিকর খরচ, অন্যটি প্রতিষ্ঠানের অস্তিত্বের প্রশ্ন। তাই বড় ক্ষতির ঝুঁকিতে শুধু ALE নয়, সবচেয়ে খারাপ অবস্থাও দেখুন। Insurance আর defense in depth-এর যুক্তি এখানেই।
৭ · Risk treatment — চারটি সিদ্ধান্ত
ঝুঁকি মাপার পর ঠিক করতে হয় তা নিয়ে কী করবেন। এই সিদ্ধান্তকে বলে risk treatment. রাজধানীর একটি দোকানের মালিকের কথা ভাবুন, যিনি আগুনের ঝুঁকি নিয়ে ভাবছেন।
Mitigate · কমানো
Control বসিয়ে সম্ভাবনা বা ক্ষতি কমানো। দোকানে অগ্নিনির্বাপক আর ভালো তার। IT-তে MFA, patching, backup.
সবচেয়ে সাধারণ পথTransfer · হস্তান্তর
আর্থিক ক্ষতির ভার অন্য পক্ষের সঙ্গে ভাগ করা। দোকানের অগ্নিবিমা। IT-তে cyber insurance, চুক্তির ধারা।
দায়িত্ব পুরো যায় নাAvoid · এড়ানো
ঝুঁকির কাজটিই বন্ধ করা। গুদামে দাহ্য মাল না রাখা। IT-তে যে ডেটা দরকার নেই তা সংগ্রহই না করা।
কাজ বাদ দেওয়ার দাম আছেAccept · মেনে নেওয়া
জেনে-বুঝে ঝুঁকি রেখে দেওয়া, কারণ তা ছোট বা কমানোর খরচ বেশি। লিখিত সিদ্ধান্ত, দায়িত্বপ্রাপ্ত ব্যক্তি আর পুনর্মূল্যায়নের তারিখ লাগে।
না দেখা মেনে নেওয়া নয়দুটি সাধারণ ভুল। এক, insurance নিলেই ঝুঁকি শেষ, এমন ভাবা। বিমা টাকা ফেরাতে পারে, কিন্তু গ্রাহকের তথ্য, আস্থা আর আইনি দায়িত্ব ফেরায় না। এজন্য ISO/IEC 27005 “sharing” শব্দটি ব্যবহার করে। দুই, patch না দিয়ে কিছু না বলে ফেলে রাখা। এটি accept নয়, এটি অবহেলা। Accept করা মানে একজন risk owner নাম লিখে দায়িত্ব নেন।
বাস্তবে একটি ঝুঁকিতে একাধিক পথ একসঙ্গে নেওয়া হয়। Risk register-এ প্রতিটির সিদ্ধান্ত লেখা থাকে। প্রতিষ্ঠান কতটা ঝুঁকি মানতে রাজি, তাকে বলে risk appetite, যা ঠিক করেন শীর্ষ ব্যবস্থাপনা, কোনো একা প্রকৌশলী নন।
| ঝুঁকি | Score | সিদ্ধান্ত | কাজ | Owner |
|---|---|---|---|---|
| গ্রাহকের তথ্য ফাঁস | 15 | Mitigate + Transfer | MFA, কম ডেটা, বিমা | CTO |
| ঈদের sale-এ সাইট বন্ধ | 12 | Mitigate | capacity পরীক্ষা, redundancy | Ops প্রধান |
| পুরোনো ফিচারের ডেটা | 6 | Avoid | ফিচার আর ডেটা মুছে ফেলা | Product প্রধান |
| Contact form-এ spam | 5 | Accept | ৬ মাস পর আবার দেখা | Support প্রধান |
৮ · Control-এর ধরন — কী কাজ করে, আর কোন রূপে
Control-কে দুইভাবে ভাগ করা হয়। প্রথম ভাগটি হলো কাজ অনুযায়ী, অর্থাৎ ঘটনার কোন সময়ে সে কী করে। দ্বিতীয় ভাগটি রূপ অনুযায়ী, অর্থাৎ সেটি কাগজের নিয়ম, যন্ত্র, না শারীরিক কিছু। মহল্লার পাহারা দিয়ে ভাবুন: “CCTV চালু আছে” সাইনবোর্ড ভয় দেখায়, গেটের তালা ঠেকায়, CCTV ধরে, আর ভাঙা তালা বদলানো ক্ষতি সারায়।
| কাজ ↓ · রূপ → | Administrative | Technical | Physical |
|---|---|---|---|
| Preventive · ঠেকায় | ন্যূনতম অনুমতির নীতি | MFA, firewall | সার্ভার রুমের তালা |
| Detective · ধরে | নিয়মিত access পর্যালোচনা | log monitoring, IDS | CCTV, মোশন সেন্সর |
| Corrective · সারায় | incident response পরিকল্পনা | backup থেকে restore, patch | নষ্ট দরজা বদলানো, অগ্নিনির্বাপণ |
| Deterrent · নিরুৎসাহিত করে | শাস্তির নীতি জানানো | login-এ আইনি সতর্কবার্তা | সতর্কতার সাইনবোর্ড, দৃশ্যমান গার্ড |
প্রতিটি control-কে তিনটি প্রশ্ন করুন: সে কী ঠেকায়, কী ঠেকায় না, আর ব্যর্থ হলে আপনি কীভাবে জানবেন?
| Control | যা ঠেকায় | যা ঠেকায় না | কীভাবে জানবেন |
|---|---|---|---|
| MFA | শুধু password দিয়ে login | আগে থেকে দখল হওয়া device, session চুরি | নতুন device-এর login alert |
| Backup | ডেটা হারানো | তথ্য ফাঁস। Ransomware backup-ও নষ্ট করতে পারে | নিয়মিত restore-এর মহড়া |
| প্রশিক্ষণ | কিছু মানবিক ভুল | সব ভুল, ক্লান্ত মানুষ ভুল করবেনই | রিপোর্টের হার, নিরাপদ মহড়া |
একটি control একাধিক ঘরে পড়তে পারে। Log-এর কথা জানা থাকলে কর্মী অন্যায় থেকে বিরত থাকেন, আবার সেই log ঘটনাও ধরে। আর কেবল একধরনের control যথেষ্ট নয়। শুধু preventive থাকলে একবার বাধা পার হলে আপনি অন্ধ। তাই ভালো নকশায় প্রতিটি বড় ঝুঁকিতে ঠেকানো, ধরা আর সারানো, তিনটিই থাকে। পর্ব ০৩-এ এই চিন্তাই defense in depth নামে আসবে।
আরও গভীরে: নাম নিয়েও ভিন্নতা আছে। অনেক বই administrative-কে managerial বলে, কেউ operational নামে আলাদা একটি ভাগ রাখে। Compensating (মূল control না থাকলে বিকল্প), recovery আর directive ভাগও দেখবেন। NIST SP 800-30 Rev. 1 ঝুঁকি মূল্যায়নের পদ্ধতি দেয়, NIST SP 800-53 control-এর তালিকা, আর ISO/IEC 27005 ঝুঁকি ব্যবস্থাপনার নির্দেশনা। FIPS 199 C, I আর A-র জন্য আলাদা করে low, moderate বা high প্রভাব নির্ধারণ করতে বলে, যা অনেক প্রতিষ্ঠানের ডেটা শ্রেণিবিভাগের ভিত্তি।
পরীক্ষা ও ইন্টারভিউতে:
- Threat আর vulnerability-র পার্থক্য? Threat হলো সম্ভাব্য ক্ষতির কারণ, vulnerability হলো যে দুর্বলতার মধ্য দিয়ে ক্ষতি ঘটে।
- ALE কীভাবে বের করবেন? SLE = AV × EF, তারপর ALE = SLE × ARO.
- Control-এর মূল্য যাচাই? ALE আগে − ALE পরে − বছরের খরচ ইতিবাচক হলে টাকার হিসাবে লাভজনক।
- Residual risk শূন্য করা যায়? সাধারণত না। লক্ষ্য হলো risk appetite-এর মধ্যে আনা।
- Replica থাকলে backup লাগে? লাগে। Replica ভুল মুছে ফেলাও কপি করে, backup আগের অবস্থা রাখে।
৯ · AI-এর যুগে risk-এর হিসাব
AI খুব সুন্দর risk register লিখে দিতে পারে, আর সেটিই বিপদ। ঝুঁকির মূল্যায়ন দাঁড়িয়ে থাকে আপনার প্রতিষ্ঠানের তথ্যের ওপর, যা AI জানে না। সে যুক্তিসংগত দেখতে সংখ্যা বানাবে, কিন্তু সেগুলো কারও মাপা নয়।
| AI-এর ভুল | কেন বিপজ্জনক | কীভাবে যাচাই করবেন |
|---|---|---|
| নিজে থেকে ARO আর ক্ষতির সংখ্যা বানানো | ALE দেখতে নিখুঁত, ভিত্তি নেই | প্রতিটি সংখ্যার উৎস চান, নিজের log আর ঘটনার হিসাবের সঙ্গে মেলান |
| অস্তিত্বহীন CVE, ধারা বা পরিসংখ্যান দেওয়া | ভুল নথির ওপর সিদ্ধান্ত হয় | মূল উৎস নিজে পড়ুন, যেমন NVD বা মান-নথি |
| পুরোনো পরামর্শ, যেমন MD5, ECB বা salt ছাড়া hash | ভুল control-এ ভরসা জন্মায় | বর্তমান নির্দেশনার সঙ্গে মেলান |
Error সরাতে যাচাই বন্ধ করা (verify=False, chmod 777, খোলা CORS) | সমস্যা লুকায়, নতুন vulnerability তৈরি হয় | diff পড়ুন, কারণ খুঁজে ঠিক করুন |
| Injection বা authorization-এর ফাঁকসহ কোড লেখা | চলে ঠিকই, নিরাপদ নয় | code review করুন, নিজের ল্যাবে পরীক্ষা করুন |
| Alert triage-এ অতিরিক্ত আত্মবিশ্বাস | আসল ঘটনা “false positive” হয়ে যেতে পারে | প্রমাণ দেখুন, মানুষের সিদ্ধান্ত রাখুন |
AI-কে সংখ্যা বানাতে না বলে আপনার যুক্তির ফাঁক খুঁজতে বলুন। আসল গ্রাহকের তথ্য, secret বা অভ্যন্তরীণ দুর্বলতার বিবরণ prompt-এ দেবেন না।
AI-এর দেওয়া মূল্যায়ন হাতে পেলে
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন, তারপর “→ উত্তর” চাপুন। এগুলো আপনাকে সংজ্ঞা মুখস্থ থেকে সিদ্ধান্ত নেওয়ার দিকে নেবে।
প্র ০১কারখানা বা পাইপলাইনের মতো জায়গায় গোপনীয়তা কেন প্রায়ই প্রথম অগ্রাধিকার নয়?
অফিসের IT-তে আমরা প্রায়ই আগে C নিয়ে ভাবি, কারণ সেখানকার মূল সম্পদ তথ্য। কিন্তু বিদ্যুৎকেন্দ্র, পানি শোধনাগার বা তেলের পাইপলাইনের মতো operational technology-তে মূল সম্পদ হলো একটি চলমান শারীরিক প্রক্রিয়া। সেখানে অনেকেই ক্রমটি উল্টে “AIC” বলেন: আগে প্রক্রিয়াটি নিরাপদে চলুক, নির্দেশ ঠিক থাকুক, তারপর গোপনীয়তা।
দুটি প্রকাশিত ঘটনা এটি বোঝায়। ২০২১ সালের মে মাসে যুক্তরাষ্ট্রের Colonial Pipeline ransomware-এর শিকার হয়। প্রকাশিত তথ্য অনুযায়ী আক্রমণটি কোম্পানির IT network-এ ঘটেছিল, আর FBI ও CISA জানায় operational network-এ ছড়ানোর ইঙ্গিত পাওয়া যায়নি। তবু কোম্পানি সতর্কতা হিসেবে পাইপলাইন কয়েক দিন বন্ধ রাখে, আর পূর্ব উপকূলে জ্বালানি সরবরাহে প্রভাব পড়ে। সংবাদে বলা হয়েছিল, billing ব্যবস্থার ক্ষতিও বন্ধ রাখার একটি কারণ, যদিও এটি সূত্রভিত্তিক খবর। শিক্ষা হলো: পাম্প চলছিল, তবু ব্যবসার availability নির্ভর করছিল একটি “সাধারণ” IT ব্যবস্থার ওপর।
অন্য ঘটনাটি Stuxnet, যা ২০১০ সালে প্রকাশ্যে আসে। বহুল প্রকাশিত বিশ্লেষণ অনুযায়ী এটি ইরানের পারমাণবিক স্থাপনার centrifuge-এর নিয়ন্ত্রণ প্রভাবিত করেছিল, আর পরিচালকদের স্বাভাবিক দেখানো হচ্ছিল। এখানে আঘাতটি integrity-র ওপর: যন্ত্র আর পর্দার তথ্য, দুটির ওপরই ভরসা ভেঙেছিল। এই ধরনের ব্যবস্থায় একটি patch দিতেও প্রায়ই যন্ত্র থামাতে হয়, তাই অফিসের মতো “আজই update” নিয়ম সেখানে সহজে খাটে না। নিরাপত্তার control-এরও তাই availability-র ওপর একটি খরচ আছে।
রক্ষকের জন্য কাজের প্রশ্ন তাই “কী ফাঁস হবে” নয়, “এই ব্যবস্থা ভুল বললে বা বন্ধ হলে কী হবে”। উত্তর ধরে নকশা হয়: IT আর OT আলাদা করা, ম্যানুয়াল বিকল্প রাখা, নিয়মিত মহড়া করা।
মূল উপলব্ধি: C, I আর A-র ক্রম নিয়ম নয়, প্রসঙ্গ। আগে জিজ্ঞেস করুন আপনার প্রতিষ্ঠানের ক্ষতি কোন পথে সবচেয়ে বড় হয়।
প্র ০২CIA triad কি সেকেলে হয়ে গেছে? এত বছর পরও এটি টিকে আছে কেন?
সমালোচনাগুলো যুক্তিসংগত। Donn Parker ১৯৯৮ সালে যুক্তি দেন, তিনটি শব্দে সব ক্ষতি ধরা যায় না। ধরুন একটি encrypted disk চুরি গেল। চোর পড়তে পারছে না, তাই C অক্ষত। আপনার কাছে backup আছে, তাই A-ও আছে। ডেটা বদলায়নি, তাই I-ও ঠিক। তবু কিছু একটা হারিয়েছেন, আর সেটিই possession. আবার key হারানো ডেটা disk-এ অক্ষত থাকলেও তার utility নেই।
আরেকটি ফাঁক privacy. ধরুন একটি প্রতিষ্ঠান গ্রাহকের ডেটা নিরাপদে রাখল, শুধু অনুমতিপ্রাপ্ত কর্মীরাই দেখলেন, কিন্তু যে কাজের জন্য নেওয়া হয়েছিল তার বাইরে ব্যবহার করল। CIA-র কোনো কিছুই ভাঙেনি, অথচ মানুষের অধিকার ভেঙেছে। এজন্যই privacy engineering আলাদা একটি বিষয়, যা পর্ব ৭০-এ আসবে। ডেটা রক্ষা করা আর ডেটা ব্যবহারের অধিকার থাকা এক কথা নয়, তাই দুটি প্রশ্নই আলাদাভাবে জিজ্ঞেস করতে হয়।
মান-নথিগুলোও একমত নয়। FIPS 199 non-repudiation আর authenticity-কে integrity-র মধ্যে ধরে, অন্য অনেক বই আলাদা রাখে। ISO/IEC 27000-এর সংজ্ঞায় CIA-র পাশে authenticity, accountability, non-repudiation আর reliability-র মতো গুণের উল্লেখ পাওয়া যায়। অর্থাৎ সীমারেখা কিছুটা প্রথাগত, প্রকৃতির নিয়ম নয়।
তবু CIA টিকে আছে তিনটি কারণে। এক, এটি ছোট, তাই ব্যবস্থাপক থেকে নবীন প্রকৌশলী পর্যন্ত সবাই একই ভাষায় কথা বলতে পারেন। দুই, ঝুঁকি মূল্যায়নে এটি চমৎকার প্রশ্নের তালিকা: প্রতিটি asset-এর জন্য তিনটি প্রশ্ন করলেই অনেক কিছু বেরিয়ে আসে। তিন, মান-নথি আর আইনে এটি গভীরভাবে ঢুকে গেছে।
মূল উপলব্ধি: মডেল মানচিত্রের মতো। মানচিত্র ভূখণ্ড নয়, তবু কাজের। CIA দিয়ে শুরু করুন, আর যেখানে ফাঁক দেখবেন সেখানে অন্য ধারণা যোগ করুন।
প্র ০৩Risk matrix-এ এত সমস্যা থাকলে সবাই এখনো কেন ব্যবহার করে? আর ভালো বিকল্প কী?
Tony Cox-এর ২০০৮ সালের প্রবন্ধ দেখায়, matrix-এর সীমা নিছক খুঁতখুঁতে আপত্তি নয়। এর রেজোলিউশন কম, ফলে পরিমাণে অনেক আলাদা ঝুঁকি একই রং পায়। কিছু ক্ষেত্রে ছোট ঝুঁকি বড়টির চেয়ে ওপরের স্তরে উঠতে পারে। “সম্ভাবনা: মাঝারি”-র মানেও ব্যক্তিভেদে আলাদা। পরে Douglas Hubbard আর Richard Seiersen তাঁদের How to Measure Anything in Cybersecurity Risk বইয়ে যুক্তি দেন, পরিসংখ্যানের সহজ পদ্ধতি এই রংয়ের ছকের চেয়ে ভালো ফল দিতে পারে।
তাহলে matrix টিকে আছে কেন? প্রথমত, এটি সস্তা। দশটি ঝুঁকি নিয়ে এক ঘণ্টার সভায় কাজ হয়ে যায়। দ্বিতীয়ত, অধিকাংশ ছোট প্রতিষ্ঠানে নির্ভরযোগ্য তথ্যই নেই, তাই “সঠিক” সংখ্যা বানানোও একধরনের ভান। তৃতীয়ত, আসল মূল্য আলোচনায়: বিপণন, IT আর আইনের মানুষ এক টেবিলে বসে প্রথমবার বলেন কোন ক্ষতিটি তাঁদের কাছে বড়।
বিকল্প কী? সব জায়গায় একই গভীরতা লাগে না। পরিণত পথটি স্তরভিত্তিক: প্রথমে matrix দিয়ে ছেঁকে নিন, তারপর ওপরের কয়েকটি ঝুঁকিতে পরিমাণগত হিসাব করুন। একটি সংখ্যার বদলে পরিসর বলুন, যেমন “ক্ষতি ৫ থেকে ৪০ লাখের মধ্যে, ৯০% আত্মবিশ্বাসে”। FAIR-এর মতো কাঠামো এই ভাঙনকে নিয়মে আনে, আর Monte Carlo simulation দেখায় ক্ষতির পুরো বণ্টন, যেমনটি এই পর্বের সিমুলেশনে দেখলেন। নিজের ঘটনার রেকর্ড রাখলে অনুমান প্রতি বছর ভালো হয়। আরেকটি কৌশল হলো অনুমান মেলানো: দলের সদস্যরা আলাদা আলাদা স্কোর দেবেন, তারপর বড় পার্থক্যের কারণ নিয়ে কথা বলবেন। এতে লুকানো ধারণাগুলো সামনে আসে, আর পরের বছর ফল দেখে অনুমানের মান যাচাই করা যায়।
মূল উপলব্ধি: ভুল-নিখুঁত সংখ্যার চেয়ে সৎ অনিশ্চয়তা ভালো। হাতিয়ার বেছে নিন সিদ্ধান্তের আকার অনুযায়ী।
প্র ০৪Cyber insurance থাকলে কি ঝুঁকি সত্যিই অন্যের হাতে চলে যায়?
আংশিকভাবে, আর সেই “আংশিক” কথাটিই গুরুত্বপূর্ণ। সবচেয়ে শিক্ষণীয় উদাহরণ ২০১৭ সালের NotPetya. এই ক্ষতিকর software ইউক্রেন থেকে ছড়িয়ে বিশ্বের বহু বড় প্রতিষ্ঠানে ব্যাপক ক্ষতি করে। ক্ষতিগ্রস্তদের মধ্যে ছিল Merck আর Mondelez. দুই প্রতিষ্ঠান বিমা দাবি করলে কিছু বিমাকারী “যুদ্ধ বাদ” ধারা (war exclusion) দেখিয়ে আপত্তি জানায়, কারণ কয়েকটি সরকার ঘটনাটির দায় একটি রাষ্ট্রের ওপর চাপিয়েছিল।
আদালতের পথ ছিল দীর্ঘ। Merck-এর ক্ষেত্রে New Jersey-র আদালত ২০২২ সালে রায় দেয়, সেই চুক্তির ভাষায় ধারাটি প্রযোজ্য নয়, আর ২০২৩ সালে আপিল আদালতও তা বহাল রাখে। পরে পক্ষগুলো সমঝোতা করে, শর্ত প্রকাশ করা হয়নি। Mondelez-এর মামলাও ২০২২ সালে সমঝোতায় শেষ হয়। অর্থাৎ ক্ষতির কয়েক বছর পরও টাকা নিয়ে অনিশ্চয়তা ছিল। এরপর Lloyd's of London জানায়, ২০২৩ সালের মার্চের শেষ থেকে তাদের বিমায় রাষ্ট্র-সমর্থিত নির্দিষ্ট ধরনের হামলার জন্য বাদের ধারা থাকতে হবে।
রক্ষকের জন্য চারটি শিক্ষা আছে। এক, চুক্তির ভাষা পড়ুন, বিশেষত কী বাদ। দুই, বিমাকারী প্রায়ই নির্দিষ্ট control চান, যেমন MFA বা backup, আর ফর্মে ভুল তথ্য দিলে দাবি বিপদে পড়তে পারে। তিন, টাকা ফেরে, কিন্তু গ্রাহকের আস্থা, হারানো ডেটা আর আইনি দায়িত্ব ফেরে না। ডেটা সুরক্ষার দায়িত্ব সাধারণত প্রতিষ্ঠানের ওপরই থাকে। চার, বিমা সাধারণত বড় আর্থিক ধাক্কা সামলাতে উপযোগী, এই পর্বের “বিরল বিপর্যয়” ঝুঁকিটির মতো। ছোট, ঘন ঘন ক্ষতির জন্য সাধারণত নিজের control-ই সস্তা পড়ে, কারণ বিমার খরচের সঙ্গে কর্তনযোগ্য অংশও থাকে।
মূল উপলব্ধি: Transfer ঝুঁকির টাকার অংশ ভাগ করে, দায়িত্ব বা ঘটনাটিকে নয়। তাই এটি control-এর পরিপূরক, বিকল্প নয়।
প্র ০৫একটি জানা দুর্বলতা ঠিক না করা কি “risk accept”, না অবহেলা? কে এই সিদ্ধান্ত নিতে পারেন?
পার্থক্যটি দুটি শব্দে: সচেতন সিদ্ধান্ত। Equifax-এর ২০১৭ সালের ঘটনাটি ধরুন। মার্কিন FTC-র অভিযোগ অনুযায়ী Apache Struts-এর একটি দুর্বলতা সম্পর্কে সতর্কবার্তা পাওয়ার পরও প্রতিষ্ঠানটি একটি অনলাইন পোর্টালে কয়েক মাস patch দেয়নি, আর প্রায় ১৪ কোটি ৭০ লাখ মানুষের সংবেদনশীল তথ্য চুরি হয়। পরে নিয়ন্ত্রকদের সঙ্গে সমঝোতায় বিপুল অর্থের দায় আসে।
এটি risk acceptance ছিল না। প্রকাশিত নথির ছবিটি হলো প্রক্রিয়ার ব্যর্থতা: দুর্বল জায়গাটি ঠিকমতো ধরা পড়েনি, ফলে সিদ্ধান্তই হয়নি। না জানা ঝুঁকি মেনে নেওয়া যায় না। কেউ ঝুঁকিটির কথা না জানলে সেটি register-এ ওঠে না, আর owner-ও থাকেন না।
সত্যিকারের acceptance-এর কয়েকটি শর্ত আছে। ঝুঁকিটি লেখা থাকবে, সম্ভাব্য ক্ষতির অনুমান থাকবে। যাঁর ক্ষমতা আর বাজেট আছে, তিনিই নাম দিয়ে দায়িত্ব নেবেন, সাধারণত ব্যবসার মালিক, একা একজন প্রকৌশলী নন। একটি সময়সীমা থাকবে, কারণ দুর্বলতা নিয়ে সক্রিয় হামলার খবর এলে হিসাব বদলে যায়। আর সম্ভব হলে compensating control থাকবে, যেমন পুরোনো ব্যবস্থা আলাদা করে রাখা ও নজরদারি বাড়ানো। পর্যালোচনার তারিখ পার হলে সিদ্ধান্তটি নিজে থেকে শেষ হওয়া উচিত, যাতে তা চিরস্থায়ী না হয়ে যায়।
একটি নৈতিক দিকও আছে। ঝুঁকি মেনে নেন প্রতিষ্ঠান, কিন্তু ক্ষতি হয় গ্রাহকের। তাঁরা সভায় ছিলেন না। তাই শুধু প্রতিষ্ঠানের ALE দেখলে চলে না, মানুষের ক্ষতি আলাদা করে ভাবতে হয়। আইনও অনেক ক্ষেত্রে এই দায়িত্ব চাপিয়ে দেয়, যা পর্ব ০৬ আর পর্ব ৭০-এ আসবে।
মূল উপলব্ধি: Accept একটি কাগজে-সই করা সিদ্ধান্ত। নীরবতা কোনো সিদ্ধান্ত নয়, আর এটিই সবচেয়ে সাধারণ ঝুঁকি-ব্যবস্থাপনা।
অনুশীলন
খাতা-কলমে করুন। সব টাকার অঙ্ক উদাহরণের জন্য ধরে নেওয়া।
-
ALE হিসাব: একটি কাল্পনিক ওয়েবসাইট বন্ধ থাকলে ঘণ্টায় ২০,০০০ টাকা ক্ষতি হয়। প্রতিটি বন্ধের ঘটনা গড়ে ১০ ঘণ্টা চলে, আর বছরে ৪ বার ঘটে। বছরে ৩,৫০,০০০ টাকা খরচের redundancy বসালে ঘটনা বছরে ১ বারে নামে, প্রতিবারের স্থায়িত্ব একই থাকে। SLE, আগের ও পরের ALE, নিট লাভ আর ROSI বের করুন।
SLE = 20,000 × 10 = 2,00,000 টাকা। ALE আগে = 2,00,000 × 4 = 8,00,000 টাকা। ALE পরে = 2,00,000 × 1 = 2,00,000 টাকা। কমানো ঝুঁকি = 6,00,000 টাকা। নিট লাভ = 6,00,000 − 3,50,000 = 2,50,000 টাকা। ROSI = 2,50,000 ÷ 3,50,000 ≈ 71.4%. Control-এর খরচ বছরে ৬ লাখ টাকার নিচে থাকলেই এটি টাকার হিসাবে লাভজনক।
-
Risk register সমালোচনা: একটি দলের নথিতে লেখা: “Risk: hacker. Vulnerability: ransomware. Control: আমরা insurance নিয়েছি। Status: accepted.” কী কী ভুল আছে? সারিটি ঠিক করে লিখুন।
Hacker কোনো risk নয়, সে threat actor. Ransomware কোনো vulnerability নয়, এটি একটি threat. আসল দুর্বলতা লেখাই হয়নি। Insurance ঝুঁকি ভাগ করে, কিন্তু এটি risk transfer, “accepted” নয়। কোনো asset, owner, score বা পুনর্মূল্যায়নের তারিখ নেই।
একটি ভালো রূপ: Asset: order database. Threat: ransomware-এ ডেটা encrypt হওয়া। Vulnerability: backup একই network-এ থাকে, আর restore কখনো পরীক্ষা হয়নি। Risk: likelihood ৩, impact ৫, score ১৫। Treatment: mitigate (আলাদা backup, restore মহড়া) আর transfer (বিমা)। Owner: Ops প্রধান। পরবর্তী পর্যালোচনা: ৬ মাস পরে।
-
আউটপুট অনুমান করুন: নিচের কোড না চালিয়ে বলুন তিনটি লাইনে কী ছাপা হবে, কোন ক্রমে।
const list = [ { name: 'Backup fails', L: 2, I: 4 }, { name: 'Data leak', L: 3, I: 4 }, { name: 'Typo on page', L: 5, I: 1 }, ]; const band = s => s >= 16 ? 'Critical' : s >= 10 ? 'High' : s >= 5 ? 'Medium' : 'Low'; list.sort((a, b) => b.L * b.I - a.L * a.I); for (const r of list) console.log(r.L * r.I, band(r.L * r.I), r.name);12 High Data leak 8 Medium Backup fails 5 Medium Typo on pageস্কোর ৮, ১২ আর ৫।
sortবড় থেকে ছোট সাজায়। ১২ আছে ১০-এর সীমার ওপরে, তাই High. ৮ আর ৫ দুটিই Medium, যদিও বানান ভুল আর backup ব্যর্থতা মোটেই সমান ঝুঁকি নয়। স্কোর একই স্তরে ফেললেও ঘটনার চরিত্র আলাদা। -
ভাগ করুন আর সিদ্ধান্ত নিন: কোন CIA লক্ষ্য ভাঙছে, আর সাধারণ risk treatment কী হতে পারে? (ক) অফিসের ল্যাপটপ রিকশায় হারাল, disk encrypted নয়। (খ) একজন কর্মী ভুল করে সব পণ্যের দাম ১০ গুণ করে দিলেন। (গ) বিদ্যুৎ চলে গিয়ে ছোট অফিসের স্থানীয় server তিন ঘণ্টা বন্ধ।
(ক) Confidentiality, সঙ্গে device-এর availability. Mitigate: disk encryption আর দূর থেকে device মোছার ব্যবস্থা। ল্যাপটপের দামের জন্য বিমা হতে পারে transfer.
(খ) Integrity. কোনো শত্রু নেই, তবু ক্ষতি আছে। Mitigate: বড় পরিবর্তনে দুজনের অনুমোদন, সীমা যাচাই, পরিবর্তনের log আর আগের দামে ফেরার উপায়।
(গ) Availability. Mitigate: UPS বা generator বসানো। অথবা সেবাটি cloud-এ নিয়ে স্থানীয় ঝুঁকি কমানো। কম গুরুত্বের সেবা হলে ক্ষতি ছোট, তখন accept-ও যুক্তিসংগত, শর্ত হলো লিখিত সিদ্ধান্ত।
নিজেকে যাচাই করুন
ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।
ক্রমঝুঁকি সামলানোর ধাপগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)
- কী রক্ষা করছি, সেই asset চিহ্নিত করা
- Threat আর vulnerability খুঁজে বের করা
- Likelihood আর impact দিয়ে risk মূল্যায়ন করা
- Mitigate, transfer, avoid বা accept বেছে নেওয়া
- Control বসিয়ে কার্যকারিতা যাচাই করা
- Residual risk owner-এর অনুমোদন নিয়ে নিয়মিত পর্যালোচনা করা
একজন গ্রাহকের ব্যাংক স্টেটমেন্টে অনুমতি ছাড়া জমার পরিমাণ বদলে দেওয়া হলো, কিন্তু বাইরের কেউ তথ্যটি দেখেননি। CIA-র কোনটি প্রধানত ভেঙেছে?
- Confidentiality
- Integrity
- Availability
- Non-repudiation
একটি web server-এ পুরোনো software চলছে, যার জানা দুর্বলতা আছে। একটি অপরাধী দল এমন server খোঁজে। পুরোনো software-টি কী?
- Asset
- Threat
- Vulnerability
- Control
একটি asset-এর মূল্য ১০,০০,০০০ টাকা, exposure factor ২৫%, আর ARO ২. ALE কত?
- ৫,০০,০০০ টাকা
- ২,৫০,০০০ টাকা
- ২০,০০,০০০ টাকা
- ১,২৫,০০০ টাকা
একটি control বসালে ALE ৬,০০,০০০ টাকা থেকে কমে ২,০০,০০০ টাকা হয়। Control-এর বছরের খরচ ৫,০০,০০০ টাকা। শুধু টাকার হিসাবে সিদ্ধান্ত কী?
- ALE কমেছে, তাই অবশ্যই নেওয়া উচিত
- ৬,০০,০০০ > ৫,০০,০০০, তাই লাভজনক
- হিসাব করা সম্ভব নয়
- নিট ক্ষতি ১,০০,০০০ টাকা, তাই টাকার হিসাবে লাভজনক নয়
একটি প্রতিষ্ঠান ঝুঁকিপূর্ণ বলে পুরোনো একটি ফিচার বন্ধ করে তার সব গ্রাহক-ডেটা মুছে ফেলল। এটি কোন risk treatment?
- Mitigate
- Avoid
- Transfer
- Accept
Log monitoring ব্যবস্থা সন্দেহজনক login-এ alert পাঠায়, আর কর্মীরা নিয়মিত backup থেকে ডেটা ফেরানোর মহড়া করেন। কাজ অনুযায়ী এই দুটি কোন ধরনের control?
- দুটিই preventive
- Deterrent আর preventive
- Detective আর corrective
- Administrative আর physical
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন, অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:
মনে রাখুন
- CIA: গোপনীয়তা, অখণ্ডতা, প্রাপ্যতা। একটি control এক লক্ষ্যে সাহায্য করে অন্যটিতে খরচ বাড়াতে পারে।
- Vulnerability ভেতরের দুর্বলতা, threat সম্ভাব্য ক্ষতির কারণ, risk সম্ভাবনা আর মাত্রার মিলন।
- Risk matrix দ্রুত সাজায়, কিন্তু স্কোর মাপা সংখ্যা নয়।
- ALE = AV × EF × ARO; নিট লাভ = ALE আগে − ALE পরে − control-এর বছরের খরচ। গড়ের পাশে সবচেয়ে খারাপ বছরও দেখুন।
- চার সিদ্ধান্ত: mitigate, transfer, avoid, accept. Residual risk থাকবেই, আর একজন owner তা জেনে-বুঝে মেনে নেবেন।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ০৩ · নিরাপত্তার মূলনীতি — least privilege, defense in depth আর fail secureপরবর্তী পর্বঝুঁকি কমানোর নকশার মূল নিয়ম।
- সাইবার নিরাপত্তা · কোর্স হোম৮০টি পর্বপুরো কোর্সের রোডম্যাপ।
- System Design · Availability আর reliabilityপাশের ট্র্যাকপ্রাপ্যতা সংখ্যায় মাপা আর নকশা করা।
- Computer Networks · Network security-র ভিত্তিপাশের ট্র্যাকNetwork-এর স্তরে CIA কীভাবে রক্ষা হয়।
- Cloud & DevOps · Cloud governanceগভীরে যানপ্রতিষ্ঠানে নিয়ম আর দায়িত্ব কীভাবে বসে।