সুচিপত্র[লুকান][দেখান]
- তাহলে, স্ট্যাটিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (SAST) কি?
- SAST কেন গুরুত্বপূর্ণ?
- SAST কিভাবে কাজ করে?
- উপকারিতা
- অসুবিধা সমূহ
- ডায়নামিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (DAST) কি?
- কেন DAST গুরুত্বপূর্ণ?
- DAST কিভাবে কাজ করে?
- উপকারিতা
- অসুবিধা সমূহ
- SAST বনাম DAST
- কখন SAST ব্যবহার করবেন?
- কখন DAST ব্যবহার করবেন?
- SAST এবং DAST কি একসাথে কাজ করতে পারে?
- উপসংহার
এমনকি সবচেয়ে দক্ষ প্রোগ্রামাররাও দুর্বল কোড তৈরি করতে পারে যা ডেটা চুরির জন্য সংবেদনশীল রাখে। আপনার কোড সুরক্ষিত এবং দুর্বলতা এবং নিরাপত্তা উদ্বেগ মুক্ত তা নিশ্চিত করার জন্য অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা অপরিহার্য।
সম্ভাব্য সফ্টওয়্যার দুর্বলতার তালিকা প্রতি বছর নাটকীয়ভাবে প্রসারিত হচ্ছে বলে মনে হচ্ছে, যা আজকের হুমকিকে আগের চেয়ে বড় করে তুলছে। আপনার অ্যাপ্লিকেশনগুলি দুর্ভেদ্য হতে পারে না যদি উন্নয়ন দলগুলি স্বল্প সময়ের ফ্রেমে নতুন স্থাপনা সরবরাহ করার চেষ্টা করে।
অ্যাপ্লিকেশনগুলি কার্যত প্রতিটি শিল্পে ব্যাপকভাবে নিযুক্ত করা হয়, যা গ্রাহকদের পণ্য এবং পরিষেবাগুলি, পরামর্শ, বিনোদন ইত্যাদি ব্যবহার করা সহজ এবং সহজ করে তোলে।
এবং কোডিং পর্যায় থেকে উত্পাদন এবং স্থাপনা পর্যন্ত, আপনাকে অবশ্যই আপনার বিকাশ করা প্রতিটি অ্যাপ্লিকেশনের সুরক্ষা পরীক্ষা করতে হবে।
অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা দুটি ভালো উপায়ে করা যেতে পারে: SAST (স্ট্যাটিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং) এবং DAST (ডাইনামিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং)।
কিছু লোক SAST, কিছু DAST বেছে নেয় এবং অন্যরা উভয় সংমিশ্রণের প্রশংসা করে। দলগুলি এই অ্যাপ্লিকেশন নিরাপত্তা কৌশলগুলির যেকোনো একটি ব্যবহার করে সুরক্ষিত সফ্টওয়্যার পরীক্ষা এবং প্রকাশ করতে পারে।
যাই হোক না কেন পরিস্থিতিতে কোনটি পছন্দনীয় তা নির্ধারণ করতে, আমরা এই পোস্টে SAST এবং DAST তুলনা করব।
এখানে প্রদত্ত ডেটা আপনার ব্যবসার জন্য কোন অ্যাপ্লিকেশন নিরাপত্তা কৌশল সর্বোত্তম তা নির্ধারণ করতে ব্যবহার করা যেতে পারে।
তাহলে, স্ট্যাটিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (SAST) কি?
SAST হল একটি অ্যাপ্লিকেশানকে সুরক্ষিত করার জন্য একটি পরীক্ষামূলক পদ্ধতি যা পরিসংখ্যানগতভাবে এর সোর্স কোড পরীক্ষা করে সমস্ত দুর্বলতা উত্সগুলি সনাক্ত করতে পারে, যার মধ্যে রয়েছে অ্যাপ্লিকেশনের দুর্বলতা এবং SQL ইনজেকশনের মতো ত্রুটিগুলি।
SAST কখনও কখনও "হোয়াইট-বক্স" সুরক্ষা পরীক্ষা হিসাবে পরিচিত কারণ এটি ত্রুটিগুলি সনাক্ত করতে অ্যাপ্লিকেশনটির অভ্যন্তরীণ উপাদানগুলিকে ব্যাপকভাবে বিশ্লেষণ করে৷
এটি বিল্ড শেষ হওয়ার আগে অ্যাপ্লিকেশন বিকাশের প্রাথমিক পর্যায়ে কোড স্তরে করা হয়। পরীক্ষার পরিবেশে অ্যাপ্লিকেশনের উপাদানগুলি যুক্ত হওয়ার পরেও এটি করা যেতে পারে।
উপরন্তু, একটি অ্যাপ্লিকেশনের গুণমান নিশ্চিত করতে SAST ব্যবহার করা হয়। অধিকন্তু, এটি একটি অ্যাপ্লিকেশনের কোডের উপর জোর দিয়ে, SAST সরঞ্জামগুলির সাহায্যে পরিচালিত হয়।
এই সরঞ্জামগুলি সম্ভাব্য নিরাপত্তা ত্রুটি এবং দুর্বলতার জন্য অ্যাপের সোর্স কোড এবং এর সমস্ত উপাদান পরীক্ষা করে। তারা ডাউনটাইম এবং ডেটা অনুপ্রবেশের সম্ভাবনা হ্রাস করতে সহায়তা করে।
নিম্নে বাজারে কয়েকটি শীর্ষ SAST টুল রয়েছে:
SAST কেন গুরুত্বপূর্ণ?
স্ট্যাটিক অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষার সবচেয়ে গুরুত্বপূর্ণ সুবিধা হল সমস্যা সনাক্ত করার এবং ফাইলের নাম এবং লাইন নম্বর সহ তাদের নির্দিষ্ট অবস্থান নির্ধারণ করার ক্ষমতা।
SAST টুলটি একটি সংক্ষিপ্ত সারসংক্ষেপ প্রদান করবে এবং প্রতিটি সমস্যার তীব্রতা নির্দেশ করবে। যদিও বাগগুলি আবিষ্কার করা একটি বিকাশকারীর কাজের সবচেয়ে সময়সাপেক্ষ উপাদানগুলির মধ্যে একটি, এটি সরলভাবে দেখা যেতে পারে৷
একটি সমস্যা আছে তা জানা কিন্তু এটি সনাক্ত করতে অক্ষম হওয়া সবচেয়ে বিরক্তিকর পরিস্থিতি, বিশেষ করে যখন শুধুমাত্র দেওয়া তথ্য হল হ্যাজি স্ট্যাক ট্রেস বা অস্পষ্ট কম্পাইলার ত্রুটি বার্তা থেকে।
SAST বিস্তৃত অ্যাপ্লিকেশানগুলিতে প্রয়োগ করা যেতে পারে এবং প্রচুর সংখ্যক উচ্চ-স্তরের ভাষা সমর্থন করে। এছাড়াও, বেশিরভাগ SAST সরঞ্জামগুলি বিস্তৃত কনফিগারেশন বিকল্পগুলি অফার করে।
SAST কিভাবে কাজ করে?
শুরু করার জন্য, আপনাকে অবশ্যই সিদ্ধান্ত নিতে হবে যে আপনি আপনার অ্যাপ্লিকেশনের জন্য বিল্ড সিস্টেমে প্রয়োগ করতে কোন SAST টুল ব্যবহার করবেন। অতএব, আপনাকে অবশ্যই একটি SAST টুল বেছে নিতে হবে, যার মধ্যে রয়েছে:
- অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত ভাষা
- বিদ্যমান CI বা অন্য কোনো উন্নয়ন সরঞ্জামের সাথে পণ্যের আন্তঃকার্যযোগ্যতা
- মিথ্যা ইতিবাচক সংখ্যা সহ সমস্যা সনাক্তকরণে প্রোগ্রামটির কার্যকারিতা
- নির্দিষ্ট মানদণ্ড পরীক্ষা করার ক্ষমতা ছাড়াও সরঞ্জামটি কতগুলি বিভিন্ন দুর্বলতার ধরন পরিচালনা করতে পারে?
সুতরাং, আপনার SAST টুল নির্বাচন করার পরে, আপনি এটি ব্যবহার করা শুরু করতে পারেন।
SAST সরঞ্জামগুলি যেভাবে কাজ করে তা নিম্নরূপ:
- সোর্স কোড, কনফিগারেশন, পরিবেশ, নির্ভরতা, ডেটা প্রবাহ এবং অন্যান্য উপাদানগুলির একটি বিস্তৃত ছবি পেতে, টুলটি বিশ্রামে থাকা অবস্থায় কোডটি স্ক্যান করবে।
- লাইন বাই লাইন এবং ইন্সট্রাকশন বাই ইন্সট্রাকশন, অ্যাপের কোড SAST টুল দ্বারা পরীক্ষা করা হবে কারণ এটি পূর্বনির্ধারিত মানের সাথে তুলনা করে। SQL ইনজেকশন, বাফার ওভারফ্লো, XSS সমস্যা এবং অন্যান্য উদ্বেগ সহ নিরাপত্তা গর্ত এবং ত্রুটিগুলি দেখতে আপনার উত্স কোড পরীক্ষা করা হবে।
- SAST বাস্তবায়নের নিম্নলিখিত পর্যায় হল SAST সরঞ্জামগুলি ব্যবহার করে কোড বিশ্লেষণ এবং কাস্টমাইজ করা নিয়মগুলির একটি সেট।
অতএব, সমস্যাগুলি সনাক্ত করা এবং তাদের প্রভাবগুলি মূল্যায়ন করা আপনাকে কীভাবে সেগুলি সমাধান করতে হবে এবং প্রোগ্রামের সুরক্ষা বাড়ানো যায় তা নির্ধারণ করতে সক্ষম করবে৷
SAST সরঞ্জামগুলির দ্বারা সৃষ্ট মিথ্যা ইতিবাচক শনাক্ত করতে, আপনার অবশ্যই কোডিং, নিরাপত্তা এবং নকশা সম্পর্কে একটি দৃঢ় ধারণা থাকতে হবে। বিকল্পভাবে, আপনি মিথ্যা ইতিবাচক কমাতে বা নির্মূল করতে আপনার কোড পরিবর্তন করতে পারেন।
SAST সুবিধা
1. দ্রুত এবং আরো সুনির্দিষ্ট
আপনার অ্যাপ্লিকেশন এবং এর সোর্স কোড ব্যাপকভাবে স্ক্যান করার ক্ষেত্রে SAST সরঞ্জামগুলি ম্যানুয়াল কোড পর্যালোচনার চেয়ে দ্রুত। অন্তর্নিহিত সমস্যাগুলি সন্ধান করতে প্রযুক্তিগুলি দ্রুত এবং নির্ভুলভাবে লক্ষ লক্ষ কোড লাইন পরীক্ষা করতে পারে।
উপরন্তু, SAST সরঞ্জামগুলি অবিলম্বে উদ্বেগের সমাধানে আপনাকে সহায়তা করার সাথে সাথে এর কার্যকারিতা এবং অখণ্ডতা বজায় রাখার জন্য নিরাপত্তার জন্য ক্রমাগত আপনার কোড পরীক্ষা করে।
2. প্রাথমিক উন্নয়নমূলক নিরাপত্তা প্রদান করে
একটি অ্যাপ্লিকেশনের বিকাশের জীবনের প্রথম দিকে, নিরাপত্তা নিশ্চিত করার জন্য SAST অপরিহার্য। কোডিং বা ডিজাইনিং প্রক্রিয়া চলাকালীন, এটি আপনাকে আপনার উত্স কোডের দুর্বলতাগুলি সনাক্ত করতে দেয়। সমস্যাগুলি সমাধান করাও সহজ, যখন আপনি সেগুলিকে শনাক্ত করতে পারেন।
তবুও, আপনি যদি সমস্যাগুলি সনাক্ত করার জন্য প্রাথমিকভাবে পরীক্ষা না চালান এবং বিকাশের সমাপ্তি না হওয়া পর্যন্ত সেগুলিকে টিকে থাকতে দেন, তবে বিল্ডটিতে বেশ কয়েকটি অন্তর্নিহিত ত্রুটি এবং ব্যর্থতা থাকতে পারে।
ফলস্বরূপ, তাদের বোঝা এবং চিকিত্সা করা কঠিন এবং সময়সাপেক্ষ হয়ে উঠবে, আপনার উত্পাদন এবং স্থাপনার সময়সূচীকে আরও বিলম্বিত করবে।
যাইহোক, দুর্বলতাগুলি প্যাচ করার পরিবর্তে SAST ব্যবহার করা আপনার সময় এবং অর্থ সাশ্রয় করবে। উপরন্তু, এটি ক্লায়েন্ট এবং সার্ভার উভয় পক্ষের ত্রুটিগুলি পরীক্ষা করার ক্ষমতা রাখে।
3. অন্তর্ভুক্ত করা সহজ
SAST সরঞ্জামগুলি একটি অ্যাপ্লিকেশন বিকাশের জীবনচক্রের বর্তমান প্রক্রিয়াগুলিতে অন্তর্ভুক্ত করা সহজ। তারা অন্যান্য নিরাপত্তা পরীক্ষার সরঞ্জাম, উত্স কোড সংগ্রহস্থল এবং উন্নয়ন পরিবেশের সাথে অসুবিধা ছাড়াই কাজ করতে পারে।
তাদের একটি ব্যবহারকারী-বান্ধব ইন্টারফেস রয়েছে যাতে ভোক্তারা উচ্চ শিক্ষার বক্ররেখা ছাড়াই এটি থেকে সর্বাধিক সুবিধা পেতে পারেন।
4. নিরাপদ কোডিং
ডেস্কটপ, মোবাইল ডিভাইস, এমবেডেড সিস্টেম বা ওয়েবসাইটগুলির জন্য কোড লেখা হোক না কেন, আপনাকে সর্বদা নিরাপদ কোডিং নিশ্চিত করতে হবে। শুরু থেকেই নিরাপদ, নির্ভরযোগ্য কোড লিখে আপনার অ্যাপ্লিকেশন হ্যাক হওয়ার সম্ভাবনা কমিয়ে দিন।
কারণ হল যে আক্রমণকারীরা খারাপ কোডিং সহ প্রোগ্রামগুলিকে দ্রুত লক্ষ্যবস্তু করতে পারে এবং ডেটা, পাসওয়ার্ড, অ্যাকাউন্ট টেকওভার এবং আরও অনেক কিছু চুরি সহ ক্ষতিকারক ক্রিয়া সম্পাদন করতে পারে।
এটি আপনার ব্যবসার প্রতি গ্রাহকদের বিশ্বাসের উপর নেতিবাচক প্রভাব ফেলে। SAST ব্যবহার করা আপনাকে এখনই নিরাপদ কোডিং অনুশীলন স্থাপন করতে এবং তাদের সারা জীবন বৃদ্ধির জন্য একটি শক্তিশালী ভিত্তি প্রদান করতে সক্ষম করবে।
5. উচ্চ-ঝুঁকির দুর্বলতা সনাক্তকরণ
SAST সরঞ্জামগুলি বাফার ওভারফ্লো সহ উচ্চ-ঝুঁকিপূর্ণ অ্যাপ্লিকেশন ত্রুটিগুলি সনাক্ত করতে পারে যা একটি অ্যাপ্লিকেশনকে অকার্যকর এবং SQL ইনজেকশন ত্রুটিগুলিকে রেন্ডার করতে পারে যা একটি অ্যাপ্লিকেশনকে তার জীবনকাল জুড়ে ক্ষতি করতে পারে। উপরন্তু, তারা কার্যকরভাবে দুর্বলতা এবং ক্রস-সাইট স্ক্রিপ্টিং (XSS) সনাক্ত করে।
উপকারিতা
- এটা স্বয়ংক্রিয় করা সম্ভব.
- যেহেতু এটি প্রক্রিয়ার প্রথম দিকে করা হয়, তাই দুর্বলতা ঠিক করা কম ব্যয়বহুল।
- আবিষ্কৃত সমস্যাগুলির অবিলম্বে প্রতিক্রিয়া এবং ভিজ্যুয়াল উপস্থাপনা প্রদান করে
- সম্পূর্ণ কোডবেসটি মানুষের পক্ষে সম্ভব হওয়ার চেয়ে দ্রুত বিশ্লেষণ করে।
- ব্যক্তিগতকৃত রিপোর্ট প্রদান করে যা ড্যাশবোর্ডের মাধ্যমে ট্র্যাক করা যায় এবং রপ্তানি করা যায়।
- ত্রুটি এবং সমস্যাযুক্ত কোডের সুনির্দিষ্ট অবস্থান সনাক্ত করে
অসুবিধা সমূহ
- বেশিরভাগ প্যারামিটার মান বা কল এটি দ্বারা চেক করা যাবে না।
- কোড পরীক্ষা করতে এবং মিথ্যা ইতিবাচক প্রতিরোধ করতে, এটি অবশ্যই ডেটা একত্রিত করতে হবে।
- যে সরঞ্জামগুলি একটি নির্দিষ্ট ভাষার উপর নির্ভর করে সেগুলিকে ব্যবহার করা প্রতিটি ভাষার জন্য আলাদাভাবে বিকাশ এবং রক্ষণাবেক্ষণ করতে হবে।
- এটি লাইব্রেরি বা কাঠামো বোঝার জন্য সংগ্রাম করে, যেমন API বা REST শেষ পয়েন্ট
ডায়নামিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (DAST) কি?
আরেকটি পরীক্ষার কৌশল যা একটি "ব্ল্যাক-বক্স" পদ্ধতির উপর নির্ভর করে তা হল ডায়নামিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (DAST), যা অনুমান করে যে পরীক্ষকরা সোর্স কোড বা অ্যাপ্লিকেশনটির অভ্যন্তরীণ কাজ সম্পর্কে অবগত নন বা তাদের অ্যাক্সেস নেই।
অ্যাক্সেসযোগ্য ইনপুট এবং আউটপুট ব্যবহার করে, তারা বাইরে থেকে অ্যাপ্লিকেশন পরীক্ষা করে। পরীক্ষাটি দেখে মনে হচ্ছে একটি হ্যাকার অ্যাপ্লিকেশনটি ব্যবহার করার চেষ্টা করছে।
DAST অ্যাপ্লিকেশানের আচরণ পর্যবেক্ষণ করে আক্রমণ ভেক্টর এবং অবশিষ্ট অ্যাপ্লিকেশন দুর্বলতাগুলি ট্র্যাক করার চেষ্টা করে। এটি একটি কার্যকরী অ্যাপ্লিকেশনের উপর পরিচালিত হয়, যা আপনাকে অবশ্যই চালাতে হবে এবং ব্যবহার করতে হবে বিভিন্ন পদ্ধতি এবং মূল্যায়ন করার জন্য।
আপনি DAST ব্যবহার করে মোতায়েন করার পরে রানটাইমে আপনার অ্যাপ্লিকেশনের সমস্ত নিরাপত্তা ত্রুটি খুঁজে পেতে পারেন। আক্রমণের সারফেস কমিয়ে দিয়ে যার মাধ্যমে প্রকৃত হ্যাকাররা আক্রমণ চালাতে পারে, আপনি ডেটা লঙ্ঘন এড়াতে পারেন।
উপরন্তু, ক্রস-সাইট স্ক্রিপ্টিং, এসকিউএল ইনজেকশন, ম্যালওয়্যার এবং আরও অনেক কিছুর মতো হ্যাকিং কৌশলগুলিকে ম্যানুয়ালি এবং DAST টুলগুলির সাহায্যে DAST ব্যবহার করা যেতে পারে।
DAST সরঞ্জামগুলি প্রমাণীকরণ সমস্যা, সার্ভার সেটিংস, যুক্তি ত্রুটি, তৃতীয় পক্ষের ঝুঁকি, এনক্রিপশন দুর্বলতা এবং আরও অনেক কিছু সহ বিভিন্ন জিনিস পরীক্ষা করতে পারে।
নিম্নে বাজারে কয়েকটি শীর্ষ DAST টুল রয়েছে:
কেন DAST গুরুত্বপূর্ণ?
DAST-এর গতিশীল নিরাপত্তা পরীক্ষার পদ্ধতি মেমরি ফাঁস, XSS আক্রমণ, SQL ইনজেকশন, প্রমাণীকরণ এবং এনক্রিপশন সমস্যা সহ বাস্তব-বিশ্বের বিভিন্ন দুর্বলতা সনাক্ত করতে পারে।
এটি OWASP শীর্ষ দশের প্রতিটি ত্রুটি খুঁজে পেতে সক্ষম। DAST আপনার অ্যাপ্লিকেশনের বাহ্যিক পরিবেশ পরীক্ষা করার পাশাপাশি ইনপুট এবং আউটপুটগুলির উপর নির্ভর করে একটি অ্যাপ্লিকেশনের অভ্যন্তরীণ অবস্থা গতিশীলভাবে পরীক্ষা করতে ব্যবহার করা যেতে পারে।
তাই DAST প্রতিটি সিস্টেম এবং API এন্ডপয়েন্ট/ওয়েব পরিষেবা পরীক্ষা করতে ব্যবহার করা যেতে পারে যা আপনার অ্যাপ্লিকেশনের সাথে সংযোগ করে, পাশাপাশি API এন্ডপয়েন্ট এবং ওয়েব পরিষেবার পাশাপাশি ভৌত অবকাঠামো এবং হোস্ট সিস্টেম (নেটওয়ার্কিং, স্টোরেজ, এবং কম্পিউটিং) উভয় ভার্চুয়াল সংস্থান পরীক্ষা করতে )
এই কারণে, এই সরঞ্জামগুলি শুধুমাত্র ডেভেলপারদের জন্যই নয় বরং বৃহত্তর অপারেশন এবং আইটি সম্প্রদায়ের জন্যও গুরুত্বপূর্ণ।
DAST কিভাবে কাজ করে?
SAST-এর মতো, নিম্নলিখিত বিষয়গুলি বিবেচনায় নিয়ে একটি উপযুক্ত DAST টুল বাছাই করতে ভুলবেন না:
- DAST টুলটি কত রকমের দুর্বলতা থেকে রক্ষা করতে পারে?
- যে ডিগ্রীতে DAST টুলটি শিডিউলিং, এক্সিকিউশন এবং ম্যানুয়াল স্ক্যানিং স্বয়ংক্রিয় করে
- একটি নির্দিষ্ট পরীক্ষার ক্ষেত্রে এটি সেট আপ করার জন্য কতটা নমনীয়তা উপলব্ধ?
- DAST টুল কি CI/CD এবং অন্যান্য প্রযুক্তির সাথে সামঞ্জস্যপূর্ণ যা আপনি বর্তমানে ব্যবহার করছেন?
DAST সরঞ্জামগুলি প্রায়শই ব্যবহার করা সহজ, তবে তারা পরীক্ষার সুবিধার্থে পটভূমিতে অনেক জটিল কাজ সম্পাদন করে।
- DAST সরঞ্জামগুলির লক্ষ্য হল অ্যাপ্লিকেশন সম্পর্কে যতটা সম্ভব তথ্য সংগ্রহ করা। আক্রমণের পৃষ্ঠ বাড়াতে, তারা প্রতিটি ওয়েবসাইট ক্রল করে এবং ইনপুট বের করে।
- তারপরে তারা আক্রমণাত্মকভাবে অ্যাপ্লিকেশনটি স্ক্যান করা শুরু করে। এক্সএসএস, এসএসআরএফ, এসকিউএল ইনজেকশন ইত্যাদির মতো দুর্বলতা পরীক্ষা করার জন্য, একটি DAST টুল একাধিক অ্যাটাক ভেক্টরকে আগে চিহ্নিত শেষ পয়েন্টে পাঠাবে। অতিরিক্তভাবে, প্রচুর DAST প্রযুক্তি আপনাকে অতিরিক্ত সমস্যাগুলির জন্য আপনার নিজের আক্রমণের পরিস্থিতি ডিজাইন করতে দেয়।
- এই পর্যায়টি শেষ হওয়ার পরে টুলটি ফলাফল দেখাবে। যদি একটি দুর্বলতা পাওয়া যায়, এটি তার প্রকার, URL, তীব্রতা এবং আক্রমণ ভেক্টর সহ এখনই এটি সম্পর্কে বিস্তারিত তথ্য প্রদান করে৷ এটি সমস্যা সমাধানে সহায়তা প্রদান করে।
DAST সরঞ্জামগুলি অ্যাপ্লিকেশন লগইন করার সময় উত্থাপিত প্রমাণীকরণ এবং কনফিগারেশন সমস্যা সনাক্ত করতে খুব কার্যকর। আক্রমণ অনুকরণ করতে, তারা পরীক্ষা করা হচ্ছে এমন অ্যাপ্লিকেশনে নির্দিষ্ট পূর্বনির্ধারিত ইনপুট সরবরাহ করে।
তারপর টুলটি ত্রুটি সনাক্ত করার জন্য প্রত্যাশিত ফলাফলের সাথে সম্পর্কিত আউটপুট মূল্যায়ন করে। অনলাইন অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষায়, DAST প্রায়শই ব্যবহার করা হয়।
DAST সুবিধা
1. সমস্ত পরিবেশে উচ্চতর নিরাপত্তা
আপনি আপনার অ্যাপ্লিকেশনের সর্বোচ্চ ডিগ্রী নিরাপত্তা এবং অখণ্ডতা অর্জন করতে পারেন কারণ DAST এর মূল কোডের পরিবর্তে বাইরে থেকে এটি প্রয়োগ করা হয়। অ্যাপ্লিকেশন পরিবেশে আপনি যে পরিবর্তনগুলি করেন তা এর নিরাপত্তা বা কাজ করার ক্ষমতাকে প্রভাবিত করে না।
2. অনুপ্রবেশ পরীক্ষার অবদান
গতিশীল অ্যাপ্লিকেশন নিরাপত্তা অনুপ্রবেশ পরীক্ষার অনুরূপ, যার মধ্যে একটি সাইবার আক্রমণ শুরু করা বা এর নিরাপত্তা ত্রুটিগুলি মূল্যায়ন করার জন্য একটি অ্যাপ্লিকেশনে দূষিত কোড প্রবর্তন করা জড়িত।
এর বিস্তৃত বৈশিষ্ট্যের কারণে, আপনার অনুপ্রবেশ পরীক্ষার প্রচেষ্টায় একটি DAST টুল ব্যবহার করা আপনার কাজকে স্ট্রিমলাইন করতে পারে।
By প্রক্রিয়া স্বয়ংক্রিয় দুর্বলতাগুলি আবিষ্কার করার এবং অবিলম্বে সেগুলি মেরামত করার জন্য ত্রুটিগুলি রিপোর্ট করার জন্য, সরঞ্জামগুলি সামগ্রিকভাবে অনুপ্রবেশ পরীক্ষার গতি বাড়াতে পারে।
3. পরীক্ষার একটি বিস্তৃত পরিসর
আধুনিক সফ্টওয়্যারটি জটিল, এতে বেশ কয়েকটি বাহ্যিক লাইব্রেরি, পুরানো সিস্টেম, টেমপ্লেট কোড, ইত্যাদি রয়েছে। নিরাপত্তা সংক্রান্ত উদ্বেগগুলি পরিবর্তিত হচ্ছে তা উল্লেখ করার মতো নয়, এইভাবে আপনার এমন একটি সিস্টেমের প্রয়োজন যা আপনাকে আরও বেশি পরীক্ষার কভারেজ প্রদান করতে পারে কারণ একা SAST ব্যবহার করা যথেষ্ট নাও হতে পারে।
DAST বিভিন্ন ধরনের ওয়েবসাইট এবং অ্যাপের স্ক্যানিং এবং মূল্যায়ন করে, তাদের প্রযুক্তি, সোর্স কোডের প্রাপ্যতা, এবং উত্সগুলি থেকে স্বাধীনভাবে এটিতে সহায়তা করতে পারে।
4. DevOps ওয়ার্কফ্লোতে অন্তর্ভুক্ত করা সহজ
অনেক লোক বিশ্বাস করে যে DAST তৈরির সময় এটি ব্যবহার করা যাবে না। এটা ছিল, কিন্তু আর না. আপনি সহ বিভিন্ন প্রযুক্তি অন্তর্ভুক্ত করতে পারেন ইনভিক্টি, আপনার DevOps ক্রিয়াকলাপগুলিতে সহজে।
সুতরাং, যদি ইন্টিগ্রেশন সঠিকভাবে সম্পন্ন করা হয়, তাহলে আপনি টুলটিকে স্বয়ংক্রিয়ভাবে দুর্বলতার জন্য স্ক্যান করার অনুমতি দিতে পারেন এবং অ্যাপ্লিকেশন ডেভেলপমেন্টের প্রাথমিক পর্যায়ে নিরাপত্তা সমস্যা চিহ্নিত করতে পারেন।
এটি সংশ্লিষ্ট খরচ কমিয়ে দেবে, অ্যাপ্লিকেশনের নিরাপত্তা উন্নত করবে এবং সমস্যাগুলি সনাক্তকরণ এবং সমাধান করার সময় বিলম্ব সংরক্ষণ করবে।
5. পরীক্ষার স্থাপনা
স্টেজিং পরিবেশে দুর্বলতার জন্য সফ্টওয়্যার পরীক্ষা করার পাশাপাশি DAST সরঞ্জামগুলি বিকাশ এবং উত্পাদন উভয় ক্ষেত্রেই ব্যবহার করা হয়। এই পদ্ধতিতে উৎপাদনে গেলে আপনার অ্যাপ্লিকেশন কতটা নিরাপদ তা আপনি দেখতে পাবেন।
সরঞ্জামগুলি ব্যবহার করে, আপনি পর্যায়ক্রমে কনফিগারেশন পরিবর্তনের কারণে সৃষ্ট কোন অন্তর্নিহিত সমস্যার জন্য প্রোগ্রামটি পরীক্ষা করতে পারেন। উপরন্তু, এটি নতুন ত্রুটিগুলি খুঁজে পেতে পারে যা আপনার প্রোগ্রামকে বিপন্ন করে।
উপকারিতা
- এটি ভাষাগতভাবে নিরপেক্ষ।
- সার্ভার সেটআপ এবং প্রমাণীকরণের সাথে অসুবিধাগুলি হাইলাইট করা হয়েছে৷
- পুরো সিস্টেম এবং অ্যাপ্লিকেশন মূল্যায়ন করে
- মেমরি এবং সম্পদ ব্যবহার পরীক্ষা করে
- ফাংশন কল এবং আর্গুমেন্ট বোঝা
- এনক্রিপশন অ্যালগরিদম ক্র্যাক করার বাইরের প্রচেষ্টা
- বিশেষাধিকার স্তরগুলি আলাদা করা হয়েছে তা নিশ্চিত করতে অনুমতিগুলি পরীক্ষা করে৷
- ত্রুটিগুলির জন্য তৃতীয় পক্ষের ইন্টারফেসের পরীক্ষা
- এসকিউএল ইনজেকশন, কুকি ম্যানিপুলেশন এবং ক্রস-সাইট স্ক্রিপ্টিংয়ের জন্য পরীক্ষা করে
অসুবিধা সমূহ
- অনেক মিথ্যা ইতিবাচক উৎপন্ন করে
- কোডটি নিজেই মূল্যায়ন করে না বা এর দুর্বলতাগুলি নির্দেশ করে না, শুধুমাত্র এটি থেকে আসা সমস্যাগুলি।
- বিকাশ সম্পূর্ণ হওয়ার পরে ব্যবহৃত হয়, এটি ত্রুটিগুলি মেরামত করা আরও ব্যয়বহুল করে তোলে
- বড় প্রকল্পগুলির জন্য বিশেষ পরিকাঠামোর প্রয়োজন, এবং প্রোগ্রামটি অবশ্যই বেশ কয়েকটি সমসাময়িক উদাহরণে কার্যকর করতে হবে।
SAST বনাম DAST
অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা দুটি স্বাদে আসে: স্ট্যাটিক অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা (SAST) এবং গতিশীল অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা (DAST)।
তারা ত্রুটি এবং সমস্যাগুলির জন্য অ্যাপগুলি পরীক্ষা করে নিরাপত্তা হুমকি এবং সাইবার আক্রমণ থেকে রক্ষা করতে সহায়তা করে৷ SAST এবং DAST উভয়ই একটি আক্রমণ সংঘটিত হওয়ার আগে আপনাকে নিরাপত্তা ত্রুটিগুলি সনাক্ত করতে এবং সমাধান করতে সহায়তা করার জন্য ডিজাইন করা হয়েছে৷
আসুন এখন এই নিরাপত্তা পরীক্ষার যুদ্ধে SAST এবং DAST-এর মধ্যে কিছু মূল পার্থক্য তুলনা করা যাক।
- সাদা-বক্স অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা SAST থেকে উপলব্ধ। কিন্তু DAST একইভাবে অ্যাপ্লিকেশন নিরাপত্তার জন্য ব্ল্যাক-বক্স পরীক্ষা প্রদান করে।
- SAST ডেভেলপারদের জন্য একটি পরীক্ষার কৌশল প্রদান করে। এখানে, পরীক্ষক অ্যাপ্লিকেশনটির কাঠামো, নকশা এবং বাস্তবায়নের সাথে পরিচিত। DAST, অন্যদিকে, হ্যাকারের পদ্ধতি দেয়। এই ক্ষেত্রে, পরীক্ষক অ্যাপ্লিকেশনটির কাঠামো, নকশা এবং বাস্তবায়ন সম্পর্কে অজ্ঞ।
- SAST-এ, পরীক্ষা করা হয় ভিতর থেকে (অ্যাপ্লিকেশানগুলির), কিন্তু DAST-তে, বাইরে থেকে পরীক্ষা করা হয়।
- অ্যাপ্লিকেশনের বিকাশের প্রথম দিকে SAST করা হয়। যাইহোক, অ্যাপ্লিকেশন ডেভেলপমেন্ট জীবনচক্রের সমাপ্তির কাছাকাছি একটি সক্রিয় অ্যাপ্লিকেশনে DAST করা হয়।
- SAST-এর জন্য স্থাপন করা অ্যাপের প্রয়োজন নেই কারণ এটি স্ট্যাটিক কোডে প্রয়োগ করা হয়। কারণ এটি দুর্বলতার জন্য অ্যাপ্লিকেশনটির স্ট্যাটিক কোড পরীক্ষা করে, এটিকে "স্ট্যাটিক" বলা হয়। DAST একটি সক্রিয় অ্যাপ্লিকেশনে প্রয়োগ করা হয়। যেহেতু এটি ত্রুটির জন্য চলাকালীন প্রোগ্রামটির গতিশীল কোড পরীক্ষা করে, তাই এটিকে "গতিশীল" বলা হয়।
- SAST সহজে CI/CD পাইপলাইনের সাথে সংযুক্ত করা হয়েছে যাতে ডেভেলপারদের নিয়মিতভাবে অ্যাপ্লিকেশন কোড নিরীক্ষণ করতে সাহায্য করা যায়। অ্যাপটি একটি পরীক্ষা সার্ভার বা বিকাশকারীর পিসিতে স্থাপন এবং কাজ করার পরে, DAST একটি CI/CD পাইপলাইনে অন্তর্ভুক্ত করা হয়।
- SAST সরঞ্জামগুলি দুর্বলতা এবং তাদের সুনির্দিষ্ট অবস্থানগুলি সনাক্ত করতে ব্যাপকভাবে কোড স্ক্যান করে, যা পরিষ্কার করা সহজ করে তোলে। DAST সরঞ্জামগুলি দুর্বলতার সঠিক অবস্থান নাও দিতে পারে যেহেতু তারা রানটাইমে কাজ করে।
- যখন SAST প্রক্রিয়ার প্রথম দিকে সমস্যাগুলি চিহ্নিত করা হয়, তখন সেগুলিকে সংশোধন করা সহজ এবং কম ব্যয়বহুল। DAST বাস্তবায়ন উন্নয়ন জীবনচক্রের উপসংহারে ঘটে, তাই ততক্ষণ পর্যন্ত সমস্যাগুলি খুঁজে পাওয়া যায় না। এটি সুনির্দিষ্ট স্থানাঙ্কও দিতে পারেনি।
কখন SAST ব্যবহার করবেন?
ধরে নিন আপনার একটি ডেভেলপমেন্ট টিম আছে যা কোড লেখার জন্য একচেটিয়া পরিবেশে কাজ করে। যত তাড়াতাড়ি তারা একটি আপডেট তৈরি করে, আপনার বিকাশকারীরা সোর্স কোডে পরিবর্তনগুলি অন্তর্ভুক্ত করে।
তারপরে অ্যাপ্লিকেশনটি একত্রিত করা হয় এবং প্রতি সপ্তাহে একটি নির্দিষ্ট সময়ে, এটি উত্পাদন পর্যায়ে উন্নীত হয়। এখানে অনেক দুর্বলতা থাকবে না, কিন্তু যদি কেউ খুব দীর্ঘ সময়ের পরে করে, আপনি এটি মূল্যায়ন করতে পারেন এবং এটি ঠিক করতে পারেন.
যদি তাই হয়, আপনি SAST ব্যবহার করার কথা ভাবতে পারেন।
কখন DAST ব্যবহার করবেন?
ধরা যাক আপনার এসএলডিসি একটি উত্পাদনশীল আছে অটোমেশন সহ DevOps পরিবেশ। তুমি ব্যবহার করতে পার ক্লাউড কম্পিউটিং AWS এবং কন্টেইনারের মতো পরিষেবা।
ফলস্বরূপ, আপনার বিকাশকারীরা দ্রুত পরিবর্তনগুলি তৈরি করতে পারে, স্বয়ংক্রিয়ভাবে কোডটি কম্পাইল করতে পারে এবং DevOps সরঞ্জামগুলি ব্যবহার করে দ্রুত কন্টেইনার তৈরি করতে পারে৷ ক্রমাগত CI/CD সহ, আপনি এই পদ্ধতিতে মোতায়েন ত্বরান্বিত করতে পারেন। কিন্তু তা করলে হামলার সারফেস প্রশস্ত হতে পারে।
এর জন্য, একটি DAST টুল দিয়ে পুরো অ্যাপ্লিকেশনটি স্ক্যান করা আপনার সমস্যা শনাক্ত করার জন্য একটি দুর্দান্ত বিকল্প হতে পারে।
SAST এবং DAST কি একসাথে কাজ করতে পারে?
হ্যাঁ, সন্দেহ ছাড়াই। প্রকৃতপক্ষে, এগুলিকে একত্রিত করার ফলে আপনি আপনার অ্যাপ্লিকেশনের নিরাপত্তা ঝুঁকিগুলিকে ভিতর থেকে এবং বাইরে থেকে সম্পূর্ণরূপে উপলব্ধি করতে পারবেন৷
দক্ষ এবং দরকারী নিরাপত্তা পরীক্ষা, বিশ্লেষণ এবং প্রতিবেদনের উপর নির্মিত একটি সিনবায়োটিক DevOps বা DevSecOps পদ্ধতিও সম্ভব করা হবে। উপরন্তু, এটি আক্রমণ পৃষ্ঠ এবং দুর্বলতা কমিয়ে দেবে, যা সাইবার আক্রমণ সম্পর্কে উদ্বেগ দূর করবে।
ফলস্বরূপ আপনি একটি খুব নিরাপদ এবং নির্ভরযোগ্য SDLC তৈরি করতে পারেন। স্ট্যাটিক অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং (SAST) আপনার সোর্স কোড পরীক্ষা করে যখন এটি বিশ্রামে থাকে, যেটি কারণ।
উপরন্তু, প্রমাণীকরণ এবং অনুমোদনের মতো রানটাইম বা কনফিগারেশন উদ্বেগগুলি এটির জন্য অনুপযুক্ত, এইভাবে এটি সম্পূর্ণরূপে সমস্ত দুর্বলতার সমাধান নাও করতে পারে।
উন্নয়ন দলগুলি এখন DAST-এর মতো বিভিন্ন পরীক্ষার কৌশল এবং যন্ত্রগুলির সাথে SAST-কে একত্রিত করতে পারে। অন্যান্য দুর্বলতাগুলি খুঁজে পাওয়া যায় এবং প্যাচ করা যায় তা নিশ্চিত করতে DAST এই সময়ে পদক্ষেপ নেয়।
উপসংহার
অবশেষে, SAST এবং DAST উভয়েরই সুবিধা এবং অসুবিধা রয়েছে। কখনও কখনও SAST DAST এর চেয়ে বেশি কার্যকর, এবং কখনও কখনও বিপরীতটি সত্য।
যদিও SAST আপনাকে প্রাথমিক ত্রুটিগুলি খুঁজে বের করতে, সেগুলি মেরামত করতে, আক্রমণের পৃষ্ঠকে কম করতে এবং অতিরিক্ত সুবিধা প্রদান করতে সাহায্য করতে পারে, শুধুমাত্র একটি নিরাপত্তা পরীক্ষার পদ্ধতির উপর নির্ভর করে, সাইবার আক্রমণের ক্রমবর্ধমান পরিশীলিততার পরিপ্রেক্ষিতে এটি আর যথেষ্ট নয়।
সুতরাং, উভয়ের মধ্যে সিদ্ধান্ত নেওয়ার সময়, আপনার প্রয়োজনগুলি বিবেচনা করুন এবং আপনার নির্বাচন যথাযথভাবে করুন। যাইহোক, SAST এবং DAST একই সাথে ব্যবহার করা বাঞ্ছনীয়।
এটি নিশ্চিত করবে যে আপনি এই নিরাপত্তা পরীক্ষার পদ্ধতিগুলি থেকে উপকৃত হতে পারেন এবং আপনার আবেদনের সামগ্রিক নিরাপত্তায় অবদান রাখতে পারেন।
নির্দেশিকা সমন্ধে মতামত দিন