登录
首页 » Others » 基于matlab的声音信号频谱分析仪

基于matlab的声音信号频谱分析仪

于 2020-12-11 发布
0 275
下载积分: 1 下载次数: 3

代码说明:

声音信号频谱分析仪,包含文档文件和源代码

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • AD9361中文资料
    AD9361中文资料,内容讲述了9361的使用,希望对射频开发者有用,AD9361规格除非另有说明,电气特性在 VDD GPO=33V, VDD INTERFACE=18V,所有其他VDDx引脚=1.3V,T=25°C下测得。表1参数符号最小值典型值最大值件测试条件/注释接收器,一般中心频率706000增益最小值最大值74.5800MH73.02300 MHZ(RX1A, RX2A)72.02300 MHz (RX1 B, RX1CRX2B, RX2C)65.55500 MHZ( RX1A, RX2A)增益步进接收信号强度指示器档位dB准确度dB接收器,800MHz噪声系数最大RX增益三阶输入交调载点IIP318dBrn最大RX增益二阶输入交周载点lP2最大RX增益本振(LO泄漏122dBmRX前端输入正交增益误差0.2%相位误差度调制精度(EVM)192MHz参考时钟输入S10巛1至RX2隔离R×1A至RX2A,RX1C至RX2CX1B至RX2B55RX2至RX1隔离RX2A至RX1A,RX2C至RX1CRX2B至RX1B接收器,2.4GHz噪声系数最大RX增益三阶输入交调载点lP314dBm最大RX增益阶输入父调载点lIP 2d bm最大RX增益本振(LO泄漏110dBm接收器前端输入正交增益误差相位误差0.2度调制精度(∈VM)4240MHz参考时钟输入5110RX1至RX2隔离RX1A至RXZA,RX1C至RX2CRX1B至RX2BRX2至RX1隔离RX2A至RX1A,RX2C至RX1CRX2B至RX1BRev. D Page 3 of 36AD9361参数符号最小值典型值最大值件测试条件注释接收器:55GHz噪声系数NF38最大RX增益三阶输入交调载点lP3d Bm最大RX增益二阶输入交调载点lP2dBm最人RX增益本振LO泄漏dBmx前端输入正交增益误差0.2相位误差度调制精度(EVM)40MHz参考时钟针对RF频率合成器内部加倍)输入51RX1A至RX2A隔离RXA至RX1A隔离5dB发射器一一般中心频率000z功率控制范围dB功率控制分辨率0.25发射器:800MHz输出S2最大输出功率dBm1MH信号音509负载)调制精度(EVM)192MHz参考时钟三阶输出交调载点OIP3dBm载波泄漏dBc0dB衰减40dB衰减本底噪声-157dBm/Hz90MHz偏移隔离1至TX2TX2至T×150dB发射器.24GHz输出SdB最大输出功率7.5dBm1MHz信号音(50Ω负载)调制精度(VM)dB40MHZ参考时钟三阶输出交调载点OIP319dbm载波泄漏0dB衰减3240dB衰减本底噪声156dBm/H290MHz偏移隔离TX1至TX2TX2至TX1dB发射器,5.5GHz输出S最大输出功率6.5dBm|7M信号音50负载)调制精度(EvM)3640MHz参考时钟(针对RF频率合成器内部加倍)三阶输出交调载点OIP317d Bm载波泄漏dBo0dB衰减40dB衰减本底噪声151dBm/Hz90MHz偏移隔离TX1至TX2TX2至TX150Rev. d Page 4 of 36AD9361参数1符号最小值典型值最大值件测试条件注释TX监控器输人(X_MON1,最大输入电平dBm动态范围准确度dBLO频率合成器O频率阶跃2.4 GHz. 40 MHz参考时钟积分相位噪声800 MHZrm100Hz至100MHz,3072MHz参考时钟(针对RF频率合成器内部加倍)24 GHz0.37rm100Hz至100MHz,40MHz参考时钟5.5 GHzrms100Hz至100MHz,40MHz参考时钟(针对R频率合成器内部加倍)参考时钟( REF CLKREF CLK要么为 XTALPXTALN引脚的输入要么为直接连接XTALN引脚的线路输入频率范围50品振输入外部振荡器信号电平Vpp|交流耦合外部振荡器辅助转换器ADO分辨度位输入电压最小值最大值VDDAIP3 BB-005DAO分辨度位输出电压最小值最大值VDD GPO-03输出电流mA数字规格(MOS)逻辑输入输人电压高VDD INTERFACE XO.8VDD INTERFACE低VDD INTERFACE×02V输入电流低+10逻辑输输出电压局VDD INTERFACE XO. 8低VDD_INTERFACE X0.2V数字规格(LVDS)逻辑输入输人电压范围8251575对中的各差分输入输入差分电压阈值100+100接收机差分输入阻抗100Rev. D Page 5 of 36AD9361参数符号最小值典型值最大值件测试条件/注释逻辑输出输出电压高低3751025输出差分电压150Vvvv可分75mV个阶跃编程输出失调电压1200通用输出输出电压高低VDD GPO×08VDD GPO×0.2输出电流SP|时序VDD INTERFACE= 1.8 VSPI CLK周期脉冲宽度SPI ENB建立至第一 SPI CLK上升沿最后 SPI CLK下降沿至0SPI ENB保持SPI DI数字输入建立至SP⊥CLKts数据输入保持至 SPI CLKnsSPI CLK上升沿至输出数据延迟4线模式3线模式ns总线周转时间,读BBP驱动最后地址位后总线周转时间,读0tco(max)nsAD9361驱动最后数据位后数字数据时序(CMOS),VDD INTERFACE=1.8VDATA CLK时钟周期1627661.44 MHZDATA CLK和 FB CLK脉冲宽度t的45%tcp的556TX数据TX FRAME,P0_D和建立至FB_CLK保持至 FB CLKHIX0DATA CLK至数据总线输出延迟toax01.5DATA_CLK至 RX FRAME延迟1.0脉冲宽度使能TXNRXFDD独立ENSM模式TXNRX建立至 ENABLEt0nsTDD ENSM模式总线周转时间RX前2×toTDD模式RX后2×tcpTDD模式容性负载3容性输入pRev. d Page 6 of 36AD9361参数符号最小值典型值最大值件测试条件注释数字数据时序(CMOS)VDD INTERFACE=2.5VDATA CLK时钟周期16.27661.44 MHzDATA CLK和 FB CLK脉冲宽度tcp的45%tc的55%TX数据TX FRAME,POD和P1 D建立至FB_CLK保持至 FB CLKDATA CLK至数据总线输出延迟tox0DATA CLK至 RX FRAME延迟tODDy脉冲宽度使能IXNRXXNRXPW trpFDD独立ENSM模式IXNRX建立至 ENABLEtTXNRXSU OIDD ENSM模式总线周转时间RX前2×toTDD模式tRusT2×tTDD模式容性负载容性输入数字数据时序LvDS)DATA_CLK时钟周期4.069245.76MHzDATA_CIK和FB_CK脉冲宽度t的45t的59TX数据IX HRAM和XD建立至 FB CLK保持至FB_CLKDATA CLK至数据总线输出延迟|tox025DATA CLK至 RX FRAME延迟0.25脉冲宽度使能FDD独立ENSM模式TXNRX建立至 ENABLE0TDD ENSM模式总线周转时间RX前2RX后容性负载容性输入pl电源特性13V电源电压1.2671.33VDD INTERFACE电源额定设置2.5LVDS1.82.5VDD INTERFACE容差+5%容差适用于任何电压设置VDD GPO电源标称设置3.3未用时,必须设为13VVDD GPO容差5%容差适用于任何电压设置电流消耗VDDx,休眠模式所有输入电流之和VDD GPO50A无负载指参数中多功能引脚的单个功能时,只会列出引脚名称中与规格相关的部分。要了解多功能引脚的仝部引脚名称,请参见引脚配置和功能描述"部分。Rev. D Page 7 of 36AD9361功耗一vDD_ INTERFACE表2 VDD INTERFACE=12V参数最小值典型值最大值件测试条件/注释休眠模式加电,器件禁用1RX 1TX DDRLTE10单端口2.9mA3072MHz数据时钟,CMOS双端∏2.7mA1536MHz数据时钟,CMOSLTE20双端口5.2mA3072MH数据时钟,CMOS2RX, 2TX, DDRLTE双端口1.3DA768MHz数据时钟,CMOSLTE10单端口4.6mA6144MHz数据时钟,CMOS双端口5.0mA3072MHz数据时钟,CMOSLTE20双端口8.2mA6144MHz数据吋钟,CMOSGSM双端口0.21.08MHz数据时钟,CMOSWiMAX 8.75双端口3.320MHz数据时钟,CMOSWiMAX 10单端口TDD RX0.5mA224MHz数据时钟,CMOSTDD TX3.6A224MHz数据时钟,CMOSFDD3.8448MHz数据吋钟,CMOSWiMAX 20双端口FDD6.7mA448MHz数据时钟,CMOS表3vDD| NTERFACE=18V参数最小值典型值最大值件测试条件/注释休眠模式加电,器件禁用1RX 1X DDRLTE10单端口4.5A3072MHz数据时钟,CMOS双端口4.1mA1536MHz数据时钟,CMOSLTE20双端口8.0mA30.72MHz数据时钟,CMoS2RX.2TX DDRLTE双端口2.0mA768MHz数据时钟,CMOSLTET0单端口8.0A6144MHz数据时钟,CMOS双端口7.5mA3072MHz数据时钟,CMOSLTE20双端口140mA6144MHz数据时钟,CMOSGSM双端口0.3A1.08MHz数据时钟,CMOSWiMAX 8.75双端口5.0MA20MHz数据时钟,CMOSRev. d Page 8 of 36AD9361参数最小值典型值最大值件测试条件/注释WiMAX 10单端口I DD RX07mA224MHz数据时钟,CMOTDD TX5.6mA224MHz数据时钟,CMOSFDD60448MHz数据时钟,CMOSWIMAX 20双端口FDD107mA448MHz数据时钟,CMOSP-P5675mV差分输出140mA240MHz数据时钟,LVDS300m差分输出350A240MHz数据时钟,LVDS450mV差分输出470mA240MH数据时钟,LVDS表4 VDD INTERFACE=25V参数最小值典型值最大值件测试条件/注释休眠模式150A加电,器件禁用1RX, 1TX DDRLTE10单端口6.5mA3072MHz数据时钟,CMOS双端口6.0A1536MHz数据时钟,CMOSLTE20双端口115nA3012MHz数据时钟,CMOS2RX, 2TX DDRLTE双端口30mA768MHz数据时钟,CMOsLTE10单端口115mA6144MHz数据时钟,CMOS双端口A3072MHz数据时钟,CMOSLTE20双端口2006144MHz数据时钟,CMOSGSM双端口0.5A1.08MHz数据时钟,CMOWiMAX 8.75双端口7.3A20MHz数据时钟,CMOSWIMAX 10单端TDD RX224MHz数据时钟,CMOSTDDTX8.0mA224MHz数据时钟,CMOSFDD8.7mA448MHz数据时钟,CMOSWiMAX 20双端口FDD153A448MHz数据时钟,CMOSP-P5675mV差分输出26.0240MHz数据时钟,LVDS300mV差分输出450mA240MHz数据时钟,LVDS450mV差分输出mA240MHz数据时钟,LVDSRev. D Page 9 of 36AD9361功耗一—vDDD1P3_DG和vDDA(全部13V电源组合)表5800MHz,TDD模式参数最小值典型值最大值件测试条件/注释1 RX5MHz带宽180nA连续RX10MHz带宽210A迕续RX20MHz带宽260MA连续RX2RX5MHz带宽265MA连续RX10MHz带宽315A连续RX20MHz带宽405mA连续RX1TX5MHz带宽dBl340nA连续TX-27dBmA连续TX10MHz带宽7 dBm360A连续TX27 dBm220MA连续TX20MHz带宽7 dBm400连续TX-27 dBm250mA连续TX5MHz带宽7 dBm550连续TX27 dB260连续TX10MHz带宽7 dBmA连续TX2 dBm310A连续TX20MHz带宽7 dBm660nA连续TX-27 dBm370mA连续TXRev. D Page 10 of36
    2020-11-27下载
    积分:1
  • 电力系统可靠性评估matlab
    用于序贯蒙特卡洛评估方法的电力系统可靠性评估基本思路和方法,通过matlab编程计算可靠性评估指标。
    2020-12-05下载
    积分:1
  • Unity skin shader
    untiy 皮肤插件最新版本,skinShader3.0 10美元asset商店买的,只用来测试使用。禁止商用
    2021-05-06下载
    积分:1
  • 专用集成电路设计实用教
    IC设计经典教材,《专用集成电路设计实用教程》专用集成电路设计实用教程虞希清编著大學出瓶社图书在版编目(CIP)数据专用集成电路设计实用教程/虞希清编著.一杭州:浙江大学出版社,2007.1ISBN978-7-308-05113-2专..Ⅱ.虞..Ⅲ.集成电路一电路设计一高等学校一教材Ⅳ.TN402中国版本图书馆CIP数据核字(2006)第165341号专用集成电路设计实用教程虞希清编著任编辑张真封面设计张真出版发行浙江大学出版社(杭州天目山路148号邮政编码310028)(E-mail:zupress@mail,hz,zj.cn)(网址http://www.zjupress.com排版杭州好友排版工作室印刷杭州浙大同力教育彩印有限公司开本787mm×1092mm1/16印张18.25字数467千印数2001-3000版印次207年1月第1版2007年7月第2次印刷书号ISBN978-7-30805113-2定价38.00元版权所有翻印必究印装差错负责调换内容提要在现代的IC设计中,工程师们广泛地使用数字电路的逻辑综合技术。工程师们使用RTL代码和IP描述设计的功能,进行高级设计,用综合工具对设计进行编辑和优化,以实现满足设计目标的电路。根据多年为客户进行技术培训,技术支持和IC设计的经验,笔者编写了本书。书中主要介绍了IC设计的基本概念,设计流程和设计方法,并就工程师们在设计中常见的问题,提供了解决方法。本书的特点是实用性强全书共分九章,第一章概述EC设计的趋势和流程;第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;第三章陈述了IC系统的层次化设计和模块划分;第四章详细地说明如何设置电路的设计目标和约束;第五章介绍综合库和静态时序分析;第六章深入地阐述了电路优化和优化策略;第七章陈述物理综合和简介逻辑综合的拓扑技术;第八章介绍可测性设计;第九章介绍低功耗设计和分析本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。也可作为高等院校相关专业的高年级学生和研究生的参考书。前言本书在 Synopsys公司的逻辑综合培训资料基础上编写而成。从事EDA工作和ASIC设计已有十几年了。在给中港台ASIC设计工程师提供的技术培训和支持中,工程师们曾提出了设计和使用设计工具中遇到的各种各样的问题。教学相长,在和工程师讨论问题、提供解决方案的过程中,我得到了很多的经验和启发。在为用户解决一些实际问题,为他们提供培训后,我曾收到热情的掌声和感谢信。用户的掌声和谢意给了我很大的鼓励和鞭策,使我下决心要编写一本实用的中文版的集成电路设计教程和手册,以答谢用户们的支持和帮助。本书讲究实用性,希望其中的内容能帮助ASIC设计工程师清楚明了IC设计的基本概念,IC设计的流程,逻辑综合的基本概念和设计方法,解决进行IC设计时和工具使用时所遇到的问题。全书共分九章,第一章概述IC设计的趋势和流程;第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;第三章陈述了IC系统的层次化设计和模块划分;第四章详细地说明如何设置电路的设计目标和约束;第五章介绍综合库和静态时序分析;第六章深入地阐述了电路的优化和优化策略;第七章陈述物理综合和简介逻辑综合的拓扑技术;第八章介绍可测性设计;第九章介绍低功耗设计和分析本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。也可作为高等院校相关专业的高年级学生和研究生的参考书。在本书的编写过程中,得到了 Synopsys中国区高级技术经理常绍军先生的大力支持。常绍军先生、资深的应用技术顾问李昂先生和冯源先生审阅了本书,并提出了宝贵的意见和建议。在此,表示衷心的感谢。在本书编写过程中,得到了全家的支持,深表谢意!由于时间仓促,知识水平有限,书中难免有不足和错误之处,敬请各位专家,IC设计工程师和同行们批评指正,不胜感激。来函可发电子邮件( Email: victory_snps@ yahoo.com.hk)。虞希清2006年11月于 Synopsys香港目录第一章集成电路设计概论1.1摩尔定律………………∴…………11.2集成电路系统的组成1.3集成电路的设计流程第二章数字电路的高级设计和逻辑综合132.1RTL硬件描述语言设计132.1.1行为级硬件描述语言( Behavioral Level hdi)132.1.2寄存器传输级硬件描述语言( RTL HDI)172.1.3结构化硬件描述语言( Structure HDL)………………………………232逻辑综合(L。 gic Synthesis)…………………272.2.1逻辑综合的基本步骤…282.2.2综合工具 Design Compiler302.2.3目标库和初始环境设置鲁·自自音甲·是着音鲁备.··非曲●d■···●····第三章系统的层次化设计和模块划分353.1设计组成及 DC- Tcl…·自音···········日·········.···卡器日音是·晶自鲁bt·。……353.1.1设计物体( Design Object)鲁音自353.1.2 DC - Tcl简介香看·鲁·鲁·鲁.鲁自春3.2层次( Hierarchy)结构和模块划分( Partition)及修改463.2.1层次结构的概念463.2.2模块的划分…息鲁483.2.3模块划分的修改·看。51第四章电路的设计目标和约束…°。●看。面●554.1设计的时序约束…普·非鲁·鲁击曲■554.1.1同步( Synchronous)电路和异步( Asynchronous)电路…4.1.2亚稳态( Metastability)574.1.3单时钟同步设计的时序约束…血D。e574.1.4设计环境的约束724,1.5多时钟同步设计的时序约束…………794.1.6异步设计的时序约束832专用集成电路设计实用教程4.1.7保持时间( Hold Time)854.2复杂时序约束看香鲁e鲁曲鲁。自鲁自。a。自鲁自。鲁4.2.1多时钟周期( Multi-Cycle)的时序约束874.2.2门控时钟的约束904.2.3分频电路和多路传输电路的时钟约束鲁·看看看鲁924.3面积约束……………………………96第五章综合库和静态时序分析…985.1综合库和设计规则···········.······.··4·a·.·····◆···—985.1.1综合库……5.1.2设计规则1075.2静态时序分析5.2.1时序路径和分组1125.2.2时间路径的延迟1145.2.3时序报告和时序问题的诊断鲁·.···.·自击击合音。甲。。。●。。●……115第六章电路优化和优化策略…1206.1电路优化..···4····;··.·.·.·.·a·a·;··1226.1.1 Synopsys的知识产权库- Design Ware1236.1.2电路优化的三个阶段………………………1266.2优化策略…………1346.2.1编辑策略垂由d垂……1356.2.2自动芯片综合( Automated Chip Synthesis)………………………………1416.3网表的生成格式及后处理144第七章物理综合1487.1逻辑综合(L。 gic Synthesis)遇到的问题……………………1487.2物理综合( Physical Synthesis)的基本流程鲁鲁自谁…………………………1517.3逻辑综合的拓扑技术( Topographical Technology)…………162第八章可测试性设计…1748.1生产测试简介…………1748.2可测试性设计鲁D曹吾音·非·自·········着4鲁4鲁是1768.2.1物理瑕疵和故障模型1768.2.2D算法( D algorithm)1788.3测试协议( Test protocol)1858.4测试的设计规则·●鲁q鲁·音鲁鲁D鲁香曹音音音·自自··。·非鲁曲··●1908.4.1可测试性设计中的时钟信号1908.4.2三态总线和双向端口的测试。非……………………198录8.5门级网表可测试问题的自动修正2048.6扫描链的插入2088.7可测试设计的输出和流程2228.8自适应性扫描压缩技术………225第九章低功耗设计和分析2299.1工艺库的功耗模型…………2319.2功耗的分析…鲁鲁鲁……………2379.3低功耗电路的设计和优化2519.3.1门控时钟电路25293.2操作数分离………2619.3.3门级电路的功耗优化●·4·■D鲁曹春击自由2669.3.4多个供电电压( Multi-VDD)…2749.3.5电源门控………276参考文献……………………281第一章集应电路设计概记集成电路( Integrated Circuits)是现代电子设备的重要组成部分。因此,成功设计集成电路对整个电子信息技术产业的发展起到重要的作用。由于科技的发展,半导体芯片的集成化程度越来越高,设计的系统越来越复杂,规模越来越大,设计的性能越来越髙,功耗也越来越大,这些不断地给芯片设计工程师和电子设计自动化( Electronics Design Automation,简称EDA)厂商提出新的课题和挑战。1.1摩尔定律摩尔提出著名的“摩尔定律”已经40多年了。1965年4月,摩尔在《电子学( Electronics)》杂志上发表文章预言,半导体芯片上集成的晶体管数量将每年翻一番。1975年,他又提出修正说,芯片上集成的晶体管数量将每两年翻一番。晶体管数量MOORES LAWIntels Tanuma 2 Processo1000000000ante△nmtele Pentium Pr100000000Intels Pentium m Processoitels Pentium Pro10000000Intelstuma Printels*v Proces1000000Intel388 pre28610000080801000080084004●100019701975198019851990199520002005年度图1.1.1图1.1.1为在过去25年, ntel CPu中晶体管增长的情况。集成电路的规模不断地稳
    2021-05-06下载
    积分:1
  • ARM+DSP+CPLD开发板.rar
    【实例简介】ARM+DSP+CPLD开发板,可以作为参考来学习···
    2021-12-07 00:41:31下载
    积分:1
  • pcl计算点云的法向量和曲率,并保存在txt文件
    该代码在vs2017中配置的PCL1.9.0环境中运行成功,可以求得点云的法向量和曲率,并存储在txt文件中。
    2020-12-09下载
    积分:1
  • 深度学习源代码
    深度学习源代码,hinton论文附带源代码,包括图像编码和解码两部分。通过训练深层网络降维高位图片数据,并比较复原误差。主要利用级联Boltzmann估计多层网络初始参数,使得多层神经网络可以被很好的训练并得到理想结果。
    2020-12-02下载
    积分:1
  • matlab中LS_SVMlab工具箱
    用于SVR程序运算,这里实现了SVM工具箱的多类分类与函数拟合回归算法
    2020-06-01下载
    积分:1
  • DSP28335的PMSM的SVPWM电机代码
    DSP28335的SVPWM电机代码,文件齐全,也适用无感
    2020-12-05下载
    积分:1
  • linux-selinux功能及源码分析
    该书详细介绍了linux中关于selinux部分功能的实现流程和关键代码分析7.1.1.3基于创建者SID的文件系统.,,7.1.2 Gcncralizcd Sccurity Context labeling,,,,637.1.4 Mount-Point labeling667.1.5 Initial SId87.1.5.1 Initia1SID和 Initial sc的定义7.1.5.2 Initia1SID和 Initial sc的写出和解析707.1.5.3 Initia1SID和 Initia1SC的使用717.1.6进程创建的内核数拥结构的标签727.2何时需要为应用程序开发pp?●··垂·看垂723设计pp的一般过程7.4为vock程序编写v1ock.pp●垂春·垂767.4.1第一阶段:定义基本的te,fc和.if文件767.4.2第二阶段:根据 AVC Denied msg补充相应的规则807.4.3第三阶段:使用 don audit规则屏蔽与冗余操作枓关的错误信息7.4.4其他注意事项87.5为 samhain程序编写 samhain.pp..857.5.1第一阶段:定义基本的.te,,fc和.if文件事垂垂7.5.2第二阶段:根据 AVC Denied msg补充相应的规则07.5.3第三阶段:使用 don audi t规则屏蔽与冗余操作相关的错误信息927.5.4图解:使用 samhain时的 Domain transition过程春春鲁看D垂垂春,,937.6使用 SLIDE来开发pp,分析 SELinux源代码.7.7编写pp时的注意事项中垂鲁鲁··●,,,,,,,,,,,948. SELinux问题分析步骤总结.8.1排除DAC权限的问题,,,968.2检查用户当前所扮演的角色963分析 AvC Denied message: Target的标签正确吗?,8.4在系统启动过程中适时地修复错误的文件标签97应用程序的实际行为要和其pp的假设相一致,,,,988.6明确相应 domain所缺少的权限8.7其他注意事项8.7.1在 Permissive模式卜调试,998.7.2取消所有的 dontaudit规则.8.7.3当心 MLS Constraints1008.7.4检査 SeLinux- aware应用程序的配置和编译选项,.1018.7.5积极地和社区交互.1018.7.6使用 strace直接定位失败的系统调用(重要!).………1028.8 selinux问题分析过程和方法举例( Revisited),,1028.8.1实例一:用户无法在 console上正常登录-使用 strace定位失败操作1028.8.2实例二: sysadm r无法正确使用 useradd命令108SELinux开发笔记.…,,1149.1使能对/dev/ console的支持1149.1.1提出问题:20101213及之前的 epolicy缺乏对 conso1e的支持9.1.2分析问题··p9.1.3解决问题.1169.1.4测试结果1179.1.5使用 strace观察 consolo被重新打标签的细节(new),,,,1179.2 Socket labeling开发,1189.2.1提出问题: socket默认继承其创建者的SID的副作用,,,,,1189.2.2分析问题1199.2.3解决问题1199.2.4测试结果.,.1239.3给 role transition规则添加c1ass的支持,,..,,1249.3.1提出问题-当前 role transition规则只对 process类有效,,1249.3.2分析问题..,,,,,.1249.3.3解决问题D垂垂垂,,,,,1259.3.4测试结果,,,,,1319.3.5其他说明.1339.3.6经验总结●非春…1359.4增加 role attribute的攴持(new).,,,1369.4.1提出问题之一:roe- dominance规则的局限性1369.4.2提出问题之二:期望的 role attribute使用模型..1409.4.3分析问题1429.4.4解决问题D1439.4.5测试结果639.4.6一个有意思的编译问题,,,,1689.4.7有关role- types规则语法的讨论.,,.1719.5区分 tuna1e和 boolean(new).···1729.5.1提出问题无用的 tunable分支被写入 policy.X.729.5.2分析问题1739.5.3解决问题,,1749.5.4测试结果.1879.5.5其他经验总结9.N在策略中指定 newcontext的缺省设置方法(todo)1929.N.Ⅰ提出问颋- newconteκt的设置策略被硬编码到机制中19210. SeLinux内核驱动分析小记19410.1LSM核心数据结构及相应回调函数,19410.2 sELinux核心数据结构.19410.2.1 selinux对内核数据结构的扩展19410.2.1.1进程的安全属性19510.2.1.2文件和打开文件描逋符的安全属性.,,.,,,,,,..19510.2.1.3 socket的安全属性10.2.1.4文件系统超级块的安全属性1960.2,2AVC数据结构.19710.2.3內核 policy中保存TE规则的数据结构.,19910.2.4內核 policy中保存RBAC规则的数据结构.鲁鲁,,,,,20010.2.5 SeLinux规则在内核中的检查点总结(new)..,,,,,,20110.3情景分析:打开文件时的相关函数调用链20110.4通过 SEL inuxfs访问内核 Security Server,,,,,,,,,,,,,,20810.4.1/ selinux/load和1 oad policy命令一装载冰解析 policy.二进制文件20910.4.2/sc1inux/ relate1及 compute relabel命令-查询 type change规则21110.4.3/ selinux/ create及 compute create命令-查询type_ transition规则21110.4.4/ selinux/ member及 compute member命令-查询 type member规则.21210.4.5/ selinux/ access文件和 compute av命令-查询a11ow规则...21310.4.6/ selinux/user文件和 compute_user命令-查询用户登录后可能的SC21310.4.7/ selinux/ initial contexts/-查询 Initia1SI对应的安全上下文21410.4.8/ selinux/ class/-查询内核 class datum数拥结构(todo10.5情景分析: Domain transition的实现●··垂·看垂,,,,,,,,,,,,,,,,,,,,,21510.5.1 selinux setprocattr凼数-/proc/lpid/attr/“文件驱动21610.5.2 do execve的行为和相关 seLinux内核驱动垂垂看21810.6情景分析:文件系统的挂载和新文件的创建2110.6.1文件系统的挂载过程(new)..22110.6,2确定新创建文件的标签...23610.7 Context数据结构和u32sid之间的映射24110.7.1 sidtab node的定义和 sidtab的组织结构.24110.7.2 sidra_ insert函数- sidtab node的插入·,,,,,,,,,,,,,,24210.7.3 sidtab context to sid函数返回或分配sid..24310.7.4 security transition sid函数-计算新 subject/ object的sid....24410.7.5创建 context并注册到 sidtab以获得sid的时机.24910.7.6 security context to sid函数返回Sc字符对应的sid....25010.7.7 sidtab scarch corc囪数- sidtab node的查找,,,25110.7.8 security sid to context core函数-返回sid所对应的SC宇符串25210.8 Class Mapping..25410.8,1C1 ass mapping的作用..,,,,,25410.8,2 Class Mapping的创建垂垂垂·,,,,,,,,,,,,,,,,25410.8.3 Class mapping的使用-c1ass/perm内核态和用户态索引的转换.25710.8,4增加 class或者权限的方法25810.9和文件操作相关的回调数9. 1 selinux file mprotect回调函数25910.10和 AF UNIX SOCket相关的回调函数(todo),26310.11和程序执行相关的操作(todo).26410.11.1se1 inux bprm secureexec凼数-扩展 AT SECURE机制26410.11.1.1C库 AT SECURE机制介绍26410.11.1.2C库 AT SECURE机制演示26710.11.1.3 SELinux对 AT SECURE机制的扩展( Revisited).26911.用户态应用程序对 SeLinux的支持27211.11 selinux相关文件分析,27211.1.1 selinux config,c文件.,,27211.1.2 gelfilecon.c文件,,,,,27211.1.3 procattr.c文件.27211.1.4 compute relate1.c文件(访问/ selinux/ relate1)..27311.2 newrole源代码分析,27411.2.0 newrole命令的使用模型2742.1main函数7311.2.2 parse command linc arguments函数.,,,27611.2.3 relabel tty函数2761.3PAM模块分析..,27711.3.1 pam sC1inux.so作用分析(TODO27711.3.2pam1 oginuid,so作用分析,27811.3.3 pam name space.so作用分析.,27911.3.3.1多态( polyinstantiation)的作用,,,,,,,,,,,27911.3.3.2LSP对多态的配置,,,,,,,,,,,,,,28111.3.3.3 SELinux对 polyinstantiation的支持.,,,,28111.3.3.4解决在使能多态后 crond的使用间题28211.3.3.5 pam namespace,so源代码分析(IODO11.3.3.6有关 pam namespace.so的剩余问题8412. refpolicy的编译,链接,扩展,,,,,,,,,28512.1描朮标识符的数据结构8512.1.1 type datum t8512.1.2 common datum t12.1.3c1 ass datum t.,,,,,.,,,,.28612.1.4ro1 e datum t..,,,,,,曲D,.,28712.2描朮规则的数据结构..28812.2.1 AVTAB AV和 AVTAB TYPE类规则..,,,,28812.2.2 rolc transition规则●·垂,,,,,,,,,,,,,,,,,29012.3用户态 policy t数据结构分析.12.3.1 policy t数据结构综诚29012.3.2 symtab符号表.29412.3.3 avrule block t, avrule decl t FH scope stack t12.3.4 scope datum t-描迒标识符的定义者和使用者29712.3.5 scope index t-描逋一个b1ock/dec1内定义或引用的标识符.29712.3.6 cond node t-描朮一个ir- else conditiona29812.4 module的编译- checkmodu1e..30112.4.1编译过程核心数拥结构关系图30112.4.2 define policy- policy module词法分析....30212.4.3 begin optional- optional_ policy词法分析30412.4.4 declare type-type标识符的定义,,30312.4.5 require type-声明对type标识符的外部依赖31512.4.6 define te_ arab-TE规则的词法分析..31812.4.7 define role_ trans- role transition规则的词法分析32412.4.8 define conditional-if- else conditiona1的词法分析.2912.5 module的链接- semodule1ink.12.5.1链接过程核心数据结构关系图34012.5.2 symtab符号表的拷贝...,,,,,,34112.5.2.1 p types符号表的拷贝,,..34112.5.2.2所有其他标识符符号表的拷贝,,,,,,,,,,,,,,34412.5.2.3 p roles符号表的修正12.5.3 Scope符号表的拷贝34912.5.4链接过程的主要囪数调用链12.6 module的扩展- semodule_ expand37012.6.1 expand过程核心数据结构关系图..37012.6.2type的拷贝..37112.6.3 common的拷贝,,,37412.6.10 expand过程的核心函数调用链,.,,,37612.6.11展开规则的“字面”描诚- copy and expand avrule block囪数..38312.71ink和 expand过程的图解(new),,,,,,,,40012.7.1Role/ attribute标识符的1ink和 expand..…………40012.7.2 symtab的1ink和 expand,,,,,,403128规则中的m4宏定义(new)..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40513. seLinux的应用41013. 1 Labeled Networking (half-baked),,,,,,,,,,,,,,,,,,,,,,,41013.1.1 IPsec简介,,,,,41013.1.2 seLinux对本地网络的控制( compat-net),,,,,,。,,,,,,,41613.1.3用 Labeled ipsec实现分布式网络控制..41713.1.4 Linux內核ⅹIM相关数据结构.41813.1.5和 IPsec相关的类,权限和援囗D41813.1.6LSM中和 Labeled ipsec相关的回调函数,41913.1.6.1检查一个f1ow(发送或接收)能否使用一个SPD条目41913.1.6,2给SPD/SAD分配安全属性.,,,42113.1.6.3释放SPD/SAD中的安全属性,,,,,,,,,,,,,,,.42413.1.6.5逐包检查一个 socket能够接收一个skb42413.1.6,4获取发送方的安全上下文字符串..,,4231.7 Labeled ipsec环境的搭建.13.1.8观察 Labeled ipsec的行为43013.1.9和 Labeled ipscc相关的 SeLinux规则,432参考文献434简化 selinux操作的bash配置方法本文档各个版本的说明437注第1至5章包含自己对《 SELinux By example》一书的学习心得;第6至9章包含自己实际经验的总结第10和11章为 selinux内核和用户态源代码分析总结第12章为 refpolicy的编译过程源代码情景分析;第13章打算收录些 SeLinux在内核或者用户态的应用,比如 Labeled Networking,XACl等。l, Refpolicy有300+个p的实现,了解核心pp的实现,必须首先了解应用程序的行为以及安全目标2,阅读 sELinux- aware应用程序源代码,看如何使用 libselinux库函数,学习 sELinux用户态编程3,了解 sELinux语法,标识符的二进制表示形式,内核态和用户态的数据结构;4,学习 policy module的 compile/ expansion/1ink过程5,按照类别,逐步掌握LSM回调囪数的调用时机,所在内核子系统的原理,以及 SELinux对LSM回调函数的实现(参考《 Implementing sElinux as a lsm module》一文)6,掌握 seLinux对各个内核子系统核心数据结构的扩展7,学习XAC规范,体会如何开发 Userspace Ob、 ject Manager;8,积极阅读 Joshua,Dan等人的b1og,向前奉们学与。9,积极关注 selinux邮件列表上的问答和讨论,丰富自己的视野希望能通过自己坚持不懈的努力,证得同满的 sELinκ知识和智慧。引子1,软件的缺陷不可避免(无论过去,现在,或将来);2,没有底层操作系统的支持就无法真正实现上层软件的安全性D. Baker,《 Fortresses Built Upon Sand》操作系统中访问控制模型的演化1.1访问控制模型的概念( Reference moni tor)subjectsAccessobjectsAlertYes or No?Feference validation MechanismRuleelampcrpra吋DBVerifiableRY M由上图可见,访问控制模型由如下四部分组成1, Subjects:访间的发起者,比如系统中的进程2, Objects:被访闩的对象,比如架作系统所管理的仼何资源丶数捃(包拈进程,任意类型文件,Tc尸端口,甚至单个网络报文。总而言之,任何内核数据结构都可能成为被访问的对象)3, Rules de:规则库,在用户态实现的访问策略,定义 Object的属性并规定哪些Sub、ect可以通过什么样的方式对它进行访问;4,RVM( Reference validation mechanism):在操作系统内实现的机制,是汸问控制策略的执行者,在访问操作过程中根据规则库判断当前操作是否合法;Hinx首先需要标识访问者和被访问的对象,由下文可知相关信息保存在进程的 task struct以及其他内核数据结构中 security指针所指向的数据结构中(注意这些数据结构都是运行时动态创建的,安全属性信息来源于文件在辅存上的扩展属性,以及规则库中的 Initia1S1定义等)。白用户态定义的访问规则库指定哪些访闩老能够以何种方弌访问哪些对象,而内核屮的SεLix机制则根据当前操作的访问者和被访问对象,查询规则库得到Yes/No结论。1.2DAC( Discretionary Access Contro1)的致命伤¨ discretionary”一词的含义为“ not contro1 led bv strict rules, but decided on by someonein a position of authority”,所以DAc的本质是由文件的属主定义其它用户对该文件的许可访问方式,其“ owner-group-wor ld”模型如下:S 1s -1 /usr/bin/passwdrwsr-xr-x I rootroot 37084 2009-04-04 13: 49/usr/bin/passwd系统中所有文件属主给各自文件所定义的“ owner-group-wor d”模型的总和,即为DAC下访问规则库的实现。DAC的开发环境(相对封闭的开发社区,或大学实验室)和对软件使用环境的假设(软件没有缺陷且运行环境友好)注定了DAC存在着天生缺陷:进程和文件的安全属性都基于(且总是基于)uid/euid和gid/egid,无论进程执行什么应用程序,其uid/euid都不改变(暂不考虑 setuid类程序),无法将进程所执行程序的行为和可靠性(安全性)标识到进程的安全属性中,导致操作系统无法有针对性地对进程施加访问控制比如,用户登录 shell进程会创建子进程以执行shel1的外部命令,子进程继承父进程的uid/gid,所以无法通过uid/gid来区分父子进程,即无法区分用户人为的操作和通过程序执行的操作。比如,无法限制 passwd程序只能被用户在命令行执行,而不能被属于该用户的其它进程执行。显然,“用户(登录hc11进程)是可信的”绝对不等于“用户执行的程序(后继fork的子进程)也是可信的”。登录sh1进程的行为由用户有意识地支配,而属于该用户的进程的行为则由其执行的实际程序决定。但是程序可能冇在安全漏洞,一巨被攻击植入恶意代码,黑客将具有该用户在系统上的所有权力(比如恶意删除用户的文件,盗取uid/gid所能读取的文件的内容,执行 passwd程序修改用户的密码)另外,用户进程可以执行各种应用程序,而这些程序自身的行为丶对系统安仝性的景响都不尽相同,比如网络类应用程序更容易受到外界病毒的攻击,相应地操作系统应该对此类应用施加更为严格的访冋控制。显然无法通过进程的uid/gid来描当前进程所执行的程序的安全性,因此操作系统也无法有针对性地实施访问控制。综上所逋,仪将uid/gid来作为进程和文件的安全属性是远远不够的最后,DAC的另一个缺点是对权力的管理和划分不够细致(只有两种情况:root或non-root),无法进步细分丶限制root用户的能力。一旦euid/ egid为0的进稈被攻破,将危害整个系统的安全1.3MAC( Mandatory access Contro1)的起源针对DAC的缺点,在ⅥAC中不再由访问对象的属主定义不同用户对其的许可访问方式,而是由匿定的规则库决定。MAC最初的研究由美国军方的MLS(u1ti- Leve1 Security)应用所推动,它将访问主体和被访问对象分成不同的安全级别,严格控制信息只能从低安全级别向高安全级别流动:低安全级别的丰体只能向高安全性的数捃对象中追加新的数据,并∏禁上读取;高安全级别的主体能够读取低安全级别的数据,并且禁止任何形式的写入(即“ no read up, no write down”)ⅥS只定位于数据保密性而并不关心数据完整性和最小权能原则( east, Privilege),以及对进程的能力进行分类。后来的FASK安全系统模型着眼于解决这些不足,而 SELinux则是FASK在 Linux内核中的实现1.4 Selinux的TE( Type Enforcement)模型SELinux作为MAC的一和实现,通过中央规则库( policy.x,二进制数据文件)给所有进程丶所有文件内核数据结构定义各自的安全标识(标签,1abel/type),明碓定义被访问对象所支持的访问方式,并规定进程标签对被访问对象的合法的访问方式。在配置 SELinux时给整个文件系统上的所有文件设置标签,在系统启动过程中init进程经由 selinux接口装载 policy.X到內核空间,由內核中的 SecuritvServer在处理用户态系统调用时实时査询(注,这里所说的“ Security server”,即为 sELinux内核驱动中定义的各种数据结构,比如 sistah, policy, AVC cache,以及在 services.c文件中定义的各种以“ security”开头的函数)
    2020-12-04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载