উইন্ডোজ 10 ফল ক্রিয়েটরস আপডেট (বিল্ড 1709) প্রকাশের সাথে সাথে, সবচেয়ে দুর্দান্ত এবং মার্জিত এনহান্সড মিটিগেশন এক্সপেরিয়েন্স টুলকিট (EMET) আর উপলব্ধ নেই বা এই অপারেটিং সিস্টেমে ইনস্টল করা যাবে। পরিবর্তে, এই প্রশমনগুলি এখন Windows 10-এর একটি অবিচ্ছেদ্য অংশ৷
৷যেহেতু আমি EMET-এর একজন বিশাল অনুরাগী, এবং আমি আমার সমস্ত উইন্ডোজ মেশিনে এটি ব্যবহার করছি, তাই আমি সিদ্ধান্ত নিয়েছি যে Windows 10-এ নতুন প্রশমিতকরণগুলি কীভাবে স্থাপন এবং পরিবর্তন করা যায় সে সম্পর্কে একটি বিশদ, ব্যবহারিক এবং বাস্তব-জীবন ব্যবহারের নির্দেশিকা লেখার। আমাকে অনুসরণ কর.
বিষয়বস্তুর সারণী
- ভূমিকা ও প্রাথমিক পাঠ
- Windows 10 শোষণ সুরক্ষা
- সিস্টেম সেটিংস
- প্রোগ্রাম সেটিংস
- রপ্তানি এবং আমদানি কনফিগারেশন
- কনফিগারেশন ফাইল ফরম্যাট
- পুরানো EMET কনফিগারেশন ব্যবহার করুন
- অ্যাপ্লিকেশন টেমপ্লেট
- বাস্তব জীবনের ব্যবহার এবং উদাহরণ
- নতুন কনফিগারেশন আমদানি করুন
- কনফিগারেশন ফাইল বিষয়বস্তু
- শোষণ সুরক্ষা চালানো এবং ব্যবহার করা
- কনফিগারেশন এডিট এবং টুইক করুন
- অতি উৎসাহী সুরক্ষা
- অতিরিক্ত পড়া
- উপসংহার
ভূমিকা এবং প্রাথমিক পাঠ
আপনি যদি দুর্ঘটনাবশত এই নিবন্ধে হোঁচট খেয়ে থাকেন, যা এই বিষয়ের বিশেষ এবং নিরপেক্ষ প্রকৃতির কারণে অসম্ভাব্য, তাহলে আমি সংক্ষেপে EMET-এর পরিচয় করিয়ে দিই। এই ইউটিলিটি হল সিস্টেম এবং প্রোগ্রাম মেকানিজমের একটি সেট যা খারাপ কোডকে চলতে বাধা দেয়। এইভাবে এটি সম্ভাব্যভাবে চলমান প্রোগ্রামগুলিতে শোষণকে থামাতে এবং ব্লক করতে পারে।
মাইক্রোসফ্ট বহু বছর আগে একটি স্বতন্ত্র সরঞ্জাম হিসাবে EMET প্রকাশ করেছে এবং আপনি এটিকে ম্যানুয়ালি যে কোনও সিস্টেমে স্থাপন করতে পারেন। এটি এখনও বিল্ড 1709 পর্যন্ত উইন্ডোজের পূর্ববর্তী দুটি সংস্করণের পাশাপাশি Windows 10-এ উপলব্ধ।
EMET কি ধরনের নির্দেশাবলী এবং মেমরি অ্যাক্সেস চলমান প্রোগ্রামগুলি কার্যকর করতে পারে তা সীমাবদ্ধ করে কাজ করে। এই ধারণাটির সৌন্দর্য হল যে এটি আমরা যাকে ভাল প্রোগ্রাম এবং ম্যালওয়্যার বলি তার মধ্যে পার্থক্য করে না। এটি শুধুমাত্র অনুগত, তথাকথিত আইনি কোড এবং অ-সঙ্গত, তথাকথিত অবৈধ কোডের মধ্যে পার্থক্য করে। তাই এমনকি যদি আপনার কাছে Chrome বা পাওয়ারপয়েন্টের মতো একটি সম্পূর্ণ বৈধ প্রোগ্রাম থাকে এবং সেগুলি EMET লাইব্রেরি দ্বারা এনক্যাপসুলেটেড এবং সুরক্ষিত থাকে, যদি তারা কিছু বেআইনি নির্দেশের কারণে অসদাচরণ করে - সম্ভবত ভুল এবং অগোছালো প্রোগ্রামিং অনুশীলন বা উত্তরাধিকার সীমাবদ্ধতার কারণে প্রবর্তিত হয় - তাহলে EMET এক্সিকিউশন ব্লক করবে এবং প্রোগ্রামটি বন্ধ করবে।
এটি EMET ধারণাগুলিকে একটি সুরক্ষা সরঞ্জাম হিসাবে তৈরি করে - একবার সঠিকভাবে কনফিগার করা হলে, এটি একটি অগ্নি-এবং ভুলে যাওয়া সমাধান৷ এটি হালকা ওজনের, অ-অনুপ্রবেশকারী, অত্যন্ত দক্ষ এবং স্মার্ট। সফ্টওয়্যারকে এর এক্সিকিউশন মানের দৃষ্টিকোণ থেকে দেখার ধারণাটি খারাপ প্রোগ্রামগুলিকে কালো তালিকাভুক্ত করার চেষ্টা করার চেয়ে অনেক বেশি বুদ্ধিমান।
EMET এছাড়াও DEP, SEHOP, ASLR, এবং অন্যান্য সহ Windows-এ উপলব্ধ সিস্টেম-স্তরের নিরাপত্তা ব্যবস্থার সাথে একত্রে কাজ করে। খুব ঝরঝরে, খুব সহজ, এবং অত্যন্ত দরকারী.
আমি কিভাবে EMET ব্যবহার করতে হয় তার একটি বিস্তারিত টিউটোরিয়াল লিখেছি। এটি প্রোগ্রামের সংস্করণ 4 দিয়ে তৈরি করা হয়েছিল, তবে নির্দেশিকাগুলি 100% সত্য এবং পরবর্তী সংস্করণগুলির জন্য সঠিক, প্রশমন টুলকিটের আমার শেষ পর্যালোচনা 5.5 সংস্করণে। অনুগ্রহ করে সেগুলি পড়ুন যাতে আপনি বিভিন্ন ধারণা এবং সুরক্ষাগুলির সাথে নিজেকে পরিচিত করতে পারেন৷
আর ইনস্টল করা যাবে না, যদিও:
Windows 10 শোষণ সুরক্ষা
EMET-এর কার্যকারিতা এখন Windows 10 Build 1709-এর ভিতরে অন্তর্নির্মিত ক্ষমতা হিসাবে উপলব্ধ। আপনি উইন্ডোজ ডিফেন্ডার সিকিউরিটি সেন্টারের মাধ্যমে প্রাসঙ্গিক UI অ্যাক্সেস করতে পারেন। বাম দিকে, সাইডবারে, দ্বিতীয় থেকে শেষ আইকনে ক্লিক করুন, তালিকার শেষ পর্যন্ত নিচে স্ক্রোল করুন এবং তারপরে সুরক্ষা সেটিংস শোষণে ক্লিক করুন।
নতুন UI EMET-এর তুলনায় সরলীকৃত - এবং ব্যবহার করা আরও কঠিন, কারণ আপনি বর্তমানে যা সক্ষম করেছেন তাতে আপনার দৃশ্যমানতা কম। এছাড়াও আপনার অ্যাপের সম্পূর্ণ ম্যাট্রিক্স-স্টাইল ভিউ এবং সক্ষম প্রশমনও নেই। কিন্তু এর ergonomic বিবেচনা একপাশে ছেড়ে যাক. এর শুধুমাত্র কাঁচা কার্যকারিতা উপর ফোকাস করা যাক. প্রকৃত ইন্টারফেসটি কীভাবে পরবর্তীতে উন্নত করা যায় এবং কীভাবে করা উচিত তা আমরা স্পর্শ করব।
সিস্টেম সেটিংস
ডিফল্ট ভিউ সিস্টেম সেটিংস তালিকাভুক্ত করে। পুরানো অপারেটিং সিস্টেমের মতো, Windows 10 কোডের দূষিত (পড়ুন ভুল/অবৈধ) এক্সিকিউশন প্রতিরোধ করার জন্য বেশ কয়েকটি নিম্ন-স্তরের প্রক্রিয়া নিয়ে আসে। আবার, আমরা বিশেষভাবে ম্যালওয়্যার নিয়ে কথা বলছি না, আমরা এমন কোনও কোড বলছি যা সম্ভাব্যভাবে সিস্টেম ক্র্যাশ, অস্থিরতা এবং একই রকম হতে পারে।
উইন্ডোজ 10 এর সাথে পাওয়া ছয়টি সুরক্ষার মধ্যে রয়েছে:CFG, DEP, বাধ্যতামূলক ASLR, বটম-আপ ASLR, SEHOP এবং হিপ ইন্টিগ্রিটি। এগুলি মোটামুটিভাবে উইন্ডোজের আগে যা ছিল তার সমতুল্য, কিন্তু কোন সঠিক 1:1 অনুবাদ নেই, কারণ অন্তর্নিহিত কার্নেল কাঠামোতে কিছু পরিবর্তন করা হয়েছে। ডিফল্টরূপে, এই সমস্ত সুরক্ষা চালু আছে।
প্রোগ্রাম সেটিংস
আপনি যদি দ্বিতীয় বিভাগে ক্লিক করেন, এটি বর্তমানে শোষণ সুরক্ষা ব্যবস্থা দ্বারা আচ্ছাদিত পৃথক প্রোগ্রামগুলির তালিকা প্রসারিত করবে। শুধুমাত্র ওভাররাইড সহ প্রোগ্রাম তালিকাভুক্ত করা হয়. যদি একটি প্রোগ্রামের একটি কনফিগারেশন থাকে যা সিস্টেমের ডিফল্টের সাথে মেলে তবে এটি যোগ করা হবে না।
Windows 10 নির্দিষ্ট ওভাররাইড সহ ইতিমধ্যে তালিকাভুক্ত বেশ কয়েকটি অ্যাপ্লিকেশন সহ আসে। এই মুহুর্তে, আমাদের সেগুলিকে একা ছেড়ে দেওয়া উচিত, কারণ সেগুলি সর্বোত্তম সুরক্ষা বনাম সামঞ্জস্যের জন্য Microsoft দ্বারা কনফিগার করা হয়েছে৷
আপনি নতুন প্রোগ্রাম যোগ করতে পারেন, হয় পাথ বা নামের দ্বারা। পরবর্তীটি আরও ভাল কারণ এটি আপনাকে নির্দিষ্ট এক্সিকিউটেবল নামের সাথে মিলে যাওয়া নির্দিষ্ট অ্যাপ্লিকেশনের যেকোনো সংস্করণকে রক্ষা করতে দেয়, এটি আপনার ডিস্কে যেখানেই ইনস্টল করা হোক না কেন।
একবার আপনি একটি প্রোগ্রাম যোগ করলে, একটি নতুন উইন্ডো পপ আপ হবে, যা আপনাকে উপলব্ধ প্রশমনের একটি দীর্ঘ এবং কিছুটা বিভ্রান্তিকর তালিকা সহ এর শোষণ সুরক্ষা কনফিগারেশন কাস্টমাইজ করতে দেয়। আপনি এখন পৃথকভাবে প্রশমন চালু এবং বন্ধ করতে পারেন। আপনি লক্ষ্য করবেন যে এই সুরক্ষাগুলির মধ্যে কিছু ডিফল্টরূপে বন্ধ রয়েছে - এবং অন্যগুলি চালু রয়েছে, সাধারণত পূর্বে উল্লিখিত সিস্টেম কনফিগারেশনের সাথে মিলে যায়। তাই আপনি ডিফল্ট ওভাররাইড করতে পারেন.
15টি প্রশমন উপলব্ধ রয়েছে - এবং আপনি যদি সেগুলি সক্ষম করেন তবে সেগুলি সিস্টেমের ডিফল্টগুলির উপর অগ্রাধিকার পাবে৷ আপনার কাছে অডিট করার অনুমতি দেওয়ার বিকল্পও রয়েছে - মূলত যদি একটি ব্যতিক্রমের সম্মুখীন হয়, তবে সিস্টেম আপনাকে অবহিত করবে এবং আপনাকে ম্যানুয়ালি প্রোগ্রামটি বন্ধ বা বন্ধ করতে হবে। অন্যথায়, সিস্টেমটি অবৈধ নির্দেশাবলী সহ প্রোগ্রামগুলি বন্ধ করবে যা প্রশমনের সাথে মেলে।
রপ্তানি এবং আমদানি কনফিগারেশন
এখন, আকর্ষণীয় এবং চতুর অংশ. যেহেতু নতুন মেকানিজমটি আরও জটিল ইন্টারফেসের সাথে আসে, তাই প্রোগ্রামগুলি কনফিগার করা একটি ব্যথা হয়ে ওঠে - আমরা বলছি 20-30টি প্রোগ্রাম যার প্রতিটিতে 15টি পর্যন্ত প্রশমিত হয়, এবং এটি সাজাতে অনেক মাউস ক্লিক লাগে৷
ভাগ্যক্রমে, আপনি আপনার সুরক্ষাগুলিকে আরও দ্রুত আপডেট করতে XML কনফিগারেশন ফাইলগুলি ব্যবহার করতে পারেন৷ আপনি আপনার তালিকায় এবং থেকে প্রোগ্রামগুলি যোগ এবং মুছে ফেলতে পারেন, আপনি নির্দিষ্ট প্রশমনে পরিবর্তন করতে পারেন এবং প্রয়োজনীয় সেটআপটি আরও দ্রুত এবং দক্ষতার সাথে সম্পাদন করতে পারেন। এটি করার জন্য, আপনাকে কনফিগারেশন ফাইলের মৌলিক বিন্যাসটি বুঝতে হবে।
প্রধান ইন্টারফেসে, এক্সপোর্ট সেটিংস ক্লিক করুন এবং ডিস্কের কোথাও একটি XML ফাইল সংরক্ষণ করুন। এটি একটি টেক্সট এডিটরের ভিতরে খুলুন, এবং আসুন সংক্ষিপ্তভাবে কনফিগারেশনটি দেখুন এবং বিভিন্ন নির্দেশাবলী এবং মানগুলি কী বোঝায়।
কনফিগারেশন ফাইল ফরম্যাট
আসুন পর্যালোচনা করি:
<সিস্টেম কনফিগার>
...
এগুলি একটি প্রকৃত কনফিগারেশনের প্রথম কয়েকটি লাইন; ইন্ডেন্টেশনটি দৃশ্যত পার্থক্য করতে সাহায্য করে যে জিনিসগুলি কোথায় শুরু হয় এবং কোথায় থামে, অনেকটা অন্য ভাষার মতো। আপনার উপরে XML ঘোষণা আছে। তারপর, আপনার কাছে রুট বিভাগ রয়েছে, যা মূলত ব্লকটি সংজ্ঞায়িত করে যার ভিতরে আপনার সিস্টেম এবং অ্যাপ্লিকেশন কনফিগারেশন থাকবে।
সিস্টেম কনফিগারেশন SystemConfig দ্বারা ঘোষিত হয়। অ্যাপ্লিকেশন AppConfig দ্বারা ঘোষণা করা হয়. অ্যাপ্লিকেশনের নামগুলি এক্সিকিউটেবল পরিবর্তনশীল দ্বারা ঘোষণা করা হয়। তারপরে আমাদের বিভিন্ন ধরণের প্রশমন রয়েছে, যেমন এক্সটেনশন পয়েন্ট, ফন্ট, পেলোড, ডায়নামিককোড এবং অন্যান্য। উদাহরণস্বরূপ, একটি যোগ করা অ্যাপ্লিকেশনের জন্য প্রায় সম্পূর্ণ তালিকার মধ্যে এমন কিছু অন্তর্ভুক্ত থাকবে:
<স্ট্রিকহ্যান্ডেল
সক্ষম করুন="সত্য"
OverrideStrictHandle="false">
<সিস্টেমকল
DisableWin32kSystemCalls="false"
OverrideSystemCall="false"
অডিট="সত্য">
সিস্টেমকল>
<এক্সটেনশন পয়েন্ট
DisableExtensionPoints="true"
OverrideExtensionPoint="false">৷
এক্সটেনশন পয়েন্টস>
<ডাইনামিক কোড
BlockDynamicCode="false"
AllowThreadsToOptOut="false"
ওভাররাইড ডাইনামিককোড="মিথ্যা"
অডিট="সত্য">
ডাইনামিককোড>
<ফন্ট
DisableNonSystemFonts="false"
শুধুমাত্র নিরীক্ষা =মিথ্যা"
OverrideFontDisable="false"
অডিট="সত্য">
<ইমেজ লোড
BlockRemoteImageLoads="false"
OverrideBlockRemoteImageLoads="false"
BlockLowLabelImageLoads="false"
OverrideBlockLowLabel="false"
AuditRemoteImageLoads="true"
AuditLowLabelImageLoads="true">৷
<পেলোড
EnableExportAddressFilter="true"
OverrideExportAddressFilter="false"
AuditEnableExportAddressFilter="true"
EnableExportAddressFilterPlus="true"
OverrideExportAddressFilterPlus="false"
AuditEnableExportAddressFilterPlus="true"
ImportAddressFilter="true" সক্ষম করুন
OverrideImportAddressFilter="false"
AuditEnableImportAddressFilter="true"
EnableRopStackPivot="true"
OverrideEnableRopStackPivot="false"
AuditEnableRopStackPivot="true"
EnableRopCallerCheck="true"
OverrideEnableRopCallerCheck="false"
AuditEnableRopCallerCheck="true"
EnableRopSimExec="true"
OverrideEnableRopSimExec="false"
AuditEnableRopSimExec="true">৷
আপাতত প্রকৃত মান উপেক্ষা করুন। আসুন তিনটি গুরুত্বপূর্ণ ভেরিয়েবল বুঝতে পারি:
মান - সত্য/মিথ্যা হতে পারে, সংজ্ঞায়িত করে যদি একটি প্রশমন সক্ষম করা হয় বা না হয়।
ওভাররাইড করুন - আপনি যা মনে করেন তার বিপরীতে, নির্দিষ্ট করা মানটি সিস্টেমের ডিফল্ট ওভাররাইড করে কিনা তা আপনাকে বলে না। না। যে ইতিমধ্যে নকশা দ্বারা. যদি এই ভেরিয়েবলটি সত্যে সেট করা থাকে, তাহলে এর অর্থ হল আপনি UI এর মাধ্যমে সেটিংস সম্পাদনা করতে পারবেন না। এটি বরং বিভ্রান্তিকর, বিশেষত যেহেতু মিথ্যা, মানে ডিফেন্ডার সিকিউরিটি সেন্টারের মাধ্যমে আপনার নিয়ন্ত্রণ আছে এবং সত্য মানে আপনি তা করেন না। সেরা এই পরিবর্তনশীল উপেক্ষা.
অডিট - প্রোগ্রামটি অডিট মোডে বা সম্পূর্ণ প্রয়োগ মোডে চলে কিনা।
তাই আমরা বেসিক প্রস্তুত আছে. এখন, আসলে একটি কনফিগারেশন ফাইল তৈরি করা যাক, এবং তারপর শোষণের তালিকায় এটি আমদানি করি। এবং আমরা আসলে একটি পুরানো EMET কনফিগারেশন আমদানি করে এটি করব, কারণ আমরা আমাদের করা সমস্ত কঠোর পরিশ্রম হারাতে চাই না।
পুরানো EMET কনফিগারেশন ব্যবহার করুন
আমরা এখন আসলে কিছু কাজ করার জন্য Powershell কমান্ড লাইন ব্যবহার করব। যথা, আমরা একটি EMET কনফিগারেশন ফাইলকে নতুন ফরম্যাটে রূপান্তর করব এবং তারপর এটি আমদানি করব। এই কমান্ডগুলির বর্তমানে একটি GUI সমতুল্য নেই। আপনার পাওয়ারশেল এবং অ্যাডমিনিস্ট্রেটর অ্যাক্সেস দরকার। যাইহোক, একটি EMET ফাইল দেখতে এরকম কিছু হবে:
<সেটিংস>
<সিস্টেম সেটিংস DEP="অ্যাপ্লিকেশন অপ্ট আউট" SEHOP="অ্যাপ্লিকেশন অপ্ট আউট" ASLR="অ্যাপ্লিকেশন অপ্ট ইন" পিনিং="সক্ষম" />
সেটিংস>
<প্রশমন সক্রিয়="সত্য" />
<প্রশমন সক্রিয়="সত্য" />
<প্রশমন সক্রিয়="সত্য" />
আমি মনে করি এটি একটি অনেক পরিষ্কার এবং সুন্দর বিন্যাস। কিন্তু কিছু মনে করবেন না। এখন এই কনফিগারেশন ফাইল রূপান্তর করা যাক. যদি আমরা এটি কিভাবে করতে হয় তার অনলাইন ডকুমেন্টেশন পড়ি, আমাদের নিম্নলিখিত কমান্ডের প্রয়োজন:
ConvertTo-ProcessMitigationPolicy -EMETFilePath emetconfig.xml -OutputFilePath newconfig.xml
আমি একগুচ্ছ ত্রুটি পেয়েছি:
ত্রুটি:কোন কারণে Win10 সেটিং পড়া উচিত?:PinRuleMember
ত্রুটি:কোন কারণে Win10 সেটিং পড়া উচিত?:সক্রিয়
ত্রুটি:কোন কারণে Win10 সেটিং পড়া উচিত?:পিনডসাইট
ত্রুটি:কোন কারণে Win10 সেটিং পড়া উচিত?:ডোমেন
ত্রুটি:কোন কারণে Win10 সেটিং পড়া উচিত?:PinRuleMember
ত্রুটি:কোন কারণে Win10 সেটিং পড়া উচিত?:সক্রিয়
স্পষ্টতই, প্রি-উইন্ডোজ 10 নিয়মে সার্টিফিকেটের জন্য পিন করা সমস্ত নিয়ম নতুন ফর্ম্যাটের সাথে সামঞ্জস্যপূর্ণ নয়। আপনি যদি এই ধরনের একটি কনফিগারেশন আমদানি করার চেষ্টা করছেন, এটি ব্যর্থ হবে। আবার রূপান্তর করার আগে আপনাকে XML পরিষ্কার করতে হবে।
<পিন করা>
<পিন নিয়ম>
<পিনরুল>
...
দ্রষ্টব্য:EMET এবং নতুন শোষণ সুরক্ষা ব্যবস্থার মধ্যে কোন সঠিক 1:1 মিল নেই, এবং বিশেষ করে যদি আপনি একাধিক অপারেটিং সিস্টেম জুড়ে যান। আমার সুপারিশ শুধুমাত্র একটি উপদেষ্টা হিসাবে পুরানো কনফিগ ব্যবহার করা হবে।
সুতরাং, রূপান্তরিত ফাইলটি এরকম কিছু দেখাবে - অ্যাপ প্রশমনের ক্ষেত্রে:
<অ্যাপ কনফিগারেশন
এক্সিকিউটেবল="AcroRd32.exe">
EmulateAtlThunks="false"/>
<এএসএলআর
ForceRelocateImages="false"
RequireInfo="false"
BottomUp="true"
HighEntropy="false"/>
<স্ট্রিকহ্যান্ডেল
"false"/> সক্ষম করুন৷
<সিস্টেম কল
DisableWin32kSystemCalls="false"
নিরীক্ষা =মিথ্যা"/>
<এক্সটেনশন পয়েন্ট
নিষ্ক্রিয় এক্সটেনশনপয়েন্টস="মিথ্যা"/>৷
<ডাইনামিক কোড
BlockDynamicCode="false"
AllowThreadsToOptOut="false"
নিরীক্ষা =মিথ্যা"/>
<কন্ট্রোলফ্লোগার্ড
সক্ষম ="মিথ্যা"
SuppressExports="false"
StrictControlFlowGuard="false"/>
<স্বাক্ষরিত বাইনারি
MicrosoftSignedOnly="false"
AllowStoreSignedBinaries="false"
EnforceModuleDependencySigning="false"
নিরীক্ষা =মিথ্যা"
AuditStoreSigned="false"
AuditEnforceModuleDependencySigning="false"/>
<ফন্ট
DisableNonSystemFonts="false"
নিরীক্ষা =মিথ্যা"/>
<ইমেজ লোড
AuditPreferSystem32="false"
AuditLowLabelImageLoads="false"
অডিটRemoteImageLoads="false"
PreferSystem32="false"
BlockLowLabelImageLoads="false"
BlockRemoteImageLoads="false"/>
<পেলোড
EAFModules=""
EnableExportAddressFilter="true"
AuditEnableExportAddressFilter="false"
EnableExportAddressFilterPlus="true"
AuditEnableExportAddressFilterPlus="false"
ImportAddressFilter="false" সক্ষম করুন
AuditEnableImportAddressFilter="false"
EnableRopStackPivot="true"
AuditEnableRopStackPivot="false"
EnableRopCallerCheck="true"
AuditEnableRopCallerCheck="false"
EnableRopSimExec="true"
AuditEnableRopSimExec="false"/>
<সেহপ
সক্রিয়="সত্য"
TelemetryOnly="false"
নিরীক্ষা =মিথ্যা"/>
Audit="false"/>
Application template
Most of the mitigations imported from EMET will be set to false unfortunately - and the system ones will no longer fully match. So my recommendation is as follows:the six system mitigations cover the basics. You can also enabled an additional six mitigations that seem to match 1:1 between EMET and new protection mechanism, including:EAF, EAF+, IAF, StackPivot, CallerCheck, and SimExec. Therefore our basic template for applications, based on previous usage becomes:
EnableImportAddressFilter="true"
EnableRopStackPivot="true"
EnableRopCallerCheck="true"
EnableRopSimExec="true">
We can extend this with fonts protection (the text is formatted for visual clarity):
OverrideFontDisable="false"
Audit="false">
EnableImportAddressFilter="true"
EnableRopStackPivot="true"
EnableRopCallerCheck="true"
EnableRopSimExec="true">
And this is a template section you can use as your baseline:
Real-life usage and examples
All right, so far, we have covered the new UI, system and program settings, overview of new exploit mitigations, how to export configuration files, how to convert old EMET settings, and now we will import our app templates and use them.
We will use our app template from above to quickly and elegantly add new applications into the system list, bearing in mind that system settings are best left at their defaults, and they already cover a great deal, plus there are six other mitigations that closely match past configurations, and are likely to work well. This is the MAIN reason why I have chosen this baseline, plus the fonts, which make simple sense, and also go hand in hand with past vulnerabilities on this issue.
There are other mitigations that we could potentially enable, but unless you fully understand what you're doing, you may cripple your programs. In some cases, even the developers of software will NOT know what their applications are doing wrong, so it is quite possible you won't find an easy answer.
- ACG, low integrity and remote images - should be okay.
- Code integrity guard - unless signed by Microsoft, images won't run - this is basically Windows 10 S. Not recommended.
- Extension points - very likely to cause problems in how software runs.
- Disable system calls - highly likely to cause problems.
- Child processes - will definitely cripple programs.
- Handle usage - likely to cause problems with sloppily designed software.
The rest we already have covered - six basics, six old mitigations, fonts, and potentially three written in the first bullet, with the rest best left alone.
Import new configuration
This is done as follows, again from Powershell, and with admin credentials:
Set-ProcessMitigation -PolicyFilePath .\config.xml
Configuration file contents
Based on our template, we can add the applications inside the file. You can either create a single configuration with several programs listed inside and then import it once, or make an per-app template and perform multiple imports. It makes no difference.
What you need to take into account is:1) you can do with the Security Center running, but it will NOT show the changes on the fly; the config is loaded once and/or whenever you make changes through the UI 2) old app settings will be removed with the new ones.
Running and using exploit protection
I tested with the following programs:Firefox, LibreOffice, VLC, IrfanView, Notepad++, and these run without any problems, including updates. Google Chrome would not run with ANY mitigation enabled except the fonts - both the pages and extensions kept crashing. This is in contrast to EMET behavior. Like I said, there's no GOLDEN list on what works and what does not, but I believe you can have 7/15 and maybe even 10/15 mitigations enabled, with code signing, child processes and system calls disabling really being unnecessary. That leaves only two mitigations that might need closer look:extension points and handle usage. Pretty good, I'd say.
Edit and tweak configuration
You can always go back and make changes - also through GUI after you've imported the bulk of your configuration, and now you just need fine tuning. If things do not work, you can always remove an entry and start fresh.
Overzealous protection
If you go wild, and I tried, just to see what gives, you may completely cripple your programs, and they won't run. It's all too easy to do this, so please be utterly careful, and make sure you understand what you're doing. This is a long-term investment. Do it well once and you won't have problems down the road.
Additional reading
You may also want to check these official Microsoft articles:
Apply mitigations to help prevent attacks through vulnerabilities
Customize exploit protection
উপসংহার
এই নাও. A very thorough, hands-on, real-life guide on how to use the new exploit protection mechanism in Windows 10. We didn't just blindly look at the list and wonder what magic happens behind the scene, we went behind the scene, and got ourselves autographs on our chests.
On a more technical note, we learned about the exploit mechanism, the new UI, system and program settings, types of exploits and what they roughly do, how to export and import XML configuration files, we created our work template, we converted and used our old EMET settings, we tried to match the level of protection that EMET gave us while still maintaining sane and practical functionality with most programs and most mitigations. We have about 80-90% coverage without breaking things. There are no guarantees in this process, but it's so much ahead of any conventional security software.
The mitigation protection remains Microsoft's best product by far, and hopefully, they will improve the workflow so it is more accessible to advanced users. For the time being, you have this guide, and hopefully, it will make your journey into the post-EMET world of mitigations simpler and faster. And your apps will still work! See you.
If you like this tutorial, then give some love back, support Dedoimedo. ঠিক?
চিয়ার্স।