نسخه TUF 1.0 (چارچوب به روز رسانی) منتشر شده است که ابزارهایی را برای بررسی و دانلود ایمن به روز رسانی ها ارائه می دهد. هدف اصلی این پروژه محافظت از مشتری در برابر حملات معمولی به مخازن و زیرساختها، از جمله مقابله با تبلیغ توسط مهاجمان بهروزرسانیهای ساختگی است که پس از دستیابی به کلیدهای تولید امضای دیجیتال یا به خطر انداختن مخزن ایجاد شدهاند. این پروژه تحت نظارت بنیاد لینوکس توسعه یافته است و برای بهبود امنیت تحویل به روز رسانی در پروژه هایی مانند Docker، Fuchsia، Automotive Grade Linux، Bottlerocket و PyPI استفاده می شود (شامل تایید دانلود و ابرداده در PyPI در آینده نزدیک). کد پیاده سازی مرجع TUF به زبان پایتون نوشته شده و تحت مجوز آپاچی 2.0 توزیع شده است.
این پروژه در حال توسعه مجموعهای از کتابخانهها، فرمتهای فایل و ابزارهایی است که میتوانند به راحتی در سیستمهای بهروزرسانی برنامههای کاربردی موجود ادغام شوند و در صورت به خطر افتادن کلید از طرف توسعهدهندگان نرمافزار، حفاظت را فراهم کنند. برای استفاده از TUF کافی است ابرداده های لازم را به مخزن اضافه کنید و رویه های ارائه شده در TUF برای دانلود و تایید فایل ها را در کد مشتری ادغام کنید.
چارچوب TUF وظایف بررسی بهروزرسانی، دانلود بهروزرسانی و تأیید صحت آن را بر عهده میگیرد. سیستم نصب بهروزرسانی مستقیماً با ابردادههای اضافی که تأیید و بارگذاری آنها توسط TUF انجام میشود، تداخل ندارد. برای ادغام با برنامهها و سیستمهای نصب بهروزرسانی، یک API سطح پایین برای دسترسی به ابرداده و پیادهسازی یک مشتری API سطح بالا، آماده برای ادغام با برنامهها، ارائه میشود.
از جمله حملاتی که TUF می تواند با آن مقابله کند، جایگزینی نسخه های قدیمی تحت پوشش به روز رسانی به منظور جلوگیری از اصلاح آسیب پذیری های نرم افزار یا بازگشت کاربر به نسخه آسیب پذیر قدیمی، و همچنین ارتقاء به روز رسانی های مخرب است که به درستی امضا شده اند با استفاده از یک در معرض خطر. کلید، حملات DoS به مشتریان، مانند پر کردن دیسک با به روز رسانی های بی پایان.
حفاظت در برابر به خطر افتادن زیرساخت ارائهدهنده نرمافزار با نگهداری سوابق جداگانه و قابل تأیید از وضعیت مخزن یا برنامه به دست میآید. ابرداده تأیید شده توسط TUF شامل اطلاعاتی در مورد کلیدهایی است که می توان به آنها اعتماد کرد، هش های رمزنگاری برای ارزیابی یکپارچگی فایل ها، امضاهای دیجیتال اضافی برای تأیید فراداده، اطلاعات مربوط به شماره نسخه ها، و اطلاعات مربوط به طول عمر رکوردها. کلیدهای مورد استفاده برای تأیید عمر محدودی دارند و برای محافظت در برابر تشکیل امضا توسط کلیدهای قدیمی نیاز به به روز رسانی مداوم دارند.
کاهش خطر به خطر افتادن کل سیستم از طریق استفاده از یک مدل اعتماد مشترک حاصل می شود که در آن هر یک از طرفین فقط به حوزه ای که مستقیماً مسئول آن است محدود می شود. این سیستم از سلسله مراتبی از نقشها با کلیدهای خاص خود استفاده میکند، به عنوان مثال، کلیدهای نشانههای نقش ریشه برای نقشهای مسئول ابردادهها در مخزن، دادههای مربوط به زمان تولید بهروزرسانیها و مجموعههای هدف، به نوبه خود، نقش مسئول علائم مجموعهها. نقش های مرتبط با صدور گواهینامه فایل های تحویل داده شده.
برای محافظت در برابر به خطر افتادن کلید، مکانیزمی برای ابطال سریع و تعویض کلیدها استفاده می شود. هر کلید مجزا فقط دارای حداقل قدرت لازم است و عملیات احراز هویت نیاز به استفاده از چندین کلید دارد (نشت یک کلید اجازه حمله فوری به کلاینت را نمیدهد و برای به خطر انداختن کل سیستم، کلیدهای همه شرکتکنندگان باید باشد. اسیر). مشتری فقط میتواند فایلهایی را بپذیرد که جدیدتر از فایلهای دریافتی قبلی هستند و دادهها فقط با توجه به اندازه مشخصشده در فراداده تأیید شده دانلود میشوند.
نسخه منتشر شده TUF 1.0.0 یک پیاده سازی مرجع کاملاً بازنویسی شده و تثبیت شده از مشخصات TUF را ارائه می دهد که می توانید هنگام ایجاد پیاده سازی های خود یا برای ادغام در پروژه های خود به عنوان نمونه آماده استفاده کنید. پیاده سازی جدید حاوی کد به میزان قابل توجهی کمتری است (1400 خط به جای 4700)، نگهداری آسان تر است و به راحتی می توان آن را گسترش داد، به عنوان مثال، اگر نیاز به اضافه کردن پشتیبانی برای پشته های شبکه خاص، سیستم های ذخیره سازی یا الگوریتم های رمزگذاری باشد.
منبع: opennet.ru