সুরক্ষা সংস্থাগুলির প্রোগ্রামাররা কী করে?


10

আমি সুরক্ষা সংস্থাগুলির কথা শুনেছি যারা ক্লায়েন্ট সিস্টেমগুলির সুরক্ষার বিষয়ে পরামর্শ করে। এই ক্ষেত্রে আমি যাদের পরিচিত সবাইকেই নেটওয়ার্ক ইঞ্জিনিয়ার, তবে আমি জানি প্রোগ্রামাররা সুরক্ষার সাথেও জড়িত। সুরক্ষা প্রোগ্রামাররা যারা নিরীক্ষণ / পরামর্শদাতা করেন তারা আসলে কী করেন? তারা কী আক্ষরিক অর্থে কোডবেজগুলি দিয়ে লোকদের উত্তরাধিকার ব্যবস্থাতে প্রতিটি দুর্বলতার সন্ধান করে? আমি সবসময় ধরে নিয়েছি যে তারা এগুলি করেছিল, তবে মনে হচ্ছে এটি অত্যন্ত অবিশ্বাস্য হবে এবং সুরক্ষার ভ্রান্ত ধারণা দেওয়ার চেয়ে বেশি কিছু করবেন না। দ্রষ্টব্য: আমি এমন প্রোগ্রামারদের নিয়ে কথা বলছি না যারা এনক্রিপশন অ্যালগরিদম বা এর মতো কিছু লেখেন, কেবলমাত্র সফ্টওয়্যার সুরক্ষা অডিট / পরামর্শের সাথে সম্পর্কিত।


1
আরও অনেক সুরক্ষিত লোকের দর্শকের জন্য সিকিওরিটি.স্ট্যাকেক্সচেঞ্জ.কম ব্রাউজ করতে নির্দ্বিধায়!
ররি আলসপ

1
he তিনি যা বলেছিলেন, আমরা উভয়েই সেখানে প্রেজ মডারেটর।

উত্তর:


12

সত্যি বলতে আমরা আপনার কোডবেস দিয়ে না যাওয়ার চেষ্টা করি, আমরা এটি করার জন্য সরঞ্জামগুলি লেখার চেষ্টা করি।

প্রথম, তত্ত্ব। সুরক্ষা একটি সফ্টওয়্যার সিস্টেমের প্রয়োজনীয়তা, সুতরাং অন্যান্য প্রয়োজনীয়তার মতো (কার্যকারিতা, ব্যবহারযোগ্যতা, অ্যাক্সেসিবিলিটি, কর্মক্ষমতা ইত্যাদি) এটি সফ্টওয়্যার ইঞ্জিনিয়ারিং ওয়ার্কফ্লোয়ের প্রতিটি পর্যায়ে প্রয়োজনীয়তা সংগ্রহ থেকে রক্ষণাবেক্ষণ এবং রক্ষণাবেক্ষণ পর্যন্ত বিবেচনা করা উচিত। প্রকৃতপক্ষে, এটি সম্ভব এবং সফ্টওয়্যার প্রকল্পের দলগুলিকে এটি করতে সহায়তা করার জন্য গাইডেন্স রয়েছে exists যদিও আমি মূলত আইওএস বিকাশকারীদের সাথে কাজ করি, আমার "সুরক্ষিত বিকাশ জীবনচক্র" সম্পর্কে আমার প্রিয় বর্ণনাটি মাইক্রোসফ্ট প্রেস থেকে ।

এই মডেলটিতে, যখন আমরা আমাদের ব্যবহারকারীদের কাছ থেকে প্রয়োজনীয়তাগুলি চেষ্টা করি তখন অ্যাপ্লিকেশন সুরক্ষা শুরু হয় begins আমাদের তাদের সুরক্ষা এবং গোপনীয়তা সম্পর্কিত উদ্বেগগুলি আবিষ্কার করতে হবে, যা সহজ নয় কারণ আমরা বিশেষজ্ঞ, না ব্যবহারকারী, এবং যেখানে তারা তাদের সুরক্ষা প্রয়োজনীয়তা বুঝতে পারে তাদের প্রকাশ করা তাদের পক্ষে কঠিন হতে পারে। আমাদের এটিও আবিষ্কার করতে হবে যে মোতায়েনের সময় সফ্টওয়্যারটি কী ঝুঁকির মুখোমুখি হবে এবং কী স্তরের ঝুঁকি গ্রহণযোগ্য।

আমরা সেই প্রয়োজনীয়তাগুলি মাথায় রেখে আমাদের অ্যাপ্লিকেশনটি ডিজাইন করি। আমরা সেই প্রয়োজনীয়তাগুলি সন্তুষ্ট করতে এবং কোড-স্তরের সুরক্ষা ভুলের সাথে যুক্ত অতিরিক্ত ঝুঁকি এড়ানো একটি চোখ দিয়ে কোডটি লিখি। আমরা সফ্টওয়্যারটি পরীক্ষা করি এটির সুরক্ষার জন্য আমাদের মডেলটি আমরা যা বাস্তবে তৈরি করেছি তার সাথে সামঞ্জস্যপূর্ণ, তারপরে আমরা কোনও সফ্টওয়্যারটি এমন একটি ফ্যাশনে স্থাপন করি যা আমরা যখন পরিবেশটি সম্পর্কে নকশা তৈরি করি তখন আমরা পরিবেশ সম্পর্কে আমাদের যে অনুমানের সাথে মেলে matches পরিশেষে, আমরা সমর্থন এবং রক্ষণাবেক্ষণ সরবরাহ করি যা ব্যবহারকারীরা তাদের সুরক্ষা প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ এমনভাবে সফ্টওয়্যারটি পরিচালনা করতে সহায়তা করে এবং যা তাদের (এবং আমাদের) উপস্থাপিত ঝুঁকিতে অভিনব পরিবর্তনগুলির প্রতিক্রিয়া জানাতে সহায়তা করে।

ঠিক আছে, তত্ত্বের জন্য অনেক কিছু। ইন অনুশীলন , যে কারণে খুব ভাল (ক অপ্রযুক্তিগত ফ্যাশন যদিও) ব্যাখ্যা করা আছে জন্য Geekonomics এবং যা প্রধানত তারা পথ সফটওয়্যার কোম্পানি প্রেরণা প্রদান করা হয় কারণে উপরে কাপড় অধিকাংশ ঘটে না হয়। পরিবর্তে, আমরা এটি পেতে। বিকাশকারীরা করবে:

  • কোনও সুরক্ষার লোক বা গ্যালার ভাড়া রাখুন যখন তারা চুক্তির জন্য বিড করার সময় উপস্থিত থাকে, যাতে তারা সুরক্ষা "পায়" তা দেখানোর জন্য।
  • সফটওয়্যার লিখুন।
  • মুক্তির আগে সফ্টওয়্যারটি বৈধতা দেওয়ার জন্য কোনও সুরক্ষা লোক বা গাল ভাড়া করুন, ধাপ ২-এ উত্থিত অনেক সমস্যা সমাধান করে।
  • মোতায়েনের পরে সমস্ত কিছু প্যাচ করুন।

সুতরাং বেশিরভাগ অ্যাপের সুরক্ষার লোকেরা সত্যিই যা করছে তা হ'ল বাগগুলি খুঁজে পাওয়া। এটি সত্যিই একটি গৌরবময় কোড পর্যালোচনা তবে এটি এমন একটি খুব বেশি কেন্দ্রীভূত কোড পর্যালোচনা যাঁরা এই পর্যালোচনাটির সন্ধান করছেন এমন ধরণের বাগের বিশেষজ্ঞের বিশেষজ্ঞরা তাই এটি করার ক্ষেত্রে বাহ্যিক সহায়তা পাওয়ার ক্ষেত্রে এখনও মূল্য রয়েছে is এটি হ'ল টেটিংয়ের একটি সাধারণ নিয়ম: অবশ্যই সর্বদা অন্য কাউকে পরীক্ষা করার জন্য পান যে কে জিনিসটি তৈরির সাথে জড়িত ছিল না।

যদি আমরা উপরেরটি সত্য হিসাবে গ্রহণ করি তবে এটি অনুসরণ করে যে ক্রয়ের সিদ্ধান্ত গ্রহণকারী লোকেরা "সক্ষম সুরক্ষা লোক" এর সাথে "প্রচুর বাগগুলি খুঁজে পান" এর সমান হতে পারে। যারা কম্পিউটারের জন্য তাদের কাজটি করার জন্য পায় তারা তাদের তুলনায় আরও বেশি বাগ খুঁজে পাবে, সুতরাং অবশ্যই তারা স্থির বিশ্লেষণ সরঞ্জামগুলিতে বেশি নির্ভর করে এবং নির্দিষ্ট ক্লায়েন্টদের জন্য নির্দিষ্ট সমস্যাগুলির কোডিংয়ের চেয়ে সরঞ্জামগুলি প্রসারিত করার জন্য আরও বেশি সময় ব্যয় করার লক্ষ্য রাখে। তারপরে আমরা উপসংহারে পৌঁছেছি যে অ্যাপ্লিকেশন সুরক্ষার লোকেরা কোড পড়ার চেয়ে কোড পড়ার জন্য সরঞ্জামগুলি লেখার সম্ভাবনা বেশি।

** সতর্কতা: যা বাকী রয়েছে তা ব্যক্তিগত মতামত এবং জল্পনা **

বাস্তবতা নষ্ট হয়ে গেছে। আপনি লক্ষ্য করবেন যে সফ্টওয়্যার সুরক্ষা তত্ত্বটি একটি সফ্টওয়্যার সিস্টেমে নির্ভর করার ঝুঁকি চিহ্নিতকরণ এবং প্রতিক্রিয়া সম্পর্কে ছিল, যখন অনুশীলনটি যতটা সম্ভব তত্কুল বাগ খুঁজে বের করার বিষয়ে ছিল। অবশ্যই, এটি এখনও ঝুঁকি হ্রাস করবে, তবে কেবলমাত্র পার্শ্ব-প্রতিক্রিয়া হিসাবে। গেমের পয়েন্টটি গেমটি "জয়ের" চেয়ে কম গুরুত্বপূর্ণ হয়ে উঠেছে, তাই নিয়মগুলি পরিবর্তন করা সহজ করা যাতে এটি আরও সহজ হয়।

সফ্টওয়্যার বিকাশকারী হিসাবে আপনি এটি সম্পর্কে কী করতে পারেন? গেমটি তার আসল নিয়মে খেলুন। আপনার দলে এমন কাউকে সন্ধান করুন (একজন ঠিকাদারের চেয়ে বরং মূলত আপনার দলে, আমার উত্তরের শুরুতে বর্ণিত শেষ থেকে শেষের সুরক্ষার জন্য দলকে নির্দেশ দেওয়ার জন্য সেই ব্যক্তিকে দায়িত্ব দিন।

এছাড়াও, সেই ব্যক্তিকে অনুসরণ করার অধিকার দিন । যদি কোনও নকশা সুরক্ষা প্রয়োজনীয়তা প্রকাশ না করে তবে এটি সংশোধন করতে হবে। যদি প্রয়োগটি সুরক্ষা সংক্রান্ত প্রয়োজনীয়তা পূরণ না করে তবে এটি অবশ্যই প্রকাশ করা হবে না । আপনার সুরক্ষা ব্যক্তি রায়টি কল করতে পারেন, তবে অবশ্যই এই রায়টি কার্যকর করার অনুমতি দেওয়া উচিত। আমি বুঝতে পারি যে সুরক্ষা লোকটি "ওএমএফজি সুরক্ষা সর্বাধিক গুরুত্বপূর্ণ জিনিস" বলে এই শব্দটি শোনার মতো হতে পারে তবে এটি আমার অর্থ নয়। যদি আপনার পণ্য কার্যকারিতা, ব্যবহারযোগ্যতা বা পারফরম্যান্স প্রয়োজনীয়তাগুলি পূরণ করে না তবে আপনারও সেই জিনিসটি প্রকাশ করা উচিত নয়।

আপনি এটি কেন করতে চান? এটি সস্তা হওয়া উচিত: আমরা সকলেই দেখেছি (এবং সম্ভবত একটি সস্তা +10 প্রতিনিধির জন্য উদ্ধৃত করা হয়েছে) কোড সম্পূর্ণ টেবিল যেখানে ত্রুটিগুলি আরও ব্যয়বহুল হয়ে যায় পরে আপনি সেগুলি ঠিক করেন, তাই না? ভাল সুরক্ষা ত্রুটিও ত্রুটি। আমি গেমটির আসল-বিশ্বের নিয়ম, তাদের বেশিরভাগই রক্ষণাবেক্ষণের ক্ষেত্রে স্থির করা প্রয়োজনীয়তার ক্ষেত্রে সমস্যা। এটা কি সস্তা?

ঠিক আছে, এখন ভাড়া নেওয়ার জন্য সুরক্ষা বন্দুক হিসাবে আমি কী করতে পারি ? ঠিক আছে এটি দেখা যাচ্ছে যে আমিও সংশোধিত বিধি দ্বারা খেলতে অস্বীকার করতে পারি। আমি বিকাশকারীদের বলতে পারি যে ঝুঁকি হ্রাস করার বিষয়ে এটিই প্রতিটি পদক্ষেপে করা যেতে পারে এবং তারপরে আমি তাদের এটি করতে সহায়তা করতে পারি।


আপনার অবস্থানের ব্যক্তিদের জন্য, আমি অবাক হয়েছি যে আপনি আলোচনার জন্য আরও প্রস্তাব দিতে পারবেন না। আপনার যা বলতে হবে তা শুনতে আমি খুব আগ্রহী হব।
স্টিভেন ইভার্স

আপনি ঠিক বলেছেন, আমি উত্তরটি লিখতে গিয়ে ক্লান্ত হয়ে পড়েছিলাম (জেট ল্যাগ)। আমি এটি কিছুটা পূরণ করার চেষ্টা করব।

@ স্নারফাস ভাল উত্তর না দেওয়ার জন্য আমার ক্ষমা চাইতে হবে। আমি সত্যিই দুঃখিত।

@ গ্রাহাম লি: আমার সন্দেহ ছিল যে আপনার কাছ থেকে আমাদের কাছে দুর্দান্ত উত্তর লুকিয়ে আছে :) আপনার সম্পাদনাগুলি ঠিক তা প্রমাণ করেছে; ধন্যবাদ!
স্টিভেন এভার্স

@ স্নারফাস আমার পোস্ট করার আগে আমার সত্যিই চিন্তা করা উচিত। এবং যদি আমি চিন্তা করার মতো অবস্থায় না থাকি তবে আমার পোস্ট করা উচিত নয় ...

5

ছোট এবং অত্যন্ত বড় অ্যাপ্লিকেশন, পরিবেশ, সিস্টেম ইত্যাদির বিরুদ্ধে সুরক্ষা আশ্বাসের প্রোগ্রামগুলি চালানোর 15 বছর থেকে আমি বলতে চাই যে এখানে কিছু আছে। আমার দলগুলিতে আমার কাছে সর্বদা কয়েকজন ছিল যারা হার্ড কোডার।

বিস্তারিত স্তরে, এর কয়েকটি খুব গভীরভাবে কোড পর্যালোচনাতে নেমে আসে - উদাহরণ হিসাবে আমি বর্তমানে একটি মিলিয়ন-মিলিয়ন লাইন কোডবেজে কাজ করছি, সম্ভাব্য সমস্যাগুলি সঙ্কুচিত করার জন্য সরঞ্জামগুলি ব্যবহার করছি, এবং তারপরে প্রতিটিটির দিকে তাকিয়ে থাকব শ্রেণীবিভক্ত।

(স্বীকারোক্তিতে আমি তখন পুনর্নির্মাণের জন্য বিকাশকারীদের কাছে হস্তান্তর করি বা কেন সমস্যাটি ঝুঁকির সৃষ্টি করে না তা আমাকে বোঝাতে)

তবে এটি একটি নির্দিষ্ট ব্যস্ততা যার জন্য ঝুঁকির প্রোফাইলটি এই ধরণের রিসোর্স নিবিড় কাজটি সম্পাদন করে তোলে।

অনেক বেশি মানসম্পন্ন, এবং আরও অনেক কার্যকর ব্যয় সংস্থার ঝুঁকি প্রোফাইলটি বোঝার চেষ্টা করছে এবং ঝুঁকির উপরে-নীচে ফোকাস করার চেষ্টা করছে, যেমন:

  • ঝুঁকি ক্ষুধা - ব্যবসায়ের উপর প্রভাব, হুমকি মডেলিং
  • সরকার - নিয়ন্ত্রক সম্মতি, রিপোর্টিং ইত্যাদি
  • নীতি - প্রশাসনের কাঠামো কার্যকর তা নিশ্চিত করার জন্য সংজ্ঞাগুলি
  • প্রক্রিয়া - প্রযুক্তিগত এবং মানব
  • মান - প্রতিটি সুরক্ষা নিয়ন্ত্রণের জন্য সংজ্ঞা
  • বাস্তবায়ন - কীভাবে করবেন

প্রোগ্রাম পর্যালোচনাটি কেবল কোড পর্যালোচনা এবং কাস্টম অনুপ্রবেশ পরীক্ষার মাধ্যমে শুধুমাত্র শেষ দুটিতে আসে। কিছু সংস্থার জন্য এটি খুব কম গুরুত্বপূর্ণ, উদাহরণস্বরূপ, আপনি যদি ইতিমধ্যে পর্যায়ের সুরক্ষা নিয়ন্ত্রণগুলি পর্যালোচনা করেছেন যা ইতিমধ্যে ব্যাপকভাবে পর্যালোচনা করা হয়েছে (বিভিন্ন এনক্রিপশন ধরণের, বলুন) তখন আপনি নিজের প্রয়োগটি পরীক্ষা করতে পারেন, আপনি সাধারণত সবগুলি পুনরায় পরীক্ষা করতে যাচ্ছেন না কোড পূর্বে সম্পন্ন হয়েছে।


2
আমি +1 ডি, তবে সাবধান থাকি "বা কেন সমস্যাটি ঝুঁকি তৈরি করে না" তা আমাকে বোঝাতে "। বিকাশকারীরা প্রায়শই তাদের তৈরি জিনিসটি (বিকাশকারী হিসাবে কথা বলা) পরিবর্তন এড়ানোর কারণ খুঁজে পাবেন এবং গ্রাহকদের ঝুঁকিগুলি বুঝতে নাও পারেন। সর্বোপরি, এটি ডেভেলপাররা যারা উইন্ডোজ 98 ;-)

@ গ্রাহাম - আপনি বলেছিলেন যা নামকরণ করা যায় না :-) এবং আমি আপনার নতুন দীর্ঘ সংস্করণের উত্তরটি পছন্দ করি! +1
ররি আলসপ

হ্যাঁ সঠিক. আমি ইচ্ছাকৃতভাবে বলেছি যেহেতু আমি উইন্ডোজটির নাম 98 বছর আগে-তিন বছর আগে রাখতে চাইনি।

1

ডিজাইনের সময় এবং / বা সমাপ্ত প্রকল্পগুলির বিরুদ্ধে আক্রমণ চালানো / ফ্রিজিং / ব্যতিক্রম পরীক্ষার স্যুট চালানোর সময় অস্পষ্ট পদ্ধতিতে আর্কিটেকচার / সেরা অনুশীলনগুলি নিয়ে আলোচনা করার চেয়ে অনেক বেশি কিছু আমি কখনও পাইনি।

প্রায় সব ক্ষেত্রেই আমি এগুলি বলতে পারি যে তারা আক্রমণকারী ভেক্টররা চেষ্টা করে তারা কী কী সরঞ্জাম ব্যবহার করে এবং কোনও অডিট কোনও বিদ্যমান সিস্টেমে পাস করার পরে আক্রমণটি কীভাবে চালিত হয়।

আমি কল্পনা করি যে এমন কয়েকটি আছে যা প্রকৃতপক্ষে কোড পরীক্ষা করতে এবং কিছু পর্যালোচনা / হোয়াইটবক্স পরীক্ষা করার জন্য সময় নেয় তবে বাস্তব জীবনে আমার এখনও তাদের মুখোমুখি হতে হয়নি।


এটি মনে হচ্ছে যে আপনি যে সংস্থার জন্য নিয়মিত কাজ করছেন তা হ'ল হ্যাকগুলি নিয়ে যায়, যারা একটি ভাল গেমের কথা বলে তবে সত্যই পয়েন্টটি পায় না। আমি এবং এখানে অন্যান্য উত্তরদাতাদের ছাড়াও, আমি কাজ করেছি এবং প্রশিক্ষিত করেছি, যারা এটি সঠিকভাবে করেন। স্বীকার করা, আমি সম্ভবত আপনি যে ধরনের ছিল খুব বেশি দেখা হয়েছে ...
AviD

@ অ্যাভিড আমি এটিকে নেতিবাচক হিসাবে বলতে চাই নি। আমি নিশ্চিত যদি আপনি শীর্ষ-ডলারের অর্থ প্রদান করেন তবে আপনি যথেষ্ট প্রতিদ্বন্দ্বী সংস্থাগুলি খুঁজে পেতে পারেন, তবে আপনি যখন কিছু উন্নত / বাস্তবায়নের পরামর্শ দেওয়ার চেয়ে কিছু কিনতে কিছু বেশি পরামর্শ পাওয়ার ঝোঁক রাখেন তখনও। সমস্যাটি যদি উপযুক্ত জায়গার জন্য উপযুক্ত হয় তবে এটি একটি সুরক্ষিত রেকর্ড সহ একটি পরিচিত পণ্য ব্যবহার করা ভাল AD ওপি নির্দিষ্টভাবে অডিডিটকে উল্লেখ করেছে এবং আপনি আপনার বার্ষিক তৃতীয় পক্ষের নিরীক্ষণের জন্য যে পরিমাণ অর্থ প্রদান করেন সেটিতে আপনি ররির পয়েন্টগুলির 4 র্থ, 3 য় এবং 1/2 এর মাধ্যমে পাবেন।
বিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.