<?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>XLSX مقابل XLSM on File Format Blog</title>
    <link>https://blog.fileformat.com/ar/tag/xlsx-%D9%85%D9%82%D8%A7%D8%A8%D9%84-xlsm/</link>
    <description>Recent content in XLSX مقابل XLSM on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ar</language>
    <lastBuildDate>Mon, 28 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/ar/tag/xlsx-%D9%85%D9%82%D8%A7%D8%A8%D9%84-xlsm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>شرح أمان ملفات Excel: XLSX، XLSM، ومخاطر الماكرو</title>
      <link>https://blog.fileformat.com/ar/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/ar/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="شرح-أمان-ملفات-excel-xlsx-xlsm-ومخاطر-الماكرو">شرح أمان ملفات Excel: XLSX، XLSM، ومخاطر الماكرو</h2>
<p>على مدى عقود، ظل مايكروسوفت إكسل هو المحرك الشامل للعمليات التجارية. فهو يوازن ميزانيات الشركات، ويُصوِّر مجموعات البيانات المعقدة، ويتتبع المخزون، ويقوِّي خطوط التحليل عبر تقريبًا كل الصناعات.</p>
<p>ومع ذلك، فإن نفس المرونة الحاسوبية تجعل جداول البيانات مفضلة دائمة بين الخصوم السيبرانيين. لقد سخر المهاجمون جداول البيانات كأسلحة منذ الأيام الأولى لفيروسات الماكرو في أواخر التسعينيات. بينما قدمت مايكروسوفت ومسؤولو النظام عدة طبقات من الدفاع—مثل فصل صيغ الملفات وحجب الماكرو الافتراضي—لا يزال الهندسة الاجتماعية والمخاطر المعمارية الدقيقة تحافظ على صلة الهجمات التي تستهدف إكسل.</p>
<p>لبناء وضع أمان مرن، يجب على المطورين والمسؤولين والمستخدمين المتقدمين النظر تحت واجهة المصنف. فهم كيفية عمل تنسيق OpenXML الأساسي، وكيف تختلف <code>.xlsx</code> و <code>.xlsm</code> على مستوى معماري، وكيف تعمل آليات تنفيذ الماكرو أمر حيوي للدفاع عن نقاط النهاية الحديثة.</p>
<h2 id="1-تشريح-ملفات-excel-الحديثة-تفكيك-openxml">1. تشريح ملفات Excel الحديثة: تفكيك OpenXML</h2>
<p>قبل إصدار Microsoft Office 2007، كان Excel يحفظ الملفات أساسًا باستخدام تنسيقات ثنائية مملوكة، وأبرزها تنسيق <code>.xls</code> (المحكم بواسطة تنسيق تبادل الملفات الثنائية، أو BIFF8). في ملفات <code>.xls</code>، تُجَمَّع سجلات البيانات وتعريفات التنسيق والصيغ وتدفقات ماكرو Visual Basic for Applications (VBA) في حاوية تخزين منظمة واحدة. جعل ذلك فحص البرمجيات صعبًا وسمح للمهاجمين بإخفاء نصوص حمولة خبيثة داخل قطاعات ثنائية غير شفافة.</p>
<p>بدءًا من Excel 2007، قدمت Microsoft معيار <strong>Office Open XML (OOXML)</strong> (المُعتمد كـ ECMA-376 و ISO/IEC 29500). تحت معيار OOXML، لم تعد مصنفات Excel كتلًا ثنائية موحدة. بل هي أرشيفات مضغوطة تحتوي على بنية هرمية من مستندات 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="2-xlsx1-مقابل-xlsm7-الحد-المعماري">2. <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> مقابل <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 الصارم</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>لا يعتمد Excel بشكل حصري على امتداد الملف لتحديد قواعد التنفيذ. عند فتح ملف يحمل الاسم <code>.xlsx</code>:</p>
<ol>
<li>يقوم Excel بفحص حزمة 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> وقام بتحديث العلاقات، يواجه Excel تناقضًا صريحًا في المخطط:
<ul>
<li>يرى أن امتداد <code>.xlsx</code> مرتبط بأنواع محتوى تشير إلى إمكانية الماكرو.</li>
<li>يقوم Excel بإلقاء خطأ تكامل فادح: <em>&ldquo;Excel لا يمكنه فتح الملف &lsquo;filename.xlsx&rsquo; لأن تنسيق الملف أو امتداده غير صالح. تحقق من أن الملف لم يتلف&hellip;&rdquo;</em></li>
</ul>
</li>
<li>إذا ترك المهاجم الأنواع الداخلية دون تعديل دون تسجيل الملف الثنائي، فإن Excel يتعامل مع <code>vbaProject.bin</code> كملف مرفق غير مُشار إليه ومهجور داخل أرشيف zip ويتجاهله تمامًا أثناء دورة التحميل.</li>
</ol>
<p>وبالتالي، <strong>ملف يعمل بصرامة كحاوية <code>.xlsx</code> حقيقية لا يمكنه تشغيل كود VBA الأصلي.</strong> ومع ذلك، لا يعني ذلك أن ملفات <code>.xlsx</code> خالية من جميع مسارات الهجوم، كما سيتم استكشافه لاحقًا في هذا الدليل.</p>
<h2 id="3-مخاطر-الماكرو-ودورة-حياة-الهجوم">3. مخاطر الماكرو ودورة حياة الهجوم</h2>
<p>تم تصميم الماكرو لأتمتة مهام المحاسبة المتكررة، ونمذجة المالية، ومعالجة البيانات عبر Visual Basic for Applications (VBA). وبما أن VBA تم بناؤه لأتمتة بيئة العمل، فقد مُنح وصولًا واسعًا إلى نظام تشغيل Windows الأساسي من خلال 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>إخفاء وتدمير:</strong></p>
<ul>
<li><strong>إخفاء السلاسل:</strong> تقوم الحمولات بإخفاء عناوين URL واستدعاءات النظام باستخدام مصفوفات الأحرف، ترميز XOR، فك تشفير Base64، أو دمج متغيرات البيئة (مثال: <code>Chr(112) &amp; Chr(111) &amp; Chr(119)...</code>).</li>
<li><strong>تدمير VBA:</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>استدعاء واجهات برمجة التطبيقات الأصلية Win32 عبر <code>Declare PtrSafe Function CreateProcess</code> أو <code>VirtualAlloc</code> لحقن الشيل كود مباشرةً في ذاكرة النظام.</li>
</ul>
</li>
</ol>
<h2 id="4-متجهات-تهديد-أخرى-لجداول-البيانات-ما-وراء-vba-القياسي">4. متجهات تهديد أخرى لجداول البيانات (ما وراء 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>يحتوي Excel على بروتوكول قديم يُدعى تبادل البيانات الديناميكي (Dynamic Data Exchange - DDE)، صُمم للسماح بمشاركة البيانات بين التطبيقات قيد التشغيل (على سبيل المثال، بث بيانات مؤشرات الأسهم الحية من برنامج منفصل إلى خلية في Excel).</p>
<ul>
<li><strong>كيف يعمل حقن الصيغ:</strong>
عندما تبدأ خلية جدول البيانات بأحرف مثل <code>=</code>, <code>@</code>, <code>+</code>, أو <code>-</code>، يفسر Excel المحتوى كصيغة. إذا كان المهاجم يتحكم في الإدخال المُصدَّر إلى جدول البيانات (مثل حقل &quot;التعليقات&quot; غير المنقح في تطبيق ويب يتم تصديره إلى CSV أو XLSX)، يمكنه حقن:
<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>عند الفتح، يقوم Excel بتقييم الصيغة، وينبه المستخدم بمطالبة حول بدء تطبيق خارجي، وإذا تم الموافقة، ينفّذ شل النظام.</li>
</ul>
<h3 id="ماكروهات-excel-40-xlm-القديمة">ماكروهات Excel 4.0 (XLM) القديمة</h3>
<p>قبل تقديم VBA في عام 1993، كان Excel يستخدم نظام ماكرو يعتمد على الصيغ يُعرف باسم <strong>Excel 4.0 (XLM) macros</strong>. هذه الماكروات توجد داخل أوراق ماكرو مخصصة بدلاً من مشروع VBA منفصل.</p>
<p>نظرًا لأن ماكرو XLM تُكتب كصيغ خلية (مثل <code>=EXEC(&quot;calc.exe&quot;)</code>)، فإنها تتجاوز العديد من محركات الفحص الثابت القياسية لـ VBA. فضل المهاجمون ماكرو XLM خلال أواخر العقد 2010 وبداية العقد 2020 لتفادي الكشف الآلي قبل أن تقوم Microsoft بتعطيله افتراضيًا في إصدارات المؤسسات الحديثة.</p>
<h3 id="الاتصالات-الخارجية-الخبيثة-وكائنات-ole">الاتصالات الخارجية الخبيثة وكائنات OLE</h3>
<p>يمكن لملف <code>.xlsx</code> عادي أن يظل يشكل خطرًا عبر الموارد الخارجية:</p>
<ul>
<li><strong>Embedded OLE Packages:</strong> يمكن للمهاجم إدراج ملف تنفيذي متخفي كأيقونة PDF مدمجة مباشرةً في ورقة العمل.</li>
<li><strong>External Workbook Links &amp; Web Queries:</strong> يمكن أن يحتوي ملف XLSX على مراجع خارجية تُطلق تلقائيًا طلبات HTTP GET إلى خوادم التحكم والقيادة (C2) التي يتحكم فيها المهاجم عند فتح الملف، وتُستخدم أساسًا للاستطلاع أو هجمات جمع تجزئات netNTLM.</li>
</ul>
<h2 id="5-تعزيز-أمان-المؤسسة-واستراتيجيات-الدفاع-المتعمق">5. تعزيز أمان المؤسسة واستراتيجيات الدفاع المتعمق</h2>
<p>يتطلب الدفاع ضد التهديدات التي يحملها Excel نهجًا طبقيًا يغطي فحص الشبكة، وتكوين النظام، وضوابط الوصول، والعمليات التشغيلية.</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>في عام 2022، قامت مايكروسوفت بتحديث السلوك الافتراضي لتطبيقات Office: الماكرو في الملفات التي تأتي من الإنترنت <strong>محظور افتراضيًا</strong>.</p>
<p>عندما يقوم المستخدم بتنزيل ملف عبر المتصفح أو عميل خارجي، تقوم Windows بوضع علامة على الملف باستخدام تدفق بيانات بديل (ADS) يُسمى <code>Zone.Identifier</code> (المنطقة 3 تشير إلى الإنترنت). بالنسبة للملفات التي تحمل هذه العلامة، يقوم Excel بتعطيل الماكرو بالكامل ويظهر شريط أمان أحمر: &gt; <em>&quot;مخاطرة أمان: قامت مايكروسوفت بحظر تشغيل الماكرو لأن مصدر هذا الملف غير موثوق به.&quot;</em></p>
<p><strong>إجراء إداري:</strong> تأكد من تطبيق هذا السلوك عبر سياسة المجموعة ولا يمكن تجاوزه من قبل المستخدمين النهائيين:</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 تفعيل قواعد تقليل سطح الهجوم الأساسية المصممة خصيصًا لتطبيقات Office:</p>
<ul>
<li><code>منع تطبيقات Office من إنشاء عمليات فرعية</code> (GUID: <code>D4F940AB-401B-4EFC-AADC-AD5F3C50688A</code>)
<ul>
<li><em>يمنع Excel من تشغيل PowerShell أو CMD أو محركات البرمجة النصية.</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، فإن محرك تشغيل 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>، أو خدمات microservices في 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>Office Web Add-ins:</strong> تم بناءه باستخدام HTML و CSS القياسيين و JavaScript الحديث، تتواصل الإضافات الويب عبر واجهات برمجة تطبيقات JavaScript المدارة وتكون معزولة عن نظام التشغيل المحلي.</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> منع منتجات Office من إنشاء مفسرات أوامر أو عمليات فرعية.</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 والواجهات البرمجية المدارة.</li>
</ul>
<p>من خلال اعتبار جداول البيانات ليست مجرد ملفات مستندات، بل حاويات برمجية منظمة تحمل قدرات تنفيذية، يمكن لفرق الأمن والمطورين تحييد أحد أقدم مسارات الهجوم في الحوسبة المؤسسية بفعالية.</p>
<h1 id="الأسئلة-المتكررة-faq">الأسئلة المتكررة (FAQ)</h1>
<h3 id="س1-هل-يمكن-لملف-ينتهي-بـ-xlsx-تشغيل-ماكرو-خبيث">س1: هل يمكن لملف ينتهي بـ <code>.xlsx</code> تشغيل ماكرو خبيث؟</h3>
<p>لا، معيار OpenXML يحظر بشدة وجود كود ماكرو في ملفات <code>.xlsx</code>، وسيقوم Excel برفض أو إزالة أي مشروع VBA يتم حقنه في حاوية <code>.xlsx</code> حقيقية.</p>
<h3 id="س2-ماذا-يجب-أن-أفعل-إذا-طلب-مني-ملف-إكسل-تمكين-التحرير-أو-تمكين-المحتوى">س2: ماذا يجب أن أفعل إذا طلب مني ملف إكسل &ldquo;تمكين التحرير&rdquo; أو &ldquo;تمكين المحتوى&rdquo;؟</h3>
<p>امنح الأذونات فقط إذا كنت تعرف المرسل وتوقع الملف؛ هذه المطالبة هي نقطة الفحص الأساسية التي تسمح للماكرو غير الموثوق بتنفيذ الكود.</p>
<h3 id="س3-كيف-يحدد-مايكروسوفت-إكسل-ما-إذا-كان-الملف-قد-جاء-من-الإنترنت">س3: كيف يحدد مايكروسوفت إكسل ما إذا كان الملف قد جاء من الإنترنت؟</h3>
<p>يقوم Windows بإرفاق تدفق مخفي &ldquo;علامة الويب&rdquo; (Zone.Identifier) إلى الملفات التي تم تنزيلها، مما يُشير إلى Excel لفتحها في العرض المحمي وحظر الماكرو بشكل افتراضي.</p>
<h3 id="س4-هل-ملفات-csv-أكثر-أمانا-من-ملفات-xlsx1-و-xlsm7">س4: هل ملفات 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 أصلي، لكنها تظل عرضة لهجمات حقن الصيغ إذا احتوت على أوامر خبيثة يتم تنفيذها بواسطة Excel عند الفتح.</p>
<h3 id="س5-كيف-تختلف-سكريبتات-office-الحديثة-عن-ماكرو-vba-التقليدية">س5: كيف تختلف سكريبتات Office الحديثة عن ماكرو VBA التقليدية؟</h3>
<p>تعمل Office Scripts على TypeScript داخل بيئة تشغيل معزولة، مما يمنعها من الوصول إلى نظام الملفات المحلي، سطر الأوامر، أو واجهات برمجة تطبيقات نظام التشغيل.</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/">تنسيقات ملفات Excel: 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>
