<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>امنیت فایل اکسل on File Format Blog</title>
    <link>https://blog.fileformat.com/fa/tag/%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D9%84/</link>
    <description>Recent content in امنیت فایل اکسل on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fa</language>
    <lastBuildDate>Mon, 28 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/fa/tag/%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D9%84/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>امنیت فایل اکسل توضیح داده شد: XLSX، XLSM و خطرات ماکرو</title>
      <link>https://blog.fileformat.com/fa/spreadsheet/excel-file-security-explained-xlsx-xlsm-and-macro-risks/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/fa/spreadsheet/excel-file-security-explained-xlsx-xlsm-and-macro-risks/</guid>
      <description>تفاوت‌های واقعی امنیتی بین فایل‌های XLSX و XLSM را درک کنید، نحوه اجرای حملات مبتنی بر ماکرو را بیاموزید و روش‌های دفاع از سازمان خود در برابر صفحات گسترده مخرب را فرا بگیرید.</description>
      <content:encoded><![CDATA[<p><strong>آخرین به‌روزرسانی</strong>: 28 سپتامبر، 2026</p>
<figure class="align-center ">
    <img loading="lazy" src="images/excel-file-security-explained-xlsx-xlsm-and-macro-risks.png#center"
         alt="XLSX vs. XLSM Security: How Spreadsheet Macros Expose Your Network"/> 
</figure>

<h2 id="امنیت-فایل-اکسل-توضیح-داده-شد-xlsx-xlsm-و-خطرات-ماکرو">امنیت فایل اکسل توضیح داده شد: XLSX، XLSM و خطرات ماکرو</h2>
<p>برای دهه‌ها، مایکروسافت اکسل به‌عنوان موتور جهانی عملیات تجاری شناخته شده است. این برنامه بودجه‌های شرکتی را متعادل می‌کند، مجموعه‌های داده پیچیده را به‌صورت بصری نمایش می‌دهد، موجودی را ردیابی می‌کند و خطوط تجزیه و تحلیل را در تقریباً تمام صنایع قدرت می‌بخشد.</p>
<p>با این حال، همان انعطاف‌پذیری محاسباتی باعث شده است که صفحات گسترده به‌عنوان یک هدف دائمی برای دشمنان سایبری باقی بمانند. مهاجمان از زمان اوایل ویروس‌های ماکرو در اواخر دههٔ ۱۹۹۰، صفحات گسترده را سلاح‌گذاری کرده‌اند. در حالی که مایکروسافت و مدیران سیستم لایه‌های متعددی از دفاع را معرفی کرده‌اند — مانند جداسازی فرمت فایل و مسدودسازی پیش‌فرض ماکروها — مهندسی اجتماعی و ریسک‌های معماری ظریف همچنان باعث می‌شوند حملات متمرکز بر اکسل مرتبط بمانند.</p>
<p>برای ساختن یک وضعیت امنیتی مقاوم، توسعه‌دهندگان، مدیران و کاربران پیشرفته باید زیر سطح رابط کاربر کتاب‌کار نگاه کنند. درک چگونگی عملکرد فرمت OpenXML زیرین، تفاوت‌های سطح معماری بین <code>.xlsx</code> و <code>.xlsm</code>، و مکانیک‌های اجرای ماکرو برای دفاع از نقاط انتهایی مدرن حیاتی است.</p>
<h2 id="1-ساختار-فایلهای-مدرن-اکسل-openxml-تجزیهشده">1. ساختار فایل‌های مدرن اکسل: OpenXML تجزیه‌شده</h2>
<p>قبل از انتشار Microsoft Office 2007، اکسل فایل‌ها را عمدتاً با استفاده از فرمت‌های باینری اختصاصی ذخیره می‌کرد، که برجسته‌ترین آن فرمت <code>.xls</code> بود (تحت کنترل Binary Interchange File Format یا BIFF8). در فایل‌های <code>.xls</code>، رکوردهای داده، تعاریف قالب‌بندی، فرمول‌ها و جریان‌های ماکرو Visual Basic for Applications (VBA) در یک کانتینر ذخیره‌سازی ساختاریافته واحد بسته‌بندی می‌شدند. این امر بازرسی برنامه‌نویسی را دشوار می‌ساخت و به مهاجمان اجازه می‌داد اسکریپت‌های مخرب را در بخش‌های باینری مبهم پنهان کنند.</p>
<p>از Excel 2007 به بعد، مایکروسافت استاندارد <strong>Office Open XML (OOXML)</strong> را معرفی کرد (به‌عنوان ECMA-376 و ISO/IEC 29500 استاندارد شد). تحت OOXML، کتاب‌کارهای اکسل دیگر به‌صورت بلوک‌های باینری یکپارچه نیستند. در عوض، آن‌ها آرشیوهای فشرده هستند که شامل ساختار سلسله‌مراتبی اسناد XML، جداول روابط و دارایی‌های رسانه‌ای جاسازی‌شده می‌باشند.</p>
<h3 id="درون-محفظه-zip">درون محفظه ZIP</h3>
<p>اگر هر کتاب کار مدرن استاندارد اکسل را بگیرید و پسوند آن را به <code>.zip</code> تغییر دهید، می‌توانید محتویات آن را با هر ابزار استاندارد فشرده‌سازی استخراج کنید:</p>
<pre tabindex="0"><code>my_workbook.xlsx (extracted)
│
├── [Content_Types].xml        &lt;-- Registry of MIME types and structural parts
├── _rels/                     &lt;-- Package-level relationship mappings
│   └── .rels
├── docProps/                  &lt;-- Metadata (author, creation date, revision)
│   ├── app.xml
│   └── core.xml
└── xl/                        &lt;-- Core spreadsheet contents
    ├── workbook.xml           &lt;-- Workbook-level parameters and sheet list
    ├── styles.xml             &lt;-- Cell styles, fonts, and borders
    ├── sharedStrings.xml      &lt;-- Unique string index for performance optimization
    ├── _rels/
    │   └── workbook.xml.rels  &lt;-- Sheet and component dependencies
    └── worksheets/
        ├── sheet1.xml         &lt;-- Raw cell values, formulas, and grid geometry
        └── sheet2.xml
</code></pre><p>این تغییر ساختاری مزایای امنیتی فوری را فراهم کرد:</p>
<ol>
<li><strong>DPI (بازرسی عمیق بسته) و قابلیت مشاهده دروازه:</strong> دستگاه‌های امنیتی، پروکسی‌ها و عوامل نقطه انتهایی می‌توانند آرشیو را به‌صورت زنده باز کنند و درخت‌های XML متنی را تجزیه کنند تا رشته‌های مشکوک، URLهای خارجی یا اشیای جاسازی‌شده را شناسایی کنند.</li>
<li><strong>تأیید فایل به‌صورت قطعی:</strong> اگر فایلی ادعا کند یک سند OpenXML است اما قوانین طرحواره را نقض کند، اکسل از باز کردن آن خودداری می‌کند یا آن را در حالت بازیابی ایزوله اجرا می‌کند.</li>
<li><strong>جداسازی فرمت:</strong> مایکروسافت صفحات‌گسترده محاسباتی معمولی را از فایل‌هایی که قادر به اجرای اسکریپت‌های رویه‌ای جاسازی‌شده هستند، جدا کرد.</li>
</ol>
<h2 id="۲-xlsx1-vs-xlsm7-مرز-معماری">۲. <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> vs. <a href="https://docs.fileformat.com/spreadsheet/xlsm/">XLSM</a>: مرز معماری</h2>
<p>تفاوت اصلی بین <code>.xlsx</code> و <code>.xlsm</code> در این است که آیا ساختار فایل اجازهٔ گنجاندن پروژه‌های ماکرو اجرایی را می‌دهد یا نه.</p>
<table>
<thead>
<tr>
<th style="text-align:left">ویژگی / بعد</th>
<th style="text-align:left"><code>.xlsx</code> (صفحه‌گسترده OpenXML اکسل)</th>
<th style="text-align:left"><code>.xlsm</code> (صفحه‌گسترده اکسل با ماکرو)</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>نوع محتوای MIME</strong></td>
<td style="text-align:left"><code>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</code></td>
<td style="text-align:left"><code>application/vnd.ms-excel.sheet.macroEnabled.12</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>محفظه ذخیره‌سازی VBA</strong></td>
<td style="text-align:left"><strong>به‌طور سفت و سخت ممنوع.</strong> نمی‌توان <code>vbaProject.bin</code> را ذخیره کرد</td>
<td style="text-align:left"><strong>مجاز.</strong> شامل <code>xl/vbaProject.bin</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>خطر اجرای بومی</strong></td>
<td style="text-align:left">ناچیز برای اجرای ماکرو؛ محدود به تزریق فرمول/DDE</td>
<td style="text-align:left">بالا؛ می‌تواند کد VBA خودکار را هنگام تعامل با کتاب‌کار اجرا کند</td>
</tr>
<tr>
<td style="text-align:left"><strong>طرح‌وارهٔ OpenXML Strict</strong></td>
<td style="text-align:left">مطابق با تعاریف XML سخت‌گیرانه و بدون ماکرو</td>
<td style="text-align:left">شامل تعاریف برای افزونه‌های اتوماسیون قدیمی و مدرن</td>
</tr>
<tr>
<td style="text-align:left"><strong>نشانگر بصری کاربر</strong></td>
<td style="text-align:left">آیکون صفحه‌گسترده سبز استاندارد</td>
<td style="text-align:left">آیکون صفحه‌گسترده با نشان تعجب</td>
</tr>
</tbody>
</table>
<h3 id="مکانیزم-اجرای-قانون-چرا-xlsx-نمیتواند-ماکروها-را-اجرا-کند">مکانیزم اجرای قانون: چرا XLSX نمی‌تواند ماکروها را اجرا کند</h3>
<p>یک سؤال رایج میان مدیران و توسعه‌دهندگان تازه‌کار این است: <em>اگر یک مهاجم یک فایل مخرب <code>.xlsm</code> بگیرد، کد اجرایی را تزریق کند و پسوند فایل را به <code>.xlsx</code> تغییر دهد، چه اتفاقی می‌افتد؟</em></p>
<p>پاسخ کوتاه: <strong>فایل ماکرو را اجرا نخواهد کرد.</strong></p>
<p>اکسل به‌طور کامل به پسوند فایل برای تعیین قوانین اجرا تکیه نمی‌کند. هنگام باز کردن فایلی با نام <code>.xlsx</code>:</p>
<ol>
<li>اکسل محتوای فشرده (zip) را بررسی می‌کند و به <code>[Content_Types].xml</code> ارجاع می‌دهد.</li>
<li>در یک فایل واقعی <code>.xlsx</code>، تمام انواع محتوا تعریف‌شده نمایانگر عناصر داده استاندارد هستند (مانند <code>worksheet</code>، <code>sharedStrings</code> یا <code>styles</code>).</li>
<li>اگر یک مهاجم به‌صورت دستی یک جریان VBA کامپایل‌شده (<code>xl/vbaProject.bin</code>) را به بستهٔ <code>.xlsx</code> تزریق کند و روابط (relationships) را به‌روز رسانی کند، اکسل با یک تناقض واضح در طرح‌واره (schema) مواجه می‌شود:
<ul>
<li>اکسل یک پسوند <code>.xlsx</code> را می‌بیند که به انواع محتوا مرتبط است که قابلیت ماکرو را نشان می‌دهند.</li>
<li>اکسل یک خطای جدی یکپارچگی می‌اندازد: <em>&ldquo;اکسل نمی‌تواند فایل &lsquo;filename.xlsx&rsquo; را باز کند زیرا قالب یا پسوند فایل معتبر نیست. اطمینان حاصل کنید که فایل خراب نشده است&hellip;&rdquo;</em></li>
</ul>
</li>
<li>اگر مهاجم انواع داخلی را دست‌نخورده بگذارد بدون اینکه باینری را ثبت کند، اکسل <code>vbaProject.bin</code> را به‌عنوان یک پیوست بدون ارجاع و یتیم درون آرشیو zip در نظر می‌گیرد و آن را به‌طور کامل در طول چرخه بارگذاری حذف می‌کند.</li>
</ol>
<p>در نتیجه، <strong>فایلی که به‌طور دقیق به‌عنوان یک کانتینر واقعی <code>.xlsx</code> عمل می‌کند نمی‌تواند کد بومی VBA را اجرا کند.</strong> اما این به این معنی نیست که فایل‌های <code>.xlsx</code> از تمام مسیرهای حمله آزاد هستند، همان‌طور که در ادامه این راهنما بررسی می‌شود.</p>
<h2 id="۳-ریسکهای-ماکرو-و-چرخه-حیات-حمله">۳. ریسک‌های ماکرو و چرخه حیات حمله</h2>
<p>ماکروها برای خودکارسازی وظایف تکراری حسابداری، مدل‌سازی مالی و دستکاری داده‌ها از طریق Visual Basic for Applications (VBA) طراحی شدند. از آنجا که VBA برای اتوماسیون محیط کار ساخته شده بود، دسترسی گسترده‌ای به سیستم‌عامل ویندوز زیرین از طریق Component Object Model (COM)، Windows Script Host (WSH) و فراخوانی‌های مستقیم Win32 API فراهم شد.</p>
<p>هنگامی که یک ماکرو غیرقابل اعتماد اجرا می‌شود، با <strong>دسترسی دقیقاً مشابه کاربر وارد شده</strong> اجرا می‌گردد. این ماکرو در یک محیط ایزوله‌سازی مرورگر شبیه‌سازی‌شده به سبک JavaScript محبوس نمی‌شود.</p>
<pre tabindex="0"><code>+--------------------------------------------------------------------------------+
|                             ATTACK LIFECYCLE                                   |
+--------------------------------------------------------------------------------+
                                       │
                                       ▼
  [ Delivery &amp; Evasion ]  ──────► Spear-phishing email with .xlsm, .xlam, or .zip.
                                       │
                                       ▼
  [ Social Engineering ]  ──────► Lures victim to bypass Protected View (&#34;Enable Content&#34;).
                                       │
                                       ▼
  [ Auto-Execution ]      ──────► Auto_Open() or Workbook_Open() triggers automatically.
                                       │
                                       ▼
  [ System Invocation ]   ──────► VBA creates COM objects (WScript.Shell, WinHttp.WinHttpRequest).
                                       │
                                       ▼
  [ Payload Retrieval ]   ──────► Spawns hidden PowerShell/cURL to fetch staging binary.
                                       │
                                       ▼
  [ Post-Exploitation ]   ──────► In-memory execution, credential theft, lateral movement.
</code></pre><h3 id="تکنیکهای-رایج-ورود-ماکرو">تکنیک‌های رایج ورود ماکرو</h3>
<ol>
<li>
<p><strong>هوک‌های خودکار اجرا:</strong>
حمله‌کنندگان نقطه ورود خود را در داخل هندلرهای رویداد ذاتی مانند <code>Sub Auto_Open()</code> یا <code>Private Sub Workbook_Open()</code> قرار می‌دهند. به محض این‌که کاربر اجازه اجرا را بدهد، این روتین‌ها بدون نیاز به کلیک داخل صفحه‌گسترده فعال می‌شوند.</p>
</li>
<li>
<p><strong>پنهان‌سازی و Stomping:</strong></p>
<ul>
<li><strong>پنهان‌سازی رشته:</strong> بارهای مخرب URLها و فراخوانی‌های سیستم را با استفاده از آرایه‌های کاراکتری، رمزگذاری XOR، رمزگشایی Base64، یا ترکیب متغیرهای محیطی (مثلاً <code>Chr(112) &amp; Chr(111) &amp; Chr(119)...</code>) مخفی می‌کنند.</li>
<li><strong>VBA Stomping:</strong> VBA در داخل <code>vbaProject.bin</code> به دو شکل وجود دارد: کد منبع تفسیرشده و p-code کامپایل‌شده (کد شبه‌پروگرام هدف‌گذاری‌شده برای نسخه خاص Office که آن را کامپایل کرده است). حمله‌کنندگان می‌توانند کد منبع واضح را به‌طور کامل پاک کنند و فقط p-code کامپایل‌شده باقی بماند. بسیاری از راه‌حل‌های آنتی‌ویروس پایه و تجزیه‌گرهای ایستاتیک فقط جریان منبع را بررسی می‌کنند و p-code تا زمانی که توسط نسخهٔ Office مطابقت داشته باشد، کشف نمی‌شود.</li>
</ul>
</li>
<li>
<p><strong>استفاده از ابزارهای بومی (LotL):</strong>
ماکروهای مخرب مدرن به ندرت یک فایل <code>.exe</code> را مستقیماً روی دیسک می‌اندازند، که بلافاصله عوامل تشخیص و پاسخ به نقطه انتهایی (EDR) را هشدار می‌دهد. در عوض، آن‌ها با ابزارهای سیستمی داخلی تعامل می‌کنند:</p>
<ul>
<li>ایجاد نمونهٔ <code>WScript.Shell</code> برای اجرای آرگومان‌های خط فرمان.</li>
<li>فراخوانی <code>PowerShell.exe</code> با دور زدن سیاست اجرای (<code>-ExecutionPolicy Bypass -WindowStyle Hidden</code>).</li>
<li>فراخوانی APIهای بومی Win32 از طریق <code>Declare PtrSafe Function CreateProcess</code> یا <code>VirtualAlloc</code> برای تزریق شل‌کد مستقیم به حافظه سیستم.</li>
</ul>
</li>
</ol>
<h2 id="۴-بردارهای-تهدید-دیگر-در-صفحات-گسترده-فراتر-از-vba-استاندارد">۴. بردارهای تهدید دیگر در صفحات گسترده (فراتر از VBA استاندارد)</h2>
<p>ایمن‌سازی یک محیط در برابر فایل‌های <code>.xlsm</code> تنها نیمی از مبارزه است. دشمنان همچنین از مکانیزم‌هایی استفاده می‌کنند که به‌صورت مستقل از VBA سنتی عمل می‌کنند.</p>
<h3 id="تبادل-داده-پویا-dde-و-تزریق-csv11">تبادل داده پویا (DDE) و تزریق <a href="https://docs.fileformat.com/spreadsheet/csv/">CSV</a></h3>
<p>اکسل دارای یک پروتکل قدیمی به نام Dynamic Data Exchange (DDE) است که برای امکان‌پذیر کردن اشتراک‌گذاری داده‌ها بین برنامه‌های در حال اجرا طراحی شده است (به عنوان مثال، پخش زنده داده‌های تیکر سهام از یک برنامه جداگانه به یک سلول اکسل).</p>
<ul>
<li><strong>نحوه عملکرد تزریق فرمول:</strong>
زمانی که یک سلول صفحه‌گسترده با کاراکترهایی مانند <code>=</code>, <code>@</code>, <code>+</code> یا <code>-</code> شروع می‌شود، اکسل محتوا را به‌عنوان یک فرمول تفسیر می‌کند. اگر یک مهاجم ورودی‌ای که به‌صورت CSV یا XLSX به یک صفحه‌گسترده صادر می‌شود (مانند فیلد &ldquo;Comments&rdquo; بدون پاک‌سازی در یک برنامه وب) را کنترل کند، می‌تواند تزریق کند:
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>=cmd|&#39;/C powershell.exe -w hidden -enc &lt;base64_payload&gt;&#39;!A0
</span></span></code></pre></div></li>
<li>هنگامی که باز می‌شود، اکسل فرمول را ارزیابی می‌کند، با یک پیام هشدار به کاربر دربارهٔ شروع یک برنامه خارجی اطلاع می‌دهد و در صورت تأیید، شل سیستم را اجرا می‌کند.</li>
</ul>
<h3 id="ماکروهای-قدیمی-excel-40-xlm">ماکروهای قدیمی Excel 4.0 (XLM)</h3>
<p>قبل از معرفی VBA در سال 1993، اکسل از یک سیستم ماکرو مبتنی بر فرمول به نام <strong>ماکروهای Excel 4.0 (XLM)</strong> استفاده می‌کرد. این ماکروها در داخل شیت‌های ماکرو اختصاصی قرار می‌گیرند نه در یک پروژه VBA جداگانه.</p>
<p>به دلیل اینکه ماکروهای XLM به‌صورت فرمول‌های سلولی (مانند <code>=EXEC(\&quot;calc.exe\&quot;)</code>) نوشته می‌شوند، بسیاری از موتورهای بازرسی ایستای استاندارد VBA را دور می‌زنند. مهاجمان در اواخر دهه ۲۰۱۰ و اوایل ۲۰۲۰ به ماکروهای XLM ترجیح می‌دادند تا از شناسایی خودکار فرار کنند، پیش از این که مایکروسافت آنها را به‌صورت پیش‌فرض در نسخه‌های جدید سازمانی غیرفعال کند.</p>
<h3 id="اتصالات-خارجی-مخرب-و-اشیاء-ole">اتصالات خارجی مخرب و اشیاء OLE</h3>
<p>یک کتاب کار <code>.xlsx</code> معمولی همچنان می‌تواند از طریق منابع خارجی خطر ایجاد کند:</p>
<ul>
<li><strong>پکیج‌های OLE جاسازی‌شده:</strong> یک مهاجم می‌تواند یک فایل اجرایی مخفی‌شده به‌صورت آیکون PDF جاسازی‌شده را مستقیماً درون شیت وارد کند.</li>
<li><strong>لینک‌های کتاب کار خارجی و پرس‌وجوهای وب:</strong> یک فایل XLSX می‌تواند شامل مراجع خارجی باشد که به‌صورت خودکار درخواست‌های HTTP GET به سرورهای فرمان و کنترل (C2) تحت کنترل مهاجم هنگام باز کردن فایل ارسال می‌کند، که عمدتاً برای شناسایی یا حملات جمع‌آوری هش netNTLM استفاده می‌شود.</li>
</ul>
<h2 id="5-تقویت-سازمانی-و-استراتژیهای-دفاع-در-عمق">5. تقویت سازمانی و استراتژی‌های دفاع در عمق</h2>
<p>دفاع در برابر تهدیدات ناشی از اکسل نیاز به رویکرد لایه‌ای دارد که شامل بازرسی شبکه، پیکربندی سیستم، کنترل‌های دسترسی و فرآیندهای عملیاتی می‌شود.</p>
<pre tabindex="0"><code>+─────────────────────────────────────────────────────────+
|                  ENTERPRISE DEFENSE LAYERS               |
+─────────────────────────────────────────────────────────+
|  PERIMETER: Drop inbound .xlsm, .xla, and .xltm at mail |
|  gateway unless cryptographically signed or exempted.   |
+---------------------------------------------------------+
|  IDENTITY &amp; POLICY: Enforce ASR rules and apply         |
|  Mark of the Web (MotW) macro execution blocks.         |
+---------------------------------------------------------+
|  RUNTIME: Hook AMSI into Office to evaluate dynamic     |
|  VBA buffers directly before execution.                 |
+---------------------------------------------------------+
|  STORAGE: Restrict macro execution exclusively to       |
|  managed, centralized Trusted Locations.                |
+─────────────────────────────────────────────────────────+
</code></pre><h3 id="1-اعمال-علامت-وب-motw-برای-مسدودسازی-ماکروها">1. اعمال علامت وب (MotW) برای مسدودسازی ماکروها</h3>
<p>در سال ۲۰۲۲، مایکروسافت رفتار پیش‌فرض برنامه‌های Office را به‌روزرسانی کرد: ماکروها در فایل‌هایی که از اینترنت آمده‌اند به‌صورت <strong>به‌طور پیش‌فرض مسدود</strong> می‌شوند.</p>
<p>هنگامی که کاربر فایلی را از طریق مرورگر یا کلاینت خارجی دانلود می‌کند، ویندوز فایل را با یک جریان داده جایگزین (ADS) به نام <code>Zone.Identifier</code> (منطقه ۳ نشان‌دهنده اینترنت است) برچسب می‌زند. برای فایل‌هایی که این علامت را دارند، اکسل ماکروها را به‌طور کامل غیرفعال می‌کند و بنر امنیتی قرمز نشان می‌دهد: &gt; <em>&ldquo;ریسک امنیتی: مایکروسافت ماکروها را از اجرا مسدود کرده است زیرا منبع این فایل غیرقابل اعتماد است.&rdquo;</em></p>
<p><strong>اقدام اداری:</strong> اطمینان حاصل کنید که این رفتار از طریق Group Policy اعمال می‌شود و کاربران نهایی نمی‌توانند آن را نادیده بگیرند:</p>
<ul>
<li><strong>مسیر GPO:</strong> <code>User Configuration &gt; Administrative Templates &gt; Microsoft Excel 2016 &gt; Excel Options &gt; Security &gt; Trust Center</code></li>
<li><strong>تنظیم:</strong> فعال‌سازی <em>&ldquo;مسدود کردن ماکروها از اجرا در فایل‌های Office از اینترنت&rdquo;</em>.</li>
</ul>
<h3 id="2-پیکربندی-قوانین-کاهش-سطح-حمله-asr">2. پیکربندی قوانین کاهش سطح حمله (ASR)</h3>
<p>سازمان‌هایی که از Microsoft Defender for Endpoint استفاده می‌کنند باید قوانین اصلی کاهش سطح حمله (Attack Surface Reduction) که به‌طور خاص برای برنامه‌های Office طراحی شده‌اند را فعال کنند:</p>
<ul>
<li><code>Block Office applications from creating child processes</code> (GUID: <code>D4F940AB-401B-4EFC-AADC-AD5F3C50688A</code>)
<ul>
<li><em>از راه‌اندازی PowerShell، CMD یا موتورهای اسکریپت توسط Excel جلوگیری می‌کند.</em></li>
</ul>
</li>
<li><code>مسدود کردن برنامه‌های Office از تزریق کد به فرآیندهای دیگر</code> (GUID: <code>75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84</code>)</li>
<li><code>مسدود کردن فراخوانی‌های Win32 API از ماکروهای Office</code> (GUID: <code>92E6390C-CF9E-43CE-BD8C-0E6F0FE66680</code>)</li>
</ul>
<h3 id="3-بهرهگیری-از-رابط-اسکن-ضدبدافزار-amsi">3. بهره‌گیری از رابط اسکن ضدبدافزار (AMSI)</h3>
<p>نسخه‌های مدرن Microsoft 365 اجرای VBA را مستقیماً با AMSI یکپارچه می‌کنند. حتی اگر یک مهاجم از مبهم‌سازی پیچیده رشته‌ها یا VBA stomping استفاده کند، موتور زمان اجرا VBA دستورات بازسازی‌شده و بدون رمزگذاری را دقیقاً یک میلی‌ثانیه قبل از اجرا به موتور آنتی‌ویروس/EDR نصب‌شده شما می‌فرستد. اطمینان حاصل کنید که حفاظت نقطه انتهایی شما به‌طور فعال رویدادهای زمان اجرا AMSI را نظارت می‌کند.</p>
<h3 id="4-انتقال-به-مکانهای-مورد-اعتماد-و-گواهیهای-دیجیتال">4. انتقال به مکان‌های مورد اعتماد و گواهی‌های دیجیتال</h3>
<p>برای سازمان‌هایی که به صفحات‌گسترده خودکار برای عملیات روزانه وابسته هستند:</p>
<ul>
<li><strong>حذف فایل‌های XLSM پراکنده در پوشه‌های دانلود یا دسکتاپ کاربران.</strong></li>
<li><strong>استفاده از مکان‌های مورد اعتماد:</strong> محدود کردن اجرای ماکروها به‌طور انحصاری به اشتراک‌گذاری‌های شبکه فقط-خواندنی که توسط مدیران فناوری اطلاعات مدیریت می‌شوند.</li>
<li><strong>امضای کد:</strong> اجبار به این که تمام ماکروهای داخلی توسعه‌یافته با استفاده از گواهی صادر شده توسط زیرساخت کلید عمومی (PKI) سازمانی به‌صورت رمزنگاری‌شده امضا شوند. Excel را طوری تنظیم کنید که <strong>فقط</strong> ماکروهای دیجیتالی امضا شده را اجرا کند و به‌صورت ساکت ماکروهای بدون امضا را مسدود سازد.</li>
</ul>
<h2 id="6-دیدگاه-توسعهدهنده-ساخت-خودکارسازی-ایمن">6. دیدگاه توسعه‌دهنده: ساخت خودکارسازی ایمن</h2>
<p>اگر در حال ساخت نرم‌افزاری هستید که فایل‌های Excel را تجزیه، تولید یا مصرف می‌کند (مثلاً خطوط لوله Python با استفاده از <code>pandas</code>/<code>openpyxl</code>، میکروسرویس‌های Node.js، یا برنامه‌های C#/.NET)، این اقدامات ایمنی توسعه را اعمال کنید:</p>
<ol>
<li>
<p><strong>رد کردن فرمت‌های فایل غیرمنتظره در مرز بارگذاری:</strong>
اگر برنامه شما انتظار گزارش‌های مالی را دارد، به‌دقت صحت فایل‌های ورودی را که باید با <code>.xlsx</code> مطابقت داشته باشند، اعتبارسنجی کنید. بایت‌های جادویی داخلی (سرآیند استاندارد zip <code>50 4B 03 04</code>) را بررسی کنید و اطمینان حاصل کنید که هیچ ورودی <code>vbaProject.bin</code> در فهرست آرشیو وجود ندارد قبل از ذخیره‌سازی در سطل‌های ابری یا پایگاه‌های داده.</p>
</li>
<li>
<p><strong>پاک‌سازی داده‌ها در برابر تزریق فرمول:</strong>
هنگام خروجی‌گیری ورودی‌های تولید شده توسط کاربر به فایل‌های CSV یا XLSX، یک علامت کوتیشن (<code>'</code>) یا یک فاصله به هر سلولی که با کاراکترهای خطرناک (<code>=</code>, <code>+</code>, <code>-</code>, <code>@</code>, <code>\t</code>, <code>\r</code>) شروع می‌شود، اضافه کنید:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">sanitize_for_spreadsheet</span>(value: str) <span style="color:#f92672">-&gt;</span> str:
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> value <span style="color:#f92672">and</span> value[<span style="color:#ae81ff">0</span>] <span style="color:#f92672">in</span> (<span style="color:#e6db74">&#39;=&#39;</span>, <span style="color:#e6db74">&#39;+&#39;</span>, <span style="color:#e6db74">&#39;-&#39;</span>, <span style="color:#e6db74">&#39;@&#39;</span>, <span style="color:#e6db74">&#39;</span><span style="color:#ae81ff">\t</span><span style="color:#e6db74">&#39;</span>, <span style="color:#e6db74">&#39;</span><span style="color:#ae81ff">\r</span><span style="color:#e6db74">&#39;</span>):
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;&#39;</span><span style="color:#e6db74">{</span>value<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> value
</span></span></code></pre></div></li>
<li>
<p><strong>انتقال از VBA به Office Scripts یا افزونه‌های وب:</strong>
برای خودکارسازی مدرن سازمانی، VBA قدیمی را به‌طور کامل حذف کنید:</p>
<ul>
<li><strong>Office Scripts:</strong> نوشته شده به TypeScript، Office Scripts در یک محیط ابری ایزوله اجرا می‌شوند و به‌صورت یکپارچه در نسخه‌های وب و دسکتاپ کار می‌کنند بدون اینکه فراخوانی‌های سیستم‌عامل بومی را افشا کنند.</li>
<li><strong>افزونه‌های وب آفیس:</strong> ساخته شده با استفاده از HTML، CSS استاندارد و جاوااسکریپت مدرن، افزونه‌های وب از طریق APIهای مدیریت‌شده جاوااسکریپت ارتباط برقرار می‌کنند و از سیستم‌عامل محلی جدا هستند.</li>
</ul>
</li>
</ol>
<h2 id="7-فهرست-بررسی-خلاصه-برای-امنیت-صفحات-گسترده">7. فهرست بررسی خلاصه برای امنیت صفحات گسترده</h2>
<ul>
<li><input disabled="" type="checkbox"> <strong>اجبار <code>.xlsx</code> به‌صورت پیش‌فرض:</strong> نیازمند این است که تمام جریان‌های کاری استاندارد کاربر به‌صورت بدون ماکرو <code>.xlsx</code> ذخیره شوند.</li>
<li><input disabled="" type="checkbox"> <strong>مسدود کردن ماکروهای منبع اینترنت:</strong> تأیید کنید که اجرای سیاست MotW در سراسر سازمان شما از طریق GPO یا Intune اعمال شده است.</li>
<li><input disabled="" type="checkbox"> <strong>فعال‌سازی قوانین ASR:</strong> جلوگیری از این که محصولات آفیس مفسرهای دستوری یا فرآیندهای فرعی ایجاد کنند.</li>
<li><input disabled="" type="checkbox"> <strong>منسوخ‌سازی Excel 4.0 (XLM):</strong> اطمینان حاصل کنید که موتورهای ماکرو XLM قدیمی به‌صورت دائمی در تمام ایستگاه‌های کاری غیرفعال شده‌اند.</li>
<li><input disabled="" type="checkbox"> <strong>پاک‌سازی خروجی‌های برنامه:</strong> محافظت از روتین‌های تولید CSV و Excel در برابر تزریق CSV/فرمول.</li>
<li><input disabled="" type="checkbox"> <strong>انتقال به سمت Office Scripts:</strong> ماکروهای اداری قدیمی را به Office Scripts مبتنی بر TypeScript و APIهای مدیریت‌شده تبدیل کنید.</li>
</ul>
<p>با در نظر گرفتن صفحات گسترده نه تنها به‌عنوان فایل‌های سند، بلکه به‌عنوان کانتینرهای نرم‌افزاری ساختار یافته‌ای که قابلیت اجرا دارند، تیم‌های امنیتی و توسعه‌دهندگان می‌توانند به‌طور مؤثر یکی از قدیمی‌ترین مسیرهای حمله در محاسبات سازمانی را خنثی کنند.</p>
<h1 id="سوالات-متداول-faq">سوالات متداول (FAQ)</h1>
<h3 id="سوال-۱-آیا-فایلی-که-با-پسوند-xlsx-پایان-مییابد-میتواند-ماکروی-مخرب-اجرا-کند">سوال ۱: آیا فایلی که با پسوند <code>.xlsx</code> پایان می‌یابد می‌تواند ماکروی مخرب اجرا کند؟</h3>
<p>نه، استاندارد OpenXML به‌طور سخت‌گیرانه کد ماکرو را در فایل‌های <code>.xlsx</code> ممنوع می‌کند و اکسل هر پروژه VBA که به یک کانتینر واقعی <code>.xlsx</code> تزریق شود را رد یا حذف خواهد کرد.</p>
<h3 id="سوال-۲-اگر-یک-فایل-اکسل-از-من-بخواهد-enable-editing-یا-enable-content-را-فعال-کنم-چه-کاری-باید-انجام-دهم">سوال ۲: اگر یک فایل اکسل از من بخواهد &ldquo;Enable Editing&rdquo; یا &ldquo;Enable Content&rdquo; را فعال کنم، چه کاری باید انجام دهم؟</h3>
<p>فقط در صورتی که فرستنده را می‌شناسید و فایل را انتظار داشته‌اید، اجازه بدهید؛ این پیام اصلی‌ترین نقطه بررسی است که به ماکروهای غیرقابل اعتماد اجازه اجرای کد می‌دهد.</p>
<h3 id="سوال-۳-مایکروسافت-اکسل-چگونه-تشخیص-میدهد-که-یک-فایل-از-اینترنت-آمده-است">سوال ۳: مایکروسافت اکسل چگونه تشخیص می‌دهد که یک فایل از اینترنت آمده است؟</h3>
<p>ویندوز یک جریان مخفی &quot;Mark of the Web&quot; (Zone.Identifier) را به فایل‌های دانلود شده اضافه می‌کند که به اکسل می‌گوید آنها را در نمای محافظت‌شده باز کند و به‌صورت پیش‌فرض ماکروها را مسدود کند.</p>
<h3 id="سوال-۴-آیا-فایلهای-csv-نسبت-به-فایلهای-xlsx1-و-xlsm7-ایمنتر-هستند">سوال ۴: آیا فایل‌های CSV نسبت به فایل‌های <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> و <a href="https://docs.fileformat.com/spreadsheet/xlsm/">XLSM</a> ایمن‌تر هستند؟</h3>
<p>فایل‌های CSV نمی‌توانند ماکروهای VBA بومی داشته باشند، اما اگر شامل دستورات مخرب باشند که توسط اکسل هنگام باز شدن اجرا می‌شوند، در برابر حملات تزریق فرمول آسیب‌پذیر می‌مانند.</p>
<h3 id="سوال-۵-اسکریپتهای-مدرن-office-چگونه-با-ماکروهای-سنتی-vba-متفاوت-هستند">سوال ۵: اسکریپت‌های مدرن Office چگونه با ماکروهای سنتی VBA متفاوت هستند؟</h3>
<p>اسکریپت‌های Office بر پایه TypeScript در یک محیط زمان اجرا ایزوله اجرا می‌شوند و از دسترسی به سیستم فایل محلی، خط فرمان یا APIهای سیستم‌عامل جلوگیری می‌کنند.</p>
<h2 id="موارد-مرتبط">موارد مرتبط</h2>
<ul>
<li><a href="https://blog.fileformat.com/en/spreadsheet/csv-vs-xlsx-vs-ods-in-2026-best-spreadsheet-format-for-developers/">CSV در مقابل XLSX در مقابل ODS در سال 2026: بهترین قالب صفحه‌گسترده برای توسعه‌دهندگان</a></li>
<li><a href="https://blog.fileformat.com/en/spreadsheet/xls-vs-xlsx-vs-xlsm-vs-xlsb-choosing-the-right-spreadsheet-format/">XLS در مقابل XLSX در مقابل XLSM در مقابل XLSB - انتخاب قالب مناسب صفحه‌گسترده</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/what-is-excel/">Excel چیست؟ اطلاعات کلیدی که باید بدانید</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/excel-file-extensions-xlsx-xlsm-xls-xltx-xltm/">قالب‌های فایل اکسل: XLSX، XLSM، XLS، XLTX، XLTM</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/xls-vs-xlsx/">تفاوت بین XLS و XLSX</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
