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

এটি গোলাকার ছিল।
না, কারণ আমি কোনও সমস্যাযুক্ত ডোমেনে কাজ করি না যেখানে সুরক্ষা প্রাসঙ্গিক হয় (বিশাল ডেটা ভিজ্যুয়ালাইজেশন এসডাব্লু)। আমি কি করতে নিরাপত্তা উদ্বেগের কারণ, আমার কোড (সূচক পরীক্ষণ দৃঢ়তা পরীক্ষণ, ইত্যাদি) মধ্যে দাবি একটি গুচ্ছ আছে, কিন্তু কারণ আমি ভুল কোড মত গোড়ার দিকে বিপর্যস্ত এবং দৃশ্যত ক্র্যাশ করতে পারে।
একেবারে। আমি ইনজেকশন দুর্বলতাগুলি সম্পর্কে এবং আমার ব্যবসায় যুক্তি কীভাবে একটি ওয়েব পরিবেশ বনাম একটি ডেস্কটপ পরিবেশে কাজ করবে এবং কীভাবে উভয় প্রকারের পরিবেশে সুরক্ষা কার্যকর করা হবে সে সম্পর্কেও আমি ভাবি।
আমি কোনও সুরক্ষার বিশেষজ্ঞ নই, তবে আমি যখন ওয়েব অ্যাপ্লিকেশনগুলি কোডিং করি তখন আমি সর্বদা অনুমান করি যে ব্যবহারকারীর ইনপুটটিতে সমস্ত ধরণের অদ্ভুততা থাকতে পারে এবং সর্বদা সম্পূর্ণরূপে অব্যাহতি লাভ করা উচিত এবং এর মতোই হওয়া উচিত। এছাড়াও, আমি ব্যবহারকারীকে লগ ইন করা আছে কিনা তা পরীক্ষা করার জন্য সার্ভারে ফিরে অ্যাজাক্স কল করতে সতর্কতা অবলম্বন করা হয়েছে (যদি তারা সেই নির্দিষ্ট ইভেন্টের জন্য হওয়া উচিত) এবং তারা যা করার চেষ্টা করছে তা করার অনুমতি তাদের রয়েছে।
কোডবেসে ইনপুটগুলির জন্য ফিল্টারগুলির একটি সেট রয়েছে। আমি কখনও পিএইচপি এর $_GETবা $_POSTঅ্যারে সরাসরি পরীক্ষা করি না । পরিবর্তে, আমি তাদের একটি ফাংশন মাধ্যমে প্রশ্ন Request::get('parameter', 'filter')যেমন ফিল্টার সঙ্গে int, textঅন্য কয়েকজন, এবং। (এবং Request::post()অবশ্যই পোস্ট ইনপুটগুলির জন্য।)
হ্যাঁ. যখন আমি একটি মাল্টিপ্লেয়ার গেমে কাজ করি, তখন সমস্তগুলি শোষণের উপায় এবং প্রতারণার উপায় ছিল। প্রতারণা কোনও গেমকে পুরোপুরি ধ্বংস করতে পারে, ইন-গেমের সামগ্রী বিক্রির সাথে সংযুক্ত কোনও ব্যবসায়িক মডেলের কথা উল্লেখ না করে। সুতরাং এজেন্ডায় সুরক্ষা উদ্বেগ এবং প্রতিরোধ বিরোধী ব্যবস্থা খুব বেশি ছিল। আমি এটা অনেক পছন্দ করেছিলাম. আমি অন্য প্রকল্পগুলিতে কাজ করেছি এর আগে যেখানে আপনাকে কোডটি সুরক্ষিত করার জন্য কেবল দীর্ঘ সময় ধরে কাজ করার জন্য নিজেকে দোষী বোধ করতে হয়েছিল।
সুরক্ষার সাধারণ নীতিগুলি, (অখণ্ডতা, প্রমাণীকরণ, কর্তৃত্ব) বুঝুন এবং তারপরে লোকেরা কীভাবে সহস্রাব্দের জন্য সুরক্ষার এই স্তম্ভগুলি বিভক্ত করে চলেছে এবং আপনি সেখানে প্রায় অর্ধেক পথ পাবেন সে সম্পর্কে কয়েকটি বই পড়ুন।
তারপরে ডিজাইন এবং পরীক্ষার কৌশলগুলি সম্পর্কে কয়েকটি ভাল বই পড়ুন এবং আপনি কীভাবে আপনার স্থাপত্যের মধ্যে টেস্টাবিলিটি ডিজাইন করবেন তা শিখবেন।
আমি যখন সুরক্ষা সম্পর্কে চিন্তা করি তখন আমরা সেই বিষয়টিতে পৌঁছে যাই। আমি কীভাবে ডেটা উত্সকে বৈধতা দিতে পারি সে সম্পর্কে চিন্তাভাবনা করছি, যদি ডেটা নিয়ে টেম্পার করা হয়, তবে ডেটা উত্স কে, আমি সে সম্পর্কে কতটা নিশ্চিত? কিভাবে এটি পরিবর্তন করা যেতে পারে ইত্যাদি ...
এটি নকশাকে প্রভাবিত করে। কনফিগার করা ফাইলগুলিতে কী বিভাগগুলি এনক্রিপ্ট করা থাকতে পারে বা নির্দিষ্ট ক্ষেত্রগুলি সম্পর্কিত স্বাক্ষরের ক্ষেত্রের সাথে পরিষ্কার পাঠ্যে থাকতে পারে। ইন্টারনেট মুখোমুখি পরিষেবাগুলির সাথে জিনিসগুলি আরও জটিল হয়ে ওঠে কারণ আপনার উচিত সেখানে আরও বিস্তৃত শত্রুতার প্রত্যাশা করা উচিত।
তারপরে পরীক্ষায় আপনি কীভাবে এই সমস্ত পরীক্ষা করেন। আপনার সর্বাধিক ডেটা এন্ট্রিগুলি কী কী, যদি আপনি এই সীমা ছাড়িয়ে সফ্টওয়্যারটি ধাক্কা দেন, তবে কীভাবে এটি পরিচালনা করবে? এটি কি বিশ্বাস করে? আপনি কিভাবে এই বিশ্বাস জাল করতে পারেন?
হ্যাঁ.
আমি অতীতে পর্যাপ্ত হ্যাকারদের সাথে জেনেছি যে তারা যে কোনও বড় সাইটের সাথে সমঝোতার চেষ্টা করে চলেছে এবং সেখানে যথেষ্ট পরিমাণে বট রয়েছে যে এমনকি ছোট সাইটগুলিও নিরাপদ নয়।
আমি এখনই সারাক্ষণ হ্যাকারের মতো চিন্তা করার চেষ্টা করি , যেখানে আমি মাঝে মাঝে আমার সহকর্মীদের উদ্বেগজনক মন্তব্য সহ উদ্বেগ জানাই যে আমরা কীভাবে প্রতিদিন মঞ্জুর করার ব্যবস্থা গ্রহণ করি তা গেম করা যায়।
অ্যাপ্লিকেশন ইত্যাদির উপর নির্ভর করে কোনও বিকাশকারী গ্রাউন্ড থেকে বৃহত্তর বা কম ডিগ্রী পর্যন্ত প্রক্রিয়াটিতে এমন কিছু তৈরি করা উচিত যা দুর্ভাগ্যক্রমে, ডেভস যেমন সুরক্ষার জন্য উদ্ধৃতি দেয় না, ক্রেতারাও এটিকে নিয়ে ভাবেন না ( আমি জানি, এটি কিছুটা ক্যাচ -২২, কারণ ক্রেতারা যদি সুলভ উক্তি চান, তবে এটি সম্ভবত সুরক্ষা অন্তর্ভুক্ত করবে না)
একজন বিকাশকারী হিসাবে আপনি এই ক্ষেত্রে দক্ষ হলে আপনি একটি সুনির্দিষ্ট সুবিধা অর্জন করতে পারেন - আমি বিশেষত ব্যাংক এবং আর্থিক পরিষেবাদি সম্পর্কে ভাবছি তবে অন্যান্য শিল্পগুলিও প্রযোজ্য। বর্তমানে তারা এই সংস্থার প্রক্রিয়া, সুরক্ষা এবং অন্যান্য নির্দিষ্টকরণের গতি বাড়ানোর জন্য নতুন স্নাতক প্রশিক্ষণের জন্য 70 - 100 কে বাজেট দিতে পারে। আপনি যদি তাদের 30 কে বাঁচাতে পারেন তবে এটি একটি ভাল সিভি প্লাস!
যুক্তরাজ্যে, ইনস্টিটিউট অফ ইনফরমেশন সিকিউরিটি প্রফেশনালস , এবং স্কটল্যান্ডে, সেন্টার অফ এক্সিলেন্স ইন সিকিউরিটি অ্যান্ড সাইবার ক্রাইম বিশ্ববিদ্যালয়গুলির সাথে ঘনিষ্ঠভাবে কাজ করছে কোর্স সামগ্রীগুলি পর্যালোচনা করতে, দরিদ্র কোডিংয়ের সত্যিকারের বিশ্বজগতের উপর অতিথি বক্তৃতা সরবরাহ এবং গ্রীষ্মের স্থান নির্ধারণের সুবিধার্থে (উদাঃ সফ্টওয়্যার বিকাশকারীরা আইন প্রয়োগের ক্ষেত্রে জালিয়াতি বিভাগে স্থাপন করেছে)
(অস্বীকৃতি - আমি বিভিন্ন বিশ্বব্যাপী প্রতিষ্ঠানের সুরক্ষা লোক ছিলাম)