构造安全、高效的系统软件 ——系统软件与软件安全实验室简介 报告人:冯新宇 研究背景 • 处理能力越来越强 • 多核、众核、GPU … • 应用的日益多样化 • 网络、云计算、大数据、移动计算 … • 安全性需求越来越高 • 电子支付、医疗、无人驾驶汽车、航空航天、核电… Heartbleed: SSL buffer overflow bug.

Download Report

Transcript 构造安全、高效的系统软件 ——系统软件与软件安全实验室简介 报告人:冯新宇 研究背景 • 处理能力越来越强 • 多核、众核、GPU … • 应用的日益多样化 • 网络、云计算、大数据、移动计算 … • 安全性需求越来越高 • 电子支付、医疗、无人驾驶汽车、航空航天、核电… Heartbleed: SSL buffer overflow bug.

构造安全、高效的系统软件
——系统软件与软件安全实验室简介
报告人:冯新宇
研究背景
• 处理能力越来越强
• 多核、众核、GPU …
• 应用的日益多样化
• 网络、云计算、大数据、移动计算 …
• 安全性需求越来越高
• 电子支付、医疗、无人驾驶汽车、航空航天、核电…
Heartbleed: SSL
buffer overflow bug
研究背景(二)
• 系统软件:软件系统的核心
• 操作系统、虚拟机、程序设计语言和编译器、数据
库、网络软件、设备驱动等
• 几乎所有的应用都离不开系统软件的支持
研究方向
• 如何算的“快”?
• 如何充分利用多核(众核)计算资源,解决计算问题?
• 新的算法、操作系统、编程语言和模型等
• 如何算的“对”?
• 软件的正确性、可靠性、安全性等
• 高可信软件:如何开发没有bug的软件?
• 如何服务于新兴的计算需求?
• 如何从性能和可靠性两个方面为新兴应用提供支持?
• 应用:嵌入式和移动系统、网络、云计算、大数据
研究团队
邵中(耶鲁)
张昱
冯新宇
郭宇
华蓓
梁红瑾
李兆鹏
陈意云
付明
面向多核的
新型操作系统和程序语言
多核计算:主要挑战
7x
Speedup
1.8x
3.6x
User code
Traditional
Uniprocessor
Time: Moore’s law
多核计算:主要挑战
7x
Speedup
1.8x
3.6x
User code
Multicore
Unfortunately, not so simple…
多核计算:主要挑战
Speedup
1.8x
2x
User code
Multicore
Parallelization and Synchronization
require great care…
2.9x
多核计算:主要挑战
• 并发程序开发及正确性
• 大量的不确定性
• 难以编程、易出错、难测试/调试
多核计算:主要课题
• 确定性并行编程模型和操作系统
• 确定性操作系统Dlinux
• 确定性共享虚存模型: 不同读写特征的内存区域
• 只读、单生产者-多消费者模型、DiffMerge
• 进程/线程的动态管理、I/O的确定性并行
• 确定性并行
编程模型
张昱
多核计算:主要课题
• 程序分析与变换技术及工具
• 针对C/Java/JavaScript/Android等应用程序
• 发现程序错误,理解程序行为,提高程序性能
• 集中于内存使用和并发控制方面
张昱
• Java虚拟机(Apache Harmony)上即时编译器辅助的垃
圾收集
• C函数调用图构建工具
• 代码段分离工具
多核计算:主要课题
• 并发算法正确性的验证
• 栈、队列、集合等并发对象的验证
• 部分算法来自于java.util.concurrency包
冯新宇
• 并发垃圾收集算法的验证
• 算法在Java虚拟中使用
• 发现了外科手术机器人控制程序中并发算法的bug
网络与多核计算
网络与多核计算:主要挑战
• 传统网络设备
• 基于特定应用和需求,通过思科、
华为等厂商定制各种各样的盒子
• 问题
• 周期长,成本高
• 无法适应日益多样化的集群和网络结构、应用需求等
• 数据中心、云平台等
• 解决方案
• 通用服务器 + 编程 来取代 “定制盒子”
• 高效算法和服务器、软件定义网络、网络功能虚拟化
网络与多核计算:主要课题
• 基于多核/众核处理器的高速网络算法/系统
• 基本思路
• 利用通用多核服务器构建高速网络系统
• 研究突破网络系统瓶颈的关键技术
• 基于多核服务器的
高速网络流量监视系统
• 可支持10Gbps链路速度和
几百万TCP连接规模
• 由合作企业完成成果转化
• 基于GPU的算法加速
• 异常检测,数据压缩,数据流加密,......
华蓓
网络与多核计算:主要课题
• 软件定义网络(SDN)和网络功能虚拟化(NFV)
• 网络领域最热门的研究方向
• 软件实现网络功能,无需“定制盒子”
• 课题:高性能NFV平台
• 课题:SDN辅助的流量迁移
• 课题:SDN的程序语言支持
华蓓
冯新宇
软件安全
软件安全:需求与挑战
• 电子商务和移动支付
• 安全攸关/任务攸关系统
软件安全:需求与挑战
• 电子商务和移动支付
• 安全攸关/任务攸关系统
• 如何发现系统中的缺陷和安全漏洞、
如何严格保证系统的可靠性、正确性和安全性?
• 新的研究热点
用形式化验证技术严格证明底层操作系统
不会崩溃
防崩溃代码
(Crash-Proof Code)
软件安全:主要课题
• 安卓系统隐私泄露漏洞检测
• 发现隐私泄露漏洞并阻止
• 代码检查+ 动态监控
• 实用工具开发
冯新宇
软件安全:主要课题
• 实时嵌入式操作系统uC/OS-II内核的验证
• 使用数学工具,证明系统的安全性、正确性等 冯新宇
• 约6000行代码
• 满足安全攸关/任务攸关需求
Parrot Drone
软件安全:主要课题
• CertiKOS虚拟机(Hypervisor)的验证
• 将CertiKOS部署在
无人驾驶汽车(LandShark)上
• 项目进行中
Zhong Shao
(耶鲁)
软件安全:主要课题
• C程序安全和可靠性分析和验证工具、
可信编译等
• C程序的自动分析、验证
• 编译后自动生成关于二进制程序的证明
• 无需相信编译器的正确性
陈意云
研究团队
邵中(耶鲁)
张昱
冯新宇
郭宇
华蓓
梁红瑾
李兆鹏
陈意云
付明
基础研究为主
主要平台
交换学生、
教师互访等
中国科大-耶鲁高可信
软件联合研究中心
系统软件与软件
安全实验室
耶鲁方合作者:
卲中
Richard
Yang
主要平台
基础研究与产业化相结合
系统软件与软件
安全实验室
科大提供技术,国创提供资
金(1000万)和市场需求
中国科大-国创高可信
软件工程中心
主要平台
中国科大-耶鲁高可信
软件联合研究中心
系统软件与软件
安全实验室
中国科大-国创高可信
软件工程中心
加入我们的5点原因
• 选择最基础,同时又最热门的研究方向
• 多核、软件定义网络(SDN)、软件安全、
防崩溃代码等
• 理论问题和现实需求相结合
• 良好的就业前景
• 毕业生去向——企业:微软、Intel、思科、华为、BAT等
• 毕业生去向——高校、科研院所:留校、深圳先进技术研
究院等
加入我们的5点原因
• 选择最基础,同时又最热门的研究方向
• 站在领域最前沿,从事国际一流的研究
• 我们的多项研究处于国际领先地位
• 邵中:近年来Certified Software概念的主要倡导者之
一 [CACM 2010]
防崩溃代码的主要
MIT出版的Technology Review对十大新兴
研究人员
技术之一——防崩溃代码的报道
加入我们的5点原因
• 选择最基础,同时又最热门的研究方向
• 站在领域最前沿,从事国际一流的研究
• 我们的多项研究处于国际领先地位
• 邵中:近年来Certified Software概念的主要倡导者之一
[CACM 2010]
• 冯新宇和邵中被列为国际上防崩溃代码的主要研究人员
• 多篇顶级期刊和会议文章
•
•
•
•
TOPLAS、POPL、PLDI、PPoPP、SIGCOMM
PPoPP’06:国内首篇
POPL’12:国内首篇
ACM TOPLAS:国内第二篇
并发算法验证:程碑式的工作
加入我们的5点原因
• 选择最基础,同时又最热门的研究方向
• 站在领域最前沿,从事国际一流的研究
• 广泛的国际交流机会
• 博士生4年级去耶鲁大学访问1-2年
• 目前已有10名研究生访问耶鲁
• 也很容易建立跟其他学校的交流
加入我们的5点原因
• 选择最基础,同时又最热门的研究方向
• 站在领域最前沿,从事国际一流的研究
• 广泛的国际交流机会
• 广阔的发挥个人兴趣的空间
• 两个研究/工程中心:
提供基础研究和应用型研究的选择
• 充分尊重学生自己的想法和思路
加入我们的5点原因
• 选择最基础,同时又最热门的研究方向
• 站在领域最前沿,从事国际一流的研究
• 广泛的国际交流机会
• 广阔的发挥个人兴趣的空间
• 良好的学习和生活环境
• 合肥和苏州,可以选择
欢迎你们的加入!
• 跟我们联系:
•
•
•
•
冯新宇:[email protected] , 15895437185
华蓓: [email protected] , 18056028579
张昱: [email protected], 13866131689
邵中/陈意云:[email protected], 13866750058
谢 谢!
研究团队
邵中(耶鲁)

梁红瑾
郭宇

华蓓
陈意云


张昱

冯新宇

李兆鹏
付明
已退休(不单独招
生),继续科研
研究团队
卲中(耶鲁)
我校大师讲习教授,
张昱
有招生名额
冯新宇
华蓓
郭宇
陈意
云
梁红瑾
多核计算:主要挑战
• 并发程序开发及正确性
• 大量的不确定性
• 难以编程、易出错、难测试/调试
• 计算资源的充分利用
• 并行化:如何把任务分配到
不同的处理器上?
如何有效协调存在
依赖关系的任务?
• Cache对性能的影响?
CPU 和 GPU 的协同?