三星电脑恶意禁用Windows更新

近期有Windows用户反映称,自己的三星电脑上Windows自动更新程序会被随机禁用,这个给他们的PC安全带来了安全隐患。禁用Windows更新的程序名为Disable_Windowsupdate.exe,这个程序是三星SW Update软件的一部分。
samsung
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

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文件下载完成,来看看其中的内容吧

[zip contents.png]

如果检测禁用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上的环境变量。

这一点,可以通过检测得到证实

[dropped.png]

注意该exe的签名为Samsung自己的

[cert.png]

可恶罪行

首先,正如笔者之前提到过的,最好不要在非三星环境下尝试运行三星的更新软件。笔者的虚拟机就截个图片都能遇到重启,所以每张截图会有几分钟的间隔。

安装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更新成为了时尚?

上一篇:微软拒绝修复32位IE漏洞

下一篇:OWASP 2015中国应用安全论坛预告