Mahdi Mashrur Matin, an expert CA manager & Information Security Consultant, introduced us to the essential principles of cybersecurity in the first episode of the series.
Md. Kawser Habib, an experienced software and security engineer, demonstrated the basics of offensive security.
Sazzadur Rahaman graduated from CSE, BUET in 2012. he worked as a software engineer in two reputed companies of the country - Therap Services and Kona Software Lab. In late 2015, he joined Virginia Tech University in the USA to pursue his Ph.D. He is currently a Ph.D candidate and a graduate research assistant in Virginia Tech.
সঞ্চালকঃ আমাদের দেশে সিকিউরিটি রিলেটেড কি ধরণের চাকরির সুযোগ আছে?
মাহাদি মাশরুর মতিনঃ আমি নিজের সুবিধার্থে চাকরিগুলোকে তিন ধরণে ক্যাটাগোরাইজ করি। বিল্ডারস, ব্রেকারস , ডিফেন্ডারস। বিল্ডারসরা সিকিউরিটি সলিউশনস, টুলস, ফ্রেমওয়ার্ক, কোম্পানির সিকিউরিটি পলিসি, প্রসিডিয়রস বনায়। ব্রেকারসরা সিকিউরিটি অডিট করে, পেনিট্রেশন টেস্টিং করে। ডিফেন্ডারসরা কিছু ঘটে গেলে তা এনালাইসিস করে সমস্যা বের করে। এদের মধ্যে থাকে ইনফরমেশন সিকিউরিটি এনালিস্ট, ইনফরমেশন সিকিউরিটি স্পেশালিস্ট, ডিজিটাল ফরেনসিক এনালিস্ট, ইন্সিডেন্ট হ্যান্ডলারস, নেটওয়ার্ক সিকিউরিটি এক্সপার্ট পজিশন থাকে।
কাউসার হাবিবঃ বিভিন্ন কোম্পানিতে সফটওয়্যার এর ফাংশনাল টেস্ট, কোড রিভিউ করা, মানে যে কোডটা লেখা হচ্ছে তা সিকিউর উপায়ে লেখা হচ্ছে কিনা তা সিকিউরিটি এক্সপার্টরা নিশ্চিত করে। এছাড়া ব্যাংকগুলোতে সিকিউরিটি এক্সপার্টদের চাহিদা রয়েছে। ডেটা সিকিউরিটির, পলিসি মেকিং, ইন্সিডেন্ট হ্যান্ডেলিং, পেনিট্রেশন টেস্টিং কিংবা রিস্ক এসেসমেন্ট করার জন্য সিকিউরিটি এক্সপার্ট রাখতে হয়। এছাড়া বাংলাদেশ ব্যাংক ইতিমধ্যে নির্দেশ দিয়েছে সব ব্য্যাংককে ISO standard 27001 এবং PCI DSS certification সম্পন্ন করতে হবে। এজন্য তাদের কে সিকিউরিটি অডিটের মধ্যে দিয়ে যেতে হয়। এর জন্য internal ও external সিকিউরিটি অডিটর লাগবে। এছাড়া থার্ড পার্টি সিকিউরিটি কোম্পানি আছে। এটা এখনো জনপ্রিয় না হলেও তিন-চারটার মতন কোম্পানি আছে। আগামি দুই-তিন বছরে এই ফিল্ডটা অনেক বড় হবে। তারা হয়ত প্রাইভেট SOC বানিয়ে ISP, FinTech কোম্পানিগুলোকে সাপোর্ট দিবে।
সঞ্চালকঃ সিকিউরিটি রিলেটেড কাজ করতে চাইলে কি ধরনের স্কিলসেট সবচেয়ে বেশি জরুরি?
মাহাদি মাশরুর মতিনঃ কোর প্রোগ্রামিং এর স্কিল থাকা জরুরি। এতে সিকিউরিটি বিল্ডাররা সিকিউরিটি টুলস,সিকিউরিটি টেকনোলজি সলিউশন ডেভেলপ করতে পারবে। কেউ ব্রেকারস হতে চাইলে সে স্ক্রিপ্ট লিখতে, পেনিট্রেশন অটোমেট করতে পারবে। তাছাড়া ডিফেন্সিভ সাইডে আগাতে চাইলে ক্রিপ্টোগ্রাফি,সিস্টেম সিকিউরিটি, লিনাক্স স্কিল থাকতে হবে। Kali linux আয়ত্তে থাকলে বিভিন্ন exploits তৈরি করতে ও সেই exploits দিয়ে মেশিনকে এটাক করে টেস্ট করতে পারবে। রেসপন্ডার হিসাবে কাজ করতে চাইলে Wireshark, Nmap সহ নেটওয়ার্ক সিকিউরিটি টুলস নিয়ে পড়াশুনা করতে পারে।
কাউসার হাবিবঃ এই প্রশ্নের উত্তরে যোগ করতে চাই , কেউ যদি নেটওয়ার্ক সিকিউরিটি নিয়ে কাজ করতে চায়, তাহলে নেটওয়ার্কিং এর জ্ঞান থাকতে হবে। সফটওয়্যার ইঞ্জিনিয়ারিং এর জ্ঞান থাকলে এপ্লিকেশন সিকিউরিটি নিয়ে কাজ করতে সুবিধা হয়। সাথে সিকিউরিটি নিয়ে কাজ এর জন্য পাইথন শেখা দিন দিন জরুরী হয়ে যাচ্ছে।
সঞ্চালকঃ সিকিউরিটি এক্সপার্ট হতে কি কোনো কোর্স করা জরুরী? কোর নলেজগুলো কোথা থেকে আমরা পেতে পারি?
কাউসার হাবিবঃ সার্টিফিকেশনের জন্য ভালো ভালো কিছু পরিক্ষা আছে, যে সার্টিফিকেট নিবে তাকে অনেক পরিশ্রম করতে হয় । এর মধ্যে OSCP এক্সাম একটা। এই পরিক্ষার পুরটা hands-on, পুরো পরিক্ষা ৪৮ ঘন্টা, এর মধ্যে প্রথম ২৪ ঘন্টায় কিছু সিস্টেম হ্যাক করতে হয়। বাকি ২৪ ঘন্টায় যে মেশিন হ্যাক করা হয়েছে তার উপর রিপোর্ট লিখতে হয়। OSCP এক্সামে 5 টা মেশিন থাকে, এগুলো Windows, Linux বা MacOS বেজড মেশিন হতে পারে। র্যান্ডমলি যার ভাগ্যে যেটা পড়ে। এখানে পাস মার্ক হল 70, এজন্য একটা লম্বা প্রস্তুতি নিতে হয়, প্রচুর পরিশ্রম করতে হয়। আর শেখার জন্য সবচেয়ে ভালো সার্টিফিকেশন e-learning security এর PTP।
ওয়েব এপ্লিকেশন নিয়ে কাজ করলে, OWASP প্রতিবছর Top 10 vulnerability এর একটা লিস্ট প্রকাশ করে। এটা ফলো করলে কোন কোন, ফিচারে বেশি এট্যাক হয়, যেমন SQL-Injection attack, Misconfiguration attack কি কি কারণে হয় তা বলা থাকে। পরপর দুইবছরের লিস্ট কাছাকাছি হলেও, তিন চার বছরে লিস্টে বড় পরিবর্তন আসে। তাছাড়া NIST এর ওয়েবসাইটে কোন এপ্লিকেশনে currently কোন কোন vulnerability প্রকাশ পায় তা উল্লেখ করা হয়। ExploitDB সিকিউরিটি এক্সপার্টদের জন্য শেখার ভালো একটা জায়গা। আর আমার মতে ভিডিও টিউটোরিয়ালের সাথে পড়াটাও বেশি গুরুত্বপুর্ণ। ভিডিও টিউটোরিয়াল দেখে মনে হয় শিখে গেছি, কিন্তু ভালোভাবে শেখা হয় না। Rafay Baloch এর লেখা ethical hacking and penetration testing guide বইটা অনেক ভালো, অনেক সহজ ভাষায় লেখা। এছাড়া, Georgia Weidman এর লেখা penetration testing a hands-on introduction to hacking বইটা ফলো করা যায়, এতে অনেক ডিটেইলসে লেখা। এই বইতে ল্যাব সেটাপ করে স্টেপ বাই স্টেপ কিভাবে attack তৈরি করতে হয়, vulnerability বের করতে হয় তা দেখানো হয়েছে। এই দুটোই আপাতত ব্যাসিক বই। তাছাড়া, Hackers handbook নামে একটা বই ফলো করা যেতে পারে। বইটা যদিও পুরাতন, কিছু টুলস হয়ত চেঞ্জ হয়েছে, কিন্তু সিস্টেমের বেসিক এখনো একই।
মাহাদি মাশরুর মতিনঃ এক নম্বর cybrary, বিভিন্ন ক্যারিয়ার পাথের জন্য আলাদা ট্রাক আছে এখানে। দুইনম্বর হল একটি ওয়েবসাইট, stationx , এখানে ইন্টারনেটের সেরা কিছু কোর্স আছে। তৃতীয়ত, pentesterlab আর pentesteracademy, এইদুটো ওয়েবসাইট OACP এক্সামের জন্য দরকার হয়।সিকিউরিটি ল্যাবগুলো অনেক হেভি এবং কমপ্লিকেটেড, এগুলো নিজের মেশিনে হোস্ট করা ঝামেলার, তাই এই দুটো ওয়েবসাইট দরকার হয়। চতুর্থত, pluralsight । এখানে ভালো সিকিউরিটি কন্টেন্ট আছে। এছাড়া কেউ টুল বানাতে চাইলে python, java এগুলোও এখানে শেখা যায়। ৫ নম্বর, CTF এর জন্য hackthebox , অফেন্সিভ এ ঢুকতে চাইলে এটা বিগিনারদের জন্য ভালো। ৬ নম্বর, Udemy এখানে ভালো কোর্স খারাপ কোর্স দুইটাই থাকে, তবে অনেক রিজনেবল প্রাইস। ৭ নম্বর, Udacity সাইবার সিকিউরিটি এর উপর ন্যানোডিগ্রি,এক দুই সপ্তাহে এটা শেষ করা যায়। এতে কেউ সাইবারসিকিউরিটি এর সকল টার্মের উপর ধারণা পাবে। এর পর Coursera আর EdX এর কিছু কোর্স ভালো যেমন Stanford এর ক্রিপ্টোগ্রাফির উপর কোর্স। এছাড়া রেডিটের NETSEC ফোরাম আছে, HackForum আছে। এই কমিউনিটিগুলোতে কেউ প্রতিদিন ২০ মিনিট করে ঘুরে আসলে সে অনেক কিছু শিখতে পারবে। এছাড়া কিছু নিউজ সাইট আছে যেখানে সিকিউরিটি রিলেটেড নিউজ পাওয়া যায়। কিছু পডকাস্ট আছে যেমন Security now, Defensive Security Podcast, Application Security Weekly.
সাজ্জাদুর রহমানঃ ওরা অনেক রিসোর্সের কথা বলল, এইক্ষেত্রে আমার এপ্রোচটা আরেকটু প্রিমিটিভ। আমি মনে করি বেসিক গ্রাউন্ড-আপ থেকে আসলে সিকিউরিটির ব্যাপারগুলো বোঝা সহজ। কারণ, সিকিউরিটি টপিকটা অনেক বিশাল। কেউ সিস্টেম সিকিউরিটি নিয়ে কাজ করতে চাইলে এর মধ্যে অনেক গুলো লেয়ার থাকে। একটা বেসিক লেয়ার হল OS, তাই সিস্টেম সিকিউরিটির একটা লেয়ার হল অপারেটিং সিস্টেম সিকিউরিটি। তারপরে আসে সফটওয়্যার সিকিউরিটি, এখানে বিভিন্ন সফটওয়্যার ডেভলপাররা কি কি ল্যাঙ্গুয়েজ ব্যবহার করে, অথেনটিকেশন কিভাবে করে, অথরাইজেশন ফ্রেমওয়ার্ক কিভাবে ডিজাইন করে, ঐ টাইপের ব্যাসিক জিনিসগুলো জানা লাগে। তারপর ওয়েব সিকিউরিটি নিয়ে কাজ করতে চাইলে চিন্তা করতে হয় ওয়েব এপ্লিকেশনে কি কি রকমের প্রবলেম হতে পারে, নেটওয়ার্ক লেয়ারের বিভিন্ন প্রটোকল জানতে হবে, HTTP প্রটোকলে মাঝখানের এনটিটিরা কিভাবে ইন্টারসেপ্ট করতে পারে ঐ ব্যাপারগুলো জানা। শুরু কর TCP Protocol, DNS protocol কিভাবে কাজ করে, তারপরে Plain HTTP তে কমিউনিকেট করলে কি সমস্যা, সার্টিফিকেট ভ্যালিডেশন কিভাবে কাজ করে। এখন এই প্রটোকলগুলোতে কেউ যদি একটি স্টেপ মিস করে তাহলে কি কি সমস্যা হতে পারে, এ জিনিসগুলো একদম বেসিক গ্রাউন্ড থেকে আস। এভাবে বেসিক টপিকধরে আগালে জ্ঞানের গ্রহনযোগ্যতা, স্যাটিস্ফেকশন আর সফল হওয়ার সম্ভাবনা অনেক বেশি। একারণে আমি গ্রাউন্ড-আপ এপ্রোচটা পছন্দ করি।
সঞ্চালকঃ নেটওয়ার্ক রিলেটেড রিসোর্স কেন এতো এভেইলেবল না?
সাজ্জাদুর রহমানঃ রিসোর্স এভেইলেবল না হওয়ার পিছনে অনেক কারণ আছে, যার মধ্যে কিছু কারণ রাজনৈতিক (political)। যেমন, তুমি যদি গভার্নমেন্টের কোনো সাইটের কোনো vulnerability আবিষ্কার কর, তাহলে সেইটা তখন ন্যাশনাল থ্রেট হয়ে যায়। আবার কোনো কর্পোরেট অপরেটিং সিস্টেম যেমন এন্ড্রয়েড, IOS বা উইন্ডোজ বা লিনাক্সের বিভিন্ন ভার্শন যেটা আমরা বিভিন্ন সিস্টেমে হরহামেশা ব্যবহার করি, তার একটা vulnerability , একটা ছোট্ট বাফার ওভারফ্লো এক্সপ্লয়েটেশন, মিলিয়ন মিলিয়ন ইউজারকে প্রভাবিত করে। ঐসব vulnerability এক্সপ্লয়েট করার মতন টুল যদি হরহামেশা ইন্টারনেটে পাওয়া যায় তাহলে পৃথিবীর দৃশ্যপটটাই ভিন্ন হত। এর একটা উদাহরণ হচ্ছে Wannacry Ransomware । কিছু স্টেট অর্গানাইজেশন কিছু অপরেটিং সিস্টেমের কিছু কমন এক্সপ্লয়েট জোগাড় করেছিলো, কিছু টুল বানিয়েছিলো যেটা নিজেদের কাজে ব্যবহার করবে। পরে কোনো একভাবে টুলগুলো লিক হয়ে যায়,কেউ গিটহাবে সব ওপেন সোর্স করে দেয়। এগুলো মডিফাই করে তৈরি করা টুল আমাদের অনেক ভুগিয়েছে। এজন্য দেখা যায় অধিকাংশ সিকিউরিটি টুলই পেইড হয়, বা খুব রেস্পন্সিবল মানুষ ছাড়া ব্যবহার করতে দেয় না। আর কেউ ROP টুল আবিষ্কার করলে তা ওপেন সোর্স করে না।
সঞ্চালকঃ ফুলটাইম ইন্ডাস্টিতে কাজ করে হায়ার-স্টাডিজের জন্য এপ্লাই করা কতটা কঠিন? যেহেতু আপনিও একইভাবে ইন্ডাস্ট্রিতে থেকে পিএইচডির জন্য এপ্লাই করেছেন, আপনার অভিজ্ঞতা জানতে চাই।
সাজ্জাদুর রহমানঃ পুরো ব্যাপারটাই আসলে নির্ভর করে তুমি কতটা সিরিয়াস তার উপর। সিরিয়াস থাকলে সময় বের করে নেয়াটা অনেক সহজ হয়। ৯ টা- ৫ টা চাকরির বাইরে আমি কখন সময় দিব, ছুটির দিনগুলো কিভাবে ইউটিলাইজ করব এসব চিন্তা করতে হয়। GRE দেয়া, SOP দেখা আসলেই টাইম সাপেক্ষ ব্যাপার। SOP টা অনেক গুরুত্বপুর্ণ। GRE, Tofel স্কোর সাধারণত কাট-অফের অন্য থাকে। আর তুমি রিসার্চ করার যোগ্যতা কি, ৫ বছর পর তুমি নিজেকে কোথায় দেখতে চাও, সেই সংক্রান্ত তোমার কোনো প্লানিং আছে কিনা। কেউ চাইলে এক সপ্তাহে SOP লিখে ফেলতে পারে, কিন্তু সেটা এডমিশন কমিটির কাছে কেমন লাগবে সেটা প্রশ্নসাপেক্ষ। তাছাড়া যে যে ভার্সিটিতে এপ্লাই করতে চাও তার প্রফেসররা কি নিয়ে কাজ করতে বা ভবিষ্যতে কি নিয়ে কাজ করতে পারে, কি কি স্কিল তারা চাইছে সব নিয়ে খোজ খবর রাখা লাগে । তাই চাকরির সাথে সাথে এসবে সময় দিতে হয়। এগুলো হল অসুবিধা। আর সুবিধা হল,তুমি পিএইচডির আগে ইন্ডাস্ট্রিতে প্রচুর পরিমানে অভিজ্ঞতা অর্জন করতে পারো যা পিএইচডি লাইফে সুবিধা দেয় । আর আমার ক্ষেত্রে আমি একটু ভাগ্যবান ছিলাম যে KSL এ আমি যে কাজ করতাম তা ছিলো সিকিউরিটি সংক্রান্তই। কেউ জাভাতে বা অন্য ভাষায় এন্টারপ্রাইজ লেভেলের সফটওয়্যার বানালে এক কথায় সফটওয়্যার ডেভেলপার হিসাবে কাজ করলেও সেটা বেসিক তৈরী করে। যেই বেসিকটা ক্রিপ্টোগ্রাফি, থিওরিটিকাল কম্পিউটিং এর মতন বিষয় বাদে সিস্টেম রিলেটেড রিসার্চ (সিকিউরিটি, আর্কিটেকচার বা কম্পাইলার) সফটওয়্যার ইঞ্জিনিয়ারিং সংক্রান্ত রিসার্চ, প্রোগ্রামিং ল্যাঙ্গুয়েজ ইত্যাদি ডিসিপ্লিনে গবেষণা করতেও সাহায্য করে।
সঞ্চালকঃ একজন পেনিট্রেশন টেস্টার যে কোম্পানি তে কাজ করে সেখানকার সফটওয়্যার ডেভেলপাররা সব প্রিন্সিপাল মেনে, সর্বোচ্চ পরিমাণ secureকরে সফটওয়্যার তৈরি করে। সিকিউরিটি এক্সপার্ট যদি কোনো flaw খুঁজে না পায় নাহলে এইটা তার জন্য হতাশাজনক কিনা, বা চাকরি চলে যাবে কিনা?
মাহাদি মাশরুর মতিনঃ সিস্টেম ডিজাইনার বা ডেভেলপাররা যদি এপ্লিকেশন নেটওয়ার্ক সাইটে প্রোপাগেট করার সময়, এপ্লিকেশন যখন ডেপ্লয় হয়, কোথাও কোনো ফাক-ফোকর রাখে নি সেটা আসলে পেনিট্রেশন টেস্টা্রের জন্য দুঃখজনক। ছয়মাস- একনবছর ধরে সে যদি একটা বাগও না পায় তাহলে তার এমপ্লয়ারও চিন্তা করবে যে তাকে আসলেই রাখা যায় কিনা। কিন্তু একটা হাইপোথিটিক্যাল ঘটনা। বাস্তবে যারা সফটওয়্যার ডিজাইন/ডেভেলপ করে তারাও মানুষ, আর ভুল করা অনিবার্য। তাই সেই অর্থে পেনিট্রেশন টেস্টারদের আসলে ভয় পাওয়ার কিছু নেই।
সঞ্চালকঃ অনেকের থিসিস এর বিষয় সিকিউরিটি না বা সিকিউরিটি এর উপর রিসার্চ নেই, সেক্ষেত্রে সিকুইরিটি এর উপর গবেষণা করতে চাইলে SOP তে কিভাবে বুঝাব যে আমি সিকিউরিটি এর প্রতি আগ্রহী বা আমি যথেষ্ট জানি ?
সাজ্জাদুর রহমানঃ আগ্রহের পিছনে কিছু র্যাশনাল বা লজিক্যাল কারণ থাকে, এই কারণগুলো SOP তে জাস্টিফাই করাই যথেষ্ট। যেমন, তুমি হয়ত চিন্তিত যে ইন্টারনেট ব্যবহারের সময় তোমার ডাটা কিভাবে কোনো কোম্পানি হ্যান্ডেল করছে, এজন্য তোমার মনে হয়েছে যে তুমি এই সিস্টেমটাকে সিকিউর করতে চাও, আমার ডাটা যাতে লিক না হয়, হ্যাক না হয় এটা নিশ্চিত করতে চাই। এরকম একটা কম্পেলিং স্টোরি বল। আন্ডারগ্রাজুয়েট একজন ছাত্রের কাছ থেকে প্রফেসর আসলে আশা করে না যে সে সিকিউরিটি এক্সপার্ট হবে। কিন্তু পিএইচডি প্রক্রিয়ার একটা বড় অংশ হল তুমি যেই বিষয়ে পিএইচডি করতে চাও সেই বিষয়ে ব্যাকগ্রাউন্ড বাড়ানো। শুরুর এক বা দেড় বছর এই ব্যাকগ্রাউন্ড বাড়াতে চলে যায়। কিন্তু তুমি এই বিষয়ে আগ্রহী কিনা কিংবা কঠিন পরিশ্রম করতে প্রস্তুত আছো কিনা এইটাই দেখানোর বিষয়।
সঞ্চালকঃ ভাইয়া, দেশে কেন সিকিউরিটির এন্ট্রি লেভেলের জব কম? আর বিগিনার হিসাবে কি কোর্স করা যেতে পারে?
মাহাদি মাশরুর মতিনঃ একজন ফ্রেশ গ্র্যাজুয়েটএর জন্য বাংলাদেশ তো বটেই, পুরো বিশ্বে এন্ট্রি লেভেল জব কম। এরা কোনো কোম্পানিতে সফটওয়্যার ইঞ্জিনিয়ার হিসাবে কাজ শুরু করে, দুইতিন বছর পরে সিকিউরিটি ট্র্যাকে আসে। তার একটা বড় কারণ হল একটা কোম্পানি ১০ মিলিয়ন ডলারের একটা প্রোজেক্ট ২-৩ বছর ধরে করছে। একজন ফ্রেশ গ্র্যাজুয়েটকে নিশ্চয়ই সেই কোম্পানি এই প্রজেক্ট পেনিট্রেশন টেস্ট করতে দিবে না। তাই দেখা যায় যে সিকিউরিটির এন্ট্রি লেভেলের জবগুলোও কয়েক বছরের এক্সপিরিয়েন্স চায়। তো রুল-অব-থাম্ব হল আইটি খাতে যেকোনো জবে যেমন সফটওয়্যার ইঞ্জিনিয়ার, কোয়ালিটি এসিওরেন্স ইঞ্জিনিয়ার, কিছু ক্ষেত্রে নেটওয়ার্ক ইঞ্জিনিয়ার হিসাবে কাজে যোগ দিয়ে দুই তিন বছর পরে সিকিউরিটি ট্র্যাকে আসা। এক্ষেত্রে মাঝের সময়ে যে যে সার্টিফিকেশন কোর্স করা যায় তা হল, Container Security Plus অথবা Certified Ethical Hacking. এর মধ্যে আমি প্রথমটিকে prefer করি, কারণ এর বিশ্বব্যাপি বেশি সমাদৃত। এরকম একটা কোর্স করা থাকলে সিকিউরিটি স্পেশালাইজড ক্যারিয়ারে সুইচ করা সহজ।
সঞ্চালকঃ কাওসার ভাই ও মতিন ভাই এর কাছে প্রশ্ন আপনাদের সফটওয়্যার ইঞ্জিনিয়ারিং থেকে সিকিউরিটি ফিল্ডে আসার মোটিভটা কি ছিলো ?
কাউসার হাবিবঃ আমি আসলে এখনো সফটওয়্যার ইঞ্জিনিয়ার। আর সিকিউরিটি ফিল্ডের দিকে ঝোক তৈরি হয় সিকিউরিটি সফটওয়্যার বানাতে গিয়ে। সিকিউরিটি সফটওয়্যার বানাতে গিয়ে এই নিয়ে পড়াশুনা আর কাজ করা শুরু করি, তারপরই আগ্রহ তৈরি হয়। আর আমি এই দুইটা ফিল্ডকে আলাদা করে কিছু দেখি না। যে এক্সপ্লয়েট তৈরি করে, সে সফটওয়্যার ইঞ্জিনিয়ারের মতন নির্দিষ্ট ধাপ অনুসরণ করে, কোড লেখে। যেমন, ডিরেক্টরি ট্রাভার্সালের জন্য একটা সফটওয়্যার আছে, drib। drib যারা বানাচ্ছে, তারা বলতে গেলে সিকিউরিটি ইঞ্জিনিয়ারও আবার সফটওয়্যার ইঞ্জিনিয়ারও। একটা রিমোট ডিরেক্টরি কিভাবে এক্সেস করা যায় এইটা জানতে সিকিউরিটি এর জ্ঞান লাগবে। আবার সিকিউরিটি মনিটর কিংবা ভাঙ্গার জন্য, যেসব কাজ ম্যানুয়ালি করা যায় তা অটোমেশনের জন্য সফটওয়্যার ইঞ্জিনিয়ারিং জানা লাগে। মতিন ভাই একটু আগে পাইথনের কথা বললেন, আগে Bash ব্যবহার করা হত। এখন Bash থেকে সবাই সরে আসতেছেন।
মাহাদি মাশরুর মতিনঃ আমি কনা সফটওয়্যার ল্যাবে ২০১৪ সালে যখন জয়েন করি তখন দুইটা ল্যাব ছিলো, পেমেন্ট ল্যাব আর সিকিউরিটি ল্যাব। আমি জয়েন করলাম সিকিউরিটি ল্যাবে আমার ম্যানেজার ছিলো খালেদ ভাই আর টিম লীড ছিলো নাসিম ভাই। আমি শুরুই করি Kona CA (Certifie Authority) তে। সেখানে আমরা Public key infrastructure (PKI) বানাতাম একটা ক্লায়েন্টের জন্য। ওইটা করতে গিয়ে গ্রাউন্ড আপ থেকে সিকিউরিটি সিস্টেম কিভাবে ডিজাইন করতে হয় ক্রিপ্টোগ্রাফি দিয়ে, কিভাবে কনফিডেন্সিয়ালিটি,ইন্টিগ্রিটি এবং এভেইলেবলিটি মেইন্টেইন করতে হয় এগুলো সম্পর্কে আইডিয়া হয়। পরে আরো অথেনটিকেশন সিস্টেম নিয়ে কাজ করি। সৌভাগ্যবশত সফটওয়্যার ইঞ্জিনিয়ার হিসাবে আমার শুরুটাই হয় সিকিউরিটি নিয়ে। এর পরে এই ফিল্ড ভালো লেগে যায়, এবং এখানেই থেকে যাই।
সঞ্চালকঃ সাজ্জাদ ভাইয়া, আপনার বর্তমান রিসার্চ সম্পর্কে যদি কিছু বলতেন। কি নিয়ে রিসার্চ করেন, আর কি নিয়ে রিসার্চ করতে চান ?
সাজ্জাদুর রহমানঃ বর্তমানে কাজ করছি সফটওয়্যার সিকিউরিটি আর সিস্টেম সিকিউরিটি নিয়ে, আর একটা সময় এপ্লাইড ক্রিপ্টোগ্রাফি নিয়ে কাজ করেছি। এমন অনেক ইমার্জিং এপ্লিকেশন আছে যেখানে আমরা জানিই না যে ইউজেবিলিটি ঠিক রেখে কিভাবে প্রাইভেসি মেইন্টেইন করতে পারি। আমার ইনিশিয়াল রিসার্চ গোল ছিলো সেগুলোর জন্য নতুন নতুন ক্রিপ্টোগ্রাফিক প্রিমিটিভ ডিজাইন তৈরি করা। পরে দেখলাম বাস্তবে আমরা যেসব সিকিউরিটি সংক্রান্ত সমস্যা ফেস করি তার পিছনের অন্যতম কারন হল মানুষ ঠিক মতন সিকিউরিটি গাইডলাইন আর সিকিউরিটি প্রাকটিসগুলো ফলো করে না। সময়স্বল্পতা, টুলস এর স্বল্পতা, জ্ঞানের স্বল্পতা এসব কারণের জন্য এসব সমস্যা হয়। তাই আমি রিসার্চ গোল ঠিক করি এই সিকিউরিটি প্রাকটিসের এডপশনটাকে যত বেশি সম্ভব সহজ করা। এজন্য আমি এখন বিভিন্ন ধরণের অটোমেটেড ভালনারেবলিটি ডিটেক্টশন টুলস ডিজাইন করছি। এমন একটা বিল্ড-টুল বা বিল্ড-স্ক্রিপ্ট বানাচ্ছি যেইটা তোমার কোড এনালাইসিস করে বলতে পারবে যে এই নির্দিষ্ট Vulnerability গুলো আছে কি নেই। আরেকটা পার্ট হল worldwide বিভিন্ন ইকোসিস্টেমের সিকিউরিটি স্ট্যাটাস পরিমাপ করা। যেমন পেমেন্ট কার্ড ইকোসিস্টেম বা ইকমার্স ডোমেইন এ যেসব যায়গায় আমরা ক্রেডিট কার্ড ইনফরমেশন দেই autometically এর সিকিউরিটি স্ট্যাটাস পরিমাপ করা এবং তাদেরকে জানানো। আর আমার নতুন একটা ইন্টারেস্ট যেটা নিয়ে আমি কাজ করব সেটা হল সিকিউরিটিতে মেশিন লার্নিং টেকনোলজি। একটা উদাহরণ দিতে পারি যে আমি এমন একটা ম্যালওয়ার ডিজাইন করা সম্ভব যেখানে মেশিন লার্নিং ব্যবহার করে তাদের ফিচারগুলো এমনভাবে চেঞ্জ করা হবে যাতে ওরা এন্টিভাইরাসের ক্লাসিফাইয়ারকে ইভেড করতে পারে। এটাকে আমরা বলি এডভার্সেরিয়াল মেশিন লার্নিং। সিকিউরিটিতে এইরকম বিষয়গুলো দিন দিন আরো জনপ্রিয় হবে।
মাহাদি মাশরুর মতিনঃ এই ব্যাপারে আমি একটু যুক্ত করতে চাই। আমি গতসপ্তাহে Bruce Schneier এর ব্লগ পড়ছিলাম যিনি ক্রিপ্টোগ্রাফি ও সিকিউরিটি জগতের গুরু। তিনি ভবিষ্যতবাণী করেন যে পরবর্তী জেনারেশনের ম্যালওয়ার লক্ষ-কোটি মেশিনকে আক্রমণ করবে। এই ম্যালওয়ারগুলো তথ্য বিনিময় করতে পারে। অর্থাৎ, সিকিউরিটি সলিউশন প্রয়োগের পরে বেচে যাওয়া ম্যালওয়ারগুলো অন্য ম্যালওয়ারগুলোর সাথে সার্ভাইবিং মেকানিজম শেয়ার করবে। এভাবে ম্যালওয়ারগুলো আরো ইন্টেলিজেন্ট হয়ে সিস্টেমের আরো ভিতরে ঢুকবে। তাছাড়া মেশিন লার্নিং মডেল দিয়ে তারা আরো নিজেদের গোপন করা শিখবে, আরো পেনিট্রেট করতে পারবে আর সেই তথ্যগুলো নিজেদের মধ্যে বিনিময় করবে। অর্থাৎ সামনে আরো এটাক হবে, সিকিউরিটি ফিল্ডে কাজ করার অনেক জায়গা আছে।
সাজ্জাদুর রহমানঃ একটা কথা আছে, “সিকিউরিটি ইজ জব সিকিউরিটি”। কোনো সিস্টেম কখনো শতভাগ সিকিউর হবে না। আমরা সিকিউরিটি এক্সপার্টরাও এমন ভাবে মডেল ডিজাইন করি না যে কেউ এটাক করতে পারবে না। আমরা চেষ্টা করি থ্রেড মডেলটা এমনভাবে ডিজাইন করতে যেন অ্যাটাকার মানি এবং টাইম cost টা এটাক করার জন্য infissible হয়।
সঞ্চালকঃ সিকিউরিটি ফিল্ডে বাংলাদেশে সরকারি চাকরি কি কি আছে, আর সেসবের জন্য প্রস্তুতি কেমন করে নিতে হয়?
মাহাদি মাশরুর মতিনঃ সিকিউরিটির মার্কেটে পারমানেন্ট সরকারি চাকরি নেই। যা আছে তা হল সরকার নির্দিষ্ট কিছু সমস্যার জন্য বিভিন্ন কনসাল্টেন্ট নিয়োগ করে। তাদের নিয়োগ করা হয় প্রোজেক্ট বেসিসে চুক্তিভিত্তিকভাবে। তার জন্য সরকারী প্রোজেক্টের সার্কুলারগুলো বা টেন্ডারগুলো খেয়াল রাখতে হবে। এক্ষেত্রে এসব যায়গায় পরিচিত কেউ থাকলে তাকে ইনফর্ম করে রাখা, তাদের মাধ্যমে এব্যাপারে জানা যায়।
সঞ্চালকঃ দেশের সফটওয়্যার আর সিকিউরিটি ইন্ডাস্ট্রিতে আপনার অভিজ্ঞতা কেমন ছিলো? এক্ষেত্রে আপনাদের কোনো কোনো পরামর্শ আছে?
কাউসার হাবিবঃ আমি ফ্রেশার থেকেই শুরু করি। একজন ফ্রেশার যখন কোম্পানিতে জয়েন করে তখন তাকে ঠিকমতন গাইড না করে সফটওয়্যার এপ্লিকেশন ডেভেলপমেন্টের মতন কাজে দিয়ে দেয়া হয়। এর আগে আমরা যখন বুয়েটে প্রোজেক্ট করি তখন দুই বা তিনজনের গ্রুপ থাকে আর সেখানেও একজন হয়ত পুরো কাজ করে। ঐ প্রাকটিসটা ইন্ডাস্ট্রিতে এসেও থেকে যায় কারণ তাকে শেখানো হয় না কিভাবে টিম তৈরি হবে, কাজ ডিস্ট্রিবিউট হবে। টিমে নতুন কেউ আসলে তাকে কিভাবে কাজের সাথে পরিচয় করিয়ে দেয়া এই কালচারটা আসলে আমাদের ইন্ডাস্ট্রিতে দেখা যায় না। পরে সিনিয়র হয়ে গেলেও আমাদের মাঝে এই ভার্সিটির কালচারটা থেকে যায় যা ভয়াবহ পরিস্থিতি সৃষ্টি করে। এক্ষেত্রে একসপ্তাহ, একমাস বা দুই মাসের একটা ট্রেনিং এর ভিতর দিয়ে ফ্রেশারদের নেয়া যেতে পারে।
আর তারপরের একটা দিক হল, আমাদের মধ্যে ম্যানেজমেন্ট স্কিলের ঘাটতি আছে। আমাদের কেউ ভালো ইঞ্জিনিয়ার কিন্তু আমরা এসেস করি না যে একটা প্রজেক্ট শুরু করছি তার টাইমলাইন কি হবে, কি কি মডিউলে ভাগ হবে, কোন মডিউলকে আমরা প্রায়োরিটি দিব, কে কাজ করবে , যদি কেউ ফেইল করে তাহলে সেটাকে কিভাবে টলারেট করে ডেডলাইন মিট করব। বা এগুলো করা হলেও আরো বেটার ওয়েতে করা যেত যেই কালচারটা নেই। এর ফলে একটা সময় পরে যেয়ে তা প্রোজেক্টের উপর বাজে প্রভাব ফেলে। এজন্য সফটওয়্যার ইঞ্জিনিয়ার থেকে কেউ যখন ম্যানেজার বা লীড হবে এই গুণগুলো যেন সে অর্জন করতে পারে। কোম্পানিগুলোকেও সেই সুবিধা দিতে হবে আর যে রোলে যাচ্ছে, তাকেও চিন্তা করতে হবে যে সেএগুলো কিভাবে ম্যানেজ করবে।
মাহাদি মাশরুর মতিনঃ কোভিড-১৯ সিচুয়েশনের কারণে আমি মনে করি আইটি ইন্ডাস্ট্রির এগিয়ে যাওয়ার ভালো সময়। কোভিডের কারণে রেগুলার ইন্ডাস্ট্রিগুলো বড়ো একটা ধাক্কা খাবে, নতুনধরণের সমস্যার সমাধানে ইনোভেশনের সুযোগ হবে। আমাদের আইটি কোম্পানিগুলো সেই সুযোগ নিতে পারলে পরবর্তী কয়েক বছরে উন্নতি করতে পারবে। গত ১৫-২০ বছরে সফটওয়্যার ইন্ডাস্ট্রি যে ম্যাচুওরিটি লেভেল বা আকারে আসার কথা ছিলো তা আসেনি। কিন্তু আমি আশাবাদী যে দেশের চাহিদার পণ্যগুলো দেশে তৈরি করা গেলে তা আগামি কয়েক বছরে সম্ভব। আর অন্য দেশের জন্য পণ্য উৎপাদনে দুইটি সমস্যা। এক, কমিউনিকেশন গ্যাপ, ভাষাগত কারণে। বিদেশিদের কনভিন্স করতে না পারায় আমরা অনেক কাজ পাই না । আর দুই, সততার অভাব। বিদেশি ইনভেস্টাররা স্কিলের চেয়েও হায়ার ম্যানেজমেন্টের সততাকে প্রাধান্য দেয়। আমি দেশের অনেক কোম্পানির প্রতি শ্রদ্ধা রেখেই বলছি, গত ৭-৮ বছরে ম্যানেজমেন্টের সততার অভাবে অনেক কোম্পানি বন্ধ হয়ে গেছে। তাই ম্যানেজমেন্টে কমিউনিকেশনে দক্ষ হতে হবে আর স্বচ্ছতা থাকতে হবে। তাছাড়া, Entrepreneurial কালচারের জন্য একটা প্যারাডাইম শিফট দরকার।
সঞ্চালকঃ সাজ্জাদ ভাইয়া, যেহেতু আপনি দেশের ইন্ডাস্ট্রি ও দেশের বাইরের ইন্ডাস্ট্রি এবং একাডেমিয়া নিয়ে কাজ করেছেন। এই দুটোর মধ্যে কম্পারেটিভ এনালাইসিস দিয়ে যদি বলতেন দেশে কি কি ঘাড়তি আছে?
সাজ্জাদুর রহমানঃ বাংলাদেশে ইন্ডাস্ট্রিতে আমার অভিজ্ঞতা সংক্ষিপ্ত হলেও worldclass. আমি যখন থ্যারাপে কাজ করতাম ওদের মেইন কাস্টোমারই ছিলো USA তে, আর KSL এ পেমেন্ট প্রোডাক্টে কাজ করতাম, ওদের প্রোডাক্টও সাউথ কোরিয়া আর বাংলাদেশে প্রতিদিন মিলিয়ন ট্রান্সিকশন হ্যান্ডেল করে। সিকিউরিটি এমনিও আমার পছন্দের যায়গা, তাই পুরো সময়ই ভালো গেছে। আর বিশ্বের বিভিন্ন দেশের লোক যাদের অনেক ওপেন সোর্স প্রোজেক্ট আছে, তাদের দেখে মনে হয় নি যে তাদের সাথে আমাদের বাংলাদেশি ডেভেলপারদের পার্থক্য আছে। আমরা কেউই ভুলের উর্ধ্বে না। ওদের ভুলগুলো আর আমাদের ভুলগুলো প্রায় একই। আর তার কারণ হল সফটওয়্যার লাইফ-সাইকেলে সিকিউরিটির উপর আমাদের প্রায়োরিটি কম। আর বড় কর্পোরেশন যেমন: গুগল, ফেসবুক, এমাজন ওদের এতো রিসোর্স দিয়ে এমন ইনফাস্ট্রাকচার বানিয়েছে যাতে কোনো সাধারণ ডেভেলপার ভুল করার সুযোগ না পায়।
সঞ্চালকঃ আপনারা ফ্রেশ গ্রাজুয়েট যে সিকিউরিটি নিয়ে কাজ করতে চায় তাদের উদ্দেশ্যে যদি কোনো পরামর্শ দিতেন।
মাহাদি মাশরুর মতিনঃ প্রচুর পড়াশুনা করতে হবে, এটাই আমার পরামর্শ। সাজ্জাদ ভাই যেমন বললেন, সিকিউরিটি একটা লাইফস্টাইল। একটা সার্টিফিকেশন বা একটা বই পড়লেই হবে না। যেই জিনিস্টায় তোমার আগ্রহ সেই সংক্রান্ত বই,পডকাস্ট, কোর্সের সাথে থাকতে হবে, প্রোজেক্ট করতে হবে। এটা জীবন ব্যাপি প্রক্রিয়া, কিন্তু এভাবে আগালে Path to excelence এর দিকে আগানো যাবে।
কাউসার হাবিবঃ তারা চাইলে CTF ধরণের প্লাটফর্মে নিয়মিত যাতায়েত করতে পারে। যে কম্পিটিশনগুলো হয় তাতে অংশ নেয়া যেতে পারে। এতে সিকিউরিটি ইন্ডাস্ট্রিতে জয়েনের ক্ষেত্রেও তারা সুবিধা পাবে। আর তারা চাইলে ফ্রিল্যান্সিং এর মতন Bug Bounty করতে পারে। সারা বুয়েট লাইফে টিউশনি করে যে ইনকাম আসত একটা ভালো বাগ খুঁজে তার চেয়েও বড় কোনো অর্থসুবিধা আসতে পারে। কেউ পেনিট্রেশন টেস্টার হিসাবে জয়েন করতে চাইলে সেখানে বাগ বাউন্টির দুই তিনটা অভিজ্ঞতা থাকলে চোখ বন্ধ করে নিয়ে নিবে।
সাজ্জাদুর রহমানঃ নৈতিকভাবে দায়বদ্ধ থাকতে পারতে হবে।আমি আগেই বলেছি সিকিউরিটি একটা পলিটিক্যাল টুল, সিকিউরিটি ব্যবহার করে পাওয়ার ডাইনামিক্সও বদলানো যায়। তাই তোমার সিকিউরিটি সংক্রান্ত কাজের প্রভাব সমাজে বা ব্যক্তিজীবনে কিভাবে পড়বে তা সবসময় চিন্তা করতে হবে। যেমন, কোভিড-১৯ আসলে অনেকে কন্ট্যাক্ট - ট্রাকিং সিস্টেম বানাতে চাইল যাতে কে কার কন্ট্যাক্ট এ এসেছে এবং কার ঝুকি কেমন। কিন্তু তারপর চিন্তা করা হল যে এই একই প্রযুক্তি দিয়ে মাস সার্ভেইলেন্স সম্ভব। আমি একটা সিকিউরিটির নলেজ অর্জন করলাম, কিন্তু সেটা কোনোভাবে অন্য কারো প্রাইভেসি ভায়োলেট করে কিনা, আমি এই জ্ঞান কারো অর্থনৈতিক বা ব্যক্তিগত সুবিধার জন্য ব্যবহার করছি কিনা এগুলো খেয়াল রাখতে হবে। সিকিউরিটি নিয়ে রিসার্চ বা প্র্যাকটিস করা নৈতিক দায়বদ্ধতা ও সমাজের প্রতি দায়বদ্ধতা তৈরি করে, এই নিয়ে সজাগ থাকা জরুরি।