টিএল; ডিআর: যদি আপনি চান তবে নীচে সরাসরি উপসংহারে ঝাঁপিয়ে পড়তে নির্দ্বিধায় :)!
সেলইনক্স লক্ষ্য হ'ল একটি বাধ্যতামূলক নীতি প্রয়োগ করে সুবিধাবঞ্চিত বৃদ্ধি রোধ করা যা অনিবদ্ধ ও সুবিধাবঞ্চিত উভয় ব্যবহারকারীর পক্ষ থেকে সম্ভাব্য ক্রিয়াকে সীমাবদ্ধ করে।
এখানে "ব্যবহারকারী" শব্দটিতে ডিভাইসে চলমান যে কোনও প্রক্রিয়া অন্তর্ভুক্ত রয়েছে, এটি সরাসরি শারীরিক ব্যবহারকারীর ক্রিয়া (মানব, আপনি;) এর সাথে সম্পর্কিত কিনা তা যেহেতু প্রতিটি প্রক্রিয়া কিছু সিস্টেম "ব্যবহারকারী" অ্যাকাউন্ট ব্যবহার করে চলছে account
Orতিহাসিকভাবে, ইউনিক্স-ভিত্তিক সিস্টেমে অনুমতিগুলি হ'ল বিচ্ছিন্ন অ্যাক্সেস কন্ট্রোল (ডিএসি) সিস্টেম যা ব্যবহার করে পরিচালনা করা হয়। এই মডেলটিতে:
- ফাইলগুলির মতো সংস্থাগুলির মালিক রয়েছে যারা তাদের নিজস্ব সম্পদগুলিতে অ্যাক্সেসের অধিকারগুলি সংজ্ঞায়িত করতে পারেন: এটি তাদের কোনও নির্দিষ্ট সংস্থানটি ব্যক্তিগত হওয়া উচিত (কেবল মালিক এটি অ্যাক্সেস করতে পারে) বা অন্য কিছু ব্যবহারকারীর সাথে ভাগ করা উচিত কিনা তা সিদ্ধান্ত নিতে দেয়।
- এর শীর্ষে আপনার কাছে সুপার-ব্যবহারকারী (
root
ইউনিক্স ভিত্তিক সিস্টেমগুলিতে ডাকা ) রয়েছে যা প্রশাসনিক ব্যবহারকারী এবং সিস্টেমে সমস্ত কিছুতে অ্যাক্সেস রয়েছে। এই অ্যাকাউন্টটি কোনও ডিভাইসটি রক্ষণাবেক্ষণ বা মেরামত করার জন্য একটি মানব (সাধারণত একটি সিস্টেম প্রশাসক) ইন্টারেক্টিভভাবে ব্যবহার করতে পারেন, তবে সাধারণত এই অ্যাকাউন্টটি বেশিরভাগ ব্যাকগ্রাউন্ড বা নিম্ন স্তরের পরিষেবাগুলির দ্বারা ব্যবহৃত হয় যার জন্য এই ধরনের বিশেষাধিকার স্তর প্রয়োজন: ডিভাইস ড্রাইভার, নেটওয়ার্ক কনফিগারেশন পরিষেবা, পরিষেবাগুলি প্রতিটি ব্যবহারকারীর কাছ থেকে ফাইল অ্যাক্সেস করা বা অভ্যন্তরীণ আন্তঃ ব্যবহারকারীদের যোগাযোগ পরিচালনা করা দরকার।
এটি খুব সুন্দর এবং ইতিমধ্যে একটি ভাল সুরক্ষা সরবরাহ করে। যাইহোক, এই পরিস্থিতিতে যেমন কি:
- যদি কোনও সেবার বাগ চলমান হিসাবে
root
দেখা যায় যা আক্রমণকারীকে কিছু স্বেচ্ছাসেবক কোড চালানোর জন্য এই ধরনের পরিষেবাটি চালিত করার অনুমতি দেয় তবে কী হবে ? এই জাতীয় আক্রমণকারী ডিভাইসে সম্পূর্ণ অ্যাক্সেস অর্জন করবে। কিছু কংক্রিট উদাহরণ দেওয়ার জন্য, ফোনে বিশেষভাবে কারুকৃত নেটওয়ার্ক কনফিগারেশন তথ্য ( ডিএইচসিপি ) বা একটি এমএমএস পাঠিয়ে এই ধরনের বাগটি ট্রিগার করা যেতে পারে ।
- কিছু ব্যবহারকারী যদি ব্যক্তিগত সংস্থানগুলি সঠিকভাবে সুরক্ষা না দেয় তবে কী হবে? তারপরে এই অ্যাসোসিয়েশনগুলি অন্য অনর্থক ব্যবহারকারীদের দ্বারা দূষিতভাবে অ্যাক্সেস করা যেতে পারে (পড়ুন, এমনকি সংশোধনযোগ্য বা মোছা)। আপনার ফোনে যখন কোনও দূষিত অ্যাপ্লিকেশন চলমান থাকে তখন এটি সাধারণত আপনার কাছে থাকে (এটি ইনস্টল করার ক্ষেত্রে আপনাকে ঠকানো হয়েছে, বা অন্য অনিচ্ছাকৃত অ্যাপ্লিকেশনটিতে কোনও বাগ ব্যবহার করে নিজেই এখানে এসেছেন, ব্রাউজার বা মেল ক্লায়েন্টের জন্য উদাহরণস্বরূপ), এবং এই দূষিত অ্যাপ্লিকেশনটি অন্য অ্যাপ্লিকেশন ডেটা বা স্টোরেজ অবস্থানগুলিতে সরাসরি অ্যাক্সেস করার চেষ্টা করে (এটি সাধারণত অপ্র্রাপযোগ্য ডেটা অ্যাক্সেস করতে বা এর অপসারণটিকে আরও শক্ত করে তোলার জন্য নিজেকে বেশ কয়েকটি জায়গায় ইনস্টল করার জন্য এটি করতে পারে)।
এখানে এসইএলিনাক্স আসে।
সেলইনাক্স একটি বাধ্যতামূলক অ্যাক্সেস কন্ট্রোল (ম্যাক) সিস্টেম। পূর্বে বর্ণিত ডিএসি সিস্টেমের ব্যবহারকারীরা তাদের নিজস্ব উত্সগুলিতে যথাযথ অধিকার নির্ধারণের জন্য দায়বদ্ধ ছিলেন, ম্যাক সিস্টেমের সাথে একটি সিস্টেম-ওয়াইড নীতি (অপারেটিং সিস্টেম সহ সরবরাহ করা) সুবিধাপ্রাপ্ত ও অনিবদ্ধ উভয় ব্যবহারকারীর জন্যই প্রয়োগ করা হয়।
এটি নিম্নলিখিত উপায়ে উল্লিখিত দুটি সমস্যা সমাধান করে:
- আমি যেমন বলেছি, এই নীতিটি সুবিধাভোগী ব্যবহারকারীদের ক্ষেত্রেও প্রযোজ্য। এর অর্থ হ'ল, একটি সঠিকভাবে নকশিত নীতি সহ, ডিভাইসের নেটওয়ার্ক কনফিগারেশন হ্যান্ডেল করার জন্য ডিজাইন করা কোনও পরিষেবা অন্য কিছু করতে অক্ষম হবে: উদাহরণস্বরূপ এটির এসএমএসে কোনও অ্যাক্সেস থাকবে না এবং কোনও পরিষেবা হ্যান্ডলিং এসএমএসের নেটওয়ার্ক কনফিগারেশনটিতে অ্যাক্সেস থাকবে না , এবং উভয়েরই ব্যবহারকারীর ডেটা অ্যাক্সেস পাবে না, যদিও উভয়ই সুপার-ইউজার অ্যাকাউন্ট ব্যবহার করে চলেছে।
- অ্যান্ড্রয়েড সম্প্রতি একটি মাল্টি-ব্যবহারকারীর বৈশিষ্ট্য অন্তর্ভুক্ত করেছে যা কোনও ব্যবহারকারীকে অন্য ব্যবহারকারীর ডেটা অ্যাক্সেস করা থেকে বিরত রেখে সেলইনাক্স দ্বারা প্রয়োগ করা হয়। তবে এর বাইরেও, সেলইনাক্স নীতি অনুমতিপ্রাপ্ত অ্যাপ্লিকেশন আচরণ বর্ণনা করার জন্যও দায়ী এবং সম্ভবত ড্যাক সিস্টেম ব্যবহার করে কিছু সংস্থান যথাযথভাবে সুরক্ষিত না করা সেলিনাক্স উদ্ধারকাজে উপস্থিত হতে পারে এবং তবুও দূষিত অ্যাপ্লিকেশনটিকে তাদের সরাসরি অ্যাক্সেস থেকে বিরত রাখতে পারে।
ড্যাক এবং ম্যাক সিস্টেমগুলি পারস্পরিক একচেটিয়া নয়, বিপরীতে ম্যাক সিস্টেম (এসইএলিনাক্স) ড্যাক সিস্টেমের পিছনে প্রতিরক্ষা দ্বিতীয় স্তর হিসাবে কাজ করে (theতিহ্যবাহী ইউনিক্সের মতো অনুমতি)। সেলইনাক্সের কাজ হ'ল নীতিমালার বিপরীতে যে কোনও ক্রিয়াকলাপ অবরুদ্ধ করা যা কেবলমাত্র ডিএসি সিস্টেমের দ্বারা দেওয়া হয়েছে, অন্যথায় গৃহীত হবে।
জটিল জিনিসটি হ'ল এই জাতীয় নীতিটি লেখার জন্য খুব জটিল হতে পারে: এটি অবশ্যই প্রতিটি পরিস্থিতিতে প্রতিটি সম্ভাব্য ব্যবহারের জন্য প্রতিটি ডিভাইসের উপাদানগুলি আবরণ করতে পারে। আসলে, আপনার পরিস্থিতিতে কিছু পদক্ষেপ বৈধ হতে পারে তা বিবেচনাধীন বিষয়: এটি নীতিমালায় না থাকলে এটি নিষিদ্ধ । দুর্বলভাবে নকশিত নীতিগুলির ফলে এপ্লিকেশন ক্র্যাশ, অযথা ব্যবহারযোগ্য কার্যকারিতা এবং এর মতো এলোমেলো পরিণতি হতে পারে।
এজন্য অ্যান্ড্রয়েড শিপিংয়ের প্রথম সংস্করণ সেলইনাক্স এটিকে ডিফল্টরূপে "পার্মিসিভ" মোডে অন্তর্ভুক্ত করেছে। এই মোডে, SELinux নীতি লঙ্ঘন লগ করবে , তবে এটি সম্পর্কিত ক্রিয়াকলাপটি ব্লক করার চেষ্টা করবে না। ফলস্বরূপ লগ ফাইলগুলি বিশ্লেষণ করে, কেবলমাত্র নীতি লঙ্ঘন প্রকৃতপক্ষে দূষিত বা অনাকাঙ্ক্ষিত আচরণ হলে পলিসিটি সংশোধন ও উন্নত করা সম্ভব হয়। এই মুহুর্তে, সেলইনাক্সকে "এনফোর্সিং" মোডে পরিণত করা যেতে পারে: এটি এখন কেবল লগইন করবে না তবে প্রতিটি আপত্তিজনক ক্রিয়াকেও ব্লক করবে।
উপসংহার
সেলিনাক্স একটি প্রশমন কৌশল। এটি আক্রমণকারীদের আপনার ফোনে প্রবেশ করতে বাধা দেয় না, তবে এটি নিশ্চিত করে যে সেখানে একবার তারা যতটা সম্ভব কম কিছু করতে পারে, আদর্শভাবে কার্যকর কোনওভাবেই ফোনে আক্রমণ করার আগ্রহকে প্রথমে সরিয়ে ফেলতে পারে না।
রমটি যত পুরনো হবে তত বেশি সুরক্ষা বাগের সংখ্যার পরিমাণ তত বেশি such এসইলিনাক্স এই জ্ঞাত দুর্বলতা সত্ত্বেও ন্যূনতম সুরক্ষা রাখার একটি কার্যকর উপায় হ'ল SELinux একটি জটিল নীতিতে নির্ভর করে properly
যদি আপনার রমটি ডিফল্টরূপে "পার্মিসিভ" মোডে সেলইনাক্স সরবরাহ করা হয়, তবে সম্ভবত এর অর্থ হ'ল নীতিমালাটি এতে রয়েছে "নিরাপদ" মোডে নিরাপদে স্যুইচ করা যথেষ্ট নির্ভরযোগ্য নয়।
যদি আপনি যথেষ্ট প্রযুক্তিবিদ হন এবং ফোনের লগটিতে অ্যাক্সেস পান ( dmesg
তবে কমপক্ষে তবে সেগুলি অনুলিপি করা হয় logcat
: এমন অ্যাপ্লিকেশন রয়েছে যা পরবর্তীটি দেখার অনুমতি দেয় তবে আপনার অ্যান্ড্রয়েড সংস্করণের উপর নির্ভর করে তাদের রুট অ্যাক্সেসের প্রয়োজন হতে পারে), আপনি পরীক্ষা করতে পারেন কিনা আপনি "avc" এন্ট্রিগুলি খুঁজে পান: এগুলি আপনাকে জানিয়েছে যে SELinux সবেমাত্র নীতিবিরোধী একটি ক্রিয়া সনাক্ত করেছে detected
সায়ানোজেনমডের ওয়েবসাইট থেকে নেওয়া এ জাতীয় প্রবেশের উদাহরণ এখানে রয়েছে :
type=AVC msg=audit(1363289005.532:184): avc: denied { read } for pid=29199 comm="Trace"
name="online" dev="sysfs" ino=30 scontext=staff_u:staff_r:googletalk_plugin_t
tcontext=system_u:object_r:sysfs_t tclass=file
যদি কিছু না থাকে তবে তাদের মধ্যে কয়েকটি মাত্র বা কোনও কারণে আপনি মনে করেন যে তারা আপনাকে ফোনটি ব্যবহার থেকে বিরত রাখতে পারে না, আপনি সেলফিনাক্সকে "এনফোর্সিং" মোডে স্যুইচ করার চেষ্টা করতে পারেন। পুরানো সায়ানোজেনমড রমগুলিতে, জিইআইআই-তে কোনও লুকানো বিকল্প ব্যবহার করে এটি সহজ এবং সম্ভব ছিল (ফোনটি রুট করার বা কোনও নির্দিষ্ট অ্যাপ্লিকেশন ইনস্টল করার প্রয়োজন নেই), অন্য আরওএমএস একই বৈশিষ্ট্যটি সরবরাহ করেছিল কিনা তা আমি জানি না তবে যেহেতু আপনি সায়ানোজেনমড ব্যবহার করেছেন ট্যাগ আমি মনে করি আপনি ভাগ্যবান হতে পারে;)।
setenforce 1
টার্মিনাল এমুলেটর (রুট হিসাবে) থেকে জারি করার চেষ্টা করেছিলেন ?