Implementation guidance for Australian Essential Eight controls in Microsoft environments - ISM controls with PSPF mappings
| Property | Value |
|---|---|
| ISM Control | ISM-1655 |
| Revision | 0 |
| Updated | Sep-21 |
| Guideline | Not provided |
| Section | Operating system hardening |
| Topic | Hardening operating system configurations |
| Essential Eight | ML3 |
| PSPF Levels | NC, OS, P, S, TS |
.NET Framework 3.5 (including .NET 2.0 and 3.0) is disabled or removed to reduce the attack surface from legacy runtimes. Implement using the UserApplicationHardening-RemoveFeatures.ps1 script and deploy it through the Intune Scripts option.
.NET Framework 3.5 uses CLR version 2.0 and is delivered as a Windows optional feature that can be turned off independently. The modern .NET Framework 4.x is built into Windows 10/11, uses CLR 4.0 with the Security-Transparent model, and is not affected by this control. Key security reasons for disabling .NET 3.5 include:
Windows PowerShell 2.0 optional feature requires .NET 3.5 / CLR 2.0. If .NET 3.5 is present, an attacker may re-enable PowerShell 2.0 to bypass AMSI and script-block logging (see ISM-1621).BinaryFormatter deserialization: .NET 3.5 applications frequently use BinaryFormatter, a known RCE vector from untrusted deserialisation payloads.1[!NOTE] The UserApplicationHardening-RemoveFeatures.ps1 script will be deployed via Intune Scripts to disable or remove the .NET Framework 3.5 (including .NET 2.0 and 3.0) feature.
After deployment, the script disables or removes .NET Framework 3.5 (includes 2.0 and 3.0) feature if installed.3
Verify the feature is disabled by running on a target device:
Get-WindowsOptionalFeature -Online -FeatureName NetFx3
The output should show State : Disabled. If it returns State : Enabled, the feature was not removed and the Intune script should be re-triggered or the feature disabled manually:
Disable-WindowsOptionalFeature -Online -FeatureName NetFx3 -NoRestart
[!CAUTION] Some legacy line-of-business applications compiled against .NET 2.0 or 3.5 will fail to start if this feature is removed. Before enforcement, inventory applications that depend on .NET 3.5 (check Programs and Features for “.NET Framework 3.5” as a listed dependency) and test in a non-production environment. Applications that cannot be updated may need to be excluded or migrated to .NET 4.x.