پس از دو سال توسعه، بنیاد امنیت اطلاعات باز (OISF) نسخه ۸.۰ سیستم تشخیص و پیشگیری از نفوذ شبکه Suricata را منتشر کرده است که ابزارهایی برای بازرسی انواع مختلف ترافیک ارائه میدهد. پیکربندیهای Suricata از استفاده از پایگاه داده امضا توسعهیافته توسط پروژه Snort و همچنین مجموعه قوانین Emerging Threats و Emerging Threats Pro پشتیبانی میکند. کد منبع این پروژه تحت مجوز GPLv2 توزیع شده است.
تغییرات اصلی:
- قابلیت آزمایشی استفاده از Suricata به عنوان فایروال اضافه شد. حالت فایروال امکان استفاده از گویشی از زبان قوانین بازرسی ترافیک را برای فیلتر کردن بستههای شبکه فراهم میکند.
- قابلیت نوشتن اسکریپتها در لوآ (Lua) دوباره طراحی شده است. مفسر لوآ ۵.۴ در کد بیس ادغام شده و در یک محیط سندباکس (sandbox) اجرا میشود که قوانین لوآ را محدود میکند (برای مثال، قوانین نمیتوانند در فایلها بنویسند یا سوکتهای شبکه ایجاد کنند).
- امکان ثبت پویا (در زمان اجرا) افزونهها با تجزیهکنندههای پروتکل، آشکارسازها و اجزای ثبت وقایع فراهم شده است.
- بهینهسازیهای قابل توجهی در عملکرد پیادهسازی شد که سرعت جنبههای مختلف موتور، از جمله تشخیص پروتکل، بارگذاری قوانین و مقداردهی اولیه را افزایش داد. این پیشرفتها از طریق پیشبینی شاخه، بهینهسازی تابع هش، افزایش اندازه بافر بارگذاری دادههای PCAP و بازسازی همگامسازی جریان حاصل شد. زمان راهاندازی Suricata نیز از طریق ذخیرهسازی، گروهبندی پورت گسترده و الگوریتم جایگزینی آدرس IP بهبود یافته کاهش یافت.
- کنترلکنندههای LibHTP، FTP و ENIP و همچنین کد مربوط به تجزیه انواع MIME، عملیات byte_extract و رمزگشایی base64 در Rust بازنویسی شدهاند.
- پشتیبانی از پروتکلهای DoH (DNS over HTTPS)، LDAP، mDNS (DNS چندپخشی) و Websocket اضافه شد.
- ماژولهای رمزگشایی و ثبت وقایع جدید برای پروتکلهای ARP و POP3 اضافه شد.
- تجزیه SDP روی ترافیک SIP و SIP روی ترافیک TCP ارائه شده است.
- موتور تشخیص پروتکل و ایجاد قانون گسترش یافته است. کلمات کلیدی زیر اکنون پشتیبانی میشوند: LDAP، MIME/EMAIL، vlan.id، DNS، SMTP، FTP، TLS، tcp.wscale، pgsql.query، from_base64، entropy، luaxform و mDNS. قوانین تراکنشی اضافه شدهاند که امکان توصیف هر دو جهت تراکنش را در یک قانون واحد فراهم میکند.
ویژگی های Suricata:
- فرمت Unified2 که توسط پروژه Snort نیز استفاده میشود، برای خروجی نتایج اسکن استفاده میشود و امکان استفاده از ابزارهای استاندارد تجزیه و تحلیل مانند barnyard2 را فراهم میکند. ادغام با محصولات BASE، Snorby، Sguil و SQueRT پشتیبانی میشود. خروجی با فرمت PCAP پشتیبانی میشود.
- پشتیبانی از تشخیص خودکار پروتکل (IP، TCP، UDP، ICMP، HTTP، TLS، FTP، SMB و غیره)، که به قوانین اجازه میدهد صرفاً بر اساس نوع پروتکل و بدون ارجاع به شماره پورت عمل کنند (برای مثال، مسدود کردن ترافیک HTTP روی یک پورت غیر استاندارد). در دسترس بودن رمزگشاها برای پروتکلهای HTTP SSL، TLS، SMB، SMB2، DCERPC، SMTP، FTP، LDAP و SSH؛
- یک سیستم تحلیل ترافیک HTTP که از کتابخانه HTP، ایجاد شده توسط نویسنده پروژه Mod_Security، برای تجزیه و نرمالسازی ترافیک HTTP استفاده میکند. ماژولی برای نگهداری گزارشگیری دقیق از انتقالهای انتقال HTTP موجود است (گزارش در قالب استاندارد آپاچی ذخیره میشود). استخراج و تأیید فایلهای منتقل شده از طریق HTTP و همچنین تجزیه محتوای فشرده پشتیبانی میشود. شناسایی از طریق URI، کوکی، هدرها، عامل کاربر و بدنه درخواست/پاسخ امکانپذیر است.
- پشتیبانی از رابط های مختلف برای رهگیری ترافیک، از جمله NFQueue، IPFRing، LibPcap، IPFW، AF_PACKET، PF_RING. امکان تجزیه و تحلیل فایل های ذخیره شده در قالب PCAP وجود دارد.
- عملکرد بالا، توانایی پردازش جریانهای دهها گیگابیت در ثانیه روی تجهیزات معمولی.
- موتور تطبیق ماسک با کارایی بالا برای مجموعههای بزرگی از آدرسهای IP. پشتیبانی از استخراج محتوا توسط ماسک و عبارات منظم. استخراج فایلها از ترافیک، از جمله شناسایی آنها بر اساس نام، نوع یا هش.
- امکان استفاده از متغیرها در قوانین: میتوانید اطلاعات را از یک جریان ذخیره کنید و بعداً از آن در قوانین دیگر استفاده کنید.
- استفاده از فرمت YAML در فایلهای پیکربندی، که وضوح را با سهولت پردازش ماشین ترکیب میکند؛
- حمایت کامل IPv6;
- موتور داخلی برای جداسازی خودکار و مونتاژ مجدد بسته ها که امکان پردازش صحیح جریان ها را بدون توجه به ترتیب رسیدن بسته ها فراهم می کند.
- پشتیبانی از پروتکلهای تونلینگ: Teredo، IP-IP، IP6-IP4، IP4-IP6، GRE؛
- پشتیبانی از رمزگشایی بسته: IPv4، IPv6، TCP، UDP، SCTP، ICMPv4، ICMPv6، GRE، اترنت، PPP، ARP، PPPoE، Raw، SLL، VLAN؛
- حالت ثبت وقایع برای کلیدها و گواهیهای مورد استفاده در اتصالات مبتنی بر TLS؛
- امکان نوشتن اسکریپت به زبان Lua برای تحلیل پیشرفته ترافیک و پیادهسازی ویژگیهای اضافی که قوانین استاندارد برای آنها کافی نیست.
منبع: opennet.ru
