堆栈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!

.asia域名是否适合做个人网站及.asia域名注册和续费成本

今天看到群里的老秦同学在布局自己的网站项目,这个同学还是比较奇怪的,他就喜欢用这些奇怪的域名。比如前几天看到有用.in域名,个人网站他用的.me域名不奇怪,这个还是常见的。今天看到他在做的一个范文网站的域名,居然用的是 .asia 后缀。问到其理由,是有不错好记的前缀。这里简单的搜索到.ASIA域名的新注册价格是有促销的,大约35元首年左右,续费大约是80元左右,这个成本算的话,比COM域名还贵。...

Hostodo,美国独立日特价优惠,四款特价VPS云服务器7折,KVM虚拟架构,NVMe阵列,1核512M内存1Gbps带宽3T月流量,13.99美元/月,赠送DirectAdmin授权

Hostodo近日发布了美国独立日优惠促销活动,主要推送了四款特价优惠便宜的VPS云服务器产品,基于KVM虚拟架构,NVMe阵列,1Gbps带宽,默认分配一个IPv4+/64 IPv6,采用solusvm管理,赠送收费版DirectAdmin授权,服务有效期内均有效,大致约为7折优惠,独立日活动时间不定,活动机型售罄为止,有需要的朋友可以尝试一下。Hostodo怎么样?Hostodo服务器好不好?...

Contabo美国独立日促销,独立服7月€3.99/月

Contabo自4月份在新加坡增设数据中心以后,这才短短的过去不到3个月,现在同时新增了美国纽约和西雅图数据中心。可见Contabo加速了全球布局,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。为了庆祝美国独立日和新增数据中心,自7月4日开始,购买美国地区的VPS、VDS和独立服务器均免设置费。Contabo是德国的老牌服务商,...

net为你推荐
最新qq空间代码qq空间最新免费代码中国电信互联星空怎么在中国电信网上营业厅自行开通互联星空消费权限拂晓雅阁现在最流行的系统是那个???照片转手绘有没有一种软件是可以把一张照片变成手绘的图片,给推荐下办公协同软件求一款国内知名的OA办公软件,谁知道有哪些呢?唱吧电脑版官方下载电脑上可以安装唱吧吗?网店推广网站可以介绍几个可以做店铺推广的网站吗?网易公开课怎么下载如何下载网易公开课天天酷跑刷金币天天酷跑如何刷分刷金币?godaddy通过什么网址可以查godaddy的域名信息
已备案域名 windows虚机 vps推荐 132邮箱 主机评测 enzu 名片模板psd 52测评网 免空 中国电信测速网 重庆双线服务器托管 免费cdn 个人免费主页 华为云盘 上海电信测速网站 免费的asp空间 独立主机 美国迈阿密 成都主机托管 广东主机托管 更多