কম্পিউটার সিকিউরিটিঃ সিকিউরিটি থ্রেট মডেল

security

আপনারা  কি জানেন কম্পিউটার  কম্পিউটার এ কিভাবে hacker রা অ্যাটাক করে । বা কিভাবে একটি সাধারন কম্পিউটার হয়ে যেতে পারে অস্ত্রে । এগুল নিয়ে আযকে কথা বলব……
Threat Modeling
কারণ একটা সিস্টেমের নিরাপত্তা নিশ্চিত করতে হলে এটা সেটা প্রতিরক্ষা ব্যবস্থা না নিয়ে প্রয়োজনমাফিক, বাস্তবসম্মত, এবং যথোপযুক্ত নিরাপত্তা ব্যবস্থা নিতে হলে থ্রেট মডেল বানানোটা হলো প্রথম কাজ। থ্রেট মডেলে সুনির্দিষ্টভাবে কোন শত্রু কী রকম কাজ করতে পারে, কী কী সমস্যা রয়েছে সিস্টেমে, আর কীভাবে আক্রমণ হতে পারে, সেইটা বিস্তারিতভাবে আলোচনা ও বিশ্লেষণ করা হয়।   চলুন দেখা যাক, থ্রেট মডেল কীভাবে বানানো যায় …

থ্রেট মডেলের নানা অংশ

থ্রেট মডেলের অংশগুলো হচ্ছে –

  • Asset বা সম্পদের তালিকা
  • Attacker বা শত্রুর পরিচয় ও ক্ষমতা
  • Vulnerability বা সিস্টেমের নানা ত্রুটি
  • Entry points বা কীভাবে আক্রমণ হতে পারে
  • Mitigation strategy বা শত্রুর মোকাবেলা করার উপায়
Asset বা সম্পদের তালিকা – শুরুতেই দেখতে হবে কী কী সম্পদের সুরক্ষার কথা নিয়ে ভাবা হচ্ছে, এবং ইউজারের কাছে সেগুলার কোনটার গুরুত্ব কতোখানি। কনফিডেনশিয়ালিটি বা গোপনীয়তাই মূল চিন্তা, নাকি ইন্টেগ্রিটি বা শুদ্ধতা মূল চিন্তা, আবার এভেইলেবিলিটি বা প্রাপ্যতা নিয়ে কি চিন্তা করতে হবে? সিস্টেমের ডিজাইনারকে এই ব্যাপারগুলা ভাবতে হবে ভালো করে।
Attacker বা শত্রুর ক্ষমতা ও পরিচয় – শত্রু কে? তার কী কী ক্ষমতা আছে? এই ব্যাপারগুলো খুব সতর্কতার সাথে চিন্তা করে দেখতে হবে। শত্রু কি আপনার সিস্টেমের ভিতরের লোক নাকি বাইরের লোক? বাইরের লোক হলে তার ক্ষমতা কী? সে কি আপনার সিস্টেমে ঢুকে পড়তে পারে বলে মনে করেন? শত্রু কি ইন্টারনেটে আপনি যা ব্রাউজ করেন, সব দেখতে পায়? শত্রুর নিজের রিসোর্স কতটুকু আছে? সে কি প্রচুর পয়সা ঢেলে দক্ষ প্রোগ্রামার কাউকে ভাড়া করতে পারে? এই সব প্রশ্নের জবাব নিয়ে চিন্তা করতে হবে।
এই ধাপটি বেশ গুরুত্বপূর্ণ, কারণ শত্রুর ক্ষমতা কী রকম সেটা আন্দাজ করতে পারলেই উপযুক্ত প্রতিরক্ষা কৌশল বেছে নিতে পারবেন। শত্রু যদি ছিঁচকে চোর মার্কা হয়, তার জন্য লাখ টাকা খরচ করার মানে হয়না। আবার আপনার বাড়িতে সম্পত্তি বলতে চেয়ার টেবিলই যদি কেবল থাকে, সেক্ষেত্রে শত্রু অনেক খরচপাতি করে এবং কষ্ট করে আক্রমণ করবে তা বাস্তব সম্মত না। কম্পিউটার সিস্টেমের ক্ষেত্রে আপনার সিস্টেমে আক্রমণ করে শত্রুর ফায়দা কী হবে, সেটা ভাবতে হবে। অনেক সময়ে আপনার সিস্টেমে শত্রু আক্রমণ করলে বাস্তবে তার বরং খাজনার চাইতে বাজনা বেশি হতে পারে, তাই সেরকম শত্রু আসলে আদৌ আপনার সিস্টেমে আক্রমণ করবে কি না, সেটা ভেবে দেখতে হবে।
Vulnerability বা সিস্টেমের দুর্বলতা – সব সিস্টেমেই কিছু না কিছু দুর্বলতা থাকে। কাজেই আপনার কম্পিউটার সিস্টেমের সব দিক চিন্তা করে দেখতে হবে, কোন অংশে কী ত্রুটি বা দুর্বলতা আছে, আর তার সুযোগ শত্রু কীভাবে নিতে পারে।
Entry point বা শত্রুর ঢোকার সম্ভাব্য পথ – আপনার সিস্টেমের কোন কোন অংশ দিয়ে শত্রু ঢুকে যেতে পারে ভিতরে? এটা বের করতে হলে সিস্টেমের সাথে বাইরের কেউ কীভাবে ইন্টারএকশন করছে, সেইটা খতিয়ে দেখতে হবে।

Mitigation strategy বা শত্রুর মোকাবেলা করার উপায়– একেক শত্রুকে একেকভাবে মোকাবেলা করা যায়। তাই শত্রুর স্বরুপ ও ক্ষমতা বের করার পরে আপনাকে দেখতে হবে, এই শত্রুর ক্ষেত্রে উপযুক্ত প্রতিরক্ষা কোনটা হতে পারে। দরকার হলে একাধিক প্রতিরক্ষা ব্যবস্থা নেয়া যেতে পারে। আর কার্যকারিতার দিক থেকে সেগুলার একটা ক্রম বা rank বের করে দেখতে হবে, তার পাশাপাশি করতে হবে কস্ট-বেনিফিট এনালাইসিস, যাতে করে আপনার বাজেটের মধ্যে কতটুকু নিরাপত্তা ব্যবস্থা নেয়া সম্ভব, তা বুঝে নিতে পারেন।

এই ভাবে থ্রেট মডেল বানাবার সুবিধা হলো, সবদিক যাচাই করে, শত্রু কে হতে পারে, তার ধান্ধা কী, আর ক্ষমতা কী রকম, কোন ফাঁক ফোকর দিয়ে শত্রু আক্রমণ করতে পারে, আর তাকে ঠেকাবেন কীভাবে – এই সবগুলা ব্যাপারই ধাপে ধাপে চিন্তা করা যায়।
কোন কম্পিউটার সিস্টেমকেই ১০০% নিরাপদ বানানো সম্ভব না। কোটি কোটি ডলার কারো বাজেট থাকলে সর্বশক্তি নিয়োগ করে শত্রু যে কোনো সিস্টেমের নিরাপত্তাই ভেঙে ফেলতে পারবে এক সময়। তাই বাস্তবতা, তথ্যের গুরুত্ব, এবং আপনার পকেটের জোর কেমন সব বিবেচনা করে তবেই সুবিধামত নিরাপত্তা ব্যবস্থা নেয়া সম্ভব, আর সেটা করতে হলে অপরিহার্য হচ্ছে একটা বাস্তবসম্মত থ্রেট মডেল বানানো।

এবার দেখা যাক থ্রেট মডেল বানানোর জন্য মাইক্রোসফটে জনপ্রিয় একটি সিস্টেম, যাকে বলা হয় STRIDE। আসুন দেখা যাক এই পদ্ধতিটা আসলে কী।   STRIDE হলো সিস্টেমের থ্রেটগুলার ক্রম বা rank নির্ধারণের একটা পদ্ধতি। এই শব্দটি এসেছে নানারকমের থ্রেট গ্রুপ বা হুমকির প্রকারের আদ্যাক্ষর থেকে।

  • Spoofing identity
  • Tampering with data
  • Repudiation
  • Information disclosure
  • Denial of service
  • Elevation of privilege
মাইক্রোসফট বড় সফটওয়ার কোম্পানি। তাদের অজস্র সিস্টেম নিয়ে কাজ করতে হয়, তাই থ্রেট মডেল বা সিকিউরিটি এনালাইসিসকে সহজ করার জন্য থ্রেটগুলাকে সাজানোর উদ্দেশ্যে STRIDE ব্যবহার করা হয়। এখানে খুব বহুল প্রচলিত কিছু থ্রেটকে গ্রুপ করে রাখা হয় এবং আপনার সিস্টেমে কোন একটি থ্রেট উপস্থিত থাকলে ছক হতে সেই থ্রেটের জন্য প্রযোজ্য প্রতিরক্ষা ব্যবস্থাটি যোগ করা হয়। 

Threat type Mitigation technique
Spoofing identity
•Authentication
•Protect secrets
•Do not store secrets
Tampering with data
•Authorization
•Hashes
•Message authentication codes
•Digital signatures
•Tamper-resistant protocols
Repudiation
•Digital signatures
•Timestamps
•Audit trails
Threat type Mitigation technique
Information disclosure
•Authorization
•Privacy-enhanced protocols
•Encryption
•Protect secrets
•Do not store secrets
Denial of service
•Authentication
•Authorization
•Filtering
•Throttling
•Quality of service
Elevation of privilege •Run with least privilege

এই ছকের তথ্যসূত্র – মাইক্রোসফ্টের লাইব্রেরি]
msdn.microsoft.com/en-us/library/ee823878(CS.20).aspx

আজকে তাহলে এটুকু থাক। কম্পিউটার security এবং হ্যাকিং এর মনস্তত্ত্ব নিয়ে আরও টিউন করব সে পর্যন্ত বিদায়।

Leave a Reply


SEO Powered By SEOPressor