堆栈net

net  时间:2021-03-02  阅读:()
.
NET安全分析——基础架构与安全框架卢小海第2页.
NET基础架构CommonLanguageRuntimeJITSecurityExecutionEngineGC,stackwalk,codemanagerClassloaderandlayoutFrameworksBaseClasses第3页讨论议程静态结构–通过CTS提供语言无关类型支持;将类型定义存储在文件Metadata中;以IL指令描述行为.
动态执行–将类型定义和代码载入并组织到内存;JIT编译并执行代码;通过堆栈帧提供遍历堆栈支持.
安全框架–基于凭证的代码访问安全策略执行框架;基于角色的功能执行安全授权检查框架.
第4页1.
静态结构通用类型系统(CTS-CommonTypeSystem)托管可执行文件结构(Metadata)IL指令集(IL-IntermediateLanguage)第5页1.
1通用类型系统目标–定义类型如何声明、使用和管理–CLR跨语言集成的基础特性–可验证的强类型安全–高性能的代码执行能力–提供面向对象模型,以完整实现多种语言–定义语言的元规则,以支持跨语言互操作第6页1.
1.
2.
命名层次配件(Assembly)模块(Module)类型(Type)成员(Member)–方法(Method)参数和局部变量–字段(Field)–内嵌类型(NestedType)–属性(Property)–事件(Event)第7页1.
1.
3.
类型分类第8页1.
2.
托管可执行文件结构第9页1.
2.
2Metadata的定位MetadataMetadata(andcode)(andcode)DebuggerDebuggerSchemaSchemaGeneratorGeneratorProfilerProfilerOtherOtherCompilerCompilerProxyGeneratorProxyGeneratorTypeBrowserTypeBrowserCompilerCompilerSourceSourceCodeCodeXMLencodingXMLencoding(SDL)(SDL)SerializationSerialization(e.
g.
SOAP)(e.
g.
SOAP)DesignersDesignersReflectionReflection第10页1.
2.
3Metadata的结构第11页1.
2.
4.
Metadata流的互相引用#Strings–元数据中数据项名称#Blob–元数据中二进制对象#GUID–各种GUID#US–用户自定义字符串#~或#-–元数据表系统第12页1.
2.
5.
Metadata数据表GenericParamManifestResourceExportedTypeMethodSpecGenericParamConstraintFileAssemblyRefAssemblyTypeSpecModuleRefPropertyEventSignaturePermissionCustomAttributeMemberRefInterfaceImplParamDefMethodDefFieldDefTypeDefTypeRefModule第13页1.
3.
IL指令集完全基于堆栈的模型可静态验证有效性使用1-2字节操作码0xFE为2字节操作码的前导标记字节内建面向对象指令使用Token来替代对指针或偏移量的使用第14页1.
3.
2.
IL指令分类流程控制,br,brtrue,beq,leave,endfinally,ret运算指令,add,shl,ldc.
i4,conv.
i8,add.
ovf参数和局部变量,ldarg.
0,starg,ldloc,stloc字段访问,ldfld,ldsfld,stfld方法调用,call,callvirt,ldftn,ldvirtftn,calli,jmp引用和值类型,newobj,ldobj,ldstr,isinst,box数组操作,newarr,ldlen,ldelem.
r4,stelem.
ref第15页1.
3.
3.
使用Token定位ldc.
i4.
s9callPrint(Int32)ILAssembler0x1f0x090x280x06000006MethodtokenTokenTableNumberRowIndexUpper8bitsLower24bits第16页1.
3.
4.
函数调用堆栈1Stacktopthispointer2ldc.
i4.
1ldc.
i4.
2callClassType::func(Int32,Int32)ClassTypea;a.
func(1,2)第17页2.
动态执行CLR加载器(fusion)类型与对象的内存布局JIT编译与方法调用堆栈、帧与堆栈遍历非托管代码互操作第18页2.
1.
CLR加载器JITCompilerJITCompiler&Verification&VerificationAssemblyAssemblyLoaderLoaderPolicyPolicyManagerManagerClassClassLoaderLoaderCodeCodeManagerManagerGarbageCollectionGarbageCollectionExceptionManagerExceptionManagerThreadSupportThreadSupportSecurityPermissionSecurityPermissionEnforcementEnforcementPolicydllMSCorEE.
dllNativecodeNativecodeGCInfoEHInfo第19页2.
2.
类型与对象的内存布局第20页2.
2.
2.
类型运行时层次结构第21页2.
3.
JIT编译与方法调用2.
3.
1.
JIT编译与方法表2.
3.
2.
基于类引用的虚函数调用2.
3.
3.
基于接口引用的虚函数调用2.
3.
4.
异步方法调用2.
3.
5.
内部方法调用第22页2.
3.
1.
JIT编译与方法表第23页2.
3.
2.
基于类引用的虚函数调用第24页2.
3.
3.
基于接口引用的虚函数调用第25页2.
3.
4.
异步方法调用第26页2.
3.
5.
内部方法调用第27页2.
4.
堆栈、帧与堆栈遍历2.
4.
1.
基于帧的信息堆栈2.
4.
2.
常用帧的继承结构2.
4.
3.
堆栈遍历原理与引用2.
4.
4.
堆栈遍历的实现流程第28页2.
4.
1.
基于帧的信息堆栈(1/2)第29页2.
4.
1.
基于帧的信息堆栈(2/2)第30页2.
4.
2.
常用帧的继承结构第31页2.
4.
3.
堆栈遍历原理与引用基于帧的逆向堆栈遍历算法主要用于安全框架实现和GC操作通过Unmanaged代码实现堆栈遍历AppDomainBAppDomainAmain.
exeSDbar.
dllSDbaz.
dllSDMain(){…bar.
y();…}bar.
y(){…baz.
z();…}baz.
z(){SomePerm.
Demand();}SDSD第32页2.
4.
4.
堆栈遍历的实现流程xxxPermission::DemandStackWalkFramesExCodeAccessCheckStackWalkCB*TakescalllbackfuncasparameterCodeAccessSecurityEngine::CheckManaged~managedCASE::CheckHelperComparepermissionsforframe第33页2.
5.
非托管代码互操作第34页3.
安全框架代码访问安全(Code-AccessSecurity)角色安全检查(Role-BasedSecurity)独立存储区(IsolatedStorage)密码学服务(CryptographicServices)第35页3.
1.
代码访问安全安全策略(SecurityPolicy)代码凭据(CodeEvidence)权限(Permission)第36页3.
1.
2.
控制代码访问资源的机制定义权限安全策略管理允许代码要求拥有权限授予代码权限允许代码请求其调用者具备特定权限动态限制代码安全(Stackwalking)第37页3.
1.
3.
验证过程安全策略代码加载代码证据权限授予代码从哪里来代码是谁签的名其他….
第38页3.
1.
4.
安全策略安全策略级别–企业范围–本机范围–用户范围–ApplicationDomain范围(不可配置)通过caspol.
exe或mscorcfg.
msc配置有效的安全策略是所有级别的交集第39页3.
1.
5.
代码凭据预定义代码凭据–Zone–Site–Url–Publisher–StrongName–…代码凭据可扩展第40页3.
1.
6.
安全权限.
NET安全权限类定义–CodeAccessPermission–DBDataPermission–PrintingPermission–DnsPermission–WebPermission–EnvironmentPermission–FileIOPermission–RegistryPermission–UIPermission–…自定义安全权限第41页3.
1.
7.
安全权限验证过程第42页3.
1.
8.
安全权限授予过程证据组件3DLL程序域程序域(AppDomain)(AppDomain)已信任宿主代码权限请求安全策略+最大授予=组件1组件2G1G2策略管理G3组件3InheritanceDemand,LinkDemandJIT/验证类型安全第43页3.
2.
角色安全检查基于角色的预定义类–GenericPrincipal–GenericIdentity–WindowsPrincipal–WindowsIdentity–自定义类–PrincipalPermission第44页3.
2.
1.
相关接口IPrincipalinterfacenamespaceSystem.
Security.
Principal{publicinterfaceIPrincipal{IIdentityIdentity{get;}boolIsInRole(Stringrole);}}IIdentityinterfacenamespaceSystem.
Security.
Principal{publicinterfaceIIdentity{StringAuthenticationType{get;}boolIsAuthenticated{get;}StringName{get;}}}第45页3.
2.
2.
静态安全检查[PrincipalPermissionAttribute(SecurityAction.
Demand,Name="MyUser",Role="User")]publicstaticvoidPrivateInfo(){//打印保密数据Console.
WriteLine("\n\nYouhaveaccesstotheprivatedata!
");}第46页3.
2.
3.
动态安全检查Stringid1="Bob";Stringrole1="Manager";PrincipalPermissionPrincipalPerm1=newPrincipalPermission(id1,role1);Stringid2="Louise";Stringrole2="Supervisor";PrincipalPermissionPrincipalPerm2=newPrincipalPermission(id2,role2);(PrincipalPerm1.
Union(PrincipalPerm2)).
Demand();第47页3.
3.
独立存储区第48页3.
4.
密码学服务第49页4.
相关资源第50页Thanks!

PacificRack 下架旧款方案 续费涨价 谨慎自动续费

前几天看到网友反馈到PacificRack商家关于处理问题的工单速度慢,于是也有后台提交个工单问问,没有得到答复导致工单自动停止,不清楚商家最近在调整什么。而且看到有网友反馈到,PacificRack 商家的之前年付低价套餐全部下架,而且如果到期续费的话账单中的产品价格会涨价不少。所以,如果我们有需要续费产品的话,谨慎选择。1、特价产品下架我们看到他们的所有原来发布的特价方案均已下架。如果我们已有...

Hostwinds:免费更换IP/优惠码美元VPS免费更换IP4.99,7月最新优惠码西雅图直连VPS

hostwinds怎么样?2021年7月最新 hostwinds 优惠码整理,Hostwinds 优惠套餐整理,Hostwinds 西雅图机房直连线路 VPS 推荐,目前最低仅需 $4.99 月付,并且可以免费更换 IP 地址。本文分享整理一下最新的 Hostwinds 优惠套餐,包括托管型 VPS、无托管型 VPS、Linux VPS、Windows VPS 等多种套餐。目前 Hostwinds...

热网互联33元/月,香港/日本/洛杉矶/韩国CN2高速线路云主机

热网互联怎么样?热网互联(hotiis)是随客云计算(Suike.Cloud)成立于2009年,增值电信业务经营许可证:B1-20203716)旗下平台。热网互联云主机是CN2高速回国线路,香港/日本/洛杉矶/韩国CN2高速线路云主机,最低33元/月;热网互联国内BGP高防服务器,香港服务器,日本服务器全线活动中,大量七五折来袭!点击进入:热网互联官方网站地址热网互联香港/日本/洛杉矶/韩国cn2...

net为你推荐
天府热线天府热线怎么老是进不去?赵雨润星辰变玩家可以成为星辰变演员?这是真的吗?伪静态如何设置伪静态规则qq空间装扮qq空间的装扮空间在哪?安装迅雷看看播放器迅雷看看不能播放,说我尚未安装迅雷看看播放器免费免费建站我想建一个自己的免费网站,但不知道那里有..云挂机云软件挂机赚钱是骗子小米手柄买了个小米蓝牙手柄,游戏是可以玩但是按键位置不舒服,怎么可以改按键srv记录exchange 2010 自动发现需不需要srv记录宽带接入服务器什么是宽带接入系统?怎样绕过宽带接入系统上网
重庆域名注册 北京租服务器 evssl证书 论坛空间 卡巴斯基永久免费版 linux空间 vip购优惠 重庆双线服务器托管 linux使用教程 华为云盘 免费外链相册 上海电信测速 日本代理ip xuni 万网注册 云服务是什么意思 阿里云邮箱申请 广州主机托管 广东服务器托管 汤博乐 更多