文档介绍:软件研发或嵌入式研发行业,其核心部分往往就是源代码,如何做好源代码的管理至关重要。根据软件研发或嵌入式研发行业的从业者现状,总结出研发从业人员有以下特点: ,都非常聪明,非常懂电脑。 ,甚至可以通过写程序,进行各种数据变形。例如:文件读写(输出日志)、 socket 通信、内存映射,常驻服务等, 对于 Web 开发者,经由 IIS 或 TomCat 等 web 服务器的代码变形更是轻而易举。 ,比较难管理而我们软件研发或嵌入式行业特点要求必须对研发成果—源代码进行安全管理。但是现实的工作必须环境特点为:1、大家必须有局域网,才能协同工作; 2、需要能访问互联网,方便查找资料; 3、必须通过 U口串口网口等端口连接外部设备进行调试。对于一些企业有的采用物理隔离,有的上虚拟化,有的上文档级加密软件, 监控软件基本上都是形同虚设。例如常见的物理隔离,就是网络和外网断开,然后禁止使用 U盘(软件或机箱),看上起很美好,但是对于懂电脑的研发人员来说,影响了工作效率,还是无法达到安全。对于软件禁止 U盘的,搞个 U盘 PE ,然后直接从 U盘启动绕开操作系统的管控做任何事。插拔墙上的网线头直连自己的笔记本电脑进行数据传输。对于不能封 U口/串口的嵌入式调试环境更简单,直接可以把数据通过 U口串口写出来。……另外,对于虚拟化,所有数在服务器端,看上去很完美,但是只要外网可用, 外设可用,基本上没什么安全可言。作为一个软件嵌入式研发公司的信息安全管理者,应该如何呢? 我们先了解一下,嵌入式开发的特性: (1)连接外设,联网调试手机品种繁多,不可能做到针对每种设备类型、品牌的兼容; 网口调试时,调试地址不断变更,无法锁定具体调试位置,数据很容易泄密; 数据不能以密文形式烧录至设备,否则设备无法识别,但这样往往最容易造成数据外泄。(2)开发者水平较高,会各种破解一个代码开发人员,可以轻松写一个把代码输出到日志或 control 的程序, 类似这种研发场景还有研发设计人员自编 socket ,内存,管道, com , web 解析器发布中转,内存映射,常驻服务等至少 30 多种。(3)数据被各种变形,渗透外发改变文件名称、后缀,压缩起来,跟随项目一起打包,很容易流失。目前,市场上比较流行几种防泄密手段,均是从外表看来可以满足需求,但终究无法做到真正的防泄密。 1、内外网隔离将涉密数据存储在公司内网,内网不允许连接互联网,看似数据只能保存在公司里,但任然有很多其他泄密风险,比如外设接口拷贝数据;重装 OS 时, U 盘 PE 绕开操作系统的管控从 WinPE 中拷贝数据;外带电脑直连内网中任意一台 PC 机,数据对拷。也有人说直接将外设接口全部封掉,用一个铁箱子将电脑机箱锁起来。这样虽然是保障了机箱数据安全,但是不便连接需要外设调试的设备,而且对于开发人员来说,互联网是不可缺少的查资料资源,如果另外配备查资料的电脑,再加上之前的铁箱子成本,也是不小的开销。 2、虚拟化虚拟化在最近几年越来越热,优点也越来越被人们发觉,比如减少服务器数量、简化服务器部署、提高服务器资源利用率等等。但是将虚拟化与数据安全(防泄密)扯到一起,未免有些牵强。牵强在哪里,简单总结一下,就是通过互联网泄密和外设接口数据传输。而且,虚拟化的软