ã¿ããªã«ãã£ãšèå³ãæã£ãŠããããããã«ãç§ãã¡ã¯ãµãŒãã¹ã宣äŒããŸããïŒå°ãã ãã§ããïŒã 代ããã«ãæåã®äžé£ã®åºçç©ãçšæããŸããããããã®åºçç©ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãªã©ãé åçã§éåžžã«é¢é£æ§ã®é«ããããã¯ã«å°å¿µããŸãã æ¢åã®ã€ã³ã¿ãŒããããããžã§ã¯ãã«é¢é£ããå±éºæ§ãæããã«ããå¹³æãªèšèã§ãããŒã¿ã»ãã¥ãªãã£åé¡ã®äºçŽ°ãªè©³çŽ°ã«å¯Ÿãã責任ããã¢ãããŒãã®éèŠæ§ãäŒããŸãã ç§ãã¡ã®èšäºãããªãã«ãšã£ãŠåœ¹ã«ç«ããªãããšãé¡ã£ãŠããŸãã ããªãã¯ç§ãã¡ããã£ãšããç¥ã£ãŠãããšç¢ºä¿¡ããŠããŸãã
SimplePayã«ã€ããŠå°ã
SimplePayã¯ãææ°ã®ãã€ãã¯æ¯æãã¢ã°ãªã²ãŒã¿ãŒã§ãã å瀟ã¯2014幎ã«èšç«ãããã¢ã¹ã¯ã¯ã§ç»é²ããããã·ã¢é£éŠã®æ³åŸã«åŸã£ãŠæŽ»åãè¡ã£ãŠããŸãã ç§ãã¡ã®äž»ãªã¿ã¹ã¯ã¯ã掻åã®åéãããžãã¹ã®èŠæš¡ãèšç·Žãåããæè¡è
ã®æç¡ã«é¢ä¿ãªããäŒæ¥ã®ãŠã§ããµã€ãã§æ¯æãã®åãå
¥ããæŽçããç°¡åã§äŸ¿å©ãªæ©äŒãæäŸããããšã§ãã
次ã®ãµãŒãã¹ãæäŸããŠããŸãã
çããªãã¡ã¬ã³ã¹ïŒ
次ã®ãµãŒãã¹ãæäŸããŠããŸãã
- ãµã€ãã§æ¯æããåãåãçµç¹
- ãã€ã€ãŒãžã®æãæ»ã
- ãã€ã€ãŒãžã®ç¡æè«æ±
- URLãšé»åã¡ãŒã«ã®äž¡æ¹ã§ã®æ¯æãéç¥
- å®æçãªæ¯æã
- ãŠã©ã¬ããã䜿çšãããã¹ãŠã®äžè¬çãªæ¯æãã·ã¹ãã ã§ã®ç䌌å®ææ¯æã
çããªãã¡ã¬ã³ã¹ïŒ
- éè¡ååŸè ïŒPromsvyazbank
- 第äžè ã«æå©ãªæ¯æãïŒRNKO RIB
- 管èœïŒRFã161-FZ
- éå± äœè ãšé£æºããïŒããã
- ãã€ãã£ãAPIïŒã¯ã
- äºææ§ã®ããAPIïŒã¯ã
- CMSã¢ãžã¥ãŒã«ïŒã¯ã
- ãµãŒãããŒãã£ã·ã¹ãã ã®çµã¿èŸŒã¿ã¢ãžã¥ãŒã«ïŒBG BillingãWP-shop
- äžéããŒãžãªãã§PSã«çŽæ¥ãªãã€ã¬ã¯ãïŒã¯ã
- Return APIïŒã¯ã
Webã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£
çŸä»£ã®äžçã«ã¯ãæåéããããã段éã§ãããããç¬éã«äœåãã®è åšãšæœåšçãªå±éºããããŸãã ç§ãã¡ã®ç掻ã®äžå¯æ¬ ãªéšåãšãªã£ãŠããWorld Wide WebãäŸå€ã§ã¯ãããŸããã
ãµã€ããŒç¯çœªã¯ãããŸã§ä»¥äžã«çºå±ããŠããŸããçµå±ã®ãšãããã»ãšãã©ãã¹ãŠã®äŒæ¥ãã€ã³ã¿ãŒãããäžã«ç¬èªã®Webãµã€ããæã¡ããããã¯ãŒã¯äžã®æ»æè ã¯å®å šã«å¿åã®ãŸãŸã§ããããšãã§ããŸãã
ããã«ãã€ã³ã¿ãŒãããäžã«Webãµã€ããæã€ãã¹ãŠã®äŒæ¥ã¯ã3ã€ã®ã¿ã€ãã«åé¡ãããŸãã
- ãµã€ããæ¢ã«å£ããŠãã人ã
- ãµã€ãããŸã å£ããŠããªã人ã
- äž»ãªæ»æãã¯ãã«ã«ç²ŸéããŠãããã¢ããªã±ãŒã·ã§ã³ãä¿è·ããŠãã人ã
3çªç®ã®ã«ããŽãªã®ä»£è¡šè ã«ãšã£ãŠããã以äžã®ãã¬ãŒã³ããŒã·ã§ã³ã¯éåžžã«èå³æ·±ããã®ã§ã¯ãããŸããã æ®ãã®2ã€ã®ã«ããŽãªã¯ãå°ãªããšãWebã¢ããªã±ãŒã·ã§ã³ãžã®æ»æã®äž»ãªãã¯ãã«ãèªèããå®éã®ã¢ããªã±ãŒã·ã§ã³ã®å¯èœæ§ãèªèããŠããå¿ èŠããããŸããçµå±ã®ãšãããã»ãšãã©ä¿è·ãããŠããŸãã
å®çšåã®å¯èœæ§ã匷調ããã®ã¯å¶ç¶ã§ã¯ãããŸããã çè«ãç¥ã£ãŠããã ãã§ã¯è åšã®æ¬åœã®ç¯å²ãç解ããããšã¯ã§ããªããšèããŠããŸããçµå±ã®ãšãããçè«äžã¯ããŸãæããªãããã«èŠããªãè匱æ§ã¯ããã°ãã°ããžãã¹ã«æ²æšãªçµæãããããå¯èœæ§ããããŸãã
è åšã®æ°ã¯ããžãã¹ã®æé·ã«æ¯äŸããŠå¢å ããŠããŸãããé·æçãªå®è·µã瀺ããŠããããã«ãæ»æã®99ïŒ ã¯ãã·ã¹ãã 管çè ãèšå®ãšãã¹ã¯ãŒããèšå®ããŠäœ¿çšããŠãããããçä¿¡ããŒã¿ã®æ€èšŒã«é¢ãã12åã®æšæºãšã©ãŒããŸãã¯ã€ã³ã¹ããŒã«æžã¿ã®ãµãŒãããŒãã£ãœãããŠã§ã¢ã³ã³ããŒãã³ãã®è匱æ§ããŸãã¯äžæ£è¡çºã«ãã£ãŠçºçããŸãããã©ã«ãã§ã
OWASP ïŒOpen Web Application Security ProjectïŒã³ãã¥ããã£ã¯ãæ»æãã¯ãã«ãšè匱æ§ã®åé¡ã«é¢äžããŠããŸãã ããã¯ããœãããŠã§ã¢ã»ãã¥ãªãã£ã®åæãšæ¹åã«çŠç¹ãåœãŠãåœéçãªéå¶å©çµç¹ã§ãã
OWASPã¯ãWebã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããæ»æã®10ã®æãå±éºãªãã¯ãã«ã®ãªã¹ããäœæããŸããããã®ãªã¹ãã¯OWASP TOP-10ãšåŒã°ããäžéšã®äººã ã«å€é¡ã®è²»çšããããããããžãã¹ã®æ倱ãªã©ããžãã¹ã®è©å€ãæãªãå¯èœæ§ã®ããæãå±éºãªè匱æ§ãå«ãã§ããŸãã
ãã®å ¥éèšäºã§ã¯ãOWASP TOP-10ãªã¹ãã確èªããäžé£ã®èšäºãWebã¢ããªã±ãŒã·ã§ã³ã®ä¿è·ã®çè«ãšå®è·µãã®ãã¬ãŒã ã¯ãŒã¯å ã§ããããã®åæ»æãã¯ãã«ãå®éã®æäœæ¹æ³ãå®éã®ããžãã¹äŸã䜿çšããå±éºåºŠãããã³Webã¢ããªã±ãŒã·ã§ã³ããã³WebãµãŒãã¹ãä¿è·ããããã®å®çšçãªæ¹æ³ã
ãã¬ãŒã³ããŒã·ã§ã³ãã§ããã ãã¢ã¯ã»ã¹ããããããããšã§ãæè¡å°é家ã ãã§ãªããæã«ã¯äŸµå ¥è ã«ãã£ãŠç ŽãããŠãªã³ã©ã€ã³ããžãã¹ã«åŸäºãããŸã§å¹žããªç¡ç¥ã®ãŸãŸã§ããããžãã¹ãªãŒããŒããããŒãžã£ãŒã«ãæ å ±ãäŒããããã«ããããã«ããã£ãŠããé倧ãªå±éºãç¥ã£ãŠããã
è¡ããŸãããã
1.泚å°
ååãšããŠããã¹ãŠã®ããŒã¿ã¯ç¹å¥ãªããŒã¿ããŒã¹ã«ä¿åããããã®åŒã³åºãã¯ã¯ãšãªã®åœ¢åŒã§æ§ç¯ãããã»ãšãã©ã®å Žåãç¹å¥ãªSQLã¯ãšãªèšèªïŒæ§é åã¯ãšãªèšèª-æ§é åã¯ãšãªèšèªïŒã§èšè¿°ãããŸãã
ããšãã°ããŠãŒã¶ãŒããµã€ãã§å人ããŒã¿ãç·šéããããã¢ã³ã±ãŒãã«èšå ¥ãããããå Žåãã¢ããªã±ãŒã·ã§ã³ã¯ããŒã¿ãåä¿¡ãè¿œå ãå€æŽããŸãã¯åé€ããããã«SQLã¯ãšãªã䜿çšããŸãã ãŠãŒã¶ãŒããã®ããŒã¿ã®æ€èšŒãäžååãªå Žåãæ»æè ã¯SQLã¯ãšãªã®äžéšãå«ãã¢ããªã±ãŒã·ã§ã³ã®Webã€ã³ã¿ãŒãã§ã€ã¹ã®åœ¢åŒã«ç¹å¥ãªã³ãŒããæ¿å ¥ã§ããŸãã
ãã®ã¿ã€ãã®æ»æã¯ã€ã³ãžã§ã¯ã·ã§ã³ãšåŒã°ããŸãããã®å Žåãæãäžè¬çãªã®ã¯SQLã€ã³ãžã§ã¯ã·ã§ã³ã§ãã ããã¯å±éºãªè匱æ§ã§ãããæ»æè ãããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããŠãæå³ããªãæ å ±ãèªã¿åã/å€æŽ/åé€ã§ããããã«ããŸãã
ããšãã°ãååãšå§ãšãšãã«ã¢ã«ãŠã³ãã®æ®é«ãå€æŽããããä»äººã®ã¢ã«ãŠã³ãã®æ®é«ã調ã¹ãããæ©å¯ã®å人ããŒã¿ãçãã ãããŸãã
ãã®è匱æ§ã¯ããŠãŒã¶ãŒããåä¿¡ããããŒã¿ã®æ€èšŒãäžååãªçµæã§ãã ããã«ãããæ»æè ã¯ãããšãã°Webãã©ãŒã ã§ãã¢ããªã±ãŒã·ã§ã³ããã ãŸãããäžæ£ãªããŒã¿ã®èªã¿åããŸãã¯æžã蟌ã¿ãå¯èœã«ããç¹å¥ã«æºåãããèŠæ±ã§ããããŒã ãªããã§ããŸãã
äžè¬ã«ããã®ã¿ã€ãã®æ»æã®äžè¬åã¯ãæ€èšŒãšã©ãŒãã§ãããããã«é©çšãããã®ã¯SQLã€ã³ãžã§ã¯ã·ã§ã³ã ãã§ã¯ãªãããã®ãã¯ãã«ã«ã€ããŠè€æ°åèšåããŸãã
2.èªèšŒã·ã¹ãã ãšã»ãã·ã§ã³ã¹ãã¬ãŒãžã®æ¬ ç¹ïŒå£ããèªèšŒãšã»ãã·ã§ã³ç®¡çïŒ
ãããŠãŒã¶ãŒãå¥ã®ãŠãŒã¶ãŒãšåºå¥ããããã«ãWebã¢ããªã±ãŒã·ã§ã³ã¯ããããã»ãã·ã§ã³Cookieã䜿çšããŸãã ãã°ã€ã³ãšãã¹ã¯ãŒããå ¥åããã¢ããªã±ãŒã·ã§ã³ãèš±å¯ãããšããã©ãŠã¶ã¹ãã¬ãŒãžã«ç¹å¥ãªèå¥åãä¿åãããŸãããã®åŸããã©ãŠã¶ã¯Webã¢ããªã±ãŒã·ã§ã³ã®ããŒãžã«å¯Ÿãããã¹ãŠã®ãªã¯ãšã¹ãã§ãµãŒããŒã«æ瀺ããŸãã ããã¯ãWebã¢ããªã±ãŒã·ã§ã³ãããªããããªãã§ãããšç解ããæ¹æ³ã§ãã
èå¥åãæ»æè ã«çãŸããã·ã¹ãã ãã»ãã·ã§ã³ã®IPã¢ãã¬ã¹ãªã©ã®ãã§ãã¯ãå®è£ ããªãã£ãå ŽåããŸãã¯1ã€ã®ã»ãã·ã§ã³ã§è€æ°ã®æ¥ç¶ã確èªããå Žåãæ»æè ã¯ã¢ã«ãŠã³ãã®æš©éã§ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããŸãã ãŸããã€ã³ã¿ãŒããããã³ã¯ãŸãã¯æ¯æãã·ã¹ãã ãã£ããããã®å Žåããã®ãããªäžæ£ã¢ã¯ã»ã¹ã®çµæãç°¡åã«æšæž¬ã§ããŸãã
3.ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°-XSSïŒã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒ
Crossiteã¹ã¯ãªããã£ã³ã°ã¯ãå®è¡ã®ããã«JavaScriptã³ãŒãããŠãŒã¶ãŒã®ãã©ãŠã¶ãŒã«éä¿¡ã§ããããã«ããå¥ã®ãŠãŒã¶ãŒããŒã¿æ€èšŒãšã©ãŒã§ãã ãã®çš®ã®æ»æã¯HTMLã€ã³ãžã§ã¯ã·ã§ã³ãšãåŒã°ããŸããããã¯ããã®å®è£ ã®ã¡ã«ããºã ãSQLã€ã³ãžã§ã¯ã·ã§ã³ã«éåžžã«äŒŒãŠããããã§ãããåŸè ãšã¯ç°ãªããã€ã³ãžã§ã¯ããããã³ãŒãã¯ãŠãŒã¶ãŒã®ãã©ãŠã¶ãŒã§å®è¡ãããŸãã ããã¯äœã§ãã£ã±ãã§ããïŒ
ãŸããæ»æè ã¯ã»ãã·ã§ã³Cookieãçãããšãã§ããŸããã»ãã·ã§ã³Cookieã®çµæã¯2çªç®ã®æ®µèœãæåéãäžèšã®2ã€ã®æ®µèœã§èª¬æãããŠããŸãã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒããã®ã¿ã€ãã®æ»æã«å¯ŸããŠè匱ãªããã§ã¯ãªãããšã«æ³šæããå¿ èŠããããŸããããã«ã€ããŠã¯ã段èœ5ã§åå¥ã«èª¬æããŸãã
第äºã«ãææããããŒãžã®ãã©ãŒã ã«å ¥åãããããŒã¿ãçãŸããå¯èœæ§ããããŸãã ãŸããæ©å¯ã®å人ããŒã¿ããŸãã¯ããã«æªãããšã«ãã¯ã¬ãžããã«ãŒãæ å ±ãšCVCã³ãŒããå«ãŸããå ŽåããããŸãã
3çªç®ã«ãJavaScriptã䜿çšããŠãããŒãžäžã®ããŒã¿ãå€æŽã§ããŸããããšãã°ãéè¡æ¯èŸŒã®è©³çŽ°ããããæ»æè ã¯ãããåœè£ ããŠåœã®ããŒã¿ã«çœ®ãæããããšãã§ããŸãã
4.å®å šã§ãªãçŽæ¥ãªããžã§ã¯ãåç §
ãã®ã¿ã€ãã®è匱æ§ã¯ããŠãŒã¶ãŒããŒã¿ã®æ€èšŒãäžååãªçµæã§ããããŸãã ãã®æ¬è³ªã¯ãå人ã¡ãã»ãŒãžã顧客ã«ãŒããªã©ã®æ©å¯ããŒã¿ã衚瀺ããå Žåãèå¥åã䜿çšããŠãªããžã§ã¯ãã«ã¢ã¯ã»ã¹ãããã©ãŠã¶ãŒã®ã¢ãã¬ã¹ããŒã«æ確ãªåœ¢åŒã§éä¿¡ããããªããžã§ã¯ããžã®ã¢ã¯ã»ã¹æš©ã®æ€èšŒãå®è£ ãããŠããªããšããäºå®ã«ãããŸãã ããšãã°ãå人çãªã¡ãã»ãŒãžã衚瀺ããããŒãžãããã次ã®åœ¢åŒã®ã¢ãã¬ã¹ããããŸãã
mysite.ru/read_message.jsp?id=123654
ãid = "ã®åŸã®çªå·ã確èªãããšãä»ã®äººã®ãã©ã€ããŒãã¡ãã»ãŒãžãèªãããšãã§ããŸãã ãã®è匱æ§ã®æªçšã¯éåžžã«ç°¡åã§ãç¹å¥ãªã¹ãã«ã¯ãŸã£ããå¿ èŠãããŸããããã©ãŠã¶ã®ã¢ãã¬ã¹ããŒã®æ°åãæŽçããŠçµæã楜ããã ãã§ãã é説çã«æãããããããŸããããããªã倧ããªãšãŒãããã®æ¯æãã·ã¹ãã ããã®å°å æã®ç æ°ã®åœ±é¿ãåããããšããããŸããã
5.å®å šã§ãªãæ§æïŒã»ãã¥ãªãã£ã®æ§æãã¹ïŒ
Webã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã«ã¯ããã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ã³ããŒãã³ãïŒã¢ããªã±ãŒã·ã§ã³ã³ã³ããŒãã³ãïŒãã¬ãŒã ã¯ãŒã¯ãªã©ïŒãWebãµãŒããŒãããŒã¿ããŒã¹ãµãŒããŒããã©ãããã©ãŒã èªäœïŒã®å®å šãªæ§æãå¿ èŠã§ãã å€ãã®å ŽåããµãŒããŒã³ã³ããŒãã³ãã®ããã©ã«ãèšå®ã¯å®å šã§ã¯ãªããæ»æã®æ©äŒãéãããŸãã ããšãã°ãXSSæ»æäžã«JavaScriptãä»ããã»ãã·ã§ã³Cookieã®çé£ã¯ãcookie_httpã®ã¿ã®èšå®ãããã©ã«ãã§ãªãã«ãªã£ãŠããããã«å¯èœã§ãã
æ£ãããµãŒããŒæ§æãšcookie_httponlyãªãã·ã§ã³ãæå¹ã«ãããšãJavaScriptãä»ããŠã»ãã·ã§ã³CookieãååŸããããšã¯ã§ããŸããããå€ãã®å Žåããã®ã·ã³ãã«ã§éèŠãªèšå®ã¯ãæ¯æãã·ã¹ãã ã®å人ã¢ã«ãŠã³ããªã©ã®éèŠãªå Žæã«ãããŸããã§ããã
åäŸã®è匱æ§ã®ãã1ã€ã®äŸã¯ãRedisãMemcachedãªã©ã®ããŒã¿ããŒã¹ãµãŒããŒã§ã®ããã©ã«ãèšå®ã®äœ¿çšã§ãããµãŒããŒã®ãããªãã¯IPã¢ãã¬ã¹ã§ã¯ããŒãºããµãŒãã¹ãå©çšã§ããå Žåããããããã©ã«ãã§ã¡ãŒã«ãŒãèšå®ãããã¹ã¯ãŒãã䜿çšãããŸããã ããã«ãããæ»æè ã¯ããŒã¿ãç°¡åã«èªã¿åã£ããå€æŽãããã§ããŸããããã®äžã«ã¯ã»ãã·ã§ã³CookieïŒå€ãã®å Žåãæ¢ã«ããã£ãŠããŸãïŒãšãã©ãŠã¶ãŒã§ãŠãŒã¶ãŒã«è¡šç€ºãããããŒã¿ããããŸãïŒXSSæ»æã®äœ¿çšãå¯èœã«ããŸãïŒã
ããã«ããœãããŠã§ã¢ã¯ææ°ã§ãªããã°ãªããŸãããè匱æ§ã¯ãããŸããŸãªãœãããŠã§ã¢ã³ã³ããŒãã³ãïŒãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãWebãµãŒããŒãããŒã¿ããŒã¹ãµãŒããŒãã¡ãŒã«ãµãŒããŒãªã©ïŒã§æ¯æ¥çºèŠãããŠããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ãæ£ããèšè¿°ããããã¹ãŠã®åä¿¡ããŒã¿ãæ éã«ãã§ãã¯ããäžè¬ã«ååã«ä¿è·ãããŠããå Žåã§ããOSãWebãµãŒããŒã«ããæç¹ã§è匱æ§ãååšããããã§ã¯ãããŸããã
6.å®å šã§ãªãéèŠãªããŒã¿ïŒæ©å¯ããŒã¿ã®é²åºïŒ
å€ãã®Webã¢ããªã±ãŒã·ã§ã³ã¯ãã¯ã¬ãžããã«ãŒããèªèšŒè³æ Œæ å ±ãªã©ã®æ©å¯ããŒã¿ãä¿è·ããŸããã æ»æè ã¯ãèªåã®weakå µç®çã§äœ¿çšããããã«ããã®ãããªåŒ±ãä¿è·ãããããŒã¿ãçãã ãå€æŽãããã§ããŸãã
æãç°¡åãªäŸã¯ãHTTPãä»ããŠããŒã¿ãéä¿¡ããããšã§ãã å®éãHTTPãä»ããŠéä¿¡ãããããŒã¿ã¯æå·åãããŠãããããŠãŒã¶ãŒã®ã³ã³ãã¥ãŒã¿ãŒããWebãµãŒããŒã«ããŒã¿ãæž¡ããããšãããŒã¿ã¯å€ãã®ç°ãªãããŒããééããŸãïŒãªãã£ã¹ã«ãŒã¿ãŒãŸãã¯ããŒã ã«ãŒã¿ãŒããããã€ããŒã«ãŒã¿ãŒããã£ãã«äžã®ã«ãŒã¿ãŒãããŒã¿å ã®ã«ãŒã¿ãŒãµãŒããŒã®ãã¹ãã£ã³ã°ãããã€ããŒã®äžå¿ãªã©ã ãã«ãŠã§ã¢ãããããã¹ããã¡ããã¹ãŠã®ãã©ãã£ãã¯ãèªã¿åããæ»æè ã«æž¡ãããã°ã©ã ã¯ããããã®åããŒãã«é ãããŠããå¯èœæ§ããããŸãã åŸè ã¯ãå人ããŒã¿ãšã¯ã¬ãžããã«ãŒãããŒã¿ã®ããŒã¿ã調ã¹ãŸãã
ãã®ãããªããŒã¿ã¯ããã©ãŠã¶ã®å¯Ÿå¿ããã¢ãã¬ã¹ããŒã«ç€ºãããŠããããã«ãHTTPSãããã³ã«ãä»ããŠæä»çã«éä¿¡ããå¿ èŠããããŸãã
SSL蚌ææžã®å¥ã®ã¿ã¹ã¯ïŒã€ãŸããHTTPSã§ã®èªèšŒãšæå·åã«äœ¿çšãããç¹å¥ãªããŒã®ååïŒã¯ããã®ãµã€ãå°çšã«çºè¡ãããããšã確èªããããšã§ãã 蚌ææžã®æå¹æéãåããŠããããæ¹ãããããŠããå Žåã次ã®å³ã衚瀺ãããŸãã
å¥ã®äŸã¯ããã¹ã¯ãŒããã¯ã¬ãžããã«ãŒãçªå·ãªã©ã®æ©å¯ããŒã¿ã®æå·åã®æ¬ åŠã§ãã ããŒã¿ãæå·åãããŠããå ŽåããµãŒããŒãžã®äžæ£ã¢ã¯ã»ã¹ã®å Žåã§ããæ»æè ã¯éèŠãªããŒã¿ãçãããšãã§ããŸããã ç¹ã«ãäžå¯éããã·ã¥é¢æ°ããã¹ã¯ãŒãã«é©çšããå¿ èŠããããŸããæå·æã埩å·åããããšã¯ã§ãããå ¥åããããã¹ã¯ãŒãã®æå·æãçæããããŒã¿ããŒã¹å ã®ãã¹ã¯ãŒããšæ¯èŒããããšã§ãã¹ã¯ãŒããæ€èšŒããŸãã
7.ã¢ã¯ã»ã¹å¶åŸ¡æ©èœã®æ¬ åŠïŒMissing Function Level Access ControlïŒ
ååã瀺ãããã«ãè匱æ§ã®æ¬è³ªã¯ãèŠæ±ããããªããžã§ã¯ããžã®é©åãªã¢ã¯ã»ã¹ã®å¯çšæ§ã®æ€èšŒã®æ¬ åŠã§ãã
ã»ãšãã©ã®Webã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã«ããŒã¿ã衚瀺ããåã«æš©éã確èªããŸãã ãã ããã¢ããªã±ãŒã·ã§ã³ã¯ãæ©èœãèŠæ±ãããšãã«ãµãŒããŒäžã§åãã¢ã¯ã»ã¹å¶åŸ¡ãã§ãã¯ãå®è¡ããå¿ èŠããããŸãã çµå±ã®ãšãããAJAXãã¯ãããžã䜿çšããŠããã¯ã°ã©ãŠã³ãã§éåæçã«éä¿¡ãããè£å©ãµãŒãã¹ãªã¯ãšã¹ããããã«å€ããããŸãã
èŠæ±ãã©ã¡ãŒã¿ãŒãå®å šã«ãã§ãã¯ãããªãå Žåãæ»æè ã¯é©åãªèš±å¯ãªãã«ããŒã¿ã«ã¢ã¯ã»ã¹ããèŠæ±ãåœé ã§ããŸãã
ãã®è匱æ§ã®ç¹å®ã®ããããŠããããæãäžè¬çãªã±ãŒã¹ãšããŠãç§ãã¡ã¯ãã§ã«èšäºã®ãã©ã°ã©ã4ã§æ€èšããŠããŸã-ãã©ã€ããŒãã¡ãã»ãŒãžã§ã®ãŠãŒã¶ãŒæ€èšŒã®æ¬ åŠã
8.ã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªïŒCSRF / XSRFïŒ
CSRFæ»æãã¯ãã«ïŒXSRFãšãåŒã°ããïŒã«ãããæ»æè ã¯ãè¿œå ã®ãã§ãã¯ãå®è£ ãããŠããªã被害è ã«ä»£ãã£ãŠãµãŒããŒäžã§ã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸãã
ããšãã°ãè³éãå¥ã®å£åº§ã«ééããæ¯æãã·ã¹ãã ã«ã¯ã次ã®åœ¢åŒã®ããŒãžããããŸãã
demobank.com/transfer_money.jspïŒ transfer_amount = 1000ïŒ transfer_account = 123456789
ããã§ã transfer_amountã¯è»¢éããéé¡ã§ããã transfer_accountã¯è³éã転éããå£åº§çªå·ã§ãã
被害è ãæ»æè ã«ãã£ãŠäœæãããWebãµã€ãã蚪åãããšãæ¯æãã·ã¹ãã ã®äžèšã®ããŒãžã«ãªã¯ãšã¹ããå¯ãã«éä¿¡ãããŸãã ãã®çµæããéã¯æ»æè ã®å£åº§ã«éããããã®åŸããã«ãããã³ã€ã³ãšè¿ éã«äº€æãããããè¿éäžå¯ã®å¥ã®æ¯æãã·ã¹ãã ã«ééãããããããåãæ»ãããšã¯ã§ããŸããã
被害è ã¯æ¯æãã·ã¹ãã ã§ä»¥åã«èªèšŒãããŠããŠãã¢ã¯ãã£ããªã»ãã·ã§ã³ãéãå¿ èŠããããšæ³å®ãããŠããŸãïŒããšãã°ãæ¯æãã·ã¹ãã ã®ããŒãžã¯å¥ã®ãã©ãŠã¶ã¿ãã§éãããŠããŸãïŒã
åé¡ã¯éåžžã«ç°¡åã«è§£æ±ºãããŸããããã«ã€ããŠã¯ãCSRFã«é¢ããå¥ã®èšäºã§èª¬æããŸãã
9.æ¢ç¥ã®è匱æ§ãæã€ã³ã³ããŒãã³ãã®äœ¿çš
å€ãã®å ŽåãWebã¢ããªã±ãŒã·ã§ã³ã¯ããµãŒãããŒãã£äŒæ¥ãæäŸããç¹å¥ãªã©ã€ãã©ãªãŸãã¯ããã¬ãŒã ã¯ãŒã¯ãïŒè±èª-ãã¬ãŒã ã¯ãŒã¯ïŒã䜿çšããŠäœæãããŸãã ã»ãšãã©ã®å Žåããããã®ã³ã³ããŒãã³ãã¯ãªãŒãã³ãœãŒã¹ã§ããã€ãŸããããªãã ãã§ãªããè匱æ§ãå«ããœãŒã¹ã³ãŒããç 究ããŠããäžçäžã®äœçŸäžäººãã®äººã ãããããæã£ãŠããããšãæå³ããŸãã ãããŠã圌ãã¯ããã決ããŠå€±æããŠããªãããšã«æ³šæãã¹ãã§ãã
ãŸããããŒã¿ããŒã¹ãµãŒããŒãWebãµãŒããŒãªã©ã®ã·ã¹ãã ã®äžäœã¬ãã«ã®ã³ã³ããŒãã³ãããããŠæçµçã«ã¯ã«ãŒãã«ã«è³ããŸã§ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã³ã³ããŒãã³ãã®è匱æ§ãæ¢ãããŸãïŒçºèŠãããŸãïŒã
ã³ã³ããŒãã³ãã®ææ°ããŒãžã§ã³ã䜿çšããsecurityfocus.comã®ãããªãµã€ãã§æ°ãã«çºèŠãããè匱æ§ãç£èŠããããšã¯éåžžã«éèŠã§ãã
10.æªç¢ºèªã®ãªãã€ã¬ã¯ããšè»¢é
å€ãã®å ŽåãWebã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒãããããŒãžããå¥ã®ããŒãžã«ãªãã€ã¬ã¯ãããŸãã ãã®ããã»ã¹ã§ã¯ããªãã€ã¬ã¯ãã®æçµå®å ã®ããŒãžã瀺ãäžé©åã«ãã§ãã¯ããããã©ã¡ãŒã¿ãŒã䜿çšãããå ŽåããããŸãã
é©åãªãã§ãã¯ãè¡ããªããšãæ»æè ã¯ãããã®ããŒãžã䜿çšããŠã被害è ãåœã®ãµã€ãã«ãªãã€ã¬ã¯ãããããšãã§ããŸããããšãã°ãéåžžã«ãã䌌ãã€ã³ã¿ãŒãã§ãŒã¹ãèŠåããã€ããªãã€ã³ã¿ãŒãã§ãŒã¹ããããŸãããã¯ã¬ãžããã«ãŒãæ å ±ããã®ä»ã®æ©å¯ããŒã¿ãçã¿ãŸãã
ãã®ã¿ã€ãã®è匱æ§ã¯ãäžèšã®ä»ã®å€ãã®è匱æ§ãšåæ§ãå ¥åæ€èšŒãšã©ãŒã®äžçš®ã§ãã
çµè«ã®ä»£ããã«
OWASP TOP-10ã®äž»ãªçš®é¡ã®è匱æ§ãäžè¬çãªæ¹æ³ã§èª¿æ»ããå¯èœãªéãç°¡åãªèšèªã§ãããã®ããšã話ãããšããŸããããŸãããããã®æ»æãã¯ãã«ãããžãã¹ã«ãããããªã¹ã¯ãç°¡åãªå®äŸã§ç€ºããŸããã
ãŸãããã®èšäºã¯ãã€ã³ã¿ãŒããããããžã§ã¯ãã®ææè ãšè¥ãéçºè ã察象ã«ããŠããŸãã å°æ¥ã®èšäºã§ã¯ãåè¿°ã®æ»æãã¯ãã«ã®ããããã«ã€ããŠã詳现ãªæè¡ç詳现ãšèª¬æçãªäŸããããŠãã¡ããä¿è·æ¹æ³ãå«ããŠãããã«è©³ãã説æããŸãã
ããžãã¹ãªãŒããŒã®æ¹ã¯ãITã»ãã¥ãªãã£ã«é¢é£ãããªã¹ã¯ã®ç解ãããå®å šã«ãªãã次ã®èšäºãITãããã§ãã·ã§ãã«ã«ãšã£ãŠåªããããŒã«ã«ãªãããšãé¡ã£ãŠããŸãã