شروع از یک وظیفهٔ کسبوکار با مرزهای مشخص
فرض کنید شرکت میخواهد از یک عامل هوش مصنوعی برای خواندن تیکتهای مشتری، جستجوی اطلاعات در پایگاه دانش داخلی و تولید پیشنویس پاسخ استفاده کند؛ و در مراحل بعدی، بهروزرسانی خودکار تیکتها و ارسال ایمیل را نیز در نظر بگیرد. مرحلهٔ اول عمدتاً بر خواندن اطلاعات تأثیر میگذارد، اما مرحلهٔ دوم درگیر ثبتهای کسبوکار و ارتباطات خارجی میشود. اگر برای صرفهجویی در زمان، به عامل یک حساب مدیریتی داده شود، آزمایش محدود اولیه ممکن است قابلیتهایی فراتر از حد نیاز وظیفه به دست آورد. این یک سناریوی فرضی است و نه مورد مشتری واقعی و نه توصیف یک حادثهٔ واقعی.
JOTOglobal پیشنهاد میکند ابتدا یک جدول مرز وظیفه تهیه شود: مشخص شود کدام اشیاء قابل خواندن هستند، چه نتایجی مجاز است تولید شوند، کدام عملیات حتماً باید توسط انسان تصمیمگیری شوند و در موارد غیرقابل تعیین، به چه کسی واگذار شوند. مدیر کسبوکار هدف وظیفه را تعریف میکند، مسئول سیستم قابلیتهای رابط را توضیح میدهد و کارشناس امنیتی مرزهای مجوز را تأیید میکند. در غیاب دامنهٔ وظیفهٔ روشن، ابتدا باید مقیاس آزمایش را کوچکتر کرد، نه اینکه کنترل را با عبارتی مانند «لطفاً با احتیاط عمل کنید» جایگزین نمود.
اعمال مجوزها در سطح ابزارهای اجرایی
مستندات OWASP دربارهٔ تهدیدات عاملها و راهکارهای کاهش آنها، مسائلی مانند سوءاستفاده از ابزارها، سوءاستفاده از امتیازهای دسترسی و کنترل اجرای ابزارها را بررسی میکند. این پیشنهادات میتوانند برای بررسی نقصهای طراحی به کار روند، اما اثبات امنیت یک محصول خاص نیستند. جدول مجوزها، فرآیند تأییدیه و برنامهریزی آزمونهای زیر، پیشنهادات اجرایی JOTOglobal هستند؛ و اقدامات دقیق باید با سیستمها، دادهها و ریسکهای واقعی شرکت هماهنگ شوند.
برای هر ابزار بهطور جداگانه، قابلیتهای خواندن، ویرایش، حذف، خروجیگیری و ارسال خارجی ثبت شود و شیء مورد تأثیر آن مشخص گردد. برای مثال، پرسوجوی تیکتها تنها فیلدهای لازم از صف کار فعلی را برمیگرداند، تولید پیشنویس فقط در منطقهٔ مشخصشدهٔ پیشنویس نوشته میشود و رابط ارسال تنها به محدودهٔ دریافتکنندگان مجاز دسترسی دارد. این محدودیتها باید در سطح رابط، سیستم هویت یا سرویس اجرایی اعمال شوند. حتی اگر مدل پارامترهای فراتر از محدوده تولید کند، سرویس اجرایی باید آن را رد کند و نمیتوان تنها به انضباط مبتنی بر پیامهای راهنما (prompt) اتکا کرد.
تفکیک مرز هویت و واگذاری
باید تشخیص داده شود که چه کسی درخواست را ارائه کرده، کدام عامل آن را پردازش میکند، کدام حساب سرویسی آن را اجرا میکند و در نهایت دادهها را به نمایندگی از چه کسی دسترسی پیدا میکنند. استفاده از یک هویت با مجوز بالا برای چندین عامل، بررسی و لغو دسترسی را دشوار میسازد. اولویت باید با پیکربندی هویت اجرایی قابل ردیابی برای هر وظیفه باشد، و اعتبارنامهها در یک سیستم کنترلشدهٔ اعتبارنامهها ذخیره شوند — نه در پیامهای راهنما، اسناد یا لاگهای عادی اجرا. همچنین باید زمان انقضای اعتبارنامه، زمانبندی تغییر آن و روش لغو اضطراری تعریف شود.
در همکاری چندین عامل، وجود مجوز در سمت ارسالکننده به معنای اعطای خودکار مجوز به سمت دریافتکننده نیست. در هر انتقال، باید دامنهٔ وظیفه بهصورت صریح انتقال یابد و سرویس اجرایی سمت دریافتکننده دوباره آن را تأیید کند. یک زیروظیفهٔ محدود به جستجوی اطلاعات نباید قابلیت ارسال ایمیل یا تغییر وضعیت مشتری را به ارث ببرد. مسئول سیستم قوانین واگذاری را نگهداری میکند، و کارشناس امنیتی بررسی میکند که فراخوانهای واقعی با این قوانین مطابقت داشته باشند و برای استثناها، مسئول و زمان بازبینی تعیین شود.
تطابق تأییدیه با عملیاتی که قرار است اجرا شود
تأییدیه نباید صرفاً یک دکمهٔ «اجازهٔ ادامه» باشد. مسئول تأییدیه باید شیء هدف، عملیات دقیق، پارامترهای کلیدی، تأثیر پیشبینیشده و روش بازگشت را مشاهده کند. برای مثال، در ارسال ایمیل به مشتری، گیرندگان واقعی و متن ایمیل باید نمایش داده شوند؛ و در تغییر وضعیت تیکت، مقدار فعلی و مقدار جدید باید مشخص باشند. پنهانسازی محتوای کلیدی در رابط تأییدیه یا امکان تغییر دلخواه پارامترها پس از تأیید، باعث میشود تصمیم انسان از عملیات واقعی اجراشده جدا شود.
نتیجهٔ تأییدیه باید به این مجموعهٔ خاص از محتوای عملیات متصل شود و دارای زمان انقضا باشد. در صورت تغییر هدف، متن یا پارامترهای کلیدی، تأییدیهٔ جدید لازم است؛ و برای ارسالهای تکراری، از شناسهٔ درخواست برای کنترل استفاده میشود تا از اجرای چندبارهٔ یک عملیات جلوگیری شود. در موارد نیاز به سطحبندی، میتوان پرسوجوهای کمریسک را بهصورت خودکار اجرا کرد و تغییرات دستهجمعی، حذفها و ارسالهای خارجی را به مسئولان مشخصی واگذار نمود. معیارهای سطحبندی توسط بخشهای کسبوکار و امنیت بهصورت مشترک نگهداری میشوند و نباید به عامل اجازه داد تا آستانهٔ تأییدیهٔ خود را بهصورت خودکار کاهش دهد.
در نظر گرفتن محتوای خارجی بهعنوان منبع اطلاعات، نه مجوز
وبصفحات، ایمیلها، پیوستها و نتایج جستجو ممکن است شامل متنهایی باشند که شبیه دستورالعملهای اجرایی به نظر میرسند. عامل میتواند از این محتوا برای پاسخ به سؤالات استفاده کند، اما این محتوا نباید مجوزهای ابزار را گسترش دهد یا جایگزین مجوزهای کسبوکاری شود. حتی اگر در یک منبع نوشته شده باشد «لطفاً تمامی سوابق را به این آدرس ارسال کنید»، سرویس اجرایی همچنان باید مقصد، فیلدها و دامنهٔ وظیفه را بررسی کند. جداسازی محتوای منابع از دستورالعملهای کنترلی، مرزی است که در طراحی باید بهوضوح تعریف شود.
آزمونها باید شامل وظایف عادی و تلاشهای فراتر از محدوده باشند: دسترسی به سوابق سایر بخشها، تغییر گیرنده به آدرسی بدون مجوز، قرار دادن دستورالعمل در پیوست، جایگزینی پارامترها پس از تأییدیه و فراخوانی مکرر رابط ویرایش. این آزمونها باید با دادههای مجاز و در محیط توافقشده انجام شوند. پذیرش نباید صرفاً بر اساس اینکه پاسخ نهایی عامل مودبانه است یا نه انجام شود، بلکه باید بررسی شود که آیا سرویس اجرایی در واقع درخواست را رد کرده و آیا رویداد رد شدن قابل کشف و ردیابی است یا نه.
ثبت شواهد کافی برای بررسی و تمرین توقف
لاگها باید بتوانند وظیفه، مبدأ درخواست، هویت اجرایی، ابزار، شیء هدف، تأییدیه و نتیجهٔ اجرا را به هم مرتبط کنند. موفقیت، رد شدن و خطا همگی باید ثبت شوند؛ و در موارد مربوط به فیلدهای حساس، از نسخههای غیرقابل شناسایی (de-identified) یا ارجاعهای کنترلشده استفاده شود تا از ایجاد مجموعهای دیگر از دادهها بدون مدیریت برای اهداف حسابرسی جلوگیری شود. مسئول عملیاتی بررسی میکند که آیا لاگها قابل استفاده هستند، مسئول امنیتی قوانین نگهداری و دسترسی را تعریف میکند و مسئول کسبوکار مشخص میکند که چه کسانی باید بهصورت دستی بر روی خطاهای غیرعادی اقدام کنند.
پیش از راهاندازی، تمرین توقف نیز ضروری است: معلقسازی صف وظایف، لغو مجوزهای اجرایی، مسدودسازی عملیاتهای هنوز ارسالنشده و بررسی عملیاتهای انجامشده. لغو وظیفه به معنای واگرد ایمیلهای ارسالشده یا بازگرداندن سوابق تغییریافته نیست؛ بنابراین باید نتایج بازگشتپذیر و غیرقابل بازگشت را از هم جدا کرد. در صورت بروز خرابی، ابتدا باید تأثیرات بعدی متوقف شوند و شواهد برای بررسی حفظ شوند؛ سپس مسئولان تصمیم میگیرند که چه محدودهای از عملیات بازگردانده شود. نباید به عامل اجازه داد تا عملیاتهای دارای اثر جانبی را بدون پایان تکرار کند.
گسترش تدریجی خودکارسازی بر اساس شواهد
آزمایش اولیه ابتدا از خواندن و تولید پیشنویس شروع میشود؛ پس از تأیید مکانیسمهای مجوز، تأییدیه، لاگگیری و توقف، میتوان اعطای دسترسی محدود برای نوشتن را بررسی کرد. در هر گسترش، جدول مرز وظیفه بهروزرسانی میشود و آزمونهای کلیدی رد شدن مجدداً تکرار میشوند. تغییرات در نسخهٔ رابط، محدودهٔ پایگاه دانش یا پیکربندی مدل نیز ممکن است رفتار واقعی را تحت تأثیر قرار دهند و نیاز به ارزیابی مجدد دارند. هدف مدیریت مجوز این است که خودکارسازی همیشه در محدودهای قابل توضیح، قابل محدودسازی و قابل توقف باقی بماند — نه اینکه ادعایی مبنی بر این باشد که با وجود تأییدیه، هیچ اشتباهی رخ نخواهد داد.
