به عنوان بخشی از سرمایهگذاری مداوم گوگل در شفافیت محصولاتش، ما در حال افزودن شفافیت به دو APK جدید از سرویسهای سیستمی گوگل هستیم: Android System SafetyCore (com.google.android.safetycore) و Android System Key Verifier (com.google.android.contactkeys). این APKها به ترتیب قابلیت هشدارهای محتوای حساس و تأیید کلید رمزنگاری را در Google Messages فعال میکنند. ما گزارش شفافیت را برای تأیید ادعاهایی که در مورد این APKها مطرح میکنیم، منتشر کردهایم.
با توجه به پیشرفتهای هوش مصنوعی، اکنون شفافیت را به APK های زیر نیز اضافه میکنیم:
- خدمات محاسبات خصوصی (com.google.android.as.oss)
بستههای تحت پوشش
این بخش بستههایی را که در گزارش شفافیت پوشش داده شدهاند و همچنین کلیدهای امضای شفافیت کد مربوط به آنها را شرح میدهد.
هسته ایمنی سیستم اندروید
Android System SafetyCore (com.google.android.safetycore) یک جزء سیستم اندروید است که زیرساخت محافظت از کاربر روی دستگاه با حفظ حریم خصوصی را برای برنامهها فراهم میکند.
کد این APK در حال حاضر با کلید زیر که در این گواهینامه شرح داده شده است، امضا شده است:
-----BEGIN CERTIFICATE-----
MIIFyDCCA7CgAwIBAgIUf3otg1DSj4EfxlP2OjAapoQ/moEwDQYJKoZIhvcNAQELBQAwdDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDAS
BgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMCAX
DTI0MDcxNzIwNDQzMFoYDzIwNTQwNzE3MjA0NDMwWjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
Q2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4x
EDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWQwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQCw93tMu9bD3tAfP1XDj2Y/vvBqDTvi86HesUK8gq0M7kxttep0BP2AkZS5AdVa
DNW6kuMhUN1XOao/Ib/mpgdi3pK6w0WDIlpHsg3coRuCxeniROw3+XUSLNox1mqfLSgHNg9gNoxK
dUyGf8nEIYVgLBUH8OX2oKeirRT7DyR64uVJmts0B0RvNt5VfP5vf6KFpa0prqCNGqQLHLyev3g/
35RH1oAVVsjZnylDYAm9qdAVugL0sgExY01vRNluZZKJuItNpdt+AMOTgStZAEwkhAg7pMbNF27g
AJDCC+XDS16/x1Jnxc+Exlw66aHB++1+dFK/rYkbB+ql4dHjs/LTGqPIeUuE3Xd7UkguKZRRLNtI
Ls9DP1UYuQGZ1IQ9kQamkxScNFgNmymkgTXhBajDKSPy4jb2t5yLHTIJn0OvyMLg2J7/ImHHmc99
07OuXCfy55aW99lqaYsc+rLPOHFi6GjvTUkkyxXqJlhQYb9uQznxkqsfbnBefxCCO924uVIwWDlt
rA+mQ3Bw7TNgb3NmKUmUrmFaRBmrAxnag/jj0N4ff7vXVBR0WkXpb3qRPlSvsEXGYOWPJtc2+U2Q
IFcNyEeu6zWD5yYIcnoX1go2zEVt99b1AFsN0zRWo0mNyeLizDNiDkGT9AtB8rdajhchDqfmZGGX
XqhhJVT9IRMBFQIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQY4GYL4FxVcxk2Euj8
otSQHVYz7zAfBgNVHSMEGDAWgBQY4GYL4FxVcxk2Euj8otSQHVYz7zANBgkqhkiG9w0BAQsFAAOC
AgEAoDuItwszr0yIPcvn/l3s5xZs+3rXe52KcY+ZgMVyM4q5CTEHwX89+K+hMFMTqp8vkrLhjnhz
/SYEY0ZXMQsQ0GWrMHbfIbzUsLhIoMBYn1JA+AH+CCZIYo9GbxaCqu4KJPQNC7sqA3goWf6UqHya
rj8wzXT5+qmOVwBUHgQUap5406/DaPqU0g+w4+hiV/zI67ugWU1z+6WElYIsXjN59zA5rVIJTdnV
w04RNK5fldWUsbkPGQ7hwoyJG4wZewCZ0sU4NUqVecb8z52hdlGj15+rUhDJq0pbDRjFEnulfUFJ
gA5s6iosSYyXrGQgE6NOszxu7nMvSg7MPrS7GQUMnaadQAye/7ELBY4jxlHMOAuj9iwz2Asjuy0a
ye64nfcYBbFSIzV7xRgeUJy42jyRq9ZoILU9fW/I4rHNIcntgB2POpzFOZrKXLC/B8rHKZT9AZOd
iXEKqFRBnHEaGy+MARO7guCQLO8XIVQixDHWS6OJRIvw0LKaf4dSlCxcUEpYSSHJmt6JMOujapCa
JmKz7K+wZWSClJnrc0HhJnZFt6S3TakZx7ALVi0SqxBaxHYFieSn9rmXHOWrSxEz5cmASnsfqnc0
w//Yhjm+gGOmLs/5TzrCyYvYt8Ynsd1G1GHipwc8JXGxLqbOPrNcUpjM65m+sshERIua30du0GOm
4ZM=
-----END CERTIFICATE-----
تأییدکننده کلید سیستم اندروید
تأییدکننده کلید سیستم اندروید (Android System Key Verifier APK) (com.google.android.contactkeys) سرویسی برای تأیید تماس در اندروید است. این سرویس به کاربر اجازه میدهد تا کلیدهای عمومی یک مخاطب را تأیید کند تا تأیید کند که با شخصی که قصد پیامرسانی به او را دارد، در حال برقراری ارتباط است. این سرویس یک سیستم یکپارچه برای تأیید کلید عمومی در برنامههای مختلف است که از تأیید از طریق اسکن کد QR یا مقایسه اعداد استفاده میکند.
کد این APK در حال حاضر با کلید زیر که در این گواهینامه شرح داده شده است، امضا شده است:
-----BEGIN CERTIFICATE-----
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
PLM=
-----END CERTIFICATE-----
خدمات محاسبات خصوصی
سرویس محاسبات خصوصی (com.google.android.as.oss) یک سرویس سیستمی است که محافظت از حریم خصوصی دادههای کاربر را که توسط ویژگیهای مبتنی بر هوش مصنوعی در یک دستگاه مبتنی بر اندروید استفاده میشوند، اعمال میکند. سرویسهای محاسبات خصوصی به عنوان یک دروازه امن و قابل حسابرسی برای برنامههای هسته محاسبات خصوصی (PCC) مانند هوش سیستم اندروید (AiAi) که دادههای حساس روی دستگاه را مدیریت میکنند، عمل میکند تا به منابع شبکه دسترسی پیدا کنند. با ارائه APIهای تعریفشده و اولویتدار برای وظایفی مانند دانلودهای HTTP و یادگیری فدرال، و با در دسترس عموم قرار دادن کد آن، Astrea به کاربران و محققان این امکان را میدهد تا تأیید کنند که دادهها به شیوهای با حفظ حریم خصوصی مدیریت میشوند.
کد این APK در حال حاضر با کلید زیر که در این گواهینامه شرح داده شده است، امضا شده است:
-----BEGIN CERTIFICATE-----
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
asY=
-----END CERTIFICATE-----
مدل تهدید
سیستمهای شفافیت میتوانند برای شناسایی و در نتیجه جلوگیری از حملات زنجیره تأمین مورد استفاده قرار گیرند. ما با چند مثال این موضوع را روشن میکنیم.
فرض کنید یک مهاجم به طور مخرب یک APK از سرویسهای سیستم گوگل را تغییر میدهد و حتی موفق میشود آن را با کلید امضایی که توسط گوگل پلی استفاده میشود، امضا کند. هر کسی که APK مخرب را دریافت کند، میتواند گزارش شفافیت دودویی را برای تأیید صحت APK جستجو کند. آنها متوجه خواهند شد که گوگل فرادادههای APK مربوطه را به گزارش اضافه نکرده است و متوجه میشود که نباید به APK آسیبدیده اعتماد کند.
از آنجایی که انتشار در لاگ فرآیندی جداگانه از فرآیند انتشار با امضا است (همانطور که در نمودار اکوسیستم نشان داده شده است)، این امر موانع را برای مهاجم فراتر از به خطر انداختن کلید افزایش میدهد.
در حالی که ما قصد داریم این گزارش را با استفاده از یک پروتکل استاندارد شاهد ، در یک شبکه عمومی از شاهدان ادغام کنیم، طرفهای خارجی و مستقل را تشویق میکنیم تا بر صحت این گزارش که در دسترس عموم است، نظارت کنند. این طرفها میتوانند ویژگی فقط-افزودن گزارش را تأیید کنند و هرگونه دستکاری را گزارش دهند.
وجود چنین سیستم شفافیت و قابلیت کشف بیشتر حملات، فعالیتهای مخرب را کاهش میدهد. اگر یک APK به خطر بیفتد اما کاربران فقط به آنهایی که در گزارش هستند اعتماد کنند، APK به خطر افتاده باید به صورت عمومی در معرض دید قرار گیرد. این امر احتمال کشف وجود APK به خطر افتاده را افزایش میدهد و میتوان برای حذف توزیع آن اقدام کرد.
مدل مدعی
مدل مدعی ، چارچوبی است که برای تعریف نقشها و مصنوعات در یک سیستم قابل تأیید استفاده میشود. در مورد شفافیت APK سرویسهای سیستم گوگل، ادعای ما این است که هش فایلهای باینری امضا شده ثبت شده در این گزارش، کد رسمی APKهای سرویسهای سیستم گوگل مربوطه را نشان میدهد.
- ادعای GoogleSystemServicesApk : (من، گوگل، ادعا میکنم که
$codeSignatureبرای$googleSystemServicesApkاست)، که در آن:-
$codeSignatureیک JSON Web Token ( JWT ) امضا شده است که شامل لیستی از فایلهای DEX و کتابخانههای بومی و هشهای مربوط به آنها است که در نسخه خاصی از$googleSystemServicesApkگنجانده شدهاند. -
$googleSystemServicesApkیک بسته اندروید ( APK ) از مجموعه بستههای زیر است:{Android System SafetyCore (com.google.android.safetycore), Android System Key Verifier (com.google.android.contactkeys)}
-
هر کسی که یک نسخه از $googleSystemServicesApk را داشته باشد میتواند ادعای فوق را تأیید کند و ما این فرآیند را با جزئیات کامل در صفحه تأیید شرح میدهیم.
محتوای گزارش
وقتی گوگل نسخه جدیدی از APK های ذکر شده در بالا را منتشر میکند، یک ورودی مربوطه را به گزارش شفافیت APK سرویسهای سیستم گوگل اضافه میکند.
هر ورودی در این گزارش شامل چهار قطعه فراداده APK است:
- هش امضای کد یک APK توسعهیافته توسط گوگل. این یک رشته هگز از خلاصه SHA256 یک توکن شفافیت کد (که با نام Code Transparency JWT نیز شناخته میشود) است.
- توضیح نوع هش بالا. این یک رشته است.
- نام بستهی APK. این یک رشته است.
- شماره نسخه ( versionCode ) فایل APK. این یک عدد صحیح است.
قالب یک ورودی لاگ، الحاق چهار قطعه اطلاعات با یک کاراکتر خط جدید ( \n ) است، همانطور که در شکل زیر نشان داده شده است:
hash\nSHA256(Signed Code Transparency JWT)\npackage_name\npackage_version\n
توجه داشته باشید که در این نسخه، ما در حال آزمایش استفاده از شفافیت کد هستیم. این بدان معناست که به جای هش APK، خلاصه توکن شفافیت کد را ضبط میکنیم. بنابراین، شرح هش در حال حاضر به صورت SHA256(Signed Code Transparency JWT) ثابت شده است.
علاوه بر این، این نشان میدهد که چگونه توسعهدهندگان برنامه میتوانند از شفافیت کد استفاده کنند، زمانی که کلیدهای امضای برنامه آنها توسط گوگل پلی نگهداری میشود.
نمودار اکوسیستم
