Skip to content

FinAnalyzer Enterprise v2.4.0

Choose a tag to compare

@Ali-Marandi Ali-Marandi released this 12 Aug 21:40
· 24 commits to main since this release

یادداشت انتشار FinAnalyzer Enterprise — نسخه 2.4.0

تاریخ انتشار: ۱۲ اوت ۲۰۲۶
وضعیت: آماده برای انتشار پس از ساخت در محیط ایزوله ویندوز
حوزه انتشار: لاگ ممیزی غیرقابل‌دست‌کاری، سخت‌سازی وابستگی‌ها و کنترل انتشار Windows EXE

این نسخه یک ارتقای امنیتی و عملیاتی است. هدف آن فراهم‌کردن قابلیت ردیابی قابل‌اتکا برای رخدادهای حساس سازمانی و جلوگیری از ساخت فایل اجرایی با وابستگی‌های شناخته‌شده آسیب‌پذیر است.

خلاصه مدیریتی

FinAnalyzer 2.4.0 مدل لاگ‌برداری قبلی را به یک ثبت رویداد ساختاریافته، زنجیره‌ای و قابل‌راستی‌آزمایی ارتقا می‌دهد. هر رخداد جدید با یک HMAC-SHA256 که به هش رخداد پیشین متصل است امضا می‌شود. کلید امضا در ویندوز با DPAPI حفاظت می‌شود؛ بنابراین تغییر یک رکورد تاریخی، حذف یک حلقه از زنجیره یا جایگزینی جزئیات رخداد در بررسی صحت زنجیره آشکار خواهد شد.

هم‌زمان، baseline ساخت ویندوز برای وابستگی‌های pypdf و wheel اصلاح شد، وابستگی ناامن و بلااستفاده xhtml2pdf از مسیر انتشار حذف شد و وابستگی qifparse اختیاری شد. پیش از ساخت EXE، یک دروازه fail-closed وضعیت بسته‌ها و نتیجه pip-audit را بررسی و فایل‌های شواهد انتشار را ثبت می‌کند.

حوزه تغییر اصلی اثر عملیاتی
ممیزی زنجیره HMAC-SHA256 با checkpoint کشف تغییرات در لاگ‌های ساختاریافته
حریم داده پاک‌سازی فیلدهای حساس پیش از ذخیره جلوگیری از ثبت token، password و secret در audit
مجوزدهی رخدادهای allow/deny ساختاریافته امکان بررسی دسترسی‌های حساس و تلاش‌های ناموفق
هویت ثبت ورود، خروج، revoke و خطای ورود SSO ردیابی چرخه نشست Entra/OIDC
بانکداری ثبت Link، اتصال، sync، حذف و خطای Plaid قابلیت پاسخ‌گویی و بررسی عملیات بانکی
گزارش‌دهی ثبت ایجاد schedule، تولید، تحویل و خطا ردیابی گزارش‌های خودکار و delivery خارجی
زنجیره تأمین constraints و gate برای build ویندوز جلوگیری از انتشار با بسته‌های مسدود یا آسیب‌پذیر

ثبت ممیزی v2.4.0

مدل AuditLog علاوه بر متن legacy، اکنون شناسه رخداد، شماره توالی، شرکت، نشست، دسته، شدت، نتیجه، منبع، هدف، هش قبلی، هش فعلی و شناسه کلید را نگهداری می‌کند. جدول AuditChainState وضعیت آخرین رخداد امضاشده را نگهداری می‌کند تا ایجاد رخدادهای بعدی به‌صورت ترتیبی و تراکنشی انجام شود. مهاجرت SQLite افزایشی است؛ یعنی ستون‌ها و indexهای جدید به پایگاه‌های داده موجود افزوده می‌شوند و رویدادهای قدیمی به‌عنوان legacy قابل‌تشخیص باقی می‌مانند.

گروه رخداد نمونه action داده ساختاریافته کلیدی
Authorization authorization.denied actor، permission، company، MFA، دلیل
Identity identity.sign_in_succeeded provider، session، identity provider
Banking bank.item_synced Plaid item، company، تعداد تغییرات
Reporting report.delivered schedule، قالب‌ها، کانال تحویل
Audit audit.migration_checked وضعیت migration و شمارش legacy

جزئیات رخداد پیش از ذخیره‌سازی scrub می‌شود. کلیدهایی مانند access_token، refresh_token، password، secret، client_secret، authorization و cookie با مقدار [REDACTED] جایگزین می‌شوند. هیچ token خام، کلید رمزنگاری یا گذرواژه‌ای نباید در audit log ثبت شود.

اصلاح وابستگی‌ها و انتشار Windows EXE

وابستگی / رفتار تصمیم v2.4.0 دلیل
pypdf الزام >= 6.15.0 رفع یافته‌های نسخه پایین‌تر در baseline انتشار
wheel الزام >= 0.46.2 جلوگیری از استفاده از نسخه آسیب‌پذیر گزارش‌شده
xhtml2pdf حذف از مسیر runtime و build نسخه 0.2.x برای PYSEC-2026-2056 / CVE-2024-25885 رفع منتشرشده ندارد
qifparse اختیاری نبود آن نباید مانع اجرای قابلیت‌های اصلی شود
pip-audit اجرای اجباری در gate ممیزی محیط واقعی ساخت، نه فقط فایل requirements

مسیر ساخت باید در یک virtual environment تازه و ایزوله ویندوز اجرا شود:

py -3.12 -m venv .venv-build
.\.venv-build\Scripts\Activate.ps1
py -m pip install --upgrade pip
py -m pip install -r requirements-windows-build.txt
py scripts\verify_windows_release.py
py build_exe.py

اگر verify_windows_release.py خطا برگرداند، ساخت release باید متوقف شود. این اسکریپت فایل‌های security-reports/windows-build-dependencies.json و security-reports/pip-audit.json را به‌عنوان شواهد قابل‌بازبینی تولید می‌کند. build_exe.py نیز در ویندوز همین gate را پیش از اجرای PyInstaller فراخوانی می‌کند.

تضمین کیفیت

مجموعه آزمون v2.4.0 شامل ایجاد زنجیره، پاک‌سازی داده حساس، کشف دست‌کاری، مهاجرت افزایشی schema و ثبت denial مجوزدهی است. این آزمون‌ها همراه با آزمون‌های SSO/MFA، RBAC/DPAPI، Plaid و گزارش‌دهی اجرا شده‌اند.

کنترل نتیجه اعتبارسنجی
syntax compile برای ماژول‌های امنیتی و integration موفق
تست‌های واحد و یکپارچه پروژه ۱۷ تست موفق
تشخیص tamper در زنجیره HMAC موفق
ثبت denial مجوزدهی با metadata ساختاریافته موفق
دروازه وابستگی Windows و pip-audit موفق در محیط اعتبارسنجی به‌روزشده

ملاحظات عملیاتی و ارتقا

۱. کلید امضای audit باید بخشی از backup و disaster-recovery سازمان باشد. در ویندوز، بازیابی همان زنجیره روی دستگاه/حساب دیگر به برنامه حفاظت و بازیابی DPAPI سازمان وابسته است.

۲. برای export یا انتقال لاگ به SIEM، ابتدا نتیجه AuditLogger.verify_chain() را ثبت کنید. خروجی نامعتبر باید به‌عنوان رخداد امنیتی بررسی شود، نه صرفاً یک خطای نرم‌افزاری.

۳. تمامی buildهای release باید از محیط جدید، بدون xhtml2pdf و با manifest requirements-windows-build.txt انجام شوند. نصب مستقیم و کنترل‌نشده بسته‌ها پس از عبور gate، مبنای صدور release نیست.

۴. این نسخه جایگزین کنترل‌های زیرساختی مانند محدودیت دسترسی به فایل پایگاه داده، backup رمزنگاری‌شده، EDR، SIEM و policyهای Entra نیست؛ بلکه شواهد کاربردی مکمل آن کنترل‌ها را فراهم می‌کند.

فایل‌های کلیدی

مسیر کارکرد
core/audit.py کلید امضا، HMAC chain، scrub و verify
core/models.py مدل‌های توسعه‌یافته AuditLog و AuditChainState
core/database.py migration افزایشی v2.4.0 برای SQLite
constraints-windows.txt حداقل نسخه‌ها و exclusionهای امنیتی ویندوز
requirements-windows-build.txt manifest ساخت ایزوله ویندوز
scripts/verify_windows_release.py دروازه fail-closed وابستگی و pip-audit
tests/test_audit_v24.py آزمون‌های ممیزی ساختاریافته v2.4.0

برای جزئیات اجرایی dependency remediation و واکنش به خطای gate، سند docs/V2_4_AUDIT_AND_WINDOWS_RELEASE_FA.md را مطالعه کنید.