![]()
|
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7">
データベースã®ã‚»ã‚ュリティ今日ã€ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’æä¾›ã™ã‚‹ã‚¦ã‚§ãƒ–アプリケーション㫠ãŠã„ã¦ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¯æ¬ ã事ã®ã§ããªã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¨ãªã£ã¦ã„ã¾ã™ã€‚ ãã†ã„ã£ãŸãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã¯é‡è¦ãªã€ãã—ã¦ç§˜å¯†ã«ã™ã¹ãæƒ…å ±ãŒæ ¼ç´ ã•れるã“ã¨ã«ãªã‚‹ã®ã§ã€ãれらをã„ã‹ã«ã—ã¦ä¿è·ã™ã‚‹ã‹ã«ã¤ã„ã¦å分㫠考慮ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ æƒ…å ±ã‚’å–り出ã—ãŸã‚Šæ ¼ç´ã™ã‚‹ãŸã‚ã«ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æŽ¥ç¶šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ ãã—ã¦é©åˆ‡ãªã‚¯ã‚¨ãƒªã‚’é€ä¿¡ã—ã€çµæžœã‚’å—ã‘å–りã€åˆ‡æ–ã—ã¾ã™ã€‚クエリ㫠使用ã•れる言語ã¯Structured Query Language (SQL)ãŒä¸€èˆ¬çš„ã§ã™ã€‚アタッカー ãŒã©ã®ã‚ˆã†ã«SQL㫠干渉ã™ã‚‹ã‹ã«ã¤ã„ã¦å‚ç…§ã—ã¦ãã ã•ã„。 皆ã•ã‚“ãŒãŠæ°—ã¥ãã®æ§˜ã«ã€PHPãれ自体ã¯è²´æ–¹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ä¿è·ã™ã‚‹ã“ã¨ã¯ ã‚りã¾ã›ã‚“。以下ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯PHPスクリプトã‹ã‚‰ã©ã®ã‚ˆã†ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã« ã‚¢ã‚¯ã‚»ã‚¹ã—æ“作ã™ã‚Œã°ã„ã„ã®ã‹ã€ã¨ã†ã„ã“ã¨ã«é–¢ã™ã‚‹éžå¸¸ã«åŸºæœ¬çš„ãªå°Žå…¥ã§ã™ã€‚ ã“ã®ã‚·ãƒ³ãƒ—ルãªãƒ«ãƒ¼ãƒ«ã‚’覚ãˆã¦ç½®ã„ã¦ãã ã•ã„:ãれã¯ã€Œå¤šé‡é˜²è¡›ã€ã§ã™ã€‚ より多ãã®ç®‡æ‰€ã§ã€ã‚ˆã‚Šå¤šãã®ä¿è·ã‚’行ã†ã“ã¨ã«ã‚ˆã‚Šã€ã‚¢ã‚¿ãƒƒã‚«ãƒ¼ãŒæ”»æ’ƒã« æˆåŠŸã—ã¦æ©Ÿå¯†æƒ…å ±ãŒæ¼æ´©ã™ã‚‹å¯èƒ½æ€§ã¯æ¸›ã£ã¦ã„ãã¾ã™ã€‚データベース㨠アプリケーションをæ£ã—ãデザインã™ã‚‹ã“ã¨ã§è²´æ–¹ã®å¿ƒé…ã‚’å–り除ãã“ã¨ãŒ ã§ãã¾ã™ã€‚ データベースã®ãƒ‡ã‚¶ã‚¤ãƒ³ä»–人ãŒç”¨æ„ã—ãŸæ—¢å˜ã®ã‚‚ã®ã‚’使用ã™ã‚‹ã®ã§ãªã„é™ã‚Šã€æœ€åˆã«è¡Œã†ã®ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ä½œæˆã§ã™ã€‚ データベースãŒä½œæˆã•れるã¨ã€ãã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚ªãƒ¼ãƒŠãƒ¼ã¯ä½œæˆã‚³ãƒžãƒ³ãƒ‰ã‚’ 実行ã—ãŸãƒ¦ãƒ¼ã‚¶ã«ãªã‚Šã¾ã™ã€‚通常ã€ã‚ªãƒ¼ãƒŠãƒ¼(ã¨ã‚¹ãƒ¼ãƒ‘ーユーザー)ã®ã¿ãŒ ãã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾ã—ã¦æ“作を行ã†ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ä»–ã®ãƒ¦ãƒ¼ã‚¶ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ 使用ã™ã‚‹ã«ã¯é©åˆ‡ãªæ¨©åˆ©ãŒä¸Žãˆã‚‰ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ アプリケーションã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ªãƒ¼ãƒŠãƒ¼ã€ã‚‚ã—ãã¯ã‚¹ãƒ¼ãƒ‘ーユーザーã¨ã—㦠接続ã—ã¦ã¯çµ¶å¯¾ã«ã„ã‘ã¾ã›ã‚“。ãªãœãªã‚‰ã“れらã®ãƒ¦ãƒ¼ã‚¶ã¯ 例ãˆã°ã‚¹ã‚ーマã®å¤‰æ›´(テーブルã®å‰Šé™¤ç‰)や全コンテンツã®å‰Šé™¤ã€ã¨ã„ã£ãŸ ã‚らゆるクエリーを実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã‹ã‚‰ã§ã™ã€‚ è²´æ–¹ãŒä½œæˆã™ã‚‹ã‚¢ãƒ—リケーションãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾ã—ã¦è¡Œã†æ“作ã®å„æ–¹é¢ã”ã¨ã«ã€ æœæŸ»å¯¾è±¡ã¨ãªã‚‹ã‚ªãƒ–ジェクトã«å¯¾ã—ã¦ã€å‡ºæ¥ã‚‹é™ã‚Šå°‘ãªã„権é™ã‚’æŒã£ãŸè¤‡æ•°ã® ユーザを作æˆã—ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚ユーザã«å¯¾ã—ã¦ã¯ã€æœ€ä½Žé™å¿…è¦ãªæ¨©é™ã®ã¿ã‚’ 与ãˆã€é–¢ä¿‚ã®ç„¡ã„データã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã—ãªã„よã†ã«ã—ã¾ã™ã€‚ã“れã¯ã€ 万ãŒä¸€ä¾µå…¥è€…ãŒãã®ãƒ¦ãƒ¼ã‚¶ã®æ¨©é™ã‚’以ã£ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸéš›ã«ã€ アプリケーションã¨é–¢ä¿‚ã®ç„¡ã„データã«ã¾ã§ã‚¢ã‚¯ã‚»ã‚¹ã•れるã“ã¨ã‚’防ããŸã‚ã§ã™ã€‚ å…¨ã¦ã®ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã‚’ウェブアプリケーション(ã¤ã¾ã‚Šè²´æ–¹ã®ã‚¹ã‚¯ãƒªãƒ—ト) ã§å®Ÿè£…ã™ã‚‹ã“ã¨ã¯æŽ¨å¥¨ã•れã¾ã›ã‚“。代ã‚りã«ã€ãƒ“ューã€ãƒˆãƒªã‚¬ãƒ¼ã€ãƒ«ãƒ¼ãƒ«ã¨ã„ã£ãŸ ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ©Ÿèƒ½ã‚’活用ã—ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚ã‚·ã‚¹ãƒ†ãƒ ãŒæ›´æ–°ã•れ〠新ã—ã„æ©Ÿèƒ½ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã«ãªã£ãŸå ´åˆã€å€‹ã€…ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ クライアントã”ã¨ã«å†åº¦åŒæ§˜ã®ãƒã‚¸ãƒƒã‚¯ã‚’実装ã—ãªã‘れã°ãªã‚‰ãªããªã‚Šã¾ã™ã€‚ ã•らã«ã€ãƒˆãƒªã‚¬ãƒ¼ã¯é€éŽçš„ã«ã€ãã—ã¦è‡ªå‹•çš„ã«ãƒ•ィールドを扱ã†ã“ã¨ãŒå‡ºæ¥ã‚‹ã®ã§ã€ デãƒãƒƒã‚°æ™‚ã‚„ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯æ™‚ã«å½¹ç«‹ã¡ã¾ã™ã€‚ データベースã¸ã®æŽ¥ç¶šæ›´ãªã‚‹ã‚»ã‚ュリティã®ãŸã‚ã«ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ/サーãƒé–“ã®é€šä¿¡ã«ãŠã„ã¦SSLを用ã„㟠暗å·åŒ–を行ã£ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚ã‚‚ã—ãã¯sshを使用ã™ã‚‹ã“ã¨ã‚‚出æ¥ã¾ã™ã€‚ ã©ã¡ã‚‰ã‹ã®æ‰‹æ®µã‚’講ã˜ãŸå¾Œã€ãƒˆãƒ©ãƒ•ィックをモニタリングã—ã¦ã¿ã‚Œã° ã“ã“ã‹ã‚‰ä½•らã‹ã®æƒ…å ±ã‚’å¾—ã‚‹ã“ã¨ãŒå›°é›£ã ã¨ã„ã†äº‹ãŒåˆ†ã‹ã‚‹ã¨æ€ã„ã¾ã™ã€‚ ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã®æš—å·åŒ–SSL/SSHã«ã‚ˆã£ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ/サーãƒé–“ã§é€šä¿¡ã•れるデータã¯ä¿è·ã•れã¾ã™ãŒã€ データベースã«ä¿å˜ã•れãŸãƒ‡ãƒ¼ã‚¿ã¯ä¿è·ã•れã¾ã›ã‚“。SSLã¯ã‚ãã¾ã§é€šä¿¡ä¸Šã® プãƒãƒˆã‚³ãƒ«ãªã®ã§ã™ã€‚ 一旦アタッカーãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸(ウェブサーãƒã‚’通ã•ãšã«)アクセスã§ãã¦ã—ã¾ã†ã¨ã€ ãã“ã«æ ¼ç´ã•れã¦ã„ã‚‹ãƒ‡ãƒ¼ã‚¿è‡ªä½“ãŒæš—å·åŒ–ã•れã¦ã„ãªã„é™ã‚Šã€è‡ªç”±ã«é–²è¦§ã•れ〠使用ã•れã¦ã—ã¾ã„ã¾ã™ã€‚データを暗å·åŒ–ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ã“ã®è„…å¨ã‚’減らã™ã“ã¨ãŒ ã§ãã¾ã™ãŒã€ã“ã®æ©Ÿèƒ½ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„るデータベースã¯åƒ…ã‹ã§ã™ã€‚ ã“ã®å•題ã¸ã®æœ€ã‚‚ç°¡å˜ãªå¯¾å¿œç–ã¯ã€ã¾ãšè‡ªåˆ†å°‚ç”¨ã®æš—å·åŒ–パッケージを作æˆã—〠ãれをã‚ãªãŸã®PHPスクリプトã‹ã‚‰ä½¿ç”¨ã™ã‚‹ã“ã¨ã§ã™ã€‚PHPã®Mcrypt, Mhash ã¨ã„ã£ãŸå¹¾ã¤ã‹ã®æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€æ§˜ã€…ãªæš—å·åŒ–アルゴリズムをサãƒãƒ¼ãƒˆ ã—ã¦ã„ã‚‹ã®ã§å½¹ã«ç«‹ã¤ã§ã—ょã†ã€‚ãƒ‡ãƒ¼ã‚¿æ ¼ç´æ™‚ã«æš—å·åŒ–を行ã„ã€å–得時㫠復å·åŒ–ã—ã¾ã™ã€‚ã“ã®æ–¹æ³•ã«ã¤ã„ã¦ã¯ãƒªãƒ•ァレンスをå‚ç…§ã—ã¦ãã ã•ã„。 ã‚‚ã—完全ã«ãƒ‡ãƒ¼ã‚¿ã‚’éš ã—ãŸã„å ´åˆã‚„ã€å…ƒã®ãƒ‡ãƒ¼ã‚¿è‡ªä½“ã¯å¿…è¦ãªã„å ´åˆ(ã¤ã¾ã‚Š è¡¨ç¤ºã•れãªã„å ´åˆ)ã¯ã€ãƒãƒƒã‚·ãƒ¥ã‚‚考慮ã«å…¥ã‚ŒãŸã»ã†ãŒè‰¯ã„ã§ã—ょã†ã€‚ ãƒãƒƒã‚·ãƒ¥ã®è‰¯ã知られãŸä½¿ç”¨æ–¹æ³•ã¯ã€ãƒ‘スワードをãã®ã¾ã¾æ ¼ç´ã›ãšã«ã€ ãã®MD5ãƒãƒƒã‚·ãƒ¥å€¤ã‚’æ ¼ç´ã™ã‚‹æ–¹æ³•ã§ã™ã€‚crypt()ã‚„ md5()ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。 SQLã®ç™ºè¡Œå¤šãã®é–‹ç™ºè€…ã¯SQLクエリãŒã©ã®ã‚ˆã†ã«æ”¹ç«„ã•れるã‹ã¨ã„ã†ã“ã¨ã‚’余り æ°—ã«ã‹ã‘ã¦ãŠã‚‰ãšã€ã¾ãŸSQLクエリã¯ä¿¡ç”¨ã§ãã‚‹ã‚‚ã®ã¨è€ƒãˆã¦ã„るよã†ã§ã™ã€‚ 実際ã«ã¯SQLクエリã¯ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã‚’回é¿ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã€å¾“ã£ã¦ 通常ã®èªè¨¼ã‚„権é™ã®ãƒã‚§ãƒƒã‚¯ã‚’無視ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚時ã«ã¯ã€ OSレベルã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã§ãã¦ã—ã¾ã†ã“ã¨ã‚‚ã‚りã¾ã™ã€‚ Direct SQL Command Injection(SQLコマンドã®ç›´æŽ¥å®Ÿè¡Œ)ã¨ã„ã†æ‰‹æ³•ã¯ã€ 攻撃者ãŒSQLコマンドを生æˆã‚‚ã—ãã¯æ—¢å˜ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’変更ã™ã‚‹ã“ã¨ã§ éš è”½ã™ã¹ãデータを公開ã—ãŸã‚Šã€é‡è¦ãªãƒ‡ãƒ¼ã‚¿ã‚’æ›¸ãæ›ãˆãŸã‚Šã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ ホストã§å±é™ºãªã‚·ã‚¹ãƒ†ãƒ レベルã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ãŸã‚Šã™ã‚‹ã‚‚ã®ã®äº‹ã§ã™ã€‚ ã“ã®æ‰‹æ³•ã¯ã€ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®å…¥åŠ›ã‚’ã‚¹ã‚¿ãƒ†ã‚£ãƒƒã‚¯ãªãƒ‘ラメータã¨çµ„ã¿åˆã‚ã›ã¦ SQLクエリを生æˆã™ã‚‹ã‚¢ãƒ—リケーションã«ãŠã„ã¦ä½¿ç”¨ã•れã¾ã™ã€‚以下ã®ä¾‹ã¯ ä¸å¹¸ãªã“ã¨ã«å®Ÿéš›ã®äº‹ä¾‹ã«åŸºã¥ã„ãŸã‚‚ã®ã§ã™ã€‚ 入力ã®ãƒã‚§ãƒƒã‚¯ã‚’æ€ ã£ã¦ãŠã‚Šã€ã‚¹ãƒ¼ãƒ‘ーユーザもã—ãã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ä½œæˆæ¨©é™ã‚’ æŒã¤ãƒ¦ãƒ¼ã‚¶ä»¥å¤–ã®ãƒ¦ãƒ¼ã‚¶ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æŽ¥ç¶šã—ã¦ã„ãªã„ ãŸã‚ã«ã€æ”»æ’ƒè€…ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¹ãƒ¼ãƒ‘ーユーザを作æˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
パスワードをå–å¾—ã™ã‚‹æã‚‹ã¹ã手段ã«ã€ã‚µã‚¤ãƒˆã®æ¤œç´¢çµæžœã®ãƒšãƒ¼ã‚¸ã‚’欺ã ã¨ã„ã†ã‚‚ã®ãŒã‚りã¾ã™ã€‚攻撃ã™ã‚‹è€…ãŒå¿…è¦ã¨ã™ã‚‹ã‚‚ã®ã¯ã€æŠ•稿ã•れãŸå¤‰æ•° ã®ä¸ã§SQL命令ã§ä½¿ç”¨ã•ã‚Œã‚‹éš›ã«æ£ã—ãæ‰±ã‚れã¦ã„ãªã„ã‚‚ã®ãŒã‚ã‚‹ã‹ã©ã† ã‹ã‚’確ã‹ã‚ã‚‹ã ã‘ã§ã™ã€‚ã“れらã®ãƒ•ィルタã¯ã€é€šå¸¸ã€ SELECTæ–‡ã®WHERE, ORDER BY, LIMITåŠã³OFFSETå¥ã‚’カスタマイズã™ã‚‹ãŸ ã‚ã«å‰ã«ç½®ã‹ã‚Œã‚‹å½¢ã§è¨å®šã•れã¾ã™ã€‚使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒ UNIONæ§‹é€ ã‚’ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹å ´åˆã€ 攻撃者ã¯å…ƒã®ã‚¯ã‚¨ãƒªã«ä»»æ„ã®ãƒ†ãƒ¼ãƒ–ルã‹ã‚‰ãƒ‘スワードã®ãƒªã‚¹ãƒˆã‚’å–å¾—ã™ã‚‹ ã‚¯ã‚¨ãƒªã‚’è¿½åŠ ã—よã†ã¨ã™ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 æš—å·åŒ–ã•れãŸãƒ‘スワードフィールドを使用ã™ã‚‹ã“ã¨ãŒå¼·ã推奨ã•れã¾ã™ã€‚ SQL UPDATE もデータベースを攻撃ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚ã“れらã®ã‚¯ エリも切æ¨ã¦ãŸã‚Šæ–°ã—ã„クエリを元ã®ã‚¯ã‚¨ãƒªã«è¿½åŠ ã™ã‚‹ã“ã¨ã«ã‚ˆã‚‹æ”»æ’ƒ ã‚’å—ã‘ã¾ã™ã€‚ã—ã‹ã—ã€æ”»æ’ƒè€…ã¯SETå¥ã‚’使用ã™ã‚‹å¯ 能性ãŒã‚りã¾ã™ã€‚ã“ã®å ´åˆã€ã‚¯ã‚¨ãƒªã‚’æˆåŠŸã•ã›ã‚‹ãŸã‚ã«ã„ãã¤ã‹ã®ã‚¹ã‚ー ãƒžæƒ…å ±ã‚’ä¿æœ‰ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã“れã¯ã€ãƒ•ォームã®å¤‰æ•°åã‚„ç·å½“㟠り法ã«ã‚ˆã‚Šèª¿ã¹ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚パスワードã¾ãŸã¯ãƒ¦ãƒ¼ã‚¶åã‚’ä¿å˜ã™ るフィールド用ã®å‘½å記法ã¯ãã†å¤šãã¯ã‚りã¾ã›ã‚“。
æã‚ã—ã„例ã¨ã—ã¦ã€ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ›ã‚¹ãƒˆã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ グシステムレベルã®ã‚³ãƒžãƒ³ãƒ‰ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã¨ãªã‚‹æ–¹æ³•を示ã—ã¾ã™ã€‚
回é¿ã™ã‚‹æ–¹æ³•ã»ã¨ã‚“ã©ã®ä¾‹ã§ã¯æ”»æ’ƒã™ã‚‹è€…ã¯ç‰¹å®šã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚¹ã‚ーマã«é–¢ã—ã¦ è‹¥å¹²ã®æƒ…å ±ã‚’ä¿æœ‰ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨å¼è§£ã•れるã‹ã‚‚ã—れã¾ã›ã‚“。 ã“ã‚Œã¯æ£ã—ã„ã§ã™ãŒã€ã„ã¤ä½•時ã“れãŒå¤–部ã«ã‚‚れã†ã‚‹ã‹ã‚’知るã“ã¨ã¯ã§ ãã¾ã›ã‚“ã—ã€ã„ã£ãŸã‚“ã“ã®æƒ…å ±ãŒã‚‚れるã¨ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒå¤–部ã«é–‹ç¤º ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚オープンソースã¾ãŸã¯ä¸€èˆ¬çš„ã«å…¥æ‰‹å¯èƒ½ãªãƒ‡ãƒ¼ タベース処ç†ãƒ‘ッケージを使用ã—ã¦ã„ã‚‹å ´åˆ(ã“れã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„監ç†ã‚·ã‚¹ テムã¾ãŸã¯ãƒ•ォーラムã«å«ã¾ã‚Œã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™)ã€ä¾µå…¥è€…ã¯ç°¡å˜ ã«ä½¿ç”¨ã•れã¦ã„るコードã®ä¸€éƒ¨ã‚’入手ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãã®ã‚³ãƒ¼ãƒ‰ ã®è¨è¨ˆãŒæ‚ªã„å ´åˆã«ã‚‚ã‚»ã‚ュリティリスクを生ã˜ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ ã“ã‚Œã‚‰ã®æ”»æ’ƒã¯ã€ã‚»ã‚ュリティを考慮ã—ã¦æ›¸ã‹ã‚Œã¦ã„ãªã„コードを攻撃 ã™ã‚‹æ–¹æ³•ã§ã™ã€‚特ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã‹ã‚‰å…¥åŠ›ã•れるã‚らゆる種類ã®å…¥åŠ› を決ã—ã¦ä¿¡ç”¨ã—ãªã„ã§ä¸‹ã•ã„。ã“れã¯ã€selectボックスやhidden input フィールドã€Cookieã®å ´åˆã‚‚åŒæ§˜ã§ã™ã€‚最åˆã®ä¾‹ã¯ã€ã“ã®ã‚ˆã†ãªæ¬ 点㮠ãªã„クエリãŒç ´æ»…ã‚’ã‚‚ãŸã‚‰ã—ã†ã‚‹ã“ã¨ã‚’示ã™ã‚‚ã®ã§ã™ã€‚
ã“れらã®ã‚±ãƒ¼ã‚¹ã«ãŠã„ã¦ã€ã‚¹ã‚¯ãƒªãƒ—トã¾ãŸã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã‚‹å ´åˆã¯ データベース自体ã§ã‚¯ã‚¨ãƒªã®ãƒã‚°ã‚’ã¨ã‚‹ã“ã¨ãŒæœ‰ç›Šã§ã™ã€‚ 明らã‹ã«ãƒã‚°ã¯ç ´å£Šçš„ãªè¡Œç‚ºã‚’防æ¢ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ãŒã€æ”»æ’ƒã•れ ãŸã‚¢ãƒ—リケーションを追跡ã™ã‚‹éš›ã«ã¯æœ‰åйã§ã™ã€‚ãƒã‚°è‡ªä½“ã¯æœ‰ç›Šã§ã¯ã‚ りã¾ã›ã‚“ãŒã€å«ã¾ã‚Œã¦ã„ã‚‹æƒ…å ±ã¯æœ‰ç›Šã§ã™ã€‚通常ã€ã‚ˆã‚Šè©³ç´°ãªãƒã‚°ã‚’㨠る方ãŒè‰¯ã„ã§ã—ょã†ã€‚
|