.TH FOREMOST "8" "مه ۲۰۰۹" "v1.5" .SH "نام (NAME)" foremost \- بازیابی فایل‌ها با استفاده از سرایندها (headers)، پسایندها (footers) و ساختارهای داده‌ای آن‌ها .SH "خلاصه دستور (SYNOPSIS)" .B foremost[\fB-h\fR][\fB-V\fR][\fB-d\fR][\fB-vqwQT\fR][\fB-b\fR][\fB-o\fR] [\fB-t\fR][\fB-s\fR][\fB-i\fR] .SH "قالب‌های توکار (BUILTIN FORMATS)" .PP بازیابی فایل‌ها از یک ایمیج دیسک بر اساس انواع فایل مشخص‌شده توسط کاربر با استفاده از سوییچ \-t. .TP .B jpg پشتیبانی از قالب‌های JFIF و Exif از جمله پیاده‌سازی‌های مورد استفاده در دوربین‌های دیجیتال امروزی. .TP .B gif .TP .B png .TP .B bmp پشتیبانی از قالب bmp ویندوز. .TP .B avi .TP .B exe پشتیبانی از فایل‌های اجرایی با ساختار Windows PE؛ فایل‌های DLL و EXE را به همراه زمان کامپایل آن‌ها استخراج می‌کند. .TP .B mpg پشتیبانی از اکثر فایل‌های MPEG (باید با 0x000001BA شروع شوند). .TP .B mp4 .TP .B wav .TP .B riff این گزینه فایل‌های AVI و RIFF را استخراج می‌کند چرا که هر دو از ساختار فایلی یکسانی (RIFF) استفاده می‌کنند. توجه داشته باشید که این کار سریع‌تر از اجرای جداگانه هر یک است. .TP .B wmv توجه: ممکن است فایل‌های wma- را نیز استخراج کند، زیرا ساختار مشابهی دارند. .TP .B mov .TP .B pdf .TP .B ole این گزینه هر فایلی را که از ساختار داده‌ای OLE استفاده می‌کند بازیابی می‌کند. این شامل PowerPoint، Word، Excel، Access و StarWriter می‌شود. .TP .B doc توجه: اجرای OLE کارآمدتر است چرا که نتیجه جامع‌تری دریافت می‌کنید. اگر می‌خواهید تمام فایل‌های دیگر OLE نادیده گرفته شوند، از این گزینه استفاده کنید. .TP .B zip توجه: این گزینه فایل‌های jar. را نیز استخراج می‌کند، زیرا قالب مشابهی دارند. اسناد Open Office صرفاً فایل‌های XML فشرده‌شده با zip هستند، بنابراین آن‌ها نیز استخراج می‌شوند. این شامل پرونده‌های SXW، SXC، SXI و ?SX برای فایل‌های نامشخص OpenOffice است. فایل‌های Office 2007 نیز مبتنی بر XML هستند (PPTX، DOCX، XLSX). .TP .B rar .TP .B htm .TP .B cpp تشخیص کد منبع C؛ توجه داشته باشید که این روش ابتدایی است و ممکن است اسنادی غیر از کدهای C نیز تولید کند. .TP .B all اجرای تمامی روش‌های استخراج از پیش تعریف‌شده. [در صورت عدم تعیین \-t، این حالت پیش‌فرض است] .SH "توضیحات (DESCRIPTION)" .PP بازیابی فایل‌ها از یک ایمیج دیسک بر اساس سرایندها و پسایندهای مشخص‌شده توسط کاربر. .TP \fB\-h\fR نمایش صفحه راهنما و خروج. .TP \fB\-V\fR نمایش اطلاعات حق نشر و خروج. .TP \fB\-d\fR فعال‌سازی تشخیص بلوک غیرمستقیم (indirect block)؛ این قابلیت برای سیستم‌فایل‌های یونیکس به خوبی عمل می‌کند. .TP \fB\-T\fR ثبت برچسب زمانی روی دایرکتوری خروجی، تا در صورت اجرای چندباره نیازی به حذف دایرکتوری خروجی نداشته باشید. .TP \fB\-v\fR فعال‌سازی حالت پرحرف (verbose). این کار باعث می‌شود اطلاعات بیشتری درباره وضعیت فعلی برنامه روی صفحه نمایش داده شود و بسیار توصیه می‌شود. .TP \fB\-q\fR فعال‌سازی حالت سریع (quick mode). در حالت سریع، تنها ابتدای هر سکتور برای یافتن سرایندهای منطبق جستجو می‌شود؛ بدین معنا که سرایند تنها تا طول بلندترین سرایند جستجو می‌گردد. مابقی سکتور، که معمولاً حدود ۵۰۰ بایت است، نادیده گرفته می‌شود. این حالت اجرای foremost را به میزان قابل‌توجهی سریع‌تر می‌کند، اما ممکن است باعث شود فایل‌هایی را که درون فایل‌های دیگر جاسازی شده‌اند از دست بدهید. برای نمونه، با استفاده از حالت سریع قادر به یافتن تصاویر JPEG جاسازی‌شده در اسناد Microsoft Word نخواهید بود. حالت سریع نباید هنگام بررسی سیستم‌فایل‌های NTFS استفاده شود. از آنجا که NTFS فایل‌های کوچک را درون جدول فایل اصلی (Master File Table یا MFT) ذخیره می‌کند، این فایل‌ها در حالت سریع نادیده گرفته خواهند شد. .br .TP \fB\-Q\fR فعال‌سازی حالت بی‌صدا (Quiet mode). بیشتر پیام‌های خطا پنهان و نادیده گرفته می‌شوند. .br .TP \fB\-w\fR فعال‌سازی حالت فقط حسابرسی و ثبت گزارش (write audit only). هیچ فایلی استخراج نخواهد شد. .br .TP \fB\-a\fR فعال‌سازی نوشتن تمام سرایندها؛ هیچ تشخیص خطایی از نظر فایل‌های آسیب‌دیده انجام نمی‌شود. .br .TP \fB\-b\fR \fIتعداد\fR امکان تعیین اندازه بلوک مورد استفاده در foremost را فراهم می‌کند. این مقدار برای نام‌گذاری فایل‌ها و جستجوهای سریع کاربرد دارد. مقدار پیش‌فرض ۵۱۲ است. مثال: foremost -b 1024 image.dd .br .TP \fB\-k\fR \fIتعداد\fR امکان تعیین اندازه تکه (chunk size) مورد استفاده در foremost را فراهم می‌کند. اگر حافظه رم (RAM) کافی برای بارگذاری ایمیج داشته باشید، این کار می‌تواند سرعت را بهبود بخشد. این قابلیت بررسی‌های میان تکه‌های بافر را کاهش می‌دهد؛ برای مثال اگر بیش از ۵۰۰ مگابایت حافظه رم دارید. مثال: foremost -k 500 image.dd .br .TP \fB\-i\fR \fIفایل\fR از \fIفایل\fR به عنوان فایل ورودی استفاده می‌شود. اگر هیچ فایل ورودی مشخص نشود یا فایل ورودی قابل خواندن نباشد، از ورودی استاندارد (stdin) استفاده می‌شود. .TP \fB-o\fR \fIدایرکتوری\fR فایل‌های بازیابی‌شده در \fIدایرکتوری\fR مشخص‌شده نوشته می‌شوند. .TP \fB-c\fR \fIفایل\fR تنظیم فایل پیکربندی مورد استفاده. اگر فایلی مشخص نشود، از فایل "foremost.conf" در دایرکتوری جاری استفاده می‌شود؛ اگر آن فایل نیز وجود نداشته باشد، از "/etc/foremost.conf" استفاده خواهد شد. ساختار فایل پیکربندی در فایل پیکربندی پیش‌فرض ارائه‌شده همراه این برنامه شرح داده شده است. برای اطلاعات بیشتر به بخش \fIفایل پیکربندی (CONFIGURATION FILE)\fR در ادامه مراجعه کنید. .TP \fB-s\fR \fIتعداد\fR نادیده گرفتن \fIتعداد\fR بلوک در فایل ورودی پیش از آغاز جستجو برای سرایندها. مثال: foremost -s 512 -t jpeg -i /dev/hda1 .TP .PP .SH "فایل پیکربندی (CONFIGURATION FILE)" فایل پیکربندی برای کنترل این‌که foremost به دنبال چه انواعی از فایل‌ها بگردد استفاده می‌شود. یک نمونه فایل پیکربندی با نام foremost.conf همراه این توزیع ارائه شده است. برای هر نوع فایل، فایل پیکربندی پسوند فایل، حساس بودن یا نبودن سرایند و پسایند به حروف بزرگ و کوچک، حداکثر اندازه فایل، و سرایند و پسایند فایل را مشخص می‌کند. فیلد پسایند اختیاری است، اما سرایند، اندازه، حساسیت به حروف بزرگ و کوچک و پسوند اختیاری نیستند! هر خطی که با علامت پوند/هش آغاز شود، به عنوان توضیح (کامنت) تلقی شده و نادیده گرفته می‌شود. بنابراین، برای نادیده‌گرفتن یک نوع فایل تنها کافی است یک علامت پوند (#) در ابتدای آن خط قرار دهید. سرایندها و پسایندها پیش از استفاده رمزگشایی می‌شوند. برای تعیین یک مقدار در مبنای شانزده (هگزادسیمال) از \\x[0-f][0-f] و برای مبنای هشت (اکتال) از \\[1-9][1-9][1-9] استفاده کنید. فاصله‌ها را می‌توان با \\s نشان داد. مثال: "\\x4F\\123\\I\\sCCI" به "OSI CCI" تبدیل می‌شود. برای تطبیق با هر تک‌نویسه (کاراکتر عام یا wildcard) از ? استفاده کنید. اگر نیاز دارید خود نویسه ? را جستجو کنید، باید خط نویسه عام *و* تمامی تکرارهای نویسه عام قدیمی در فایل پیکربندی را تغییر دهید. آن مقادیر هگز و اکتال را فراموش نکنید! ? برابر با \\x3f و \\063 است. مجموعه‌ای از سرایندهای نمونه در فایل README ارائه شده است. .SH "مثال‌ها (EXAMPLES)" .TP .SH جستجو برای قالب jpeg با رد کردن ۱۰۰ بلوک اول foremost \-s 100 \-t jpg \-i image.dd .TP .SH تنها ایجاد یک فایل حسابرسی/گزارش و چاپ روی صفحه نمایش (حالت پرحرف) foremost \-av image.dd .TP .SH جستجوی تمامی انواع فایل تعریف‌شده foremost \-t all \-i image.dd .TP .SH جستجو برای فایل‌های gif و pdf foremost \-t gif,pdf \-i image.dd .TP .SH جستجو برای اسناد اداری و فایل‌های jpeg در یک سیستم‌فایل یونیکس در حالت پرحرف foremost \-vd \-t ole,jpeg \-i image.dd .TP .SH اجرای حالت پیش‌فرض foremost image.dd .PP .SH "نویسندگان (AUTHORS)" کد اصلی توسط مأمور ویژه Kris Kendall و مأمور ویژه Jesse Kornblum از دفتر تحقیقات ویژه نیروی هوایی ایالات متحده (United States Air Force Office of Special Investigations) نوشته شده است. تغییرات و اصلاحات توسط Nick Mikus، پژوهشگر در مرکز مطالعات و تحقیقات امنیت سیستم‌های اطلاعاتی دانشکده تحصیلات تکمیلی نیروی دریایی (Naval Postgraduate School Center for Information Systems Security Studies and Research). اصلاحات Foremost بخشی از پایان‌نامه کارشناسی ارشد در NPS بود. .SH "اشکالات (BUGS)" هنگام کامپایل foremost روی سیستم‌هایی با نسخه‌های glibc 2.1.x یا قدیمی‌تر، برخی هشدارهای کامپایلر (بی‌ضرر) در رابطه با اعلان ضمنی fseeko و ftello دریافت خواهید کرد. می‌توانید با خیال راحت این هشدارها را نادیده بگیرید. .PP .SH "گزارش باگ‌ها (REPORTING BUGS)" از آنجا که Foremost می‌تواند برای به‌دست آوردن شواهد در پیگردهای کیفری و قضایی استفاده شود، ما تمامی گزارش‌های باگ را \fIبسیار\fR جدی می‌گیریم. هر باگی که یکپارچگی جرم‌شناسی دیجیتال (forensic integrity) این برنامه را به خطر بیندازد می‌تواند پیامدهای جدی به همراه داشته باشد. هنگام ارسال گزارش باگ، لطفاً شرحی از مشکل، نحوه مواجهه با آن و اطلاعات تماس خود را درج کنید. .PP ارسال گزارش باگ به: .br namikus AT users d0t sf d0t net .PP .SH "حق نشر (COPYRIGHT)" این برنامه کاری از دولت ایالات متحده است. طبق 17 USC 105، حمایت از حق نشر برای آثار دولت ایالات متحده برقرار نیست. .PP این یک نرم‌افزار آزاد است؛ برای شرایط کپی‌برداری به کد منبع مراجعه کنید. هیچ تضمینی وجود ندارد؛ حتی برای قابلیت فروش یا مناسب بودن برای یک هدف خاص. .SH "همچنین ببینید (SEE ALSO)" اطلاعات بیشتر در فایل README وجود دارد. .PP نرم‌افزار Foremost در ابتدا برای شبیه‌سازی عملکرد CarvThis طراحی شده بود؛ یک برنامه داس (DOS) که در سال ۱۹۹۹ توسط آزمایشگاه جرم‌شناسی رایانه‌ای وزارت دفاع (Defense Computer Forensics Lab) نوشته شده بود.