গুগল পণ্য অ্যাপ্লিকেশন স্বচ্ছতা

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

হুমকি মডেল

স্বচ্ছতা ব্যবস্থা ব্যবহার করে সরবরাহ শৃঙ্খল আক্রমণ শনাক্ত করা যায় এবং এর মাধ্যমে তা প্রতিরোধ করা সম্ভব। আমরা কয়েকটি উদাহরণের মাধ্যমে বিষয়টি ব্যাখ্যা করছি।

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

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

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

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

দাবিদার মডেল

দাবিদার মডেল হলো একটি কাঠামো যা একটি যাচাইযোগ্য সিস্টেমে ভূমিকা এবং নিদর্শনসমূহ সংজ্ঞায়িত করতে ব্যবহৃত হয়। গুগল ফার্স্ট পার্টি অ্যাপ ট্রান্সপারেন্সির ক্ষেত্রে, আমাদের দাবি হলো যে এই লগে রেকর্ড করা একটি APK ফাইলের হ্যাশটি জনসাধারণের ব্যবহারের জন্য তৈরি একটি অফিসিয়াল গুগল অ্যাপের একটি নির্দিষ্ট সংস্করণকে প্রতিনিধিত্ব করে।

  • GoogleApp দাবি করা হচ্ছে : (আমি, গুগল, দাবি করছি যে $hashApp হলো $googleApp জন্য), যেখানে:
    • $hashApp হলো $googleApp এর একটি নির্দিষ্ট সংস্করণের APK ফাইলের ( স্প্লিট APK সহ) একটি ক্রিপ্টোগ্রাফিক হ্যাশ (যেমন SHA256)।
    • $googleApp হলো একটি অ্যান্ড্রয়েড প্যাকেজ ( APK ), যা গুগল দ্বারা তৈরি ও বিতরণ করা একটি অ্যাপ গঠন করে।

যাঁর কাছে $googleApp এর একটি কপি আছে, তিনি এই দাবিটি যাচাই করতে পারেন এবং আমরা যাচাইকরণ পৃষ্ঠায় এই প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করেছি।

লগ বিষয়বস্তু

গুগল যখন কোনো APK-এর নতুন সংস্করণ প্রকাশ করে, তখন এটি গুগল ফার্স্ট পার্টি APK ট্রান্সপারেন্সি লগ- এ একটি সংশ্লিষ্ট এন্ট্রি যোগ করে।

এই লগের প্রতিটি এন্ট্রিতে চারটি মেটাডেটা থাকে:

  1. গুগল স্বাক্ষরিত অ্যাপের APK ফাইলের হ্যাশ। এটি সম্পূর্ণ ফাইলটির SHA256 ডাইজেস্টের একটি হেক্স স্ট্রিং।
  2. পূর্ববর্তী হ্যাশের প্রকারের বিবরণ। এটি একটি স্ট্রিং।
  3. APK-টির প্যাকেজ নাম । এটি একটি স্ট্রিং।
  4. APK-টির ভার্সন নম্বর ( versionCode )। এটি একটি অশূন্য পূর্ণসংখ্যা।

একটি লগ এন্ট্রির ফরম্যাট হলো চারটি তথ্যকে একটি নিউলাইন ( \n ) ক্যারেক্টারের মাধ্যমে সংযুক্ত করা, যা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

hash\nSHA256(APK)\npackage_name\npackage_version\n

যেহেতু আমরা সম্পূর্ণ APK ফাইলটি পরিমাপ করছি, তাই হ্যাশ ডেসক্রিপশনটি SHA256(APK) হিসেবে সেট করা হয়েছে। এটি প্রতিটি ফাইলের বিষয়বস্তুর ব্যাপক কভারেজ প্রদান করে এবং ব্যবহারকারীদের জন্য এই পরিমাপটি পাওয়া সহজ করে তোলে।

বাস্তুতন্ত্রের চিত্র

Verifiable Log Ecosystem Diagram