¸ê°T¨t²Î¦w¥þ®zÂI±½ºË»P׸ɧ@ªÌ¡G³¯±Ò·× / »OÆW¤j¾Çpºâ¾÷¤Î¸ê°Tºô¸ô¤¤¤ßµ{¦¡³]p²Õ§U²zµ{¦¡³]p®vݰƲժø ¬YÀb«È§Q¥Î¨t²Îº|¬}ÅѨúªº¨t²Î¤º¤§¨Ï¥ÎªÌ¸ê®Æ¡A¨Ì¾Ú2012¦~10¤ë¹ê¦æ¤§Ó¤H¸ê®Æ«OÅ@ªk¬I¦æ²Ó«h¡A±N±Á{³æ¤@®×¥ó°ª¹F2»õ¤§½ßÀv°ÝÃD¡C¸ê¦w¨Æ¥ó¬O¨CÓ¸ê°T³æ¦ìªº¾µ¹Ú¡A¬°¤F¤£Åý¾µ¹Ú¦¨¯u¡A¦U³æ¦ìµL¤£·Q¤è³]ªk¡A¥»¤å¤À¨É§Ú̪º¸gÅç¡A´ÁÅýŪªÌªº®zÂI׸ɤ§¸ô¥i¥H¨«ªº§ó¶¶ºZ¡C ¸ê¦w¨Æ¥ó¬O¨CÓ¸ê°T³æ¦ìªº¾µ¹Ú¡A¬°¤F¤£Åý¾µ¹Ú¦¨¯u¡A¦U³æ¦ìµL¤£·Q¤è³]ªk¡A²`©È¦Ê±K¤@²¨¡A¥\Á«¤@±¡A±N³y¦¨µLªk®¾±Ïªº¨aÃøµo¥Í¡CÁöµM»O¤j¦b®Õ°È¸ê°T¨t²Î¥D¾÷«e¤w³]¸m¤F¨¾¤õÀð¡Aªý¾×Àb«È¤u¨ãµo°Êªº¦Û°Ê¤Æ§ðÀ»¡F¨Ã¥B¾É¤J¸ê¦wºÞ²z¨î«×(ISO 27001)±N·ÀI±±¨î¦b¥i±µ¨üªº½d³ò¤º¡A¦ý¸ê°T¨t²Îªº®zÂIµ´¤j³¡¤À¨Ó¦Û©óµ{¦¡½X¥»¨ªº¯Ê³´¡A¥¿¥»²M·½¤§ªkÁÙ¬O¸Ó±¹ï°ÝÃD¡AP¤O©ó´£¤É¸ê°T¨t²Îªº«~½è¡C¬°¦¹¡A¥»¤¤¤ßÁʸmµ{¦¡½X®zÂI±½ºË¤u¨ã(Fortify Source Code Analysis) ¨Ã³z¹L¦¹¤@¤u¨ã±½ºË®Õ°È¨t²Îì©l½X¡A¥D°Êµo²{¦s¦bªº®zÂI¡A¨Ì·Ó®zÂIªº¦M®`µ¥¯Å¡A§@¬°¨t²Î×¥¿Àu¥ý¶¶§Ç¡A³v¨B×¥¿¡A´Á¯à±q®Ú¥»´£¤É®Õ°È¨t²Î¦w¥þ©Ê¡C ³z¹L¸ê¦wºÞ²z¨î«×ISO27001ªº¾É¤J¤Î¸ê¦w³nÅéÁB¥¿µ{¦¡®vµ{¦¡¼¶¼g²ßºD«á¡A·s¶}µoªº¨t²Î¤£·|¦³¤j°ÝÃD¡A°ÝÃD¦bn³B²z¤w¸g¹B¦æ¦h¦~ªº½u¤W¨t²Î¡Cªì¦¸¸g¹Lµ{¦¡½X®zÂI±½ºËÀ³¸Ó³£·|¦³¦¨¤d¤W¸UÓº|¬}¡AÁöµM¤j³¡¤À¬O¸ê¦w³nÅé»~§Pªº¡A¤£¹Lµ{¦¡½X¤]½T¹ê¦s¦b¤£¤Ö®zÂI¡A¦b¸ê¦w¨¾Å@ªº¨¤«×ÁÙ¬O±qÄY±¹ï¸û¬°¦w¥þ¡C¸Ñ¨M¤èªkµL¥L¡A¤@«h«ö·Ó±½ºË³nÅé«Øijªº¤è¦¡×¸É¡F¤G«h¼¶¼g«È¨î¤Æªº³W«hÅý±½ºË³nÅ饿½T§PÂ_¡C¸g¹L¤ÀªR¡A¥»¤¤¤ß±Ä¨ú«eªÌ³v¤@׸ɡA¤@«ß«ö·Ó½d¥»§ï¼g³Q§P¥X¦³°ÝÃDªºµ{¦¡½X¡A³o¼Ë¬J¥i¥H׸ɮzÂI¤]¥i¥H°ö¾iµ{¦¡®v¼¶¼g¦w¥þµ{¦¡ªº²ßºD¡C¦p¤W¹Ï©Ò¥Ü¡A³z¹L¸ê¦w³nÅ骺À°§U¥i¥H«Ü§Ö¦C¥X®zÂI¦bþ¤@¦æ²£¥Í¡A²£¥Íªºì¦]¬°¦ó¡A¦¹¥\¯à¦³§U©ó¥[§Ö®zÂIªº×¸É¡C¨ä¹ê¡A±½ºË¥X¨Óªº®zÂI¸õ²æ¤£¥XOWASP(Open Web Application Security Project)ªº10¤jWeb¸ê¦wº|¬}¡C¦b¦¹¦CÁ|SQL Injection¡BCross-Site Scripting(XSS)¡BHardcoded Passwordµ¥¤TºØ±`¨£®zÂIªº×¸É¤è¦¡¡A¦õ¥H¹ê¨Ò»¡©ú¦p¤U¡G SQL Injection ¬OÓ¦h¦~ªº¦Ñº|¬}¡A¥H¨Ï¥ÎªÌ¿é¤J¨Ó«Ø¥ß°ÊºASQL«ü¥O¡AÅý´c·N¨Ï¥ÎªÌ¥iקï«ü¥O²Õ¦X¥X¥ô·NªºSQL«ü¥O¡C¸Ñ¨Mªº¤èªk¦b°ÊºA²£¥ÍSQL®É¤£n¥Î¥~¨Ó¦r¦ê²Õ¦¨SQL «ü¥O¡AÀ³¥H°Ñ¼Æ±Ô©ú«¬ºA¡Bªø«×¡BÃþ§O¶Ç¤JSQL¡C ¨ä¹ê¦bLine 3 TID¤w¸gÂন¼Æ¦r®æ¦¡¡A²z½×¤W¤£·|¦³SQL Injection°ÝÃD¡A¤£¹L±½ºË³nÅéÁÙ¬O·|»~»{¬°¦³°ÝÃD¡A«OÀI°_¨£ÁÙ¬O«ö·Ó°ÊºASQL»yªkªº«Øij¡A±NTID§ï¥H¼Æ¦r°Ñ¼Æ¶Ç¤J¡C Cross-Site Scripting(XSS) XSSµo¥Íªºì¦]¬O¶Ç°e¥¼¸gÅçÃÒªº¸ê®Æ¦Üºô¸ôÂsÄý¾¹¡A¾ÉPÂsÄý¾¹°õ¦æ´c·Nªºµ{¦¡½X¡C¸Ñ¨M¤èªk¬O³B²z¨Ï¥ÎªÌ¶Ç°e§t¦³¹³JavaScript¤ù¬qªº§Î¦¡¡A¦bÅã¥Ü«en¥ý¸g¹L³B²z¡AÁקK´c·Nµ{¦¡³Q°õ¦æ¡C³Ì²³æªº¤èªk´N¬OÂন¾A·íªº«¬ºA¨Ò¦p¼Æ¦r¡A¦p¯uªº¬O¤å¦r¸ê®Æ¥i¥ý¶i¦æHTML Encode §â´c·Nµ{¦¡¤ºªºhtml tag ´À´«±¼¡A¥iÁקK²Õ¦¨´c·Nµ{¦¡³QÂsÄý¾¹°õ¦æ¡C ¦pªGTID¬O¼Æ¦rªº¸Ü¥i¥Hª½±µ±j¨îÂন¼Æ¦r¡A¥iÄd¦í«D¼Æ¦rªº§ðÀ»µ{¦¡¡F¦ý¦pªGTID®æ¦¡¬O¤å¦rªº¸Ü¡A¥u¯à¦bÅã¥Ü«e¥ý¶i¦æHTML Encode ƒÜ Hardcoded Password ¬°¨D¤è«K¤£¤Öµ{¦¡¸Ì¦³¤@¨Ç¼g¦ºªº±K½X¡A§óÁV¿|ªº¬O¥Î©ú½XÀx¦s¡A©Ò¦³¸g¤âµ{¦¡ªº¤H³£·|ª¾¹D±K½X¡C¸Ñ¨Mªº¤èªk¬OÁקK¨Ï¥Î¡F¦pªG¯uªº¤@©wn¨Ï¥Î¡An¥ý¥[±K¨Ã¨ú¸û½ÆÂøªº±K½X¡C ׸ɤèªk³Ì¦nÁקK±K½X¼g¦º¦bµ{¦¡¸Ì¡F¤£±o¤wªº¸Ü¨ú¤@Ó¤£®e©ö³Q²q¥Xªº±K½X¡Aµ{¦¡½X¤º¥Î±N±K½X¥ý½s½X«á¤ñ¹ï¡A±ÀÂ˥Ψ⦸MD5 Hash¡A¤@¦¸ªº¸Ü¤Óµuªº±K½X®e©ö³Q¼É¤O¸Ñ¥X¡A¨â¦¸½s½X·|¸û¦w¥þ¡C ÁöµM¬Ý°_¨Ó²³æªº¨BÆJ¡A¦ý½T¹ê¥i¥H¤@¨B¤@¸}¦Lªº×¸É®zÂI¡C¸g¹L¤TӤ몺§V¤O¡A¥»¤¤¤ß¤w׸ɧ¹§P©w¥Xªº90%ªº®zÂI¡A¦A¹L¤£¤[´N¯à§¹¥þ׸ɧ¹¦¨¡C¹Lµ{¤¤³Ì¤jªº¬D¾Ô¬O¦bקï¹Lªºµ{¦¡Áٯॿ±`°õ¦æ¡A³o¨Ç³£¬O½u¤W¨Ï¥Îªº¨t²Î¤£¯à°±¹y©Î¥X¿ù¡A׸ɹLµ{n¸g¹L¤£Â_ªº¤ÏÂдú¸Õ¤~¯à¤Wª©¡A¨Ï±o¹Lµ{¿¥[Á}¨¯¡C µo²{®zÂI¬O«nªº²Ä¤@¨B¡F¦ý¬O׸ɮzÂI¤~¬O¯u¥¿¸Ñ¨M°ÝÃDªº¤@¨B¡A³o¤@¨B¯u¬Oº©ªø¦ÓÁ}¨¯¡A¦b¦¹¤À¨É§Ú̪º¸gÅç¡A´ÁÅýŪªÌªº®zÂI׸ɤ§¸ô¥i¥H¨«ªº§ó¶¶ºZ¡C |