এখন পর্যন্ত, সফ্টওয়্যার বিকাশের জগতের প্রত্যেকেই অনিয়ন্ত্রিত ওপেন সোর্স প্রোগ্রাম এবং সরঞ্জামগুলিতে থাকা গুরুতর নিরাপত্তা ঝুঁকি সম্পর্কে সচেতন। এখনও অনেক কোম্পানি তাদের উপেক্ষা করে, হ্যাকারদের একটি সহজ শট দেয়। তাই, সুরক্ষিত থাকতে এবং হ্যাকারদের থেকে এক ধাপ এগিয়ে থাকার জন্য আমাদের জানতে হবে কীভাবে সিস্টেমে নিরাপত্তার দুর্বলতা শনাক্ত করতে হয় এবং সুরক্ষিত থাকার পদক্ষেপগুলি জানতে হবে৷
নিরাপত্তা দুর্বলতা কোম্পানি সনাক্ত করতে, সফ্টওয়্যার পরীক্ষার একটি বৈকল্পিক নিরাপত্তা পরীক্ষা ব্যবহার করতে হবে। যেহেতু এটি সিস্টেম, নেটওয়ার্ক এবং অ্যাপ্লিকেশন ডেভেলপমেন্টে নিরাপত্তা ত্রুটি সনাক্তকরণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
এখানে, আমরা আপনাকে নিরাপত্তা পরীক্ষা কী, নিরাপত্তা পরীক্ষার গুরুত্ব, নিরাপত্তা পরীক্ষার ধরন, নিরাপত্তা দুর্বলতার কারণ, নিরাপত্তা হুমকির শ্রেণী এবং কীভাবে আমরা আমাদের সিস্টেমের জন্য সফ্টওয়্যার দুর্বলতা হুমকির সমাধান করতে পারি সে সম্পর্কে আপনাকে ব্যাখ্যা করব৷
নিরাপত্তা পরীক্ষা কি?
সিকিউরিটি টেস্টিং হল এমন একটি প্রক্রিয়া যা নিরাপত্তা ত্রুটিগুলি সনাক্ত করার জন্য ডিজাইন করা হয়েছে এবং এই দুর্বলতার মাধ্যমে ডেটাকে ব্যবহার করা থেকে রক্ষা করার উপায়গুলির পরামর্শ দেওয়া হয়েছে৷
নিরাপত্তা পরীক্ষার গুরুত্ব?
বর্তমান পরিস্থিতিতে, নিরাপত্তা পরীক্ষা হল সফ্টওয়্যার বা অ্যাপ্লিকেশন সুরক্ষা দুর্বলতাগুলি দেখানো এবং মোকাবেলার একটি নির্দিষ্ট উপায় যা নিম্নলিখিত পরিস্থিতিগুলি এড়াতে সাহায্য করবে:
- গ্রাহকের আস্থার ক্ষতি।
- নেটওয়ার্ক, সিস্টেম, এবং ওয়েবসাইট ডাউনটাইম যা সময় এবং অর্থের ক্ষতির দিকে পরিচালিত করে।
- আক্রমণের বিরুদ্ধে সিস্টেম, নেটওয়ার্ককে সুরক্ষিত করার জন্য বিনিয়োগ খরচ করা হয়েছে।
- নিরাপত্তা ব্যবস্থার অগোছালো কারণে একটি কোম্পানিকে আইনি জটিলতার সম্মুখীন হতে হতে পারে৷
এখন যেহেতু আমরা জানি নিরাপত্তা পরীক্ষা কি, কেন এটা গুরুত্বপূর্ণ। আসুন নিরাপত্তা পরীক্ষার ধরন এবং কীভাবে তারা সুরক্ষিত থাকতে সাহায্য করতে পারে তা জেনে নেওয়া যাক।
নিরাপত্তা পরীক্ষার প্রকারগুলি
অ্যাপ্লিকেশান, নেটওয়ার্ক এবং সিস্টেমের দুর্বলতা শনাক্ত করতে আপনি নিম্নলিখিত সাতটি প্রধান ধরণের নিরাপত্তা পরীক্ষার পদ্ধতি ব্যবহার করতে পারেন যা নীচে ব্যাখ্যা করা হয়েছে:
দ্রষ্টব্য :এই পদ্ধতিগুলি ম্যানুয়ালি নিরাপত্তা দুর্বলতা সনাক্ত করতে ব্যবহার করা যেতে পারে যা গুরুত্বপূর্ণ ডেটার জন্য ঝুঁকি হতে পারে৷
ভালনারেবিলিটি স্ক্যানিং :একটি স্বয়ংক্রিয় কম্পিউটার প্রোগ্রাম যা একটি নেটওয়ার্কে সিস্টেমের জন্য হুমকি হতে পারে এমন নিরাপত্তা ত্রুটিগুলিকে স্ক্যান করে এবং সনাক্ত করে৷
নিরাপত্তা স্ক্যানিং৷ :এটি সিস্টেম এবং নেটওয়ার্ক দুর্বলতা সনাক্ত করার একটি স্বয়ংক্রিয় বা ম্যানুয়াল পদ্ধতি। এই প্রোগ্রামটি নেটওয়ার্ক, ওয়েব অ্যাপ্লিকেশন এবং অপারেটিং সিস্টেমে সম্ভাব্য নিরাপত্তা দুর্বলতা সনাক্ত করতে একটি ওয়েব অ্যাপ্লিকেশনের সাথে যোগাযোগ করে৷
নিরাপত্তা নিরীক্ষা :কোম্পানির সমালোচনামূলক তথ্যের জন্য ঝুঁকি হতে পারে এমন ত্রুটিগুলি জানার জন্য কোম্পানির নিরাপত্তা মূল্যায়নের একটি পদ্ধতিগত ব্যবস্থা৷
নৈতিক হ্যাকিং :একটি নেটওয়ার্ক বা কম্পিউটারে সম্ভাব্য হুমকি খুঁজে বের করার জন্য কোম্পানি বা নিরাপত্তা ব্যক্তি কর্তৃক বৈধভাবে সম্পাদিত হ্যাকিং। এথিক্যাল হ্যাকার সিস্টেমের নিরাপত্তাকে বাইপাস করে এমন একটি দুর্বলতা শনাক্ত করতে পারে যা খারাপ লোকদের দ্বারা সিস্টেমে প্রবেশের জন্য ব্যবহার করা যেতে পারে।
অনুপ্রবেশ পরীক্ষা :নিরাপত্তা পরীক্ষা যা সিস্টেমের দুর্বলতা দেখাতে সাহায্য করে।
ভঙ্গি মূল্যায়ন :যখন নৈতিক হ্যাকিং, নিরাপত্তা স্ক্যানিং, এবং ঝুঁকি মূল্যায়ন প্রতিষ্ঠানের সামগ্রিক নিরাপত্তা পরীক্ষা করার জন্য যোগদান করা হয়।
ঝুঁকি মূল্যায়ন: অনুভূত নিরাপত্তা দুর্বলতার সাথে জড়িত ঝুঁকি মূল্যায়ন এবং সিদ্ধান্ত নেওয়ার একটি প্রক্রিয়া। সংস্থাগুলি ঝুঁকি বের করতে আলোচনা, সাক্ষাৎকার এবং বিশ্লেষণ ব্যবহার করে।
নিরাপত্তা পরীক্ষার প্রকারভেদ, এবং নিরাপত্তা পরীক্ষা কী তা জানার মাধ্যমে, আমরা নিরাপত্তা পরীক্ষার সাথে জড়িত অনুপ্রবেশকারীর শ্রেণি, হুমকি এবং কৌশলগুলি বুঝতে পারি না।
এই সব বুঝতে আমাদের আরও পড়তে হবে।
তিন শ্রেণীর অনুপ্রবেশকারী:
খারাপ লোকদের সাধারণত তিনটি শ্রেণীতে শ্রেণীবদ্ধ করা হয় যা নীচে ব্যাখ্যা করা হয়েছে:
- মাস্কার: সিস্টেম অ্যাক্সেস করার জন্য অনুমোদিত নয় একজন ব্যক্তি. অনুমোদিত ব্যবহারকারীর মতো ব্যক্তিগত ছদ্মবেশে অ্যাক্সেস পেতে এবং অ্যাক্সেস লাভ করতে।
- প্রতারক: একজন ব্যক্তি যাকে সিস্টেমে আইনি অ্যাক্সেস দেওয়া হয়েছে, কিন্তু তিনি সমালোচনামূলক ডেটাতে অ্যাক্সেস পেতে এটির অপব্যবহার করেন৷
- গোপন ব্যবহারকারী: একজন ব্যক্তি যিনি সিস্টেমের নিয়ন্ত্রণ পেতে নিরাপত্তাকে বাইপাস করেন।
হুমকির শ্রেণী
এছাড়াও, অনুপ্রবেশকারীদের শ্রেণীতে আমাদের বিভিন্ন শ্রেণীর হুমকি রয়েছে যা নিরাপত্তা দুর্বলতার সুবিধা নিতে ব্যবহার করা যেতে পারে।
ক্রস-সাইট স্ক্রিপ্টিং (XSS): এটি ওয়েব অ্যাপ্লিকেশানগুলিতে পাওয়া একটি নিরাপত্তা ত্রুটি, এটি সাইবার অপরাধীদেরকে ক্লায়েন্ট-সাইড স্ক্রিপ্ট ওয়েব পৃষ্ঠাগুলিতে ইনজেক্ট করার অনুমতি দেয় যাতে তারা ক্ষতিকারক URL-এ ক্লিক করার জন্য প্রতারণা করে। একবার কার্যকর করা হলে এই কোডটি আপনার সমস্ত ব্যক্তিগত ডেটা চুরি করতে পারে এবং ব্যবহারকারীর পক্ষে ক্রিয়া সম্পাদন করতে পারে৷
অননুমোদিত ডেটা অ্যাক্সেস: এসকিউএল ইনজেকশন ছাড়াও, অননুমোদিত ডেটা অ্যাক্সেসও সবচেয়ে সাধারণ ধরনের আক্রমণ। এই আক্রমণ করার জন্য, হ্যাকার ডেটাতে অননুমোদিত অ্যাক্সেস লাভ করে যাতে এটি একটি সার্ভারের মাধ্যমে অ্যাক্সেস করা যায়। এর মধ্যে রয়েছে, ডেটা আনার ক্রিয়াকলাপের মাধ্যমে ডেটা অ্যাক্সেস, ক্লায়েন্ট প্রমাণীকরণ তথ্যে অবৈধ অ্যাক্সেস এবং অন্যদের দ্বারা সম্পাদিত কার্যকলাপের উপর নজর রেখে ডেটাতে অননুমোদিত অ্যাক্সেস৷
পরিচয় কৌশল: এটি এমন একটি পদ্ধতি যা হ্যাকার একটি নেটওয়ার্ক আক্রমণ করার জন্য ব্যবহার করে কারণ তার বৈধ ব্যবহারকারীর শংসাপত্রগুলিতে অ্যাক্সেস রয়েছে৷
SQL ইনজেকশন :বর্তমান সময়ের পরিস্থিতিতে সার্ভার ডাটাবেস থেকে সমালোচনামূলক তথ্য পেতে আক্রমণকারীর দ্বারা ব্যবহৃত সবচেয়ে সাধারণ কৌশল। এই আক্রমণে, হ্যাকার সফ্টওয়্যার, ওয়েব অ্যাপ্লিকেশন এবং আরও অনেক কিছুতে ক্ষতিকারক কোড ইনজেক্ট করার জন্য সিস্টেমের দুর্বলতার সুযোগ নেয়৷
ডেটা ম্যানিপুলেশন :নাম অনুসারে এটি এমন একটি প্রক্রিয়া যা হ্যাকার ওয়েবসাইটে প্রকাশিত ডেটার সুবিধা গ্রহণ করে ওয়েবসাইটের মালিকের তথ্যে অ্যাক্সেস লাভ করে এবং এটিকে আপত্তিকর কিছুতে পরিবর্তন করে৷
সুবিধা অগ্রগতি: আক্রমণের একটি ক্লাস যেখানে খারাপ লোকেরা উচ্চ স্তরের বিশেষাধিকার পেতে একটি অ্যাকাউন্ট তৈরি করে যা কাউকে দেওয়া যায় না। যদি সফল হ্যাকার রুট ফাইলগুলি অ্যাক্সেস করতে পারে যা তাকে ক্ষতিকারক কোড চালানোর অনুমতি দেয় যা সম্পূর্ণ সিস্টেমের ক্ষতি করতে পারে৷
ইউআরএল ম্যানিপুলেশন :ম্যানিপুলেশন URL দ্বারা গোপন তথ্য অ্যাক্সেস পেতে হ্যাকারদের দ্বারা ব্যবহৃত হুমকির আরেকটি শ্রেণী। সার্ভার এবং ক্লায়েন্টের মধ্যে তথ্য স্থানান্তর করতে অ্যাপ্লিকেশনটি HTTPS এর পরিবর্তে HTTP ব্যবহার করলে এটি ঘটে। যেহেতু তথ্য ক্যোয়ারী স্ট্রিং আকারে স্থানান্তরিত হয় আক্রমণকে সফল করার জন্য প্যারামিটারগুলি পরিবর্তন করা যেতে পারে৷
পরিষেবার অস্বীকৃতি :এটি সাইট বা সার্ভারকে নামিয়ে আনার একটি প্রচেষ্টা যাতে এটি ব্যবহারকারীদের জন্য অনুপলব্ধ হয়ে যায় যাতে তারা সাইটটিকে অবিশ্বাস করে। সাধারণত এই আক্রমণকে সফল করতে বটনেট ব্যবহার করা হয়।
নিরাপত্তা পরীক্ষার কৌশল
নীচে তালিকাভুক্ত নিরাপত্তা সেটিংস একটি সংস্থাকে উপরে উল্লিখিত হুমকি মোকাবেলায় সহায়তা করতে পারে। এটির জন্য যা প্রয়োজন তা হল HTTP প্রোটোকল, এসকিউএল ইনজেকশন এবং এক্সএসএস সম্পর্কে ভাল জ্ঞান। আপনার যদি এই সমস্ত কিছুর জ্ঞান থাকে, তাহলে আপনি সহজেই নিম্নলিখিত কৌশলগুলি ব্যবহার করে সুরক্ষার দুর্বলতাগুলি সনাক্ত করতে পারেন এবং সিস্টেমটি সুরক্ষিত রাখতে পারেন৷
ক্রস সাইট স্ক্রিপ্টিং (XSS): যেমন ব্যাখ্যা করা হয়েছে ক্রস সাইট স্ক্রিপ্টিং একটি পদ্ধতি যা আক্রমণকারীরা অ্যাক্সেস লাভের জন্য ব্যবহার করে তাই সুরক্ষিত থাকার জন্য পরীক্ষকদের XSS-এর জন্য ওয়েব অ্যাপ্লিকেশন পরীক্ষা করতে হবে। এর মানে তাদের নিশ্চিত করা উচিত যে অ্যাপ্লিকেশন কোনো স্ক্রিপ্ট গ্রহণ করে না কারণ এটি সবচেয়ে বড় হুমকি এবং সিস্টেমকে ঝুঁকির মধ্যে ফেলতে পারে।
আক্রমণকারীরা সহজেই ক্রস সাইট স্ক্রিপ্টিং ব্যবহার করে দূষিত কোড চালাতে এবং ডেটা চুরি করতে পারে। ক্রস সাইট স্ক্রিপ্টিং পরীক্ষা করার জন্য ব্যবহৃত কৌশলগুলি নিম্নরূপ:
ক্রস সাইট স্ক্রিপ্টিং টেস্টিং এর জন্য করা যেতে পারে:
- লেস-থান সাইন
- এর চেয়ে বড় সাইন
- অ্যাপোস্ট্রফি
পাসওয়ার্ড ক্র্যাকিং: সিস্টেম পরীক্ষার সবচেয়ে গুরুত্বপূর্ণ অংশ হল পাসওয়ার্ড ক্র্যাকিং, গোপন তথ্যে অ্যাক্সেস পেতে হ্যাকাররা পাসওয়ার্ড ক্র্যাকিং টুল ব্যবহার করে বা সাধারণ পাসওয়ার্ড ব্যবহার করে, ইউজারনেম অনলাইনে উপলব্ধ। তাই, পরীক্ষকদের গ্যারান্টি দিতে হবে যে ওয়েব অ্যাপ্লিকেশন জটিল পাসওয়ার্ড ব্যবহার করে এবং কুকিজ এনক্রিপশন ছাড়া সংরক্ষণ করা হয় না।
এই ছাড়াও পরীক্ষককে নিরাপত্তা পরীক্ষার সাতটি বৈশিষ্ট্য অনুসরণ করতে হবে এবং নিরাপত্তা পরীক্ষার পদ্ধতি :
- সততা
- প্রমাণিকরণ
- উপলভ্যতা
- অনুমোদন
- গোপনীয়তা
- স্থিতিস্থাপকতা
- অপ্রত্যাখ্যান
নিরাপত্তা পরীক্ষার পদ্ধতি:
- হোয়াইট বক্স- পরীক্ষকরা সকল তথ্যে অ্যাক্সেস পান।
- ব্ল্যাক বক্স- পরীক্ষককে বাস্তব বিশ্বের দৃশ্যে সিস্টেমটি পরীক্ষা করার জন্য প্রয়োজনীয় কোনো তথ্য প্রদান করা হয় না।
- ধূসর বক্স- নাম অনুসারে কিছু তথ্য পরীক্ষককে দেওয়া হয়েছে এবং বাকিটা তাদের নিজেদেরই জানতে হবে।
এই পদ্ধতিগুলি ব্যবহার করে সংস্থা তাদের সিস্টেমে সনাক্ত করা সুরক্ষা দুর্বলতাগুলি প্যাচ করতে পারে। এছাড়াও, তাদের সবচেয়ে সাধারণ জিনিসটি মনে রাখতে হবে তা হল নবজাতকের দ্বারা লিখিত কোড ব্যবহার করা এড়ানো কারণ তাদের নিরাপত্তা দুর্বলতা রয়েছে যা কঠোর পরীক্ষা না করা পর্যন্ত সহজে প্যাচ করা বা সনাক্ত করা যায় না।
আমরা আশা করি আপনি নিবন্ধটি তথ্যপূর্ণ বলে মনে করেছেন এবং এটি আপনাকে আপনার সিস্টেমের নিরাপত্তা ত্রুটিগুলি সমাধান করতে সাহায্য করবে৷