اجرای الگوریتم ¶

ساخت وبلاگ

در این بخش تعدادی از توسعه دهندگان بررسی امنیتی باید هنگام ایجاد الگوریتم های افزونه برای موتور ماسک Delphix از آن آگاه باشند.

ماسهبازی امنیتی

در حین اجرای ، تمام کد افزونه با استفاده از مدیر امنیت جاوا با جعبه ماسهبازی شده است. به افزونه ها به کلیه مجوزها به جز موارد غیرقانونی غیر پرونده اعطا می شود:

 

طبقه هدف عمل
java. net. socketpermission localhost:- قبول ، اتصال ، گوش دادن ، حل و فصل
java. lang. runtimepermission رفیق
java. lang. runtimepermission createclassloader
java. lang. runtimepermission AccessClassInpackage. Sun
java. lang. runtimepermission SecurityManager
java. security. SecurancePermission سلیقه
java. security. SecurancePermission setProperty. Package. Access

با توجه به FilePermissions ، Read Access به همه اعطا می شود ، اگرچه نوشتن فقط برای دایرکتوری های زیر مجاز است:

  • دایرکتوری خانه کاربر ماسک (system. getProperty ("user. home"))
  • دایرکتوری Default Temp JVM (System. getProperty ("java. io. tmpdir"))

لطفاً توجه داشته باشید که هر دو این مکان به اشتراک گذاشته شده است ، بنابراین برای جلوگیری از برخورد باید مراقبت شود.

مجموعه مجوزهای اعطا شده به افزونه ها ایستا است و نمی توان آن را اصلاح کرد. برای تسهیل آزمایش ، همان محدودیت های امنیتی هنگام اجرای پلاگین ها با استفاده از برنامه های ماسکپ یا ماسک اسکریپت در SDK ماسک (به استثنای سوکتپرمیس و کلیه موارد نوشتن پرونده) اعمال می شود.

رسیدگی به خطا

یکی از جنبه های مهم اطمینان از اینکه یک الگوریتم به طور ایمن از داده های حساس ماسک می کند ، انجام هرگونه خطایی است که ممکن است در طول اجرای الگوریتم رخ دهد.

یک دسته خاص از خطا که ممکن است رخ دهد این است که مقدار ورودی با فرمت مورد انتظار الگوریتم مطابقت ندارد. شاید یک الگوریتم پوششی شماره حساب برای ستونی که حاوی نظرات متن آزاد است یا یک الگوریتم تار تصویر برای داده های باینری غیر تصویر اعمال شده است. این به داده های غیر سازگار گفته می شود. افزونه الگوریتم افزونه API تعریف می کند که چگونه یک الگوریتم ممکن است مکانیسم های انتقال داده های غیر سازگار را که در موتور ماسک سازی ایجاد شده است ، ایجاد کند. این ویژگی در اینجا شرح داده شده است.

گزارش داده های غیر سازگار

هر زمان که یک مقدار ورودی غیر سازگار با آن روبرو شود ، و الگوریتم نمی تواند آن را ماسک کند ، روش ماسک الگوریتم باید استثناء کلاس NonConformantDataException را که توسط API Plugin Masking تهیه شده است ، پرتاب کند. این امر باعث ایجاد مکانیسم گزارش داده های غیر سازگار موتور ماسک می شود. مقدار رشته ای که برای ساخت این استثنا استفاده می شود نباید شامل مقدار ورودی بدون نقص باشد ، زیرا این امر باعث می شود مقدار حساس در سیاهههای موتور ماسک ذخیره شود و در UI موتور قابل مشاهده باشد. یک نمونه رد شده از داده های غیر سازگار به طور خودکار توسط مکانیسم گزارش ذخیره می شود.

رسیدگی به خطاهای دیگر

به طور کلی ، سایر خطاهای کد باید تا حد امکان توسط اجرای الگوریتم به دنبال این دستورالعمل ها انجام شود:

  • تحت هیچ شرایطی مقادیر ورودی بدون نقص (آرگومان ورودی به روش ماسک) در هر استثنائی پرتاب نشده است. جزئیات استثناء در سیاهههای مربوط به موتور ثبت می شود و آنها را برای اپراتور موتور قابل مشاهده می کند و در معرض افشای احتمالی در بسته های پشتیبانی قرار می گیرد. به طور مشابه ، استثنائات نباید به سادگی به عنوان NonConformantDataException دوباره پرتاب شوند زیرا پیام استثناء اصلی ممکن است حاوی مقدار حساس باشد.
  • در هر زمان ممکن ، مشکلات پیکربندی باید به جای روش ماسک در روش اعتبارسنجی یا تنظیم گزارش شود. انتظار تا زمانی که روش ماسک برای گزارش یک خطا اجرا شود ، اجازه می دهد تا کار ماسک انجام شود ، به طور بالقوه جدول یا پرونده پایگاه داده را به صورت جزئی نقاب می کند.
  • یک الگوریتم هرگز نباید به گونه ای شکست بخورد که مقادیر حساس بدون نقاب زدن از آن عبور کنند. در چنین مواردی ، عدم هماهنگی را می توان همانطور که در بالا توضیح داده شد گزارش شود.

ورود به سیستم

چارچوب توسعه پذیری قابلیت ایجاد یک الگوریتم برای ایجاد یک چوب را به منظور نوشتن پیام های تشخیصی به سیاهههای موتور نقاب دار Delphix فراهم می کند. تحت هیچ شرایطی نباید داده های بدون نقص (هر مقدار آرگومان ورودی به روش ماسک) وارد نشود. پیام های وارد شده از طریق UI و API برای کاربران قابل مشاهده هستند و ممکن است در بسته های پشتیبانی افشا شوند. توصیه می شود که الگوریتم های تولید هرگز به دلایل عملکرد و امنیتی در روش ماسک وارد نشوند.

رسیدگی به اعتبار و کلیدهای مخفی

سند JSON که پیکربندی هر الگوریتم را توصیف می کند بدون رمزگذاری در موتور ماسک Delphix ذخیره می شود و از طریق UI و API برای کاربران دارای امتیازات دسترسی قابل مشاهده است. به همین دلایل ، مقادیر مخفی از هر نوع هرگز نباید بخشی از پیکربندی الگوریتم باشد ، صرف نظر از اینکه الگوریتم ایجاد شده توسط کاربر باشد یا در یک افزونه ساخته شود. این شامل کلیدهای مخفی و همچنین اعتبارنامه دسترسی یا کلیدهای API است که ممکن است برای دسترسی به سیستم های از راه دور استفاده شود. تنها مکانیسم موجود از نسخه 6. 0. 3. 0 که به یک الگوریتم اجازه می دهد یک مقدار حساس را بدون خطر سازش بارگذاری کند ، خواندن مقدار از پرونده ذخیره شده در سیستم فایل نصب شده NFS یا CIFS است.

ویژگی ای برای دسترسی به افزونه ها برای دسترسی ایمن به اعتبارنامه های مدیریت شده در نسخه آینده Delphix اضافه می شود.

مقادیر مخفی (کلیدها) یا دانه هایی که خروجی "تصادفی" را هدایت می کنند ، الگوریتم نباید در کد الگوریتم تعبیه شود. در عوض ، به کلید اختصاص داده شده الگوریتم باید از طریق رابط Cryptoservice دسترسی پیدا کرد. اسرار استاتیک این نوع افشای خطر در صورت فاش شدن پرونده شیشه افزونه. همچنین خطرات مرتبط با الگوریتم تولید همان نتایج ماسک در همه موارد وجود دارد ، به خصوص اگر این افزونه برای ماسک زدن توسط سازمان های مختلف استفاده شود.

گزینه های باینری...
ما را در سایت گزینه های باینری دنبال می کنید

برچسب : نویسنده : هایده حائری بازدید : <-PostHit-> تاريخ : چهارشنبه 15 شهريور 1402 ساعت: 10:09