Microsoft Source Code Analyzer for SQL Injection µµ±¸¸¦ »ç¿ëÇÏ¿© ASP Äڵ忡¼­ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡À» ãÀ» ¼ö ÀÖ´Ù

±â¼ú ÀÚ·á: 954476 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¼Ò°³

ÀÌ ¹®¼­¿¡¼­´Â Microsoft Source Code Analyzer for SQL Injection µµ±¸¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÀÌ Á¤Àû ÄÚµå ºÐ¼® µµ±¸¸¦ »ç¿ëÇÏ¿© ASP Äڵ忡¼­ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡À» ãÀ» ¼ö ÀÖ½À´Ï´Ù.

Ãß°¡ Á¤º¸

Microsoft Source Code Analyzer for SQL Injection µµ±¸´Â ASP(Active Server Pages) Äڵ忡¼­ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡À» ãµµ·Ï µµ¿ÍÁÖ´Â Á¤Àû ÄÚµå ºÐ¼® µµ±¸ÀÔ´Ï´Ù. ÀÌ ¹®¼­¿¡¼­´Â ÀÌ µµ±¸¸¦ »ç¿ëÇÏ´Â ¹æ¹ý, µµ±¸¿¡¼­ »ý¼ºµÇ´Â °æ°í ¹× µµ±¸ÀÇ Á¦ÇÑ »çÇ׿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº µµ±¸ Ãß°¡ Á¤º¸ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÀüÁ¦ Á¶°Ç

ÀÌ ¸í·ÉÁÙ µµ±¸¸¦ »ç¿ëÇÏ·Á¸é ´ÙÀ½ ¼ÒÇÁÆ®¿þ¾î°¡ ÇÊ¿äÇÕ´Ï´Ù.
  • .NET Framework 3.0

ASP ÄÚµåÀÇ SQL »ðÀÔ °ø°Ý ¹®Á¦

ASP ÄÚµåÀÇ Request.Form ¶Ç´Â Request.Querystring Ä÷º¼Ç¿¡¼­ »ç¿ëÀÚ°¡ Á¦°øÇÑ µ¥ÀÌÅͰ¡ µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç ¾øÀÌ µ¿Àû SQL ¹®À» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â °æ¿ì °ø°ÝÀÚ°¡ SQL ¸í·ÉÀ» SQL ¹®¿¡ »ðÀÔÇÏ°í ¾Ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸¦ ÀϹÝÀûÀ¸·Î 1Â÷ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡À̶ó°í ÇÕ´Ï´Ù.

ÇÑ ASP ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÈ »ç¿ëÀÚ ÀÔ·ÂÀÌ µ¥ÀÌÅͺ£À̽º¿¡¼­ °Ë»öµÈ ´ÙÀ½ ´Ù¸¥ ASP ÆäÀÌÁö¿¡¼­ µ¿Àû SQL ¹®À» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â °æ¿ì °ø°ÝÀÚ°¡ SQL ¸í·ÉÀ» SQL ¹®¿¡ »ðÀÔÇÏ°í ¾Ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸¦ ÀϹÝÀûÀ¸·Î 2Â÷ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡À̶ó°í ÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ Ãë¾àÁ¡À» ÁÙÀÌ·Á¸é ¸Å°³ º¯¼ö°¡ ÀÖ´Â SQL Äõ¸®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡Àå ÁÁ½À´Ï´Ù. ASPÀÇ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡°ú ÀÌ·¯ÇÑ Ãë¾àÁ¡À» ÁÙÀÌ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
http://msdn.microsoft.com/en-us/library/cc676512.aspx(¿µ¹®)
Microsoft Source Code Analyzer for SQL Injection µµ±¸´Â ÀÌ·¯ÇÑ ¹®Á¦ Áß ÀϺθ¦ ÀÚµ¿À¸·Î ã´Â µ¥ µµ¿òÀÌ µË´Ï´Ù.

»ç¿ë¹ý

ÀÌ Àý¿¡¼­´Â ÀÌ µµ±¸¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

±¸¹®

ÀÌ µµ±¸´Â ´ÙÀ½ ±¸¹®À» »ç¿ëÇÕ´Ï´Ù.
msscasi_asp.exe [/nologo] [/quiet] [/suppress=num;..;num] [/GlobalAsaPath=path] [/IncludePaths=path;..;path] /Input=file.asp

¼³¸í

ÀÌ µµ±¸´Â ASP Äڵ带 ºÐ¼®ÇÏ¿© SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡À» ã½À´Ï´Ù.

¸Å°³ º¯¼ö ¸ñ·Ï

Ç¥ Ãà¼ÒÇ¥ È®´ë
¸Å°³ º¯¼ö ¿É¼Ç ¼³¸í
/GlobalAsaPath°æ·ÎGlobal.asa ÆÄÀÏÀÇ °æ·Î¸¦ Ç¥½ÃÇÕ´Ï´Ù.
/IncludePaths°æ·Î°¡»ó °æ·Î¸¦ »ç¿ëÇÏ¿© Æ÷ÇÔµÈ ÆÄÀÏÀ» È®ÀÎÇϱâ À§ÇÑ ¼¼¹ÌÄÝ·ÐÀ¸·Î ±¸ºÐµÈ °æ·Î¸¦ Ç¥½ÃÇÕ´Ï´Ù.
/inputASP ÆÄÀϺм®ÇØ¾ß ÇÏ´Â ASP ÆÄÀÏÀÇ Àý´ë °æ·Î¸¦ Ç¥½ÃÇÕ´Ï´Ù.
/suppress warnings °æ°í°¡ º¸°íµÇÁö ¾Ê½À´Ï´Ù.
/nologo µµ±¸ ·Î°í°¡ Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù.
/quiet±¸¹® ºÐ¼® ¿À·ù°¡ Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù. /nologo ¹× /quiet ½ºÀ§Ä¡¸¦ »ç¿ëÇÏ´Â °æ¿ì °æ°í ¸Þ½ÃÁö¸¸ Ç¥½ÃµË´Ï´Ù.

¿¹Á¦

MSSCASI_ASP /input="c:\source\logon.asp"
MSSCASI_ASP /GlobalAsaPath="C:\source" /input="c:\source\webitems\display.asp"
MSSCASI_ASP /GlobalAsaPath="C:\source" /input="c:\source\webitems\display.asp" /IncludePaths="C:\virtualdirectory1;C:\virtualdirectory2"
MSSCASI_ASP /input="c:\source\webitems\display.asp" /suppress="80406;80407"

Ãâ·Â °ËÅä

ÀÌ µµ±¸´Â ´ÙÀ½°ú °°Àº °æ°í¸¦ »ý¼ºÇÕ´Ï´Ù.
Ç¥ Ãà¼ÒÇ¥ È®´ë
°æ°í¼³¸í
80400ÀÔ·Â À¯È¿¼º °Ë»ç ¾øÀÌ Request °³Ã¼¿¡¼­ ÀÐÀº µ¥ÀÌÅ͸¦ ÅëÇØ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡ÀÌ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ°í´Â ÇØ°áÇØ¾ß ÇÏ´Â ¹ö±×ÀÏ °¡´É¼ºÀÌ Å®´Ï´Ù.
80406µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Â ¾Ë ¼ö ¾ø´Â ÇÔ¼ö È£ÃâÀ» ÅëÇØ ÀÔ·ÂÀÌ Àü´ÞµÇ´Â Request °³Ã¼¿¡¼­ ÀÐÀº µ¥ÀÌÅ͸¦ ÅëÇØ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡ÀÌ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ°í´Â ÇÔ¼ö È£Ãâ ³»¿¡¼­ µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç°¡ ¼öÇàµÇÁö ¾ÊÀ¸¸é ¹ö±×ÀÏ °¡´É¼ºÀÌ Å©¸ç, ±×·¸Áö ¾ÊÀ¸¸é °¡¾ç¼º(false positives)ÀÔ´Ï´Ù.
80403¹é ¿£µå ¼­¹ö¿¡¼­ Á¦°øµÇ´Â µ¥ÀÌÅ͸¦ ÅëÇØ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡ÀÌ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÃÖÁ¾ »ç¿ëÀÚ°¡ ´Ù¸¥ À¥ »çÀÌÆ®¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ Á¦¾îÇÏ´Â °æ¿ì ÀÌ·¯ÇÑ °æ°í´Â ¹ö±×ÀÏ °¡´É¼ºÀÌ Å®´Ï´Ù. ±×·¯³ª µ¥ÀÌÅ͸¦ ½Å·ÚÇÒ ¼ö ÀÖ´Â °æ¿ì ÀÌ·¯ÇÑ °æ°í´Â ¹ö±×°¡ ¾Æ´Õ´Ï´Ù. ½ÉÃþ ¹æ¾î(defense-in-depth) Àü·«ÀÇ ÀÏȯÀ¸·Î ÀÌ·¯ÇÑ Äõ¸®¸¦ ¸Å°³ º¯¼öÈ­ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
80407¹é ¿£µå ¼­¹ö¿¡¼­ Á¦°øµÇ°í ¾Ë ¼ö ¾ø´Â ÇÔ¼ö È£ÃâÀ» ÅëÇØ Àü´ÞµÇ´Â µ¥ÀÌÅ͸¦ ÅëÇØ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡ÀÌ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÃÖÁ¾ »ç¿ëÀÚ°¡ ´Ù¸¥ À¥ »çÀÌÆ®¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ Á¦¾îÇϰí ÀÌ µ¥ÀÌÅÍ¿¡ ´ëÇÑ À¯È¿¼º °Ë»ç°¡ ¼öÇàµÇÁö ¾Ê´Â °æ¿ì ÀÌ·¯ÇÑ °æ°í´Â ¹ö±×ÀÏ °¡´É¼ºÀÌ Å®´Ï´Ù.
80420ÇÔ¼ö ¸Å°³ º¯¼ö¸¦ ÅëÇØ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡ÀÌ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ°í´Â ÇÔ¼ö ¹üÀ§¿¡¼­ »ý¼ºµÇ¹Ç·Î ÇÔ¼ö ¸Å°³ º¯¼ö °ªÀÌ ½Å·ÚÇÒ ¼ö ÀÖ´Â °÷¿¡¼­ Á¦°øµÇ´Â °æ¿ì ÀÌ·¯ÇÑ °æ°í´Â °¡¾ç¼º(false positives)ÀÔ´Ï´Ù. ÃÖÁ¾ »ç¿ëÀÚ°¡ ¸Å°³ º¯¼ö °ªÀ» Á¦¾îÇÏ´Â °æ¿ì ÀÌ·¯ÇÑ °æ°í´Â ¹ö±×ÀÏ °¡´É¼ºÀÌ Å®´Ï´Ù. ÇÔ¼ö ¸Å°³ º¯¼ö¿¡¼­ __sql_pre_validated ÁÖ¼®À» »ç¿ëÇÏ¿© ÃÖÁ¾ »ç¿ëÀÚ°¡ ÀÌ Äڵ忡 Á¢±ÙÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
80421µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Â ¾Ë ¼ö ¾ø´Â ÇÔ¼ö È£ÃâÀ» ÅëÇØ Àü´ÞµÇ´Â ÇÔ¼ö ¸Å°³ º¯¼ö¸¦ ÅëÇØ SQL »ðÀÔ °ø°Ý Ãë¾àÁ¡ÀÌ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÇÔ¼ö ¸Å°³ º¯¼ö¿¡¼­ __sql_pre_validated ÁÖ¼®À» »ç¿ëÇϰí À¯È¿¼º °Ë»ç ÇÔ¼ö¿¡¼­ __sql_validate ÁÖ¼®À» »ç¿ëÇÏ¿© ÃÖÁ¾ »ç¿ëÀÚ°¡ ÀÌ Äڵ忡 Á¢±ÙÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
µµ±¸¿¡¼­ »ý¼ºµÇ´Â ¸ðµç °æ°í Áß¿¡¼­ 80400 °æ°í°¡ ½ÇÁ¦ ¹ö±×¸¦ ³ªÅ¸³¾ °¡´É¼ºÀÌ °¡Àå Å®´Ï´Ù. ASP À¥ °³¹ßÀÚ´Â ¸Å°³ º¯¼ö°¡ ÀÖ´Â Äõ¸®¸¦ »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ ¹ö±×¸¦ ÇØ°áÇØ¾ß ÇÕ´Ï´Ù. ASP Äڵ忡¼­ ¸Å°³ º¯¼ö°¡ ÀÖ´Â SQL Äõ¸®¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
http://msdn.microsoft.com/en-us/library/cc676512.aspx(¿µ¹®)

Á¦ÇÑ »çÇ×

ÀÌ µµ±¸¿¡´Â ´ÙÀ½°ú °°Àº ¾Ë·ÁÁø Á¦ÇÑ »çÇ×ÀÌ ÀÖ½À´Ï´Ù.
  • ÀÌ µµ±¸´Â VBScript·Î ÀÛ¼ºµÈ ASP Äڵ常 ÀνÄÇϰí Jscript µîÀÇ ´Ù¸¥ ¾ð¾î·Î ÀÛ¼ºµÈ ¼­¹ö ÂÊ Äڵ带 ºÐ¼®ÇÏÁö ¾Ê½À´Ï´Ù.
  • »õ·Î¿î ASP ÆÄ¼­°¡ ÀÌ µµ±¸ °³¹ß ÇÁ·Î¼¼½ºÀÇ ÀÏȯÀ¸·Î °³¹ßµÇ¾ú½À´Ï´Ù. ±×·¯³ª ÀÌ ÆÄ¼­´Â ¸ðµç ASP ±¸¹®À» ó¸®ÇÏÁö ¸øÇÒ ¼ö ÀÖÀ¸¹Ç·Î ±¸¹® ºÐ¼® ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÂüÁ¶

Microsoft Source Code Analyzer for SQL Injection µµ±¸¸¦ ´Ù¿î·ÎµåÇÏ·Á¸é ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇϽʽÿÀ.
http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA(¿µ¹®)
´Ù¾çÇÑ ¸ð¹ü »ç·Ê ¼³¸í¼­¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx(¿µ¹®)
ASP¿¡¼­ SQL »ðÀÔ °ø°ÝÀ» ¹æÁöÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
http://msdn.microsoft.com/en-us/library/cc676512.aspx(¿µ¹®)
SQL »ðÀÔ °ø°Ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx(¿µ¹®)
ÀÌ µµ±¸¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
http://blogs.msdn.com/sqlsecurity(¿µ¹®)
MSDN SQL º¸¾È Æ÷·³¿¡¼­ µµ±¸¿¡ ´ëÇØ ³íÀÇÇÏ·Á¸é ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇϽʽÿÀ.
http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=92&SiteID=1(¿µ¹®)

¼Ó¼º

±â¼ú ÀÚ·á: 954476 - ¸¶Áö¸· °ËÅä: 2008³â 6¿ù 27ÀÏ ±Ý¿äÀÏ - ¼öÁ¤: 1.0
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft ASP.NET 2.0
Ű¿öµå:?
atdownload kbexpertiseadvanced kbcode kbexpertiseinter kbinfo kbsecadvisory kbsecurity kbsecvulnerability KB954476

Çǵå¹é º¸³»±â