فیلترینگ هوشمند، توضیحات فنی و چالش های پیش رو

Published on Monday, 17 November 2014 14:49

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

 

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

 

 

اما قبل از هر چیز میبایست این سوال را پرسید که فیلترینگ هوشمند اصلا چیست؟ آنچنان که از مباحث مطرح شده توسط مسئولین میتوان برداشت کرد، فیلترینگ هوشمند راه حلی برای مشکلات سیستم فعلی فیلترینگ مخصوصا در مقابل شبکه های اجتماعی و سایر وب سایت ها و یا سرویس هایی است که مطالب آن توسط کاربران تولید و گسترش می یابد. به طوری که مسئولین امیدوارند با استفاده از این روش صرفا محتوای غیر قابل قبول را از این سرویس ها حذف کنند و کاربران بتوانند از سایر اطلاعات استفاده لازم را ببرند. نگاهی به آمار ارایه شده توسط وزارت ورزش و جوانان باعث میشود که این موضوع اهمیت خود را بیشتر نشان دهد. به طوری که اعلام شده است در حدود 70 درصد جوانان ایرانی از روش های ضد فیلترینگ جهت دسترسی به اینترنت استفاده میکنند و از سوی دیگر 20 درصد از کاربران جوان اینترنت جهت دسترسی به سرویس های چت و 15 درصد از آنان برای دسترسی به شبکه های اجتماعی به اینترنت رجوع میکنند. ارقامی که با توجه به جمعیت 11 میلیونی جوانان مجرد کشور (بدون در نظر گرفتن جوانان متاهل) و استفاده 65 درصدی آنها از اینترنت نشان دهنده جمعیتی غیر قابل صرف نظر است.

 

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

 

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

 

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

 

تکنیک های قابل استفاده در اینجا شامل ارسال درخواست های Ajax، اتصال COMET و یا ایجاد یک پروتکل خاص بر اساس WebSocket است که ساده ترین نوع آن درخواست های Ajax میباشند؛ خوشبختانه اکثر شبکه های اجتماعی از جمله شبکه اجتماعی Facebook از همین روش جهت بروز رسانی صفحات خود و یا درخواست اطلاعات جدید استفاده میکنند.

 

سیستم فیلترینگ میبایست به اندازه ای هوشمند باشد که علاوه بر بررسی صفحات HTML به بررسی درخواست های Ajax نیز بپردازد و محتوای غیر قابل قبول را از آنها حذف کند. با در نظر گرفتن شبکه اجتماعی Facebook به عنوان یک مثال، باید ذکر کرد که اکثر اطلاعاتی که به صورت Ajax و در قالب Json مخابره میشوند خود دارای اطلاعات HTML هستند و نتیجتا سیستم فیلترینگ هوشمند میبایست در چنین مثالی، اطلاعات را از قالب Json خارج کرده و به خورد سیستم DomParsing دهد، سپس در صورت نیاز به حذف آنها شاخه مربوطه در اطلاعات Json را شناسایی و آن را حذف کند؛ و یا بعضا ممکن است نیاز باشد که شاخه مورد نظر در سطح DOM حذف شده و HTML تولید شده مورد استفاده قرار گیرد. در هر دو حالت میبایست در انتها اطلاعات را مجددا به فرم Json تبدیل کرده و برای کاربر ارسال کرد.

 

اما این قضیه زمانی به یک کابوس تبدیل میشود که وب سایت مورد نظر اطلاعات را در قالب Javascript مخابره کند. در چنین شرایطی بررسی اطلاعات میتواند کاملا غیر ممکن و یا شدیدا سخت باشد.

 

اما بررسی اتصال COMET بسیار سخت تر از این ها است. سیستم فیلترینگ هوشمند نیاز دارد تا همواره اطلاعات دریافتی را بررسی و بین ارسال های مختلف اطلاعات تفاوت ایجاد کند. سپس بین بخشهای مختلف اطلاعات تفاوت ایجاد کرده و در انتها با توجه به نوع اطلاعات که میتوانند HTML، Json یا از هر نوع دیگری باشند روشی را برای بررسی انتخاب کند. موضوعی که از نظر فنی ساده نیست. با این حال این قضیه زمانی تقریبا به مرز غیر ممکن میرسد که وب سایت و یا سرویس مورد نظر از تکنیک WebSocket و معرفی یک پروتکل خاص اقدام به جا به جایی اطلاعات کند. مبحثی که مشابه پیاده سازی سیستم فیلترینگ هوشمند بر روی بعضی نرم افزار ها است. برای پیاده سازی سیستم فیلترینگ هوشمند در چنین ساختاری مقداری زیادی زمان جهت بررسی و مهندسی معکوس پروتکل مورد نظر نیاز است و امکان غیر قابل نفوذ بودن این پروتکل هم با توجه به نوع طراحی آن ممکن است بسیار زیاد باشد.

 

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

 

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

 

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

 

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

 

در مقابل وب سایتهایی هستند که جهت اطمینان کاربران از امنیت اطلاعات به پروتکل HTTPS روی می آورند. قضیه ای که در میان سایت های بزرگ از جمله شبکه های اجتماعی امری عادی و کلیدی است. مشکلی که پروتکل HTTPS برای سیستم های فیلترینگ ایجاد میکند اولا مشخص نبودن سایت درخواست شده توسط کاربر است و دوما مشخص نبودن اطلاعاتی که برای کاربر ارسال میشود. این قضیه که البته خود دلیل ایجاد چنین پروتکلی برای امنیت بیشتر کاربران بوده است، قبلا نیز گریبان گیر سیستم سنتی فیلترینگ شده بود و به عنوان مثال میتوان به قضیه مربوط به وب سایت های YouTube و Gmail در سالهای اخیر اشاره کرد که ناشی از ناتوانی سیستم فیلترینگ در تفاوت گذاری بین دو سرویس مختلف بوده است. این قضیه بعدها با استفاده از تکنیک DNSPoisoning و توسط سیستم فیلترینگ حل شد.

 

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

 

مشکلی که در ادامه بروز میدهد ارتباط سیستم فیلترینگ هوشمند با کاربر است. اگر کاربر درخواست برقراری یک ارتباط HTTPS را با شبکه اجتماعی کند و سیستم فیلترینگ با استفاده از DNSPoisoning این درخواست را به کانال بررسی خود منتقل کند، در ادامه میبایست خود را به جای شبکه اجتماعی برای کاربر جا بزند. موضوعی که اگر چه با صادر کردن یک اعتبار نامه جعلی قابل حل است ولی کاربر را با یک اخطار امنیتی روبرو میکند و حتی در مواردی ممکن است دسترسی وی را به دلایل امنیتی توسط بعضی مرورگر ها و یا نرم افزار مسدود کند. این روش از نظر بسیاری از نرم افزار های امنیتی یک روش دزدی اطلاعات و نوعی حمله سایبری معروف به maninthemiddle است.

 

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

 

با فرض اینکه سیستم فیلترینگ هوشمند روش فوق را با تمامی مشکلات آن مورد استفاده قرار دهد و مشکلی هم در رابطه با بررسی، شناسایی و حذف مطالب نداشته باشد، باز هم سختی های مختلفی در روند کار وجود دارند که باعث میشوند روش ها و روند فوق برای تبدیل شدن به یک روش کارا (practical) از یک ایده قابل اجرا (شاهد مثال و یا
proof ofconcept) نه تنها ساده نباشد بلکه در مواقعی شدیدا بعید باشد.

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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


با این حال معروف است که،

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