منبع / جمعآوری
حالت تحقیق
تحقیقات کل حساب در سراسر کانالها، گروهها، چتهای خصوصی و رباتها، از دامنه تا بستهٔ پروندهٔ تأییدشده.
یک پرونده را در سراسر کانالها، گروهها، چتهای خصوصی و رباتها، از دریافت اولیه تا یک خط زمانی مستند و تحویل قابل تأیید دنبال کنید. نسخه وبسایت تعاملی در /docs/cases/ موجود است؛ دستورالعملهای پیشنمایش.
مورد بررسی: تغییر مقصد در چهار گفتگو#
یک اعلان به یک ربات اشاره میکند. یک گروه عملیاتی یک مقصد پرداخت جدید را بحث میکند، صفحهکلید ربات آن را نمایش میدهد و یک پیام خصوصی پیگیری آن را تکرار میکند. سپس اعلان ویرایش میشود و پیام گروهی ناپدید میشود.
سؤالات این هستند: چه چیزهایی قبل و بعد از تغییر مشاهده شد، کدام حسابهای تلگرام هر مورد را ارسال کردند، مقصد در کجا ظاهر شد، کدام بایتهای ضمیمه حفظ شدند و چه بازههای زمانی هنوز نامشخص هستند؟
تمام نامها، شناسهها، زمانها و ارجاعات دفترچه در این مثال فرضی هستند. گردش کار از ویژگیهای فعلی استفاده میکند؛ نقشه پرونده یک تصویر است، نه یک گراف خودکار تولیدشده توسط برنامه.
نمودار به صورت متن
- کانالها → مجلهٔ فضای کاری
- گروهها → مجلهٔ فضای کاری
- چتهای خصوصی → مجلهٔ فضای کاری
- رباتها → مجلهٔ فضای کاری
- مجلهٔ فضای کاری → جستجو در همه منابع
- مجلهٔ فضای کاری → پروفایل افراد همراه با ارجاعات سوابق
- مجلهٔ فضای کاری → نسخههای ذخیره شده و رسیدهای پیوست
- جستجو در همه منابع → خط زمانی تحلیلگر و ثبت منابع
- پروفایل افراد همراه با ارجاعات سوابق → خط زمانی تحلیلگر و ثبت منابع
- نسخههای ذخیره شده و رسیدهای پیوست → خط زمانی تحلیلگر و ثبت منابع
- مجلهٔ فضای کاری → فایل ZIP شواهد امضا شده
- خط زمانی تحلیلگر و ثبت منابع → واگذاری پرونده همراه با شواهد جداگانهٔ تأییدشده
- فایل ZIP شواهد امضا شده → واگذاری پرونده همراه با شواهد جداگانهٔ تأییدشده
۱. پرونده را تعریف کنید و کل حساب را جمعآوری کنید#
- حساب جمعآوریکننده را در فضای کاری اختصاصی خود متصل کنید. در یادداشتهای خارجی پرونده، مرجع پرونده، شناسه حساب، فضای کاری، زمان شروع مشاهده و اثر انگشت کلید امضای مورد اعتماد را ثبت کنید.
- منابع باز ← دامنه مشاهده ← حالت تحقیق. پیشتنظیم، کل حساب، کانالها/گروهها/چتهای خصوصی/رباتها، اقدامات خود، پروفایلهای منبع و ۲۰۰ پیام قابل مشاهده اخیر برای منابع تازهکشفشده را انتخاب میکند. آن را بررسی کنید، دکمه «ذخیره دامنه» را فشار دهید و تأیید دامنه را تکمیل کنید.
- گفتوگوها را بارگذاری کرده و منابع را با فهرست دیالوگ حساب کاربری مقایسه کنید. موارد مستثنی را بررسی کنید. پارامترها → چتهای خواندهشده از لیست حساب بهطور پیشفرض روی 1000 تنظیم شده و تا 20000 را مجاز میداند. منابعی که فراتر از حد لیست هستند، هنگام فعال شدن اضافه میشوند. آنچه واقعاً فهرست شده را ثبت کنید.
- در تنظیمات ضبط، «تمام فعالیتهای قابل مشاهده» را انتخاب کرده و تنظیمات نظارت را ذخیره کنید. انواع/محدودیتهای پیوستها و فضای آزاد دیسک را بررسی کنید.
- شروع مشاهده. یک پیام جدید کنترلشده، ویرایش و حذف را اعتبارسنجی کنید، سپس مراجع آزمایشی و هرگونه خطا را نگهداری کنید.
دامنه کل حساب، فعالیتهای قابل مشاهده در حساب را مطابق با تنظیمات ذخیرهشده ثبت میکند. این ابزار به چتهای مخفی دسترسی ندارد یا به طور خودکار به همه گروههای مرتبط نمیپیوندد. همچنین همه گفتگوهای موجود را به صورت کامل ثبت نمیکند. دامنه جمعآوری را ببینید.
۲. فهرست کردن هر منبع و بهدست آوردن زمینهٔ تاریخی#
یک دفتر ثبت منابع را با یک سطر برای هر گفتگو نگهداری کنید:
| میدان | ثبت |
|---|---|
| هویت | فضای کاری، شناسه حساب، شناسه عددی چت، عنوان و نوع |
| دیدهشدن | عضویت/نقش، دسترسی تأییدشده یا تأییدنشده، استثناها |
| ضبط زنده | زمان شروع، انواع رویدادهای انتخابشده و تغییرات بعدی سیاستها |
| تاریخچه ژورنال | اسنپشات درخواست/تکمیلشده، محدودیت، زمان و ارجاعات سوابق |
| تاریخچهٔ کامل | نام فایل خروجی امضا شده برای هر گفتگو، مرز و تکمیل/عدم تکمیل |
| پیوستها | رسیدهای کامل رسانه، هشها، اندازهها و نتایج ردشده/ناموفق |
| پوشش | قطعیها، دریافت ناقص، FloodWait، پیامهای در دسترس نبوده و سایر شکافها |
برای هر منبع، روش ضبط مناسب را بهکار ببرید:
- بارگذاری کامل تاریخچه در منابع (
mainفعلی) پیامهای گذشتهٔ موجود از منابع فعال را در دفترچهٔ کار بارگذاری میکند. این قابلیت از توقف/از سرگیری و گزارش پیشرفت امضاشده پشتیبانی میکند. به بخش اکتساب تاریخچه مراجعه کنید. - اسنپشات تاریخچه پیامهای قابل مشاهده اخیر را در دفتر مشاهدات ذخیره میکند. حداکثر پیشفرض آن ۵۰۰ است؛ در بخش پارامترها → بزرگترین اسنپشات تاریخچه میتوان آن را تا ۱۰٬۰۰۰ افزایش داد. اینها مشاهدات تاریخچه جاری هستند، نه ویرایشهای بازسازیشده.
- صادرات کامل چت → خروجی گرفتن کل چت، یا چتها → خروجی گرفتن چت، تاریخچهٔ در حال حاضر قابل مشاهدهٔ یک چت را در یک بستهٔ جداگانهٔ امضا شده با کلید
chat.json/chat.htmlفراخوانی میکند. این کار را برای منابع پرونده تکرار کرده و هر نتیجه را نگه دارید. - وقتی یک چت یا ربات جدید ظاهر میشود، میتواند پروفایل آن و تا ۱۰۰۰ پیام اخیر را ذخیره کند؛ حالت تحقیقاتی ۲۰۰ پیام را انتخاب میکند. چتهای موجود هنگام فعالسازی این حالت بهصورت گذشتهنگر این حجم را دریافت نمیکنند.
- دانلود پیوستهای قابل مشاهده، بایتها را طبق سیاست پیکربندیشده حفظ میکند.
نیاز به یک رسید تکمیلشده
media.savedبا SHA-256 و شمارش بایت دارد. یک job صفشده، تصویر بندانگشتی یا نام فایل، پیوست حفظشده نیست.
خروجی کامل چت، دفترچه یادداشت یا پروفایل افراد را با تمام پیامهای آن پر نمیکند. برای تاریخچهای که نیاز به تحلیل آن در داخل TgWitness دارید، از «بارگذاری تاریخچه کامل» یا «اسنپشاتهای محدود دفترچه یادداشت» استفاده کنید. پیش از شروع اجرای تاریخچه، فهرست منابع فعال را بررسی کنید. هیچیک از این دو روش، محتوایی را که تلگرام دیگر بازنمیگرداند، بازیابی نمیکنند.
۳. حفظ روند پرونده در حال تحول و تعاملات سنجیده#
چتهای فعال پروندههای ستاره دار را به عنوان منابع اولویتدار در نظر بگیرید. فواصل بازبینی مجدد، پیگیری مداوم و نتایج رسانهای را بررسی کنید. هنگام استفاده از حساب کاربری، گردآورنده را در حال مشاهده نگه دارید. از مسیر چتها → پروفایل → ذخیره کردن پروفایل اکنون استفاده کنید تا متادیتای منبع مانند توضیحات و دستورات ربات را حفظ کنید. این کار با پروفایلهای افراد که از پیامهای ذخیره شده استخراج میشوند، متفاوت است.
در مواردی که پرونده شامل دنبال کردن یک منبع یا تعامل با یک ربات باشد:
- باز کردن لینک تلگرام ← ذخیره پیشنمایش لینک ارائهشده و پیشنمایش بازگرداندهشده را پیش از انجام عملیات ذخیره میکند.
- دستور /open و observe عمل join/open را انجام میدهد و در صورت ارائه پارامتر start، آن را برای بات ارسال میکند. یک درخواست پیوست که در انتظار تأیید است، بهعنوان در انتظار ثبت میشود.
- پاسخهای متنی صادرشده توسط پنل و دکمههای پشتیبانیشده،
interaction.requestedوinteraction.resultرا حفظ میکنند. رسیدهای تماس بازگشتی میتوانند متن پاپآپ بازگشتی، وضعیت هشدار و URL را حفظ کنند.
اینها اقدامات واقعی حساب کاربری هستند. فشردن دکمههای کالبک در اپلیکیشن تلگرام دیگر برای گردآورنده قابل مشاهده نیست، هرچند پیامها یا ویرایشهای حاصل از آن ممکن است قابل مشاهده باشند. مینی-کلاینت گردش کارهای وباپلیکیشن، پرداخت، تماس تلفنی یا مکانیابی را انجام نمیدهد. برای رفتار دقیق، به تعاملات پنل مراجعه کنید.
۴. پیوند مشاهدات در سراسر چتها#
در «ژورنال»، «تمام منابع» را انتخاب کرده و محتوای ضبطشده را جستجو کنید. سوابق مطابقتیافته را باز کرده و فضای کاری، چت، شناسه پیام، توالی و هش رکورد را حفظ کنید.
در یک چت مرتبط، «افراد» را باز کنید → «پروفایلها» را روشن کنید و یک شخص را بررسی کنید:
- نامها/نامهای کاربری مشاهدهشده در طول زمان و شناسه عددی تلگرام.
- پاسخ با روابط مرجع به رکورد منبع.
- همچنین در… سایر گفتگوهای این دفترچهٔ کاری که آن شناسه در آنها نوشته است.
- فعالیتها، ویرایشها/حذفها و کیفپولها، تلفنها، نامهای کاربری و لینکهای ذکرشده.
- متادیتای آواتارهای ذخیره شده و آواتارهای کششده مشابه، با منشأ جداگانهٔ هر یک.
پیش از استفاده از یک پروفایل استنتاجشده در یک یافته، سوابق استنادشده را باز کنید. پروفایلها شامل افرادی میشوند که پیامهای ذخیرهشده دارند، نه هر عضو گروه. پارامترها → سوابق استنادشده بر اساس هر واقعیت، فهرست ارجاعات را محدود میکند، نه تعداد فعالیتهای زمینهای را. اشارهها و شباهت آواتار سرنخ هستند؛ آنها مالکیت یا هویت را اثبات نمیکنند.
در مثال عملی:
| لینک | ثبت میکند | مشاهده پشتیبانیشده |
|---|---|---|
| همان حساب فرستنده | گروه #۱۴۶ و پیگیری خصوصی #۲۰۵ | هر دو شناسه فرستنده تلگرام 71001 را ارائه میدهند |
| همان مقصد | #146، ربات کیبورد #173، ویرایش کانال #188، پیام خصوصی #205 | همگی حاوی pay.example.invalid/new هستند؛ مالکیت/کنترل مشخص نشده است |
| همان فایل ذخیره شده | رسیدهای رسانهای تکمیلشده #۱۵۱ و #۲۰۹ | مقادیر کامل SHA-256 برای بایتهای نگهداریشده مطابقت دارند |
| نسبتدهی کانال | #۱۰۱ و #۱۸۸ | بدون ذکر فرستندهٔ معتبر، یک پست کانال را به کاربر ۷۱۰۰۱ نسبت ندهید |
هشهای پیوستها و ارجاعات پیام مرتبط با آنها را مقایسه کنید. فایلهای یکسان، خالق، ارسالکننده یا اپراتور مشترک را مشخص نمیکنند. اسامی یکسان و آواتارهای مشابه به تنهایی دو شناسه تلگرام را به یک شخص واحد پیوند نمیزنند.
۵. ساخت خط زمانی میانگفتگوها#
از نسخههای ذخیرهشده در چتها و لینکهای #… در سوابق ژورنال استفاده کنید. در ژورنال، «تمام منابع» را با «ویرایشها»، «حذفها» و «پوشش» ترکیب کنید. هم source_at (در صورت ارائه) و هم observed_at را حفظ کنید.
| زمان مشاهدهٔ نمونهوار | منبع | مشاهده |
|---|---|---|
| 09:00 | کانال #۱۰۱ | مقصد اصلی ضبط شد |
| 09:12 | گروه #146؛ رسانه #151 | مقصد جدید ارسال شد؛ دانلود فایل تکمیل شد |
| 09:16 | ربات شماره ۱۷۳ | کلیدبورد به مقصد جدید اشاره میکند |
| 09:20 | کانال #۱۸۸ | اعلان ویرایش شد؛ هر دو نسخهٔ ذخیره شده باقی میمانند |
| 09:24 | خصوصی #205؛ رسانه #209 | شناسه فرستنده یکسان مقصد را تکرار میکند؛ بایتهای فایل یکسان حفظ شدهاند |
| 09:28 | گروه #۲۳۱ | اطلاعیه حذف دریافت شد؛ حذفی و زمان دقیق حذف نامشخص |
سوابق دیگری بین این مراجع نمونه وجود دارد. شمارههای توالی، مشاهدات را مرتب میکنند؛ اسنپشاتهای تاریخچه میتوانند شامل تاریخهای منبع قدیمیتر باشند و دیرتر از رویدادهای زنده برسند. بین اسنپشاتها، پیامهای بازیابیشده، اعلانهای حذف و نتایج «در بازبینی مجدد موجود نبودن» تمایز قائل شوید. فواصل پوشش را به عنوان بازههای ناشناخته علامتگذاری کنید. بهدستآوردن تاریخچه در مراحل بعدی به صورت عطف به ماسبق، مشاهدهی بیوقفه را اثبات نمیکند.
۶. افزودن دیدگاههای حساب کاربری بدون از دست دادن منشأ آنها#
برای هر حساب کاربری متمایز از یک فضای کاری جداگانه استفاده کنید و فهرست آن را تکرار کنید. شناسه حساب، نقش، اثر انگشت کلید امضا و مراجع منبع را در هر مقایسه همراه داشته باشید. شمارههای پیام در سراسر چتها/حسابها شناسه جهانی نیستند.
همبستگی بین فضاهای کاری مختلف در یادداشتهای پرونده خارجی یا ابزارهای تحلیل انجام میشود. TgWitness در حال حاضر فاقد قابلیت جستجوی سراسری بین فضاهای کاری، خط زمانی ادغامشده، گراف تحقیقاتی یا آرشیو پرونده ترکیبی است. خروجیگیری چندحساب برای یک کانال/ابر گروه، عملیاتی متفاوت است و نه ادغام دفترچههای حساب کاربری.
برای کارهای طولانیتر، مرزها را با یک شاهد مستقل حفظ کنید. از بررسیهای تحویل کنترلشده برای اعتبارسنجی مسیر ضبط و دید هر حساب کاربری استفاده کنید.
۷. تحویل پرونده را مونتاژ و تأیید کنید#
این موارد را در یک پوشهٔ پرونده که توسط تحلیلگر گردآوری شده است، کنار هم نگه دارید:
| مطالب | هدف |
|---|---|
| یادداشتهای پرونده و ثبت منابع | پرسش، سیاست جمعآوری، دسترسی/نقش، یافتهها، توضیحات جایگزین و شکافها |
| خط زمانی | زمانها و ارجاعات به فضای کاری/گفتگو/پیام/ترتیب برای هر مورد |
| فایل ZIP شواهد امضاشده برای هر فضای کاری | کل مجله ضبطشده، مانیفست و رسانههای نگهداریشده ضمیمهشده؛ فیلترهای پنل، خروجی مجله را محدود نمیکنند |
| فایلهای پروفایل افراد که بهطور جداگانه امضا شدهاند | مرجعهای استخراجشده با شواهد فضای کاری مطابقت داده شدهاند |
| خروجیهای کامل چت امضا شده | جمعآوری تاریخچهٔ قابل مشاهدهٔ فعلی، جدا از دفترچهٔ مشاهده |
| اثرانگشتهای مورد اعتماد و نقاط کنترل قبلی | هویت کلیدی و مرزهای حفظشدهٔ دفترچهٔ شواهد |
| شواهد ابزار، در صورت پیکربندی | روزنامه جداگانه، پستهای امضا شده و اثر انگشت شاهد |
| نتایج تأیید و هشهای فایل تحویلشده | چه چیزی بررسی شد، کدام بایتها منتقل شدند و به چه کسی |
از یک نصب مورد اعتماد، با نامهای فایل و اثر انگشت واقعی هر فضای کاری:
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --checkpoint retained-checkpoint.json
python -m tgwitness.verify profiles-operations.json --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --evidence evidence.zip
python -m tgwitness.verify history-channel.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256
نتایج تأیید هویت واقعی و شواهد اصلی را حفظ میکند. دایرکتوری پرونده سطح بالا، ثبتنام منبع و نتیجهگیریهای تحلیلگر به صورت خارجی نگهداری میشوند؛ هر شواهد TgWitness دارای امضا و رویه تأیید هویت خاص خود است.
تطبیق با تحقیق#
| مورد | ردیابی | ارسال |
|---|---|---|
| منازعهٔ سفارش/پرداخت توسط ربات | اعلان ورود → پیشنمایش لینک ذخیره شده → پارامتر شروع ربات → نسخههای پیام و صفحهکلید → رسیدهای فراخوانی پنل → پیگیری خصوصی/گروهی | خط زمانی مشاهدهشده پیشنهاد/پاسخ و منابع تأییدشده؛ یک لینک پرداخت بهتنهایی اثبات پرداخت نیست |
| پیامهای حذفشده پس از یک رویداد | تمام چتهای درگیر → نسخههای اصلی/ویرایشهای ذخیره شده → نتایج حذف یا عدمموجود در بازبینی مجدد → رسانههای حفظشده → پوشش و دیدگاههای دیگر حسابها | نسخههای نگهداریشده و بازههای زمانی نامشخص صریح؛ بدون عامل حذف ساختگی |
| یک شرکتکننده در چتهای مختلف نامهای خود را تغییر میدهد | شناسه عددی فرستنده ← تاریخچه نام/نام کاربری ← پاسخها ← سایر گفتگوهای مشاهدهشده ← مقاصد/فایلهای استنادشده | یک جدول زمانی فعالیت حساب تلگرام استنادشده، با حفظ جداسازی هویتهای دنیای واقعی و فرضیههای رابطهای |
مرجع جمعآوری · تأیید پروفایل افراد · واگذاری شواهد · اعتبارسنجی کامل شد