目录
- 1 说明
- 2 基本术语
- 3 普通措施
- 3.1 基本设置
- 3.2 临时文件
- 3.3 最近使用的项目(文档)和最近打开过的文件夹(文件位置)
- 3.4 最近使用过的程序(软件)
- 3.5 快速跳转列表(每个应用程序打开的文件记录)
- 3.6 各个文件夹的视图设置
- 3.7 系统的其他最近使用(MRU)列表
- 3.8 办公软件
- 3.9 IE浏览器
- 3.10 Firefox浏览器
- 3.11 Chrome浏览器
- 3.12 Edge浏览器
- 3.13 PDF查看器
- 3.14 压缩软件
- 3.15 多媒体软件
- 3.16 其他应用软件
- 3.17 预读文件
- 3.18 杀毒软件
- 3.19 收尾
- 4 高级措施
- 4.1 使用加密软件VeraCrypt
- 4.2 使用压缩软件加密
1 说明
清理痕迹的最低目标是去除现有的记录,避免敏感文件被发现甚至被读取内容。最高目标是加固电脑和伪装电脑,既要避免不断产生新的敏感记录,又要允许不敏感的记录自然留下,一旦电脑随时被没收,尽可能让它在取证软件面前呈现“正常”的状态,让人根本注意不到某些东西,甚至让人想不到有它们。
所以随着对系统的理解加深,被清理的东西应该追求少而精,把无关紧要的东西都尽可能保留下来。因此,提倡采取手工方式,而不是通过执行.reg或.bat之类的文件简单清空许多目录,也不宜冒着风险运行某些没有根据具体情况调整的自动化加固脚本。当然,这增加了工作量,只能对电脑分级,只在少数电脑上处理重要文件,仅仅重点维护少数电脑。对于大多数人的电脑,不需要小心地掌握清理的彻底程度,因此可使用CCleaner(https://www.ccleaner.com/download)、PrivaZer(https://privazer.com/zc/download.php)等软件自动清理。
以下方法极其繁琐。但是,如果明白自己会在哪些地方留下什么痕迹、哪些痕迹是最危险的,那么今后只需要有针对性地清理少数地方;如果知道什么操作会留下什么痕迹,并且在关键的操作习惯方面倍加注意,那么许多操作之后其实并不需要清理痕迹;如果今后学会更高级的防范方法,那么甚至可以忘记大部分细节,在留下痕迹以后直接还原系统。要想进入事半功倍的阶段,找到有所为、有所不为的“感觉”,都不能跳过前期的体验阶段,应当有一个下笨功夫的时期,自己从头到尾独立尝试一遍。至少对存在的风险心里有数,避免自己在某一天无谓地担心。最安全的系统是自己最熟悉的那一款系统。另外,系统所在的卷的主文件表清理起来比较复杂,一些文件虽然内容被擦除,快捷方式被删除,但文件名等文件基本信息仍留在硬盘上。因此,平时就要养成习惯,在对文件命名的同时注意避免使用过于敏感的名称。
工具方面,主要采用注册表编辑器regedit.exe。而组策略编辑器gpedit.msc由于只在专业版的系统里有,本文尽可能把其中的功能用注册表代替,这会比直接修改组策略繁琐一些,但效果等同。
已经尽量照顾到Windows 2000、XP、Vista、7、8、10、11等,如果在自己的系统里没有找到需要清理的个别文件夹、文件、键或值项,可以自行翻墙后在网上搜索适合自身系统情况的相应位置(当然,确实有可能存在旧系统还没有的新功能,或新系统已取消的旧功能、旧位置,跳过即可)。
2 基本术语
2.1 文件夹位置简称
以下路径既可以在“运行”窗口(按Win+R键打开)中输入,也可以在“此电脑/计算机/我的电脑”的地址栏中输入。
- %SystemDrive%或%HomeDrive% = C:
%SystemRoot%或%WinDir% = C:\Windows或C:\WinNT
%AllUsersProfile% = C:\Documents and Settings\All Users或C:\ProgramData
%UserProfile%或%HomePath% = C:\Documents and Settings<用户名>或C:\Users<用户名>
%AppData% = %UserProfile%\Application Data或%UserProfile%\AppData\Roaming
%Temp%或%TMP% = %UserProfile%\Local Settings\Temp或%UserProfile%\AppData\Local\Temp
%LocalAppData%(不通用) = %UserProfile%\Local Settings\Application Data或%UserProfile%\AppData\Local
%ProgramFiles% = C:\Program Files或C:\Program Files (x86)
%CommonProgramFiles% = C:\Program Files\Common Files
2.2 注册表位置简称
- HKCR = HKEY_CLASSES_ROOT(文件类型和关联程序,对应%UserProfile%\NTUSER.DAT文件)
- HKCU = HKEY_CURRENT_USER(当前用户设置,对应%LocalAppData%\Microsoft\Windows\Usrclass.dat文件)
- HKLM = HKEY_LOCAL_MACHINE(硬件和软件,对应%SystemRoot%\System32\Config\SAM、SECURITY、SOFTWARE、SYSTEM文件)
- HKU = HKEY_USERS(用户,对应%SystemRoot%\System32\Config\DEFAULT、USERDIFF文件和%USERPROFILE%\Ntuser.dat文件)
- HKCC = HKEY_CURRENT_CONFIG(当前硬件配置)
在注册表编辑器里面展开后,左侧的文件夹称作“键”或“项”,下级文件夹是上级文件夹的子键;右边是键的若干属性,称作“值项”或“值”,每个值项都有名称、类型和数据。下文涉及的值项如果不存在,且设置方法没有错、确实适合该系统,可以自己新建。
2.3 注册表数据类型简称
- SZ = 文本字符串
- BINARY = 以十六进制显示的不定长二进制值,
- DWORD = 双字(以8位十六进制值显示的32位二进制值)
- QWORD = 四字(以16位十六进制值显示的64位二进制值)
- MULTI_SZ = 多字符串(字符串间用nul分隔、结尾两个nul)
- EXPAND_SZ = 含有环境变量的可扩充字符串
3 普通措施
3.1 基本设置
- 【一次性】BIOS设置:根据电脑型号在网上查找进入BIOS设置的按键,通常是刚开机甚至屏幕还没信号的时候就按F1到F12的某个功能键。把启动顺序设置为只从硬盘启动,以防止U盘和光盘引导后绕过操作系统密码。设置BIOS的管理员密码,注意管理员密码用于防止启动顺序被修改,有必要设;用户密码用于防止无关人员启动电脑,没必要设,有操作系统密码就够了。当然,该步骤防御程度有限,因为硬盘被整个拆卸后不受BIOS保护。
- 【一次性】操作系统的所有用户都要有较长的复杂密码,且与网上使用的各类密码都不同。尤其是Administrator不能用空密码,如果以后有机会重装系统的话不妨从一开始就把Administrator改为别的名字。
- 【一次性】在“此电脑/计算机/我的电脑”点右键“属性”的“系统还原”或“系统保护”标签,在所有驱动器上关闭系统还原功能并删除所有还原点,否则已清理的痕迹可能保留在某个还原点内。如果确实需要还原功能,可以在某次彻底清理后做一个还原点,并且只保留这一个还原点。
- 【一次性】清空回收站。以后每次删除文件都想清楚、直接删,回收站保持空的状态。
- 【一次性】“工具”菜单的“文件夹选项”的查看标签,勾选“显示系统文件夹的内容”、“显示所有文件和文件夹”,反选“隐藏受保护的操作系统文件”。这步是为了方便自己看到大部分(其实并不是全部)隐藏文件。这步操作也可以这样执行:修改HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced的WebViewBarricade(DWORD)值为1。修改HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced的ShowSuperHidden(DWORD)值为1。进入HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden,修改NOHIDDEN键的CheckedValue(DWORD)和DefaultValue(DWORD)值为2;修改SHOWALL键的CheckedValue(DWORD)值为1,DefaultValue(DWORD)值为2。进入HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden,修改CheckedValue(DWORD)和DefaultValue(DWORD)值为0,修改UncheckedValue(DWORD)值为1,删除..\SuperHidden\Policy下的DontShowSuperHidden子键。
3.2 临时文件
- 【定期做】清空%Temp%下的所有文件,无论是不是.dmp或.tmp。如果知道每个文件夹的用途,可以有选择地删。
- 【定期做】检查%SystemRoot%\Temp有无异常,里面的文件通常都可以留着,未必要清空。
- 【定期做】打印后检查C:\WINDOWS\system32\spool\PRINTERS是否为空,但其中的打印内容通常应该已被系统自动删除。
3.3 最近使用的项目(文档)和最近打开过的文件夹(文件位置)
- 【一次性】修改HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer的ClearRecentDocsOnExit(DWORD)值为1,MaxRecentDocs(DWORD)值为0,NoRecentDocsHistory(DWORD)值为1,NoThumbnailCache(DWORD)值为1。
- 【一次性】进入HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs简单检查一下,通常不需要修改。
- 【一次性】清空%SystemRoot%\Recent或%UserProfile%\Recent或%AppData%\Microsoft\Windows\Recent Items的全部.lnk快捷方式,保留Desktop.ini文件。
3.4 最近使用过的程序(软件)
- 【一次性】修改HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer的NoInstrumentation(DWORD)值为1。修改HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced的Start_MinMFU(DWORD)值为0。
- 【定期做】进入HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{GUID}\Count,不同系统和浏览器有若干不同的GUID,其中记录有各种程序的运行次数和最后运行时间,所有值项的名称以ROT13方式简易加密,既可以手工解密,可用UserAssistView(http://www.nirsoft.net/utils/userassist_view.html)等软件查看解密后的列表。解密后的名称在冒号前面的部分表示类别,UEME_CTLSESSION是会话ID,UEME_UIQCUT是从快速启动栏运行,UEME_UISCUT是从桌面运行,UEME_RUNCPL是控制面板文件,UEME_RUNPATH是大部分程序,UEME_RUNPIDL是快捷方式,UEME_UITOOLBAR是资源管理器工具条按钮。清理重点是UEME_RUNPATH和UEME_RUNPIDL,建议少删多留。此外,在UserAssist点右键新建“项”Settings,进而在..\UserAssist\Settings新建NoLog(DWORD)值为1可在此后不再留下新的记录(已有的记录不会删除),新建NoEncrypt(DWORD)值为1可使此后的记录不加密(已有的记录不会解密),需重启后复核是否有效。
- 【定期做】进入HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache和HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache,删除涉及敏感程序的值项,不会影响程序使用。
- 【定期做】进入HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU和OpenSaveMRU,下面的几个子键都看一下,可以有针对性地删去目前不用的程序,大部分可以保留,特别是要长期使用的特定程序,即使删掉还是会出现的,除非经常删,否则删的意义不大,其他地方还是有大量痕迹。
- 【定期做】可见,系统记录的主要是路径和名称,而不是内容。所以今后在新建文件和文件夹的时候注意,最好都只用自己才看得懂的、“正常”的名称。这会为日后寻找文件带来不小的麻烦,需要加强记忆。
- 【一次性】在注册表内搜索某些已经卸载不用的特定程序,关键词可使用xxx.exe的程序名或软件的安装路径和公司名。删除或修改键的时候要慎重,要知道自己在干什么,要提前备份局部或整体,备份方法自己查。
3.5 快速跳转列表(每个应用程序打开的文件记录,只适用于较新的系统)
- 【一次性】修改HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced的Start_JumpListItems(DWORD)值为0,JumpListItems_Maximum(DWORD)值为0。
- 【一次性】清空%AppData%\Microsoft\Windows\Recent\AutomaticDestinations下的所有.automaticDestinations-ms文件,或者根据属性判断是哪个程序,有选择地删。
- 【一次性】清空%AppData%\Microsoft\Windows\Recent\CustomDestinations下的所有.customDestinations-ms文件,同上。
3.6 各个文件夹的视图设置
- 【一次性】修改HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer的NoSaveSettings(DWORD)值为1。修改HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced的ClassicViewState(DWORD)值为1。
- 【定期做】删除HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU的以数字为名的众多值项,删除HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams下以数字为名的众多子键。
- 【一次性】进入HKCU\Software\Microsoft\Windows\Shell和HKCU\Software\Microsoft\Windows\ShellNoRoam(或者HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell,或者HKCU\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell),修改这两个位置的BagMRU Size(DWORD)值为某个较小的数。
- 【定期做】这些位置下面的子键BagMRU和Bags保存了大量的Shellbag,涉及二进制的庞大树形结构,具体数量由BagMRU Size决定(默认值为5000)。有三种处理方法:第一种是直接整个删除BagMRU和Bags,并新建这两个“项”;第二种是用ShellBagsView(http://www.nirsoft.net/utils/shell_bags_view.html)查看,并有针对性地逐个找到原始位置去删除;第三种是用PrivaZer的Shellbag Analyzer & Cleaner软件,既能个别删,也比较方便。
3.7 系统的其他最近使用(MRU)列表
- 【定期做】针对资源管理器的搜索功能,进入HKCU\Software\Microsoft\Search Assistant\ACMru,下面的子键分别是名称和包含文字两种搜索功能的搜索记录,有选择地删,再通过重命名使得值项的名称为连续字母。检查HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery(只适用于较新的系统)。
- 【定期做】针对运行框,删除HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU的a、b、c之类的值项,把MRUList的数据留空,不要删除“默认”和MRUList。
- 【一次性】针对注册表,进入HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit,其中的LastKey(SZ)是注册表最后访问的键,把数据改为“此电脑/计算机/我的电脑”,子键Favorites应该只有“默认”的空值项。以后每次用完注册表编辑器之前,都养成把光标定位到“此电脑/计算机/我的电脑”的习惯,以后就不需要检查这里了。
- 【定期做】针对DirectX,检查HKLM\SOFTWARE\Microsoft\Direct3D、HKLM\SOFTWARE\Microsoft\DirectDraw、HKCU\Software\Microsoft\Direct3D和HKCU\Software\Microsoft\DirectInput这四个位置下的MostRecentApplication子键有无特定程序。
- 【定期做】针对图片缩略图,需要通过搜索删除所有驱动器的所有thumbs.db文件,注意搜索的时候勾选系统文件夹、隐藏文件和子文件夹。
3.8 办公软件
- 【一次性】Office版本号指:8.0(97)、9.0(2000)、10.0(XP)、11.0(2003)、12.0(2007)、13.0(无,不吉利数字被跳过)、14.0(2010)、15.0(2013)、16.0(2016/2019/2021)。产品名指:Access、Excel、FrontPage、InfoPath、OneNote、PowerPoint、Project、Publisher、SharePoint、Visio、Word等,前面有可能带有或不带有Microsoft和Office等字样。如果安装过多个版本和多个产品,要清理的总数就是两个数量的乘积。
- 【一次性】针对打开过的文件,修改HKCU\Software\Microsoft\Office<版本号>\Common\Open Find<产品名>\Settings\Open\File Name MRU的Maximum Entries(DWORD)值为0,清空Value(MULTI_SZ)的数据,但该值项本身要保留。
- 【一次性】针对另存为的文件,修改HKCU\Software\Microsoft\Office<版本号>\Common\Open Find<产品名>\Settings\Save As\File Name MRU的Maximum Entries(DWORD)值为0,清空Value(MULTI_SZ)的数据,但该值项本身要保留。
- 【一次性】针对经常打开的文件和文件夹,修改HKCU\Software\Microsoft\Office<版本号><产品名>\File MRU的Max Display(DWORD)值为0,修改HKCU\Software\Microsoft\Office<版本号><产品名>\Place MRU的Max Display(DWORD)值为0,删除带有遗留信息的值项。有些产品没有这些键,例如OneNote只有OpenNotebooks和RecentNotebooks,自己灵活处置。
- 【定期做】针对最近的文件和文件夹,删除HKCU\Software\Microsoft\Office<版本号><产品名>\Recent Files或Recent File List或RecentFolderList的File1(SZ)等值项,检查HKCU\Software\Microsoft\Office<版本号><产品名>\Data下以二机制保存的最近文件信息(此步可略过)。删除%AppData%\Microsoft\Office下的所有.tmp文件,保留其他文件。在%AppData%\Microsoft\Office\Recent下删除所有.lnk快捷方式。
- 【定期做】针对自动保存用于恢复的文件,在HKCU\Software\Microsoft\Office<版本号><产品名>\Options的AUTOSAVE-PATH或AutoRecoverPath(EXPAND_SZ)查看保存路径之后,在%AppData%\Microsoft\Office\UnsavedFiles、%AppData%\Microsoft<产品名> 和上述路径等处删除.asd等文件。即使使用了加密卷,这个位置也很有可能留下临时文件。
- 【定期做】针对Access,清空HKCU\Software\Microsoft\Office<版本号>\Access\Settings的MRU1(SZ)等值项的数据,但该值项本身要保留。
- 【定期做】针对Frontpage,重点检查HKCU\Software\Microsoft\FrontPage\Explorer\FrontPage Explorer下的Recent File List、Recent Page List、Recent Web List和Recently Created Servers,以及HKCU\Software\Microsoft\FrontPage\Editor\Recently Used URLs。
- 【一次性】针对Outlook(建议弃用该软件及各类邮件客户端),检查HKCU\Software\Microsoft\Office<版本号>\Outlook\Security,删除HKCU\Identities{GUID}\Software\Microsoft\Outlook Express<版本号>\Recent Stationery List的File1(SZ)等值项,检查%LocalAppData%\Microsoft\Outlook\outlook.ost的离线数据,检查%LocalAppData%\Microsoft\Windows\Temporary Internet Files\Content.Outlook\下的附件缓存,删除%AppData%\Identities{User ID}\Microsoft\Outlook Express和%LocalAppData%\Identities{User ID}\Microsoft\Outlook Express下的.dbx文件。
- 【定期做】针对Visio,检查HKCU\Software\Microsoft\Office<版本号>\Visio\Application的LastFile1(SZ)等值项的数据。
- 【定期做】针对Picture Manager,进入%LocalAppData%\Microsoft\OIS,清空thumbnails文件夹,把OIScatalog.cag里特定的几行mru path删除。
- 【定期做】针对WebDAV服务器,进入HKCU\Software\Microsoft\Office<版本号>\Common\Internet,检查UseRWHlinkNavigation(SZ)的数据,删除Server Cache下涉及特定网址的子键。
- 【定期做】针对上载中心(Upload Center),直接在其设置里删除缓存,并复查%LocalAppData%\Microsoft\Office<版本号>\OfficeFileCache。
3.9 IE浏览器
- 【一次性】修改HKCU\Software\Microsoft\Internet Explorer\IntelliForms的AskUser(DWORD)值为0。修改HKCU\Software\Microsoft\Internet Explorer\Main的FormSuggest Passwords(SZ)、FormSuggest PW Ask(SZ)、Save_Session_History_On_Exit(SZ)和Use FormSuggest(SZ)值为no。修改HKCU\Software\Microsoft\Internet Explorer\Privacy的CleanForms(DWORD)、CleanInPrivateBlocking(DWORD)、CleanPassword(DWORD)和ClearBrowsingHistoryOnExit(DWORD)值为1。
- 【一次性】修改HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete的Append Completion(SZ)和AutoSuggest(SZ)值为no。
- 【一次性】在HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings新建DisablePasswordCaching(DWORD)值为1。修改HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache的Persistent(DWORD)值为0。修改HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Url History的DaysToKeep(DWORD)值为0。
- 【一次性】修改HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache的Persistent(DWORD)值为0,注意是HKLM。
- 【定期做】在Internet选项里面删除临时文件、Cookie、历史记录、表单数据、密码、自动完成历史记录等。
- 【定期做】清空临时文件等缓存后,用Internet Explorer Cache Viewer(http://www.nirsoft.net/utils/ie_cache_viewer.html)复查%SystemRoot%\Temporary Internet Files或%UserProfile%\Local Settings\Temporary Internet Files或%LocalAppData%\Microsoft\Windows\Temporary Internet Files下隐藏的Content.IE5文件夹,需要直接在地址栏输入该文件夹的路径。
- 【定期做】清空Cookies和DOM Storage后,用IECookiesView(http://www.nirsoft.net/utils/iecookies.html)复查%SystemRoot%\Cookies或%UserProfile%\Cookies或%AppData%\Microsoft\Windows\Cookies。清理%LocalAppData%\Microsoft\Internet Explorer\DOMStore内各个文件夹里的文件,保留文件夹。
- 【定期做】清空历史记录后,用IEHistoryView(http://www.nirsoft.net/utils/iehv.html)复查%SystemRoot%\History\History.IE5或%UserProfile%\Local Settings\History或%LocalAppData%\Microsoft\Windows\History下隐藏的History.IE5文件夹,需要直接在地址栏输入该文件夹的路径。检查%UserProfile%\IETldCache或者%AppData%\Microsoft\Windows\IETldCache和%AppData%\Microsoft\Windows\IETldCache\Low的index.dat。检查%UserProfile%\IECompatCache或者%AppData%\Microsoft\Windows\IECompatCache和%AppData%\Microsoft\Windows\IECompatCache\Low的index.dat。这两个index.dat需要用清理软件在系统下次重启时才能清空,如果其中没有记录特定网站,可不必理会。
- 【一次性】清空自动完成表单和密码后,检查HKCU\Software\Microsoft\Internet Explorer\IntelliForms下的FormData、Storage1和Storage2里面以二机制保存的数据,可用IE PassView(http://www.nirsoft.net/utils/internet_explorer_password.html)复查。另外,可以在HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer点右键新建“项”Control Panel,进而在..\Internet Explorer\Control Panel新建FormSuggest(DWORD)值为0,新建Form Suggest Passwords(DWORD)值为0,此步可做可不做。
- 【定期做】针对地址栏列表记录,检查HKCU\Software\Microsoft\Internet Explorer\TypedURLs的值项。
- 【定期做】针对下载时文件保存的目录,检查HKCU\Software\Microsoft\Internet Explorer的Download Directory(SZ)值项的数据和HKCU\Software\Microsoft\Internet Explorer\Main的Save Directory(SZ)值项的数据,但值项本身要保留。
- 【定期做】针对互联网信息服务(IIS)的HTTP错误日志,检查%SystemRoot%\System32\LogFiles\HTTPERR下的文本文档,通常没有问题,不用修改。
- 【定期做】清空DNS Cache,以管理员模式在命令行运行ipconfig /flushdns。
- 【一次性】检查收藏夹。
3.10 Firefox浏览器
- 【一次性】在“历史”菜单删除全部时间的所有缓存、Cookies、历史等记录,在选项的“高级”标签清空网络内容缓存(Cached Web Content),在选项的“隐私”标签设置为不记录历史或在关闭时自动删除历史记录,以后平时一律使用隐私浏览模式,其他很多设置可以参考Tor Browser的默认设置。设置完成后关闭浏览器,开始下面的检查过程,“串号”指%AppData%\Mozilla\Firefox\profiles.ini里的Path保存的8位随机码。如果仍有问题,应重复上述清理过程,最后尝试使用关系数据库管理系统SQLite针对Firefox的附加组件SQLite Manager来修改相应文件,若使用通常的文本编辑器有可能破坏二进制文件。在about:config新建一个Boolean,名为browser.pagethumbnails.capturing_disabled,值为true。
- 【定期做】针对缓存,用MZCacheView(http://www.nirsoft.net/utils/mozilla_cache_viewer.html)复查%LocalAppData%\Mozilla\Firefox\Profiles\串号.default\Cache(或cache2)和%ProgramFiles%(或其他安装目录)\Mozilla Firefox\Temp\Cache(或cache2),内容主要在下级文件夹entries里。也可以进入about:cache检查目前的缓存条目。(彻底禁用硬盘缓存的方法是访问about:config,把browser.cache.disk.enable和browser.cache.disk_cache_ssl修改为false,把browser.cache.memory.enable修改为true,把browser.cache.disk.amount_written修改为0。)
- 【定期做】针对Cookies和DOM Storage,用MZCookiesView(http://www.nirsoft.net/utils/mzcv.html)复查%AppData%\Mozilla\Firefox\Profiles\串号.default\cookies.sqlite,清空webappsstore.sqlite,清理%AppData%\Mozilla\Firefox\Profiles\串号.default\storage\temporary的几个文件夹内以特定网址为名的下级文件夹。(彻底禁用DOM存储的方法是访问about:config,把dom.storage.enabled和dom.indexedDB.enabled修改为false,把dom.storage.default_quota修改为0,代价是无法访问某些网站。)
- 【定期做】针对历史记录和书签,用MZHistoryView(http://www.nirsoft.net/utils/mozilla_history_view.html)复查%AppData%\Mozilla\Firefox\Profiles\串号.default\places.sqlite。
- 【定期做】针对表单和密码,用PasswordFox(http://www.nirsoft.net/utils/passwordfox.html)复查%AppData%\Mozilla\Firefox\Profiles\串号.default\formhistory.sqlite和signons.sqlite。
- 【一次性】检查“书签”菜单有没有图一时方便保存某些特定网站,清理完成后删除%AppData%\Mozilla\Firefox\Profiles\串号.default\bookmarkbackups下的所有.jsonlz4备份文件。
- 【定期做】清理%AppData%\Mozilla\Firefox\Crash Reports\pending里的.dmp和.extra崩溃报告。
3.11 Chrome浏览器
- 【一次性】进行类似的设置和清理。
- 【定期做】针对缓存,用ChromeCacheView(http://www.nirsoft.net/utils/chrome_cache_view.html)复查%LocalAppData%\Google\Chrome\User Data\Default\Cache文件夹。
- 【定期做】针对Cookies和DOM Storage,用ChromeCookiesView(http://www.nirsoft.net/utils/chrome_cookies_view.html)复查%LocalAppData%\Google\Chrome\User Data\Default\Cookies文件和Local Storage文件夹。
- 【定期做】针对历史,用ChromeHistoryView(http://www.nirsoft.net/utils/chrome_history_view.html)复查%LocalAppData%\Google\Chrome\User Data\Default\History文件。
- 【定期做】针对密码,用ChromePass(http://www.nirsoft.net/utils/chromepass.html)复查%LocalAppData%\Google\Chrome\User Data\Default\Login Data文件。
3.12 Edge浏览器
- 【一次性】在HKLM\SOFTWARE\Policies\Microsoft\Edge新建PasswordManagerEnabled(DWORD)值为0,新建SavingBrowserHistoryDisabled(DWORD)值为1,新建Use FormSuggest(SZ)值为no。
- 【一次性】修改HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Main的FormSuggest Passwords(SZ)值为no。
- 【一次性】在HKCU\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main新建FormSuggest Passwords(SZ)值为no。
- 【一次性】参照IE浏览器和Chrome浏览器,进行类似的设置和清理。
- 【定期做】针对Cookies,用EdgeCookiesView(http://www.nirsoft.net/utils/edge_cookies_view.html)复查%LocalAppData%\Microsoft\Windows\WebCache\WebCacheV01.dat文件。
- 【定期做】针对历史,用BrowsingHistoryView(http://www.nirsoft.net/utils/browsing_history_view.html)复查。
3.13 PDF查看器
- 【一次性】针对Acrobat Reader或Adobe Acrobat,进入HKCU\Software\Adobe<产品名><版本号>\AVGeneral,修改iMaxMRUCnt或iMaxMRUCntToBeStored(DWORD)值为0,前者为11.0.08版之前的值项,后者为11.0.08版之后的值项;清除..\AVGeneral\cRecentFiles下的c1等子键。检查HKCU\Software\Adobe<产品名><版本号>\AdobeViewer\avpRecentFile。删除%LocalAppData%\Adobe\Acrobat<版本号>\Cache\Search下的.idx文件。
- 【定期做】针对Foxit Reader,进入HKCU\Software\Foxit Software\Foxit Reader <版本号>,修改Preferences\History\Options的nRecentlyFolderUseListSize(SZ)、nRecentlyUseListSize(SZ)和nSaveMaxSize(SZ)值为0,检查History、Recent File List、RecentFiles、MRU\File MRU、MRU\Place MRU子键内不需要的值项。
3.14 压缩软件
- 【定期做】针对WinZip,进入HKCU\Software\Nico Mak Computing\WinZip,检查FileMenu和Extract子键,检查Directories子键的ExtractTo和DefDir等值项。
- 【定期做】针对WinRAR,进入HKCU\Software\WinRAR,检查DialogEditHistory和ArcHistory子键,检查Compression子键的DefFolder(SZ)、Extraction子键的DefFolder(SZ)和LastFolder(SZ)、General子键的LastFolder(SZ)、Paths子键的StartFolder(SZ)等值项。
- 【定期做】针对7-Zip,进入HKCU\Software\7-Zip,检查..\Compression\ArcHistory,清除Extraction子键的PathHistory(BINARY)值项的数据,清除FM子键的CopyHistory(BINARY)、FolderHistory(BINARY)和PanelPath0(SZ)等值项的数据,但值项本身要保留。
3.15 多媒体软件
- 【定期做】针对Flash Player的缓存,清理%AppData%\Macromedia\Flash Player#SharedObjects\随机码\下的所有文件夹,检查%AppData%\Adobe\Flash Player\AssetCache。
- 【定期做】针对MediaPlayer,进入HKCU\Software\Microsoft\MediaPlayer\Player\RecentFileList或RecentURLList检查,该键未必存在。进入HKCU\Software\Microsoft\MediaPlayer\Preferences检查,未必需要更改。
- 【定期做】针对Real Player,进入%AppData%\Real\RealPlayer或RealOne Player,检查该文件夹下的cookies.txt、ctd.dat、realplayer.ste、RealPlayer-log.txt、urls.ini等文件,清理History文件夹下的所有.lnk快捷方式,清理Temp文件夹下的所有视频。检查或删除HKCU\Software\RealNetworks\RealPlayer<版本号>\Preferences下的DownloadDir、HistoryList、LastOpenFileDir、MostRecentClips、OpenLocationClips等子键。
- 【定期做】针对QuickTime,检查HKLM\SOFTWARE\Apple Computer, Inc.\QuickTime\Recent Movies。
- 【定期做】针对画图程序,删除HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint\Recent File List的File1(SZ)等值项。
- 【定期做】针对Adobe Photoshop,检查HKCU\Software\Adobe\Photoshop<版本号>\VisitedDirs和HKCU\Software\Adobe\MediaBrowser\MRU\Photoshop\FileList,以及%AppData%\Adobe\Photoshop<版本号>\Adobe Photoshop <版本号> Settings\Adobe Photoshop <版本号> Prefs.psp文件的内容。
3.16 其他应用软件
- 【一次性】针对MSN(建议卸载)的Customer Experience Improvement Program,删除%AppData%\Microsoft\MSN Messenger内几个以数字为名的文件夹及其中的所有.sqm文件。
- 【定期做】针对QQ,清理已下载的文件。
- 【定期做】针对下载工具,有针对性地清理已下载列表及其备份列表。
3.17 预读文件
- 【定期做】删除%SystemRoot%\Prefetch\里的所有文件(包括但不限于.pf、.db等),保留Layout.ini(因为删除后还是会被自动创建)。
- 【一次性】Layout.ini的作用是:使定期的局部磁盘碎片自动整理时把相关文件在物理上排列在磁盘的相邻区域。打开它,耐心仔细地逐条删去特定文件、程序安装目录与开始菜单条目和非本地硬盘路径的记录,用查找功能避免遗漏,其余的别动(这样看起来比较正常),或者把所有内容清空(如果时间紧张)。保存后关闭,把该文件的属性设置为只读。
- 【一次性】修改HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Managment\PrefetchParameters的EnablePrefetcher(DWORD)值和EnableSuperfetch(DWORD)值,其中0表示取消全部预读(降低速度、影响系统安全稳定),1表示只预读应用程序,2表示只预读系统文件,3(默认)表示保留系统启动预读和应用程序预读。建议改为0或2,如果选3的话需要定期执行第一步。
3.18 杀毒软件
- 【一次性】安装国外杀毒软件,防御木马、键盘记录器等。
- 【定期做】检查杀毒软件的应用程序分级管理与排除设置,有针对性地删去目前不用的程序,大部分可以保留,特别是要长期使用的特定程序,即使删掉还是会出现的。
- 【定期做】检查杀毒软件的日志或报告里面有没有扫描或查杀特定文件的记录,有的话需要清除。
3.19 收尾
- 【一次性】针对交换文件,修改HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management的ClearPageFileAtShutdown(DWORD)值为1,关机时将自动删除交换文件(虚拟内存swap/pagefile.sys)。内存充足的情况下,在“此电脑/计算机/我的电脑”点右键“属性”的“高级”-“性能”-“高级”-“虚拟内存”标签,设置所有驱动器都没有分页文件。
- 【定期做】针对崩溃记录,清理%SystemRoot%\Minidump的.dmp文件。
- 【定期做】用LastActivityView(http://www.nirsoft.net/utils/computer_activity_view.html)检查活动记录。有能力的可以自行检查系统事件日志,一般没有什么要清理的。
- 【定期做】某些清理过程本身也会产生新的记录,需要自己思考判断,滚动操作。
- 【定期做】系统在删除文件时,实际上仅仅对文件条目做了删除标记,从而允许文件所占据的空间能被再次利用,文件内容以及文件条目都没有被删除。做完所有上述工作后,使用CCleaner(https://www.ccleaner.com/download)、Eraser(https://eraser.heidi.ie/download/,无中文版)、Moo0 Disk Wiper(https://zhs.moo0.com/software/AntiRecovery/)、Sdelete(https://learn.microsoft.com/zh-cn/sysinternals/downloads/sdelete,仅命令行)等任何一款擦除软件通过随机数据覆盖的方式擦写以下地方:被删除文件遗留的硬盘剩余空间(free space)、现存文件的闲置空间(file slack space)、含有被删除文件目录的主文件表(MFT)、NTFS更改日志(USN Change Journal)。一两遍就够了,否则伤硬盘。首次运行前,强烈建议在一个已经备份过的小分区上测试,避免因误操作而删除整个磁盘的已有文件。固态硬盘的动态磨损均衡技术是双刃剑,一方面为数据恢复带来困难,因为硬盘经常在自动调整文件位置,另一方面无法仅仅擦除特定扇区或文件,只能擦除整个介质、降低使用寿命。具体如何,取决于硬盘本身支持怎样的擦除方式。
- 【定期做】用开头推荐的几款清理类软件以及Kickass Undelete(https://kickassundelete.sourceforge.net/,无中文版)、Recuva(https://www.ccleaner.com/recuva)、TestDisk(https://www.cgsecurity.org/wiki/%E4%B8%8B%E8%BD%BD_TestDisk,无中文版)等数据恢复软件复查清理效果。
4 高级措施
4.1 使用加密软件VeraCrypt
- 微软BitLocker、苹果FileVault之类系统级的加密通常使用XTS-AES 256位,强度不够,不支持unicode字符的密码,因此需要使用更专门的加密软件。TrueCrypt有严重漏洞,早已无人维护,但原理类似的产品总体而言仍相当可靠。需要自己在TrueCrypt项目的复刻/衍生(fork)软件(https://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software)里选一款仍有人在开发的(Maintained?是Yes)、免费的(Licensing不是Proprietary)、用的人比较多(这样网上的介绍会比较详细)、适合当前系统的软件。
- 使用方法自己找教程,其实安装包里一般也有英语的说明书,很简单,大同小异。选好以后还是要经常关注该软件有没有停止开发。例如,VeraCrypt(https://veracrypt.io/zh-cn/Downloads.html)的界面和用法几乎和TrueCrypt完全一样,好处是修补了TrueCrypt的一些漏洞,目前保持维护更新,允许不在内存里缓存密码和keyfile(TrueCrypt是缓存的,一旦开启虚拟内存就容易写入硬盘),并把头部密钥迭代次数提高至少几十倍(降低打开速度,但提升暴力攻击耗时),支持密码使用unicode字符(例如汉字、小语种等等,不过系统盘加密时输入不进去)。下载前请阅读使用说明(https://veracrypt.io/zh-cn/Documentation.html)和不同操作系统所支持的最高版本(https://veracrypt.io/zh-cn/Supported%20Operating%20Systems.html)。
- 使用最简单的功能即可,即创建标准的文件型的加密卷。初学者不要创建什么分区甚至系统分区,没有必要且容易出错、难以备份。加密算法和HASH算法随意选,这不重要,关键在于密码必须是数字、大写字母、小写字母、特殊字符构成的至少20位强健密码。密码的长度上限是UTF-8编码的64字节(TrueCrypt)或128字节(VeraCrypt),例如1个ASCII字符占1字节,1个带有附加符号的拉丁字母占2字节,1个汉字占3字节,更罕见的Unicode字符占4字节,在不突破长度上限的前提下尽量选用好记的长密码。密码长度短些也不要紧,还可以搭配一个或多个任意格式的密钥文件(keyfile),文件内容得永远不变、用二进制看也1位都不差(例如两个word文档看似内容和格式完全一致、其实文件本身也可能截然不同),即使电脑被烧了或没收了也能自己生成或从网上下载,办法很多,自己想。一定要先做几次试验,例如假装自己丢了密钥,确保万无一失后再开始正式使用。
- 平时可以通过复制的办法把伪装的加密文件整体(即未解密的状态)定期备份到U盘、移动硬盘或者邮箱、网盘。加密文件可以建好几个大小不同的,加密文件和密钥的文件名和大小要精心设计,与伪装的文件类型相匹配,尺寸填随机的KB数,不要是整十整百的KB数或以MB/GB为单位,否则更容易被识别出来。
- 把所有敏感文件都放进去,大小要规划好,不要过满。转移的过程中如果在加密盘之外打开过相关文件,需要重复之前的某些清理步骤。
- 即使做到以上几点,也有一些特征可以识别加密文件,例如:大小是512字节的整数倍,文件头无法匹配常见文件类型,文件熵最大。自我筛查某个文件夹内部所有文件的文件熵的方法是下载Sigcheck(https://learn.microsoft.com/en-us/sysinternals/downloads/sigcheck),解压到某个位置,在这个位置输入命令并注意输出清单中文件熵为8的文件:sigcheck64.exe -a -c -s 文件夹的路径 >输出清单.csv
- 可以在不同时间,按照上述步骤主动零星制作几个大大小小、后缀名各异的加密文件,内容留空,不放入任何敏感文件,作为伪装物藏在不同的“蜜罐”文件夹里,吸引注意力。
- 关注并跟上量子计算和后量子加密技术的发展,防范“先存储,后解密”(store now, decrypt later)的方法。
4.2 使用压缩软件加密
- 压缩软件能够对压缩包加密,这是在没有加密软件时的权宜做法,不能成为常态。在制作压缩包时,应当勾选“加密文件名”。例如在WinRAR中,依次点击“选项”“设置”“压缩”“压缩配置”“创建默认配置”“设置密码”“加密文件名”,今后制作压缩包时默认都会勾选“加密文件名”。在制作压缩包以后,应当擦除未压缩的原始明文文件。
- 禁止使用国内压缩软件,包括但不限于:360压缩、2345好压、快压压缩(KuaiZip)、速压压缩(SuZip)。
- 几KB大小的文本文档加密成zip/rar/7z等格式的压缩包以后,能够以“CRC32碰撞”方式快速破解。
- 部分zip格式的加密压缩包能够以“已知明文攻击”方式快速破解,但需要同时满足两个条件:第一,知道压缩包里至少一个文件在加密前的12个字节明文及其所在位置,其中至少8字节需要连续;第二,压缩时使用的加密算法是ZipCrypto Store或ZipCrypto Deflate。
- 满足第一个条件的场景例如:第一,多个文件共同制作成同一个压缩包(会使用相同的加密密钥),在加密时没有勾选“加密文件名”或者根据压缩包的文件名很容易猜出其中包含某个文件,而这个文件的完整原始明文保存在其他地方、没有被删除;第二,压缩包中至少有一个xml、html、exe、png等格式文件,而xml格式文件往往包含一段相同的、超过8字节的文件头(例如<?xml version="1.0" encoding="UTF-8"?>)以及一些规范化的、超过4字节的标签,html格式文件往往包含一段相同的、超过8字节的文件头(例如<!doctype html>)以及一些规范化的、超过4字节的标签,任何exe格式文件都包含一段相同的、位置固定的、超过12字节的内容(例如This program cannot be run in DOS mode),任何png格式文件都包含一段相同的、超过12字节的文件头;第三,把一个压缩包制作成另一个压缩包(即压缩包嵌套压缩包),知道内层压缩包的文件名且超过8个字节,而任何zip格式文件都包含一段相同的、超过4个字节的文件头。
- 满足第二个条件的场景例如:使用WinRAR压缩,压缩文件格式选择ZIP,设置密码处勾选“ZIP传统加密”;使用7-Zip压缩,压缩格式选择zip,加密算法选择ZipCrypto;使用360压缩、2345好压压缩,没有调整默认设置。
Top comments (0)