সর্বশেষ আপডেট: 28 সেপ্টেম্বর, 2026

এক্সেল ফাইল নিরাপত্তা ব্যাখ্যা: XLSX, XLSM, এবং ম্যাক্রো ঝুঁকি
দশক ধরে, মাইক্রোসফট এক্সেল ব্যবসায়িক কার্যক্রমের সর্বজনীন ইঞ্জিন হিসেবে দাঁড়িয়ে আছে। এটি কর্পোরেট বাজেট সমন্বয় করে, জটিল ডেটা সেটগুলোকে ভিজ্যুয়ালাইজ করে, ইনভেন্টরি ট্র্যাক করে, এবং প্রায় প্রতিটি শিল্পে বিশ্লেষণাত্মক পাইপলাইনকে শক্তি প্রদান করে।
তবু, একই গণনামূলক নমনীয়তা স্প্রেডশিটকে সাইবার প্রতিপক্ষদের মধ্যে একটি স্থায়ী পছন্দ করে তুলেছে। আক্রমণকারীরা ১৯৯০-এর শেষের দিকে ম্যাক্রো ভাইরাসের প্রারম্ভিক দিন থেকে স্প্রেডশিটকে অস্ত্র হিসেবে ব্যবহার করে আসছে। যদিও মাইক্রোসফট এবং সিস্টেম অ্যাডমিনিস্ট্রেটররা ফাইল ফরম্যাট বিচ্ছিন্নতা এবং ডিফল্ট ম্যাক্রো ব্লকিংয়ের মতো একাধিক রক্ষার স্তর প্রবর্তন করেছে—সোশ্যাল ইঞ্জিনিয়ারিং এবং সূক্ষ্ম আর্কিটেকচারাল ঝুঁকি এখনও এক্সেল-কেন্দ্রিক আক্রমণকে প্রাসঙ্গিক রাখে।
একটি স্থিতিশীল নিরাপত্তা অবস্থান গড়তে, ডেভেলপার, প্রশাসক এবং শক্তিশালী ব্যবহারকারীদের ওয়ার্কবুক ইন্টারফেসের নিচে দেখতে হবে। অন্তর্নিহিত OpenXML ফরম্যাট কীভাবে কাজ করে, .xlsx এবং .xlsm আর্কিটেকচারাল স্তরে কীভাবে ভিন্ন, এবং ম্যাক্রো এক্সিকিউশন মেকানিক্স কীভাবে কাজ করে তা বোঝা আধুনিক এন্ডপয়েন্ট রক্ষা করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
1. আধুনিক এক্সেল ফাইলের গঠন: OpenXML বিশ্লেষণ
মাইক্রোসফট অফিস ২০০৭ প্রকাশের আগে, এক্সেল মূলত মালিকানাধীন বাইনারি ফরম্যাট ব্যবহার করে ফাইল সংরক্ষণ করত, যার মধ্যে সবচেয়ে উল্লেখযোগ্য ছিল .xls ফরম্যাট (বাইনারি ইন্টারচেঞ্জ ফাইল ফরম্যাট, বা BIFF8 দ্বারা নিয়ন্ত্রিত)। .xls ফাইলগুলিতে, ডেটা রেকর্ড, ফরম্যাটিং সংজ্ঞা, সূত্র এবং ভিজ্যুয়াল বেসিক ফর অ্যাপ্লিকেশনস (VBA) ম্যাক্রো স্ট্রিমগুলি একটি একক স্ট্রাকচার্ড স্টোরেজ কন্টেইনারে প্যাকেজ করা হতো। এটি প্রোগ্রাম্যাটিক ইনস্পেকশনকে কঠিন করে তুলেছিল এবং আক্রমণকারীদের অস্বচ্ছ বাইনারি সেক্টরে ক্ষতিকারক পে-লোড স্ক্রিপ্ট লুকিয়ে রাখার সুযোগ দিত।
Excel 2007 থেকে শুরু করে, মাইক্রোসফট Office Open XML (OOXML) স্ট্যান্ডার্ড (ECMA-376 এবং ISO/IEC 29500 হিসাবে মানীকৃত) পরিচয় করিয়ে দেয়। OOXML-এর অধীনে, এক্সেল ওয়ার্কবুকগুলি আর একক বাইনারি ব্লব নয়। বরং, সেগুলি জিপ করা আর্কাইভ, যা XML ডকুমেন্ট, রিলেশনশিপ টেবিল এবং এমবেডেড মিডিয়া অ্যাসেটের একটি হায়ারার্কিক্যাল স্ট্রাকচার ধারণ করে।
ZIP কন্টেইনারের ভিতরে
যদি আপনি কোনো স্ট্যান্ডার্ড আধুনিক এক্সেল ওয়ার্কবুক নেন এবং এর এক্সটেনশন .zip-এ পরিবর্তন করেন, তবে আপনি যেকোনো স্ট্যান্ডার্ড ডিকম্প্রেশন ইউটিলিটি দিয়ে এর বিষয়বস্তু বের করতে পারেন:
my_workbook.xlsx (extracted)
│
├── [Content_Types].xml <-- Registry of MIME types and structural parts
├── _rels/ <-- Package-level relationship mappings
│ └── .rels
├── docProps/ <-- Metadata (author, creation date, revision)
│ ├── app.xml
│ └── core.xml
└── xl/ <-- Core spreadsheet contents
├── workbook.xml <-- Workbook-level parameters and sheet list
├── styles.xml <-- Cell styles, fonts, and borders
├── sharedStrings.xml <-- Unique string index for performance optimization
├── _rels/
│ └── workbook.xml.rels <-- Sheet and component dependencies
└── worksheets/
├── sheet1.xml <-- Raw cell values, formulas, and grid geometry
└── sheet2.xml
এই কাঠামোগত পরিবর্তন তৎক্ষণাৎ নিরাপত্তা সুবিধা প্রদান করেছে:
- DPI (Deep Packet Inspection) & Gateway Visibility: সিকিউরিটি অ্যাপ্লায়েন্স, প্রক্সি এবং এন্ডপয়েন্ট এজেন্টগুলি রিয়েল-টাইমে আর্কাইভটি আনপ্যাক করতে পারে এবং প্লেইনটেক্সট XML ট্রি পার্স করে সন্দেহজনক স্ট্রিং, বহিরাগত URL, অথবা এমবেডেড অবজেক্ট চিহ্নিত করতে পারে।
- Deterministic File Validation: যদি কোনো ফাইল দাবি করে যে তা একটি OpenXML ডকুমেন্ট, কিন্তু স্কিমা সীমাবদ্ধতা লঙ্ঘন করে, তবে এক্সেল তা খুলতে অস্বীকার করে অথবা স্যান্ডবক্সড রিকভারি মোডে চালায়।
- Format Separation: মাইক্রোসফ্ট সাধারণ গণনামূলক স্প্রেডশিটকে এমবেডেড প্রোসিডিউরাল স্ক্রিপ্ট চালাতে সক্ষম ফাইল থেকে আলাদা করেছে।
2. XLSX বনাম XLSM: স্থাপত্যিক সীমানা
.xlsx এবং .xlsm এর প্রধান পার্থক্য হল ফাইলের কাঠামো এক্সিকিউটেবল ম্যাক্রো প্রজেক্টের অন্তর্ভুক্তি অনুমোদন করে কি না।
| বৈশিষ্ট্য / মাত্রা | .xlsx (এক্সেল OpenXML স্প্রেডশিট) | .xlsm (এক্সেল ম্যাক্রো-সক্ষম স্প্রেডশিট) |
|---|---|---|
| MIME কন্টেন্ট টাইপ | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | application/vnd.ms-excel.sheet.macroEnabled.12 |
| VBA স্টোরেজ কন্টেইনার | কড়া নিষিদ্ধ। সংরক্ষণ করা যাবে না vbaProject.bin | অনুমোদিত। অন্তর্ভুক্ত করে xl/vbaProject.bin |
| স্থানীয় কার্যকরী ঝুঁকি | ম্যাক্রো কার্যকরির জন্য নগণ্য; ফর্মুলা ইনজেকশন/DDE তে সীমাবদ্ধ | উচ্চ; ওয়ার্কবুকের সঙ্গে ইন্টারঅ্যাকশনের সময় স্বয়ংক্রিয় VBA কোড চালাতে পারে |
| OpenXML কঠোর স্কিমা | কঠোর, ম্যাক্রো-মুক্ত XML সংজ্ঞার সাথে সামঞ্জস্যপূর্ণ | লিগেসি এবং আধুনিক অটোমেশন এক্সটেনশনের সংজ্ঞা অন্তর্ভুক্ত করে |
| ব্যবহারকারী ভিজ্যুয়াল সূচক | স্ট্যান্ডার্ড সবুজ স্প্রেডশিট আইকন | এক্সক্লামেশন চিহ্নসহ স্প্রেডশিট আইকন |
প্রয়োগের প্রক্রিয়া: কেন XLSX ম্যাক্রো চালাতে পারে না
জুনিয়র অ্যাডমিনিস্ট্রেটর এবং ডেভেলপারদের মধ্যে একটি সাধারণ প্রশ্ন হল: যদি একজন আক্রমণকারী একটি ক্ষতিকারক .xlsm ফাইল নেয়, কার্যকর কোড ইনজেক্ট করে, এবং ফাইল এক্সটেনশনটি .xlsx এ পরিবর্তন করে তাহলে কী হয়?
সংক্ষিপ্ত উত্তর: ফাইলটি ম্যাক্রো চালাবে না।
এক্সেল এক্সিকিউশন নিয়ম নির্ধারণের জন্য শুধুমাত্র ফাইল এক্সটেনশনের উপর নির্ভর করে না। যখন একটি .xlsx নামের ফাইল খোলা হয়:
- এক্সেল জিপ পে-লোড পরীক্ষা করে এবং
[Content_Types].xml-কে রেফারেন্স করে। - একটি প্রকৃত
.xlsxফাইলে, সব সংজ্ঞায়িত কন্টেন্ট টাইপ স্ট্যান্ডার্ড ডেটা উপাদানগুলি প্রতিনিধিত্ব করে (যেমনworksheet,sharedStrings, অথবাstyles)। - যদি একজন আক্রমণকারী ম্যানুয়ালি একটি কম্পাইলড VBA স্ট্রিম (
xl/vbaProject.bin) একটি.xlsxপ্যাকেজে ইনজেক্ট করে এবং রিলেশনশিপস আপডেট করে, এক্সেল একটি স্পষ্ট স্কিমা বিরোধের সম্মুখীন হয়:- এটি একটি
.xlsxএক্সটেনশনকে এমন কন্টেন্ট টাইপের সাথে যুক্ত দেখে যা ম্যাক্রো সক্ষমতা নির্দেশ করে। - এক্সেল একটি গুরুতর ইন্টিগ্রিটি ত্রুটি নিক্ষেপ করে: "Excel cannot open the file ‘filename.xlsx’ because the file format or file extension is not valid. Verify that the file has not been corrupted…"
- এটি একটি
- যদি আক্রমণকারী অভ্যন্তরীণ টাইপগুলো অপরিবর্তিত রেখে বাইনারি রেজিস্টার না করে, এক্সেল
vbaProject.bin-কে জিপ আর্কাইভের মধ্যে একটি অরেফারেন্সড, অনাথ সংযুক্তি হিসেবে বিবেচনা করে এবং লোড সাইকেলের সময় সম্পূর্ণভাবে বাদ দেয়।
একটি ফাইল কঠোরভাবে প্রকৃত .xlsx কন্টেইনার হিসেবে কাজ করলে নেটিভ VBA কোড চালাতে পারে না। তবে, এর অর্থ এই নয় যে .xlsx ফাইলগুলো সব আক্রমণ ভেক্টর থেকে মুক্ত, যা পরে এই গাইডে বিশ্লেষণ করা হয়েছে।
৩. ম্যাক্রো ঝুঁকি ও আক্রমণ চক্র
ম্যাক্রো গুলো পুনরাবৃত্তি হওয়া হিসাবরক্ষণ, আর্থিক মডেলিং এবং ডেটা ম্যানিপুলেশন কাজগুলোকে ভিজ্যুয়াল বেসিক ফর অ্যাপ্লিকেশনস (VBA) এর মাধ্যমে স্বয়ংক্রিয় করতে ডিজাইন করা হয়েছিল। কারণ VBA কর্মস্থল স্বয়ংক্রিয়তার জন্য তৈরি করা হয়েছিল, তাই এটি কম্পোনেন্ট অবজেক্ট মডেল (COM), উইন্ডোজ স্ক্রিপ্ট হোস্ট (WSH) এবং সরাসরি Win32 API কলের মাধ্যমে অন্তর্নিহিত উইন্ডোজ অপারেটিং সিস্টেমে ব্যাপক প্রবেশাধিকার পায়।
যখন একটি অবিশ্বস্ত ম্যাক্রো চালানো হয়, এটি লগইন করা ব্যবহারকারীর ঠিক একই অধিকারসহ চালিত হয়। এটি ভার্চুয়ালাইজড জাভাস্ক্রিপ্ট-স্টাইল ব্রাউজার স্যান্ডবক্সের মধ্যে আটকে থাকে না।
+--------------------------------------------------------------------------------+
| ATTACK LIFECYCLE |
+--------------------------------------------------------------------------------+
│
▼
[ Delivery & Evasion ] ──────► Spear-phishing email with .xlsm, .xlam, or .zip.
│
▼
[ Social Engineering ] ──────► Lures victim to bypass Protected View ("Enable Content").
│
▼
[ 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.
সাধারণ ম্যাক্রো প্রবেশ কৌশল
অটো-এক্সিকিউশন হুকস: আক্রমণকারীরা তাদের প্রবেশবিন্দু স্বাভাবিক ইভেন্ট হ্যান্ডলারগুলির মধ্যে স্থাপন করে, যেমন
Sub Auto_Open()অথবাPrivate Sub Workbook_Open()। ব্যবহারকারী এক্সিকিউশন অনুমতি প্রদান করার সাথে সাথেই, এই রুটিনগুলি স্প্রেডশিটের ভিতরে কোনো ক্লিকের প্রয়োজন ছাড়াই ট্রিগার হয়।অবফুসকেশন এবং স্টোম্পিং:
- স্ট্রিং অবফুসকেশন: পে-লোডগুলি ক্যারেক্টার অ্যারে, XOR এনকোডিং, Base64 ডিকোডিং, অথবা এনভায়রনমেন্ট ভেরিয়েবল কনক্যাটেনেশন ব্যবহার করে URL এবং সিস্টেম কল লুকিয়ে রাখে (যেমন,
Chr(112) & Chr(111) & Chr(119)...)। - VBA স্টোম্পিং:
vbaProject.bin-এর মধ্যে VBA দুটি রূপে থাকে: ব্যাখ্যিত সোর্স কোড এবং কম্পাইলড p-code (নির্দিষ্ট Office সংস্করণে লক্ষ্য করা পসুডো-কোড)। আক্রমণকারীরা পরিষ্কার টেক্সট সোর্স কোড সম্পূর্ণভাবে মুছে ফেলতে পারে, শুধুমাত্র কম্পাইলড p-code রেখে। অনেক মৌলিক অ্যান্টিভাইরাস সমাধান এবং স্ট্যাটিক অ্যানালাইজার শুধুমাত্র সোর্স স্ট্রিম পরীক্ষা করে, ফলে p-code অনাবিষ্কৃত থাকে যতক্ষণ না তা মিলিত Office সংস্করণে চালিত হয়।
- স্ট্রিং অবফুসকেশন: পে-লোডগুলি ক্যারেক্টার অ্যারে, XOR এনকোডিং, Base64 ডিকোডিং, অথবা এনভায়রনমেন্ট ভেরিয়েবল কনক্যাটেনেশন ব্যবহার করে URL এবং সিস্টেম কল লুকিয়ে রাখে (যেমন,
লিভিং অফ দ্য ল্যান্ড (LotL): আধুনিক ক্ষতিকারক ম্যাক্রোগুলি খুব কমই একটি
.exeফাইল সরাসরি ডিস্কে ড্রপ করে, যা সঙ্গে সঙ্গে এন্ডপয়েন্ট ডিটেকশন অ্যান্ড রেসপন্স (EDR) এজেন্টকে সতর্ক করবে। বরং, তারা বিল্ট-ইন সিস্টেম টুলগুলির সাথে যোগাযোগ করে:WScript.Shellইনস্ট্যানশিয়েট করে কমান্ড-লাইন আর্গুমেন্টগুলি চালানো।PowerShell.exeচালু করা হয় এক্সিকিউশন পলিসি বাইপাস করে (-ExecutionPolicy Bypass -WindowStyle Hidden).Declare PtrSafe Function CreateProcessঅথবাVirtualAllocব্যবহার করে নেটিভ Win32 API কল করে শেলকোড সরাসরি সিস্টেম মেমরিতে ইনজেক্ট করা।
৪. অন্যান্য স্প্রেডশিট হুমকি ভেক্টর (স্ট্যান্ডার্ড VBA এর বাইরে)
.xlsm ফাইলের বিরুদ্ধে পরিবেশকে সুরক্ষিত করা কেবল অর্ধেক যুদ্ধ। প্রতিপক্ষও এমন পদ্ধতি ব্যবহার করে যা ঐতিহ্যবাহী VBA থেকে স্বাধীনভাবে কাজ করে।
ডাইনামিক ডেটা এক্সচেঞ্জ (DDE) এবং CSV ইনজেকশন
Excel-এ একটি পুরোনো প্রোটোকল রয়েছে যার নাম ডাইনামিক ডেটা এক্সচেঞ্জ (DDE), যা চলমান অ্যাপ্লিকেশনগুলোর মধ্যে ডেটা শেয়ারিংকে সম্ভব করে (উদাহরণস্বরূপ, একটি আলাদা প্রোগ্রাম থেকে লাইভ স্টক টিকার ডেটা স্ট্রিম করে Excel সেলে)।
- ফর্মুলা ইনজেকশন কীভাবে কাজ করে:
যখন একটি স্প্রেডশিট সেল
=,@,+, অথবা-এর মতো অক্ষর দিয়ে শুরু হয়, Excel বিষয়বস্তুকে ফর্মুলা হিসেবে ব্যাখ্যা করে। যদি একজন আক্রমণকারী এমন ইনপুট নিয়ন্ত্রণ করে যা স্প্রেডশিটে রপ্তানি হয় (যেমন, একটি ওয়েব অ্যাপ্লিকেশনের অ-স্যানিটাইজড “Comments” ফিল্ড যা CSV বা XLSX-এ রপ্তানি হয়), তারা ইনজেক্ট করতে পারে:=cmd|'/C powershell.exe -w hidden -enc <base64_payload>'!A0 - খোলা হলে, Excel ফর্মুলা মূল্যায়ন করে, ব্যবহারকারীকে একটি প্রম্পট দিয়ে জানায় যে একটি বাহ্যিক অ্যাপ্লিকেশন শুরু করা হবে, এবং অনুমোদিত হলে সিস্টেম শেল চালায়।
এক্সেল ৪.০ (XLM) প্রাচীন ম্যাক্রো
1993 সালে VBA পরিচিত হওয়ার আগে, এক্সেল একটি ফর্মুলা-ভিত্তিক ম্যাক্রো সিস্টেম ব্যবহার করত যা Excel 4.0 (XLM) macros নামে পরিচিত ছিল। এই ম্যাক্রোগুলি আলাদা VBA প্রকল্পের পরিবর্তে নিবেদিত ম্যাক্রো শীটের মধ্যে থাকে।
XLM ম্যাক্রোগুলি সেল ফর্মুলা হিসেবে লেখা হয় (যেমন =EXEC("calc.exe")), তাই তারা অনেক স্ট্যান্ডার্ড VBA স্ট্যাটিক ইনস্পেকশন ইঞ্জিনকে বাইপাস করে। আক্রমণকারীরা ২০১০-এর শেষের দিকে এবং ২০২০-এর শুরুর দিকে XLM ম্যাক্রোকে পছন্দ করত স্বয়ংক্রিয় সনাক্তকরণ এড়াতে, মাইক্রোসফট আধুনিক এন্টারপ্রাইজ বিল্ডে ডিফল্টভাবে সেগুলি নিষ্ক্রিয় করার আগে।
দূষিত বহিরাগত সংযোগ এবং OLE অবজেক্ট
একটি সাধারণ .xlsx ওয়ার্কবুক এখনও বাহ্যিক রিসোর্সের মাধ্যমে ঝুঁকি তৈরি করতে পারে:
- Embedded OLE Packages: একজন আক্রমণকারী একটি এক্সিকিউটেবলকে এমবেডেড PDF আইকন হিসেবে ছদ্মবেশে সরাসরি ওয়ার্কশীটে সন্নিবেশ করতে পারে।
- External Workbook Links & Web Queries: একটি XLSX-এ বাহ্যিক রেফারেন্স থাকতে পারে যা ফাইল খোলার সময় স্বয়ংক্রিয়ভাবে আক্রমণকারী-নিয়ন্ত্রিত কমান্ড-এন্ড-কন্ট্রোল (C2) সার্ভারে HTTP GET রিকোয়েস্ট শুরু করে, প্রধানত রিকনসাইসেন্স বা netNTLM হ্যাশ-হারভেস্টিং আক্রমণের জন্য ব্যবহৃত হয়।
৫. এন্টারপ্রাইজ হার্ডেনিং এবং ডিফেন্স-ইন-ডেপথ কৌশলসমূহ
এক্সেল-সংশ্লিষ্ট হুমকির বিরুদ্ধে রক্ষা পেতে নেটওয়ার্ক ইনস্পেকশন, সিস্টেম কনফিগারেশন, অ্যাক্সেস কন্ট্রোল এবং অপারেশনাল প্রক্রিয়াগুলি অন্তর্ভুক্ত করে একটি স্তরযুক্ত পদ্ধতি প্রয়োজন।
+─────────────────────────────────────────────────────────+
| ENTERPRISE DEFENSE LAYERS |
+─────────────────────────────────────────────────────────+
| PERIMETER: Drop inbound .xlsm, .xla, and .xltm at mail |
| gateway unless cryptographically signed or exempted. |
+---------------------------------------------------------+
| IDENTITY & 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. |
+─────────────────────────────────────────────────────────+
১. ওয়েবের চিহ্ন (MotW) ম্যাক্রো ব্লকিং প্রয়োগ করুন
২০২২ সালে, মাইক্রোসফট অফিস অ্যাপ্লিকেশনগুলোর ডিফল্ট আচরণ আপডেট করেছে: ইন্টারনেট থেকে আসা ফাইলের ম্যাক্রো ডিফল্টভাবে ব্লক করা হয়।
যখন কোনো ব্যবহারকারী ব্রাউজার বা বাহ্যিক ক্লায়েন্টের মাধ্যমে একটি ফাইল ডাউনলোড করেন, উইন্ডোজ ফাইলটিকে Zone.Identifier নামের একটি বিকল্প ডেটা স্ট্রিম (ADS) দিয়ে ট্যাগ করে (জোন ৩ ইন্টারনেট নির্দেশ করে)। এই চিহ্নযুক্ত ফাইলগুলোর জন্য, এক্সেল সম্পূর্ণভাবে ম্যাক্রো নিষ্ক্রিয় করে এবং একটি লাল সিকিউরিটি ব্যানার দেখায়: > “সিকিউরিটি ঝুঁকি: মাইক্রোসফট ম্যাক্রো চালানো ব্লক করেছে কারণ এই ফাইলের উৎস অবিশ্বস্ত।”
প্রশাসনিক পদক্ষেপ: নিশ্চিত করুন যে এই আচরণ গ্রুপ পলিসির মাধ্যমে প্রয়োগ করা হয়েছে এবং শেষ ব্যবহারকারীরা এটি ওভাররাইড করতে পারে না:
- GPO পথ:
User Configuration > Administrative Templates > Microsoft Excel 2016 > Excel Options > Security > Trust Center - সেটিং: সক্রিয় করুন “ইন্টারনেট থেকে অফিস ফাইলের ম্যাক্রো চালানো ব্লক করুন”।
২. আক্রমণ পৃষ্ঠতল হ্রাস (ASR) নিয়মগুলি কনফিগার করুন
মাইক্রোসফট ডিফেন্ডার ফর এন্ডপয়েন্ট ব্যবহারকারী সংস্থাগুলোকে অফিস অ্যাপ্লিকেশনগুলোর জন্য বিশেষভাবে ডিজাইন করা মূল Attack Surface Reduction নিয়মগুলো সক্রিয় করা উচিত:
Block Office applications from creating child processes(GUID:D4F940AB-401B-4EFC-AADC-AD5F3C50688A)- এক্সেলকে PowerShell, CMD, অথবা স্ক্রিপ্টিং ইঞ্জিন চালু করা থেকে রোধ করে।
অফিস অ্যাপ্লিকেশনগুলোকে অন্য প্রক্রিয়ায় কোড ইনজেক্ট করা থেকে বাধা দিন(GUID:75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84)অফিস ম্যাক্রো থেকে Win32 API কলগুলোকে বাধা দিন(GUID:92E6390C-CF9E-43CE-BD8C-0E6F0FE66680)
৩. অ্যান্টিম্যালওয়্যার স্ক্যান ইন্টারফেস (AMSI) ব্যবহার করুন
Microsoft 365-এর আধুনিক সংস্করণগুলো VBA এক্সিকিউশনকে সরাসরি AMSI-এর সঙ্গে একীভূত করে। এমনকি যদি কোনো আক্রমণকারী জটিল স্ট্রিং অবফুসকেশন বা VBA স্টম্পিং প্রয়োগ করে, তবুও VBA রানটাইম ইঞ্জিন পুনর্গঠিত, অএনক্রিপ্টেড কমান্ডগুলো আপনার ইনস্টল করা অ্যান্টিভাইরাস/EDR ইঞ্জিনে এক্সিকিউশনের ঠিক এক মিলিসেকেন্ড আগে পাঠায়। নিশ্চিত করুন আপনার এন্ডপয়েন্ট প্রোটেকশন সক্রিয়ভাবে AMSI রানটাইম ইভেন্টগুলো পর্যবেক্ষণ করে।
৪. বিশ্বস্ত অবস্থান এবং ডিজিটাল সার্টিফিকেটে রূপান্তর করুন
দৈনন্দিন কার্যক্রমের জন্য স্বয়ংক্রিয় স্প্রেডশিটের উপর নির্ভরশীল সংস্থাগুলোর জন্য:
- ব্যবহারকারীর ডাউনলোডস বা ডেস্কটপ ফোল্ডারে অব্যবহৃত XLSM ফাইলগুলো দূর করুন।
- বিশ্বস্ত অবস্থান ব্যবহার করুন: ম্যাক্রো এক্সিকিউশনকে শুধুমাত্র আইটি প্রশাসকদের পরিচালিত রিড-অনলি নেটওয়ার্ক শেয়ারগুলিতে সীমাবদ্ধ করুন।
- কোড সাইনিং: সকল অভ্যন্তরীণভাবে উন্নত ম্যাক্রোকে এন্টারপ্রাইজ পাবলিক কী ইনফ্রাস্ট্রাকচার (PKI) দ্বারা ইস্যু করা সার্টিফিকেট ব্যবহার করে ক্রিপ্টোগ্রাফিকভাবে সাইন করা বাধ্যতামূলক করুন। এক্সেলকে কনফিগার করুন যাতে এটি শুধুমাত্র ডিজিটালি সাইন করা ম্যাক্রো এক্সিকিউট করে এবং অ-সাইন করা ম্যাক্রোকে নীরবে ব্লক করে।
৬. ডেভেলপার দৃষ্টিকোণ: নিরাপদ অটোমেশন গঠন
যদি আপনি এমন সফটওয়্যার তৈরি করছেন যা এক্সেল ফাইল পার্স, জেনারেট বা ব্যবহার করে (যেমন, pandas/openpyxl ব্যবহারকারী পাইথন পাইপলাইন, Node.js মাইক্রোসার্ভিস, অথবা C#/.NET অ্যাপ্লিকেশন), এই ডেভেলপমেন্ট সুরক্ষা ব্যবস্থা প্রয়োগ করুন:
আপলোড সীমান্তে অপ্রত্যাশিত ফাইল ফরম্যাট প্রত্যাখ্যান করুন: যদি আপনার অ্যাপ্লিকেশন আর্থিক রিপোর্টের প্রত্যাশা করে, তবে কঠোরভাবে যাচাই করুন যে আগত ফাইলগুলি
.xlsxফরম্যাটের সাথে মিলে। অভ্যন্তরীণ ম্যাজিক বাইট (স্ট্যান্ডার্ড জিপ হেডার50 4B 03 04) পরীক্ষা করুন এবং ক্লাউড বাকেট বা ডাটাবেস স্টোরে সংরক্ষণ করার আগে আর্কাইভ ইনডেক্সে কোনোvbaProject.binএন্ট্রি নেই তা নিশ্চিত করুন।ফর্মুলা ইনজেকশন থেকে ডেটা পরিষ্কার করুন: যখন ব্যবহারকারী-সৃষ্ট ইনপুটকে CSV বা XLSX ফাইলে রপ্তানি করা হয়, তখন বিপজ্জনক অক্ষর (
=,+,-,@,\t,\r) দিয়ে শুরু হওয়া যেকোনো সেলে একটি অ্যাপস্ট্রফি (') অথবা একটি স্পেস যোগ করুন:def sanitize_for_spreadsheet(value: str) -> str: if value and value[0] in ('=', '+', '-', '@', '\t', '\r'): return f"'{value}" return valueVBA থেকে Office Scripts বা Web Add-ins-এ স্থানান্তর করুন: আধুনিক এন্টারপ্রাইজ অটোমেশনের জন্য, পুরনো VBA সম্পূর্ণভাবে বাদ দিন:
- Office Scripts: TypeScript-এ লেখা, Office Scripts একটি স্যান্ডবক্সড ক্লাউড পরিবেশে চলে এবং ওয়েব ও ডেস্কটপ সংস্করণে স্বচ্ছন্দে কাজ করে, নেটিভ OS সিস্টেম কল প্রকাশ না করে।
- Office Web Add-ins: স্ট্যান্ডার্ড HTML, CSS এবং আধুনিক JavaScript ব্যবহার করে তৈরি, ওয়েব অ্যাড-ইনগুলি ম্যানেজড JavaScript API এর মাধ্যমে যোগাযোগ করে এবং স্থানীয় অপারেটিং সিস্টেম থেকে বিচ্ছিন্ন থাকে।
৭. স্প্রেডশিট নিরাপত্তার সারাংশ চেকলিস্ট
- ডিফল্টভাবে
.xlsxপ্রয়োগ করুন: সমস্ত স্ট্যান্ডার্ড ব্যবহারকারী কর্মপ্রবাহকে ম্যাক্রো-ফ্রি.xlsxহিসেবে সংরক্ষণ করতে বাধ্য করুন। - ইন্টারনেট-উৎপন্ন ম্যাক্রো ব্লক করুন: নিশ্চিত করুন যে MotW নীতি প্রয়োগ আপনার সংস্থায় GPO বা Intune এর মাধ্যমে মোতায়েন করা হয়েছে।
- ASR নিয়ম সক্রিয় করুন: Office পণ্যগুলিকে কমান্ড ইন্টারপ্রেটার বা চাইল্ড প্রসেস স্পন করা থেকে নিষিদ্ধ করুন।
- Excel 4.0 (XLM) অব্যবহৃত করুন: নিশ্চিত করুন যে পুরাতন XLM ম্যাক্রো ইঞ্জিনগুলি সমস্ত ওয়ার্কস্টেশনে স্থায়ীভাবে নিষ্ক্রিয় করা হয়েছে।
- অ্যাপ্লিকেশন এক্সপোর্ট পরিষ্কার করুন: CSV এবং Excel জেনারেশন রুটিনকে CSV/ফর্মুলা ইনজেকশন থেকে রক্ষা করুন।
- Office Scripts এর দিকে রূপান্তর করুন: পুরাতন প্রশাসনিক ম্যাক্রোকে TypeScript-চালিত Office Scripts এবং ম্যানেজড API তে রূপান্তর করুন।
স্প্রেডশিটকে শুধুমাত্র ডকুমেন্ট ফাইল নয়, বরং কার্যকরী ক্ষমতা বহনকারী গঠিত সফটওয়্যার কন্টেইনার হিসেবে বিবেচনা করে, নিরাপত্তা দল এবং ডেভেলপাররা এন্টারপ্রাইজ কম্পিউটিংয়ে সবচেয়ে পুরনো আক্রমণ ভেক্টরগুলোর একটি কার্যকরভাবে নিরপেক্ষ করতে পারে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
প্রশ্ন ১: কি .xlsx এক্সটেনশনযুক্ত একটি ফাইল ক্ষতিকারক ম্যাক্রো চালাতে পারে?
না, OpenXML মানদণ্ড কঠোরভাবে .xlsx ফাইলে ম্যাক্রো কোড নিষিদ্ধ করে, এবং Excel কোনো প্রকৃত .xlsx কন্টেইনারে সন্নিবেশিত VBA প্রকল্পকে প্রত্যাখ্যান বা সরিয়ে দেবে।
প্রশ্ন ২: যদি একটি এক্সেল ফাইল আমাকে “Enable Editing” অথবা “Enable Content” করার জন্য অনুরোধ করে, আমি কী করা উচিত?
শুধুমাত্র প্রেরককে জানেন এবং ফাইলের প্রত্যাশা করছেন এমন ক্ষেত্রে অনুমতি দিন; এই প্রম্পটটি প্রধান চেকপয়েন্ট যা অবিশ্বস্ত ম্যাক্রোকে কোড চালাতে দেয়।
প্রশ্ন ৩: মাইক্রোসফট এক্সেল কীভাবে নির্ধারণ করে যে কোনো ফাইল ইন্টারনেট থেকে এসেছে কিনা?
Windows ডাউনলোড করা ফাইলগুলিতে একটি লুকানো “Mark of the Web” (Zone.Identifier) স্ট্রিম সংযুক্ত করে, যা Excel-কে ডিফল্টভাবে সেগুলোকে প্রোটেক্টেড ভিউতে খুলতে এবং ম্যাক্রো ব্লক করতে সংকেত দেয়।
প্রশ্ন ৪: কি CSV ফাইলগুলি XLSX এবং XLSM ফাইলের চেয়ে নিরাপদ?
CSV ফাইলগুলোতে নেটিভ VBA ম্যাক্রো থাকতে পারে না, তবে যদি সেগুলোতে ক্ষতিকারক কমান্ড থাকে যা Excel খুললে চালায়, তবে সেগুলো ফর্মুলা ইনজেকশন আক্রমণের প্রতি দুর্বল থাকে।
প্রশ্ন ৫: আধুনিক Office Scripts কীভাবে ঐতিহ্যবাহী VBA ম্যাক্রো থেকে ভিন্ন?
Office Scripts স্যান্ডবক্সড রানটাইম পরিবেশে TypeScript-এ চালিত হয়, যা সেগুলোকে আপনার লোকাল ফাইল সিস্টেম, কমান্ড লাইন বা অপারেটিং সিস্টেমের API-তে প্রবেশ করা থেকে বাধা দেয়।