آشنایی با Log File و سیستمهای ثبت خودکار وقایع
ذکر این نکته ضروری است که پرونده نامبرده علاوه بر ثبت وقایع رخدادی در سیستمعامل یا دیگر برنامههای اجرایی، پیامهای تبادل یافته در بین اشخاص مختلف در یک نرمافزار ارتباطی را نیز به ثبت میرساند. ضبط وقایع گوناگون و نگهداری آنها در قالب فایلی بر روی رایانه شخصی همانطور که پیشتر گفته Logging نام دارد. یکی از معمولترین و گستردهترین استاندارهای معرفی گردیده در زمینه ذخیرهسازی و ثبت اطلاعات که هماکنون بهصورتی کاملاً وسیع مورد استفاده قرار گرفته و در اکثریت قریب به اتفاق تمامی سیستمعاملها و نرمافزارهای مختلف به چشم میخورد syslog میباشد. استاندارد نامبرده زیرسیستمهای اختصاصی و همگون مختلف را قادر میسازد تا به تولید، پالایه، ثبت و تجزیه و تحلیل پیامهای گوناگون مبادرت ورزیده و علاوه بر فراهمسازی قابلیتهای بایگانی خودکار اطلاعات، توسعهدهندگان محصولات نرمافزاری را نیز از طراحی و کد نویسی سیستمهای ثبت وقایع ad hoc بهخصوص جهت دستیابی به اهداف پیشتر ذکر شده را نیز بی نیاز کرده و بهطور چشمگیری به آنها یاری بخشیده است.
یکی دیگر از مهمترین رویه و روشهای موجود در زمینه ثبت و ذخیرهسازی اطلاعات گوناگون که تحت عنوان فهرست تراکنش مورد شناخت واقع میگردد نوعی فایل حاوی آگهداشت ارتباطی مختلف در بین یک سیستم و کاربران آن یا شیوههای موجود در زمینه جمعآوری داده میباشد که بهصورت خودکار نوع، محتویات یا زمان تراکنش انجام پذیرفته توسط شخص از یک پایانه (بهعنوانمثال خرید محصولی با استفاده از کارت بانکی) را دریافت کرده و به ذخیرهسازی اطلاعات در قالب فایلی تحت عنوان پیشتر نامبرده میپردازد. فهرست مذکور در زمینه جستجو شبکه نیز نوعی ثبت الکترونیکی تعاملات انجام پذیرفته در طی یک رخداد تجسس بین موتور جستجو و کاربران جویای اطلاعات با تمسک جستن به آن میباشد که علاوه بر ذخیرهسازی اطلاعات، قابلیت رهگیری تبادلات انجام پذیرفته بین سیستم و فرد (یا پایانه) در صورت بروز مشکلات گوناگون در آینده را نیز فراهم میآورد.
اکنون جهت درک بهتر موضوع و فهم دقیق موارد مطرح شده به بیان مطلب به زبان بسیار سادهتری پرداخته و با ذکر نمونه مثالهایی آن را مورد بررسی قرار میدهیم. همانطور که مستحضر میباشید یکی از مهمترین رویه و روشهای موجود در زمینه حفظ داده و جلوگیری/پیشگیری از از دست رفتن اطلاعات ذخیرهای تهیه نسخه پشتیبان در بازههای زمانی بهخصوص و تعیین شده میباشد؛ اما راه حل نامبرده در حوزه بازیابی اطلاعات از دست رفته در بین دو محدوده پشتیبان گیری دیگر کاربردی نداشته و در مرتفع سازی مشکلات موجود نیز نقشی را ایفا نمیکند. فرض کنید یک سیستم بهگونهای طراحی گردیده است تا در ساعت ۱۰ صبح هر روز به تهیه نسخه پشتیبان از تمامی اطلاعات ذخیره شده بر روی سختافزار فیزیکی رایانه، سرور و … مبادرت ورزد. پشتیبان گیری از اطلاعات موجود در بازههای زمانی کوتاه (بهعنوانمثال سی دقیقه تا یک ساعت) یا بهصورت پیوسته به دلیل کاهش سرعت عملکرد سیستم، هدر رفت منابع و مدت زمان فراوان به طول انجامیدن آن (بهخصوص هنگامیکه بانک اطلاعاتی میزبان حجم عظیمی از اطلاعات در قالب ترابایت یا پتابایت میباشد) بههیچعنوان توصیه نشده و مورد استفاده نیز قرار نمیگیرد.
اکنون فرض کنید سیستم مربوطه در ساعت ۵ روز فعلی به دلایلی نظیر قطع ناگهانی جریان برق، بروز مشکلات سختافزاری، نرمافزاری و … در کارکرد آن اختلال وارد شده و تمامی اطلاعات ذخیرهای بر روی آن ناپدید میگردند. همانطور که کاملاً مشخص میباشد بازگردانی نسخه پشتیبان پیشتر تهیه شده از پایگاه داده موجود در بازیابی اطلاعات از دست رفته بسیار تأثیرگذار بوده و بازگشت مجدد محتویات را به دنبال دارد، اما اگر به خاطر داشته باشید پیشتر نیز گفته شد که سیستم در ساعت ۱۰ هر روز بهصورت خودکار اقدام به تهیه نسخه پشتیبان از دادههای ذخیرهای کرده و بروز مشکل در ساعت ۵ به از دست رفتن هفت ساعت از محتویات ثبتی منتهی میگردد که رقم بسیار دهشتناکی میباشد، به ویژه هنگامیکه پایگاه داده میزبان اطلاعاتی بسیار حیاتی نظیر پرونده سلامت بیماران، دادههای بانکی و تراکنشهای انجام شده از پایانههای مختلف، ارتباطات انجام پذیرفته در بین کاربران شبکههای اجتماعی و … میباشد؛ اکنون نقش بسیار پررنگ و حیاتی ثبت خودکار وقایع و رخدادهای گوناگون که پیشتر آن را تحت عنوان Logging معرفی کردیم نمود پیدا میکند.
فرایند نامبرده همانطور که در ابتدای نوشته نیز به آن اشاره شد با برقراری لایهای بهصورت کاملاً خودکار به ثبت و ذخیرهسازی تمامی رخدادهای انجام پذیرفته در سیستمعامل یا نرمافزار نظیر ورود داده، محاسبات، خروجی، ارتباطات (متنی، صوتی و …)، انواع تراکنشها و … مبادرت ورزیده و تمامی تغییرات انجام شده را در قالب پروندههایی تحت عنوان Log File بر روی دیسک سخت رایانه شخصی یا سرور ذخیرهسازی کرده و امکان بازیابی اطلاعات از دست رفته در صورت بروز مشاکل ناگهانی در آتیه را فراهم میآورد. سیستم مذکور نه تنها در بازیابی مجدد اطلاعات، بلکه در عیبیابی و تشخیص ضایعات ایجادی و مرتفع سازی آنها در صورت بروز مشکلات سختافزاری یا نرمافزاری نیز تأثیرات بسیاری را به خود اختصاص داده است، زیرا همانطور که مستحضر میباشید در مجموعههایی نظیر پایگاههای داده حاوی حجم عظیمی از اطلاعات یا انواع سرورهای مختلف با انجام طیف گستردهای از عملیات خود در پشت پرده و تعامل اندک با کاربر و نمایش اطلاعات (شامل محاسبات و پردازشهای در حال وقوع) محدود به وی تشخیص و عیبیابی مشاکل در صورت بروز ضایعات مختلف تقریباً غیرممکن میباشد. یک مجموعه با توجه به عملکرد و گستردگی خود ممکن است شامل چندین سیستم ثبت خودکار وقایع مستقل از یکدیگر باشد. چند نمونه از مهمترین سیستمهای ضبط رخدادهای گوناگون عبارتاند از:
ثبت وقایع مبتنی بر رویداد:
مکانیسم نامبرده بهصورت خودکار تمامی وقایع و رخدادهای در حال وقوع هنگام اجرای یک سیستم را بهمنظور فراهمسازی دنبالهای ممیزی جهت درک و فهم فعالیتهای سیستم و تشخیص و عیبیابی مشکلات گوناگون در صورت بروز آنها به ثبت میرساند. ثبت وقایع مبتنی بر رویداد بهمنظور درک و فهم چگونگی عملکرد و فعالیت سیستمهای پیچیده (بهخصوص در مواردی نظیر برنامههای سرور که میزان تعاملات انجام پذیرفته با کاربر اندک میباشند) بسیار حیاتی به شمار میرود.
ثبت وقایع مبتنی بر تراکنش:
بسیاری از سیستمهای پایگاه داده و میزبان اطلاعات مختلف نوعی مکانیسم ثبت وقایع و رخدادهای مربوط به تراکنشهای انجام پذیرفته از پایانههای مختلف را در بطن خود نگهداری میکنند. وقایع ثبتی مربوطه بر خلاف فاکتور توضیح داده شده در پاراگراف پیشین بهمنظور فراهمسازی دنبالهای ممیزی جهت تحلیل و بررسی در آینده مورد استفاده قرار نگرفته و ورودیهای آن نیز برای جلوگیری از نفوذ به سیستم معمولاً بهصورت کدگذاری شده و غیرقابل خوانش توسط انسان میباشند. مکانیسم مذکور تغییرات انجام پذیرفته در اطلاعات ذخیرهای موجود در سیستم را بهمنظور فراهمسازی قابلیتی جهت بازیابی عملکرد و بهبودی بانک اطلاعاتی در صورت بروز خطاهای دادهای یا انواع کرشهای مختلف به ثبت رسانده و در حفظ اطلاعات ذخیره شده در وضعیتی پایدار ایفای نقش میکند. بسیاری از سیستمهای پایگاه داده معمولاً علاوه بر بهرهمندی از مکانیسم ثبت وقایع مبتنی بر رخداد عمومی، تراکنشهای انجام پذیرفته را نیز در قالب فایلی دیگر به ثبت میرسانند.
ثبت وقایع مبتنی بر پیام:
پروتکل یدک رسان گفتگوهای اینترنتی (IRC)، برنامههای پیامرسان فوری و در لحظه نظیر تلگرام (IM)، مراجع اشتراک فایل نظیر به نظیر (P2P) با برخورداری از قابلیت گفتگو و بازیهای مالتی پلیر (بهخصوص محصولات سبک MMORPG) بهطورمعمول از قابلیتی جهت ثبت خودکار ارتباطات متنی انجام پذیرفته (عمومی و خصوصی) در بین کاربران مختلف برخوردار میباشند. اگر هماکنون در حال گفتگو با دوست خود با تمسک جستن به برنامه پیامرسان تلگرام میباشید باید این نکته را مدنظر قرار دهید که سازندگان محصول نامبرده و تمامی افرادی که به سرورهای میزبان نرمافزار فوق دسترسی دارند از توانایی مشاهده پیامهای تبادلی شما نیز بهرهمند میباشند.
وقایع و رخدادهای ثبتی با استفاده از مکانیسم نامبرده معمولاً در قالب فایلهای متنی ساده (Plain Text) بدون برخورداری از هرگونه قالببندی مختلف ذخیرهسازی میگردند، اما مراجع گفتگوهای صوتی اینترنتی و تبادل پیامهای فوری و در لحظه که از قابلیت چپ نیز پشتیبانی میکنند (نظیر اسکایپ) ممکن است وقایع مربوطه را بهمنظور تسهیل در فرآیند خوانش و کدگذاری در قالب فایلهای HTML یا فرمتهای شخصی دیگر به ثبت برسانند.
پروتکل یدک رسان گفتگوهای اینترنتی:
در مبحث نرمافزارهای یدک رسان گفتگوهای اینترنتی ثبت وقایع و فایلهای ذخیره شده معمولاً شامل پیامهای سیستم/سرور و ورودیهای مرتبط با کانال و تغییرات کاربری (دگرگونی موضوع تاپیک، پیوستن کاربر به مجموعه، خروج وی، اخراج، تغییر نام مستعار، تغییر وضعیت کاربر و …) میباشد؛ اما فایلهای نامبرده در مقایسه با ثبت وقایع سرورهای حقیقی یدک رسان یا بهعبارتیدیگر IRC بههیچعنوان حرفی برای گفتن ندارند، زیرا ضبط تنها رخدادهای قابل مشاهده توسط کاربر برای مدت زمات محدود اتصال وی به کانالی خاص در مقایسه با وقایعی که در بطن فایلهای Log یک سرور حقیقی ذخیرهسازی میگردند از گستردگی کمتری برخوردار میباشند.
پیامرسانی فوری و در لحظه:
مراجع پیامرسان فوری و در لحظه و برقرار ساز گفتگوهای صوتی از طریق اینترنت اغلب قابلیت ذخیرهسازی فایلهای وقایع کدگذاری شده جهت بهبود حریم شخصی کاربران را به دارندگان سیستم ارائه میدهند. فایلهای نامبرده بهمنظور رمزگشایی و مشاهده محتویات گذرواژهای را نیازمند میباشند که غالباً تنها فرد نویسنده و مسئول توسعه نرمافزار از آن برخوردار است.
تحلیل و بررسی فایلهای وقایع مرتبط با تراکنش:
زمینههای استفاده از محتویات ذخیره شده در بطن فایلهای مبتنی بر تراکنش موتورهای جستجوی شبکه اینترنت و سایتهای مختلف در فراهمسازی بینشی ارزشمند بهمنظور درک و فهم هر چه بیشتر پردازش اطلاعات جستجوهای برخط بسیار مفید واقع میگردند. اطلاعات دریافتی ناشی از پردازش فایلهای نامبرده در طراحی سیستمهای اطلاعاتی، توسعه رابطهای کاربری و ابداع معماری اطلاعات نوین بهمنظور جمعآوری محتویات گوناگون نقوش پررنگی را به خود اختصاص دادهاند.
یکی دیگر از گستردهترین رویه و روشهایی که اغلب بهمنظور دسترسی به دادههای حساس کاربران و ایجاد تخریب مورد استفاده قرار گرفته و شمار قربانیان فراوانی را تاکنون در گرداب خود گرفتار ساخته است ثبت وقایع مربوط به فشردن کلیدهای صفحهکلید میباشد. برنامههای نامبرده که تحت عنوان Keylogger مورد شناخت واقع میگردند با نصب بر روی رایانه شخصی، تلفن همراه، تبلت و بهصورت کلی دستگاههای شخصی فرد قربانی در پسزمینه سیستمعامل به فعالیت پرداخته و هنگامیکه وی به تایپ با استفاده از صفحهکلید سختافزار مبادرت ورزد تمامی دادههای مرتبط با فشردن کلیدهای مربوطه را در فایلی به ثبت رسانده و بدون اطلاع فرد قربانی به مخابره آنها با سرور یا سیستم متصل به آن میپردازد. اکنون تایپ یک جک یا متن علمی یافت شده در سطح اینترنت شاید در نوع خود مخرب به نظر نیاید، اما هنگامیکه شماره کارت بانکی و رمز دوم آن را بهمنظور خرید محصولی از طریق اینترنت تایپ میکنید ممکن است دیگر اوضاع بر وقف مراد نباشد؛ به همین دلیل بسیاری از درگاههای بانکی و تراکنشهای اینترنتی از صفحهکلیدهای مجازی و بر صفحه بهمنظور درج گذرواژههای عبوری و … بهرهمند میباشند.