دیتابیس تاریخچه (History) مرورگر Safari حاوی آرتیفکتهای تگگذاری شدهای است که میتواند به تحلیلگران فارنزیک در شناسایی تمهای کلی وبگردی کاربران کمک کند. اگرچه این ویژگی به تنهایی دلیلی قطعی بر قصد کاربر نیست، اما در صورت تطبیق با URLها، زمان بازدید، دادههای Cache، دانلودها و تلهمتری شبکه، میتواند بافت (Context) بسیار مفیدی را برای بازسازی خط زمانی (Timeline) در سیستمهای macOS فراهم کند.
ساختار دیتابیس و مکان ذخیرهسازی
دیتابیس History.db که در مسیر ~/Library/Safari/History.db قرار دارد، علاوه بر ذخیره URLها، عناوین صفحات و زمان بازدید، حاوی برچسبهای موضوعی (Topic Labels) است که به صورت خودکار برای صفحات بازدید شده تولید میشوند. دو جدول SQLite در این فرآیند نقش کلیدی دارند:
- history_tags: این جدول متادیتای هر تگ، از جمله عنوان قابل خواندن برای انسان، شناسه (Identifier)، زمان آخرین تغییر و تعداد آیتمهای مرتبط را ذخیره میکند.
- history_items_to_tags: این جدول نقش نقشهبرداری (Mapping) را ایفا کرده و هر تگ را به رکورد مربوطه در جدول
history_items(که حاوی URL است) متصل میکند.
ارتباط با Wikidata و تحلیل دادهها
تحلیلها نشان میدهد شناسههای موجود در جدول history_tags معمولاً با حرف “Q” شروع میشوند که به موجودیتهای Wikidata اشاره دارد. این موضوع بیانگر آن است که Safari به جای استخراج ساده کلمات کلیدی از عنوان صفحه، وبسایتها را به مفاهیم ساختاریافته و گستردهتری متصل میکند. این قابلیت دستکم از سال ۲۰۲۱ در دیتابیسهای Safari وجود داشته است.
نکات فنی برای تحلیلگران فارنزیک
تحلیلگران باید به فرمت زمانی Cocoa در محصولات اپل توجه کنند. Safari زمانها را به صورت Mac absolute time (شروع از ۱ ژانویه ۲۰۰۱) ذخیره میکند. برای تبدیل این مقادیر به Unix time، باید مقدار 978307200 ثانیه به آنها اضافه شود تا بتوان از تابع datetime() در SQLite استفاده کرد.
چالشهای تفسیر و تحلیل
تگها میتوانند الگوهایی را آشکار کنند که در میان هزاران URL پنهان ماندهاند. برای مثال، مشاهده تگ “APT” ممکن است در ابتدا به عنوان یک تهدید پیشرفته (Advanced Persistent Threat) تلقی شود، اما در واقعیت ممکن است به موجودیت Q230724 در Wikidata اشاره داشته باشد که مربوط به Advanced Package Tool (ابزار مدیریت بسته در لینوکس) است. این موضوع اهمیت تطبیق تگها با محتوای صفحه، دادههای گواهینامه (Certificate) و لاگهای DNS را دوچندان میکند.
بازیابی دادههای حذف شده
در برخی موارد، تگهای باقیمانده با تعداد آیتم صفر (Item count = 0) مشاهده شده است. اگرچه حذف تاریخچه Safari میتواند رکوردهای مرتبط را پاک کند، اما برخی ورودیهای قدیمی در جدول history_tags بدون لینک فعال به history_items باقی میمانند. این ورودیهای یتیم (Orphaned entries) میتوانند بینش محدودی درباره تمهای وبگردی کاربر در گذشته، حتی پس از حذف تاریخچه، ارائه دهند.
در حال حاضر، فریمورک متنباز mac_apt برای تحلیل فارنزیک macOS و iOS، قابلیت پارس کردن این تگها را اضافه کرده است تا فرآیند Triaging در نقاط انتهایی (Endpoint) تسهیل شود.