Seeder বিতর্ক এবং অ্যান্ড্রয়েড সিকিউরিটি নিয়ে সতর্কতা

Android-Securityসাম্প্রতিক সময়ে অ্যান্ড্রয়েড প্ল্যাটফর্মের একটা ফিচার নিয়ে বেশ ভালো বিতর্ক চলছে। বিষয়টা অপারেটিং সিস্টেমের সাথে সরাসরি সম্পৃক্ত বলে কিছুটা জটিল মনে হতে পারে, কিন্তু সবার এটা নিয়ে জানা প্রয়োজন।

আমাদের অনেকেরই স্ক্রিন অনেকক্ষণ পজ (Pause) করা থাকলে স্ক্রিন স্লো হয়ে যায়, পারফরমেন্স ভালো পাওয়া যায় না। আবার অনেকসময় বড় বড় অ্যাপ্লিকেশন চালু করতে বেশ সময় লাগে। এর কারণ কার্নেল প্রতিবার স্ক্রিন বুট করার সময় /dev/random নামে একটা ফাইল থেকে একটা র‍্যান্ডম ভ্যালু নিয়ে থাকে (এটা করে যেন অ্যাপ্লিকেশনটা প্রতিবার চালানোর জন্য আলাদা ইন্সট্যান্স কাউন্ট তৈরী করা যায়। ধরুন, আপনি একটা গেম কিনেছেন যেইটার ট্রায়াল পিরিয়ড হল ১৫ বার চালানো, এমন জিনিষের হিসাব রাখার জন্য এই সিস্টেম ব্যবহার করা হয়) এবং সেই ভ্যালু প্রসেসের সাথে অ্যাটাচ করে থাকে।

এখন যেহেতু ভ্যালুটা র‍্যান্ডম, সেহেতু সেইটা তৈরী হতে কিছু সময় লাগে। সেই সময় যতই কম হোক, সিস্টেম চালু থাকলে সেজন্য ধীরে ধীরে ল্যাগের পরিমান বাড়তে থাকে।

এখন একজন ডেভেলপার একটি অ্যপ্লিকেশন তৈরি করেছেন Seeder নামে, যেটা কিনা /dev/random এ আগে থেকে জেনারেট করা কিছু ভ্যালু দিয়ে রাখে, তাহলে তার মতে নতুন করে ভ্যালু জেনারেট হবার জন্য সময় লাগবে না। ফলে বড় অ্যাপ্লিকেশন তাড়াতাড়ি চালু হবে।

এখন এই বিষয়টা কেন বিতর্কিত হচ্ছে সেইটা জানা যাকঃ

১) যেহেতু এইটা একটা রুট অ্যাপ্লিকেশন তাই এইটা সিস্টেমে সরাসরি প্রভাব ফেলে। আর যেহেতু প্রসেসর সবসময় নতুন ভ্যালু জেনারেট করতে থাকে এবং ব্যাটারী অনেক বেশি ড্রেইন হতে থাকে।

২) অ্যান্ড্রয়েড ৪.০+ এ প্রত্যেকটা অ্যাপ্লিকেশন আলাদা স্যান্ডবক্স এ চলে।  অর্থাৎ প্রত্যেকটা অ্যাপ্লিকেশন নিজেদের জন্য ইউনিক কি (Key) নিজেরা তৈরি করে। /dev/random থেকে কি শেয়ার করে কিছু গুরুত্বপূর্ণ সিস্টেম প্রসেস। ফলে কেউ যদি আপনার /dev/random অ্যাক্সেস করতে পারে সে আপনার ডিভাইসে হ্যাক করতে পারবে রিমোটলি।

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

৪) এটা যেহেতু কার্ণেলের একটা সেটিং বদলে দেয়, তাই এই প্রসেসটা নন-রিভার্সিবল। মানে, প্রসেস টা অন করলে অফ করা যায় না। যদিও অফ করার অপশন আছে, কিন্তু তা সব ডিভাইসে কাজ করে না। ফলে তখন সিস্টেম রিস্টোর করা ছাড়া করার তেমন কিছু থাকে না।

বিষয়টা এতোটাই ক্রিটিকাল যে, বিখ্যাত সাইট xda ও বিভ্রান্তিতে পড়েছিল এইগুলো নিয়ে, নীচে কিছু সূত্র উল্লেখ করা হলঃ

ক) XDA তে প্রথম ভুলঃ http://www.xda-developers.com/android/reduce-game-lag-on-nexus-7-and-other-devices-with-seeder-entropy-generator/

খ) অ্যাপ্লিকেশন ডেভলপারের অরিজিনাল থ্রেডঃ http://forum.xda-developers.com/showthread.php?t=1987032

গ) বিখ্যাত Cyanogenmod ডেভলপার RC এর বক্তব্যঃ https://plus.google.com/115049428938715274412/posts/GWr72W9zmY2

ঘ) XDA এর ভুল স্বীকারঃ http://www.xda-developers.com/android/entropy-seed-generator-not-all-its-hacked-up-to-be/

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