| Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
| World Community Grid Forums
|
| No member browsing this thread |
|
Thread Status: Active Total posts in this thread: 7
|
|
| Author |
|
|
hchc
Veteran Cruncher USA Joined: Aug 15, 2006 Post Count: 865 Status: Offline Project Badges:
|
Note: This problem has been solved. Solution is a few posts down.
---------------------------------------- One of my machines runs Windows 10 Pro 22H2 (64-bit of course). For those of you with interests and backgrounds in IT Security or cybersecurity in general, you might have heard of Microsoft Enhanced Mitigation Experience Toolkit (EMET) in the Windows 7, Windows 8.x, and I believe Windows XP days. It offered a bunch of settings to add more protection for individual applications run on a system and can also fine-tune which ones are enabled or disabled. Individual executables may not be compiled to support Mandatory ASLR and other mitigations, for example, and have to be whitelisted, or the app generally crashes immediately when it's opened. Starting with Windows 10 and 11 (as well as Windows Server line, I believe), Microsoft discontinued EMET and slowly included those protections built into the operating system. They're found in Windows Security --> App & browser control --> Exploit protection --> Exploit protection settings for those interested. One setting (DEP) that's been around the longest is also found in Advanced System Settings (which brings up "System Properties with multiple tabs for Computer Name, Hardware, Advanced, System Protection, Remote) --> Advanced tab --> Performance (click on Settings) --> Data Execution Prevention. It's generally pretty safe to change the setting to "Turn on DEP for all programs and services except those I select" instead of just the default "Turn on DEP for Essential Windows programs and services only." I've found this setting to not give me any issues across all apps, ever, and is pretty safe to turn on to harden some security on your system. Downside is many exploits/hacking methods attack memory in more advanced ways, hence why Mandatory ASLR, Bottom-up ASLR, SEHOP, Control Flow Guard (CFG), etc. are stronger protections. Anyway I recently turned on more protections system-wide in Exploit protection --> System settings. I learned that there IS a difference between "Use default (On)" and "On by default" even though they sound like they have the same meaning. Silly Microsoft devs and their word choice. Anyway, the "On by default" setting is stronger and means what it says and forces it across all applications (makes it mandatory) instead of making it optional. --------------- So back to my new issue. Since turning a bunch of settings to "On by default" and rebooting, I can't run any tasks in BOINC / World Community Grid anymore. (Using the latest 8.0.2). I have changed: * Control flow guard (CFG) * Force randomization for images (Mandatory ASLR) * Randomize memory allocations (Bottom-up ASLR) * High-entropy ASLR * Validate exception chains (SEHOP) * Validate heap integrity So when downloading a Mapping Cancer Markers (MCM1) task, it gives me an error immediately. So in "Program settings" in Exploit protection, you can whitelist exe's and turn off individual protections just so the app will work. I've turned off ALL of these settings for "boinc.exe" and MCM1 tasks still fail immediately. It won't let me whitelist "wcgrid_mcm1_map_7.61_windows_x86_64" since it only allows the exe extension. So I totally thought boinc.exe was the wrapper executable that runs all the science applications underneath it. I haven't tried with boinctray.exe or boincmgr.exe but I think those are just for the Graphical User Interface of BOINC Manager and have nothing to do with running the actual science apps, no? So anyone here have any guidance or solutions on 1) which exe to whitelist; and 2) which specific mitigations to disable that are causing the crash? I feel like most users don't mess with these protection settings so I may have more luck getting answers in the official BOINC forum, but I thought I would try here first. Thanks!
[Edit 2 times, last edit by hchc at May 3, 2025 8:04:39 AM] |
||
|
|
hchc
Veteran Cruncher USA Joined: Aug 15, 2006 Post Count: 865 Status: Offline Project Badges:
|
Just some updates. Still getting the computation error immediately, even after whitelisting the following executables:
----------------------------------------boinc.exe boinccmd.exe boincmgr.exe boinctray.exe I have the following 7 system overrides for all of the above: * Control flow guard (CFG) * Data Execution Prevention (DEP) * Force randomization for images (Mandatory ASLR) * Randomize memory allocations (Bottom-up ASLR) * High-entropy ASLR * Validate exception chains (SEHOP) * Validate heap integrity I've also restarted BOINC/BOINC Manager/etc. before testing with a new task. I've confirmed that -- at least in the GUI -- I can only add files with a "exe" extension, meaning I can't specifically whitelist the "wcgrid_mcm1_map_7.61_windows_x86_64" MCM1 science application. But I thought "boinc.exe" was basically the wrapper executable that runs all the science binaries underneath it, so I was hoping that turning off exploit mitigations on that exe would solve the problem. I'll probably cross-post this thread in the BOINC Forums, and if I get an answer (or not), I'll update this thread to help others.
|
||
|
|
MarkH
Advanced Cruncher United States of America Joined: May 16, 2020 Post Count: 66 Status: Offline Project Badges:
|
Maybe just go back to the default settings? I'm running a very stock Win10 Pro 64 bit (22H2 with updates)(System Protection is "On"), and haven't had any memory error unless the WU itself was defective.
----------------------------------------
That science of the people, by the people, for the people, shall not perish from the Earth.
|
||
|
|
hchc
Veteran Cruncher USA Joined: Aug 15, 2006 Post Count: 865 Status: Offline Project Badges:
|
I know, but this is what the whitelisting/exceptions is for: you can exclude problem apps that aren't developed to modern security standards.
----------------------------------------I'd rather run a tight ship and have protection turned on system-wide and only whitelist individual apps. It does just take some trial-and-error though. BOINC is complicated because the science apps are run inside the larger BOINC executable. The confusing thing is even after turning everything off for 4 BOINC exes I'm still getting the issue. I'll try rebooting Windows next just to be sure, but normally app exclusions only require you to restart the affected app. All my real crunchboxes are running Linux, and I don't run anything on this laptop (daily driver) so this is probably just academic for me. But hopefully getting the answer can help other security nerds who still run Windows.
|
||
|
|
Dr Who Fan
Cruncher Joined: Mar 12, 2015 Post Count: 38 Status: Offline Project Badges:
|
You need to EXCLUDE THE BOINCDATA FOLDER & all subfolders
----------------------------------------![]() ![]() |
||
|
|
hchc
Veteran Cruncher USA Joined: Aug 15, 2006 Post Count: 865 Status: Offline Project Badges:
|
You need to EXCLUDE THE BOINCDATA FOLDER & all subfolders Not how it works. Individual files only, and very specifically "exe" only, at least in GUI. So update today. I just booted up this device and tested it again. It's running an ARP1 successfully right now. I want to retest with MCM1 so I have apples-to-apples comparison and see if it's because of the exe exclusions or if ARP1 is just built differently than MCM1 and can understand ASLR and other mitigations.
|
||
|
|
hchc
Veteran Cruncher USA Joined: Aug 15, 2006 Post Count: 865 Status: Offline Project Badges:
|
SOLUTION
----------------------------------------Got it!!! I was curious why ARP1 was working just fine but MCM1 would error out, all else being equal. I even deleted the exclusions for boinc.exe, boinctray.exe, boincmgr.exe, and boinccmd.exe. All gone, meaning the protections are active for BOINC as a whole. So since ARP1 worked and MCM1 gave an error, that meant I really needed to figure out a way to exclude the science application itself. But since the science application's name is wcgrid_mcm1_map_7.61_windows_x86_64 and not wcgrid_mcm1_map_7.61_windows_x86_64.exe, if you use the GUI way (mouse, keyboard, etc.), Windows does not let you make a new exclusion. It's hell-bent on exe only. So I did a quick web search and found that MS article, and there's a PowerShell way to enable/disable all that stuff. From this Microsoft documentation article Enable exploit protection, it describes multiple ways to enable, disable, or fine-tune the Windows Exploit protections, both for individual apps as well as system-wide. So the first thing I did was turn off 4 of the protections for MCM1 using this command: Set-ProcessMitigation -Name wcgrid_mcm1_map_7.61_windows_x86_64 -Disable CFG, BottomUp, SEHOP, TerminateOnError MCM1 worked!!! But since I am stubborn and wanted to narrow it down to the EXACT root cause (while still turning on as much protection as possible), I did more trial and error. It turns out that "Bottom up ASLR" is the protection that causes MCM1 to crash. It doesn't like that. So here are the steps to add an exclusion. 1. Open up a PowerShell command prompt as Administrator. 2. Use this command: Set-ProcessMitigation -Name wcgrid_mcm1_map_7.61_windows_x86_64 -Disable BottomUp (Of course, exit out of BOINC Manager before you do this.) Working great! I assume if any individual science applications crash, then we have to exclude the science application for that particular sub-project. Feels good to beat something up and find an answer even if it's frustrating as heck in the meantime. Hope this helps any other security nerds who are running Windows and trying to max out security settings. Most people have them turned off so none of this applies.
[Edit 3 times, last edit by hchc at May 3, 2025 8:08:39 AM] |
||
|
|
|