(本文首发于 知乎

涉及机密信息的公司,一般会划分为低密区、中密区、高密区:

  • 低密区:对于图像流、视频流、信息流,具有一定的泄露检测和溯源能力;
  • 中密区:对于图像流、视频流、信息流,具有一定的事前泄露阻断和检测能力,具有很强的事后泄露溯源能力;
  • 高密区:对于图像流、视频流、信息流,具有很强的事前泄露阻断能力。

高密区是最简单的,物理隔离,门口放上安检仪,手机、U 盘等电子设备都不允许带进去。

中密区和低密区是比较困难的,因为里面的办公电脑能上外网,手机也能带进办公室。以下从泄露阻断、泄露检测和泄露溯源几个维度来讲怎么维护信息安全。泄露阻断是指让数据泄漏不出去,泄露检测是在数据泄露可能发生的时候能够发现并上报,泄露溯源是指数据已经泄露的时候能够追查到是谁泄露出去的。

目前已经有很多公司专门做此类解决方案,以下是一些具体技术。

泄露阻断

PC / 笔记本电脑

必须使用公司的 PC 或笔记本电脑访问公司网络,这些电脑在软件、硬件上都做了信息安全加固,设备上贴封条禁止私自拆机,禁止使用个人设备访问公司网络(手机的处理见下一节)。

公司无线网络仅允许低密级设备接入,并且通过 MAC 地址和密码学握手协议双重认证,避免外部设备接入。

公司有线网络可以允许低中高密级设备接入,但网络接口上要贴物理封条,禁止私自接入非公司网络。

低密区、中密区、高密区的网络物理隔离,中间要传输数据必须通过指定的跳板服务器,从密级高的区域往密级低的区域传输数据,需要经过人工审查且有日志。禁止传输加密文档等资料。

通过驱动,禁止使用 U 盘、无线网卡等有存储和传输数据功能的设备。

公司内外网隔离,上外网必须通过指定的 HTTP Proxy。预装网络过滤设备的 HTTPS 根证书,访问 HTTPS 网站时网络过滤设备替换成自己签发的证书,从而实现中间人攻击,解密 HTTPS 访问内容。

HTTP Proxy 封锁网盘、电子邮件等网站,禁止超过一定大小的 HTTP 请求,避免无意上传文件到外网。

禁止安装非标操作系统和虚拟机,防止绕过驱动监测。

高密级文件利用 Office 的权限管理功能,禁止截屏、打印、复制等。

手机

要使用公司 App,必须授予手机系统最高权限。拒绝在 root 过的手机上运行。

公司 App 内部禁止截屏。

公司 App 内部的文件不下载到本地,不能通过其他 App 打开。

泄露检测

在文件系统中加入内核钩子,监控文件系统操作,对非标程序访问文档类文件(特别是高密级文档)、修改文件扩展名等尝试绕过安全机制的高危操作予以告警。

HTTP Proxy 流量监控,对短时间内产生大量 HTTP 请求,或者 HTTP 请求(不含响应)总数据量过大的情况予以告警。HTTP Proxy 对外网流量内容进行分析,如果其中存在代码、文档类文件的特征,则予以告警。

Office 软件中安装钩子,记录文档类文件的打开时间、翻页频率等。对短时间内打开大量文档,或者翻页频率较为固定的情况予以告警,有可能是正在拍照。

显示器上通过显卡驱动或硬件芯片的方式添加数字盲水印,公司手机 App、打印机添加数字盲水印,盲水印最好在频域中,能够在图片旋转、缩放、裁剪、压缩、对屏幕拍照、投影后拍照后仍然能够复原水印内容。这在电影防盗版行业已经很成熟地应用了。

公司 App 监控最近添加的图片,如果发现数字盲水印,则说明存在对屏幕或打印件拍照的情况。

扬声器添加数字盲水印,最好在频域中,能够根据录音复原水印内容。

对短时间内打印大量文档,或者打印高密级文档的情况予以告警。

在笔记本和 PC 显示器中安装专用硬件,基于镜头的凸透镜有物理反光折射的原理,专用硬件发出不可见光,如果存在偷拍设备,镜头反射不可见光至监测器,收到高光,则告警。

在 PC 和笔记本中安装专用硬件,检测相机拍照时发射的电磁波、超声波特征。摄像头成像依赖于时钟逐行逐像素扫描,时钟工作时会产生甚低频(ELF)电磁波。但这种方法误报率高,相机没有对着屏幕拍照也会误报。

利用笔记本摄像头,检测正对摄像头的相机、手机等物体。但捂住摄像头就没用了,并且实时图像识别的算力开销较高。

对在非常用设备上登录他人账号的情况予以告警。

采用社会工程学方法,鼓励员工互相举报。例如,在飞机上用传统胶卷相机对笔记本上的文档拍照,如果堵住了摄像头和检测镜头的不可见光发射硬件,并且量比较小,没有触发文档访问量或翻页频率的告警,那么是很难发现的。但是同飞机可能刚好有其他员工,可能发现这种行为。或者有人把带有公司保密信息的照片发到了外部群里,被其他员工看到,也可以举报,进而通过数字盲水印定位到泄露源。

采用社会工程学方法,通过第三方渠道尝试购买或获取公司泄露的数据,如果偷走了数据的人尝试把数据卖掉,就可能被发现。

泄露溯源

前面 “泄露检测” 一节的数字盲水印包含用户信息,可以定位到数据的泄露源。

在显卡驱动中加入内核钩子,定时截取屏幕内容并上报到服务器以备日后审计。安全人员可以随时抽查屏幕截图或监控屏幕实时内容。

通过文件系统的内核钩子,记录文件系统的访问日志并上传。记录程序的运行日志并上传。

对 HTTP Proxy 所传输的内容进行记录。通过网络协议栈中的钩子对访问 HTTP Proxy 的程序进行记录,重点记录浏览器以外的非标程序产生的外网流量。

如果通过 “泄露检测” 一节中的方法检测到异常行为、异常流量,可以结合屏幕截图或录像、文件系统访问记录、程序运行记录、HTTP Proxy 传输记录,人工审核是否存在对屏幕拍照、用非标程序 “洗白” 机密文件、上传机密文件到网络等行为。

不能解决的问题

事实上,上述方法也只能以一定的概率发现拍照、网络上传机密文件等行为。有可能做一次没被抓住,但是做多次,被抓住的概率就会大大提高。很多人一开始只是尝试一下,没被抓住,就有了侥幸心理,上面的很多泄露检测方法都是基于大数据的,量大了就容易发现异常。

上述方法最难防御的问题,一是手抄,二是脑子记。

不过不管是手抄还是脑子记,都很难泄露大量的信息,至少几百万行代码是不可能手抄出去的。而且仍然有被社会工程学方法发现的可能性。

对于特别机密的信息,每个人看到的文档内容在排版格式、内容细节或具体数字上有细微的差距,或者直接采用口口相传的方式传达,这样即使是手抄或者脑子记,都能溯源。这也是情报工作的常见套路,每个人掌握的信息都不完全一样。

杜绝通过网络和 U 盘泄密,就已经堵住了泄露信息最快的方式。能够以较高概率发现大量拍照的行为,也就堵住了泄露信息次快的方式。公司信息安全的关键就是防止一个人把整个产品的全套代码、文档搞出去。

Comments