خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

آیا می توان از هوش مصنوعی برای تست های نفوذ استفاده کرد؟

آیا هوش مصنوعی می تواند آسیب پذیری های یک برنامه را به شما بگوید؟ شاید، اما شما ممکن است نخواهید تمام ایمان خود را به آنچه می گوید قرار دهید.

تست نفوذ یک تست امنیتی است که شامل استفاده از آسیب‌پذیری‌ها برای کشف سایر آسیب‌پذیری‌ها در یک سیستم و اجرای کدهای مخرب است. این تست ها به ویژه برای محافظت در برابر داده کاوی و جلوگیری از سوء استفاده های امنیتی مهم هستند.

تست های نفوذ شامل چندین تکنیک است که برای تست امنیت شبکه استفاده می شود. این تکنیک ها شامل اسکن شبکه، فایروال ها، سیستم های نظارت امنیتی و هوش مصنوعی است. هوش مصنوعی می‌تواند تست‌های امنیتی را با استفاده از فناوری‌های توسعه‌یافته برای آشکارسازی آسیب‌پذیری‌های شبکه تجزیه و تحلیل کند.

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

مزایای استفاده از هوش مصنوعی برای تست نفوذ

امروزه، توسعه سریع فناوری و نیازهای امنیتی روزافزون کاربران، ضرورت استفاده از فناوری‌های هوش مصنوعی را در تست‌های امنیتی آشکار کرده است. استفاده از هوش مصنوعی برای بهبود امنیت نتایج بسیار سریع‌تر و کارآمدتری ارائه می‌کند و نیاز به نیروی انسانی وقت‌گیر برای انجام آزمایش‌های امنیتی اغلب سفارشی‌شده و پیچیده را از بین می‌برد. هوش مصنوعی به شناسایی آسیب پذیری ها در اسرع وقت کمک می کند. همچنین می تواند تست های امنیتی منحصر به فرد و پیچیده ای را انجام دهد و تشخیص آسیب پذیری ها را آسان تر می کند.

به نظر می رسد هوش مصنوعی کاملاً موفق است، به خصوص در مورد شناسایی و مسدود کردن یک حمله. برای آموزش هوش مصنوعی به مجموعه داده های بسیار بزرگی نیاز است. یک اپلیکیشن با ترافیک وب بالا در این زمینه مفید است. زیرا می‌توانید هر ترافیک ورودی را مانند مجموعه داده‌ای برای هوش مصنوعی جلوه دهید. بنابراین، شما یک هوش مصنوعی دارید که می تواند ترافیک برنامه های وب را بخواند و تجزیه و تحلیل کند و تهدیدها را شناسایی کند. این یکی از ساده ترین مثال هایی است که می توان ارائه داد.

مطلب مرتبط:   آیا دی جی هوش مصنوعی Spotify خوب است؟ 5 بهبودی که به آن نیاز دارد

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

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

علاوه بر این، زمان واکنش نشان داده شده در برابر تهدید نیز بسیار مهم است. هنگامی که مورد حمله قرار می گیرد، شناسایی حمله، برنامه ریزی مسیر دفاع و راه اندازی سیستم های دفاعی زمان می برد. اما هوش مصنوعی در این زمینه بسیار کمک کننده است.

محدودیت های هوش مصنوعی در امنیت سایبری

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

برخی سازندگان ابزار امنیتی ادعا می‌کنند که راه‌حل‌های مبتنی بر یادگیری ماشینی می‌توانند هر نمونه را تجزیه و تحلیل کنند. به گفته سازندگان، این ابزارها تنها با استفاده از ابزارهای ریاضی می توانند بدافزار را شناسایی کنند. با این حال، این به سختی امکان پذیر است.

شکستن کد انیگما توسط آلن تورینگ در طول جنگ جهانی دوم نمونه بسیار خوبی از این موضوع است. حتی یک ماشین کامل نمی تواند تصمیم بگیرد که آیا یک ورودی ناشناخته ممکن است باعث رفتار نامطلوب در آینده شود یا خیر. این شواهد را می توان در زمینه های مختلف از جمله امنیت سایبری به کار برد.

مطلب مرتبط:   به دنبال مدیر رمز عبور هستید؟ در اینجا این است که چرا باید نگهبان را انتخاب کنید

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

مردی که با هوش مصنوعی شطرنج بازی می کند

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

تجزیه و تحلیل کد منبع با ChatGPT

ChatGPT که توسط OpenAI توسعه یافته است، در بسیاری از زمینه ها وارد زندگی ما شده است. همانطور که می توانید چند سوال بپرسید و با ChatGPT چت کنید، همچنین سعی می کند در مورد مسائل برنامه نویسی و نرم افزار به شما کمک کند. ChatGPT حتی سعی می کند تجزیه و تحلیل کد منبع را انجام دهد، اگر از منظر امنیت سایبری به آن نگاه کنید. اما ChatGPT هنوز در مراحل ابتدایی است و راه اندازی و راه اندازی مدتی طول می کشد.

برای بهتر دیدن این موضوع، بیایید قدرت ChatGPT را آزمایش کنیم. به عنوان مثال، در زیر یک کد جاوا اسکریپت ساده است که یک آسیب پذیری XSS ایجاد می کند. بیایید از ChatGPT در مورد این کد بپرسیم و آن را در مورد هر گونه آسیب پذیری به ما بگوییم.

document.write("<strong>Current URL</strong> : " + document.baseURI);

درخواست از chatgpt برای کد جاوا اسکریپت آسیب پذیر

ChatGPT در پاسخ به یک آسیب پذیری XSS اشاره کرد. این یک شروع بسیار خوب است. اما کدهای منبع هرگز به این سادگی نیستند. بنابراین بیایید سعی کنیم مثال را کمی پیچیده تر کنیم.

در زیر کدی را می بینید که به زبان برنامه نویسی C تهیه شده است. این کد C متعلق به یک برنامه آسیب پذیر است. حتی به طور کامل در یک برنامه دنیای واقعی استفاده شد. اگر بخواهید، می‌توانید آسیب‌پذیری‌های کد منبع واقعی را که Sonar در سال 2022 منتشر کرد، بررسی کنید.

char *loggerPath *cmd;

void rotateLog(){
    char logOld[PATH_MAX], logNew[PATH_MAX], timestamp[0x100];
    time_t t;
    time(&t);
    strftime(timestamp, sizeof(timestamp), "%FT%T", gmtime(&t));
    snprintf(logOld, sizeof(logOld), "%s/../logs/global.log", loggerPath);
    snprintf(logNew, sizeof(logNew), "%s/../logs/global-%s.log", loggerPath, timestamp);
    execl("/bin/cp", "/bin/cp", "-a", "--", logOld, logNew, NULL);
}

int main(int argc, char **argv) {
    if (argc != 2) {
        printf("Usage: /opt/logger/bin/loggerctl \n");
        return 1;
    }

    if (setuid(0) == -1) return 1;
    if (seteuid(0) == -1) return 1;

    char *executablePath = argv[0];
    loggerPath = dirname(executablePath);
    cmd = argv[1];

    if (!strcmp(cmd, "rotate")) rotateLog();
    else listCommands();
    return 0;
}

آسیب‌پذیری در اینجا این است که یک مهاجم می‌تواند در برخی از فایل‌ها بدون امتیازات مدیریتی تغییراتی ایجاد کند. بیایید ببینیم که ChatGPT چگونه به این آسیب پذیری امنیتی پاسخ خواهد داد.

مطلب مرتبط:   آیا نرم افزار کسپرسکی ابزار دولت روسیه است؟

پاسخ به یک کد C آسیب پذیر از chatgpt

مشکل اصلی در این کد setuid، شناسه کاربر (uid) و شناسه کاربر موثر (euid) است. با این حال، بدون پرداختن به جزئیات فنی زیاد، نکته اصلی که باید به آن توجه کنید این است که ChatGPT نمی تواند این قسمت نازک را تشخیص دهد. می تواند متوجه شود که یک مشکل وجود دارد اما متاسفانه نمی تواند ریشه این مشکل را پیدا کند.

از طریق این مثال ها، واکنش هایی را نسبت به زبان های برنامه نویسی مختلف و آسیب پذیری ها مشاهده کرده اید. اگر کد واقعا ساده است و حفره امنیتی آشکاری دارد، ChatGPT می تواند به شما کمک کند. اما برای تجزیه و تحلیل کد منبع، تست نفوذ و سایر تحلیل‌های امنیتی نباید کاملاً به ChatGPT اعتماد کنید.

آینده تسترهای نفوذ

هوش مصنوعی بخش مهمی از کار تسترهای نفوذ در آینده خواهد بود. برای مثال، تسترهای نفوذ نیازی به زمان لازم برای شناسایی دستی فعالیت های مخرب ندارند و می توانند اسکن های امنیتی را به صورت خودکار انجام دهند.

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