Arman 512™
عضو جدید
اگر با دنیای وب امروزی سر و کار داشتهاید به احتمال زیاد با CAPTCHA ها هم دست و پنجه نرم کردهاید. هنگام خرید بلیت، عضویت در یک سایت و مواردی از این دست معمولا باید یک آزمون نسبتا ساده بدهید: نوشته درهم روی تصویر را خوانده و آن را در جعبه کناری تایپ کنید.
آزمونهای اینچنینی نوعی از فناوری CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) به معنای آزمون تورینگ خودکارسازی شده عمومی برای تفکیک انسان و رایانه به شمار میروند.
همانطور که میدانید علت استفاده از این فناوری در سایتها و سیستمهای مشابه، جلوگیری از خرابکاریها و بهکارگیری روشهای متوقف کردن صفحههای وب است. برای مثال ممکن است یک سرویس ایمیل توسط نرمافزاری ساده با حجم انبوهی از ثبتنامها مواجه شود. این برنامه میتواند در مرحله بعدی برای ارسال اسپم به میلیونها نفر به کار گرفته شود.
CAPTCHA، با توانایی تفکیک انسان و نرمافزار جلوی این کار را خواهد گرفت. در باشگاه فناوری این هفته به بررسی جنبههای مختلف CAPTCHA و ارتباط آن با هوش مصنوعی میپردازیم.
فناوری CAPTCHA و ماشین تورینگ
اصل و اساس CAPTCHA به آزمون تورینگ بازمیگردد (آلن تورینگ که گاهی اوقات به او پدر علم رایانه مدرن میگویند، آزمونش را به عنوان روشی برای بررسی اینکه آیا اساسا رایانه میتواند همانند انسان استدلال کند، پیشنهاد داد). هدف CAPTCHA مشابه هدف آزمون تورینگ است و برای تفکیک انسان و رایانه طراحی شده است، روش معمول برای پیادهسازی این آزمون، استفاده از آزمونهای بصری است؛ آزمونی که رایانههای امروزی هنوز به حد کافی توانایی پردازش بهینه آنها را ندارند. ذهن انسان دارای نوعی درک الگوشناسانه با عنوان pareidolia است که بدون وجود یک الگوی اولیه توانایی استدلال را خواهد داشت، در حالی که اکثر رایانههای امروزی فاقد این امکان هستند. مدلهای فناوری CAPTCHA تنها به آزمونهای بصری و صوتی محدود نمیشوند و در موارد حساس از کاربر خواسته میشود متن کوتاهی را تفسیر کند؛ عملی که یک رایانه به سختی قادر به انجام آن خواهد بود.
reCAPTCHA و اسکن کتاب
رایجترین شکل فناوری نیاز به بازدیدکنندهای دارد تا مجموعهای از حروف و اعداد درهم را تشخیص دهد. برخی از تولیدکنندگان این فناوری روشی را پیادهسازی کردهاند که کاربرد این ابزار را بهینهتر کرده است: دیجیتالی کردن کتاب و نرمافزار reCAPTCHA. روش کار این سیستم جذابیت زیادی دارد و بدین صورت است که در ابتدا مدیر نرمافزار reCAPTCHA، کتابی را اسکن میکند. در مرحله بعدی برنامه reCAPTCHA از تصاویر اسکنشده دو کلمه به دلخواه انتخاب خواهد کرد. نرمافزار یکی از کلمههای انتخابی را شناسایی میکند. در صورتی که کاربر آن کلمه را به درستی در فیلد مربوط وارد کند، نرمافزار فرض را بر آن میگیرد که کلمه دومی که کاربر تایپ کرده هم درست است. این کلمه دوم، به مجموعهای از کلماتی که برای کاربران آتی باید به نمایش در بیایند، اضافه میشود. سپس، پاسخ کاربران بعدی در مواجهه با کلمه دوم با کاربر اول مقایسه میشود. در صورتی که بقیه کاربران هم پاسخ مشابهی داشته و درصد بالایی جواب یکسان دریافت شده باشد، این کلمه به مجموعه کلمههای تاییدشده نرمافزار افزوده میشود. فرآیند گفتهشده بسیار وقتگیر به نظر میرسد اما باید توجه داشته باشید که در این روش سیستم دو وظیفه مجزا را به طور موازی انجام میدهد: محتوای کتاب با همکاری کاربران و نرمافزار شناساییشده و کاربر انسانی از رایانه تفکیک میشوند.
روشهایی برای عبور از فناوری
برای رهایی از محدودیتهای فناوری CAPTCHA و عبور از آن هکرها دست به کار شده و توانستهاند روشهایی را پیادهسازی کنند. فرض کنید سیستم CAPTCHA ، برای جلوگیری از شناسایی نرمافزارها حروف انگلیسی را کش و قوس داده و پسزمینههایی را هم به شکل حرفی در تصویر قرار دهد (مانند آنچه در شکل میبینید). یک برنامهنویس برای شناسایی این تصویر الگوریتمی مینویسد و در مرحله اول فرمت رنگ را به سیاه و سفید تغییر میدهد. به این ترتیب در فاز اول الگوریتم یکی از سطوح ابهام برطرف خواهد شد. در مرحله دوم، الگوریتم الگوهای تصویر سیاه و سفید را شناسایی میکند و هر یک از این الگوهای به دست آمده را با یک حرف انگلیسی مقایسه خواهد کرد. در صورتی که الگوریتم تنها موفق به شناسایی تعداد کمی از حروف شد به سراغ یک دیکشنری میرود و کاندیداهایی را برای کلمه موجود در تصویر انتخاب میکند.
این رویکرد عبور از CAPTCHA به طرز شگفتانگیزی موثر است و میتواند برای سیستمهای سادهتر مورد استفاده قرار گیرد. رویکرد دیگر که مبدع آن دو برنامهنویس به نامهای موری و مالیک هستند، به شکل بهینهتری عمل میکند. الگوریتم نوشتهشده توسط آنها برای کلمههای معنیداری که در CAPTCHAها قرار دارند در 33 درصد موارد به جواب درست میرسد. نحوه کار بدین شکل است که حرف ابتدایی و انتهایی موجود در تصویر شناسایی شده و دست آخر به دیکشنری رجوع میشود. از بین کلمههای کاندیدا، بهترین انتخاب خواهد شد. برای آشنایی بیشتر با جزییات پژوهش این دو نفر میتوانید به آدرس cs.sfu.ca/~mori/research/gimpy رجوع کنید.
هوش مصنوعی و CAPTCHA
لوئیس ون به عنوان یکی از محققان دانشگاه کارنگی ملون، از اولین مبدعان فناوری به شمار میرود. او در سال 2006 به ارتباط CAPTCHA و هوش مصنوعی اشارههایی داشت: به دلیل اینکه این فناوری یک مانع در برابر اسپمرها و هکرها به شمار میرود تاکنون تلاشهای بسیاری برای عبور از آن صورت گرفته است. بر این اساس هر نوع تلاشی که موفق به تولید ابزاری برای شناسایی CAPTCHA شود، ما را در رشته هوش مصنوعی یک گام به جلو خواهد برد. هر گونه ابزاری که موفق به گذر از این فناوری میشود، منجر به تولید CAPTCHAهای پیچیدهتر شده و همین مساله معمای جدیدی برای هوش مصنوعی ایجاد خواهد کرد. موضوعی که در پیچیدهتر کردن CAPTCHAها مطرح میشود، بیشتر دامنگیر مدیران وبسایتهاست. احتمالا نظر لوئیس ون برای طراحان و برنامهنویسان سایتها جذاب نیست چرا که هر چه این CAPTCHAها به سمت پیچیدگی سوق پیدا کنند، خطر از دست دادن کاربران هم وجود خواهد داشت. برای مثال، فکر میکنید چند نفر حاضر باشند برای عضویت در سایتی هر چقدر هم مهم، یک معادله درجه دوم را حل کنند؟ به علاوه با هر بار هک شدن یک سیستم CAPTCHA، مدیر سایت باید به فکر نوشتن نسخه بهتر و تعویض کدهای آن باشد. در مجموع به نظر میرسد به سمتی میرویم که رایانهها و انسان هر دو قابلیت حل معماهای پیچیده را خواهند داشت. در صورتی که چنین اتفاقی بیفتد آزمونهایی چون CAPTCHA چیزی بیش از یک مجموعه کد بلااستفاده نخواهند بود. تا زمان وقوع این رویداد، باید برای عضویت یا پرداختهای آنلاین سعی در گذر از آزمونهای امنیتی سایتها داشته باشیم.
آزمونهای اینچنینی نوعی از فناوری CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) به معنای آزمون تورینگ خودکارسازی شده عمومی برای تفکیک انسان و رایانه به شمار میروند.
همانطور که میدانید علت استفاده از این فناوری در سایتها و سیستمهای مشابه، جلوگیری از خرابکاریها و بهکارگیری روشهای متوقف کردن صفحههای وب است. برای مثال ممکن است یک سرویس ایمیل توسط نرمافزاری ساده با حجم انبوهی از ثبتنامها مواجه شود. این برنامه میتواند در مرحله بعدی برای ارسال اسپم به میلیونها نفر به کار گرفته شود.
CAPTCHA، با توانایی تفکیک انسان و نرمافزار جلوی این کار را خواهد گرفت. در باشگاه فناوری این هفته به بررسی جنبههای مختلف CAPTCHA و ارتباط آن با هوش مصنوعی میپردازیم.
فناوری CAPTCHA و ماشین تورینگ
اصل و اساس CAPTCHA به آزمون تورینگ بازمیگردد (آلن تورینگ که گاهی اوقات به او پدر علم رایانه مدرن میگویند، آزمونش را به عنوان روشی برای بررسی اینکه آیا اساسا رایانه میتواند همانند انسان استدلال کند، پیشنهاد داد). هدف CAPTCHA مشابه هدف آزمون تورینگ است و برای تفکیک انسان و رایانه طراحی شده است، روش معمول برای پیادهسازی این آزمون، استفاده از آزمونهای بصری است؛ آزمونی که رایانههای امروزی هنوز به حد کافی توانایی پردازش بهینه آنها را ندارند. ذهن انسان دارای نوعی درک الگوشناسانه با عنوان pareidolia است که بدون وجود یک الگوی اولیه توانایی استدلال را خواهد داشت، در حالی که اکثر رایانههای امروزی فاقد این امکان هستند. مدلهای فناوری CAPTCHA تنها به آزمونهای بصری و صوتی محدود نمیشوند و در موارد حساس از کاربر خواسته میشود متن کوتاهی را تفسیر کند؛ عملی که یک رایانه به سختی قادر به انجام آن خواهد بود.
reCAPTCHA و اسکن کتاب
رایجترین شکل فناوری نیاز به بازدیدکنندهای دارد تا مجموعهای از حروف و اعداد درهم را تشخیص دهد. برخی از تولیدکنندگان این فناوری روشی را پیادهسازی کردهاند که کاربرد این ابزار را بهینهتر کرده است: دیجیتالی کردن کتاب و نرمافزار reCAPTCHA. روش کار این سیستم جذابیت زیادی دارد و بدین صورت است که در ابتدا مدیر نرمافزار reCAPTCHA، کتابی را اسکن میکند. در مرحله بعدی برنامه reCAPTCHA از تصاویر اسکنشده دو کلمه به دلخواه انتخاب خواهد کرد. نرمافزار یکی از کلمههای انتخابی را شناسایی میکند. در صورتی که کاربر آن کلمه را به درستی در فیلد مربوط وارد کند، نرمافزار فرض را بر آن میگیرد که کلمه دومی که کاربر تایپ کرده هم درست است. این کلمه دوم، به مجموعهای از کلماتی که برای کاربران آتی باید به نمایش در بیایند، اضافه میشود. سپس، پاسخ کاربران بعدی در مواجهه با کلمه دوم با کاربر اول مقایسه میشود. در صورتی که بقیه کاربران هم پاسخ مشابهی داشته و درصد بالایی جواب یکسان دریافت شده باشد، این کلمه به مجموعه کلمههای تاییدشده نرمافزار افزوده میشود. فرآیند گفتهشده بسیار وقتگیر به نظر میرسد اما باید توجه داشته باشید که در این روش سیستم دو وظیفه مجزا را به طور موازی انجام میدهد: محتوای کتاب با همکاری کاربران و نرمافزار شناساییشده و کاربر انسانی از رایانه تفکیک میشوند.
روشهایی برای عبور از فناوری
برای رهایی از محدودیتهای فناوری CAPTCHA و عبور از آن هکرها دست به کار شده و توانستهاند روشهایی را پیادهسازی کنند. فرض کنید سیستم CAPTCHA ، برای جلوگیری از شناسایی نرمافزارها حروف انگلیسی را کش و قوس داده و پسزمینههایی را هم به شکل حرفی در تصویر قرار دهد (مانند آنچه در شکل میبینید). یک برنامهنویس برای شناسایی این تصویر الگوریتمی مینویسد و در مرحله اول فرمت رنگ را به سیاه و سفید تغییر میدهد. به این ترتیب در فاز اول الگوریتم یکی از سطوح ابهام برطرف خواهد شد. در مرحله دوم، الگوریتم الگوهای تصویر سیاه و سفید را شناسایی میکند و هر یک از این الگوهای به دست آمده را با یک حرف انگلیسی مقایسه خواهد کرد. در صورتی که الگوریتم تنها موفق به شناسایی تعداد کمی از حروف شد به سراغ یک دیکشنری میرود و کاندیداهایی را برای کلمه موجود در تصویر انتخاب میکند.
این رویکرد عبور از CAPTCHA به طرز شگفتانگیزی موثر است و میتواند برای سیستمهای سادهتر مورد استفاده قرار گیرد. رویکرد دیگر که مبدع آن دو برنامهنویس به نامهای موری و مالیک هستند، به شکل بهینهتری عمل میکند. الگوریتم نوشتهشده توسط آنها برای کلمههای معنیداری که در CAPTCHAها قرار دارند در 33 درصد موارد به جواب درست میرسد. نحوه کار بدین شکل است که حرف ابتدایی و انتهایی موجود در تصویر شناسایی شده و دست آخر به دیکشنری رجوع میشود. از بین کلمههای کاندیدا، بهترین انتخاب خواهد شد. برای آشنایی بیشتر با جزییات پژوهش این دو نفر میتوانید به آدرس cs.sfu.ca/~mori/research/gimpy رجوع کنید.
هوش مصنوعی و CAPTCHA
لوئیس ون به عنوان یکی از محققان دانشگاه کارنگی ملون، از اولین مبدعان فناوری به شمار میرود. او در سال 2006 به ارتباط CAPTCHA و هوش مصنوعی اشارههایی داشت: به دلیل اینکه این فناوری یک مانع در برابر اسپمرها و هکرها به شمار میرود تاکنون تلاشهای بسیاری برای عبور از آن صورت گرفته است. بر این اساس هر نوع تلاشی که موفق به تولید ابزاری برای شناسایی CAPTCHA شود، ما را در رشته هوش مصنوعی یک گام به جلو خواهد برد. هر گونه ابزاری که موفق به گذر از این فناوری میشود، منجر به تولید CAPTCHAهای پیچیدهتر شده و همین مساله معمای جدیدی برای هوش مصنوعی ایجاد خواهد کرد. موضوعی که در پیچیدهتر کردن CAPTCHAها مطرح میشود، بیشتر دامنگیر مدیران وبسایتهاست. احتمالا نظر لوئیس ون برای طراحان و برنامهنویسان سایتها جذاب نیست چرا که هر چه این CAPTCHAها به سمت پیچیدگی سوق پیدا کنند، خطر از دست دادن کاربران هم وجود خواهد داشت. برای مثال، فکر میکنید چند نفر حاضر باشند برای عضویت در سایتی هر چقدر هم مهم، یک معادله درجه دوم را حل کنند؟ به علاوه با هر بار هک شدن یک سیستم CAPTCHA، مدیر سایت باید به فکر نوشتن نسخه بهتر و تعویض کدهای آن باشد. در مجموع به نظر میرسد به سمتی میرویم که رایانهها و انسان هر دو قابلیت حل معماهای پیچیده را خواهند داشت. در صورتی که چنین اتفاقی بیفتد آزمونهایی چون CAPTCHA چیزی بیش از یک مجموعه کد بلااستفاده نخواهند بود. تا زمان وقوع این رویداد، باید برای عضویت یا پرداختهای آنلاین سعی در گذر از آزمونهای امنیتی سایتها داشته باشیم.
________________________________________________________
قانون پایستگی هکر ها:هکر ها نه بوجود می آیند،نه از بین میروند,بلکه تنها از تیمی به تیمی دیگر می روند!