书签 分享 收藏 举报 版权申诉 / 72
上传文档赚钱

类型GNU工具链里的漏洞利用缓解技术.pptx

  • 上传人(卖家):无敌的果实
  • 文档编号:5271820
  • 上传时间:2023-03-04
  • 格式:PPTX
  • 页数:72
  • 大小:2.11MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《GNU工具链里的漏洞利用缓解技术.pptx》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    GNU 工具 漏洞 利用 缓解 技术
    资源描述:

    1、A A traveltravel throughthrough exploitexploitmitigationsmitigations inin GNUGNU toolchainstoolchains#ls#ls -l-l00whoami01GCC/ld/Glibcdlinternals0100GCCinternals0101ldinternals0102Glibcdlinternals02smashingthestack03implementationofclassicalmitigations0300stackcanary0301NX(NoeXecutable)0302PIC/PIE&A

    2、SLR0303relro04returnorientedprogramming05CFI&implementationinGCC06introtoRAPofPaX/Grsecurity0000 whoamiwhoamicoderwholemylifeworkedonSDCC/gputils,GCC/binutils,LLVMsecurityengineer&memberofhardenedlinux/h4rdenedzer0writeaC89compilerfromscratchonlyforfun(20092012)0101 GCC/ld/GlibcGCC/ld/Glibcdynamic-l

    3、inkerdynamic-linker internalsinternals0100GCCinternals0101ldinternals0102Glibcdlinternals01000100 GCCGCC internals/sourceinternals/source directorydirectory overviewoverviewzetfuck-GFW/dust/gcc/gcc-6.2.0$ls-lFABOUT-NLS/*gettext*/boehm-gc/*java gc*/compile*config/*script call gcc by user*/*lots of m4

    4、 script*/config.guess*config-ml.inconfig.rpath*config.sub*configure*configure.accontrib/*download prerequest/generate man pages*/*call compiler generate dependency*/depcomp*fixincludes/*fix(macro)system header to work with gcc*/gnattools/gotools/include/INSTALL/*Ada*/*golang*/*getopt.h,sha1.h,etc*/*

    5、html install files*/01000100 GCCGCC internals/sourceinternals/source directorydirectory overviewoverviewzetfuck-GFW/dust/gcc/gcc-6.2.0$ls-lFinstall-sh*intl/*called by make install*/*gettext*/libada/libatomic/libbacktrace/libcc1/libcilkrts/libcpp/*_sync/_atomic*/*output like gdb backtrace*/*gdb evalu

    6、te code on current context*/*intel cilk runtime*/*C preprocessor*/libdecnumber/libffi/libgcc/*decimal float library*/*part of java runtime*/*GCC runtime library:crt,vtv*/libgfortran/libgo/libgomp/libiberty/libitm/*OpenMP*/*vfork/md5*/*transaction memory*/libjava/libmpx/*Intel Memory Protection Exten

    7、sions*/01000100 GCCGCC internals/sourceinternals/source directorydirectory overviewoverviewzetfuck-GFW/dust/gcc/gcc-6.2.0$ls-lFlibobjc/liboffloadmic/libquadmath/libsanitizer/libssp/libstdc+-v3/libvtv/*intel MIC runtime offload library*/*quad-precious math operations*/*leak/use after free/overflow,et

    8、c*/*stack smash protection*/*C+runtime*/*after*/lto-plugin/zlib/gcc/*link time optimization*/*part of java runtime*/*frontend,middleend,backend*/01000100 GCCGCC internals/overviewinternals/overview ofof toolchainstoolchainssourceprogramcc1cppgccaslinkerlibctargetprogram01000100 GCCGCC internals/driv

    9、erinternals/drivermain /*in file gcc-main.c*/driver:main /*gcc.c*/decode_argv set_up_specs /*for cc1/as/ld*/do_spec_on_infiles /*for(n_infiles)*/lookup_compiler /*find compiler from suffix*/do_spec do_spec_2 do_spec_1 execute pex_init/*piped execute*/pex_run pex_run_in_environment obj-funcs-exec_chi

    10、ld/*call cc1*/maybe_run_linker /*collect2*/01000100 GCCGCC internals/driverinternals/drivermain /*in file gcc-main.c*/driver:main /*gcc.c*/decode_argv set_up_specs /*for cc1/as/ld*/do_spec_on_infiles /*for(n_infiles)*/lookup_compiler /*find compiler from suffix*/do_spec do_spec_2 do_spec_1 execute p

    11、ex_init/*piped execute*/pex_run pex_run_in_environment obj-funcs-exec_child/*call cc1*/maybe_run_linker /*collect2*/01000100 GCCGCC internals/driverinternals/drivermain /*in file gcc-main.c*/driver:main /*gcc.c*/decode_argv set_up_specs /*for cc1/as/ld*/do_spec_on_infiles /*for(n_infiles)*/lookup_co

    12、mpiler /*find compiler from suffix*/do_spec do_spec_2 do_spec_1 execute pex_init/*piped execute*/pex_run pex_run_in_environment obj-funcs-exec_child/*call cc1*/maybe_run_linker /*collect2*/01000100 GCCGCC internals/driverinternals/drivermain /*in file gcc-main.c*/driver:main /*gcc.c*/decode_argv set

    13、_up_specs /*for cc1/as/ld*/do_spec_on_infiles /*for(n_infiles)*/lookup_compiler /*find compiler from suffix*/do_spec do_spec_2 do_spec_1 execute pex_init/*piped execute*/pex_run pex_run_in_environment obj-funcs-exec_child/*call cc1*/maybe_run_linker /*collect2*/01000100 GCCGCC internals/driverintern

    14、als/drivermain /*in file gcc-main.c*/driver:main /*gcc.c*/decode_argv set_up_specs /*for cc1/as/ld*/do_spec_on_infiles /*for(n_infiles)*/lookup_compiler /*find compiler from suffix*/do_spec do_spec_2 do_spec_1 execute pex_init/*piped execute*/pex_run pex_run_in_environment obj-funcs-exec_child/*call

    15、 cc1*/maybe_run_linker /*collect2*/01000100 GCCGCC internals/driverinternals/drivermain /*in file gcc-main.c*/driver:main /*gcc.c*/decode_argv set_up_specs /*for cc1/as/ld*/do_spec_on_infiles /*for(n_infiles)*/lookup_compiler /*find compiler from suffix*/do_spec do_spec_2 do_spec_1 execute pex_init/

    16、*piped execute*/pex_run pex_run_in_environment obj-funcs-exec_child/*call cc1*/maybe_run_linker /*collect2*/01000100 GCCGCC internals/whatinternals/what doesdoes specsspecs filefile dodozetfuck-GFW/bin/gcc-6.2.0/bin$./g+-#main.cc-fvtable-verify=std-o main verified_lib.so Using built-in specs.COLLECT

    17、_GCC=./g+COLLECT_LTO_WRAPPER=/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapperTarget:x86_64-pc-linux-gnuConfigured with:./configure-disable-checking enable-languages=c,c+-enable-libstdcxx-threads enable-vtable-verify=yes-prefix=/home/zet/bin/gcc-6.2.0Thread model:posixgcc ver

    18、sion 6.2.0(GCC)COLLECT_GCC_OPTIONS=-fvtable-verify=std-o main-shared-libgcc-mtune=generic-march=x86-64/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/cc1plus-quiet-imultiarch x86_64-linux-gnu-D_GNU_SOURCE main.cc-quiet-dumpbase main.cc-mtune=generic-march=x86-64-auxbase main-fvtable-ve

    19、rify=std-o/tmp/ccVN0GoS.sCOLLECT_GCC_OPTIONS=-fvtable-verify=std-o main-shared-libgcc-mtune=generic-march=x86-64 as-64-o/tmp/ccUBFg31.o/tmp/ccVN0GoS.sCOMPILER_PATH=/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/:/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/:/home/zet/

    20、bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/:/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/:/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/LIBRARY_PATH=/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/:/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/././././lib6

    21、4/:/lib/x86_64-linux-gnu/:/lib/./lib64/:/usr/lib/x86_64-linux-gnu/:/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/./././:/lib/:/usr/lib/COLLECT_GCC_OPTIONS=-fvtable-verify=std-o main-shared-libgcc-mtune=generic-march=x86-64/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/coll

    22、ect2-plugin/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/liblto_plugin.so-plugin-opt=/home/zet/bin/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapper-plugin-opt=-fresolution=/tmp/cc9F8SHb.res-plugin-opt=-pass-through=-lgcc_s-plugin-opt=-pass-through=-lgcc-plugin-opt=-pass-th

    23、rough=-lc-plugin-opt=-pass-through=-lgcc_s-plugin-opt=-pass-through=-lgcc-eh-frame-hdr-m elf_x86_64-dynamic-linker/lib64/ld-linux-x86-64.so.2-o main/usr/lib/x86_64-linux-gnu/crt1.o/usr/lib/x86_64-linux-gnu/crti.o/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/crtbegin.o/home/zet/bin/gcc-6.

    24、2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/vtv_start.o-L/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0-L/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/././././lib64-L/lib/x86_64-linux-gnu-L/lib/./lib64-L/usr/lib/x86_64-linux-gnu-L/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6

    25、.2.0/././.-lvtv-u_vtable_map_vars_start-u_vtable_map_vars_end/tmp/ccUBFg31.o verified_lib.so-lstdc+-lm-lgcc_s-lgcc-lc-lgcc_s-lgcc/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/vtv_end.o/home/zet/bin/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/crtend.o/usr/lib/x86_64-linux-gnu/crtn.oCOLLEC

    26、T_GCC_OPTIONS=-fvtable-verify=std-o main-shared-libgcc-mtune=generic-march=x86-6401000100 GCCGCC internals/gccinternals/gcc corecoremain/*file main.c*/toplev:main/*file toplev.c*/decode_options do_compile compile_file lang_hooks.parse_file=c_common_parse_file symtab-finalize_compilation_unit targetm

    27、.asm_out.file_end=file_end_indicate_exec_stack /*varasm.c*/01000100 GCCGCC internals/gccinternals/gcc corecoremain/*file main.c*/toplev:main/*file toplev.c*/decode_options do_compile compile_file lang_hooks.parse_file=c_common_parse_file symtab-finalize_compilation_unit targetm.asm_out.file_end=file

    28、_end_indicate_exec_stack /*varasm.c*/01000100 GCCGCC internals/gccinternals/gcc corecoremain/*file main.c*/toplev:main/*file toplev.c*/decode_options do_compile compile_file lang_hooks.parse_file=c_common_parse_file symtab-finalize_compilation_unit targetm.asm_out.file_end=file_end_indicate_exec_sta

    29、ck /*varasm.c*/01000100 GCCGCC internals/gccinternals/gcc corecoremain/*file main.c*/toplev:main/*file toplev.c*/decode_options do_compile compile_file lang_hooks.parse_file=c_common_parse_file/*back next*/symtab-finalize_compilation_unit /*last*/targetm.asm_out.file_end=file_end_indicate_exec_stack

    30、 /*varasm.c*/01000100 GCCGCC internals/gccinternals/gcc corecoremain/*file main.c*/toplev:main/*file toplev.c*/decode_options do_compile compile_file lang_hooks.parse_file=c_common_parse_file symtab-finalize_compilation_unit targetm.asm_out.file_end=file_end_indicate_exec_stack /*.note.GNU-stack in

    31、file varasm.c*/01000100 GCCGCC internals/gccinternals/gcc corecorelang_hooks.parse_file=c_common_parse_file c_parse_file c_parser_translation_unit c_parser_external_declaration c_parser_declaration_or_fndef/*function*/c_parser_declspecs/*parse specifiers*/c_parser_compound_statement finish_function/

    32、*finish parsing*/c_genericize/*frontend tree to GENERIC*/cgraph_finalize_function /*create cgraph_node*/PS.C/C+convertdirectlyfromfrontendtree(cfamily/ccommon.def)toGIMPLE.01000100 GCCGCC internals/gccinternals/gcc corecorelang_hooks.parse_file=c_common_parse_file c_parse_file c_parser_translation_u

    33、nit c_parser_external_declaration c_parser_declaration_or_fndef/*function*/c_parser_declspecs/*parse specifiers*/c_parser_compound_statement finish_function/*finish parsing*/c_genericize/*frontend tree to GENERIC*/cgraph_finalize_function /*create cgraph_node*/PS.C/C+convertdirectlyfromfrontendtree(

    34、cfamily/ccommon.def)toGIMPLE.01000100 GCCGCC internals/gccinternals/gcc corecorelang_hooks.parse_file=c_common_parse_file c_parse_file c_parser_translation_unit c_parser_external_declaration c_parser_declaration_or_fndef/*function*/c_parser_declspecs/*parse specifiers*/c_parser_compound_statement fi

    35、nish_function/*finish parsing*/c_genericize/*frontend tree to GENERIC*/cgraph_finalize_function /*create cgraph_node*/PS.C/C+convertdirectlyfromfrontendtree(cfamily/ccommon.def)toGIMPLE.01000100 GCCGCC internals/gccinternals/gcc corecoresymtab-finalize_compilation_unit analyze_functions /*create GIM

    36、PLE*/cgraph_node:analyze gimplify_function_tree gimplify_body gimplify_stmt gimplify_expr compile /*transforms&optimizations*/ipa_passes /*symbol visibility,etc*/execute_ipa_pass_list(passes-all_small_ipa_passes)/*devirtualization,etc*/execute_ipa_pass_list(passes-all_regular_ipa_passes)/*target inv

    37、olved*/execute_ipa_pass_list(all_late_ipa_passes)expand_all_functions nodeexpand execute_pass_list(all_passes)01000100 GCCGCC internals/gccinternals/gcc corecoresymtab-finalize_compilation_unit analyze_functions /*create GIMPLE*/cgraph_node:analyze gimplify_function_tree gimplify_body gimplify_stmt

    38、gimplify_expr compile /*transforms&optimizations*/ipa_passes /*symbol visibility,etc*/execute_ipa_pass_list(passes-all_small_ipa_passes)/*devirtualization,etc*/execute_ipa_pass_list(passes-all_regular_ipa_passes)/*target involved*/execute_ipa_pass_list(all_late_ipa_passes)expand_all_functions nodeex

    39、pand execute_pass_list(all_passes)01000100 GCCGCC internals/gccinternals/gcc corecoresymtab-finalize_compilation_unit analyze_functions /*create GIMPLE*/cgraph_node:analyze gimplify_function_tree gimplify_body gimplify_stmt gimplify_expr compile /*transforms&optimizations*/ipa_passes /*symbol visibi

    40、lity,etc*/execute_ipa_pass_list(passes-all_small_ipa_passes)/*devirtualization,etc*/execute_ipa_pass_list(passes-all_regular_ipa_passes)/*target involved*/execute_ipa_pass_list(all_late_ipa_passes)expand_all_functions nodeexpand execute_pass_list(all_passes)01000100 GCCGCC internals/gccinternals/gcc

    41、 corecoresymtab-finalize_compilation_unit analyze_functions /*create GIMPLE*/cgraph_node:analyze gimplify_function_tree gimplify_body gimplify_stmt gimplify_expr compile /*optimizations*/ipa_passes /*symbol visibility,etc*/execute_ipa_pass_list(passes-all_small_ipa_passes)/*devirtualization,etc*/exe

    42、cute_ipa_pass_list(passes-all_regular_ipa_passes)/*target involved*/execute_ipa_pass_list(all_late_ipa_passes)expand_all_functions nodeexpand execute_pass_list(all_passes)01000100 GCCGCC internals/gccinternals/gcc corecoresymtab-finalize_compilation_unit analyze_functions /*create GIMPLE*/cgraph_nod

    43、e:analyze gimplify_function_tree gimplify_body gimplify_stmt gimplify_expr compile /*optimizations*/ipa_passes /*symbol visibility,etc*/execute_ipa_pass_list(passes-all_small_ipa_passes)/*devirtualization,etc*/execute_ipa_pass_list(passes-all_regular_ipa_passes)/*target involved*/execute_ipa_pass_li

    44、st(all_late_ipa_passes)expand_all_functions nodeexpand execute_pass_list(all_passes)01000100 GCCGCC internals/gccinternals/gcc corecoreexecute_pass_list(all_passes)execute_pass_list_1 execute_one_pass pass_expand:execute /*pass named expand*/expand_gimple_basic_block expand_gimple_stmt expand_gimple

    45、_stmt_1 expand_assignment expand_expr expand_expr_real expand_expr_real_1 store_expr_with_bounds emit_move_insn emit_move_insn_1 insn_gen_fn:operator()gen_movsi ix86_expand_move emit_insn01000100 GCCGCC internals/gccinternals/gcc corecore/*find all the passes*/gcc-source/gcc/passes.def/*find all the

    46、 passes of special type*/*optimization pass type.*/enum opt_pass_type GIMPLE_PASS,RTL_PASS,SIMPLE_IPA_PASS,IPA_PASS;01010101 binutils/ldbinutils/ld internalsinternalsmain/*ld/ldmain.c*/expandargv bfd_init lang_init output_section_statement_table_init /*input/output/assignment/gounp*/stat_ptr=&statem

    47、ent_list;ldexp_init /*for parse sdcript*/*architecture specific init*/ldemul_before_parse=gldelf_i386_before_parse parse_args yyparse /*next*/lang_final /*add output_file_name to stat_ptr*/*set PIE flag,entry point symbol to undefines*/ldemul_after_parse=gldelf_i386_after_parse lang_process /*next*/

    48、ld_write /*next*/01010101 binutils/ldbinutils/ld internalsinternalsmain/*ld/ldmain.c*/expandargv bfd_init lang_init output_section_statement_table_init /*input/output/assignment/gounp*/stat_ptr=&statement_list;ldexp_init /*for parse sdcript*/*architecture specific init*/ldemul_before_parse=gldelf_i3

    49、86_before_parse parse_args yyparse /*next*/lang_final /*add output_file_name to stat_ptr*/*set PIE flag,entry point symbol to undefines*/ldemul_after_parse=gldelf_i386_after_parse lang_process /*next*/ld_write /*next*/01010101 binutils/ldbinutils/ld internalsinternalsmain/*ld/ldmain.c*/expandargv bf

    50、d_init lang_init output_section_statement_table_init /*input/output/assignment/gounp*/stat_ptr=&statement_list;ldexp_init /*for parse sdcript*/*architecture specific init*/ldemul_before_parse=gldelf_i386_before_parse parse_args yyparse /*next*/lang_final /*add output_file_name to stat_ptr*/*set PIE

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:GNU工具链里的漏洞利用缓解技术.pptx
    链接地址:https://www.163wenku.com/p-5271820.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库