陈新中,鉴释联合创始人兼首席技术官

作为鉴释联合创始人兼首席技术官,陈新中领导鉴释在中国的核心研发团队,并负责静态代码分析工具的开发。这些工具都被开发人员、测试人员、质量保证专家和高级 IT 管理层用于深度源代码缺陷和漏洞的检测。

01 作为鉴释强大技术背后的推动力,您能简单介绍一下自己吗?

陈新中:作为一名编译器开发者,我从业已30多年。说到我在编译器方面的经历,就需要在这里先解释一下:在计算机中有两种中央处理器设计模式,一种是精简指令集,另一种是复杂指令集。精简指令集是上世纪80年代初由两位教授提出的,他们在几年前获得了计算机界的诺贝尔奖——图灵奖。美国计算机科学家John Hennessy是其中一位教授,他创立了第一个精简指令集的计算机架构。要想设计出拥有更快运行速度的计算机架构,需要很强大对编译器技术支撑。

我与鉴释的另一位联合创始人刘新铭先生,均是John Hennessey教授最初的高级开发团队的元老成员。在加入鉴释之前,我曾在英特尔清华大学联合实验室担任主管,主要研究前沿移动计算技术; 之后在担任英特尔实验室负责人期间,我则专注于嵌入式系统方向的研究; 再后来,我带领我的团队为很多五百强企业从零开发多个迭代版本的成熟软件工具。

02 鉴释的旗舰解决方案爱科识是静态应用程序安全测试(SAST)工具,那么您认为SAST和编译器技术之间的关系是什么?

陈新中:我们的工具分析处于静态状态下的源代码。换句话说,我们在软件编译和运行之前检查软件的错误。要做到这点,我们超越了编程语言的语法。它不仅是要检查源代码的"语法和拼写",而要检查系统之间的数据流。通过将编译器技术应用于我们的工具,我们模拟数据在软件中的流动方式,并检测运行时期间可能出现的问题,而不是在运行时去检测它。从本质上讲,在二进制代码之前,我们进一步向下执行从抽象语法树 (AST) 到中间表示 (IR) 级别的编译器步骤,因此我们可以看到仅在编程语言代码中看不到的流和操作。

03 鉴释将努力进一步提高其技术竞争力,并将扩展到DAST(动态应用程序安全测试)和IAST(交互式应用程序安全测试)领域。 主要的技术升级和挑战是什么?

陈新中:IAST 代表交互式应用程序安全测试。另一种测试技术是动态应用程序安全测试 (DAST),它是目前使用最广泛的安全测试技术之一,用于在编译代码后再运行时检查软件。IAST 结合了 SAST 和 DAST 的元素,并在应用程序内部进行分析。它可以在执行应用程序功能测试时完成安全测试,具有精度高、误报率低的优点。

现有的编程语言可被分为两种,一种是我们可以在其运行时就非常快速地对其进行分析并生成结果的C语言,C++,Java,Python等,另一种则是JavaScript等动态语言,它们具有无法在运行时进行分析的语言特征。

一旦我们想要支持JavaScript这样的动态语言,我们首先要扩大研究范围,增加对程序进行分析的时间,但总会有一些直到运行时才能进行分析的代码。这也是IAST和DAST被使用的原因。对于我们没有在运行时分析的静态信息,我们可以在运行时确定输入的内容实际上可能来自外部,或者在运行时可能会生成一些数据,从而改变了程序流。 因此,我们必须进行注释,从状态时间到动态时间的协作分析实际上是最好的方法。如果我们只在运行时使用IAST或DAST进行分析,我们最终会在程序运行时花费大量时间进行分析,很多时候会改变程序本身。

04 作为一个非常有经验的编译器和技术专家,您在研发过程中遇到过瓶颈吗?

陈新中:总会有未解决的问题的。10多年来有一个问题一直在我脑海里,那就是跨文件分析问题。这是一个真正的挑战,但幸运的是,我们能够用爱科识解决这个问题。利用我们的新算法,我们可以跨程序甚至跨文件分析程序。即使软件这时处于静态,我们也能够大致分析它在运行状态下的行为。例如,爱科识可以静态分析那些通常在运行时需要输入的程序流。

另一个主要问题就是我们如何应用业务逻辑验证。这不是编译器或语言问题。我们面临的挑战是,我们如何满足公司业务重点所需的特定业务逻辑。例如,访问者在电子商务网站上结账时必须遵守的事件序列。这就是精确和自定义规则基础的用法。我们可以通过符号框架对副作用进行建模和分析用户定义的规则。

05 鉴释未来一年主要关注的行业是哪些?

陈新中:现在,我们正专注于嵌入式市场。现在在中国乃至整个世界,人工智能芯片设计正变得非常流行,有很多初创企业如雨后春笋般涌现。我们发现他们在程序分析、编译和性能优化方面正面临着许多挑战。我们希望能够为他们提供帮助,这就是我们创立鉴释的初衷。

除了人工智能,另一个我们感兴趣的是领域是物联网。现在有很多智能设备问世,比如智能音箱与智能笔。这些小型智能设备问世,使得企业信息安全面临着新的挑战。一旦使用了来路不明的智能设备,企业信息就面临被泄露的巨大风险,企业动向也可能被不法分子在暗中监视。

06 您觉得一个优秀的程序员需要具备哪些特质?

陈新中:能让事情变得简单实际上是一种非常厉害的能力。优秀的程序员能把复杂事情简化进而达成目标,把事情做得又快又好。那些能让事情变得简单的人,是愿意花时间来解决困难的问题。这样也能帮助企业更好的发现真正面临的核心问题。我认为分析和推理能力对于任何程序员或工程师来说都是非常好的特质。我们欢迎有这种思维模式的人加入鉴释团队,一起成长。


点击了解更多鉴释产品及资讯!

鉴释人物丨专访首席技术官陈新中:三十年磨一“鉴”, 打造静态代码分析行业标杆相关推荐

  1. 大咖丨昆仑数据陈晨:工业大数据真正要做的是智能分析和智能决策

    "真正的大数据不是有了数据,把这些数据接入之后存起来就可以了,真正要做的事情是智能分析和智能决策,通过在两化融合的基础上构建的智能分析优化系统"工业大脑",进行相应的智能 ...

  2. 专访丨兼容国内外市场的代码分析软件,鉴释科技帮助企业减少bug发生率

    2021年4月19日上午11时25分左右,特斯拉展台里一女士站上Model 3车顶,连续高喊:"特斯拉刹车失灵!"引发社会热议.4月19日当日美股收盘,特斯拉股价下跌3.4%,报7 ...

  3. 鉴释科技核心技术宣布开源

    来源 | 鉴释科技 2022 年 4 月,在鉴释成立 4 周年之际,我们根据承诺开源了基于 Open64 编译器项目的静态代码分析工具.我们很高兴地宣布我们已经履行了承诺.不仅如此,我们还在源代码发布 ...

  4. 鉴释×中科院计算所丨OS2ATC 2020精彩回顾

    OS2ATC 2020开源操作系统年度技术会议 2020年12月27日,由中国科学院计算研究所主办,清华大学.上海交通大学以及鉴释科技承办的第八届开源操作系统年度技术会议(OS2ATC)在北京正式拉开 ...

  5. 陈新宇:CKafka在人脸识别PAAS中的应用

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云+社区,未经许可,不得转载. 我叫陈新宇,在格灵深瞳负责数据流的研发,首先特别感谢如今老师,他们把Kafka一个优秀的消息中间件 ...

  6. 云享·人物丨造梦、探梦、筑梦,三位开发者在华为云上的寻梦之旅

    摘要:走近华为云开发者日HDC.Cloud Day,看三位特别的开发者用技术改变世界,用创造力让生活更美好. 本文分享自华为云社区<云享·人物丨造梦.探梦.筑梦,三位开发者在华为云上的寻梦之旅& ...

  7. 专访泛境科技:如何借助3DCAT实时云渲染打造元宇宙解决方案

    随着5G.VR/AR等技术的发展,元宇宙(Metaverse)这一概念越来越受到关注.元宇宙是一个由虚拟世界构成的网络空间,其中人们可以通过数字化的身份和形象进行各种社交.娱乐.创作和商业活动.元宇宙 ...

  8. 德勤全球AI发展白皮书:八大新趋势+三个关键技术

    关注ITValue,看企业级最新鲜.最具价值报道! 图片来源@视觉中国 | 文章来源@世界人工智能大会  | 前沿导读:目前AI已在金融.医疗.安防等多个领域实现技术落地,且应用场景也愈来愈丰富,正在 ...

  9. 塔望3W消费战略全案丨绿力冬瓜茶 三十年饮料老品牌,两年复兴战全国

    绿力 冬瓜茶 客户:台湾味丹食品 上海皇品食品有限公司 品牌:绿力 服务:3W消费战略 绿力冬瓜茶品牌全案 (2019.2020.2021.2022年度全案) 项目背景 1992年台湾味丹食品建立上海 ...

最新文章

  1. Lua之Lua安装与Lua变量-TTLSA(一)
  2. 企业信息化的创新与出路
  3. python教程是什么-python运行环境是什么
  4. 美国司法部将对大型科技公司展开广泛、新的反垄断审查
  5. linux下的科学软件下载,十分科学app-十分科学官网版下载v1.4.3-Linux公社
  6. 家庭NAS搭建实战之samba共享
  7. 同一台服务器,mysql登录不了指定端口的问题
  8. 计算机制图学什么,计算机制图
  9. 用python写个程序送给女朋友_如和用python给女朋友做个专属她的软件
  10. unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况
  11. Python学习记录——函数
  12. Linq 三表 left join 的实现
  13. ORA-00257: 归档程序错误。在释放之前仅限于内部连接
  14. 如何有效地刷算法题?
  15. 天锐绿盾防泄密软件6.0新版本功能已优化!!!
  16. Multisim14安装教程(下载链接在文末)
  17. SyncToy 文件同步工具的定时同步方案(不使用第三方软件)
  18. 计算机wmi配置错误,系统没有WMI服务、WMI错误修复办法
  19. 商汤面试题android,商汤面试经验
  20. [Android]Android FTP Server

热门文章

  1. 写一个函数,输入一个十六进制数,输出相应的十进制数。
  2. 屏幕适配中的dip与px之间的转化
  3. 解决IDEA插件使用Lombok找不到符号问题
  4. 为什么动态链接.dll和.lib都需要(详解静、动态链接库)
  5. 微信扫描识别少有人知,纸质文件秒变电子档,学习办公的好帮手
  6. go 自动文档生成 如何写高大上的 godoc(Go 文档)
  7. 个人题库--不怕万人阻挡,就怕自己投降
  8. Python Kmeans K均值分类
  9. Blob 接收 Excel 损坏
  10. Ubuntu18.04 fcitx搜狗拼音输入法候选栏英文乱码