Õ»Òç³ö£¨stack smashing£©
¡¡¡¡Î´¼ì²éÊäÈ뻺³åÇø³¤¶È£¬µ¼ÖÂÊý×éÔ½½ç£¬¸²¸ÇÕ»Öоֲ¿±äÁ¿¿Õ¼äÖ®ÉϵÄÕ»èåÖ¸Õë%ebpÒÔ¼°º¯Êý·µ»ØµØÖ·retaddr, µ±º¯Êý·µ»ØÖ´ÐÐretÖ¸Áîʱ£¬retaddr´ÓÕ»Öе¯³ö£¬×÷ΪÏÂÒ»ÌõÖ¸ÁîµÄµØÖ·¸³¸ø%eip¼Ä´æÆ÷£¬¼Ì¶ø¸Ä±äÔ³ÌÐòµÄÖ´ÐÐÁ÷³ÌÖ¸ÏòÎÒÃǵÄshellcode.
¶ÑÒç³ö£¨malloc/free heap corruption£©
¡¡¡¡Ò»ÖÖÊǺʹ«Í³µÄÕ»Òç³öÒ»Ñù,µ±ÊäÈ볬³ömalloc()Ô¤ÏÈ·ÖÅäµÄ¿Õ¼ä´óС£¬¾Í»á¸²¸ÇµôÕâ¶Î¿Õ¼äÖ®ºóµÄÒ»¶Î´æ´¢ÇøÓò£¬Èç¹û¸Ã´æ´¢ÇøÓòÓÐÒ»¸öÖØÒªµÄ±äÁ¿±ÈÈçeuid£¬ÄÇôÎҾͿÉÒÔÓÃËüÀ´¹¥»÷¡£ÁíÒ»ÖÖÊǵäÐ͵Ädouble-free¶Ñ¸¯°Ü£¬ÔÚÄÚ´æ»ØÊÕ²Ù×÷ÖУ¬ºÏ²¢ÏàÁÚ¿ÕÏпéÖØвåÈëË«ÏòÁ´±íʱ»áÓÐÒ»¸öд4×Ö½ÚÄÚ´æµÄ²Ù×÷£¬Èç¹ûÈõµã³ÌÐòÓÉÓÚ±à³Ì´íÎófree()Ò»¸ö²»´æÔڵĿ飬ÎÒÃǾͿÉÒÔ¾«ÐÄαÔìÕâ¸ö¿é£¬´Ó¶ø¸²¸ÇÈκÎÎÒÃÇÏëÒªµÄÖµ£ºº¯ÊýµÄ·µ»ØµØÖ·¡¢¿âº¯ÊýµÄ.pltµØÖ·µÈ
¸ñʽ»¯×Ö·û´Ü©¶´£¨format string vulnerability£©
¡¡¡¡Èç¹û¸ñʽ´ÜÓÉÓû§¶¨ÖÆ£¬¹¥»÷Õ߾ͿÉÒÔÈÎÒâαÔì¸ñʽ´Ü£¬ÀûÓÃ*printf()ϵÁк¯ÊýµÄÌØÐԾͿÉÒÔ¿ú̽¶ÑÕ»¿Õ¼äµÄÄÚÈÝ£¬³¬³£ÊäÈë¿ÉÒÔÒý·¢´«Í³µÄ»º³åÇøÒç³ö£¬»òÊÇÓá±%n¡±¸²¸ÇÖ¸Õë¡¢·µ»ØµØÖ·µÈ¡£
ÕûÐαäÁ¿Òç³ö£¨integer variable overflow£©
¡¡¡¡ÀûÓÃÕûÊýµÄ·¶Î§¡¢·ûºÅµÈÎÊÌâ´¥·¢°²È«Â©¶´£¬´ó¶àÊýÕûÐÎÒç³ö²»ÄÜÖ±½ÓÀûÓ㬵«Èç¹û¸ÃÕûÐαäÁ¿¾ö¶¨ÄÚ´æ·ÖÅäµÈ²Ù×÷£¬ÎÒÃǾÍÓпÉÄܼä½ÓÀûÓø鶴¡£
ÆäËûµÄ¹¥»÷ÊÖ·¨£¨others£©
¡¡¡¡Ö»ÄÜËãÊÇÊÖ·¨£¬²»ÄÜËãÊÇÒ»ÖÖµ¥¶ÀµÄÀà±ð¡£ÀûÓÃELFÎļþ¸ñʽµÄÌØÐÔÈ磺¸²¸Ç.plt£¨¹ý³ÌÁ¬½Ó±í£©¡¢.dtor£¨Îö¹¹º¯ÊýÖ¸Õ룩¡¢.got£¨È«¾ÖÆ«ÒÆ±í£©¡¢return-to-libc£¨·µ»Ø¿âº¯Êý£©µÈµÄ·½Ê½½øÐй¥»÷¡£
¡¡¡¡Ò»¡¢±àÒë±£»¤¼¼Êõ
Stackguard
¡¡¡¡ÒòΪ»º³åÇøÒç³öµÄͨ³£¶¼»á¸Äдº¯Êý·µ»ØµØÖ·£¬stackguardÊǸö±àÒëÆ÷²¹¶¡£¬Ëü²úÉúÒ»¸ö£¢canary£¢Öµ(Ò»¸öµ¥×Ö)·Åµ½·µ»ØµØÖ·µÄÇ°Ã棬Èç¹ûµ±º¯Êý·µ»Øʱ£¬·¢ÏÖÕâ¸öcanaryµÄÖµ±»¸Ä±äÁË£¬¾ÍÖ¤Ã÷¿ÉÄÜÓÐÈËÕýÔÚÊÔͼ½øÐлº³åÇøÒç³ö¹¥»÷£¬³ÌÐò»áÁ¢¿ÌÏìÓ¦£¬·¢ËÍÒ»ÌõÈëÇÖ¾¯¸æÏûÏ¢¸øsyslogd,È»ºóÖÕÖ¹½ø³Ì¡££¢canary£¢°üº¬£ºNULL£¨0x00£©£¬ CR£¨0x0d£©£¬ LF £¨0x0a£© ºÍ EOF £¨0xff£©Ëĸö×Ö ·û£¬ËüÃÇÓ¦¸Ã¿ÉÒÔ×èÖ¹´ó²¿·ÖµÄ×Ö·û´®²Ù×÷£¬Ê¹Òç³ö¹¥»÷ÎÞЧ¡£Ò»¸öËæ»úÊýcanaryÔÚ³ÌÐòÖ´ÐеÄʱºò±»²úÉú¡£ËùÒÔ¹¥»÷Õß²»ÄÜͨ¹ýËÑË÷³ÌÐòµÄ¶þ½øÖÆÎļþµÃµ½£¢canary£¢Öµ¡£Èç¹û/dev/urandom´æÔÚ£¬Ëæ»úÊý¾Í´ÓÄÇÀïÈ¡µÃ¡£·ñÔò£¬¾Í´Óͨ¹ý¶Ôµ±Ç°Ê±¼ä½øÐбàÂëµÃµ½¡£ÆäËæ»úÐÔ×ãÒÔ×èÖ¹¾ø´ó²¿·ÖµÄÔ¤²â¹¥»÷¡£ImmunixϵͳΪ²ÉÓÃstackguard±àÒëµÄRed Hat Linux,µ«stackguardËùÌṩµÄ±£»¤²¢·Ç¾ø¶Ô°²È«£¬Âú×ãһЩÌõ¼þ¾Í¿ÉÒÔÍ»ÆÆÏÞÖÆ£ºÈ縲¸ÇÒ»¸öº¯ÊýÖ¸Õë¡¢¿ÉÄÜ´æÔÚµÄexit()»ò_exit()ϵͳµ÷ÓõØÖ·¡¢GOTµÈ¡£
Stackshield
¡¡¡¡StackShieldʹÓÃÁËÁíÍâÒ»ÖÖ²»Í¬µÄ¼¼Êõ¡£ËüµÄ×ö·¨ÊÇ´´½¨Ò»¸öÌرðµÄ¶ÑÕ»ÓÃÀ´´¢´æº¯Êý·µ»ØµØÖ·µÄÒ»·Ý¿½±´¡£ËüÔÚÊܱ£»¤µÄº¯ÊýµÄ¿ªÍ·ºÍ½áβ·Ö±ðÔö¼ÓÒ»¶Î´úÂ룬¿ªÍ·´¦µÄ´úÂëÓÃÀ´½«º¯Êý·µ»ØµØÖ·¿½±´µ½Ò»¸öÌØÊâµÄ±íÖУ¬¶ø½áβ´¦µÄ´úÂëÓÃÀ´½«·µ»ØµØÖ·´Ó±íÖп½±´»Ø¶ÑÕ»¡£Òò´Ëº¯ÊýÖ´ÐÐÁ÷³Ì²»»á¸Ä±ä£¬½«×ÜÊÇÕýÈ··µ»Øµ½Ö÷µ÷º¯ÊýÖС£ÔÚеİ汾ÖÐÒѾÔö¼ÓÁËһЩеı£»¤´ëÊ©£¬µ±µ÷ÓÃÒ»¸öµØÖ·ÔÚ·ÇÎı¾¶ÎÄڵĺ¯ÊýÖ¸Õëʱ£¬½«ÖÕÖ¹º¯ÊýµÄÖ´ÐС£
¡¡¡¡StackshieldÎÞ·¨·ÀÓùÖ»¸²¸Ç%ebpµÄµ¥×Ö½ÚÒç³ö£¬Í¬Ñù£¬ÎÒÃÇÒ²¿ÉÒÔͨ¹ý¸²¸ÇÆäËûµÄELF½á¹¹À´ÈƹýÏÞÖÆ¡£
¡¡¡¡¶þ¡¢¿âº¯ÊýÁ´½Ó±£»¤
Formatguard
¡¡¡¡FormatguardÊǸöGlibcµÄ²¹¶¡£¬×ñÑGPL£¬ËüʹÓÃÌØÊâµÄCPP£¨gccÔ¤±àÒë³ÌÐò£©ºêÈ¡´úÔÓеÄ*printf()µÄ²ÎÊýͳ¼Æ·½Ê½£¬Ëü»á±È½Ï´«µÝ¸ø*printfµÄ²ÎÊýµÄ¸öÊýºÍ¸ñʽ´ÜµÄ¸öÊý£¬Èç¹û¸ñʽ´ÜµÄ¸öÊý´óÓÚʵ¼Ê²ÎÊýµÄ¸öÊý£¬¾ÍÅж¨Îª¹¥»÷ÐÐΪ£¬Ïòsyslogd·¢ËÍÏûÏ¢²¢ÖÕÖ¹½ø³Ì¡£Èç¹ûÈõµã³ÌÐòµ÷ÓÃGlibcÒÔÍâµÄ¿â£¬formatguard¾ÍÎÞ·¨±£»¤¡£
Libsafe
¡¡¡¡LibsafeÊÇÒ»¸ö¶¯Ì¬Á´½Ó¿â£¬ÔÚ±ê×¼µÄC¿â֮ǰ±»¼ÓÔØ£¬Ö÷Òª¼Ó¹ÌÁËgets()£¬strcpy()£¬strcat()£¬sprintf()¡¡µÈÈÝÒ×·¢Éú°²È«ÎÊÌâµÄCº¯Êý£¬ËüÉè¼ÆΪֻÕë¶Ôstack smashing && format stringÀàÐ͵Ĺ¥»÷¡£Alert7ºÜÔçҲд¹ýÈçºÎÈƹýlibsafe±£»¤µÄÎÄÕ¡£
Èý¡¢Õ»²»¿ÉÖ´ÐÐ
Solar designer¡¯s nonexec kernel patch
¡¡¡¡´ÓÃû×Ö¿ÉÒÔ¿´³öÕâÊÇÒ»¸öLinuxÉϵÄÄں˲¹¶¡£¬¸Ã²¹¶¡×îÖ÷ÒªµÄÌØÐÔÊÇ£ºÓû§Çø¶ÑÕ»²»¿ÉÖ´ÐÐ[Non-executable User Stack]ÓÉÓÚx86 CPUÉϲ¢Ã»ÓÐÌṩҳ£¨page£©Ö´ÐеÄbit룬ËùÒԸò¹¶¡Í¨¹ý¼õС´úÂë¶ÎµÄÐéÄâµØÖ·À´Çø·ÖÊý¾Ý¶ÎºÍ´úÂë¶Î£¬³ÌÐòÖ´ÐÐÁ÷·µ»Ø 0xC0000000ÒÔÏÂÒ»¶ÎÓû§¶ÑÕ»¿Õ¼äµÄ²Ù×÷¶¼±»ÈÏΪÊÇ»º³åÇøÒç³ö¹¥»÷ÐÐΪ£¬Ëæ¼´²úÉúÒ»¸öͨÓñ£»¤Òì³£¶øÖÕÖ¹½ø³Ì¡£ÕâÑù°Ñshellcode°²ÖÃÔÚbuffer»ò»·¾³±äÁ¿£¨¶¼Î»ÓÚ¶ÑÕ»¶Î£©µÄexploit¶¼»áʧЧ¡£µ±È»Æ䰲ȫҲ²»ÊǾø¶ÔµÄ£¬ÀûÓÃPLT·µ»Ø¿âº¯ÊýµÄÎÄÕÂÀïÏêϸÃèÊöÁËÍ»ÆƸò¹¶¡µÄ¹¥»÷·½·¨¡£¸Ã²¹¶¡»¹ÓÐһЩÆäËûµÄÌØÐÔ£º¶¯Ì¬Á´½Ó¿âÓ³Éäµ½µØÖ·µÍ¶Ë£¨0x00¿ªÊ¼£©¡¢ÏÞÖÆ·ûºÅÁ´½Ó¹¥»÷¡¢/tmpĿ¼ÏÞÖÆ¡¢/procĿ¼ÏÞÖÆ¡¢execveϵͳµ÷Óüӹ̵ȡ£
Solaris/SPARC nonexec-stack protection
¡¡¡¡ÔÚSolaris/SPARCÏ¿ÉÒÔͨ¹ýÈ¥µô¶ÑÕ»µÄÖ´ÐÐȨÏÞÀ´½ûÖ¹¶ÑÕ»¶ÎÖ´ÐУ¬·½·¨ÈçÏ£¬ÔÚ/etc/systemÖмÓÈëÁ½ÌõÓï¾ä£º
¡¡¡¡Set noexec_user_stack = 1
¡¡¡¡Set noexec_user_stack_log = 1
¡¡¡¡µÚÒ»Ìõ½ûÖ¹¶ÑÕ»Ö´ÐУ¬µÚ¶þÌõ¼Ç¼ËùÓг¢ÊÔÔÚ¶ÑÕ»¶ÎÔËÐдúÂëµÄ»î¶¯¡£RebootÖ®ºó²Å»áÉúЧ¡£ËùÓÐÖ»ÈÃÕ»²»¿ÉÖ´Ðеı£»¤ÊÇÓÐÏ޵ġ£Return-to-libc¡¢fake frameÖ®ÀàµÄ¼¼Êõ¶¼¿ÉÒÔÍ»ÆÆÏÞÖÆ£¬²»¹ýÕ»²»¿ÉÖ´Ðеı£»¤ÒѾ¼«´óÁËÌáÉýÁ˹¥»÷ÄѶȡ£
ËÄ¡¢Êý¾Ý¶Î²»¿ÉÖ´ÐÐ
kNoX
¡¡¡¡LinuxÄں˲¹¶¡£¬¹¦ÄÜ£ºÊý¾Ý¶ÎµÄÒ³²»¿ÉÖ´ÐУ¬³·Ïú¹²ÏíÄڴ棬¼ÓÇ¿¶Ôexecveϵͳµ÷ÓõÄÏÞÖÆ£¬¶ÔÎļþÃèÊö·û0¡¢1¡¢2µÄÌØÊâ´¦Àí£¬/procĿ¼µÄÏÞÖÆ£¬FIFOÏÞÖÆ£¬·ûºÅÁ´½ÓÏÞÖÆ£¬¸Ã²¹¶¡Ö»Ö§2.2Äںˡ£
RSX
¡¡¡¡LinuxÄÚºËÄ£¿é£¬Êý¾Ý¶Î£¨stack¡¢heap£©²»¿ÉÖ´ÐС£
Exec shield
¡¡¡¡Exec-shield´ÓÄÚºË̬ÏÔʾµÄ¸ú×ÙÒ»¸öÓ¦ÓóÌÐòËù°üº¬µÄ¿ÉÖ´ÐÐÓ³ÏñµÄ×î´óÐéÄâµØÖ·£¬¶¯Ì¬µÄά»¤Õâ¸ö¡°¿ÉÖ´ÐÐÐéÄâµØÖ·µÄ×î´óÖµ¡±³ÆΪ¡°¿ÉÖ´ÐÐÏ޽硱£¬Ã¿´Î·¢Éú½ø³ÌÇл»µÄʱºòµ÷¶È½ø³Ì¾Í»áÓÃÕâ¸öÖµ¸üдúÂë¶ÎÃèÊö·ûдÈëGDT£¬exec-shield¶¯Ì¬µÄ¸ú×Ùÿ¸öÓ¦ÓóÌÐò£¬ËùÒÔÿ¸ö³ÌÐòÔËÐÐʱ¶¼Óв»Í¬µÄ¡°¿ÉÖ´ÐÐÏ޽硱£¬ÒòΪ¿ÉÖ´ÐÐÏÞ½çͨ³£ÊǸöºÜµÍµÄÐéÄâµØÖ·£¬ËùÒÔ³ýÁËstackÒÔÍâmmap()Ó³ÉäµÄÇøÓòÒÔ¼°malloc()·ÖÅäµÄ¿Õ¼ä¶¼´¦ÔÚ¿ÉÖ´ÐÐÏÞ½çÖ®ÉÏ£¬Òò´Ë¶¼ÊDz»¿ÉÖ´Ðеġ£µ±È»Exec-shieldÎÞ·¨·ÀÓùÌøתµ½µÍ16MµØÖ·¿Õ¼äºÍreturn-to-libcµÄ¹¥»÷£¬²»¹ý»¹ÊÇÄÜ×èÖ¹¾ø´ó¶àÊý°Ñshellcode°²ÖÃÔÚÊý¾Ý¶ÎµÄ¹¥»÷
Îå¡¢ÔöÇ¿µÄ»º³åÇøÒç³ö±£»¤¼°ÄÚºËMAC
OpenBSD security feature
¡¡¡¡OpenBSDºÍHardened Gentoo¡¢Adamantix¡¢SELinux¶¼ÊÇÊôÓÚĬÈÏ°²È«µÈ¼¶·Ç³£¸ßµÄ²Ù×÷ϵͳ¡£OpenBSD¾¹ý´úÂëÉó¼Æ£¬Â©¶´·Ç³£ÉÙ¡£Í¬ÑùËû¾ßÓкܶలȫÌØÐÔ£º
¡¡¡¡*ʹÓÃstrlcpy()ºÍstrlcat()º¯ÊýÌæ»»ÔÓеÄΣÏÕº¯Êý
¡¡¡¡*ÄÚ´æ±£»¤£ºW^X¡¢Ö»¶ÁÊý¾Ý¶Î¡¢Ò³±£»¤¡¢mmap()Ëæ»úÓ³Éä¡¢malloc()Ëæ»úÓ³Éä¡¢atexit()¼°stdio±£»¤¡¢
¡¡¡¡*ÌØȨ·ÖÀë
¡¡¡¡*ÌØȨ»ØÊÕ
¡¡¡¡*BSD chroot jail
¡¡¡¡*ÆäËûµÄºÜ¶àÌØÐÔ
¡¡¡¡ÆäÖÐW^XÓв»ÉÙÄÚÈÝ£ºstack¡¢mmapËæ»úÓ³É䣬ֻ¶ÁGOT/PLT/.ctor/.dtorµÈ¡£ËäÈ»ÀíÂÛÉÏOpenBSDÎÞ·¨×èÖ¹ËùÓÐÀàÐ͵Ĺ¥»÷£¬µ«ÒѾ×è¶ÏÁ˲»ÉÙ¹¥»÷ÊÖ·¨¡£
PaX
¡¡¡¡PaXÊǸö·Ç³£BTµÄ¶«Î÷£¬ºÃÏñÌìÉú¾ÍÊÇ»º³åÇøÒç³öµÄËÀ¶ÔÍ·£¬ËûÑÏÀ÷µÄÉóÊÓÿһÖÖ¹¥»÷·½Ê½£¬ÓèÒÔ×è¶Ï¡£
¡¡¡¡*»ùÓÚx86¶ÎʽÄÚ´æ¹ÜÀíµÄÊý¾Ý¶Î²»¿ÉÖ´ÐÐ
¡¡¡¡*»ùÓÚҳʽÄÚ´æ¹ÜÀíµÄÊý¾Ý¶ÎµÄÒ³²»¿ÉÖ´ÐÐ
¡¡¡¡*ÄÚºËÒ³Ö»¶Á{
¡¡¡¡-Const½á¹¹Ö»¶Á
¡¡¡¡-ϵͳµ÷ÓñíÖ»¶Á
¡¡¡¡-¾Ö²¿¶ÎÃèÊö·û±í£¨IDT£©Ö»¶Á
¡¡¡¡-È«¾Ö¶ÎÃèÊö·û±í£¨GDT£©Ö»¶Á
¡¡¡¡-Êý¾ÝÒ³Ö»¶Á
¡¡¡¡-¸ÃÌØÐÔ²»ÄÜÓëÕý³£µÄLKM¹¦Äܹ²´æ }
¡¡¡¡*ÍêÈ«µÄµØÖ·¿Õ¼äËæ»úÓ³Éä{
¡¡¡¡-ÿ¸öϵͳµ÷ÓõÄÄÚºËÕ»Ëæ»úÓ³Éä
¡¡¡¡-Óû§Õ»Ëæ»úÓ³Éä
¡¡¡¡-ELF¿ÉÖ´ÐÐÓ³ÏñËæ»úÓ³Éä
¡¡¡¡-Brk()·ÖÅäµÄheapËæ»úÓ³Éä
¡¡¡¡-Mmap()¹ÜÀíµÄheapËæ»úÓ³Éä
¡¡¡¡-¶¯Ì¬Á´½Ó¿âËæ»úÓ³Éä }
¡¡¡¡*»¹ÓÐÖîÈç°Ñ¶¯Ì¬Á´½Ó¿âÓ³Éäµ½0x00¿ªÊ¼µÄµÍµØÖ·µÄÆäËûÌØÐÔ
¡¡¡¡ÕâÀï˳±ãÌáÒ»ÏÂPhrack58ÉÏNergalд¹ýµÄ<
Grsecurity
Áù¡¢Ó²¼þ¼¶±ðµÄ±£»¤
¡¡¡¡X86 CPUÉϲÉÓÃ4GBƽ̹ģʽ£¬Êý¾Ý¶ÎºÍ´úÂë¶ÎµÄÏßÐÔµØÖ·ÊÇÖصþµÄ£¬Ò³ÃæÖ»Òª¿É¶Á¾Í¿ÉÒÔÖ´ÐУ¬ËùÒÔÉÏÃæÌáµ½µÄÖî¶àÄں˲¹¶¡²Å»á·Ñ¾¡ÐÄ»úÉè¼ÆÁ˸÷ÖÖ·½·¨À´Ê¹Êý¾Ý¶Î²»¿ÉÖ´ÐС£ÏÖÔÚAlpha¡¢PPC¡¢PA-RISC¡¢SPARC¡¢SPARC64¡¢AMD64¡¢IA64¶¼ÌṩÁËÒ³Ö´ÐÐbitλ¡£Intel¼°AMDÐÂÔö¼ÓµÄÒ³Ö´ÐбÈÌØλ³ÆΪNX°²È«¼¼Êõ£¬Windows XP SP2¼°Linux Kernel 2.6¶¼Ö§³ÖNX£¬ËäÈ»ÕâÖÖÓ²¼þ¼¶µÄÒ³±£»¤²»ÈçPaXÄÇÑùÇ¿£¬µ«Ó²¼þ¼¶±ðµÄÖ§³ÖÎÞÒÉ´ó´óÔö¼ÓÁËÈí¼þºÍ²Ù×÷ϵͳµÄ¼æÈÝÐÔ£¬Äܹ»Ê¹»º³åÇøÒç³öµÄ·À»¤µÃµ½ÆÕ¼°¡£
Conclusion
¡¡¡¡°²È«ºÍÒ×ÓÃÐÔ×ÜÊÇÕ¾ÔÚ¶ÔÁ¢ÃæÉÏ£¬ÒÔÉÏÌá¼°µÄ±£»¤¼¼Êõ¶¼»áÒýÆðÉÙÁ¿µÄÐÔÄÜËðºÄ£¬Éè¼ÆÕßÃÇÒѾ´ÓÐÔÄܵĽǶÈÓÅ»¯ÁËËûÃǵÄ×÷Æ·¡£È»¶øÈËÃǸü¹ØÐĵÄÎÊÌâÊǼæÈÝÐÔ£¬Ò²ÐíÄã»á·¢ÏÖÔÚÄÇЩÔËÓª¼¶µÄBOXÉϸù±¾¿´²»µ½ÕâЩ¶«Î÷£¬Êǵģ¬ÈËÃÇÏ£ÍûµÄÁíÒ»ÖÖ°²È«ÊDz»·¢Éú´íÎ󣬼´Îȶ¨µÄÔËÐУ¬Ê¹ÓÃÕâЩ¶îÍâµÄ±£»¤»á¸øÈËÔì³ÉÐÄÀí²»°²£¬ÎÒÏàÐÅËæ×ÅNXµÄÁ÷ÐÐÒÔ¼°±£»¤¼¼Êõ±¾ÉíµÄ·¢Õ¹ÕâЩÎÊÌⶼ»áµÃµ½½â¾ö¡£Ò²ÐíÄã¾³£»á¿´µ½ÕâÑù»òÄÇÑùµÄÎÄÕ½²ÊöÈçºÎÍ»ÆÆ»º³åÇøÒç³ö±£»¤µÄ¸ß¼¶exploit¼¼Êõ£¬ÆäʵºÜ¶àÄÚÈÝÖ»ÊʺÏ×÷Ϊ½Ìѧ¡¢»òÕß¼¼Êõ±¾Éí»¹´¦ÔÚÑо¿½×¶Î£¬ÔÚʵ¼ÊµÄ¹¥»÷ÖУ¬Ê¹Óø߼¶µÄbypass¼¼Êõͨ³£ÐèÒªÂú×ãһЩÌõ¼þ£¬²¢²»Êǵ¥´¿¶à»¨µãÁ¦ÆøÔö³¤ÁËexploit´úÂëµÄ³¤¶È¾ÍÄܴﵽĿµÄ£¬ÔÚʹÓûº³åÇøÒç³ö±£»¤µÄϵͳÉÏ£¬¹¥»÷½«±äµÃ·Ç³£À§ÄÑ£¬ÓÐЩʱºòÆäʵ¾ÍÊDz»¿ÉÄÜ£¬ÓÈÆäÊÇÔÚÔ¶³ÌÎÞ·¨¾«È·µÃµ½±ØÐëµÄELF·ûºÅµØÖ·µÄʱºò£¬ºÜ¶à¼¼Êõ¶¼½«±ä³ÉÖ½ÉÏ̸±ø¡£Ê¹ÓÃÀàËÆPaXµÄ²¹¶¡£¬+iptables¹æÔò,ÔÙ½áºÏÄÚºËMAC,ÏëÈëÇֵõ½shell¼¸ºõÊDz»¿ÉÄܵģ¬¿ÉϧżûǮ£¬²»È»ÄøöLinux box·Åµ½InternetÉϹ«²â£¬ÈÃÅ£ÈËÃǾ¡Ð˵ÄÍæÍ棬¹þ~ÔÚ»º³åÇøÒç³öÉÐδ³ÉΪÀúÊ·µÄ½ñÌ죬ÔÝÇÒÃ廳һÏ°ɣ¬Õ⵱ȻҲ²»ÊÇʲô±¯¹ÛµÄÂÛµ÷£¬¾É¼¼ÊõµÄÏûÍö±ØÈ»°éËæ×Åм¼ÊõµÄµ®Éú£¬Èç¹ûûÓÐÁËEvil HackingÎÒÃÇ»¹×øÔÚµçÄÔÇ°¸ÉʲôÄØ£¿