1.什么是IP欺骗
2.Rakuten Mobile和NEC如何共同开发并计划部署SA 5G核心网络?
3.Eclipse RCP技术内幕内容简介
4.新能源汽车整车控制器VCU 硬件在环(HiL)仿真测试方案——干货分享
5.Eclipse RCP深入浅出目录
什么是IP欺骗
IP欺骗的技术比较复杂,不是简单地照猫画老虎就能掌握,但作为
常规攻击手段,有必要理解其原理,至少有利于自己的安全防范,
易守难攻嘛。波段画线公式源码
假设B上的客户运行rlogin与A上的rlogind通信:
1. B发送带有SYN标志的数据段通知A需要建立TCP连接。并将TCP
报头中的sequence number设置成自己本次连接的初始值ISN。
2. A回传给B一个带有SYS+ACK标志的数据段,告之自己的ISN,并
确认B发送来的第一个数据段,将acknowledge number设置成
B的ISN+1。
3. B确认收到的A的数据段,将acknowledge number设置成A的
ISN+1。
B ---- SYN ----> A
B <---- SYN+ACK A
B ---- ACK ----> A
TCP使用的sequence number是一个位的计数器,从0-。
TCP为每一个连接选择一个初始序号ISN,为了防止因为延迟、重传
等扰乱三次握手,ISN不能随便选取,不同系统有不同算法。理解
TCP如何分配ISN以及ISN随时间变化的规律,对于成功地进行IP欺
骗攻击很重要。
基于远程过程调用RPC的命令,比如rlogin、rcp、rsh等等,根据
/etc/hosts.equiv以及$HOME/.rhosts文件进行安全校验,其实质
是仅仅根据信源IP地址进行用户身份确认,以便允许或拒绝用户
RPC。关于上述两个文件请man,不喜欢看英文就去Unix版看看我
以前灌过的一瓢水。
IP欺骗攻击的描述:
1. 假设Z企图攻击A,而A信任B,所谓信任指/etc/hosts.equiv
和$HOME/.rhosts中有相关设置。注意,如何才能知道A信任
B呢?没有什么确切的办法。我的建议就是平时注意搜集蛛丝
马迹,厚积薄发。一次成功的攻击其实主要不是因为技术上
的高明,而是因为信息搜集的广泛翔实。动用了自以为很有
成就感的技术,却不比人家酒桌上的巧妙提问,攻击只以成
功为终极目标,不在乎手段。
2. 假设Z已经知道了被信任的B,应该想办法使B的网络功能暂时
瘫痪,以免对攻击造成干扰。著名的SYN flood常常是一次
IP欺骗攻击的前奏。请看一个并发服务器的框架:
int initsockid, newsockid;
if ((initsockid = socket(...)) <0) {
error("can''t create socket");
}
if (bind(initsockid, ...) <0) {
error("bind error");
}
if (listen(initsockid, 5) <0) {
error("listen error");
}
for (;;) {
newsockid = accept(initsockid, ...); /* 阻塞 */
if (newsockid <0) {
error("accept error");
}
if (fork() == 0) { /* 子进程 */
close(initsockid);
do(newsockid); /* 处理客户方请求 */
exit(0);
}
close(newsockid);
}
listen函数中第二个参数是5,意思是在initsockid上允许的
最大连接请求数目。如果某个时刻initsockid上的安卓setwidth源码连接请求数
目已经达到5,后续到达initsockid的连接请求将被TCP丢弃。
注意一旦连接通过三次握手建立完成,accept调用已经处理这
个连接,则TCP连接请求队列空出一个位置。所以这个5不是指
initsockid上只能接受5个连接请求。SYN flood正是一种
Denial of Service,导致B的网络功能暂 碧被尽?nbsp;
Z向B发送多个带有SYN标志的数据段请求连接,注意将信源IP
地址换成一个不存在的主机X;B向子虚乌有的X发送SYN+ACK
数据段,但没有任何来自X的ACK出现。B的IP层会报告B的
TCP层,X不可达,但B的TCP层对此不予理睬,认为只是暂时的。
于是B在这个initsockid上再也不能接收正常的连接请求。
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
Z(X) ---- SYN ----> B
......
X <---- SYN+ACK B
X <---- SYN+ACK B
X <---- SYN+ACK B
X <---- SYN+ACK B
X <---- SYN+ACK B
......
作者认为这样就使得B网络功能暂时瘫痪,可我觉得好象不对头。
因为B虽然在initsockid上无法接收TCP连接请求,但可以在
another initsockid上接收,这种SYN flood应该只对特定的
服务(端口),不应该影响到全局。当然如果不断地发送连接请
求,就和用ping发洪水包一个道理,使得B的TCP/IP忙于处理
负载增大。至于SYN flood,回头有机会我单独灌一瓢有关DoS
的。如何使B的网络功能暂 碧被居 很多办法,根据具体情况而
定,不再赘述。
3. Z必须确定A当前的ISN。首先连向端口(SMTP是没有安全校验
机制的),与1中类似,不过这次需要记录A的ISN,以及Z到A的
大致的RTT(round trip time)。这个步骤要重复多次以便求出
RTT的平均值。现在Z知道了A的ISN基值和增加规律(比如每秒增
加,每次连接增加),也知道了从Z到A需要RTT/2
的时间。必须立即进入攻击,否则在这之间有其他主机与A连接,
ISN将比预料的多出。
4. Z向A发送带有SYN标志的数据段请求连接,只是信源IP改成了
B,注意是针对TCP端口(rlogin)。A向B回送SYN+ACK数据段,
B已经无法响应(凭什么?按照作者在2中所说,估计还达不到
这个效果,因为Z必然要模仿B发起connect调用,connect调用
会完成全相关,自动指定本地socket地址和端口,可事实上
B很可能并没有这样一个端口等待接收数据。除非Z模仿B发起
连接请求时打破常规,jdk源码学习指导主动在客户端调用bind函数,明确完成
全相关,这样必然知道A会向B的某个端口回送,在2中也针对
这个端口攻击B。可是如果这样,完全不用攻击B,bind的时候
指定一个B上根本不存在的端口即可。我也是想了又想,还没来
得及看看老外的源代码,不妥之处有待商榷。总之,觉得作者
好象在蒙我们,他自己也没有实践成功过吧。),B的TCP层只是
简单地丢弃A的回送数据段。
5. Z暂停一小会儿,让A有足够时间发送SYN+ACK,因为Z看不到这
个包。然后Z再次伪装成B向A发送ACK,此时发送的数据段带有
Z预测的A的ISN+1。如果预测准确,连接建立,数据传送开始。
问题在于即使连接建立,A仍然会向B发送数据,而不是Z,Z
仍然无法看到A发往B的数据段,Z必须蒙着头按照rlogin协议
标准假冒B向A发送类似 "cat + + >> ~/.rhosts" 这样的命令,
于是攻击完成。如果预测不准确,A将发送一个带有RST标志的
数据段异常终止连接,Z只有从头再来。
Z(B) ---- SYN ----> A
B <---- SYN+ACK A
Z(B) ---- ACK ----> A
Z(B) ---- PSH ----> A
......
6. IP欺骗攻击利用了RPC服务器仅仅依赖于信源IP地址进行安全
校验的特性,建议阅读rlogind的源代码。攻击最困难的地方
在于预测A的ISN。作者认为攻击难度虽然大,但成功的可能性
也很大,不是很理解,似乎有点矛盾。考虑这种情况,入侵者
控制了一台由A到B之间的路由器,假设Z就是这台路由器,
那么A回送到B的数据段,现在Z是可以看到的,显然攻击难度
骤然下降了许多。否则Z必须精确地预见可能从A发往B的信息,
以及A期待来自B的什么应答信息,这要求攻击者对协议本身相
当熟悉。同时需要明白,这种攻击根本不可能在交互状态下完
成,必须写程序完成。麻将源码设置教程当然在准备阶段可以用netxray之类的
工具进行协议分析。
7. 如果Z不是路由器,能否考虑组合使用ICMP重定向以及ARP欺骗
等技术?没有仔细分析过,只是随便猜测而已。并且与A、B、
Z之间具体的网络拓扑有密切关系,在某些情况下显然大幅度
降低了攻击难度。注意IP欺骗攻击理论上是从广域网上发起的,
不局限于局域网,这也正是这种攻击的魅力所在。利用IP欺骗
攻击得到一个A上的shell,对于许多高级入侵者,得到目标主
机的shell,离root权限就不远了,最容易想到的当然是接下来
进行buffer overflow攻击。
8. 也许有人要问,为什么Z不能直接把自己的IP设置成B的?这个
问题很不好回答,要具体分析网络拓扑,当然也存在ARP冲突、
出不了网关等问题。那么在IP欺骗攻击过程中是否存在ARP冲突
问题。回想我前面贴过的ARP欺骗攻击,如果B的ARP Cache没有
受到影响,就不会出现ARP冲突。如果Z向A发送数据段时,企图
解析A的MAC地址或者路由器的MAC地址,必然会发送ARP请求包,
但这个ARP请求包中源IP以及源MAC都是Z的,自然不会引起ARP冲
突。而ARP Cache只会被ARP包改变,不受IP包的影响,所以可以
肯定地说,IP欺骗攻击过程中不存在ARP冲突。相反,如果Z修改
了自己的IP,这种ARP冲突就有可能出现,示具体情况而言。攻
击中连带B一起攻击了,其目的无非是防止B干扰了攻击过程,
如果B本身已经down掉,那是再好不过(是吗?)。
9. fakeip曾经沸沸扬扬了一下,我对之进行端口扫描,发现其tcp端
口是接收入连接的。和IP欺骗等没有直接联系,和安全校验是
有关系的。当然,这个东西并不如其名所暗示,对IP层没有任何动
作。
. 关于预测ISN,宝塔修改源码文件我想到另一个问题。就是如何以第三方身份切断
A与B之间的TCP连接,实际上也是预测sequence number的问题。
尝试过,也很困难。如果Z是A与B之间的路由器,就不用说了;
或者Z动用了别的技术可以监听到A与B之间的通信,也容易些;
否则预测太难。作者在3中提到连接A的端口,可我想不明白的
是端口的ISN和端口有什么关系?看来需要看看TCP/IP内部
实现的源代码。
未雨绸缪
虽然IP欺骗攻击有着相当难度,但我们应该清醒地意识到,这种攻击
非常广泛,入侵往往由这里开始。预防这种攻击还是比较容易的,
比如删除所有的/etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/
inetd.conf文件,使得RPC机制无法运做,还可以杀掉portmapper等等。
设置路由器,过滤来自外部而信源地址却是内部IP的报文。cisio公司
的产品就有这种功能。不过路由器只防得了外部入侵,内部入侵呢?
TCP的ISN选择不是随机的,增加也不是随机的,这使攻击者有规可循,
可以修改与ISN相关的代码,选择好的算法,使得攻击者难以找到规律。
估计Linux下容易做到,那solaris、irix、hp-unix还有aix呢?sigh
虽然作者纸上谈兵,但总算让我们了解了一下IP欺骗攻击,我实验过
预测sequence number,不是ISN,企图切断一个TCP连接,感觉难度
很大。作者建议要找到规律,不要盲目预测,这需要时间和耐心。现
在越发明白什么是那种锲而不舍永远追求的精神,我们所向往的传奇
故事背后有着如此沉默的艰辛和毅力,但愿我们学会的是这个,而不是
浮华与喧嚣。一个现成的bug足以让你取得root权限,可你在做什么,
你是否明白?我们太肤浅了......
Rakuten Mobile和NEC如何共同开发并计划部署SA 5G核心网络?
革新未来:Rakuten Mobile与NEC携手打造先进5G核心网络</Rakuten Mobile, Inc.与NEC Corporation联手,已签署协议,共同开发一项划时代的创新——容器化独立(SA)5G核心网络(5GC)</,旨在为Rakuten Mobile的云原生5G网络提供强大支撑。这一合作将推动日本乃至全球移动技术的革新,为消费者带来更高质量的5G服务体验。
根据协议,两家公司将基于NEC的5GC软件源代码,合力打造高度可靠且日本制造的5GC。继年推出NSA 5G服务后,Rakuten Mobile的目标是在年实现SA 5G服务的全面部署,借助Rakuten Communications Platform (RCP)的完全虚拟化和容器化特性,实现快速、低成本的网络部署。
RCP作为全球电信和企业客户的定制解决方案平台,5GC将作为其中的关键组件,让用户能够轻松地在RCP市场上“点击、购买并部署”定制化的SA 5G核心网络,满足多样化的需求。
Rakuten Mobile的执行副总裁兼首席技术官Tareq Amin表示:“与NEC的深度合作,我们致力于构建一个开放、安全且高度扩展的云原生融合核心,这将是我们通过RCP为全球客户提供的竞争服务基石。”
NEC网络服务业务部总裁对此次合作充满期待:“我们为成为Rakuten Mobile 5GC开发的伙伴而自豪。在4G和5G设备领域,我们已建立了坚实的基础,现在,我们将提供高质量的5GC,助力乐天移动实现5G服务的飞跃。”
这一联合开发项目不仅标志着移动通信技术的新里程碑,也预示着全球客户将享受到前所未有的5G网络体验。Rakuten Mobile与NEC的携手,旨在通过创新技术,引领行业进步,为全球用户提供卓越的5G服务。
Rakuten Mobile,作为乐天集团的一员,致力于通过创新和先进技术,重新定义移动通信行业的标准,提供便捷且能满足各种需求的服务。而NEC,作为IT和网络技术的领导者,始终坚持“编排更美好世界”的愿景,通过提供安全、公平和高效的社会价值,构建一个更可持续的世界,让每个人都有机会实现潜力。
Eclipse RCP技术内幕内容简介
《Eclipse RCP技术内幕》这本书深入分析了Eclipse RCP平台的核心机制和实现原理,从系统架构角度出发,系统讲解了Eclipse RCP应用运行时的代码执行流程,并提供了源代码实例,帮助开发者了解Eclipse RCP程序的定制方法,便于深入掌握Eclipse的内部构造。
全书分为多个章节,从Eclipse RCP的基本概念开始,逐步深入到其核心组件的详细分析,如Workbench、Perspective、Part、Action、Menu、Plugin等。通过具体的代码示例,详细展示了这些组件的工作原理和实现方式,为开发者提供了一个全面、深入的Eclipse RCP学习框架。
书中不仅讲解了Eclipse RCP的基本框架和组件,还深入探讨了插件开发、资源管理、事件处理、工作空间、偏好设置等高级主题。这些内容对于开发基于Eclipse RCP的定制应用具有极高的实践价值。
除了理论讲解,书中还提供了多个实例程序,涵盖了从简单的插件开发到复杂的工作空间管理等各个方面,通过这些实例,读者可以亲手实践Eclipse RCP的各个功能,加深对Eclipse RCP内部机制的理解。
总之,《Eclipse RCP技术内幕》是一本深入剖析Eclipse RCP平台内部结构和实现细节的书,对于想要深入学习和掌握Eclipse RCP的开发者来说,是一本不可多得的参考书。通过这本书,读者能够从一个全新的角度理解和使用Eclipse RCP,从而开发出更加高效、灵活的应用程序。
新能源汽车整车控制器VCU 硬件在环(HiL)仿真测试方案——干货分享
HiL的定义:硬件在环是计算机专业术语,亦为硬件在回路,其旨在通过使用“硬件在环”(HiL)来显著降低开发时间和成本。在开发电气机械元件或系统时,过去计算机仿真和实际实验通常是分开进行。然而,通过采用HiL方式,这两者可以结合在一起,展现出极大的效率提升。
硬件在环(HiL)主要有三种形式:1)虚拟控制器+虚拟对象=动态仿真系统(纯粹的软件系统仿真);2)虚拟控制器+实际对象=快速控制原型(RCP)仿真系统(系统的一种半实物仿真);3)实际控制器+虚拟对象=硬件在回路(HiL)仿真系统(系统的另一种半实物仿真)。HiL目前主要有三大硬件平台:NI平台、DSpace平台、ETAS平台(ETAS已宣布退出HiL业务)。本文主要以NI平台介绍VCU HiL系统方案。
VCU HiL测试系统方案:HiL测试系统整体架构包含三层:第一层次为HiL测试系统软硬件架构,包括硬件设备、实验管理软件、被测控制器等;第二层次为HiL测试系统开发,基于第一层次软硬件架构进行被测对象仿真模型开发、实时I/O接口匹配、硬线信号匹配及实验定义等;第三层次为HiL测试,包括测试序列开发、激励生成加载、模型参数调试、故障模拟实现及测试分析与评估等。
VCU HiL测试系统架构主要包括:上位机(PC)、PXI机箱、实时处理器、数据采集板卡、CAN通讯板卡、DIO板卡、电阻模拟板卡、低压可编程电源等。上位机电脑安装Veristand、Teststand软件,通过以太网与PXI机箱中的实时处理器连接。实时处理器运行实时系统(Real Time),安装Veristand终端引擎,通过与上位机数据传输,将仿真模型部署到实时系统中并控制运行状态。PXI机箱提供多种类型的板卡,实现不同信号的模拟和采集功能。
VCU HiL测试系统主要功能包括:模拟VCU所有硬线输入信号,采集VCU所有硬线输出信号,模拟VCU CAN总线接收信号和接收CAN总线发送信号,通过整车实时仿真模型及I/O接口实现VCU的闭环测试验证,通过软/硬件实现VCU相关电气故障模拟,通过可编程直流电源模拟VCU的供电电源,通过编辑测试序列实现自动化测试,支持VCU所有I/O端口测试验证,支持VCU CAN通讯功能测试验证,支持VCU整车控制策略全功能验证,支持VCU故障诊断功能测试验证,支持VCU极限工况下控制功能测试验证,支持VCU回归测试,支持VCU耐久测试,支持NEDC等典型标准工况测试及自定义工况测试。
VCU HiL测试系统主要由硬件平台、软件平台和控制模型三部分组成。硬件平台采用分布式设计模式,上位机作为控制核心,下位机以PXI机箱、实时处理器及I/O板卡为核心。系统硬件平台包括PXI机箱、实时处理器、I/O板卡、通讯板卡、电源管理模块、故障注入板卡、低压可编程电源、信号调理模块、机柜及上位机电脑。软件平台包括实验管理软件和自动化测试软件。本方案试验管理软件基于NI VeriStand软件平台,实现系统配置管理和测试管理。自动化测试软件基于NI TestStand软件平台,提供可视化测试序列编辑环境、测试管理功能、测试执行、多线程并行测试、用户管理、测试报告管理、自定义操作员界面、源代码控制整合、数据库记录等功能。仿真模型为纯电动车整车仿真模型,包括车辆纵向动力学模型、驾驶员模型、电机模型、动力电池模型、主减速器模型、虚拟控制器模型、I/O模型、道路及环境模型等,满足电动汽车整车控制策略功能测试验证要求,基于MATLAB/Simulink软件开发,模型精度高,支持用户图形化界面输入数据,实时在线修改模型参数,支持离线和在线仿真,满足新能源汽车HiL测试系统实时性要求,模型开源、规范、易读。
HiL测试流程包括测试准备、测试用例开发、测试工程搭建、测试调试、测试总结。测试准备包含被测控制器接口分析、硬件资源分配、控制器线束设计、功能分析、测试计划安排。测试用例开发方法研究是测试的关键点之一,采用合理方法开发测试用例,增加测试覆盖度,减少冗余重复,提高测试效率。测试工程搭建基于实验管理软件和自动化测试软件完成,包括软硬件工程配置、测试界面搭建、模型配置、通讯配置等。测试调试包含冒烟测试、接口测试、自动化测试,测试报告通过HiL测试管理软件执行测试,输出报告。测试总结包括环境、周期、人员、内容分析,问题统计与解决,测试完成情况检查,提交工作成果。
总结:硬件在环仿真测试系统使用实时处理器运行仿真模型模拟受控对象运行状态,通过I/O接口与被测ECU连接,对ECU进行全面、系统测试。从安全性、可行性和成本考虑,HiL硬件在环仿真测试已成为ECU开发流程中重要环节,减少了实车测试次数,缩短开发时间,降低成本,提高ECU软件质量,降低汽车厂风险。在新能源汽车领域,HiL硬件在环仿真测试对于核心电控系统极为重要。近年来,随着对汽车行业的资本密集投入,新能源汽车HiL测试工程师岗位需求量大,薪资增加,从长远职业规划来看,HiL测试工程师是一个可持续发展的岗位。意昂工课根据多年工程经验,推出了HiL测试课程,基于实际项目案例和岗位需求技能制定教学大纲,采用任务驱动方式引导学员,提升HiL测试实践能力,积累实战经验。对HiL测试感兴趣的学员可私聊沟通。
Eclipse RCP深入浅出目录
经过压缩和优化后的文章如下:
---
### Eclipse RCP 深入浅出
**第1部分:简介
**- **第1章**:Eclipse平台概览
- Eclipse 3与4的区别
- RCP平台的介绍
- RCP历史与用途
- IBM Lotus与RCP的关联
- NASA与RCP的合作
- 小结与提示信息
- **第2章**:RCP概念
- 插件社区
- 内部插件与系统集成
- OSGi框架
- 应用程序与产品
- 扩展注册表
- SWT工具包与JFace
- UI工作台与共享可扩展性
- 透视图、视图与编辑器
**第2部分:通过范例学习 RCP
**- **第3章**:入门教程
- Hyperbola介绍
- Hyperbola的演变
- 开发环境安装
- 范例代码与比较
- 目标平台设置与配置
- 通过范例学习方法
- **第4章**:Hyperbola应用程序
- Hyperbola“Hello, World”示例
- 源代码浏览
- 菜单与工具栏集成
- 调试与启动配置
- 小结
- **第5章**:启动 Hyperbola 原型
- 从shell启动
- 添加联系人视图
- 聊天模型与填充视图
- 添加图像
- 小结
- **第6章**:添加动作
- 菜单与工具栏中的动作
- 系统托盘集成
- 小结
- **第7章**:添加聊天编辑器
- 视图与编辑器概念
- 定义聊天编辑器
- 小结
**第8章**:Hyperbola品牌化
- 定义产品与窗口图像
- 自定义启动程序与关于信息
- 打包Hyperbola
- 消息支持与集成
- 添加登录对话框与快捷键绑定
- 添加帮助与软件管理
- 工作bench部分
**第9章**:开发过程
- p2安装与更新
- 动态插件与rcp无处不在
- 生成hyperbola与测试
- 最后一英里与参考
---
此版本的文章经过压缩和优化,保留了关键信息和章节结构,以便于快速阅读和理解。