<?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>Excel failų saugumas on File Format Blog</title>
    <link>https://blog.fileformat.com/lt/tag/excel-fail%C5%B3-saugumas/</link>
    <description>Recent content in Excel failų saugumas on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>lt</language>
    <lastBuildDate>Mon, 28 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/lt/tag/excel-fail%C5%B3-saugumas/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Excel failų saugumas paaiškintas: XLSX, XLSM ir makrokomandų rizikos</title>
      <link>https://blog.fileformat.com/lt/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/lt/spreadsheet/excel-file-security-explained-xlsx-xlsm-and-macro-risks/</guid>
      <description>Supraskite tikruosius saugumo skirtumus tarp XLSX ir XLSM failų, kaip vykdomi makrokomandomis pagrįsti atakų metodai ir kaip apsaugoti savo organizaciją nuo kenksmingų skaičiuoklių.</description>
      <content:encoded><![CDATA[<p><strong>Paskutinį kartą atnaujinta</strong>: 28 Rugs, 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-failų-saugumas-paaiškintas-xlsx-xlsm-ir-makrokomandų-rizikos">Excel failų saugumas paaiškintas: XLSX, XLSM ir makrokomandų rizikos</h2>
<p>Dešimtmečius „Microsoft Excel“ buvo universalus verslo operacijų variklis. Jis subalansuoja įmonių biudžetus, vizualizuoja sudėtingus duomenų rinkinius, seka atsargas ir maitina analitines duomenų srautus praktiškai visose pramonės šakose.</p>
<p>Vis dėlto ta pati skaičiavimo lankstumas daro skaičiuokles nuolatine kibernetinių priešininkų mėgstama priemone. Užpuolikai naudoja skaičiuokles kaip ginklus nuo ankstyvųjų makrovirusų laikų, dar 1990‑ųjų pabaigoje. Nors „Microsoft“ ir sistemos administratoriai įdiegė kelis gynybos sluoksnius – pavyzdžiui, failų formatų atskyrimą ir numatytąjį makrokomandų blokavimą – socialinė inžinerija ir subtilios architektūrinės rizikos vis dar išlaiko „Excel“ atakų aktualumą.</p>
<p>Norint sukurti atsparų saugumo požiūrį, kūrėjai, administratoriai ir patyrę naudotojai turi žiūrėti po darbalapio sąsaja. Suprasti, kaip veikia pagrindinis OpenXML formatas, kaip <code>.xlsx</code> ir <code>.xlsm</code> skiriasi architektūrinio lygio požiūriu ir kaip veikia makrokomandų vykdymo mechanizmai, yra būtina siekiant apsaugoti šiuolaikinius galinius taškus.</p>
<h2 id="1-šiuolaikinių-excel-failų-struktūra-openxml-išskaidymas">1. Šiuolaikinių Excel failų struktūra: OpenXML išskaidymas</h2>
<p>Prieš Microsoft Office 2007 išleidimą, „Excel“ failus išsaugojo daugiausia naudojant nuosavus dvejetainių formatų, ypač <code>.xls</code> formatą (valdomą Binary Interchange File Format, arba BIFF8). <code>.xls</code> failuose duomenų įrašai, formatavimo apibrėžimai, formulės ir Visual Basic for Applications (VBA) makrokomandų srautai buvo supakuoti į vieną struktūruotą saugojimo konteinerį. Tai apsunkino programinį patikrinimą ir leido atakų vykdytojams paslėpti kenkėjiškus naudingumo scenarijus nepermatomose dvejetainėse sektoriuose.</p>
<p>Nuo Excel 2007 pradžios „Microsoft“ pristatė <strong>Office Open XML (OOXML)</strong> standartą (standartizuotą kaip ECMA-376 ir ISO/IEC 29500). Pagal OOXML, „Excel“ darbalapiai nebe yra monolitiniai dvejetainiai blokai. Vietoj to, jie yra suspausti archyvai, kuriuose yra hierarchinė XML dokumentų struktūra, ryšių lentelės ir įterpti medijos ištekliai.</p>
<h3 id="zip-konteinerio-viduje">ZIP konteinerio viduje</h3>
<p>Jei paimsit bet kurią standartinę šiuolaikinę „Excel“ darbaknygę ir pervadinsite jos plėtinį į <code>.zip</code>, galėsite išskleisti jos turinį naudodami bet kokį standartinį išskleidimo įrankį:</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>Šis struktūrinis pokytis suteikė momentalių saugumo privalumų:</p>
<ol>
<li><strong>DPI (giluminio paketo inspekcija) ir šliuzo matomumas:</strong> Saugumo įrenginiai, tarpiniai serveriai ir galinių taškų agentai gali išpakoti archyvą realiu laiku ir analizuoti paprastų tekstų XML medžius, kad identifikuotų įtartinus eilutes, išorinius URL arba įterptus objektus.</li>
<li><strong>Deterministinis failų tikrinimas:</strong> Jei failas teigia, kad yra OpenXML dokumentas, bet pažeidžia schemos apribojimus, „Excel“ atsisako jį atverti arba vykdo jį smėlio dėžės atkūrimo režime.</li>
<li><strong>Formato atskyrimas:</strong> „Microsoft“ atskyrė įprastus skaičiavimo skaičiuoklių lapus nuo failų, galinčių vykdyti įterptus procedūrinius skriptus.</li>
</ol>
<h2 id="2-xlsx1-vs-xlsm7-architektūrinė-riba">2. <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> vs. <a href="https://docs.fileformat.com/spreadsheet/xlsm/">XLSM</a>: Architektūrinė riba</h2>
<p>Pagrindinis skirtumas tarp <code>.xlsx</code> ir <code>.xlsm</code> yra tas, ar failo struktūra leidžia įtraukti vykdomus makro projektus.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Savybė / Matmuo</th>
<th style="text-align:left"><code>.xlsx</code> (Excel OpenXML skaičiuoklės lapas)</th>
<th style="text-align:left"><code>.xlsm</code> (Excel makrokomandomis įgalintas skaičiuoklės darbalapis)</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>MIME turinio tipas</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 saugojimo konteineris</strong></td>
<td style="text-align:left"><strong>Griežtai draudžiama.</strong> Negalima saugoti <code>vbaProject.bin</code></td>
<td style="text-align:left"><strong>Leista.</strong> Turi <code>xl/vbaProject.bin</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>Vietinio vykdymo rizika</strong></td>
<td style="text-align:left">Nereikšminga makrokomandų vykdymui; ribota iki formulės įterpimo/DDE</td>
<td style="text-align:left">Aukšta; gali vykdyti automatizuotą VBA kodą, kai sąveikaujama su darbo knyga</td>
</tr>
<tr>
<td style="text-align:left"><strong>OpenXML griežta schema</strong></td>
<td style="text-align:left">Atitinka griežtas, be makrokomandų XML apibrėžtis</td>
<td style="text-align:left">Apima apibrėžimus senosioms ir šiuolaikinėms automatizavimo plėtiniams</td>
</tr>
<tr>
<td style="text-align:left"><strong>Vartotojo vizualinis indikatorius</strong></td>
<td style="text-align:left">Standartinė žalia skaičiuoklės piktograma</td>
<td style="text-align:left">Skaičiuoklės piktograma su šauktuko ženklu</td>
</tr>
</tbody>
</table>
<h3 id="įgyvendinimo-mechanizmas-kodėl-xlsx-negali-vykdyti-makrokomandų">Įgyvendinimo mechanizmas: Kodėl XLSX negali vykdyti makrokomandų</h3>
<p>Dažnas klausimas tarp jaunesnių administratorių ir kūrėjų yra: <em>Kas nutiks, jei įsilaužėlis paima kenksmingą <code>.xlsm</code> failą, įterpia vykdomą kodą ir pervadina failo plėtinį į <code>.xlsx</code>?</em></p>
<p>Trumpas atsakymas: <strong>Failas neįvykdys makrokomandos.</strong></p>
<p>Excel nepasikliauja vien tik failo plėtiniu nustatydamas vykdymo taisykles. Atidarant failą pavadinimu <code>.xlsx</code>:</p>
<ol>
<li>Excel tikrina zip turinį ir nurodo <code>[Content_Types].xml</code>.</li>
<li>Tikrame <code>.xlsx</code> faile visi apibrėžti turinio tipai atitinka standartinius duomenų elementus (pvz., <code>worksheet</code>, <code>sharedStrings</code> arba <code>styles</code>).</li>
<li>Jei įsilaužėlis rankiniu būdu įterpia sukompiliuotą VBA srautą (<code>xl/vbaProject.bin</code>) į <code>.xlsx</code> paketą ir atnaujina ryšius, Excel susiduria su aiškiu schemos prieštaravimu:
<ul>
<li>Jis mato, kad <code>.xlsx</code> plėtinys susietas su turinio tipais, nurodančiais makrokomandų galimybę.</li>
<li>Excel išmeta kritinę vientisumo klaidą: <em>&quot;Excel negali atidaryti failo &lsquo;filename.xlsx&rsquo;, nes failo formatas arba failo plėtinys yra neteisingas. Patikrinkite, ar failas nebuvo sugadintas&hellip;&quot;</em></li>
</ul>
</li>
<li>Jei užpuolikas palieka vidinius tipus nepakitusius nesuregistruodamas dvejetainį failą, „Excel“ laiko <code>vbaProject.bin</code> kaip nenuorodą, apleistą priedą zip archyve ir visiškai išmeta jį įkėlimo ciklo metu.</li>
</ol>
<p>Todėl <strong>failas, griežtai veikiantis kaip tikras <code>.xlsx</code> konteineris, negali vykdyti natyvaus VBA kodo.</strong> Tačiau tai nereiškia, kad <code>.xlsx</code> failai yra visiškai be jokių atakų vektorų, kaip vėliau šiame vadove.</p>
<h2 id="3-makrokomandų-rizikos-ir-atakų-ciklas">3. Makrokomandų rizikos ir atakų ciklas</h2>
<p>Makrokomandos buvo sukurtos automatizuoti pasikartojančias apskaitos, finansinio modeliavimo ir duomenų manipuliavimo užduotis naudojant Visual Basic for Applications (VBA). Kadangi VBA buvo sukurta darbo vietų automatizavimui, jai suteikta plačia prieiga prie pagrindinės Windows operacinės sistemos per Component Object Model (COM), Windows Script Host (WSH) ir tiesioginius Win32 API iškvietimus.</p>
<p>Kai nepatikima makrokomanda vykdoma, ji veikia su <strong>tiksliai tomis pačiomis teisėmis kaip prisijungęs vartotojas</strong>. Ji nėra įstrigusi virtualioje JavaScript tipo naršyklės smėlio dėžėje.</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="bendros-makrokomandų-įsiskverbimo-technikos">Bendros makrokomandų įsiskverbimo technikos</h3>
<ol>
<li>
<p><strong>Automatinio vykdymo kabliukai:</strong>
Užpuolikai savo įėjimo tašką patalpina į vidinius įvykių tvarkytuvus, tokius kaip <code>Sub Auto_Open()</code> arba <code>Private Sub Workbook_Open()</code>. Kai tik vartotojas suteikia vykdymo teises, šios procedūros suaktyvinamos be jokio paspaudimo skaičiuoklės viduje.</p>
</li>
<li>
<p><strong>Maskavimas ir Stompingas:</strong></p>
<ul>
<li><strong>Eilučių maskavimas:</strong> Naudų (payload) slepia URL adresus ir sistemos iškvietimus naudodami simbolių masyvus, XOR kodavimą, Base64 dekodavimą arba aplinkos kintamųjų sujungimą (pvz., <code>Chr(112) &amp; Chr(111) &amp; Chr(119)...</code>).</li>
<li><strong>VBA Stomping:</strong> VBA egzistuoja dviem formomis <code>vbaProject.bin</code> faile: interpretuojamu šaltiniu kodu ir sukompiliuotu p-kodu (pseudo-kodu, skirtu konkrečiai Office versijai, kuri jį sukūrė). Užpuolikai gali visiškai ištrinti aiškų šaltinio kodą, palikdami tik sukompiliuotą p-kodą. Daugelis paprastų antivirusinių sprendimų ir statinių analizatorių tik tikrina šaltinio srautą, todėl p-kodas lieka nepastebimas, kol jį įvykdo atitinkama Office versija.</li>
</ul>
</li>
<li>
<p><strong>Gyvenimas iš žemės (LotL):</strong>
Šiuolaikiniai kenkėjiški makrokomandų failai retai išmeta <code>.exe</code> failą tiesiai į diską, kas iš karto įspėtų Endpoint Detection and Response (EDR) agentus. Vietoj to, jie sąveikauja su įtaisomais sistemos įrankiais:</p>
<ul>
<li><code>WScript.Shell</code> sukūrimas (instancijavimas) komandų eilutės argumentų vykdymui.</li>
<li>Iškviečiant <code>PowerShell.exe</code> su vykdymo politika, apeinant (<code>-ExecutionPolicy Bypass -WindowStyle Hidden</code>).</li>
<li>Kviečiant natūralias Win32 API per <code>Declare PtrSafe Function CreateProcess</code> arba <code>VirtualAlloc</code>, kad į sisteminę atmintį tiesiogiai įterptų shellcode.</li>
</ul>
</li>
</ol>
<h2 id="4-kiti-skaičiuoklių-grėsmių-vektoriai-viršijant-standartinį-vba">4. Kiti skaičiuoklių grėsmių vektoriai (viršijant standartinį VBA)</h2>
<p>Apsaugoti aplinką nuo <code>.xlsm</code> failų yra tik pusė kovos. Priešai taip pat naudoja mechanizmus, kurie veikia nepriklausomai nuo tradicinės VBA.</p>
<h3 id="dinaminis-duomenų-mainų-dde-ir-csv11-įterpimas">Dinaminis duomenų mainų (DDE) ir <a href="https://docs.fileformat.com/spreadsheet/csv/">CSV</a> įterpimas</h3>
<p>„Excel“ turi seną protokolą, vadinamą Dynamic Data Exchange (DDE), sukurtą duomenų dalijimuisi tarp vykdomų programų (pavyzdžiui, tiesioginio akcijų kainų srauto transliavimui iš atskiros programos į „Excel“ langelį).</p>
<ul>
<li><strong>Kaip veikia formulės įterpimas:</strong>
Kai skaičiuoklės langelis prasideda simboliais, tokiais kaip <code>=</code>, <code>@</code>, <code>+</code> arba <code>-</code>, „Excel“ interpretuoja turinį kaip formulę. Jei atakuotojas valdo įvestį, eksportuojamą į skaičiuoklę (pavyzdžiui, nesantrintas &ldquo;Comments&rdquo; laukas žiniatinklio programoje, eksportuotas į CSV arba XLSX), jis gali įterpti:
<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>Atidarius „Excel“ įvertina formulę, įspėja vartotoją su pranešimu apie išorinės programos paleidimą ir, jei patvirtinta, paleidžia sistemos apvalkalą.</li>
</ul>
<h3 id="excel-40-xlm-senosios-makrokomandos">Excel 4.0 (XLM) senosios makrokomandos</h3>
<p>Prieš 1993 m. pristatant VBA, Excel naudojo formulėmis pagrįstą makrokomandų sistemą, žinomą kaip <strong>Excel 4.0 (XLM) makros</strong>. Šios makros yra įkeltos į specialias makro lapus, o ne į atskirą VBA projektą.</p>
<p>Kadangi XLM makros rašomos kaip ląstelių formulės (pvz., <code>=EXEC(&quot;calc.exe&quot;)</code>), jos apeina daugelį įprastų VBA statinių patikrinimo variklių. Užpuolikai rinkosi XLM makrokomandas vėlai 2010‑ųjų pabaigoje ir ankstyvoje 2020‑ųjų pradžioje, kad išvengtų automatizuoto aptikimo, kol „Microsoft“ jų neįjungė pagal numatytuosius nustatymus šiuolaikiniuose įmonės versijose.</p>
<h3 id="kenkėjiški-išoriniai-ryšiai-ir-ole-objektai">Kenkėjiški išoriniai ryšiai ir OLE objektai</h3>
<p>Įprastas <code>.xlsx</code> darbaknyga vis dar gali kelti riziką per išorinius išteklius:</p>
<ul>
<li><strong>Įterpti OLE paketai:</strong> Užpuolikas gali įdėti vykdomąjį failą, maskuojamą kaip įterptas PDF piktograma, tiesiai į darbalapį.</li>
<li><strong>Išorinės darbaknygos nuorodos ir internetinės užklausos:</strong> XLSX gali turėti išorines nuorodas, kurios automatiškai inicijuoja HTTP GET užklausas į užpuolio valdomus komandų ir valdymo (C2) serverius atidarant failą, dažniausiai naudojamas žvalgybai arba netNTLM maišos rinkimo atakoms.</li>
</ul>
<h2 id="5-įmonės-sustiprinimas-ir-gynybos-gylio-strategijos">5. Įmonės sustiprinimas ir gynybos gylio strategijos</h2>
<p>Apsisaugoti nuo Excel kilusių grėsmių reikia daugiapakopio požiūrio, apimančio tinklo patikrinimą, sistemos konfigūraciją, prieigos kontrolę ir operacinius procesus.</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-įgyvendinti-žymės-mark-of-the-web-motw-makrokomandų-blokavimą">1. Įgyvendinti žymės „Mark of the Web“ (MotW) makrokomandų blokavimą</h3>
<p>2022 m. „Microsoft“ atnaujino numatytąją „Office“ programų elgseną: makrokomandos failuose, kilusių iš interneto, yra <strong>numatytai blokuojamos</strong>.</p>
<p>Kai naudotojas atsisiunčia failą per naršyklę arba išorinį klientą, „Windows“ pažymi failą alternatyvia duomenų srautu (ADS) pavadinimu <code>Zone.Identifier</code> (3 zona nurodo internetą). Failams, turintiems šią žymą, „Excel“ visiškai išjungia makrokomandas ir rodo raudoną saugumo pranešimą: &gt; <em>&quot;SAUGUMO RIZIKA: „Microsoft“ blokuoja makrokomandų vykdymą, nes šio failo šaltinis yra nepatikimas.&quot;</em></p>
<p><strong>Administracinis veiksmas:</strong> Užtikrinkite, kad ši elgsena būtų įgyvendinta per grupės politiką ir jos negalėtų apeiti galutiniai naudotojai:</p>
<ul>
<li><strong>GPO kelias:</strong> <code>User Configuration &gt; Administrative Templates &gt; Microsoft Excel 2016 &gt; Excel Options &gt; Security &gt; Trust Center</code></li>
<li><strong>Nustatymas:</strong> Įjungti <em>&quot;Blokuoti makrokomandas, vykdomas Office failuose iš interneto&quot;</em>.</li>
</ul>
<h3 id="2-konfigūruoti-atakų-paviršiaus-sumažinimo-asr-taisykles">2. Konfigūruoti atakų paviršiaus sumažinimo (ASR) taisykles</h3>
<p>Organizacijos, naudojančios „Microsoft Defender for Endpoint“, turėtų įjungti pagrindines „Attack Surface Reduction“ taisykles, sukurtas specialiai „Office“ programoms:</p>
<ul>
<li><code>Blokuoti Office programų kūrimą vaikų procesų</code> (GUID: <code>D4F940AB-401B-4EFC-AADC-AD5F3C50688A</code>)
<ul>
<li><em>Užkerta kelią, kad Excel paleistų PowerShell, CMD ar scenarijų variklius.</em></li>
</ul>
</li>
<li><code>Blokuoti Office programų įterpimą kodo į kitas procesus</code> (GUID: <code>75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84</code>)</li>
<li><code>Blokuoti Win32 API iškvietimus iš Office makrokomandų</code> (GUID: <code>92E6390C-CF9E-43CE-BD8C-0E6F0FE66680</code>)</li>
</ul>
<h3 id="3-pasinaudoti-antimalware-scan-interface-amsi">3. Pasinaudoti Antimalware Scan Interface (AMSI)</h3>
<p>Modernios Microsoft 365 versijos integruoja VBA vykdymą tiesiogiai su AMSI. Net jei atakuotojas taiko sudėtingą eilutės užkoduotę arba VBA „stomping“, VBA vykdymo variklis perduoda atkurti, nešifruotus komandas jūsų įdiegtam antivirusų/EDR varikliui lygiai milisekundę prieš vykdymą. Užtikrinkite, kad jūsų galutinio taško apsauga aktyviai stebėtų AMSI vykdymo įvykius.</p>
<h3 id="4-pereiti-prie-patikimų-vietų-ir-skaitmeninių-sertifikatų">4. Pereiti prie patikimų vietų ir skaitmeninių sertifikatų</h3>
<p>Organizacijoms, priklausomoms nuo automatizuotų skaičiuoklių kasdieninėms operacijoms:</p>
<ul>
<li><strong>Pašalinti laisvai esančius XLSM failus vartotojo Atsiuntimų arba darbalaukio aplankaluose.</strong></li>
<li><strong>Naudoti patikimas vietas:</strong> Apriboti makrokomandų vykdymą tik į skaitymui skirtoms tinklo dalijimosi vietoms, kurias tvarko IT administratoriai.</li>
<li><strong>Kodo pasirašymas:</strong> Reikalauti, kad visi viduje sukurti makrokomandų būtų kriptografiškai pasirašyti naudojant sertifikatą, išduotą įmonės viešojo rakto infrastruktūros (PKI). Konfigūruoti „Excel“, kad vykdytų <strong>tik</strong> skaitmeniniu būdu pasirašytus makrokomandas ir tyliai blokuotų nepasisirašytus.</li>
</ul>
<h2 id="6-kūrėjo-perspektyva-saugios-automatizacijos-kūrimas">6. Kūrėjo perspektyva: saugios automatizacijos kūrimas</h2>
<p>Jei kuriate programinę įrangą, kuri analizuoja, generuoja arba naudoja Excel failus (pvz., Python duomenų srautus, naudojančius <code>pandas</code>/<code>openpyxl</code>, Node.js mikroservisus arba C#/.NET programas), taikykite šias kūrimo apsaugos priemones:</p>
<ol>
<li>
<p><strong>Atmesti netikėtus failų formatus įkėlimo riboje:</strong>
Jei jūsų programa tikisi finansinių ataskaitų, griežtai patikrinkite, ar gaunami failai atitinka <code>.xlsx</code>. Patikrinkite vidinius magiškus baitus (standartinį zip antraštės <code>50 4B 03 04</code>) ir įsitikinkite, kad archyvo indekse nėra <code>vbaProject.bin</code> įrašų prieš išsaugodami į debesų kibirus arba duomenų bazės saugyklas.</p>
</li>
<li>
<p><strong>Išvalyti duomenis nuo formulės injekcijos:</strong>
Eksportuojant vartotojo sukurtą įvestį į CSV arba XLSX failus, prieš bet kurią langelį, prasidedantį pavojingais simboliais (<code>=</code>, <code>+</code>, <code>-</code>, <code>@</code>, <code>\t</code>, <code>\r</code>), pridėkite apostrofą (<code>'</code>) arba tarpą:</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>Perkelti iš VBA į Office Scripts arba Web priedus:</strong>
Moderniai įmonės automatizacijai visiškai atsisakykite senosios VBA:</p>
<ul>
<li><strong>Office Scripts:</strong> Parašyti TypeScript kalba, Office Scripts veikia izoliuotoje debesų aplinkoje ir sklandžiai veikia tiek internetinėse, tiek darbalaukio versijose, neatskleisdami natūralių OS sisteminių iškvietimų.</li>
<li><strong>Office Web Add-ins:</strong> Sukurti naudojant standartinį HTML, CSS ir modernų JavaScript, internetiniai priedai bendrauja per valdomas JavaScript API ir yra izoliuoti nuo vietinės operacinės sistemos.</li>
</ul>
</li>
</ol>
<h2 id="7-santraukinis-kontrolinis-sąrašas-skaičiuoklių-saugumui">7. Santraukinis kontrolinis sąrašas skaičiuoklių saugumui</h2>
<ul>
<li><input disabled="" type="checkbox"> <strong>Numatyta <code>.xlsx</code> įgyvendinimas:</strong> Reikalauti, kad visi įprasti naudotojų darbo procesai būtų išsaugomi kaip be makrokomandų <code>.xlsx</code>.</li>
<li><input disabled="" type="checkbox"> <strong>Blokuoti iš interneto kilusias makrokomandas:</strong> Patvirtinkite, kad MotW politikos įgyvendinimas yra paskelbtas visoje organizacijoje per GPO arba Intune.</li>
<li><input disabled="" type="checkbox"> <strong>Įjungti ASR taisykles:</strong> Drausti Office produktams kurti komandų interpretatorius ar vaiko procesus.</li>
<li><input disabled="" type="checkbox"> <strong>Nustoti naudoti Excel 4.0 (XLM):</strong> Užtikrinkite, kad pasenusi XLM makrokomandų varikliai būtų visam laikui išjungti visuose darbo kompiuteriuose.</li>
<li><input disabled="" type="checkbox"> <strong>Sanituoti programų eksporto procesus:</strong> Apsaugoti CSV ir Excel generavimo procedūras nuo CSV/formulės įterpimo.</li>
<li><input disabled="" type="checkbox"> <strong>Perkelti dėmesį į Office Scripts:</strong> Perkelti senas administracines makrokomandas į TypeScript pagrindu veikiančius Office Scripts ir valdomas API.</li>
</ul>
<p>Traktuodami skaičiuokles ne tik kaip dokumentų failus, bet kaip struktūruotus programinės įrangos konteinerius, turinčius vykdymo galimybes, saugumo komandos ir kūrėjai gali efektyviai neutralizuoti vieną seniausių atakų vektorių įmonės skaičiavimuose.</p>
<h1 id="dažnai-užduodami-klausimai-duk">Dažnai užduodami klausimai (DUK)</h1>
<h3 id="k1-ar-failas-baigiantis-xlsx-gali-vykdyti-kenkėjišką-makrokomandą">K1: Ar failas, baigiantis <code>.xlsx</code>, gali vykdyti kenkėjišką makrokomandą?</h3>
<p>Ne, OpenXML standartas griežtai draudžia makrokomandų kodą <code>.xlsx</code> failuose, o Excel atmes arba pašalins bet kokį VBA projektą, įterptą į tikrą <code>.xlsx</code> konteinerį.</p>
<h3 id="k2-ką-turėčiau-daryti-jei-excel-failas-prašo-manęs-įjungti-redagavimą-arba-įjungti-turinį">K2: Ką turėčiau daryti, jei &ldquo;Excel&rdquo; failas prašo manęs &ldquo;Įjungti redagavimą&rdquo; arba &ldquo;Įjungti turinį&rdquo;?</h3>
<p>Suteikite leidimus tik tada, kai žinote siuntėją ir laukiate failo; šis pranešimas yra pagrindinis kontrolės taškas, leidžiantis nepatikimoms makrokomandoms vykdyti kodą.</p>
<h3 id="k3-kaip-microsoft-excel-nustato-ar-failas-kilęs-iš-interneto">K3: Kaip &ldquo;Microsoft Excel&rdquo; nustato, ar failas kilęs iš interneto?</h3>
<p>Windows prideda paslėptą „Mark of the Web“ (Zone.Identifier) srautą prie atsisiųstų failų, kuris signalizuoja Excel atidaryti juos apsaugotoje peržiūroje ir numatytai blokuoti makrokomandas.</p>
<h3 id="k4-ar-csv-failai-yra-saugesni-nei-xlsx1-ir-xlsm7-failai">K4: Ar CSV failai yra saugesni nei <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> ir <a href="https://docs.fileformat.com/spreadsheet/xlsm/">XLSM</a> failai?</h3>
<p>CSV failai negali turėti natūralių VBA makrokomandų, tačiau jie lieka pažeidžiami formulės įterpimo atakoms, jei juose yra kenkėjiškų komandų, kurias Excel vykdo atidarant failą.</p>
<h3 id="k5-kaip-šiuolaikiniai-office-scripts-skiriasi-nuo-tradicinių-vba-makrokomandų">K5: Kaip šiuolaikiniai Office Scripts skiriasi nuo tradicinių VBA makrokomandų?</h3>
<p>Office Scripts veikia TypeScript kalba izoliuotoje vykdymo aplinkoje, neleidžiančioje jiems pasiekti jūsų vietinės failų sistemos, komandų eilutės ar operacinės sistemos API.</p>
<h2 id="taip-pat-žiūrėkite">Taip pat žiūrėkite</h2>
<ul>
<li><a href="https://blog.fileformat.com/en/spreadsheet/csv-vs-xlsx-vs-ods-in-2026-best-spreadsheet-format-for-developers/">CSV vs XLSX vs ODS 2026 m.: geriausias skaičiuoklių formatas kūrėjams</a></li>
<li><a href="https://blog.fileformat.com/en/spreadsheet/xls-vs-xlsx-vs-xlsm-vs-xlsb-choosing-the-right-spreadsheet-format/">XLS vs XLSX vs XLSM vs XLSB – pasirinkti tinkamą skaičiuoklių formatą</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/what-is-excel/">Kas yra Excel? Svarbiausia informacija, kurią turite žinoti</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/excel-file-extensions-xlsx-xlsm-xls-xltx-xltm/">Excel failų formatai: XLSX, XLSM, XLS, XLTX, XLTM</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/xls-vs-xlsx/">Skirtumas tarp XLS ir XLSX</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
