Excel makroi su moćan alat za Automatizirajte ponavljajuće zadatke i kreirajte prilagođena rješenjaAli istovremeno, oni su jedna od omiljenih ulaznih tačaka za zlonamjerni softver. To nas stavlja u delikatnu situaciju: ili dobijamo na vremenu i produktivnosti uz pomoć makroa, ili jačamo sigurnost... ili učimo inteligentno balansirati oboje.
U ovom članku ćemo vrlo detaljno pogledati kako to funkcionira. Sigurnost u Excelovim makroima i drugim paketima poput LibreOfficeaKoje konfiguracije postoje, kakvu ulogu igraju digitalni certifikati i pouzdane lokacije, šta potpisi podrazumijevaju i koji stvarni rizici postoje u korporativnom okruženju. Ideja je da automatizaciju možete obaviti s pouzdanjem, ali uz zdrav razum.
Šta je makroekonomija i zašto predstavlja rizik?
Makro u Excelu je jednostavno skup instrukcija programiranih u VBA (Visual Basic for Applications) koji su pohranjeni u modulima unutar datoteke. Iako su mnogi kreirani pomoću snimača makroa, u svojoj srži to je VBA kod koji se izvršava unutar Excela sa stvarnom mogućnošću djelovanja na sistem.
Godinama je makroekonomija bila u stanju izvršavanje naredbi, preuzimanje datoteka, brisanje podataka ili manipulisanje informacijama i na lokalnom računaru i na mrežnim diskovima, eksternim diskovima ili čak sinhronizovanim lokacijama u oblaku, što svaki nepoznati makro čini potencijalnim vektorom napada.
U ranijim verzijama Excela, makroi su bili pisani u Određeni listovi s ekstenzijom .XLMBazirano na starom XLM jeziku (Excel 4.0). Dolaskom Excela 5.0, Microsoft je uključio VBA, i od tada su se makroi počeli razvijati u kodnim modulima, vrlo sličnim Visual Basic projektima, s razvojnim okruženjem (IDE) sličnim Visual Studiju.
Trenutno, Excel jasno razlikuje datoteke sa i bez koda: Standardne radne sveske se spremaju kao .xlsx datoteke i ne mogu sadržavati makroe., dok oni koji uključuju VBA koriste ekstenziju .xlsm. Ovo odvajanje je prvi sloj sigurnosti, budući da .xlsx datoteka neće pohranjivati izvršni kod ili ActiveX kontrole.
Važno je razumjeti da, čak i ako korisnik "samo snima makroe", Sve što se snimi se interno prevodi u VB kod.Ovaj kod se može pregledati i mijenjati u VBA editoru (Alt+F11), debugirati korak po korak, mogu se koristiti prekinute tačke, mogu se pregledati varijable itd. Excel otkriva ogromnu hijerarhiju objekata (radne knjige, listovi, rasponi, grafikoni, PivotTable itd.) sa njihovim svojstvima, metodama i događajima, i upravo ta moć opravdava toliko sigurnosnih mjera.
Nivoi sigurnosti makroa u Excelu
Unutar kartice Programer ili razvojni inženjer, na dugmetu Sigurnost makroaExcel nudi nekoliko postavki za kontrolu ponašanja aktivnog sadržaja. Ove opcije određuju da li se makroi pokreću i pod kojim uslovima.
Onemogući VBA makroe bez obavještenja
S ovom konfiguracijom, Excel Potpuno blokira izvršavanje bilo kojeg makroa bez upozorenja.Datoteka se otvara, ali VBA kod se nikada ne izvršava, a korisnik ne vidi traku upozorenja ili dugme za omogućavanje makroa.
Jedini način da se omogući rad makroa u ovom scenariju je pohranite datoteku na pouzdanu lokacijuDrugim riječima, mapa označena kao sigurna u Centru za povjerenje, o čemu ćemo kasnije govoriti. Ova opcija je vrlo restriktivna i koristi se kada želite spriječiti prosječnog korisnika da omogući kod pod bilo kojim okolnostima osim u prethodno odobrenim putanjama.
Onemogući VBA makroe s obavještenjem
To je obično zadana konfiguracija i najbalansiranija za mnoge korisnikeExcel otvara datoteku i prikazuje obavještenje na vrhu (ispod vrpce) koje označava da su makroi onemogućeni. Korisnik zatim može odabrati da ih omogući ili ne.
Dok se ne pritisne dugme za omogućavanje, makroi ostaju zaključani, dajući vremena da procijeniti porijeklo datoteke i, ako je potrebno, pregledati kod u VBA editoru prije nego što dozvolite izvršenje. Za opštu upotrebu, ovo je najpreporučljivija opcija jer korisniku daje kontrolu bez prevelikog otvaranja vrata riziku.
Onemogući VBA makroe osim digitalno potpisanih
Na ovom nivou, Excel Omogućava pokretanje samo makroa koji su potpisani pouzdanim digitalnim certifikatom.Ako datoteka sadrži makro koji je potpisao izdavač kojem već vjerujemo, on će se pokrenuti automatski (ili s manje problema); međutim, nepotpisani makroi ili oni potpisani nepouzdanim certifikatima bit će blokirani.
Ovaj pristup je veoma zanimljiv u korporativnim okruženjima, jer prisiljava interni alati su potpisani i kontroliraniOmogućava vam automatsko prihvatanje makroa od certificiranih dobavljača ili odjela i odbacivanje ostalih, minimizirajući površinu napada bez potpunog onemogućavanja automatizacije.
Omogući sve VBA makroe (ne preporučuje se)
Ova opcija širom otvara vrata i Omogućava bilo kojem makrou da se pokrene na bilo kojoj datoteci čim se otvori.Excel više ne prikazuje upozorenja niti traži potvrdu; ako radna sveska sadrži kod s događajima otvaranja (na primjer, Workbook_Open), taj kod će se aktivirati kada se datoteka učita.
Ovo je konfiguracija nesigurnije i nepreporučljivijeBudući da je potrebno samo da jedan korisnik otvori zlonamjernu knjigu da bi mu računar bio kompromitovan, to bi imalo smisla samo u vrlo specifičnim, izolovanim testnim okruženjima, a nikada u normalnim radnim okruženjima ili organizacijama.
Druge opcije sigurnosti makroa u Excelu

Excel 4.0 makroi (XLM)
Prije VBA-e, Excel je dozvoljavao makroe napisane u XLM jezik, poznat kao Excel 4.0 makroiOvi su se u njihovo vrijeme široko koristili i još uvijek se mogu pojaviti na starim plahtama ili u nekim specifičnim okruženjima.
Danas, iz sigurnosnih razloga, XLM makroi su obično potpuno onemogućeniMeđutim, postoji opcija konfiguracije koja ih omogućava kada su omogućeni VBA makroi. Omogućavanje ove opcije imalo bi smisla samo ako postoji stvarna potreba za korištenjem starijih radnih listova i uvijek u kontroliranim okruženjima, jer ove makroe može iskoristiti i zlonamjerni softver.
Pouzdani pristup VBA projektnom objektnom modelu
Druga napredna opcija omogućava davanje dozvola drugim aplikacijama ili skriptama. programski pristup VBA objektnom modelu projektaTo znači da eksterni program može pregledati i izmijeniti VBA kod Office projekata.
Podrazumevano, ima smisla ostaviti ovaj okvir označen. uvijek isključenoOmogućavanje otvara vrata potencijalno zlonamjernom vanjskom kodu za ubrizgavanje ili mijenjanje makroa u projektima, što značajno povećava rizik. Trebalo bi ga omogućiti samo ako dobro razumijete šta radite i koristite visoko specifične i potpuno pouzdane alate za automatizaciju.
Pouzdane lokacije u Excelu
Ključni dio sigurnosnog sistema u kancelariji je pouzdane lokacije datotekaTo su mape (lokalne ili mrežne) koje korisnik ili administrator označava kao sigurne unutar Centra za povjerenje. Svaka radna knjiga koja sadrži VBA kod pohranjen tamo automatski će se otvoriti s omogućenim makroima.
U programu Excel 2007, 2010, 2013 i novijim verzijama, ove mape se konfigurišu iz Centar za pouzdanost > Pouzdane lokacijeMoguće je dodavati, uređivati ili uklanjati putanje. Uobičajena praksa je kreiranje mape, na primjer, "POVJERLJIVE DATOTEKE", i označavanje iste kao sigurne lokacije; od tog trenutka nadalje, Sve knjige sa sačuvanim makroima rade bez upozorenja.
Ova funkcija je veoma korisna za upravljati makroima preuzetim s interneta ili interno dijeljenimJedan mogući tijek rada bi bio: preuzmite makro, sačuvajte ga u pouzdanoj mapi i omogućite ga tamo samo ako je potrebno. Na ovaj način imate bolju kontrolu nad time koje se datoteke smatraju pouzdanim unutar organizacije.
Digitalni certifikati i potpisivanje makroa u Officeu
Da bi dodatno poboljšao sigurnost, Office koristi tehnologiju Microsoft Authenticode za digitalno potpisivanje makroa i dokumenataKada se makro projekat ili datoteka digitalno potpiše, s njim se povezuje certifikat koji identificira potpisnika i omogućava provjeru je li sadržaj izmijenjen od potpisivanja.
Digitalni certifikat koji se koristi za potpisivanje ima dvije funkcije: Garantuje identitet autora i osigurava integritet datoteke.Ako se bilo koji dio dokumenta ili makro projekta izmijeni nakon potpisivanja, postat će nevažeći nakon verifikacije.
Postoji nekoliko načina za dobijanje certifikata:
- Nabavite ga od komercijalnog certifikacijskog tijela (CA)., koji će izdati javno priznati certifikat.
- Zatražite to od administrator sigurnosti ili interni IT odjel, u slučaju da organizacija ima vlastitu infrastrukturu javnih ključeva.
- Kreiraj a testni certifikat pomoću alata Selfcert.exedizajniran za razvojna i testna okruženja.
Nakon što je certifikat instaliran na računaru, moguće je Potpisivanje cijelih datoteka ili samo makro projekataU Excelu se potpisivanje koda upravlja iz VBA editora, u meniju Alati > Digitalni potpis, odabirom željenog certifikata.
Velika prednost je što, kombinovanjem ovog potpisa sa postavkom "Onemogući sve makroe osim digitalno potpisanih" i sa pouzdanim lokacijama, možete izgraditi robustan model povjerenja za korištenje makroa u poslovanjuInterni makroi se potpisuju i distribuiraju iz kontroliranih repozitorija; eksterni makroi, osim ako ne dolaze od certificiranih dobavljača, su ili potpuno blokirani ili se izvršavaju s mnogim ograničenjima.
Sigurnost makroa u LibreOfficeu
LibreOffice paket također uključuje vlastiti sistem nivoi sigurnosti za makroeVrlo slično po konceptu Microsoft Officeu, iako sa svojim nijansama. Prilikom otvaranja dokumenta s makroima (potpisanim ili nepotpisanim) iz nepoznatog izvora, prikazuje se sigurnosno upozorenje; njegov izgled i ponašanje zavise od konfiguriranog nivoa sigurnosti.
Svrha ovog obavještenja je upozorenje da makroi mogu sadržavati virus ili zlonamjerni kod koji utiče na integritet podatakaMogu izvršavati naredbe koje mogu izbrisati datoteke na tvrdom disku ili na diskovima dostupnim s računara, tako da ih nije mudro olako omogućavati.
LibreOffice vam omogućava da konfigurišete sigurnost makroa na četiri nivoa, dostupnim iz Alati > Opcije > LibreOffice > Sigurnost > Dugme Sigurnost makroaPouzdana porijekla i lokacije su također definirane odatle.
Vrlo visok nivo sigurnosti
Na ovom nivou, Makroi se izvršavaju samo iz dokumenata koji se nalaze u pouzdanim mapama.Bilo koji drugi makro, bez obzira na njegovo porijeklo ili da li je potpisan ili ne, deaktivira se bez oklijevanja.
To je vrlo kruta konfiguracija, ali je pogodna kada želite potpuno ograničiti upotrebu makroa na vrlo mali skup dokumenata pohranjenih u određenim, prethodno revidiranim putanjama.
Visok nivo sigurnosti
To je nivo koji LibreOffice postavlja zadane postavke nakon prve instalacije.Kada se otvori dokument s makroima, prikazuje se upozorenje koje označava da su makroi onemogućeni i datoteka se otvara bez dozvole za njihovo izvršavanje.
Međutim, izuzetak je napravljen za makroi koji se nalaze u pouzdanim izvorima ili digitalno potpisani od strane pouzdanih izdavačašto se može izvršiti. Ovo je razumna konfiguracija za većinu korisnika, jer ih prisiljava da budu selektivni u odabiru dokumenata koji se smatraju sigurnima.
Srednji nivo sigurnosti
Na srednjem nivou, LibreOffice prikazuje dijalog prilikom otvaranja dokumenata s makroima što vam omogućava da eksplicitno odaberete između "Omogući makroe" ili "Onemogući makroe". Opet, makroi sa pouzdanih lokacija ili urednika su omogućeni bez problema.
Ovaj način rada daje korisniku veću slobodu, omogućavajući mu da odlučuje u svakom pojedinačnom slučaju, ali zahtijeva više rasuđivanja i obuke kako biste izbjegli omogućavanje opasnih makroa greškom ili iz navike.
Nizak nivo sigurnosti
U ovom slučaju, LibreOffice ne prikazuje nikakva upozorenja i omogućava automatsko izvršavanje makroa. čim se dokument otvori. Ovo je najnezaštićenija metoda i uopće se ne preporučuje.
Budući da se mnogi makroi mogu konfigurirati za pokretanje prilikom otvaranja datoteke, ova konfiguracija ostavlja sistem izloženim bilo kojem zlonamjernom dokumentu preuzetom ili primljenom putem e-pošte, dajući mu slobodu da djeluje bez mogućnosti da korisnik reagira.
Pouzdane lokacije i izvori u LibreOfficeu
Kao i Excel, LibreOffice vam omogućava da odredite mape kao pouzdane lokacije datotekaDokumenti sa pohranjenim makroima smatraju se sigurnima i njihovi makroi se uvijek izvršavaju, bez obzira na postavke ostalih nivoa.
Ove mape su definirane u kartici Izvori povjerenja u dijalogu Makro sigurnostOve lokacije vam omogućavaju dodavanje i uklanjanje ruta pomoću odgovarajućih dugmadi. Sasvim je logično rezervirati ove prostore za interne predloške i alate koji su prethodno pregledani i validirani.
Makroi za potpisivanje u LibreOfficeu
U LibreOfficeu, makroi su dio samog dokumenta, tako da Digitalnim potpisivanjem datoteke, potpisuju se i makroi.Međutim, moguće je primijeniti i odvojene potpise kako bi se razlikovao potpis sadržaja od potpisa koda.
Da biste potpisali makroe, jednostavno idite na Alati > Makroi > Digitalni potpisOvo će otvoriti dijalog za digitalni potpis. Odatle se odabire odgovarajući certifikat i potpis se primjenjuje prema uobičajenom postupku.
Nakon što je kod potpisan, osnovno razvojno okruženje prikazuje ikona indikatora u statusnoj traciOdatle možete pregledati certifikat dvostrukim klikom. Ovo vam pomaže da brzo provjerite da li kod dolazi od pouzdanog autora i da li je dokument izmijenjen nakon potpisivanja.
Stvarni rizici i makro politike u korporativnom okruženju
U mnogim organizacijama, upotreba makroa i Office dodataka je tema Stalna debata između produktivnosti i sigurnostiS jedne strane, postoji mnogo poslovnih procesa izgrađenih na Excel proračunskim tablicama s VBA kodom i COM ili VSTO dodacima; s druge strane, svaka datoteka s makroima koju korisnik otvara na vlastiti rizik može postati ulazna vrata za napad.
Uobičajen problem je to što Ne postoji jasna slika o tome koliko se makroa zapravo koristi ili šta rade.Mnogi alati se rađaju kao brza rješenja za napredne korisnike i na kraju postaju ključne komponente bez prolaska kroz formalne sigurnosne kontrole, pregled koda ili digitalne potpise.
S obzirom na ovaj scenario, neke kompanije razmatraju pooštravanje svojih politika na sljedeći način:
- Onemogući sve makroe i dodatke prema zadanim postavkamatako da korisnik ne može jednostavno prihvatiti upozorenje i nastaviti dalje.
- Dozvoli samo izvršavanje digitalno potpisanih makroabilo od strane pouzdanih dobavljača ili od same organizacije putem internih certifikata.
- stvoriti popustljivije politike za određene korisničke grupe kojima je zaista potrebna napredna automatizacija, centralno upravljanje izuzecima.
Ovaj pristup drastično smanjuje rizik, ali sa sobom nosi i značajno povećanje administrativnog opterećenjaNeophodno je održavati potpisane verzije svih internih alata, upravljati certifikatima, pregledavati i ažurirati politike te pružati podršku korisnicima kada njihovi uobičajeni makroi prestanu raditi.
Osim toga, mnoge organizacije dopunjuju ove mjere pravilima Smanjenje površine napada (ASR) u programu Microsoft DefenderOva pravila ograničavaju ono što Office aplikacije mogu učiniti (na primjer, blokiranje kreiranja podređenih procesa, sprječavanje pokretanja skripti ili sumnjivih preuzimanja itd.), smanjujući utjecaj zlonamjernih makroa čak i ako se uspiju pokrenuti.
Veliko pitanje koje IT područje postavlja sebi obično je trostruko: Koji je nivo stvarnog rizika uključen u omogućavanje korisniku da aktivira makroe na zahtjev?, ako ASR pravila smanje taj rizik na prihvatljiv nivo i ako povećana sigurnost kompenzira operativni uticaj.
Ne postoji jedinstven odgovor, ali u okruženjima s osjetljivim podacima ili visokom izloženošću, najrazumnije je učiniti Kombinujte restriktivne makro politike, sistematsku upotrebu digitalnih potpisa i dobro konfigurisana ASR pravilaPored inventurizacije i optimizacije postojećih makroa, u manjim ili manje kritičnim kontekstima, održavanje načina obavještavanja, dobar, ažuriran antivirus i obuka korisnika mogu biti dovoljni.
Ukratko, sigurnost makroa u Excelu, LibreOfficeu i drugim Office aplikacijama nije mali problem: iza jednostavne proračunske tablice može se nalaziti kod sa snažnim pristupom vašem sistemu i vašim podacima.
Razumijevanje paketa kao što su nivoi sigurnosti, pouzdane lokacije, digitalni certifikati, potpisivanje makroa i uloga alata poput ASR-a omogućava vam da izvučete maksimum iz automatizacije bez pretvaranja infrastrukture u sito, održavajući razumnu ravnotežu između praktičnosti i zaštite. Podijelite ove informacije i više korisnika će saznati više o sigurnosti makroa u Excelu..