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