diff --git a/CHANGELOG.md b/CHANGELOG.md index be58b919..5a08dc78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,11 +9,15 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [1.12.3 / 5.67.3] - 2023-11- +### Added +- added template to add usefull exclusions to confidential boxes + ### Fixed - FIXED SECURITY ISSUE ID-23 SeManageVolumePrivilege is now blocked, as it allowed to read MFT data (thanks Diversenok) - fixed Program launch when forcing prcesses into a confidential box [#3173](https://github.com/sandboxie-plus/Sandboxie/issues/3173) + ## [1.12.2 / 5.67.2] - 2023-11- ### Added diff --git a/SandboxiePlus/SandMan/Forms/OptionsWindow.ui b/SandboxiePlus/SandMan/Forms/OptionsWindow.ui index 0a56243c..6f980e79 100644 --- a/SandboxiePlus/SandMan/Forms/OptionsWindow.ui +++ b/SandboxiePlus/SandMan/Forms/OptionsWindow.ui @@ -1349,54 +1349,7 @@ - - - - Show Templates - - - - - - - Protect processes within this box from host processes - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Remove - - - - + Qt::Horizontal @@ -1409,24 +1362,41 @@ - - + + - Allow Process + Deny Process - - - - Protect processes in this box from being accessed by specified unsandboxed host processes. + + + + Qt::Vertical - - false + + + 20 + 40 + + + + + + + + Remove - + + + + Issue message 1318/1317 when a host process tries to access a sandboxed process/the box root + + + + true @@ -1448,11 +1418,30 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Show Templates + + + - 75 true true @@ -1465,14 +1454,7 @@ - - - - Issue message 1318/1317 when a host process tries to access a sandboxed process/the box root - - - - + Sandboxie-Plus is able to create confidential sandboxes that provide robust protection against unauthorized surveillance or tampering by host processes. By utilizing an encrypted sandbox image, this feature delivers the highest level of operational confidentiality, ensuring the safety and integrity of sandboxed processes. @@ -1482,10 +1464,53 @@ - - + + - Deny Process + Allow Process + + + + + + + Protect processes in this box from being accessed by specified unsandboxed host processes. + + + false + + + + + + + + 20 + 0 + + + + + 20 + 16777215 + + + + + + + + + + + Allow usefull windows processes access to protected processes + + + + + + + Protect processes within this box from host processes diff --git a/SandboxiePlus/SandMan/Windows/OptionsAdvanced.cpp b/SandboxiePlus/SandMan/Windows/OptionsAdvanced.cpp index 516d9e63..6738b761 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsAdvanced.cpp +++ b/SandboxiePlus/SandMan/Windows/OptionsAdvanced.cpp @@ -100,7 +100,8 @@ void COptionsWindow::CreateAdvanced() connect(ui.btnHostProcessDeny, SIGNAL(clicked(bool)), this, SLOT(OnHostProcessDeny())); connect(ui.btnDelHostProcess, SIGNAL(clicked(bool)), this, SLOT(OnDelHostProcess())); connect(ui.chkShowHostProcTmpl, SIGNAL(clicked(bool)), this, SLOT(OnShowHostProcTmpl())); - connect(ui.chkConfidential, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); // todo norify premium feaure + connect(ui.chkConfidential, SIGNAL(clicked(bool)), this, SLOT(OnConfidentialChanged())); + connect(ui.chkLessConfidential, SIGNAL(clicked(bool)), this, SLOT(OnLessConfidentialChanged())); connect(ui.chkNotifyProtect, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.treeInjectDll, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(OnToggleInjectDll(QTreeWidgetItem *, int))); @@ -252,6 +253,8 @@ void COptionsWindow::LoadAdvanced() ShowHostProcTmpl(); ui.chkConfidential->setChecked(m_pBox->GetBool("ConfidentialBox", false)); + ui.chkLessConfidential->setEnabled(ui.chkConfidential->isChecked()); + ui.chkLessConfidential->setChecked(m_BoxTemplates.contains("LessConfidentialBox")); ui.chkNotifyProtect->setChecked(m_pBox->GetBool("NotifyBoxProtected", false)); @@ -519,6 +522,17 @@ void COptionsWindow::OnSysSvcChanged() OnOptChanged(); } +void COptionsWindow::OnConfidentialChanged() +{ + ui.chkLessConfidential->setEnabled(ui.chkConfidential->isChecked()); + OnAdvancedChanged(); +} + +void COptionsWindow::OnLessConfidentialChanged() +{ + SetTemplate("LessConfidentialBox", ui.chkLessConfidential->isChecked()); +} + void COptionsWindow::OnAdvancedChanged() { m_AdvancedChanged = true; diff --git a/SandboxiePlus/SandMan/Windows/OptionsWindow.h b/SandboxiePlus/SandMan/Windows/OptionsWindow.h index 82159daf..27cde3c3 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsWindow.h +++ b/SandboxiePlus/SandMan/Windows/OptionsWindow.h @@ -197,6 +197,8 @@ private slots: void OnDelProcess(); void OnShowHiddenProcTmpl() { ShowHiddenProcTmpl(true); } + void OnConfidentialChanged(); + void OnLessConfidentialChanged(); void OnHostProcessAllow(); void OnHostProcessDeny(); void OnDelHostProcess();