برای اجرای سامانه نیاز به حداقل یک رایانه Master و حداقل یک رایانه Slave دارید (البته ترجیحا چند رایانه Slave داشته باشید). با توجه به اینکه رایانه Master تستها را اجرا نمیکند، نیازی به پردازندهای قدرتمند و جدید ندارد و میتواند یک رایانه معمولی با ۱۶ گیگابایت حافظه اصلی نیز باشد (حتی یک ماشین مجازی نیز میتوانید کار Master را انجام دهد) اما رایانههای Slave باید دارای پردازندهای باشند که از قابلیت Intel PT پشتیبانی کند؛ عموما پردازندههای نسل 6 به بعد Intel Core-i5 یا Intel Core-i7 دارای این قابلیت هستند.
نکته: کارهایی که در این بخش ارائه میشود، هم باید در Master و هم در تمامی Slaveها انجام گیرد.
برای نصب این سامانه باید از سیستم عامل Ubuntu 20.04 استفاده کنید و نام کاربر این سیستم عامل هم باید user باشد (ترجیحا رمز عبور را برابر 1 بگذارید).
بعد از نصب سیستم عامل ابتدا پیشنیازها را نصب کنید:
sudo apt-get install git qemu-utils
سپس در صورتی که نام کاربری و پست الکترونیکی خود را در git رایانه تنظیم نکردهاید، آن را تنظیم کنید (به جای test نام خود و به جای test@test.com آدرس ایمیل خود را قرار دهید.):
git config –global user.name test
git config –global user.email test@test.com
نکته: ترجیحا دستورات بالا را یک بار با sudo و بار دیگر بدون sudo اجرا نمایید.
کد ابزار kAFL شخصیشده ما را در مسیر /home/user/kAFL قرار دهید. فایل install.sh و manager.py در دایرکتوری scripts در مسیر اصلی kAFL وجود دارد.
نکته: چنانچه قصد نصب Master را دارید و سیستم شما از Intel PT پشتیبانی نمیکند، به دستورات زیر پارامتر force را اضافه کنید.
در مرحله اول نیاز است که اسکریپت install.sh (موجود در پوشه scripts) اجرا شود. این اسکریپت باید ۶ بار اجرا گردد:
sudo ./install.sh check
در صورتی که ناسازگاری خاصی وجود نداشته باشد، خروجی زیر مشاهده میشود:
user@er:~/kAFL$ ./install.sh check
===================================
kAFL auto-magic installer
===================================
[*] Performing basic sanity checks...
[*] All done.
sudo ./install.sh deps
sudo ./install.sh radamsa
sudo ./install.sh qemu
sudo ./install.sh perms
sudo ./install.sh linux
کامپایل هسته لینوکس با توجه به میزان سرعت دیسک سخت و پردازنده شما ممکن است بین نیم ساعت تا ۵ ساعت به طول بینجامد.
نکته: ممکن است برخی بستهها به طور خودکار نصب نشوند. در این صورت دستور زیر را وارد کنید تا اطمینان حاصل شود که کلیه کتابخانههای پایتون مورد نیاز نصب شدهاند:
sudo pip3 install mmh3 lz4 psutil fastrand ipdb inotify msgpack toposort pygraphviz pgrep tqdm
پس از اینکه هسته کامپایل شد، آن را نصب کنید (برای نصب هسته مطابق راهنمایی که در انتهای خروجی کامپایل لینوکس ارائه شده، عمل کنید). پس از نصب باید سیستم را ریستارت کنید (باید در هنگام بوت هسته کامپایل شده انتخاب شود).
نکته: چنانچه در هنگام بوت منوی گراب نمایش داده نشد، چند بار کلید Escape را بزنید تا منوی بوت نمایش داده شود. همچنین میتوانید مطابق مستندات موجود در اینترنت تنظیمات گراب را به گونهای تغییر دهید که منوی گراب همیشه نمایش داده شود.
بعد از بوت یک پوشه با نام overlays در مسیر home/user/kAFL/ درست کنید.
تا اینجا کارهای اولیه نصب فازر هوشمند سایبرنو برای Master به اتمام رسیده است و در مرحله بعدی برای نصب Master باید به سراغ نصب نسخه Master ماژول Fuzzer-Manager بروید. اما برای Slaveها باید سیستم عامل تست را نیز نصب کنید.