近期有Windows用户反映称,自己的三星电脑上Windows自动更新程序会被随机禁用,这个给他们的PC安全带来了安全隐患。禁用Windows更新的程序名为Disable_Windowsupdate.exe,这个程序是三星SW Update软件的一部分。
SW Update是典型的OEM更新软件,这个软件被用来更新三星的驱动程序,同时也会更新一些三星自己的软件。与其他OEM更新软件不同的是,三星的这款更新软件会禁用Windows自动更新!
Windows XP (all Service Packs)
Windows Vista (x86/x64)
Windows 7/SP1 (x86/x64)
Windows 8/8.1 (x86/x64)
需要注意,这些版本都是在三星机器环境下进行检测的。如果我们有什么疏漏,欢迎补充。
SW Update在Windows添加/删除(卸载和更改程序)中有列出来,它可以向其他正常软件一样从系统中删除。将其卸载后重启机器,它不会被移除。SE Update Service仍然活跃运行着,存在于/ProgramData/Samsung文件夹下面的"Disable_Windowsupdate.exe"程序依旧还在。
首先,经过传统卸载之后,还需要在注册表中删除一些值
译者注:由于信息量太大,编辑器无法保存,文后我会附加到网盘中。
正如你所见到的,它能删除与该服务相关的键值。
HKLM/SOFTWARE/Samsung/SW Update/AgentPath: "C:/ProgramData/Samsung/SW Update Service/SWMAgent.exe"
然而,我们在注册表中快速查找这个键值
可以看到该服务依旧还在。
正如我前面提到的,这可能是卸载发生在非三星环境中,因此卸载进程可能被中断了或者不能如预期一样正常工作。这仅仅是我的一个猜测,然而在三星环境中甚至也会发送这种情况。
因为我没有一个正式的三星环境用来测试,我无法评论说通过传统卸载方式能够移除,希望能够移除吧,彻底的!
如果你是一个三星用户,如上面所说先通过正常卸载方式进行卸载,如果依旧存在的话就只能够通过手工卸载,或者是等待三星发布工具进行卸载了,就和前短时间联想的Superfish一样。
接着我们来讲讲如何发现它:
不久之后…
——-
这里还有其他 Object值的名称:
1.CachedAUOptions
2.InstallInProgress,
3.UpdatesAvailableForInstallLogon
4.UpdatesAvailableWithUiLogon
5.UpdatesAvailableWithUiOrEulaLogon
6.FirmwareUpdatesNotDownloaded
7.FirmwareUpdatesNotInstalled
总之,我们继续往下看:
HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/AuthorizedCDFPrefix: "" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Comments: "SW Update Setup" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Contact: "Samsung Electronics CO., LTD." HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/DisplayVersion: "2.2.9" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/HelpLink: "http://www.samsung.com" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/HelpTelephone: "" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/InstallDate: "20150623" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/InstallLocation: "" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/InstallSource: "C:/ProgramData/Samsung/SWUpdate/Temp/" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/ModifyPath: "MsiExec.exe /I{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Publisher: "Samsung Electronics CO., LTD." HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Readme: "" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Size: "" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/EstimatedSize: 0x00008172 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/UninstallString: "MsiExec.exe /I{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/URLInfoAbout: "http://www.samsung.com" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/URLUpdateInfo: "" HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/VersionMajor: 0x00000002 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/VersionMinor: 0x00000002 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/WindowsInstaller: 0x00000001 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Version: 0x02020009 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/Language: 0x00000409 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{AAFEFB05-CF98-48FC-985E-F04CD8AD620D}/DisplayName: "SW Update"
这是安装后,注册表改变的基础信息比较
HKLM/SOFTWARE/Samsung/CurrentPath/20000: ""C:/Program Files/Samsung/SW Update/sManager.exe"" HKLM/SOFTWARE/Samsung/SW Update/AgentPath: "C:/ProgramData/Samsung/SW Update Service/SWMAgent.exe" HKLM/SOFTWARE/Samsung/SW Update/InstallPath: "C:/Program Files/Samsung/SW Update/sManager.exe" HKLM/SOFTWARE/Samsung/SW Update/TrafficDecentralize: "Y" HKLM/SOFTWARE/Samsung/SW Update/LastORCAServerUpdateDateTime: "2015-06-22T02:28:42" HKLM/SOFTWARE/Samsung/SW Update/AgentSleepSec: "300" HKLM/SOFTWARE/Samsung/SWMCommon/FirstAgentExecDateTime: "2015-06-23T01:47:42" HKLM/SYSTEM/ControlSet001/Services/SWUpdateService/Type: 0x00000110 HKLM/SYSTEM/ControlSet001/Services/SWUpdateService/Start: 0x00000002 HKLM/SYSTEM/ControlSet001/Services/SWUpdateService/ErrorControl: 0x00000001 HKLM/SYSTEM/ControlSet001/Services/SWUpdateService/ImagePath: "C:/ProgramData/Samsung/SW Update Service/SWMAgent.exe /SERVICE" HKLM/SYSTEM/ControlSet001/Services/SWUpdateService/DisplayName: "SW Update Service" HKLM/SYSTEM/ControlSet001/Services/SWUpdateService/ObjectName: "LocalSystem" HKLM/SYSTEM/CurrentControlSet/Services/SWUpdateService/Type: 0x00000110 HKLM/SYSTEM/CurrentControlSet/Services/SWUpdateService/Start: 0x00000002 HKLM/SYSTEM/CurrentControlSet/Services/SWUpdateService/ErrorControl: 0x00000001 HKLM/SYSTEM/CurrentControlSet/Services/SWUpdateService/ImagePath: "C:/ProgramData/Samsung/SW Update Service/SWMAgent.exe /SERVICE" HKLM/SYSTEM/CurrentControlSet/Services/SWUpdateService/DisplayName: "SW Update Service" HKLM/SYSTEM/CurrentControlSet/Services/SWUpdateService/ObjectName: "LocalSystem"
在这里我们能够看到更多的信息,比如休眠时间为300秒,第一个执行时间戳,以及创建SW Update服务。接下来我要做的就是中断这个服务。
Type (0×00000110):据我所知,这暗示我们这是一个能够启动Windows服务管理器的Win32程序,并能够让服务管理器遵从其指令。这种类型的Win32服务运行在一个进程本身。
Start (0×00000002):这是将所有启动项设置为加载或者自动加载,无论服务类型。其加载服务控制管理器,0×0 (boot)作为内核,0×1 (system)作为I/O子系统。
ErrorControl (0×00000001):如果驱动初始化或者加载失败,不论是否提示错误都继续执行。
我们注意到,该文件位置:
C:/ProgramData/Samsung
如果你将显示隐藏文件夹属性勾上,你会注意到两个文件夹–“SW Update Service”以及“SWUpdate”。如果你有一台三星机器,你只有一个SWUpdate文件夹,但都包含XML文件,让我们来看看吧(BASW-A0394A05_1B33BCEB.xml)
<?xml version="1.0" encoding="UTF-8"?> -<MaxList> -<Head> <BOMID/> <CISCode/> <Product/> <Project/> <Model/> <DevStep/> <BaseMRT/> <BaseBOM/> <Region/> <OS/> <Language/> <ROLString/> <Date/> <Time/> <Test>Yes</Test> </Head> -<Item> <CISCode>BASW-A0394A05</CISCode> <ItemType>SOFTWARE</ItemType> <DisplayName>Disable_AutoWindowsUpdate1.0</DisplayName> <Region>DNC</Region> <OS>WBPR64/WBSL64/WBST64</OS> <Lang>DNC</Lang> <ROLString>ALL</ROLString> <InstallType>PSTEXE</InstallType> <InstallPath>BASW-A0394A/BASW-A0394A04.ZIP</InstallPath> <InstallFile>Inst.exe</InstallFile> <InstallPara1>/pbr /na</InstallPara1> <InstallPara2/> <InstallOrgFileSize>4678908</InstallOrgFileSize> <InstallFileSize>2055424</InstallFileSize> <ImageCate>C2P1</ImageCate> <ImageType>GCP</ImageType> <ImageSequence/> <MediaType>SM1</MediaType> <MediaSubCate>ITMOPT</MediaSubCate> <MediaSequence/> <CheckType>NoVerify</CheckType> <CheckRoot/> <VerifyAttribute>1.0</VerifyAttribute> <VerifyPara1/> <VerifyPara2/> <System/> <Selectable>Y</Selectable> <AND/> <XOR/> <DistributionPriority>1</DistributionPriority> <FURL>http://orcaservice.samsungmobile.com/FileDownloader.aspx?Type=PATCH&FILENAME=BASW-A0394A04.ZIP</FURL> -<MultiLangDisplayName> <Default>ENG</Default> -<Value> <Lang>ENG</Lang> <Str>Windows Configuration</Str> </Value> -<Value> <Lang>KOR</Lang> <Str>Windows Configuration</Str> </Value> </MultiLangDisplayName> <Version>1.0</Version> -<DDesc> <Default>ENG</Default> -<Value> <Lang>ENG</Lang> <Str>This program helps your windows configuration settings.</Str> </Value> -<Value> <Lang>KOR</Lang> <Str>이 프로그램은 Windows configuration 프로그램입니다.</Str> </Value> </DDesc> <RemoveFilePath/> <RemovePara1/> <RemovePara2/> -<RemoveComment> <Default>ENG</Default> </RemoveComment> <UpdatePara1/> <UpdatePara2/> <TargetCISCode> </TargetCISCode> <MutualExclusiveCISCode/> <SWCate2>Miscellaneous</SWCate2> <Keyword1>SDR</Keyword1> <Keyword2>SDR</Keyword2> <Keyword3>SDR</Keyword3> <AutoInstall>Y</AutoInstall> <SingleInstall>Y</SingleInstall> -<PatchSequence> -<InstCmd> <InstCmdType>GENERAL_EXECUTION</InstCmdType> -<InstCmdParam> <Name>EXCUTION_FILE_NAME</Name> <Value>64/Disable_Windowsupdate.exe</Value> </InstCmdParam> </InstCmd> </PatchSequence> <FromProductDate/> <ToProductDate/> <BulletineDate>2015-05-12 17:12:43</BulletineDate> -<ProcCondition> -<ProcInfo> <ProcType>REG_VALUE</ProcType> -<ProcParam> <Name>BASE_OP</Name> <Value>AND</Value> </ProcParam> -<ProcParam> <Name>REG_KEY</Name> <Value>HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/WindowsUpdate/Auto Update</Value> </ProcParam> -<ProcParam> <Name>REG_VALUE_NAME</Name> <Value>AUOptions</Value> </ProcParam> -<ProcParam> <Name>REG_VALUE_TYPE</Name> <Value>REG_DWORD</Value> </ProcParam> -<ProcParam> <Name>REG_VALUE</Name> <Value>2</Value> </ProcParam> -<ProcParam> <Name>OP_RELATION</Name> <Value>!=</Value> </ProcParam> </ProcInfo> -<ProcInfo> <ProcType>REG_VALUE</ProcType> -<ProcParam> <Name>BASE_OP</Name> <Value>AND</Value> </ProcParam> -<ProcParam> <Name>REG_KEY</Name> <Value>HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/WindowsUpdate/Auto Update</Value> </ProcParam> -<ProcParam> <Name>REG_VALUE_NAME</Name> <Value>AUOptions</Value> </ProcParam> -<ProcParam> <Name>REG_VALUE_TYPE</Name> <Value>REG_DWORD</Value> </ProcParam> -<ProcParam> <Name>REG_VALUE</Name> <Value>4</Value> </ProcParam> -<ProcParam> <Name>OP_RELATION</Name> <Value>=</Value> </ProcParam> </ProcInfo> </ProcCondition> <Thumbnail/> <Screenshot1/> <Screenshot2/> <Screenshot3/> -<AdURL> <URL/> <FromDate>1900-01-01 오전 12:00:00</FromDate> <ToDate>1900-01-01 오전 12:00:00</ToDate> </AdURL> </Item> </MaxList>
注意它的安装文件
我们现在可以看到Disable_Windowsupdate.exe是如何重复该过程的,从该地址下载zip文件
http://orcaservice.samsungmobile.com/FileDownloader.aspx?Type=PATCH&FILENAME=BASW-A0394A04.ZIP
我发现这个字符串片段特别有趣:
<Str>This program helps your windows configuration settings.</Str>
当这个zip文件下载完成,我们来看看其中的内容吧
如果我们检测禁用Windows更新的安装程序的配置文件
;HowTo : The registry location of the installed language.... ;[HKLM/SYSTEM/CurrentControlSet/Control/Nls/Language] ;InstallLanguage=???? ;%CD%/ = Current Folder Location Variable ;%WinDir% = Windows Folder ex) C:/Windows C:/Winnt ;%ProgramFiles% = Program Files Folder ex) C:/Program Files, C:/Archivo de program, C:/Programme ;%LangID% ;HowTo : The registry location of the installed language.... ;[HKLM/SYSTEM/CurrentControlSet/Control/Nls/Language] ;LangID Lang / Export to ;0412 KOR / KOR ;0409 ENG / UK, HKG ;040C FRN / FRN ;0407 GER / GER ;0411 JPN / JPN ;0404 CHT / CHT ;0804 CHS / CHS ;0C0A SPA / SPA ;0816 POR / POR ;0419 RUS / RUS [BaseSettings] OSConditional= TRUE ShowWin = FALSE RunInAuditMode = TRUE [32Win8] Setup1=xcopy 32/Disable_Windowsupdate.exe "%ALLUSERSPROFILE%/Samsung/" /y Setup2=schtasks /create /XML "%CD%/Dis_AU.xml" /tn "Dis_AU" [64Win8] Setup1=xcopy 64/Disable_Windowsupdate.exe "%ALLUSERSPROFILE%/Samsung/" /y Setup2=schtasks /create /XML "%CD%/Dis_AU.xml" /tn "Dis_AU"
我们看到其使用了xcopy命令,就免不了“drop”位于/ProgramData/Samsung的Disable_Windowsupdate.exe。%ALLUSERPROFILE% 是Vista版本以上的环境变量, /Documents and Settings/All Users为XP上的环境变量。
这一点,我们可以通过检测得到证实
注意该exe的签名为Samsung自己的
首先,正如我之前提到过的,最好不要在非三星环境下尝试运行三星的更新软件。我的虚拟机就截个图片都能遇到重启,所以每张截图会有几分钟的间隔。
安装SW Updata之后,Windows更新就这样了
注意看第二张图片的“检测更新并让我选择是否下载并安装”选项,将其更改为“自动安装更新(推荐)”选项
真棒,接下来我们重启看看
日了狗,又变回来了。我们再检查下设置
于是我联系上了三星的客服,以下是聊天记录(Rep为客服名称,ringzero即是本文作者):
Rep: Hi, 感谢你找到我们三星技术支持. 我可以帮到你什么么? ringzero: Hi Rep, 我对你们家的 SW Update软件有些问题. Rep: Hi Ringzero, 请详细说说你的问题吧. Rep: 我很乐意帮助你的. ringzero: 谢谢Rep! 我的问题是, 为什么这个软件主动监视我的注册表,以及通过强行禁用Windows更新? Rep: SW Update工具帮助你的笔记本自动检查硬件并为他们安装支持的驱动程序。这个工具并不会影响到你的注册表以及Windows的正常更新。 ringzero: Rep,你恐怕是搞错了吧 SW Update包含一个名为 "Disable_Windowsupdate.exe"的exe文件 ringzero: 当SW Update完成安装之后, Windows Update就被禁用了. 如果你将其设置为你喜爱的选项,在重启之后又强行被禁用了. ringzero: 如果SW Update被卸载, Windows Update始终保持着其选项. Rep: 谢谢你的等待, 等我一会马上就回来. ringzero: 好的.
Rep: 当你启用Windows updates, 它会安装一个默认的驱动程序,否则可能导致笔记本不工作. 举例来说你的笔记本支持USB3.0, 安装更新之后这个端口可能会不能正常工作,所以为了保护SW Update工具将阻止Windows更新!
感谢代表这三星的Rep,我们终于知道三星禁用Windows更新的动机咯。
OEMs,继续啊。难道真忘了联想Superfish的教训?
注册表信息:链接: http://pan.baidu.com/s/1dDCTz8X 密码:0x0v
目前已经将此事报告给Microsoft/MSRC,难道现在禁用Windows更新成为了时尚?
*参考来源: blogspot ,编译:鸢尾,转载需注明来自FreeBuf黑客与极客(FreeBuf.COM)