مشروع التحليل الآلي للبرامج الضارة لنظام التشغيل Linux على مختلف بنيات وحدة المعالجة المركزية.
صفات
- مضاهاة كيمو.
- يدعم حاليًا x86_64 وi386 وarm وmips وaarch64.
- الصور الصغيرة التي تم إنشاؤها باستخدام buildroot.
- التحليل الثابت على أساس Radare2.
- التحليل الديناميكي (السلوك) باستخدام وحدات SystemTap kernel – مكالمات النظام الملتقطة والملفات المفتوحة وأشجار المعالجة.
- إحصائيات الشبكة وتحليل اتصالات DNS وHTTP وTelnet وIRC.
- تحليل نقطة النهاية وتكوين القائمة السوداء.
- التحجيم مع الكرفس وRabbitMQ.
- ريست API | نهاية المقدمة.
- قابلة للتوسيع من خلال وحدات التحليل الفرعي والصور المخصصة.
ابدأ مع LISA
متطلبات
احصل على المستودع.
$ git clone https://github.com/danieluhricek/lisa
$ cd lisa
تجميع.
# docker-compose build
قم بتشغيل وضع الحماية (الموقع الافتراضي: http://localhost:4242).
# docker-compose up
جلسة
ماكس مايند جيوليت2
اشتراك للحصول على مفتاح API الخاص بك. استخدم مفتاح API في قسم وسائط الإنشاء في docker-compose.yml
.
.
.
worker:
image: lisa-worker
build:
context: .
dockerfile: ./docker/worker/Dockerfile
args:
maxmind_key: YOUR_KEY
volumes:
- "./data/storage:/home/lisa/data/storage"
.
.
.
.
.
إستضافة المواقع الإلكترونية
قم بتعيين عنوان IP الخاص بخادمك: المنفذ في خدمة nginx على docker-compose.yml
.
قابلية التوسع
العمال قابلة للتطوير.
# docker-compose up --scale worker=10
VPN
يمكنك توجيه حركة مرور البرامج الضارة عبر OpenVPN. للقيام بذلك:
- قم بتحميل وحدة تخزين تحتوي على تكوين OpenVPN (يسمى config.ovpn).
- يضبط متغير البيئة
VPN
على مسار الدليل لتكوين OpenVPN.
.
.
worker:
image: lisa-worker
build:
context: .
dockerfile: ./docker/worker/Dockerfile
environment:
- VPN=/vpn
volumes:
- "./data/storage:/home/lisa/data/storage"
- "./vpn:/vpn"
.
.
القوائم السوداء
القوائم السوداء المستخدمة بشكل افتراضي هي ( نافورة):
- bi_ssh_2_30d.ipset
- firehol_level3.netset
- firehol_webserver.netset
- iblocklist_abuse_zeus.netset
- norshield_all_wannacry.ipset
إذا كنت تريد استخدام قائمة سوداء أخرى، فضع ملفات .ipset أو .netset في ملف data/blacklists
. يتم دمج كل هذه القوائم السوداء أثناء بناء الخدمة worker
.
إضافة وحدات التحليل الفرعي الجديدة
يدعم جوهر مشروع LiSa أربع وحدات تحليل أساسية: static_analysis
و dynamic_analysis
و network_analysis
و virustotal
. وحدات التحليل الفرعي تعتمد على البرنامج المساعد. لإضافة تحليل فرعي جديد وإضافة مخرجاته إلى ملف json النهائي، اتبع الخطوات التالية:
- قم بإنشاء فئة ترث من الفئة
AbstractSubAnalyzer
وتطبق الطريقةrun_analysis()
، على سبيل المثال:
class NewSubAnalyzer(AbstractSubAnalyzer):
def run_analysis(self):
pass
- تحديث القائمة في
lisa.config.py
:
analyzers_config = [
# core analyzers
'lisa.analysis.static_analysis.StaticAnalyzer',
'lisa.analysis.dynamic_analysis.DynamicAnalyzer',
'lisa.analysis.network_analysis.NetworkAnalyzer',
'lisa.analysis.virustotal.VirusTotalAnalyzer',
# custom
'module_of_new_analyzer.NewSubAnalyzer'
]
تنفيذ الاختبار
# docker build -f ./docker/tests/Dockerfile -t lisa-tests .
# docker run lisa-tests
الميزات القادمة
- وحدة يارا : الوحدة النمطية يارا لمطابقة الأنماط في مخرجات JSON الخاصة بـ LiSa.
- اختيار الصورة : المزيد من صور Linux التي تحتوي، على سبيل المثال، على البرامج الثابتة لإنترنت الأشياء.