آیا هوش مصنوعی به اندازه یک انسان پنتست خوب است؟
آزمایش هوش مصنوعی میتواند آسیبپذیریهایی را که آزمایشکنندگان انسانی از دست دادهاند را کشف کند، اما محدودیتهایی در سازگاری، ارزیابی ریسک و درک زمینه کسبوکار نیز دارد. Intruder نقاط قوت و ضعف هر دو رویکرد را مقایسه می کند و توضیح می دهد که عوامل هوش مصنوعی می توانند تست های امنیتی را بهبود بخشند. [...]
با افزایش نفوذ هوش مصنوعی، بسیاری از مردم تعجب می کنند که آیا به خوبی یک انسان است یا خیر. دوازده سال پیش که بهعنوان یک پنتستر شروع به کار کردهاید، و از طریق نقشهای مشابه به کار بر روی پنستگر هوش مصنوعی Intruder's گذر کردهاید.
من مزایا و معایب هر دو را درک کرده ام. در اینجا نحوه مقایسه آنها آمده است.
ممکن است انتظار داشته باشید که نفوذگران هوش مصنوعی از روش های سختگیرانه ای پیروی کنند، همانطور که بسیاری از پنت های انسانی انجام می دهند.
در Intruder، ما این رویکرد را در اوایل آزمایش کردیم - سیستمهای ساختاریافته که در آن هر عامل یک نوع آسیبپذیری خاص برای جستجو داشت. چیزی که ما متوجه شدیم این بود که ماموران چیزهای خارج از صلاحیت خود را به طور کامل از دست می دهند، یا آنچه را که پیدا کرده اند به عنوان تنها چیزی که به آنها گفته شده بود به دنبال آن باشند طبقه بندی می کنند، که باعث ایجاد گزارش های گیج کننده می شود.
فقدان کامل ساختار نیز نتوانست نتایج خوبی ایجاد کند، زیرا عوامل کاملا رایگان بدون هیچ راهنمایی نمیتوانند برنامههای بزرگ را به درستی تجزیه و مدیریت کنند. آنها می توانند چیزهای جالبی پیدا کنند، اما به قیمت از دست دادن تعداد زیادی از آسیب پذیری های دیگر در اهداف ما.
ما آزمایشهای زیادی را برای یافتن تعادل بین این رویکردها انجام دادهایم و به عوامل آزادی با نقشهای کاملا تعریفشده برای کمک به آنها برای نزدیک شدن و مدیریت برنامههای بزرگ و نردههای محافظ سختگیرانهتر برای جلوگیری از آسیب رساندن به آنها رضایت دادیم.
این بدان معناست که پنتستر هوش مصنوعی ما بخشهایی از یک سند روششناسی را که معمولا در آزمایش انسانی مشاهده میکنید، علامت نمیزند. این ممکن است باعث ناراحتی برخی افراد شود - یک روش دقیق به مردم این اطمینان را می دهد که شخصی درخواست شما را بررسی کرده و همه چیز را در لیست آزمایش کرده است. یک تزریق SQL تایید نشده باید پیدا شود و یک چک لیست برای اطمینان از انجام آن وجود دارد.
این روش به بسیاری از مردم این ایده را می دهد که یک پنت انسانی یک محصول کاملا تکرارپذیر است، زیرا هر آزمایش کننده ای می تواند از روش پیروی کند و همه چیز مهم پیدا می شود. با این حال، واقعیت بسیار ظریفتر از آن است، زیرا پنت کردن یک کار ماهر است و بسیاری از تأثیرگذارترین یافتهها در مورد پنت از تجربهای است که آزمایشکننده در توجه به رفتارهای عجیب و غریب و پیگیری آنها تجربه کرده است.
برای پنتستر هوش مصنوعی ما، با تلاش نکردن برای راهنمایی عوامل خود از طریق انواع آسیبپذیری خاص، به نتایج بسیار جالبتر و تأثیرگذارتری رسیدیم. یک مثال خوب یک دور زدن احراز هویت پیچیده است که عواملی که در طول پنج سال آزمایش پنت در یک پایگاه کد نشسته بودند بدون اینکه هیچ آزمایشکننده انسانی آن را برداشته باشد.
مکانیزم این مشکل به این معنی است که شما هرگز فکر نمیکنید یک راهنمای آزمایش بنویسید که بتوان آن را به شدت دنبال کرد، و اگر سعی میکردیم نفوذگر هوش مصنوعی خود را بیش از حد محدود کنیم، هرگز آن را پیدا نمیکرد.
میتوانید بگویید که فقط یافتن چیزهای رایج هنوز هم بسیار خوب است، اما مجموعهای از آسیبپذیریها وجود دارد که معمول نیستند که در طول یک آزمون پنالتی پیدا کنید. و فقط به دلیل رایج نبودن آنها، به این معنی نیست که مهاجم نمی تواند آنها را نیز پیدا کند، به خصوص در حال حاضر از هوش مصنوعی برای فعال کردن حملات بیشتر استفاده می شود.
یک روش سختگیرانه که توسط یک آزمایشکننده توانا انجام میشود، تنها پایه پایینی از قابلیت اطمینان را ارائه میدهد، و حتی این کار را کاملا انجام نمیدهد. چیزی که پنتست را خوب میکند، بخشی است که یک آزمایشکننده ماهر خارج از چکلیست انجام میدهد، و اینجاست که هوش مصنوعی رشد میکند - دنبال کردن دماغهاش از طریق برنامهتان و یافتن چیزهایی که هرگز قرار نبود فهرستی تهیه کنند.
عوامل نفوذگر هوش مصنوعی Intruder عمق یک تعامل دستی را بر اساس تقاضا ارائه می دهند: بدون زمان تحویل، بدون تماس محدوده، کسری از هزینه.
با هر نسخه آزمایش کنید، پنجره مواجهه خود را ببندید و در عرض چند ساعت یک گزارش آماده برای ممیزی دریافت کنید.
پنتستهای هوش مصنوعی ما رویکرد جعبه سفید را دارند، به این معنی که عوامل کد منبع را دریافت میکنند. آنها در کل پایگاه کد کار می کنند و نه تنها تصویری از آنچه هر صفحه است، بلکه نحوه عملکرد برنامه و چه درخواست هایی را می توان ایجاد کرد. انجام این کار تا سطح جزئیاتی که هوش مصنوعی قادر به انجام آن است، برای یک پنتستر انسانی در طول یک پنجره زمانی معمولی برای آزمایش پنت امکان پذیر نیست.
AI pentester همچنین این حس را ایجاد می کند که برنامه کاربردی برای چه چیزی است، و یک مثال خوب از آن کنترل دسترسی است - نیازی نیست به آن گفته شود که کاربران دارای امتیاز پایین نباید قادر به دسترسی به عملکرد مدیریت باشند، یا اینکه یک بیت خاص از داده ها حساس است.
شما می توانید اطلاعات اضافی را نیز مانند یک آزمایشگر انسانی به آنها بدهید. به عنوان مثال، مردم اغلب مشخص میکنند که نگران دسترسی مشتریانشان به دادههای یکدیگر هستند، و پنتستر با تمرکز روی این مسائل و شناسایی بسیاری از آنها کار بسیار خوبی انجام داده است.
کاری که ماموران نمی توانند انجام دهند این است که از شما چیزی بخواهند که قبلا به آنها نداده اید یا به آنها نگفته اید. اگر متوجه نشدم که بخشی از برنامه در حین انجام تست چه کاری انجام میدهد، میتوانم از مخاطب خود بپرسم، و این مکالمات میتواند برای آزمایش درست برنامه و ارزیابی ریسک در گزارش نهایی بسیار مفید باشد.
همچنین میتوانم در صورت نیاز، دامنه را با تماسم روشن کنم یا وقتی مطمئن نیستم که خطر اختلال وجود دارد، برای تأیید چیزی اجازه بخواهم.
ما مجبور شدیم عمدا مأموران آزمایش کننده هوش مصنوعی خود را در این زمینه محتاط کنیم تا از محدوده خارج نشویم.
آزادی ای که به عوامل آزمایش کننده هوش مصنوعی اجازه می دهد چیزی شبیه دور زدن احراز هویت پیچیده را پیدا کنند، همان چیزی است که آنها را کمتر قابل پیش بینی می کند. آنها تصمیم می گیرند کجا حفاری کنند، و هر بار یکسان نخواهد بود.
اما نتایج pentest همیشه با شخصی که آنها را انجام می دهد متفاوت است. به همین دلیل است که بسیاری از مشاوران هر سال تستر شما را میچرخانند - افراد مختلف چیزهای مختلفی را در یک برنامه کاربردی پیدا میکنند.
این به تجربه، تخصص ها و دانش اتفاقی افراد برمی گردد.
من به دلیل یک پست وبلاگ یا مشخصاتی که اتفاقا سال ها قبل خوانده بودم مشکلاتی پیدا کردم و در پشت سرم نشسته بودم. و حتی مواردی که در یک چک لیست وجود دارد گاهی اوقات از دست می روند. افراد خطاپذیر هستند و پوشش یک برنامه کامل به صورت روشمند در طول چند روز می تواند سخت باشد.
پوشش مداوم چیزی است که ما فعالانه برای بهبود آن تلاش می کنیم، اما چیزی نیست که تا به حال به طور کامل از طرف کسی ارائه شده باشد. به همین دلیل است که هر گزارش پنست انسانی با یک سلب مسئولیت همراه است که به همان اندازه می گوید، حتی اگر اکثر مردم آن را به عنوان یک امر رسمی خوانده باشند.
هر پنتستر در مورد آنچه که یک گزارش خوب می سازد، نظرات قوی دارد. من در طول این سالها بسیاری از کارهای خود را ساختهام، مانند بقیه نفوذگران فعلی و سابق در Intruder. این نظرات همان چیزی است که ما گزارش خود را بر اساس آن ساخته ایم.
خلاصه اجرایی سخت ترین صفحه گزارش برای درست کردن آن است. برای بسیاری از افراد، این تجربه تمام آنها از کار شماست، و در یک مشاوره خوب، تلاش زیادی برای آن انجام می شود. ما تلاش کردهایم تا به نقطهای برسیم که نمایندگان اکنون موارد واقعا خوبی را مینویسند، و من اغلب آنها را ابتدا در گزارشهای خودمان میخوانم تا قبل از پرداختن به جزئیات، یک دید کلی داشته باشم.
جایی که آنها هنوز دور هستند، خطر گلزنی است. آنها چیزها را بالاتر از من ارزیابی می کنند، تا حدی به این دلیل که نمی توانند با شما صحبت هایی داشته باشند که باعث کاهش رتبه می شود، و تا حدودی به این دلیل که LLM ها در هنگام شروع صحبت در مورد امنیت سایبری در اشتباه هستند.
این مسیر درستی است که باید در آن اشتباه کرد، اما به این معنی است که چیزهایی را جدیتر از آنچه هستند پرچمگذاری میکنند، و این چیزی است که ما روی آن کار میکنیم.
راهنمایی اصلاح جایی است که عوامل برتری دارند. پس از یک هفته طولانی در یک امتحان، برای انسان وسوسه انگیز است که توصیه های عمومی بنویسد، و شما خودتان را می گیرید و سعی می کنید بهتر عمل کنید. متأسفانه، شما معمولا محدود به زمان و معمولا به دلیل نداشتن کد منبع هستید.
نماینده ها هیچ مشکلی ندارند، بنابراین به شما می گویند که خط کد را تغییر دهید، و در مورد هر مشکلی باید آن را به چه چیزی تغییر دهید. آنها همچنین در مورد کنترلهای کاهشدهنده مینویسند که میتواند به کاهش تأثیر این مشکل کمک کند یا یک راه حل موقت ارائه دهد.
ما می بینیم که سرعت مردم چقدر سریع کارها را درست می کنند. ما یک مشتری با 78 مشکل داشتیم که همه آنها را در عرض چند روز برطرف کرد، که من به عنوان یک انسان نفوذگر هرگز ندیده بودم این اتفاق بیفتد. نمیتوانستم سطح جزئیاتی را بنویسم که این اصلاحها را در زمانی که داشتم امکانپذیر میکرد.
پنت کردن هوش مصنوعی و آزمایش انسان متفاوت است، و هنگامی که تلاش برای رتبه بندی آنها را متوقف کنید، مقایسه بسیار مفیدتر می شود.
این عوامل در برنامههایی که آزمایشکنندگان انسانی قبلا چندین بار با آن مواجه شدهاند، مشکلات جدی پیدا میکنند. آنها یک پایگاه کد کامل را می خوانند، در هر مسیری در آن کار می کنند، و هر نمونه ای از آنچه را که با اصلاح پیدا می کنند تا خط کد می نویسند.
و هر زمان که بخواهید می توانید یکی را اجرا کنید. با هزینهای که یک تعامل انسانی صرف میشود، میتوانید چهار پنتست هوش مصنوعی را اجرا کنید، به این معنی که میتوانید آزمایش عمیق را بهجای یک بار در سال به طور منظم انجام دهید.
این یک چیز کلیدی است که توسط pentest انسان از قلم افتاده است، و اغلب برنامه ها در بین پنتست ها تغییرات آزمایش نشده زیادی را تجربه کرده اند.
نوشته شده توسط دانیل تاچر، مهندس تحقیقات امنیتی، مزاحم
دانیل یک محقق امنیتی در Intruder با سابقه تست نفوذ و تمرکز بر بهره برداری از برنامه های کاربردی وب در سناریوهای جعبه سیاه است.
متن اصلی (انگلیسی)
Is AI pentesting as good as a human pentester?
AI pentesting can uncover vulnerabilities missed by human testers, but it also has limitations in consistency, risk assessment, and understanding business context. Intruder compares the strengths and weaknesses of both approaches and explains where AI agents can improve security testing. [...]