
ãã®10幎éã§æãäžè¬çãªã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ã®åŸåã®1ã€ã¯ãä»®æ³ãããïŒVPïŒãã¯ãããžãŒã§ããããã«ãããWebã¢ããªã±ãŒã·ã§ã³ãã¡ã€ã¢ãŠã©ãŒã«ã¬ãã«ïŒWebã¢ããªã±ãŒã·ã§ã³ãã¡ã€ã¢ãŠã©ãŒã«ã以äžïŒã§æ¢ç¥ã®è匱æ§ãæªçšããããšããWebã¢ããªã±ãŒã·ã§ã³ãä¿è·ã§ããŸãã WAFãšã¯ãå€éšãããã¯ãŒã¯ãžã®ã²ãŒããŠã§ã€ãšWebãµãŒããŒã®éã®å¥åã®ããŒãã§åäœããå°çšãœãªã¥ãŒã·ã§ã³ãæå³ããŸãïŒã VPãã¯ãããžãŒã¯ãéçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ãïŒSASTïŒããŒã«ã®çµæã«åºã¥ããWAFåŽã§ã®HTTPèŠæ±ãã£ã«ã¿ãªã³ã°ã«ãŒã«ã®æ§ç¯ã«åºã¥ããŠããŸãã ãã ããSASTããã³WAFããŒã«ã¯ããŸããŸãªã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã³ããŒã·ã§ã³ã¢ãã«ãšããŸããŸãªææ決å®æ¹æ³ã«äŸåããŠãããšããäºå®ã«ãããåžå Žã§ã®çµ±åã®ããã®çã«å¹æçãªãœãªã¥ãŒã·ã§ã³ã¯ãŸã ãããŸããã SASTå
ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã§ã®äœæ¥ã¯ãã¯ã€ãããã¯ã¹ã¢ãã«ã«åŸã£ãŠå®è¡ãããååãšããŠãã³ãŒãå
ã®è匱æ§ãæ€çŽ¢ããããã«æ£åŒãªã¢ãããŒãã䜿çšãããŸãã WAFã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯ãã©ãã¯ããã¯ã¹ã§ãããæ»æãæ€åºããããã«ãã¥ãŒãªã¹ãã£ãã¯ã䜿çšãããŸãã ããã«ãããè匱æ§ã®æªçšæ¡ä»¶ãåçŽãªã¹ããŒã `http_parameter = plain_text_attack_vector`ãè¶
ããå Žåã«ãVPãå¹æçã«äœ¿çšããŠæ»æããä¿è·ããããšã¯ã§ããŸããã
ããããSASTã䜿çšããŠååŸãããã¢ããªã±ãŒã·ã§ã³ã®å
éšããã€ã¹ã«é¢ããæ
å ±ãWAFåŽã§å©çšå¯èœã«ãªããçºèŠãããè匱æ§ãžã®æ»æãæšæž¬ããã«ãæ»æã®äºå®ã蚌æã§ããããã«ãSASTãšWAFããåéã«ããããšãããã©ãã§ããããïŒ
äŒçµ±çãªVPã®çŽ æŽããããšè²§å°
Webã¢ããªã±ãŒã·ã§ã³ã®ä»®æ³ãããã®äœæãèªååããåŸæ¥ã®ã¢ãããŒãã¯ãSASTã䜿çšããŠçºèŠããããã¹ãŠã®è匱æ§ã«é¢ããWAFæ
å ±ãæäŸããããšã§ãã
- è匱æ§ã¯ã©ã¹ã
- Webã¢ããªã±ãŒã·ã§ã³ïŒURLãŸãã¯ãã®äžéšïŒãžã®è匱ãªãšã³ããªãã€ã³ãã
- æ»æãå¯èœã«ãªãHTTPãªã¯ãšã¹ãã®è¿œå ãã©ã¡ãŒã¿ãŒã®å€ã
- è匱ãªãã©ã¡ãŒã¿ãŒã®å€-æ»æãã¯ãã«ã®ãã£ãªã¢ã
- å€ãã®æåãŸãã¯åèªïŒããŒã¯ã³ïŒãè匱ãªãã©ã¡ãŒã¿ãŒã«åºçŸãããšãè匱æ§ã®æªçšã«ã€ãªãããŸãã
HTTPèŠæ±ãã©ã¡ãŒã¿ãŒã®å€ã®ã»ãããšè匱ãªãã©ã¡ãŒã¿ãŒã®å±éºãªèŠçŽ ã決å®ããã«ã¯ããã¹ãŠã®å¯èœãªèŠçŽ ãšçæé¢æ°ïŒéåžžã¯æ£èŠè¡šçŸã«åºã¥ãïŒã®åçŽãªåæã䜿çšã§ããŸãã
XSSæ»æã«å¯ŸããŠè匱ãªASP.NETããŒãžã³ãŒãã¹ããããã«ã€ããŠèããŸãã
01 var condition = Request.Params["condition"]; 02 var param = Request.Params["param"]; 03 04 if (condition == null || param == null) 05 { 06 Response.Write("Wrong parameters!"); 07 return; 08 } 09 10 string response; 11 if (condition == "secret") 12 { 13 response = "Parameter value is `" + param + "`"; 14 } 15 else 16 { 17 response = "Secret not found!"; 18 } 19 20 Response.Write("<b>" + response + "</b>");
æ»æãã¯ãã«ã«å¯Ÿãããã®ã³ãŒãã®åæã®çµæããã®å€ã®æ¡ä»¶ä»ãã»ããã®ã·ã³ããªãã¯åŒãå°åºãããŸãã
{condition = "secret" â param â { XSShtml-text }}, XSShtml-text â XSS- TEXT, HTML.
ãã®åŒããããšã¯ã¹ããã€ããšä»®æ³ãããã®äž¡æ¹ãæšæž¬ã§ããŸãã ä»®æ³ãããèšè¿°åã«åºã¥ããŠãWAFã¯ãã¹ãŠã®HTTPèŠæ±ããããã¯ãããã£ã«ã¿ãªã³ã°ã«ãŒã«ãçæããŸãããã®å®è¡ã«ãããçºèŠãããè匱æ§ãæªçšãããå¯èœæ§ããããŸãã
ãã¡ããããã®ã¢ãããŒãã§ã¯ãç¹å®ã®æ»æã»ããããé²åŸ¡ããããšãã§ããŸããã次ã®ãããªé倧ãªæ¬ ç¹ããããŸãã
- è匱æ§ã®ååšã蚌æããããã«ãSASTããŒã«ã¯ãè匱æ§ã«å¯Ÿããæ»æãã¯ãã«ã®1ã€ãåã«æ€åºããŸãã è匱æ§ãå¹æçã«æé€ããã«ã¯ããã¹ãŠã®ãã¯ãã«ãé²åŸ¡ããå¿
èŠããããŸãããã¯ãã«ã¯ç¡éã§ããã ãã§ãªããæ»æãã¯ãã«ã®äžèŠåãªææ³ã«ããæ£èŠè¡šçŸã§è¡šçŸã§ããªãããšãå€ããããWAFåŽã«å ±åããããšã¯å°é£ã§ãã
- åãããšããè¿œå ã®ãã¹ãŠã®ã¯ãšãªãã©ã¡ãŒã¿ã®å€ã«åœãŠã¯ãŸããè匱æ§ã®æªçšãå¯èœã«ãªããŸãã
- è匱ãªãã©ã¡ãŒã¿ãŒã®å±éºãªèŠçŽ ã«é¢ããæ
å ±ã¯ããšã³ããªãã€ã³ãããè匱ãªå®è¡ãã€ã³ããžã®éäžã§ãæ»æãã¯ãã«ããã®ææ³ãŸãã¯ææ³å
šäœïŒããšãã°ãBase64ãURLãŸãã¯HTMLãšã³ã³ãŒãã£ã³ã°ãæååå€æãªã©ïŒã®ã³ã³ããã¹ããå€æŽããäžéå€æãåããå Žåã圹ã«ç«ã¡ãŸããïŒ
ãããã®æ¬ ç¹ã¯ãç¹æ®ãªã±ãŒã¹ã«å¯Ÿããä¿è·ã«çŠç¹ãåœãŠãVPãã¯ãããžãŒã§ã¯ãSASTããŒã«ã䜿çšããŠçºèŠãããè匱æ§ã«å¯Ÿãããã¹ãŠã®å¯èœãªæ»æã«å¯Ÿããå¹æçãªä¿è·ãèš±å¯ããªããšããäºå®ã«ã€ãªãããŸãã ããã«ããã®æ¹æ³ã§æ§ç¯ããããã©ãã£ãã¯ãã£ã«ã¿ãªã³ã°ã«ãŒã«ã¯ãéåžžã®HTTPèŠæ±ããããã¯ããä¿è·ãããã¢ããªã±ãŒã·ã§ã³ã®åäœãæ··ä¹±ãããããšããããããŸãã è匱ãªã³ãŒããå°ãå€æŽããŸãã
01 var condition = Request.Params["condition"]; 02 var param = Request.Params["param"]; 03 04 if (condition == null || param == null) 05 { 06 Response.Write("Wrong parameters!"); 07 return; 08 } 09 10 string response; 11
åã®äŸãšã®å¯äžã®éãã¯ãäž¡æ¹ã®ã¯ãšãªãã©ã¡ãŒã¿ãŒãäœããã®å€æãåãããµãã¹ããªã³ã°ãå«ãŸããåã«ãsecretããã©ã¡ãŒã¿ãŒã®æ¡ä»¶ãç·©åãããããšã§ãã ãã®ã³ãŒãã®åæã®çµæãšããŠã®æ»æãã¯ãã«ã®åæã¯ã次ã®åœ¢åŒãåããŸãã
(String.Contains (CustomDecode (condition)) ("secret")) â param â (CustomDecode { XSShtml-text })
åæã«ã察å¿ããCompFGé ç¹ã®CustomDecodeé¢æ°ã«ã€ããŠãã¢ãã©ã€ã¶ãŒã¯Base64-URL-Base64å€æãã§ãŒã³ãèšè¿°ããåŒãå°åºããŸãã
(Base64Decode (UrlDecode (Base64Decode argument)))
ãã®ã¿ã€ãã®åŒã䜿çšãããšããšã¯ã¹ããã€ããæ§ç¯ããããšãå¯èœã§ãïŒä»¥åã®
èšäºã®ããããã§è©³çŽ°ã«èª¬æããŸããïŒããä»®æ³ãããã®æ§ç¯ã«åŸæ¥ã®ã¢ãããŒããé©çšããããšã¯ã§ããªããªããŸããã
- è匱æ§ã®æªçšã¯ããã³ãŒããããèŠæ±ãã©ã¡ãŒã¿ãŒãconditionãã«éšåæååãsecretããå«ãŸããå Žåã«ã®ã¿å¯èœã§ããããã®ãããªãã©ã¡ãŒã¿ãŒã®å€ã®ã»ããã¯éåžžã«å€§ãããäžèŠåãªãã³ãŒãæ©èœã®ããã«æ£èŠè¡šçŸã§è¡šçŸããããšã¯å°é£ã§ã;
- æ»æãã¯ãã«ã§ããèŠæ±ãã©ã¡ãŒã¿ãŒããã³ãŒãããïŒ14è¡ç®ïŒãSASTããŒã«ãWAFã®å±éºãªèŠçŽ ã®å€ããçæããã®ãé²ããŸãã
åŸæ¥ã®VPã®åé¡ã¯ãã¹ãŠããã¯ã€ãããã¯ã¹ã¢ãã«ã«åŸã£ãŠWAFã¬ãã«ã§ã¢ããªã±ãŒã·ã§ã³ãæäœã§ããªãããšããçºçãããããããããæé€ããã«ã¯ããã®æ©äŒãå®è£
ãã次ã®ããã«ã¢ãããŒããæ¹åããå¿
èŠãããããšã¯æããã§ãã
- SASTããŒã«ã¯ãè匱ãªãã©ã¡ãŒã¿ãŒãšããšã³ããªãã€ã³ãããè匱ãªãã€ã³ããžã®éäžã§æåããæ»æã®æ¡ä»¶ãåãããã¹ãŠã®å€æã«é¢ããå®å
šãªæ
å ±ãWAFã«æäŸããŸããã
- æ»æãæ€åºããããã«äœ¿çšãããã®ã¯ãã¥ãŒãªã¹ãã£ãã¯ã§ã¯ãªããç¹å®ã®è匱æ§ã®éå®çãªã»ããã§ã¯ãªããç¹å®ã®ã¹ããŒãã¡ã³ãã®å³å¯ãªèšŒæ ã«åºã¥ããŠãåç¹å®ã®è匱æ§ã®åäœæ¡ä»¶ã®äžè¬çãªã±ãŒã¹ãã«ããŒããæ£åŒãªæ¹æ³ã§ã
ãããŠãã©ã³ã¿ã€ã ã®ä»®æ³ãããã³ã°ã®ãã¯ãããžãŒãçãŸããŸããã
ã©ã³ã¿ã€ã ä»®æ³ããã
ã©ã³ã¿ã€ã ä»®æ³ãããïŒRVPïŒãã¯ãããžã¯ããœãŒã¹ã³ãŒãã¢ãã©ã€ã¶ãŒã®PT Application InspectorïŒPT AIïŒã§äœ¿çšãããèšç®ãããŒã°ã©ãïŒCompFGïŒãšåŒã°ãã調æ»å¯Ÿè±¡ã®ã¢ããªã±ãŒã·ã§ã³ã®ã¢ãã«ã«åºã¥ããŠããŸãã ãã®ã¢ãã«ã¯ãPHDays VIIã®
AppSecã¹ã©ã ã¯ãŒã¯ã·ã§ããã®äžéšãšããŠè©³çŽ°ã«èª¬æãããŸããã CompFGã¯ãåŸæ¥ã®èšå·èšç®ãšåæ§ã«ãã»ãã³ãã£ã¯ã¹ã§ã®ã³ãŒãã®æœè±¡çãªè§£éã®çµæãšããŠãã¢ããªã±ãŒã·ã§ã³ã®åæäžã«æ§ç¯ãããŸãã ãã®ã°ã©ãã®é ç¹ã«ã¯ã察å¿ããå®è¡ãã€ã³ãã«ååšãããã¹ãŠã®ããŒã¿ã¹ããªãŒã ã®èš±å®¹å€ã®ã»ãããæå®ããã¿ãŒã²ããèšèªã®çæåŒãå«ãŸããŠããŸãã ãããã®ã¹ã¬ããã¯ãå®è¡ãã€ã³ãåŒæ°ãšåŒã°ããŸãã ããšãã°ãCompFGã®äžèšã®äŸã®è匱ãªå®è¡ãã€ã³ãã®äžéšã¯æ¬¡ã®ããã«ãªããŸãã

CompFGã®ããããã£ã®1ã€ã¯å
·äœæ§ã§ããããã¯ããã¹ãŠã®å
¥åãã©ã¡ãŒã¿ãŒã®å€ãèšå®ããããšã«ãããã¢ããªã±ãŒã·ã§ã³å®è¡ã®ä»»æã®æç¹ã§ãã¹ãŠã®åŒæ°ã®ç¹å®ã®å€ã®ã»ãããèšç®ããæ©èœã§ãã
RVPã¯ãŒã¯ãããŒã¯ãã¢ããªã±ãŒã·ã§ã³ã©ã€ããµã€ã¯ã«ã®æ®µéã«å¯Ÿå¿ãã2ã€ã®æ®µé-å±éïŒã¹ãããDïŒãšå®è¡ïŒã¹ãããRïŒã«åãããŠããŸãã

å±éãã§ãŒãº
ã¢ããªã±ãŒã·ã§ã³ã®æ¬¡ã®ããŒãžã§ã³ããããã€ããåã«ãPT AIã䜿çšããŠåæããŸãããã®çµæãCompFGã®åé ç¹ããè匱ãªå®è¡ãã€ã³ããèšè¿°ãã3ã€ã®åŒãå°ãåºãããŸãã
- ãã€ã³ãèªäœã®å°éå¯èœæ§æ¡ä»¶ã
- ãã¹ãŠã®åŒæ°ã®å€ã®å°éå¯èœæ§ã®æ¡ä»¶ã
- ãã¹ãŠã®åŒæ°ãšãããã察å¿ããææ³ã®å€ã®ã»ããã
ãã¹ãŠã®åŒã®ã»ããã¯ãè匱æ§ãWebã¢ããªã±ãŒã·ã§ã³ãžã®ç¹å®ã®ãšã³ããªãã€ã³ãã®å¶åŸ¡ãããŒã«å±ãããšããäºå®ã«ãã£ãŠã°ã«ãŒãåãããŸãã ãšã³ããªãã€ã³ãèªäœã®æŠå¿µã¯ããµããŒããããŠããåPT AI Webãã¬ãŒã ã¯ãŒã¯ã«åºæã§ãããã¢ãã©ã€ã¶ãŒãã¬ããžããŒã¹ã§å®çŸ©ãããŠããŸãã
ãã®åŸãæ€åºãããè匱æ§ãšé¢é£ããåŒãå«ãã¬ããŒãããSåŒã®æ§æã«åºã¥ããç¹å¥ãªãã¡ã€ã³èšèªã®ã³ãŒãã®åœ¢åŒã§ããŠã³ããŒããããã¿ãŒã²ããèšèªã«äŸåããªã圢åŒã§CompFGåŒãèšè¿°ã§ããŸãã 以åã«æ€èšãããã³ãŒãäŸã®è匱æ§ã®åŒæ°å€ã®åŒã¯æ¬¡ã®ãšããã§ãã
(+ ("Parameter value is `") (FromBase64Str (UrlDecodeStr (FromBase64Str (GetParameterData (param))))) ("`")),
ãããŠããã®å°éå¯èœæ§ã®æ¡ä»¶ã®å
¬åŒïŒ
(Contains (FromBase64Str (UrlDecodeStr (FromBase64Str (GetParameterData (condition))))) ("secret")).
çµæã®ã¬ããŒãã¯PT Application FirewallïŒPT AFïŒã«ã¢ããããŒããããããã«åºã¥ããŠãã€ããªã¢ãžã¥ãŒã«ãçæãããããã«ååšãããã¹ãŠã®åŒãèšç®ã§ããŸãã èæ
®ãããäŸã®è匱ç¹ã®å°éå¯èœæ§æ¡ä»¶ãèšç®ããããã®éã³ã³ãã€ã«ãããã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã

ãã©ãŒãã¥ã©ã®èšç®ãå¯èœã«ããããã«ãPT AFåŽã§ïŒéžæããïŒå¿
èŠããããŸãïŒ
- ã¬ããŒãã«è¡šç€ºãããå¯èœæ§ã®ãããã¹ãŠã®é¢æ°ã®èšç®æ©ã®ããŒã¿ããŒã¹ã
- ä¿è·ãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããŠããèšèªãŸãã¯ãã©ãããã©ãŒã ïŒCLRãJVMãPHPãPythonããŸãã¯Rubyã€ã³ã¿ãŒããªã¿ãŒãªã©ïŒã®ã©ã³ã¿ã€ã ãšãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããã©ã€ãã©ãªãåããåé¢ããããµã³ãããã¯ã¹ã
æåã®ãªãã·ã§ã³ã¯æ倧ã®ããã©ãŒãã³ã¹ãæäŸããŸãããé»åãèšè¿°ããããã«WAFéçºè
ãèšå€§ãªéã®æäœæ¥ãè¡ããŸãïŒæšæºã©ã€ãã©ãªã®æ©èœã®ã¿ã«å¶éãããŠããå Žåã§ãïŒã 2çªç®ã®ãªãã·ã§ã³ã§ã¯ãã¬ããŒãã«è¡šç€ºãããå¯èœæ§ã®ãããã¹ãŠã®é¢æ°ãèšç®ã§ããŸãããã©ã³ã¿ã€ã ãåŒã³åºããŠåé¢æ°ãèšç®ããå¿
èŠããããããåHTTPãªã¯ãšã¹ãã®åŠçæéãé·ããªããŸãã ããã§æé©ãªãªãã·ã§ã³ã¯ãæåã®ãªãã·ã§ã³ãæãäžè¬çãªæ©èœã«äœ¿çšãããä»ã®ãã¹ãŠã2çªç®ã®æ©èœã䜿çšããŠèšç®ãããå Žåã§ãã
åŒã«ã¯ãã¢ãã©ã€ã¶ãŒãã倱æãã§ããªãïŒããšãã°ããããžã§ã¯ãã®äŸåé¢ä¿ããªãããŸãã¯ãã€ãã£ãã³ãŒãã«é¢é£ããã¡ãœãããåŒã³åºãïŒããã³ïŒãŸãã¯ïŒèšç®ããæ©èœããããããã¯PT AFåŽã§ãäžå¯èœã§ãïŒããšãã°ãå€éšãœãŒã¹ãŸãã¯ãµãŒããŒç°å¢ããããŒã¿ãèªã¿åãæ©èœïŒã ãã®ãããªé¢æ°ã¯ãåŒã§äžæãã©ã°ã§ããŒã¯ãããç¹å¥ãªæ¹æ³ã§åŠçãããŸãïŒä»¥äžãåç
§ïŒã
éçšãã§ãŒãº
æäœãã§ãŒãºã§ã¯ãåHTTPãªã¯ãšã¹ãã§ãWAFã¯ãã®åŠçãçæããããã€ããªã¢ãžã¥ãŒã«ã«å§ä»»ããŸãã ã¢ãžã¥ãŒã«ã¯ãªã¯ãšã¹ããåæããããã«é¢é£ããWebã¢ããªã±ãŒã·ã§ã³ãžã®ãšã³ããªãã€ã³ãã決å®ããŸãã ãã®ãã€ã³ãã§ã¯ãåæã®çµæãšããŠçºèŠããããã¹ãŠã®è匱æ§ã®åŒãéžæãããŸã-ãããŠããããã¯ç¹å®ã®æ¹æ³ã§èšç®ãããŸãã
æåã«ãäž¡æ¹ã®æ¡ä»¶ã®åŒãèšç®ãããŸãïŒè匱ç¹ã®å°éå¯èœæ§ãšãã®ãã¹ãŠã®åŒæ°ã®å€ã å€æ°ã®ä»£ããã«ã察å¿ããã¯ãšãªãã©ã¡ãŒã¿ã®å€ãååŒã«ä»£å
¥ããããã®åŸããã®å€ãèšç®ãããŸãã æ°åŒã«äžæãã©ã°ã®ããåŒãå«ãŸããŠããå Žåã次ã®ããã«åŠçãããŸãã
- äžæãªåãã©ã°ã¯ãããŒã«åŒã§ããŒã¯ããããŸã§ãåŒåŒã®ããªãŒãäžããäžã«äŒæããŸãã
- ãã®ãããªåŒïŒæªç¥ã®é åïŒã¯ãã¹ãŠãåŒå
ã§ããŒã«å€æ°ã«çœ®ãæããããçµæã®åŒã«ã€ããŠããŒã«å
足å¯èœæ§ã®åé¡ã解決ãããŸãã
- nåã®æ¡ä»¶ã¯ãåææ¡ä»¶åŒããæ§ç¯ãããŸãâåã®ã¹ãããã§èŠã€ãã£ããã¹ãŠã®è§£ããæªç¥ã®é åã®å¯èœãªå€ã代å
¥ããããšã«ããã
- åŸãããååŒã®å€ãèšç®ããããããã®å°ãªããšã1ã€ãå®è¡å¯èœã§ããã°ãåææ¡ä»¶ãå®è¡å¯èœãšèŠãªãããŸãã
èšç®ã®çµæãå
ã®åŒã®åœã®å€ã§ãã£ãå Žåãããã¯ããã®HTTPèŠæ±ãããã¹ãŠã®åŒæ°ã®å±éºãªå€ãæã€è匱ãªãã€ã³ãã«ã¢ããªã±ãŒã·ã§ã³ãå°ãããšãã§ããªãããšãæå³ããŸãã ãã®å ŽåãRVPã¯ãªã¯ãšã¹ãåŠçãã¡ã€ã³ã®WAFã¢ãžã¥ãŒã«ã«è¿ãã ãã§ãã
è匱æ§ã«å¯Ÿããæ»æã®æ¡ä»¶ãæºè¶³ã§ããå Žåãè匱ç¹ã®åŒæ°ã®å€ãèšç®ããçªã§ãã ããã«äœ¿çšãããã¢ã«ãŽãªãºã ã¯ãåŠçããããã€ã³ããå±ããè匱æ§ã®ã¯ã©ã¹ã«ãã£ãŠç°ãªããŸãã ãããã«å
±éããã®ã¯ãæªç¥ã®ããŒããå«ãåŒãåŠçããããã®ããžãã¯ã®ã¿ã§ãïŒæ¡ä»¶åŒãšã¯ç°ãªãããã®ãããªåŒæ°åŒã¯ããã«WAFã«å ±åããã次ã®åŒ±ç¹ã®èšç®ãžã®ç§»è¡ãå®è¡ãããŸãã äŸãšããŠãã€ã³ãžã§ã¯ã·ã§ã³ã¯ã©ã¹æ»æã®æ€åºã«äœ¿çšãããæãè€éãªã¢ã«ãŽãªãºã ãæ€èšããŠãã ããã
泚å
¥æ€åº
ã€ã³ãžã§ã¯ã·ã§ã³ã¯ã©ã¹ã«ã¯ãæ»æè
ã«ãã£ãŠå¶åŸ¡ãããããŒã¿ã«åºã¥ããŠåœ¢æããã圢åŒèšèªïŒHTMLãXMLãJavaScriptãSQLãURLããã¡ã€ã«ãã¹ãªã©ïŒã®ããã¹ãã®æŽåæ§ã䟵害ããããšãç®çãšããæ»æãå«ãŸããŸãã æ»æã¯ãç¹å¥ã«çæãããå
¥åããŒã¿ãã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ããããšã«ãã£ãŠå®è¡ãããŸããæ»æãããããã¹ãã«ããã代å
¥ãããšãããŒã¯ã³ãè¶
ããŠãã¢ããªã±ãŒã·ã§ã³ããžãã¯ã«ãã£ãŠæäŸãããªãããã¹ãã«æ§æãå°å
¥ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®çŸåšã®è匱æ§ããã®ã¯ã©ã¹ã®æ»æã«å±ããŠããå Žåããã®åŒæ°ã®å€ã¯ãæ±æåæã®ã»ãã³ãã£ã¯ã¹ã§ã®æœè±¡çãªè§£éã䌎ããããããå¢åèšç®ã¢ã«ãŽãªãºã ã䜿çšããŠèšç®ãããŸãã ãã®ã¢ã«ãŽãªãºã ã®æ¬è³ªã¯ãåŒã®ååŒãäžããäžã«å¥ã
ã«èšç®ãããåã¹ãããã§åŸãããèšç®ã®çµæããåèšç®é¢æ°ã®ã»ãã³ãã£ã¯ã¹ãš
åŸæ¥ã®æ±æåæã®ã«ãŒã«ã«åºã¥ããŠãæ±æãã®å¢çã§ããã«ããŒã¯ãããããšã§ã ããã«ãããæçµçãªèšç®çµæã§ãå
¥åããŒã¿ã®å€æã®çµæãšããŠååŸããããã¹ãŠã®ãã©ã°ã¡ã³ãïŒæ±æããããã©ã°ã¡ã³ãïŒãåé¢ã§ããŸãã
ããšãã°ãäžèšã®ã³ãŒããšãã©ã¡ãŒã¿ãŒãïŒ

ããã«ãåŸãããå€ã¯è匱ç¹ã®åŒæ°ã®ææ³ã«åŸã£ãŠããŒã¯ã³ã«åå²ãããè€æ°ã®ããŒã¯ã³ãæ±æããããã©ã°ã¡ã³ãã®ããããã«è©²åœããå Žåãããã¯æ€åºãããæ»æã®æ£åŒãªå
åã§ãïŒæ³šå
¥ã®å®çŸ©ã«ããïŒïŒ

çŸåšã®ãšã³ããªãã€ã³ãã«é¢é£ãããã¹ãŠã®è匱æ§ã®åŒã®èšç®ãå®äºãããšãèŠæ±åŠçã¯æ€åºçµæãšãšãã«ã¡ã€ã³WAFã¢ãžã¥ãŒã«ã«è»¢éãããŸãã
RVPã®å©ç¹ãšæ©èœ
ãã®æ¹æ³ã§å®è£
ãããã³ãŒãã®ã»ãã¥ãªãã£ãåæããçµæã«åºã¥ããŠã¢ããªã±ãŒã·ã§ã³ãä¿è·ããã¢ãããŒãã«ã¯ãåŸæ¥ã®VPãšæ¯èŒããŠå€ãã®éèŠãªå©ç¹ããããŸãã
- äžèšã®æ£åŒãªã¢ãããŒããšãåºåããŒã¿ã®äžéå€æãèæ
®ã«å
¥ããæ©èœã«ãããåŸæ¥ã®VPã§ç€ºããããã¹ãŠã®æ¬ ç¹ãæé€ãããŸãã
- å
¬åŒã®ã¢ãããŒãã¯ãåŒã«æªç¥ã®ããŒãããªãå Žåã第1çš®ã®ãšã©ãŒïŒèª€æ€ç¥ã誀æ€ç¥ïŒãçºçããå¯èœæ§ãå®å
šã«æé€ããŸãã
- ä¿è·ã¯Webã¢ããªã±ãŒã·ã§ã³ã®æ©èœã ãã§ãªããç¬èªã®æ¹æ³ã§å®è£
ããããããWebã¢ããªã±ãŒã·ã§ã³ã®æ©èœãžã®æªåœ±é¿ã¯ãããŸããã
ãã¯ãããžããã¹ãããŠãã®æå¹æ§ã確èªããããã«ãçµ±åã¢ãžã¥ãŒã«PT Application Inspectorããã³PT Application Firewallã®ãããã¿ã€ããã.NETãã©ãããã©ãŒã çšã®IIS WebãµãŒããŒã®HTTPã¢ãžã¥ãŒã«ãšããŠéçºãããŸããã èæ
®ãããã³ãŒãäŸã䜿çšãã圌ã®äœåã®ãã¢ã¯ã
YouTubeã§èŠãããšãã§ããŸãã å€æ°ã®ãªãŒãã³CMSã®ããã©ãŒãã³ã¹ãã¹ãã§ã¯ã蚱容ã§ããçµæ以äžã®ãã®ã瀺ãããŸãããRVPã䜿çšããHTTPèŠæ±ã®åŠçæéã¯ãåŸæ¥ã®ïŒãã¥ãŒãªã¹ãã£ãã¯ïŒWAFã¡ãœããã«ããåŠçæéã«å¹æµããŸããã ãªã¯ãšã¹ãã«å¯ŸããWebã¢ããªã±ãŒã·ã§ã³ã®å¿çãé
ããªãå²åã®å¹³åã¯æ¬¡ã®ãšããã§ãã
- è匱ç¹ããããããªãèŠæ±ãåŠçããå Žåã¯0ïŒ
ã
- 匱ç¹ã«ã€ãªãããæ»æã§ã¯ãªãèŠæ±ãåŠçããå Žåã¯6ã10ïŒ
ïŒåŒ±ç¹ã®ææ³ã®è€éãã«ããïŒã
- è匱ç¹ã«ã€ãªãããæ»æã§ãããªã¯ãšã¹ããåŠçããå Žåã4ã7ïŒ
ã
åŸæ¥ã®VPã«å¯Ÿããæãããªå©ç¹ã«ãããããããRVPã«ã¯ãŸã ããã€ãã®æŠå¿µçãªå¶éããããããããåãé€ããããšæããŸãã
- WAFåŽã«ãªããœãŒã¹ïŒãã¡ã€ã«ãªãœãŒã¹ãããŒã¿ããŒã¹ããµãŒããŒç°å¢ãªã©ïŒããã®å€éšããŒã¿ãå«ããã®ãããªæ°åŒã®å€ãèšç®ããæ¹æ³ã¯ãããŸããã
- æ°åŒã®å質ã¯ã解æäžã®ã³ãŒãã®äžéšã®ãã©ã°ã¡ã³ãã®è¿äŒŒã®å質ïŒã«ãŒããååž°ãå€éšã©ã€ãã©ãªã®ã¡ãœããã®åŒã³åºããªã©ïŒã«çŽæ¥äŸåããŸãã
- ã³ã³ãã¥ãŒã¿ããŒã¹ã®é¢æ°ãå€æããã»ãã³ãã£ã¯ã¹ã®èª¬æã«ã¯ãããçšåºŠã®ãšã³ãžãã¢ãªã³ã°äœæ¥ãå¿
èŠã§ããããã¯ãèªååãäžååã§ããããã¥ãŒãã³ãã¡ã¯ã¿ãŒã«é¢é£ãããšã©ãŒãçºçããå¯èœæ§ããããŸãã
ãã ããRVPæ©èœã®äžéšãã¢ããªã±ãŒã·ã§ã³åŽã«è»¢éããã©ã³ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³èªå·±ä¿è·ïŒRASPïŒã®åºç€ãšãªããã¯ãããžãŒãé©çšããããšã«ããããããã®æ¬ ç¹ã解æ¶ã§ããããšãå€æããŸããã
ããããããã«ã€ããŠã¯èšäºã®åŸåã§èª¬æããŸã:)