সত্যি বলতে আমরা আপনার কোডবেস দিয়ে না যাওয়ার চেষ্টা করি, আমরা এটি করার জন্য সরঞ্জামগুলি লেখার চেষ্টা করি।
প্রথম, তত্ত্ব। সুরক্ষা একটি সফ্টওয়্যার সিস্টেমের প্রয়োজনীয়তা, সুতরাং অন্যান্য প্রয়োজনীয়তার মতো (কার্যকারিতা, ব্যবহারযোগ্যতা, অ্যাক্সেসিবিলিটি, কর্মক্ষমতা ইত্যাদি) এটি সফ্টওয়্যার ইঞ্জিনিয়ারিং ওয়ার্কফ্লোয়ের প্রতিটি পর্যায়ে প্রয়োজনীয়তা সংগ্রহ থেকে রক্ষণাবেক্ষণ এবং রক্ষণাবেক্ষণ পর্যন্ত বিবেচনা করা উচিত। প্রকৃতপক্ষে, এটি সম্ভব এবং সফ্টওয়্যার প্রকল্পের দলগুলিকে এটি করতে সহায়তা করার জন্য গাইডেন্স রয়েছে exists যদিও আমি মূলত আইওএস বিকাশকারীদের সাথে কাজ করি, আমার "সুরক্ষিত বিকাশ জীবনচক্র" সম্পর্কে আমার প্রিয় বর্ণনাটি মাইক্রোসফ্ট প্রেস থেকে ।
এই মডেলটিতে, যখন আমরা আমাদের ব্যবহারকারীদের কাছ থেকে প্রয়োজনীয়তাগুলি চেষ্টা করি তখন অ্যাপ্লিকেশন সুরক্ষা শুরু হয় begins আমাদের তাদের সুরক্ষা এবং গোপনীয়তা সম্পর্কিত উদ্বেগগুলি আবিষ্কার করতে হবে, যা সহজ নয় কারণ আমরা বিশেষজ্ঞ, না ব্যবহারকারী, এবং যেখানে তারা তাদের সুরক্ষা প্রয়োজনীয়তা বুঝতে পারে তাদের প্রকাশ করা তাদের পক্ষে কঠিন হতে পারে। আমাদের এটিও আবিষ্কার করতে হবে যে মোতায়েনের সময় সফ্টওয়্যারটি কী ঝুঁকির মুখোমুখি হবে এবং কী স্তরের ঝুঁকি গ্রহণযোগ্য।
আমরা সেই প্রয়োজনীয়তাগুলি মাথায় রেখে আমাদের অ্যাপ্লিকেশনটি ডিজাইন করি। আমরা সেই প্রয়োজনীয়তাগুলি সন্তুষ্ট করতে এবং কোড-স্তরের সুরক্ষা ভুলের সাথে যুক্ত অতিরিক্ত ঝুঁকি এড়ানো একটি চোখ দিয়ে কোডটি লিখি। আমরা সফ্টওয়্যারটি পরীক্ষা করি এটির সুরক্ষার জন্য আমাদের মডেলটি আমরা যা বাস্তবে তৈরি করেছি তার সাথে সামঞ্জস্যপূর্ণ, তারপরে আমরা কোনও সফ্টওয়্যারটি এমন একটি ফ্যাশনে স্থাপন করি যা আমরা যখন পরিবেশটি সম্পর্কে নকশা তৈরি করি তখন আমরা পরিবেশ সম্পর্কে আমাদের যে অনুমানের সাথে মেলে matches পরিশেষে, আমরা সমর্থন এবং রক্ষণাবেক্ষণ সরবরাহ করি যা ব্যবহারকারীরা তাদের সুরক্ষা প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ এমনভাবে সফ্টওয়্যারটি পরিচালনা করতে সহায়তা করে এবং যা তাদের (এবং আমাদের) উপস্থাপিত ঝুঁকিতে অভিনব পরিবর্তনগুলির প্রতিক্রিয়া জানাতে সহায়তা করে।
ঠিক আছে, তত্ত্বের জন্য অনেক কিছু। ইন অনুশীলন , যে কারণে খুব ভাল (ক অপ্রযুক্তিগত ফ্যাশন যদিও) ব্যাখ্যা করা আছে জন্য Geekonomics এবং যা প্রধানত তারা পথ সফটওয়্যার কোম্পানি প্রেরণা প্রদান করা হয় কারণে উপরে কাপড় অধিকাংশ ঘটে না হয়। পরিবর্তে, আমরা এটি পেতে। বিকাশকারীরা করবে:
- কোনও সুরক্ষার লোক বা গ্যালার ভাড়া রাখুন যখন তারা চুক্তির জন্য বিড করার সময় উপস্থিত থাকে, যাতে তারা সুরক্ষা "পায়" তা দেখানোর জন্য।
- সফটওয়্যার লিখুন।
- মুক্তির আগে সফ্টওয়্যারটি বৈধতা দেওয়ার জন্য কোনও সুরক্ষা লোক বা গাল ভাড়া করুন, ধাপ ২-এ উত্থিত অনেক সমস্যা সমাধান করে।
- মোতায়েনের পরে সমস্ত কিছু প্যাচ করুন।
সুতরাং বেশিরভাগ অ্যাপের সুরক্ষার লোকেরা সত্যিই যা করছে তা হ'ল বাগগুলি খুঁজে পাওয়া। এটি সত্যিই একটি গৌরবময় কোড পর্যালোচনা তবে এটি এমন একটি খুব বেশি কেন্দ্রীভূত কোড পর্যালোচনা যাঁরা এই পর্যালোচনাটির সন্ধান করছেন এমন ধরণের বাগের বিশেষজ্ঞের বিশেষজ্ঞরা তাই এটি করার ক্ষেত্রে বাহ্যিক সহায়তা পাওয়ার ক্ষেত্রে এখনও মূল্য রয়েছে is এটি হ'ল টেটিংয়ের একটি সাধারণ নিয়ম: অবশ্যই সর্বদা অন্য কাউকে পরীক্ষা করার জন্য পান যে কে জিনিসটি তৈরির সাথে জড়িত ছিল না।
যদি আমরা উপরেরটি সত্য হিসাবে গ্রহণ করি তবে এটি অনুসরণ করে যে ক্রয়ের সিদ্ধান্ত গ্রহণকারী লোকেরা "সক্ষম সুরক্ষা লোক" এর সাথে "প্রচুর বাগগুলি খুঁজে পান" এর সমান হতে পারে। যারা কম্পিউটারের জন্য তাদের কাজটি করার জন্য পায় তারা তাদের তুলনায় আরও বেশি বাগ খুঁজে পাবে, সুতরাং অবশ্যই তারা স্থির বিশ্লেষণ সরঞ্জামগুলিতে বেশি নির্ভর করে এবং নির্দিষ্ট ক্লায়েন্টদের জন্য নির্দিষ্ট সমস্যাগুলির কোডিংয়ের চেয়ে সরঞ্জামগুলি প্রসারিত করার জন্য আরও বেশি সময় ব্যয় করার লক্ষ্য রাখে। তারপরে আমরা উপসংহারে পৌঁছেছি যে অ্যাপ্লিকেশন সুরক্ষার লোকেরা কোড পড়ার চেয়ে কোড পড়ার জন্য সরঞ্জামগুলি লেখার সম্ভাবনা বেশি।
** সতর্কতা: যা বাকী রয়েছে তা ব্যক্তিগত মতামত এবং জল্পনা **
বাস্তবতা নষ্ট হয়ে গেছে। আপনি লক্ষ্য করবেন যে সফ্টওয়্যার সুরক্ষা তত্ত্বটি একটি সফ্টওয়্যার সিস্টেমে নির্ভর করার ঝুঁকি চিহ্নিতকরণ এবং প্রতিক্রিয়া সম্পর্কে ছিল, যখন অনুশীলনটি যতটা সম্ভব তত্কুল বাগ খুঁজে বের করার বিষয়ে ছিল। অবশ্যই, এটি এখনও ঝুঁকি হ্রাস করবে, তবে কেবলমাত্র পার্শ্ব-প্রতিক্রিয়া হিসাবে। গেমের পয়েন্টটি গেমটি "জয়ের" চেয়ে কম গুরুত্বপূর্ণ হয়ে উঠেছে, তাই নিয়মগুলি পরিবর্তন করা সহজ করা যাতে এটি আরও সহজ হয়।
সফ্টওয়্যার বিকাশকারী হিসাবে আপনি এটি সম্পর্কে কী করতে পারেন? গেমটি তার আসল নিয়মে খেলুন। আপনার দলে এমন কাউকে সন্ধান করুন (একজন ঠিকাদারের চেয়ে বরং মূলত আপনার দলে, আমার উত্তরের শুরুতে বর্ণিত শেষ থেকে শেষের সুরক্ষার জন্য দলকে নির্দেশ দেওয়ার জন্য সেই ব্যক্তিকে দায়িত্ব দিন।
এছাড়াও, সেই ব্যক্তিকে অনুসরণ করার অধিকার দিন । যদি কোনও নকশা সুরক্ষা প্রয়োজনীয়তা প্রকাশ না করে তবে এটি সংশোধন করতে হবে। যদি প্রয়োগটি সুরক্ষা সংক্রান্ত প্রয়োজনীয়তা পূরণ না করে তবে এটি অবশ্যই প্রকাশ করা হবে না । আপনার সুরক্ষা ব্যক্তি রায়টি কল করতে পারেন, তবে অবশ্যই এই রায়টি কার্যকর করার অনুমতি দেওয়া উচিত। আমি বুঝতে পারি যে সুরক্ষা লোকটি "ওএমএফজি সুরক্ষা সর্বাধিক গুরুত্বপূর্ণ জিনিস" বলে এই শব্দটি শোনার মতো হতে পারে তবে এটি আমার অর্থ নয়। যদি আপনার পণ্য কার্যকারিতা, ব্যবহারযোগ্যতা বা পারফরম্যান্স প্রয়োজনীয়তাগুলি পূরণ করে না তবে আপনারও সেই জিনিসটি প্রকাশ করা উচিত নয়।
আপনি এটি কেন করতে চান? এটি সস্তা হওয়া উচিত: আমরা সকলেই দেখেছি (এবং সম্ভবত একটি সস্তা +10 প্রতিনিধির জন্য উদ্ধৃত করা হয়েছে) কোড সম্পূর্ণ টেবিল যেখানে ত্রুটিগুলি আরও ব্যয়বহুল হয়ে যায় পরে আপনি সেগুলি ঠিক করেন, তাই না? ভাল সুরক্ষা ত্রুটিও ত্রুটি। আমি গেমটির আসল-বিশ্বের নিয়ম, তাদের বেশিরভাগই রক্ষণাবেক্ষণের ক্ষেত্রে স্থির করা প্রয়োজনীয়তার ক্ষেত্রে সমস্যা। এটা কি সস্তা?
ঠিক আছে, এখন ভাড়া নেওয়ার জন্য সুরক্ষা বন্দুক হিসাবে আমি কী করতে পারি ? ঠিক আছে এটি দেখা যাচ্ছে যে আমিও সংশোধিত বিধি দ্বারা খেলতে অস্বীকার করতে পারি। আমি বিকাশকারীদের বলতে পারি যে ঝুঁকি হ্রাস করার বিষয়ে এটিই প্রতিটি পদক্ষেপে করা যেতে পারে এবং তারপরে আমি তাদের এটি করতে সহায়তা করতে পারি।